/* Compile unit: C:\rockband2\band2\src\band\App.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000C280 -> 0x8000DC14 */ class Symbol { // total size: 0x4 const char * mStr; // offset 0x0, size 0x4 }; class Symbol name; // size: 0x4, address: 0x80A48E64 void (* gRealCallback)(unsigned char &, char *, unsigned char); // size: 0x4, address: 0x80A48E68 static class DataNode & kill_notifies; // size: 0x4, address: 0x80A48E70 // Range: 0x8000C280 -> 0x8000C334 static void DebugModal(unsigned char & fail /* r29 */, char * msg /* r30 */, unsigned char wait /* r31 */) { // References // -> void (* gRealCallback)(unsigned char &, char *, unsigned char); // -> static class DataNode & kill_notifies; } class ObjDirPtr : public ObjRef { // total size: 0xC protected: class ObjectDir * mDir; // offset 0x4, size 0x4 class DirLoader * mLoader; // offset 0x8, size 0x4 }; static class ObjDirPtr gCommonBank; // size: 0xC, address: 0x80976ACC static class ObjDirPtr gCommonTrack; // size: 0xC, address: 0x80976AE4 static class ObjDirPtr gCommonLabel3d; // size: 0xC, address: 0x80976AFC class App { // total size: 0x1 }; struct _GXTexObj { // total size: 0x20 unsigned long dummy[8]; // offset 0x0, size 0x20 }; struct OSContext { // total size: 0x2C8 unsigned long gpr[32]; // offset 0x0, size 0x80 unsigned long cr; // offset 0x80, size 0x4 unsigned long lr; // offset 0x84, size 0x4 unsigned long ctr; // offset 0x88, size 0x4 unsigned long xer; // offset 0x8C, size 0x4 double fpr[32]; // offset 0x90, size 0x100 unsigned long fpscr_pad; // offset 0x190, size 0x4 unsigned long fpscr; // offset 0x194, size 0x4 unsigned long srr0; // offset 0x198, size 0x4 unsigned long srr1; // offset 0x19C, size 0x4 unsigned short mode; // offset 0x1A0, size 0x2 unsigned short state; // offset 0x1A2, size 0x2 unsigned long gqr[8]; // offset 0x1A4, size 0x20 unsigned long psf_pad; // offset 0x1C4, size 0x4 double psf[32]; // offset 0x1C8, size 0x100 }; struct OSThreadQueue { // total size: 0x8 struct OSThread * head; // offset 0x0, size 0x4 struct OSThread * tail; // offset 0x4, size 0x4 }; struct OSThreadLink { // total size: 0x8 struct OSThread * next; // offset 0x0, size 0x4 struct OSThread * prev; // offset 0x4, size 0x4 }; struct OSMutexLink { // total size: 0x8 struct OSMutex * next; // offset 0x0, size 0x4 struct OSMutex * prev; // offset 0x4, size 0x4 }; struct OSMutex { // total size: 0x18 struct OSThreadQueue queue; // offset 0x0, size 0x8 struct OSThread * thread; // offset 0x8, size 0x4 long count; // offset 0xC, size 0x4 struct OSMutexLink link; // offset 0x10, size 0x8 }; struct OSMutexQueue { // total size: 0x8 struct OSMutex * head; // offset 0x0, size 0x4 struct OSMutex * tail; // offset 0x4, size 0x4 }; struct OSThread { // total size: 0x318 struct OSContext context; // offset 0x0, size 0x2C8 unsigned short state; // offset 0x2C8, size 0x2 unsigned short attr; // offset 0x2CA, size 0x2 long suspend; // offset 0x2CC, size 0x4 long priority; // offset 0x2D0, size 0x4 long base; // offset 0x2D4, size 0x4 void * val; // offset 0x2D8, size 0x4 struct OSThreadQueue * queue; // offset 0x2DC, size 0x4 struct OSThreadLink link; // offset 0x2E0, size 0x8 struct OSThreadQueue queueJoin; // offset 0x2E8, size 0x8 struct OSMutex * mutex; // offset 0x2F0, size 0x4 struct OSMutexQueue queueMutex; // offset 0x2F4, size 0x8 struct OSThreadLink linkActive; // offset 0x2FC, size 0x8 unsigned char * stackBase; // offset 0x304, size 0x4 unsigned long * stackEnd; // offset 0x308, size 0x4 long error; // offset 0x30C, size 0x4 void * specific[2]; // offset 0x310, size 0x8 }; class SplashWii { // total size: 0x1800 class Timer mDisplayTimer; // offset 0x0, size 0x38 class Timer mAnimationTimer; // offset 0x38, size 0x38 float mPreviousFrameTimeMs; // offset 0x70, size 0x4 int mCurrentAnimFrame; // offset 0x74, size 0x4 void * mImageData; // offset 0x78, size 0x4 struct _GXTexObj mTexture; // offset 0x7C, size 0x20 struct _GXTexObj mDiscErrorTexture; // offset 0x9C, size 0x20 struct _GXTexObj mDiscRetryTexture; // offset 0xBC, size 0x20 char mFileName[1024]; // offset 0xDC, size 0x400 unsigned char mBeforeSplasher; // offset 0x4DC, size 0x1 unsigned char mActivatedWPAD; // offset 0x4DD, size 0x1 unsigned char mSkipButtonPressed; // offset 0x4DE, size 0x1 unsigned char mDiscErrorThreadActive; // offset 0x4DF, size 0x1 unsigned char mDiscErrorThreadStack[4096]; // offset 0x4E0, size 0x1000 struct OSThread mDiscErrorThread; // offset 0x14E0, size 0x318 struct OSThread * mMainThread; // offset 0x17F8, size 0x4 }; class Splash { // total size: 0x1360 float mMinSplashTime; // offset 0x0, size 0x4 class Timer mTimer; // offset 0x8, size 0x38 class RndDir * mLastSplash; // offset 0x40, size 0x4 struct OSThread * mMainThread; // offset 0x44, size 0x4 struct OSThread mSplashThread; // offset 0x48, size 0x318 unsigned char mSplashThreadStack[4096]; // offset 0x360, size 0x1000 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; enum State { kNormal = 0, kFocused = 1, kDisabled = 2, kSelecting = 3, kSelected = 4, kNumStates = 5, }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class UIComponent * mPtr; // offset 0x8, size 0x4 }; class UIComponent : public RndDrawable, public RndTransformable, public RndPollable { // total size: 0x170 protected: enum State mState; // offset 0x100, size 0x4 class ObjPtr mNavRight; // offset 0x104, size 0xC class ObjPtr mNavDown; // offset 0x110, size 0xC class User * mSelectingUser; // offset 0x11C, size 0x4 class UIScreen * mSelectScreen; // offset 0x120, size 0x4 int mSelected; // offset 0x124, size 0x4 class UIResource * mResource; // offset 0x128, size 0x4 private: unsigned char mLoading; // offset 0x12C, size 0x1 unsigned char mMockSelect; // offset 0x12D, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndDir * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndDir * * _M_start; // offset 0x0, size 0x4 class RndDir * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class FilePath * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class FilePath * _M_start; // offset 0x0, size 0x4 class FilePath * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum JoypadAction { kAction_None = 0, kAction_Confirm = 1, kAction_Cancel = 2, kAction_Option = 3, kAction_Start = 4, kAction_ViewModify = 5, kAction_Up = 6, kAction_Right = 7, kAction_Down = 8, kAction_Left = 9, kAction_PageUp = 10, kAction_PageDown = 11, kAction_ExtendedOption1 = 12, kAction_ExtendedOption2 = 13, kAction_WiiHomeMenu = 14, kAction_Option1 = 15, kAction_NumActions = 16, }; enum JoypadButton { kPad_L2 = 0, kPad_R2 = 1, kPad_L1 = 2, kPad_R1 = 3, kPad_Tri = 4, kPad_Circle = 5, kPad_X = 6, kPad_Square = 7, kPad_Select = 8, kPad_L3 = 9, kPad_R3 = 10, kPad_Start = 11, kPad_DUp = 12, kPad_DRight = 13, kPad_DDown = 14, kPad_DLeft = 15, kPad_LStickUp = 16, kPad_LStickRight = 17, kPad_LStickDown = 18, kPad_LStickLeft = 19, kPad_RStickUp = 20, kPad_RStickRight = 21, kPad_RStickDown = 22, kPad_RStickLeft = 23, kPad_NumButtons = 24, kPad_Xbox_LT = 0, kPad_Xbox_RT = 1, kPad_Xbox_LB = 2, kPad_Xbox_RB = 3, kPad_Xbox_Y = 4, kPad_Xbox_B = 5, kPad_Xbox_A = 6, kPad_Xbox_X = 7, kPad_Xbox_LS = 9, kPad_Xbox_RS = 10, }; enum RequestFocus { kNoFocus = 0, kMaybeFocus = 1, kAlwaysFocus = 2, }; class PanelDir : public RndDir { // total size: 0x290 class UIComponent * mFocusComponent; // offset 0x1F4, size 0x4 class ObjPtr mCam; // offset 0x1F8, size 0xC class list mTriggers; // offset 0x204, size 0x8 class list mComponents; // offset 0x20C, size 0x8 unsigned char mCanEndWorld; // offset 0x214, size 0x1 class vector mBackPanels; // offset 0x218, size 0xC class vector mBackFilenames; // offset 0x224, size 0xC class vector mFrontPanels; // offset 0x230, size 0xC class vector mFrontFilenames; // offset 0x23C, size 0xC unsigned char mShowEditModePanels; // offset 0x248, size 0x1 }; enum State { kUnloaded = 0, kUp = 1, kDown = 2, }; class UIPanel : public virtual Object { // total size: 0x5C public: void * __vptr$; // offset 0x4, size 0x4 protected: unsigned char mHomeMenuAllowed; // offset 0x8, size 0x1 class PanelDir * mDir; // offset 0xC, size 0x4 class DirLoader * mLoader; // offset 0x10, size 0x4 class String mFocusName; // offset 0x14, size 0xC private: unsigned char mSharedDir; // offset 0x20, size 0x1 enum State mState; // offset 0x24, size 0x4 unsigned char mPaused; // offset 0x28, size 0x1 unsigned char mShowing; // offset 0x29, size 0x1 unsigned char mForceExit; // offset 0x2A, size 0x1 int mLoadRefs; // offset 0x2C, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class UIScreen : public Object { // total size: 0x3C protected: class list mPanelList; // offset 0x28, size 0x8 class UIPanel * mFocusPanel; // offset 0x30, size 0x4 class DataArray * mBack; // offset 0x34, size 0x4 unsigned char mClearVram; // offset 0x38, size 0x1 unsigned char mShowing; // offset 0x39, size 0x1 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class UIScreen * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8000C334 -> 0x8000D238 void * App::App(class App * const this /* r29 */, int argc /* r26 */, char * * argv /* r25 */) { // Local variables class SplashWii splasherWii; // r1+0x1440 unsigned char fast; // r0 class Splash splasher; // r1+0xE0 class ObjDirItr s; // r1+0xC0 // References // -> void (* gRealCallback)(unsigned char &, char *, unsigned char); // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __RTTI__10BandScreen; // -> struct [anonymous] __RTTI__8UIScreen; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> class UIManager TheUI; // -> class BandUI * TheBandUI; // -> class Synth * TheSynth; // -> class Symbol name; // -> static class ObjDirPtr gCommonTrack; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> static class ObjDirPtr gCommonBank; // -> class EntityUploader & TheEntityUploader; // -> class RockCentralGateway RockCentral; // -> class Net TheNet; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Rnd & TheRnd; // -> class WiiRnd TheWiiRnd; } enum Aspect { kSquare = 0, kRegular = 1, kWidescreen = 2, }; enum Mode { kDrawNormal = 0, kDrawShadowDepth = 1, kDrawExtrude = 2, kDrawShadowColor = 3, kDrawOcclusion = 4, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class RndFlare : public RndTransformable, public RndDrawable { // total size: 0x170 protected: unsigned char mPointTest; // offset 0xF4, size 0x1 unsigned char mAreaTest; // offset 0xF5, size 0x1 unsigned char mVisible; // offset 0xF6, size 0x1 class Vector2 mSizes; // offset 0xF8, size 0x8 class ObjPtr mMat; // offset 0x100, size 0xC class Vector2 mRange; // offset 0x10C, size 0x8 int mSteps; // offset 0x114, size 0x4 int mStep; // offset 0x118, size 0x4 class Rect mArea; // offset 0x11C, size 0x10 float mAreaVisible; // offset 0x12C, size 0x4 unsigned char mTestDone; // offset 0x130, size 0x1 unsigned char mLastDone; // offset 0x131, size 0x1 }; struct PointTest { // total size: 0x10 int x; // offset 0x0, size 0x4 int y; // offset 0x4, size 0x4 unsigned int z; // offset 0x8, size 0x4 class RndFlare * flare; // offset 0xC, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class PostProcessor { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum ProcessCmd { kProcessNone = 0, kProcessWorld = 1, kProcessPost = 2, kProcessChar = 4, kProcessAll = 7, kProcessFrame1 = 1, kProcessFrame2 = 4, kProcessPostChar = 6, }; class ProcCounter { // total size: 0x18 unsigned char mProcAndLock; // offset 0x0, size 0x1 int mCount; // offset 0x4, size 0x4 int mSwitch; // offset 0x8, size 0x4 int mOdd; // offset 0xC, size 0x4 int mFPS; // offset 0x10, size 0x4 unsigned char mEvenOddDisabled; // offset 0x14, size 0x1 unsigned char mTriFrameRendering; // offset 0x15, size 0x1 }; class Rnd : public Object, public Callback { // total size: 0x140 protected: class Color mClearColor; // offset 0x30, size 0x10 int mScreenWidth; // offset 0x40, size 0x4 int mScreenHeight; // offset 0x44, size 0x4 int mScreenBpp; // offset 0x48, size 0x4 int mDrawCount; // offset 0x4C, size 0x4 class Timer mDrawTimer; // offset 0x50, size 0x38 class RndOverlay * mTimersOverlay; // offset 0x88, size 0x4 class RndOverlay * mRateOverlay; // offset 0x8C, size 0x4 class RndOverlay * mHeapOverlay; // offset 0x90, size 0x4 class RndOverlay * mStatsOverlay; // offset 0x94, size 0x4 class RndConsole * mConsole; // offset 0x98, size 0x4 class ParamEdit * mParamEdit; // offset 0x9C, size 0x4 class RndMat * mDefaultMat; // offset 0xA0, size 0x4 class RndMat * mOverlayMat; // offset 0xA4, size 0x4 class RndCam * mDefaultCam; // offset 0xA8, size 0x4 class RndEnviron * mDefaultEnv; // offset 0xAC, size 0x4 class RndLight * mDefaultLit; // offset 0xB0, size 0x4 float mRateTotal; // offset 0xB4, size 0x4 int mRate; // offset 0xB8, size 0x4 int mRateCount; // offset 0xBC, size 0x4 const char * mRateGate; // offset 0xC0, size 0x4 class DataArray * mFont; // offset 0xC4, size 0x4 int mSync; // offset 0xC8, size 0x4 unsigned char mGSTiming; // offset 0xCC, size 0x1 unsigned char mSafeArea; // offset 0xCD, size 0x1 unsigned char mDrawing; // offset 0xCE, size 0x1 unsigned char mWorldEnded; // offset 0xCF, size 0x1 enum Aspect mAspect; // offset 0xD0, size 0x4 enum Mode mDrawMode; // offset 0xD4, size 0x4 unsigned char mResourceCached; // offset 0xD8, size 0x1 unsigned char mShowShaderCost; // offset 0xD9, size 0x1 unsigned char mShrinkToSafeArea; // offset 0xDA, size 0x1 unsigned char mInGame; // offset 0xDB, size 0x1 unsigned char mDrawEnabled; // offset 0xDC, size 0x1 unsigned char mSaveThreadLocked; // offset 0xDD, size 0x1 class list mPointTests; // offset 0xE0, size 0x8 class list mPostProcessors; // offset 0xE8, size 0x8 class ObjPtrList mPreClearList; // offset 0xF0, size 0x14 class ProcCounter mProcCounter; // offset 0x104, size 0x18 enum ProcessCmd mProcCmds; // offset 0x11C, size 0x4 enum ProcessCmd mLastProcCmds; // offset 0x120, size 0x4 int mUserNumbers[4]; // offset 0x124, size 0x10 }; class Distribution { // total size: 0x20 float mRes; // offset 0x0, size 0x4 float mMin; // offset 0x4, size 0x4 float mMax; // offset 0x8, size 0x4 float mTotal; // offset 0xC, size 0x4 int mCount; // offset 0x10, size 0x4 class vector mDist; // offset 0x14, size 0xC }; class BudgetScreen : public UIScreen { // total size: 0xD4 class UIPanel * mTestPanel; // offset 0x3C, size 0x4 float mNullCpu; // offset 0x40, size 0x4 float mNullGs; // offset 0x44, size 0x4 float mTime; // offset 0x48, size 0x4 float mEndTime; // offset 0x4C, size 0x4 float mFrameInc; // offset 0x50, size 0x4 float mLastCpu; // offset 0x54, size 0x4 float mLastGpu; // offset 0x58, size 0x4 class TextFileStream * mLog; // offset 0x5C, size 0x4 class Distribution mPollDist; // offset 0x60, size 0x20 class Distribution mCpuDist; // offset 0x80, size 0x20 class Distribution mGsDist; // offset 0xA0, size 0x20 int mRecordStartTick; // offset 0xC0, size 0x4 int mRecordEndTick; // offset 0xC4, size 0x4 const class DataArray * mTests; // offset 0xC8, size 0x4 int mTestIdx; // offset 0xCC, size 0x4 unsigned char mWorstOnly; // offset 0xD0, size 0x1 }; struct LevelData { // total size: 0x1C float mRMS; // offset 0x0, size 0x4 float mPeak; // offset 0x4, size 0x4 float mPeakHold; // offset 0x8, size 0x4 int mPeakAge; // offset 0xC, size 0x4 class String mName; // offset 0x10, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct LevelData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct LevelData * _M_start; // offset 0x0, size 0x4 struct LevelData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ByteGrinder { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Mic * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Mic * * _M_start; // offset 0x0, size 0x4 class Mic * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct Node { // total size: 0xC class Fader * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class FaderGroup { // total size: 0x18 class ObjPtrList mFaders; // offset 0x0, size 0x14 unsigned char mDirty; // offset 0x14, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class set { // total size: 0x18 class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class Fader : public Object { // total size: 0x4C float mVal; // offset 0x28, size 0x4 struct FaderTask * mFaderTask; // offset 0x2C, size 0x4 class Symbol mLocalName; // offset 0x30, size 0x4 class set mClients; // offset 0x34, size 0x18 }; enum FXMode { kFXModeOff = 0, kFXModeRoom = 1, kFXModeSmallStudio = 2, kFXModeMedStudio = 3, kFXModeLargeStudio = 4, kFXModeHall = 5, kFXModeSpace = 6, kFXModeEcho = 7, kFXModeDelay = 8, kFXModePipe = 9, kFXModeChorus = 10, kFXModeWah = 11, kFXModeFlanger = 12, }; enum Platform { kPlatformNone = 0, kPlatformPS2 = 1, kPlatformXBox = 2, kPlatformPC = 3, kPlatformPS3 = 4, kPlatformWii = 5, }; class Synth : public Object, public Callback { // total size: 0x70 protected: class vector mLevelData; // offset 0x2C, size 0xC private: class ByteGrinder mGrinder; // offset 0x38, size 0x4 int mNumMics; // offset 0x3C, size 0x4 class MidiSynth * mMidiSynth; // offset 0x40, size 0x4 class vector mNullMics; // offset 0x44, size 0xC unsigned char mMuted; // offset 0x50, size 0x1 class list mBanks; // offset 0x54, size 0x8 class Fader * mMasterFader; // offset 0x5C, size 0x4 class Fader * mSfxFader; // offset 0x60, size 0x4 class Stream * mDebugStream; // offset 0x64, size 0x4 class RndOverlay * mHud; // offset 0x68, size 0x4 void (* mWavCacher)(char *); // offset 0x6C, size 0x4 }; enum Type { kInt = 0, kStr = 1, kFloat = 2, kNone = 3, }; class FormatString { // total size: 0x814 char * mBuf; // offset 0x0, size 0x4 int mBufSize; // offset 0x4, size 0x4 char mFmtBuf[2048]; // offset 0x8, size 0x800 char * mFmt; // offset 0x808, size 0x4 char * mFmtEnd; // offset 0x80C, size 0x4 enum Type mType; // offset 0x810, size 0x4 }; // Range: 0x8000D238 -> 0x8000D2D0 void * App::~App(class App * const this /* r30 */) { // References // -> class Debug TheDebug; // -> class BandUI * TheBandUI; } class Rect { // total size: 0x10 public: float x; // offset 0x0, size 0x4 float y; // offset 0x4, size 0x4 float w; // offset 0x8, size 0x4 float h; // offset 0xC, size 0x4 }; class Color { // total size: 0x10 public: float r; // offset 0x0, size 0x4 float g; // offset 0x4, size 0x4 float b; // offset 0x8, size 0x4 float a; // offset 0xC, size 0x4 }; // Range: 0x8000D2D0 -> 0x8000D3BC void App::DrawRegular() { // Local variables class Rect r; // r1+0x20 class Color c; // r1+0x10 // References // -> class BandUI * TheBandUI; // -> class CharCache * TheCharCache; // -> class Rnd & TheRnd; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x8000D3BC -> 0x8000D3C0 void App::Draw() {} // Range: 0x8000D3C0 -> 0x8000D3C4 void App::Run() {} static class Timer * _t; // size: 0x4, address: 0x80A48E74 static class Timer * _t; // size: 0x4, address: 0x80A48E7C static class Timer * _t; // size: 0x4, address: 0x80A48E84 static class DataNode & kill_notifies; // size: 0x4, address: 0x80A48E8C static class Object * cd; // size: 0x4, address: 0x80A48E90 class Message { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 protected: class DataArray * mData; // offset 0x4, size 0x4 }; static class Message show; // size: 0x8, address: 0x80976B18 class Timer { // total size: 0x38 unsigned int mStart; // offset 0x0, size 0x4 long long mCycles; // offset 0x8, size 0x8 float mLastMs; // offset 0x10, size 0x4 float mWorstMs; // offset 0x14, size 0x4 int mWorstMsFrame; // offset 0x18, size 0x4 int mFrame; // offset 0x1C, size 0x4 class Symbol mName; // offset 0x20, size 0x4 int mRunning; // offset 0x24, size 0x4 float mBudget; // offset 0x28, size 0x4 unsigned char mDraw; // offset 0x2C, size 0x1 int mCount; // offset 0x30, size 0x4 int mLastCount; // offset 0x34, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x40 public: class Timer _M_data; // offset 0x8, size 0x38 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class AutoTimer { // total size: 0x4 class Timer * mTimer; // offset 0x0, size 0x4 }; enum TransitionState { kTransitionNone = 0, kTransitionTo = 1, kTransitionFrom = 2, kTransitionPop = 3, }; // Range: 0x8000D3C4 -> 0x8000DB6C void App::RunWithoutDebugging(class App * const this /* r30 */) { // Local variables class Timer t; // r1+0x68 class AutoTimer _at; // r1+0x28 class AutoTimer _at; // r1+0x24 class AutoTimer _at; // r1+0x20 float dt; // f31 enum TransitionState state; // r0 // References // -> class UIManager TheUI; // -> static class Message show; // -> struct [anonymous] __vt__7Message; // -> static class Object * cd; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> class ObjectDir * sMainDir; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class DataNode & kill_notifies; // -> class TaskMgr TheTaskMgr; // -> static class Timer * _t; // -> class BandUI * TheBandUI; // -> class NetSync * TheNetSync; // -> class EntityUploader & TheEntityUploader; // -> class RockCentralGateway RockCentral; // -> class Net TheNet; // -> static class Timer * _t; // -> class Synth * TheSynth; // -> static class Timer * _t; } class TextStream { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; enum DataType { kDataInt = 0, kDataFloat = 1, kDataVar = 2, kDataFunc = 3, kDataObject = 4, kDataSymbol = 5, kDataUnhandled = 6, kDataArray = 16, kDataCommand = 17, kDataString = 18, kDataProperty = 19, kDataGlob = 20, kDataIfdef = 7, kDataElse = 8, kDataEndif = 9, kDataDefine = 32, kDataInclude = 33, kDataMerge = 34, kDataIfndef = 35, kDataAutorun = 36, kDataUndef = 37, }; class String : public TextStream { // total size: 0xC protected: unsigned int mCap; // offset 0x4, size 0x4 char * mStr; // offset 0x8, size 0x4 }; class Vector2 { // total size: 0x8 public: float x; // offset 0x0, size 0x4 float y; // offset 0x4, size 0x4 }; class Vector3 { // total size: 0x10 public: float x; // offset 0x0, size 0x4 float y; // offset 0x4, size 0x4 float z; // offset 0x8, size 0x4 }; class Plane { // total size: 0x10 public: float a; // offset 0x0, size 0x4 float b; // offset 0x4, size 0x4 float c; // offset 0x8, size 0x4 float d; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: int * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: int * _M_start; // offset 0x0, size 0x4 int * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct __false_type { // total size: 0x1 }; struct __true_type { // total size: 0x1 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Vector3 * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Vector3 * _M_start; // offset 0x0, size 0x4 class Vector3 * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Matrix3 { // total size: 0x30 public: class Vector3 x; // offset 0x0, size 0x10 class Vector3 y; // offset 0x10, size 0x10 class Vector3 z; // offset 0x20, size 0x10 }; class Quat { // total size: 0x10 public: float x; // offset 0x0, size 0x4 float y; // offset 0x4, size 0x4 float z; // offset 0x8, size 0x4 float w; // offset 0xC, size 0x4 }; enum SeekType { kSeekBegin = 0, kSeekCur = 1, kSeekEnd = 2, }; class BinStream { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned char mLittleEndian; // offset 0x4, size 0x1 class Rand2 * mCrypto; // offset 0x8, size 0x4 }; class TypeProps : public ObjRef { // total size: 0xC class DataArray * mMap; // offset 0x4, size 0x4 class Object * mOwner; // offset 0x8, size 0x4 }; struct Buf { // total size: 0x8 int size; // offset 0x0, size 0x4 char * chars; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Buf * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Buf * _M_start; // offset 0x0, size 0x4 struct Buf * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StringTable { // total size: 0x14 class vector mBuffers; // offset 0x0, size 0xC char * mCurChar; // offset 0xC, size 0x4 int mCurBuf; // offset 0x10, size 0x4 }; enum LoaderPos { kLoadFront = 0, kLoadBack = 1, kLoadFrontStayBack = 2, kLoadStayBack = 3, }; class Loader { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 protected: enum LoaderPos mPos; // offset 0x4, size 0x4 private: class FilePath mFile; // offset 0x8, size 0xC }; struct Node { // total size: 0xC class Object * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; enum ObjListMode { kObjListNoNull = 0, kObjListAllowNull = 1, kObjListOwnerControl = 2, }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class Callback { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class DirLoader : public Loader, public ObjRef { // total size: 0xA8 void (DirLoader::* mState)(void *, void *); // offset 0x18, size 0x4 class String mRoot; // offset 0x24, size 0xC unsigned char mOwnStream; // offset 0x30, size 0x1 class BinStream * mStream; // offset 0x34, size 0x4 int mRev; // offset 0x38, size 0x4 int mCounter; // offset 0x3C, size 0x4 class ObjPtrList mObjects; // offset 0x40, size 0x14 class Callback * mCallback; // offset 0x54, size 0x4 class ObjectDir * mDir; // offset 0x58, size 0x4 unsigned char mPostLoad; // offset 0x5C, size 0x1 unsigned char mLoadDir; // offset 0x5D, size 0x1 unsigned char mDeleteSelf; // offset 0x5E, size 0x1 const char * mProxyName; // offset 0x60, size 0x4 class ObjectDir * mProxyDir; // offset 0x64, size 0x4 class Timer mTimer; // offset 0x68, size 0x38 unsigned char mAccessed; // offset 0xA0, size 0x1 const char * mFileName; // offset 0xA4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjDirPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjDirPtr * _M_start; // offset 0x0, size 0x4 class ObjDirPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Transform { // total size: 0x40 public: class Matrix3 m; // offset 0x0, size 0x30 class Vector3 v; // offset 0x30, size 0x10 }; class Viewport { // total size: 0x40 public: class Transform mXfm; // offset 0x0, size 0x40 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Viewport * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Viewport * _M_start; // offset 0x0, size 0x4 class Viewport * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum ViewportId { kPerspective = 0, kLeft = 1, kRight = 2, kTop = 3, kBottom = 4, kFront = 5, kBack = 6, kCustom = 7, kNumViewports = 8, }; enum CopyType { kCopyDeep = 0, kCopyShallow = 1, kCopyFromMax = 2, }; enum PropOp { kPropGet = 1, kPropSet = 2, kPropInsert = 4, kPropRemove = 8, kPropSize = 16, kPropHandle = 32, }; class ObjectDir : public virtual Object { // total size: 0xAC public: void * __vptr$; // offset 0x4, size 0x4 private: class KeylessHash mHashTable; // offset 0x8, size 0x20 class StringTable mStringTable; // offset 0x28, size 0x14 class FilePath mProxyFile; // offset 0x3C, size 0xC unsigned char mProxyOverride; // offset 0x48, size 0x1 unsigned char mInline; // offset 0x49, size 0x1 class DirLoader * mLoader; // offset 0x4C, size 0x4 class vector mSubDirs; // offset 0x50, size 0xC unsigned char mIsSubDir; // offset 0x5C, size 0x1 char * mPathName; // offset 0x60, size 0x4 class vector mViewports; // offset 0x64, size 0xC enum ViewportId mCurViewport; // offset 0x70, size 0x4 class Object * mCurAnim; // offset 0x74, size 0x4 class Object * mCurCam; // offset 0x78, size 0x4 const char * mDestFileName; // offset 0x7C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; struct _List_node_base { // total size: 0x8 struct _List_node_base * _M_next; // offset 0x0, size 0x4 struct _List_node_base * _M_prev; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class _List_node : public _List_node_base { // total size: 0xC public: int _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator_base { // total size: 0x4 struct _List_node_base * _M_node; // offset 0x0, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class Object : public ObjRef { // total size: 0x28 protected: class TypeProps mTypeProps; // offset 0x4, size 0xC private: class DataArray * mTypeDef; // offset 0x10, size 0x4 char * mNote; // offset 0x14, size 0x4 const char * mName; // offset 0x18, size 0x4 class ObjectDir * mDir; // offset 0x1C, size 0x4 class list mRefs; // offset 0x20, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; enum SinkMode { kHandle = 0, kExport = 1, kType = 2, kExportType = 3, }; struct Sink { // total size: 0x8 class Object * obj; // offset 0x0, size 0x4 enum SinkMode mode; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct EventSinkElem : public Sink { // total size: 0xC class Symbol handler; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct EventSink { // total size: 0xC class Symbol ev; // offset 0x0, size 0x4 class list sinks; // offset 0x4, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class MsgSource : public virtual Object { // total size: 0x48 public: void * __vptr$; // offset 0x4, size 0x4 private: class list mSinks; // offset 0x8, size 0x8 class list mEventSinks; // offset 0x10, size 0x8 int mExporting; // offset 0x18, size 0x4 }; enum ProfileSaveState { kMetaProfileUnloaded = 0, kMetaProfileLoaded = 1, kMetaProfileError = 2, kMetaProfileDelete = 3, kMetaProfileUnchanged = -1, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourCharLocal * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourCharLocal * * _M_start; // offset 0x0, size 0x4 class TourCharLocal * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourBandLocal * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourBandLocal * * _M_start; // offset 0x0, size 0x4 class TourBandLocal * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RemoteBandData * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RemoteBandData * * _M_start; // offset 0x0, size 0x4 class RemoteBandData * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Symbol * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Symbol * _M_start; // offset 0x0, size 0x4 class Symbol * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct BeatData { // total size: 0x8 class Symbol mBeatName; // offset 0x0, size 0x4 int mBpm; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BeatData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BeatData * _M_start; // offset 0x0, size 0x4 struct BeatData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct DateTime { // total size: 0x6 unsigned char mSec; // offset 0x0, size 0x1 unsigned char mMin; // offset 0x1, size 0x1 unsigned char mHour; // offset 0x2, size 0x1 unsigned char mDay; // offset 0x3, size 0x1 unsigned char mMonth; // offset 0x4, size 0x1 unsigned char mYear; // offset 0x5, size 0x1 }; class HxGuid { // total size: 0x10 int mData[4]; // offset 0x0, size 0x10 }; struct BotbNewsCreds { // total size: 0x24 struct DateTime mTimeStamp; // offset 0x0, size 0x6 class HxGuid mBandId; // offset 0x8, size 0x10 class String mCookies; // offset 0x18, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; struct _Rb_tree_node_base { // total size: 0x10 unsigned char _M_color; // offset 0x0, size 0x1 struct _Rb_tree_node_base * _M_parent; // offset 0x4, size 0x4 struct _Rb_tree_node_base * _M_left; // offset 0x8, size 0x4 struct _Rb_tree_node_base * _M_right; // offset 0xC, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class set { // total size: 0x18 class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class OnlineID { // total size: 0x10 class String mName; // offset 0x0, size 0xC unsigned char mValid; // offset 0xC, size 0x1 }; enum VocalStyle { kVocalStyleStatic = 0, kVocalStyleScrolling = 1, kNumVocalStyles = 2, }; class GameplayOptions : public virtual Object { // total size: 0x48 public: void * __vptr$; // offset 0x4, size 0x4 private: int mMicGain; // offset 0x8, size 0x4 int mVocalVolume; // offset 0xC, size 0x4 unsigned char mLefty; // offset 0x10, size 0x1 enum VocalStyle mVocalStyle; // offset 0x14, size 0x4 unsigned char mIsDirty; // offset 0x18, size 0x1 }; class RndHighlightable : public virtual Object { // total size: 0x34 public: void * __vptr$; // offset 0x4, size 0x4 }; class Sphere { // total size: 0x20 public: class Vector3 center; // offset 0x0, size 0x10 float radius; // offset 0x10, size 0x4 }; enum HighlightStyle { kHighlightWireframe = 0, kHighlightSphere = 1, kHighlightNone = 2, kHighlightWireframeWithNormals = 3, kNumHighlightStyles = 4, }; class Segment { // total size: 0x20 public: class Vector3 start; // offset 0x0, size 0x10 class Vector3 end; // offset 0x10, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndTransformable * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum Constraint { kNone = 0, kLocalRotate = 1, kParentWorld = 2, kLookAtTarget = 3, kShadowTarget = 4, kBillboardZ = 5, kBillboardXZ = 6, kBillboardXYZ = 7, kFastBillboardXYZ = 8, }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndTransformable * mPtr; // offset 0x8, size 0x4 }; class RndTransformable : public virtual RndHighlightable { // total size: 0xF0 public: void * __vptr$; // offset 0x4, size 0x4 private: class ObjOwnerPtr mParent; // offset 0x8, size 0xC class list mChildren; // offset 0x14, size 0x8 class Transform mLocalXfm; // offset 0x20, size 0x40 class Transform mWorldXfm; // offset 0x60, size 0x40 unsigned char mDirty; // offset 0xA0, size 0x1 enum Constraint mConstraint; // offset 0xA4, size 0x4 unsigned char mPreserveScale; // offset 0xA8, size 0x1 class ObjPtr mTarget; // offset 0xAC, size 0xC }; class Frustum { // total size: 0x60 public: class Plane front; // offset 0x0, size 0x10 class Plane back; // offset 0x10, size 0x10 class Plane left; // offset 0x20, size 0x10 class Plane right; // offset 0x30, size 0x10 class Plane top; // offset 0x40, size 0x10 class Plane bottom; // offset 0x50, size 0x10 }; enum AlphaFlag { kGrayscaleAlpha = 0, kGrayscaleWhite = 1, kTransparentBlack = 2, }; class RndBitmap { // total size: 0x24 unsigned short mWidth; // offset 0x0, size 0x2 unsigned short mHeight; // offset 0x2, size 0x2 unsigned short mRowBytes; // offset 0x4, size 0x2 unsigned char mBpp; // offset 0x6, size 0x1 unsigned int mOrder; // offset 0x8, size 0x4 unsigned char * mPixels; // offset 0xC, size 0x4 unsigned char * mPalette; // offset 0x10, size 0x4 unsigned char * mBuffer; // offset 0x14, size 0x4 class RndBitmap * mMip; // offset 0x18, size 0x4 unsigned char mAlphaBpp; // offset 0x1C, size 0x1 class RndBitmap * mAlphaBmp; // offset 0x20, size 0x4 }; enum Type { kRegular = 1, kRendered = 2, kMovie = 4, kBackBuffer = 8, kFrontBuffer = 24, kRenderedNoZ = 34, kShadowMap = 66, kDepthVolumeMap = 162, kDensityMap = 290, kDeviceTexture = 4096, }; class File { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class FileLoader : public Loader { // total size: 0x24 class File * mFile; // offset 0x14, size 0x4 char * mBuffer; // offset 0x18, size 0x4 int mBufLen; // offset 0x1C, size 0x4 unsigned char mAccessed; // offset 0x20, size 0x1 }; class RndTex : public Object { // total size: 0x78 protected: class RndBitmap mBitmap; // offset 0x28, size 0x24 float mMipMapK; // offset 0x4C, size 0x4 enum Type mType; // offset 0x50, size 0x4 int mMPEG; // offset 0x54, size 0x4 int mWidth; // offset 0x58, size 0x4 int mHeight; // offset 0x5C, size 0x4 int mBpp; // offset 0x60, size 0x4 class FilePath mFile; // offset 0x64, size 0xC int mNumMips; // offset 0x70, size 0x4 class FileLoader * mLoader; // offset 0x74, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndTex * mPtr; // offset 0x8, size 0x4 }; class Vector4 { // total size: 0x10 public: float x; // offset 0x0, size 0x4 float y; // offset 0x4, size 0x4 float z; // offset 0x8, size 0x4 float w; // offset 0xC, size 0x4 }; class RndCam : public RndTransformable { // total size: 0x330 protected: class Transform mInvWorldXfm; // offset 0xC0, size 0x40 class Transform mLocalProjectXfm; // offset 0x100, size 0x40 class Transform mInvLocalProjectXfm; // offset 0x140, size 0x40 class Transform mWorldProjectXfm; // offset 0x180, size 0x40 class Transform mInvWorldProjectXfm; // offset 0x1C0, size 0x40 class Frustum mLocalFrustum; // offset 0x200, size 0x60 class Frustum mWorldFrustum; // offset 0x260, size 0x60 float mNearPlane; // offset 0x2C0, size 0x4 float mFarPlane; // offset 0x2C4, size 0x4 float mYFov; // offset 0x2C8, size 0x4 class Vector2 mZRange; // offset 0x2CC, size 0x8 class Rect mScreenRect; // offset 0x2D4, size 0x10 class ObjPtr mTargetTex; // offset 0x2E4, size 0xC }; class RndDrawable : public virtual RndHighlightable { // total size: 0x70 public: void * __vptr$; // offset 0x4, size 0x4 private: unsigned char mShowing; // offset 0x8, size 0x1 class Sphere mSphere; // offset 0x10, size 0x20 float mOrder; // offset 0x30, size 0x4 }; enum Rate { k30_fps = 0, k480_fpb = 1, k30_fps_ui = 2, k1_fpb = 3, k30_fps_tutorial = 4, }; class Task : public Object { // total size: 0x28 }; enum TaskUnits { kTaskSeconds = 0, kTaskBeats = 1, kTaskUISeconds = 2, kTaskTutorialSeconds = 3, kTaskNumUnits = 4, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class RndAnimatable : public virtual Object { // total size: 0x3C public: void * __vptr$; // offset 0x4, size 0x4 private: float mFrame; // offset 0x8, size 0x4 enum Rate mRate; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class RndPollable : public virtual Object { // total size: 0x34 public: void * __vptr$; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndDrawable * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndDrawable * * _M_start; // offset 0x0, size 0x4 class RndDrawable * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndAnimatable * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndAnimatable * * _M_start; // offset 0x0, size 0x4 class RndAnimatable * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndPollable * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndPollable * * _M_start; // offset 0x0, size 0x4 class RndPollable * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndLight * mPtr; // offset 0x8, size 0x4 }; enum Type { kPoint = 0, kDirectional = 1, kFakeSpot = 2, kFloorSpot = 3, kShadowRef = 4, }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class RndLight : public RndTransformable { // total size: 0x150 protected: class Color mColor; // offset 0xC0, size 0x10 class ObjOwnerPtr mColorOwner; // offset 0xD0, size 0xC float mRange; // offset 0xDC, size 0x4 float mFalloffStart; // offset 0xE0, size 0x4 enum Type mType; // offset 0xE4, size 0x4 unsigned char mAnimateColorFromPreset; // offset 0xE8, size 0x1 unsigned char mAnimatePositionFromPreset; // offset 0xE9, size 0x1 unsigned char mShowing; // offset 0xEA, size 0x1 float mConeSoftness; // offset 0xEC, size 0x4 float mTopRadius; // offset 0xF0, size 0x4 float mBotRadius; // offset 0xF4, size 0x4 float mDisplacement; // offset 0xF8, size 0x4 class ObjPtr mProjection; // offset 0xFC, size 0xC class ObjPtrList * mShadowCasters; // offset 0x108, size 0x4 float mRadScale; // offset 0x10C, size 0x4 float mRadOffset; // offset 0x110, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndEnviron * mPtr; // offset 0x8, size 0x4 }; class RndColorXfm { // total size: 0xA0 public: float mHue; // offset 0x0, size 0x4 float mSaturation; // offset 0x4, size 0x4 float mLightness; // offset 0x8, size 0x4 float mContrast; // offset 0xC, size 0x4 float mBrightness; // offset 0x10, size 0x4 class Color mLevelInLo; // offset 0x20, size 0x10 class Color mLevelInHi; // offset 0x30, size 0x10 class Color mLevelOutLo; // offset 0x40, size 0x10 class Color mLevelOutHi; // offset 0x50, size 0x10 class Transform mColorXfm; // offset 0x60, size 0x40 }; class RndEnviron : public Object { // total size: 0x160 protected: class ObjPtrList mLights; // offset 0x28, size 0x14 class Color mAmbientColor; // offset 0x40, size 0x10 class ObjOwnerPtr mAmbientFogOwner; // offset 0x50, size 0xC unsigned char mFogEnable; // offset 0x5C, size 0x1 float mFogStart; // offset 0x60, size 0x4 float mFogEnd; // offset 0x64, size 0x4 class Color mFogColor; // offset 0x70, size 0x10 unsigned char mFadeOut; // offset 0x80, size 0x1 float mFadeStart; // offset 0x84, size 0x4 float mFadeEnd; // offset 0x88, size 0x4 float mFadeMax; // offset 0x8C, size 0x4 class ObjPtr mLRFadeRef; // offset 0x90, size 0xC class Vector4 mLRFade; // offset 0xA0, size 0x10 class RndColorXfm mColorXfm; // offset 0xB0, size 0xA0 unsigned char mUseColorXfm; // offset 0x150, size 0x1 unsigned char mAnimateFromPreset; // offset 0x151, size 0x1 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndEnviron * mPtr; // offset 0x8, size 0x4 }; class RndDir : public ObjectDir, public RndDrawable, public RndAnimatable, public RndTransformable, public RndPollable, public MsgSource { // total size: 0x230 protected: class vector mDraws; // offset 0x1AC, size 0xC class vector mAnims; // offset 0x1B8, size 0xC class vector mPolls; // offset 0x1C4, size 0xC class ObjPtrList mCustomPolls; // offset 0x1D0, size 0x14 class ObjPtr mEnv; // offset 0x1E4, size 0xC class Symbol mTestEvent; // offset 0x1F0, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndDrawable * mPtr; // offset 0x8, size 0x4 }; class RndGroup : public RndAnimatable, public RndDrawable, public RndTransformable { // total size: 0x1A0 protected: class ObjPtrList mObjects; // offset 0x108, size 0x14 class ObjPtr mEnv; // offset 0x11C, size 0xC class ObjPtr mDrawOnly; // offset 0x128, size 0xC class ObjPtr mLod; // offset 0x134, size 0xC float mLodScreenSize; // offset 0x140, size 0x4 class vector mAnims; // offset 0x144, size 0xC class vector mDraws; // offset 0x150, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndGroup * mPtr; // offset 0x8, size 0x4 }; class Lod { // total size: 0x10 protected: float mScreenSize; // offset 0x0, size 0x4 class ObjPtr mGroup; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Lod * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Lod * _M_start; // offset 0x0, size 0x4 class Lod * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ShadowBone * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ShadowBone * * _M_start; // offset 0x0, size 0x4 class ShadowBone * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum PollState { kCharCreated = 0, kCharSyncObject = 1, kCharEntered = 2, kCharPolled = 3, kCharExited = 4, }; class Character : public RndDir { // total size: 0x2A0 protected: class ObjVector mLods; // offset 0x1F4, size 0x10 int mLastLod; // offset 0x204, size 0x4 int mMinLod; // offset 0x208, size 0x4 class ObjPtr mShadow; // offset 0x20C, size 0xC class CharDriver * mDriver; // offset 0x218, size 0x4 class CharWalk * mWalk; // offset 0x21C, size 0x4 unsigned char mSelfShadow; // offset 0x220, size 0x1 unsigned char mSpotCutout; // offset 0x221, size 0x1 unsigned char mFloorShadow; // offset 0x222, size 0x1 class ObjOwnerPtr mSphereBase; // offset 0x224, size 0xC class Sphere mBounding; // offset 0x230, size 0x20 class vector mShadowBones; // offset 0x250, size 0xC enum PollState mPollState; // offset 0x25C, size 0x4 class CharacterTest * mTest; // offset 0x260, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CompositeCharacter * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class Callback { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class RndOverlay : public TextStream { // total size: 0x80 const char * mName; // offset 0x4, size 0x4 unsigned char mShowing; // offset 0x8, size 0x1 class list mLines; // offset 0xC, size 0x8 struct _List_iterator mLine; // offset 0x14, size 0x4 class Color mColor; // offset 0x20, size 0x10 int mCursorChar; // offset 0x30, size 0x4 class Callback * mCallback; // offset 0x34, size 0x4 class Timer mTimer; // offset 0x38, size 0x38 float mTimeout; // offset 0x70, size 0x4 }; enum Action { kMerge = 0, kReplace = 1, kKeep = 2, }; class MergeFilter { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: enum Action mAction; // offset 0x4, size 0x4 }; struct Outfit { // total size: 0xC const class DataArray * data; // offset 0x0, size 0x4 int hide; // offset 0x4, size 0x4 int exclude; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Outfit * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Outfit * _M_start; // offset 0x0, size 0x4 struct Outfit * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct Category { // total size: 0x48 int selected; // offset 0x0, size 0x4 const class DataArray * data; // offset 0x4, size 0x4 int desired; // offset 0x8, size 0x4 int shown; // offset 0xC, size 0x4 int current; // offset 0x10, size 0x4 unsigned char changing; // offset 0x14, size 0x1 unsigned char changed; // offset 0x15, size 0x1 class String path; // offset 0x18, size 0xC class vector outfits; // offset 0x24, size 0xC class ObjPtrList loaded; // offset 0x30, size 0x14 unsigned char allow_showing; // offset 0x44, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Category * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Category * _M_start; // offset 0x0, size 0x4 struct Category * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Object * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct LoaderDesc { // total size: 0x14 class FilePath file; // offset 0x0, size 0xC struct Category * cat; // offset 0xC, size 0x4 int outfit; // offset 0x10, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class OutfitLoader : public Object, public Callback, public MergeFilter { // total size: 0x70 protected: class FilePath mDirectory; // offset 0x34, size 0xC class vector mCategories; // offset 0x40, size 0xC class DataArray * mExclusions; // offset 0x4C, size 0x4 unsigned char (* mCanShowCB)(class OutfitLoader *, struct Category *, int); // offset 0x50, size 0x4 class ObjPtr mMergeBackObj; // offset 0x54, size 0xC unsigned char mAsyncLoad; // offset 0x60, size 0x1 unsigned char mLoadingLoad; // offset 0x61, size 0x1 class Loader * mCurLoader; // offset 0x64, size 0x4 class list mFilesPending; // offset 0x68, size 0x8 }; enum ClipMode { kClipModeNone = 0, kClipModeMeta = 1, kClipModeLoadingScreen = 2, kClipModeRealtime = 3, kClipModeWorld = 4, kClipModeFinale = 5, }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class String * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class String * _M_start; // offset 0x0, size 0x4 class String * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct Triangle { // total size: 0xC class vector mPoints; // offset 0x0, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Triangle * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Triangle * _M_start; // offset 0x0, size 0x4 struct Triangle * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class CharDeform { // total size: 0x18 class vector mPoints; // offset 0x0, size 0xC class vector mTriangles; // offset 0xC, size 0xC }; enum Blend { kDest = 0, kSrc = 1, kAdd = 2, kSrcAlpha = 3, kSrcAlphaAdd = 4, kSubtract = 5, kMultiply = 6, kPreMultAlpha = 7, }; enum ZMode { kDisable = 0, kNormal = 1, kTransparent = 2, kForce = 3, kDecal = 4, }; enum StencilMode { kIgnore = 0, kWrite = 1, kTest = 2, }; enum TexGen { kNone = 0, kXfm = 1, kSphere = 2, kProjected = 3, kXfmOrigin = 4, kEnviron = 5, }; enum TexWrap { kClamp = 0, kRepeat = 1, kBorderBlack = 2, kBorderWhite = 3, }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMat * mPtr; // offset 0x8, size 0x4 }; struct bf { // total size: 0x4 private: unsigned int val; // offset 0x0, size 0x4 }; struct bf { // total size: 0x4 private: unsigned int val; // offset 0x0, size 0x4 }; struct bf { // total size: 0x4 private: unsigned int val; // offset 0x0, size 0x4 }; union /* @class$35686App_cpp */ { struct bf shaderType; // offset 0x0, size 0x4 struct bf billboard; // offset 0x0, size 0x4 struct bf skinned; // offset 0x0, size 0x4 unsigned int value; // offset 0x0, size 0x4 }; struct MatShaderOptions { // total size: 0x4 union { // inferred union /* @class$35686App_cpp */ { struct bf shaderType; // offset 0x0, size 0x4 struct bf billboard; // offset 0x0, size 0x4 struct bf skinned; // offset 0x0, size 0x4 unsigned int value; // offset 0x0, size 0x4 } __anon$35687; // offset 0x0, size 0x4 struct bf shaderType; // offset 0x0, size 0x4 struct bf billboard; // offset 0x0, size 0x4 struct bf skinned; // offset 0x0, size 0x4 unsigned int value; // offset 0x0, size 0x4 }; }; class RndMat : public Object { // total size: 0x120 protected: unsigned char mIntensify; // offset 0x28, size 0x1 enum Blend mBlend; // offset 0x2C, size 0x4 class Color mColor; // offset 0x30, size 0x10 unsigned char mUseEnviron; // offset 0x40, size 0x1 enum ZMode mZMode; // offset 0x44, size 0x4 enum StencilMode mStencilMode; // offset 0x48, size 0x4 enum TexGen mTexGen; // offset 0x4C, size 0x4 enum TexWrap mTexWrap; // offset 0x50, size 0x4 class Transform mTexXfm; // offset 0x60, size 0x40 class ObjPtr mDiffuseTex; // offset 0xA0, size 0xC unsigned char mPrelit; // offset 0xAC, size 0x1 unsigned char mAlphaCut; // offset 0xAD, size 0x1 int mAlphaThresh; // offset 0xB0, size 0x4 unsigned char mAlphaWrite; // offset 0xB4, size 0x1 class ObjPtr mNextPass; // offset 0xB8, size 0xC unsigned char mCull; // offset 0xC4, size 0x1 unsigned char mNormalize; // offset 0xC5, size 0x1 class ObjPtr mCustomDiffuseMap; // offset 0xC8, size 0xC unsigned char mTwoColor; // offset 0xD4, size 0x1 class ObjPtr mTwoColorMask; // offset 0xD8, size 0xC class Color mColor1; // offset 0xF0, size 0x10 class Color mColor2; // offset 0x100, size 0x10 unsigned char mPointLights; // offset 0x110, size 0x1 unsigned char mProjLights; // offset 0x111, size 0x1 unsigned char mFog; // offset 0x112, size 0x1 unsigned char mFadeout; // offset 0x113, size 0x1 unsigned char mColorXfm; // offset 0x114, size 0x1 struct MatShaderOptions mShaderOptions; // offset 0x118, size 0x4 int mDirty; // offset 0x11C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndMat * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndMat * * _M_start; // offset 0x0, size 0x4 class RndMat * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndCam * mPtr; // offset 0x8, size 0x4 }; class RndTexRenderer : public RndDrawable, public RndAnimatable { // total size: 0xB0 protected: unsigned char mDirty; // offset 0x44, size 0x1 unsigned char mForce; // offset 0x45, size 0x1 unsigned char mDrawPreClear; // offset 0x46, size 0x1 unsigned char mDrawWorldOnly; // offset 0x47, size 0x1 unsigned char mDrawResponsible; // offset 0x48, size 0x1 float mImposterHeight; // offset 0x4C, size 0x4 class ObjPtr mOutputTexture; // offset 0x50, size 0xC class ObjPtr mDraw; // offset 0x5C, size 0xC class ObjPtr mCam; // offset 0x68, size 0xC unsigned char mPrimeDraw; // offset 0x74, size 0x1 unsigned char mFirstDraw; // offset 0x75, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndTexRenderer * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndTexRenderer * * _M_start; // offset 0x0, size 0x4 class RndTexRenderer * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Color * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Color * _M_start; // offset 0x0, size 0x4 class Color * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ColorPalette : public Object { // total size: 0x34 public: class vector mColors; // offset 0x28, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class ColorPalette * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class CharPollable : public RndPollable { // total size: 0x34 }; enum Shape { kPlane = 0, kSphere = 1, kInsideSphere = 2, kCigar = 3, kInsideCigar = 4, }; class CharCollide : public RndTransformable { // total size: 0x110 protected: enum Shape mShape; // offset 0xB8, size 0x4 float mRadius; // offset 0xBC, size 0x4 float mMaxLength; // offset 0xC0, size 0x4 float mMinLength; // offset 0xC4, size 0x4 float mCurRadius; // offset 0xC8, size 0x4 int mFlags; // offset 0xCC, size 0x4 }; struct Node { // total size: 0xC class CharCollide * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; struct Point { // total size: 0x80 class Vector3 pos; // offset 0x0, size 0x10 class Vector3 force; // offset 0x10, size 0x10 class Vector3 lastFriction; // offset 0x20, size 0x10 class Vector3 lastZ; // offset 0x30, size 0x10 class ObjPtr bone; // offset 0x40, size 0xC float length; // offset 0x4C, size 0x4 class ObjPtrList collides; // offset 0x50, size 0x14 float radius; // offset 0x64, size 0x4 float outerRadius; // offset 0x68, size 0x4 float sideLength; // offset 0x6C, size 0x4 float collide; // offset 0x70, size 0x4 unsigned char sideCollide; // offset 0x74, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Point * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Point * _M_start; // offset 0x0, size 0x4 struct Point * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class Strand { // total size: 0x90 protected: class ObjPtr mRoot; // offset 0x0, size 0xC float mAngle; // offset 0xC, size 0x4 class ObjVector mPoints; // offset 0x10, size 0x10 class Matrix3 mBaseMat; // offset 0x20, size 0x30 class Matrix3 mRootMat; // offset 0x50, size 0x30 int mHookupFlags; // offset 0x80, size 0x4 unsigned char mShowSpheres; // offset 0x84, size 0x1 unsigned char mShowCollide; // offset 0x85, size 0x1 unsigned char mShowPose; // offset 0x86, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Strand * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Strand * _M_start; // offset 0x0, size 0x4 class Strand * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CharHair : public RndHighlightable, public CharPollable { // total size: 0x74 protected: float mStiffness; // offset 0x10, size 0x4 float mTorsion; // offset 0x14, size 0x4 float mInertia; // offset 0x18, size 0x4 float mGravity; // offset 0x1C, size 0x4 float mWeight; // offset 0x20, size 0x4 float mFriction; // offset 0x24, size 0x4 float mMinSlack; // offset 0x28, size 0x4 float mMaxSlack; // offset 0x2C, size 0x4 class ObjVector mStrands; // offset 0x30, size 0x10 int mReset; // offset 0x40, size 0x4 unsigned char mSimulate; // offset 0x44, size 0x1 unsigned char mUsePostProc; // offset 0x45, size 0x1 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class Vert { // total size: 0x40 public: class Vector3 p; // offset 0x0, size 0x10 class Vector3 n; // offset 0x10, size 0x10 class Color c; // offset 0x20, size 0x10 class Vector2 t; // offset 0x30, size 0x8 signed short b0; // offset 0x38, size 0x2 signed short b1; // offset 0x3A, size 0x2 signed short b2; // offset 0x3C, size 0x2 signed short b3; // offset 0x3E, size 0x2 }; class VertVector { // total size: 0x8 class Vert * mVerts; // offset 0x0, size 0x4 int mNumVerts; // offset 0x4, size 0x4 }; class Face { // total size: 0x6 public: unsigned short v1; // offset 0x0, size 0x2 unsigned short v2; // offset 0x2, size 0x2 unsigned short v3; // offset 0x4, size 0x2 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Face * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Face * _M_start; // offset 0x0, size 0x4 class Face * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned char * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: unsigned char * _M_start; // offset 0x0, size 0x4 unsigned char * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMesh * mPtr; // offset 0x8, size 0x4 }; class RndBone { // total size: 0x50 public: class ObjPtr bone; // offset 0x0, size 0xC class Transform offset; // offset 0x10, size 0x40 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndBone * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndBone * _M_start; // offset 0x0, size 0x4 class RndBone * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; enum Volume { kEmpty = 0, kTriangles = 1, kBSP = 2, kBox = 3, }; class BSPNode { // total size: 0x20 public: class Plane plane; // offset 0x0, size 0x10 class BSPNode * front; // offset 0x10, size 0x4 class BSPNode * back; // offset 0x14, size 0x4 }; struct AdjEdge { // total size: 0xC unsigned int Ref0; // offset 0x0, size 0x4 unsigned int Ref1; // offset 0x4, size 0x4 unsigned int FaceNb; // offset 0x8, size 0x4 }; struct AdjTriangle { // total size: 0x18 unsigned int VRef[3]; // offset 0x0, size 0xC unsigned int ATri[3]; // offset 0xC, size 0xC }; struct ADJACENCIESCREATE { // total size: 0xC unsigned int NbFaces; // offset 0x0, size 0x4 unsigned int * DFaces; // offset 0x4, size 0x4 unsigned short * WFaces; // offset 0x8, size 0x4 }; class Adjacencies { // total size: 0x14 unsigned int mNbEdges; // offset 0x0, size 0x4 unsigned int mCurrentNbFaces; // offset 0x4, size 0x4 struct AdjEdge * mEdges; // offset 0x8, size 0x4 public: unsigned int mNbFaces; // offset 0xC, size 0x4 struct AdjTriangle * mFaces; // offset 0x10, size 0x4 }; struct CustomBlock { // total size: 0xC void * Addy; // offset 0x0, size 0x4 unsigned long Size; // offset 0x4, size 0x4 unsigned long Max; // offset 0x8, size 0x4 }; struct CustomCell { // total size: 0x10 struct CustomCell * NextCustomCell; // offset 0x0, size 0x4 struct CustomBlock Item; // offset 0x4, size 0xC }; struct __file_modes { // total size: 0x4 unsigned int open_mode : 2; // offset 0x0, size 0x4 unsigned int io_mode : 3; // offset 0x0, size 0x4 unsigned int buffer_mode : 2; // offset 0x0, size 0x4 unsigned int file_kind : 3; // offset 0x0, size 0x4 unsigned int file_orientation : 2; // offset 0x0, size 0x4 unsigned int binary_io : 1; // offset 0x0, size 0x4 }; struct __file_state { // total size: 0x4 unsigned int io_state : 3; // offset 0x0, size 0x4 unsigned int free_buffer : 1; // offset 0x0, size 0x4 unsigned char eof; // offset 0x1, size 0x1 unsigned char error; // offset 0x2, size 0x1 }; struct _FILE { // total size: 0x50 unsigned long handle; // offset 0x0, size 0x4 struct __file_modes mode; // offset 0x4, size 0x4 struct __file_state state; // offset 0x8, size 0x4 unsigned char is_dynamically_allocated; // offset 0xC, size 0x1 unsigned char char_buffer; // offset 0xD, size 0x1 unsigned char char_buffer_overflow; // offset 0xE, size 0x1 unsigned char ungetc_buffer[2]; // offset 0xF, size 0x2 wchar_t ungetwc_buffer[2]; // offset 0x12, size 0x4 unsigned long position; // offset 0x18, size 0x4 unsigned char * buffer; // offset 0x1C, size 0x4 unsigned long buffer_size; // offset 0x20, size 0x4 unsigned char * buffer_ptr; // offset 0x24, size 0x4 unsigned long buffer_len; // offset 0x28, size 0x4 unsigned long buffer_alignment; // offset 0x2C, size 0x4 unsigned long saved_buffer_len; // offset 0x30, size 0x4 unsigned long buffer_pos; // offset 0x34, size 0x4 int (* position_proc)(unsigned long, unsigned long *, int, void *); // offset 0x38, size 0x4 int (* read_proc)(unsigned long, unsigned char *, unsigned long *, void *); // offset 0x3C, size 0x4 int (* write_proc)(unsigned long, unsigned char *, unsigned long *, void *); // offset 0x40, size 0x4 int (* close_proc)(unsigned long); // offset 0x44, size 0x4 void * ref_con; // offset 0x48, size 0x4 struct _FILE * next_file_struct; // offset 0x4C, size 0x4 }; class CustomArray { // total size: 0x1C struct CustomCell * mCurrentCell; // offset 0x0, size 0x4 struct CustomCell * mInitCell; // offset 0x4, size 0x4 void * mCollapsed; // offset 0x8, size 0x4 void * mAddresses; // offset 0xC, size 0x4 void * mLastAddress; // offset 0x10, size 0x4 unsigned short mNbPushedAddies; // offset 0x14, size 0x2 unsigned short mNbAllocatedAddies; // offset 0x16, size 0x2 unsigned char mBitCount; // offset 0x18, size 0x1 unsigned char mBitMask; // offset 0x19, size 0x1 }; struct STRIPERRESULT { // total size: 0x10 unsigned int NbStrips; // offset 0x0, size 0x4 unsigned int * StripLengths; // offset 0x4, size 0x4 void * StripRuns; // offset 0x8, size 0x4 unsigned char AskForWords; // offset 0xC, size 0x1 }; struct STRIPERCREATE { // total size: 0x10 unsigned int NbFaces; // offset 0x0, size 0x4 unsigned int * DFaces; // offset 0x4, size 0x4 unsigned short * WFaces; // offset 0x8, size 0x4 unsigned char AskForWords; // offset 0xC, size 0x1 unsigned char OneSided; // offset 0xD, size 0x1 unsigned char SGIAlgorithm; // offset 0xE, size 0x1 unsigned char ConnectAllStrips; // offset 0xF, size 0x1 }; class Striper { // total size: 0x20 class Adjacencies * mAdj; // offset 0x0, size 0x4 unsigned char * mTags; // offset 0x4, size 0x4 unsigned int mNbStrips; // offset 0x8, size 0x4 class CustomArray * mStripLengths; // offset 0xC, size 0x4 class CustomArray * mStripRuns; // offset 0x10, size 0x4 unsigned int mTotalLength; // offset 0x14, size 0x4 class CustomArray * mSingleStrip; // offset 0x18, size 0x4 unsigned char mAskForWords; // offset 0x1C, size 0x1 unsigned char mOneSided; // offset 0x1D, size 0x1 unsigned char mSGIAlgorithm; // offset 0x1E, size 0x1 unsigned char mConnectAllStrips; // offset 0x1F, size 0x1 }; class RndMesh : public RndDrawable, public RndTransformable { // total size: 0x190 protected: class VertVector mVerts; // offset 0xF8, size 0x8 class vector mFaces; // offset 0x100, size 0xC class ObjPtr mMat; // offset 0x10C, size 0xC class vector mPatches; // offset 0x118, size 0xC class ObjOwnerPtr mGeomOwner; // offset 0x124, size 0xC class ObjVector mBones; // offset 0x130, size 0x10 int mMutable; // offset 0x140, size 0x4 enum Volume mVolume; // offset 0x144, size 0x4 class BSPNode * mBSPTree; // offset 0x148, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; struct CharGraphNode { // total size: 0x8 float curFrame; // offset 0x0, size 0x4 float nextFrame; // offset 0x4, size 0x4 }; class NodeVector { // total size: 0x10 public: class CharClip * clip; // offset 0x0, size 0x4 int size; // offset 0x4, size 0x4 struct CharGraphNode nodes[1]; // offset 0x8, size 0x8 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharClip * mPtr; // offset 0x8, size 0x4 }; class FrameEvent { // total size: 0x8 protected: class Symbol mHandler; // offset 0x0, size 0x4 float mFrame; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class FrameEvent * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class FrameEvent * _M_start; // offset 0x0, size 0x4 class FrameEvent * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum CompressionType { kCompressNone = 0, kCompressRots = 1, kCompressVects = 2, kCompressQuats = 3, kCompressAll = 4, }; struct Bone { // total size: 0x8 class Symbol name; // offset 0x0, size 0x4 float weight; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Bone * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Bone * _M_start; // offset 0x0, size 0x4 struct Bone * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct /* @class$33364App_cpp */ { // total size: 0x1C int mPosCount; // offset 0x0, size 0x4 int mScaleCount; // offset 0x4, size 0x4 int mQuatCount; // offset 0x8, size 0x4 int mRotXCount; // offset 0xC, size 0x4 int mRotYCount; // offset 0x10, size 0x4 int mRotZCount; // offset 0x14, size 0x4 int mEndCount; // offset 0x18, size 0x4 }; union /* @class$33363App_cpp */ { int mCounts[7]; // offset 0x0, size 0x1C struct /* @class$33364App_cpp */ { // total size: 0x1C int mPosCount; // offset 0x0, size 0x4 int mScaleCount; // offset 0x4, size 0x4 int mQuatCount; // offset 0x8, size 0x4 int mRotXCount; // offset 0xC, size 0x4 int mRotYCount; // offset 0x10, size 0x4 int mRotZCount; // offset 0x14, size 0x4 int mEndCount; // offset 0x18, size 0x4 } __anon$33365; // offset 0x0, size 0x1C int mPosCount; // offset 0x0, size 0x4 int mScaleCount; // offset 0x4, size 0x4 int mQuatCount; // offset 0x8, size 0x4 int mRotXCount; // offset 0xC, size 0x4 int mRotYCount; // offset 0x10, size 0x4 int mRotZCount; // offset 0x14, size 0x4 int mEndCount; // offset 0x18, size 0x4 }; struct /* @class$33367App_cpp */ { // total size: 0x20 int mPosOffset; // offset 0x0, size 0x4 int mScaleOffset; // offset 0x4, size 0x4 int mQuatOffset; // offset 0x8, size 0x4 int mRotXOffset; // offset 0xC, size 0x4 int mRotYOffset; // offset 0x10, size 0x4 int mRotZOffset; // offset 0x14, size 0x4 int mEndOffset; // offset 0x18, size 0x4 int mTotalSize; // offset 0x1C, size 0x4 }; union /* @class$33366App_cpp */ { int mOffsets[7]; // offset 0x0, size 0x1C struct /* @class$33367App_cpp */ { // total size: 0x20 int mPosOffset; // offset 0x0, size 0x4 int mScaleOffset; // offset 0x4, size 0x4 int mQuatOffset; // offset 0x8, size 0x4 int mRotXOffset; // offset 0xC, size 0x4 int mRotYOffset; // offset 0x10, size 0x4 int mRotZOffset; // offset 0x14, size 0x4 int mEndOffset; // offset 0x18, size 0x4 int mTotalSize; // offset 0x1C, size 0x4 } __anon$33368; // offset 0x0, size 0x20 int mPosOffset; // offset 0x0, size 0x4 int mScaleOffset; // offset 0x4, size 0x4 int mQuatOffset; // offset 0x8, size 0x4 int mRotXOffset; // offset 0xC, size 0x4 int mRotYOffset; // offset 0x10, size 0x4 int mRotZOffset; // offset 0x14, size 0x4 int mEndOffset; // offset 0x18, size 0x4 int mTotalSize; // offset 0x1C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class CharClip * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class CharClip * * _M_start; // offset 0x0, size 0x4 class CharClip * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum Type { TYPE_POS = 0, TYPE_SCALE = 1, TYPE_QUAT = 2, TYPE_ROTX = 3, TYPE_ROTY = 4, TYPE_ROTZ = 5, TYPE_END = 6, NUM_TYPES = 7, }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharBone * mPtr; // offset 0x8, size 0x4 }; class CharBone : public RndTransformable { // total size: 0x110 protected: unsigned char mPosition; // offset 0xB8, size 0x1 unsigned char mScale; // offset 0xB9, size 0x1 enum Type mRotation; // offset 0xBC, size 0x4 float mWeight; // offset 0xC0, size 0x4 class ObjPtr mTarget; // offset 0xC4, size 0xC }; struct Node { // total size: 0xC class CharBone * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class Symbol _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class Recenter { // total size: 0x3C protected: class ObjPtrList mTargets; // offset 0x0, size 0x14 class ObjPtrList mAverage; // offset 0x14, size 0x14 unsigned char mSlide; // offset 0x28, size 0x1 class list mTargetsSyms; // offset 0x2C, size 0x8 class list mAverageSyms; // offset 0x34, size 0x8 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndDir * mPtr; // offset 0x8, size 0x4 }; struct BoneXfm { // total size: 0x50 class ObjPtr bone; // offset 0x0, size 0xC class Transform xfm; // offset 0x10, size 0x40 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BoneXfm * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BoneXfm * _M_start; // offset 0x0, size 0x4 struct BoneXfm * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CharClipSet : public ObjectDir, public RndDrawable, public RndAnimatable { // total size: 0x1F0 protected: class vector mClips; // offset 0xC4, size 0xC class list mLRU; // offset 0xD0, size 0x8 class Recenter mRecenter; // offset 0xD8, size 0x3C class Symbol mOldType; // offset 0x114, size 0x4 int mOldVersion; // offset 0x118, size 0x4 unsigned char mBoneWeights; // offset 0x11C, size 0x1 unsigned char mMoveSelf; // offset 0x11D, size 0x1 unsigned char mBakeOutFacing; // offset 0x11E, size 0x1 class list mBones; // offset 0x120, size 0x8 class Timer mTimer; // offset 0x128, size 0x38 class FilePath mCharFilePath; // offset 0x160, size 0xC class ObjPtr mPreviewChar; // offset 0x16C, size 0xC class ObjPtr mPreviewClip; // offset 0x178, size 0xC int mFilterFlags; // offset 0x184, size 0x4 int mBpm; // offset 0x188, size 0x4 unsigned char mPreviewWalk; // offset 0x18C, size 0x1 class ObjPtr mStillClip; // offset 0x190, size 0xC class ObjVector mLoadPose; // offset 0x19C, size 0x10 }; struct ByteQuat { // total size: 0x4 char x; // offset 0x0, size 0x1 char y; // offset 0x1, size 0x1 char z; // offset 0x2, size 0x1 char w; // offset 0x3, size 0x1 }; struct ShortQuat { // total size: 0x8 signed short x; // offset 0x0, size 0x2 signed short y; // offset 0x2, size 0x2 signed short z; // offset 0x4, size 0x2 signed short w; // offset 0x6, size 0x2 }; class CharBones { // total size: 0x54 public: void * __vptr$; // offset 0x0, size 0x4 protected: enum CompressionType mCompression; // offset 0x4, size 0x4 class vector mBones; // offset 0x8, size 0xC char * mStart; // offset 0x14, size 0x4 union { // inferred union /* @class$33363App_cpp */ { int mCounts[7]; // offset 0x0, size 0x1C struct /* @class$33364App_cpp */ { // total size: 0x1C int mPosCount; // offset 0x0, size 0x4 int mScaleCount; // offset 0x4, size 0x4 int mQuatCount; // offset 0x8, size 0x4 int mRotXCount; // offset 0xC, size 0x4 int mRotYCount; // offset 0x10, size 0x4 int mRotZCount; // offset 0x14, size 0x4 int mEndCount; // offset 0x18, size 0x4 } __anon$33365; // offset 0x0, size 0x1C int mPosCount; // offset 0x0, size 0x4 int mScaleCount; // offset 0x4, size 0x4 int mQuatCount; // offset 0x8, size 0x4 int mRotXCount; // offset 0xC, size 0x4 int mRotYCount; // offset 0x10, size 0x4 int mRotZCount; // offset 0x14, size 0x4 int mEndCount; // offset 0x18, size 0x4 } __anon$33369; // offset 0x18, size 0x1C int mCounts[7]; // offset 0x18, size 0x1C struct /* @class$33364App_cpp */ { // total size: 0x1C int mPosCount; // offset 0x0, size 0x4 int mScaleCount; // offset 0x4, size 0x4 int mQuatCount; // offset 0x8, size 0x4 int mRotXCount; // offset 0xC, size 0x4 int mRotYCount; // offset 0x10, size 0x4 int mRotZCount; // offset 0x14, size 0x4 int mEndCount; // offset 0x18, size 0x4 } __anon$33365; // offset 0x18, size 0x1C struct { // inferred int mPosCount; // offset 0x18, size 0x4 int mScaleCount; // offset 0x1C, size 0x4 int mQuatCount; // offset 0x20, size 0x4 int mRotXCount; // offset 0x24, size 0x4 int mRotYCount; // offset 0x28, size 0x4 int mRotZCount; // offset 0x2C, size 0x4 int mEndCount; // offset 0x30, size 0x4 }; }; union { // inferred union /* @class$33366App_cpp */ { int mOffsets[7]; // offset 0x0, size 0x1C struct /* @class$33367App_cpp */ { // total size: 0x20 int mPosOffset; // offset 0x0, size 0x4 int mScaleOffset; // offset 0x4, size 0x4 int mQuatOffset; // offset 0x8, size 0x4 int mRotXOffset; // offset 0xC, size 0x4 int mRotYOffset; // offset 0x10, size 0x4 int mRotZOffset; // offset 0x14, size 0x4 int mEndOffset; // offset 0x18, size 0x4 int mTotalSize; // offset 0x1C, size 0x4 } __anon$33368; // offset 0x0, size 0x20 int mPosOffset; // offset 0x0, size 0x4 int mScaleOffset; // offset 0x4, size 0x4 int mQuatOffset; // offset 0x8, size 0x4 int mRotXOffset; // offset 0xC, size 0x4 int mRotYOffset; // offset 0x10, size 0x4 int mRotZOffset; // offset 0x14, size 0x4 int mEndOffset; // offset 0x18, size 0x4 int mTotalSize; // offset 0x1C, size 0x4 } __anon$33370; // offset 0x34, size 0x20 int mOffsets[7]; // offset 0x34, size 0x1C struct /* @class$33367App_cpp */ { // total size: 0x20 int mPosOffset; // offset 0x0, size 0x4 int mScaleOffset; // offset 0x4, size 0x4 int mQuatOffset; // offset 0x8, size 0x4 int mRotXOffset; // offset 0xC, size 0x4 int mRotYOffset; // offset 0x10, size 0x4 int mRotZOffset; // offset 0x14, size 0x4 int mEndOffset; // offset 0x18, size 0x4 int mTotalSize; // offset 0x1C, size 0x4 } __anon$33368; // offset 0x34, size 0x20 struct { // inferred int mPosOffset; // offset 0x34, size 0x4 int mScaleOffset; // offset 0x38, size 0x4 int mQuatOffset; // offset 0x3C, size 0x4 int mRotXOffset; // offset 0x40, size 0x4 int mRotYOffset; // offset 0x44, size 0x4 int mRotZOffset; // offset 0x48, size 0x4 int mEndOffset; // offset 0x4C, size 0x4 int mTotalSize; // offset 0x50, size 0x4 }; }; }; class CharClip : public virtual Object { // total size: 0x7C public: void * __vptr$; // offset 0x4, size 0x4 protected: class NodeVector * mNodeStart; // offset 0x8, size 0x4 class NodeVector * mNodeEnd; // offset 0xC, size 0x4 float mStartFrame; // offset 0x10, size 0x4 float mEndFrame; // offset 0x14, size 0x4 float mFramesPerSec; // offset 0x18, size 0x4 int mFlags; // offset 0x1C, size 0x4 int mPlayFlags; // offset 0x20, size 0x4 int mSize; // offset 0x24, size 0x4 float mBlendWidth; // offset 0x28, size 0x4 float mRange; // offset 0x2C, size 0x4 unsigned char mBakeOutFacing; // offset 0x30, size 0x1 class ObjPtr mRelative; // offset 0x34, size 0xC class vector mFrameEvents; // offset 0x40, size 0xC unsigned char mDirty; // offset 0x4C, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; struct MatOption { // total size: 0x34 class ObjPtr mMat; // offset 0x0, size 0xC class ObjPtr mPrimaryPalette; // offset 0xC, size 0xC class ObjPtr mSecondaryPalette; // offset 0x18, size 0xC class ObjVector mTexs; // offset 0x24, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; struct ColorOption { // total size: 0x10 int mColorIndex; // offset 0x0, size 0x4 class ObjList mMatOptions; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ColorOption * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ColorOption * _M_start; // offset 0x0, size 0x4 struct ColorOption * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class OutfitConfig : public RndPollable { // total size: 0x44 class ObjVector mColors; // offset 0x8, size 0x10 }; class CompositeCharacter : public Character { // total size: 0x460 class ObjPtr mOtherDude; // offset 0x264, size 0xC class RndOverlay * mOverlay; // offset 0x270, size 0x4 int mPlayFlags; // offset 0x274, size 0x4 unsigned char mHandsActive; // offset 0x278, size 0x1 unsigned char mHandsEnabled; // offset 0x279, size 0x1 unsigned char mFrozen; // offset 0x27A, size 0x1 class CharDriver * mFaceDriver; // offset 0x27C, size 0x4 class CharDriver * mAddDriver; // offset 0x280, size 0x4 class CharDriver * mActiveDriver; // offset 0x284, size 0x4 class OutfitLoader * mOutfitLoader; // offset 0x288, size 0x4 char mGroupName[64]; // offset 0x28C, size 0x40 char mGroupOverride[64]; // offset 0x2CC, size 0x40 char mFaceGroupName[64]; // offset 0x30C, size 0x40 class Waypoint * mWaypoint; // offset 0x34C, size 0x4 unsigned char mForceVertical; // offset 0x350, size 0x1 enum ClipMode mClipMode; // offset 0x354, size 0x4 class vector mDirectedCuts; // offset 0x358, size 0xC class CharDeform mDeform; // offset 0x364, size 0x18 class vector mSkinMats; // offset 0x37C, size 0xC class vector mSkinRenders; // offset 0x388, size 0xC int mSkinColorIndex; // offset 0x394, size 0x4 class ObjPtr mSkinColorPalette; // offset 0x398, size 0xC class ObjPtr mSkinTattooPalette; // offset 0x3A4, size 0xC int mEyeColorIndex; // offset 0x3B0, size 0x4 class ObjPtr mEyeColorPalette; // offset 0x3B4, size 0xC int mEyebrowColorIndex; // offset 0x3C0, size 0x4 class Symbol mGender; // offset 0x3C4, size 0x4 class ObjPtrList mHair; // offset 0x3C8, size 0x14 unsigned char mForceNextGroup; // offset 0x3DC, size 0x1 unsigned char mDeformDirty; // offset 0x3DD, size 0x1 class Symbol mTattooPrefab; // offset 0x3E0, size 0x4 class Symbol mPrefabName; // offset 0x3E4, size 0x4 class CharDesc * mPrefab; // offset 0x3E8, size 0x4 unsigned char mRedrawPrefab; // offset 0x3EC, size 0x1 unsigned char mForcePoll; // offset 0x3ED, size 0x1 class ObjPtr mSkinShader; // offset 0x3F0, size 0xC float mHeight; // offset 0x3FC, size 0x4 float mWeight; // offset 0x400, size 0x4 unsigned char mIsH2hLeft; // offset 0x404, size 0x1 unsigned char mIsH2hRight; // offset 0x405, size 0x1 unsigned char mIsCoop; // offset 0x406, size 0x1 class ObjPtrList mCuffed; // offset 0x408, size 0x14 }; class CharDesc : public virtual Object { // total size: 0x4C public: void * __vptr$; // offset 0x4, size 0x4 protected: class DataArray * mCharData; // offset 0x8, size 0x4 class HxGuid mGuid; // offset 0xC, size 0x10 private: int mRefs; // offset 0x1C, size 0x4 }; enum Difficulty { kDifficultyEasy = 0, kDifficultyMedium = 1, kDifficultyHard = 2, kDifficultyExpert = 3, kNumDifficulties = 4, }; enum ControllerType { kControllerDrum = 0, kControllerGuitar = 1, kControllerVocals = 2, kControllerNone = 3, kNumControllerTypes = 3, }; class CharData : public CharDesc { // total size: 0x58 protected: enum Difficulty mTourWinDiffs[3]; // offset 0x20, size 0xC }; enum TrackType { kTrackDrum = 0, kTrackBass = 1, kTrackGuitar = 2, kTrackVocals = 3, kTrackNone = 4, kNumTrackTypes = 4, }; class User : public Object { // total size: 0x48 protected: class String mUserName; // offset 0x28, size 0xC private: int mUserNum; // offset 0x34, size 0x4 unsigned int mMachineID; // offset 0x38, size 0x4 unsigned char mReady; // offset 0x3C, size 0x1 class OnlineID * mOnlineID; // offset 0x40, size 0x4 unsigned char mHasOnlineID; // offset 0x44, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BandData * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BandData * * _M_start; // offset 0x0, size 0x4 class BandData * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Profile : public virtual MsgSource { // total size: 0x390 public: void * __vptr$; // offset 0x4, size 0x4 private: enum ProfileSaveState mState; // offset 0x8, size 0x4 unsigned char mIsActive; // offset 0xC, size 0x1 unsigned char mDirty; // offset 0xD, size 0x1 int mPadNum; // offset 0x10, size 0x4 class vector mChars; // offset 0x14, size 0xC class vector mBands; // offset 0x20, size 0xC class vector mRemoteBands; // offset 0x2C, size 0xC class vector mLessonsLearned; // offset 0x38, size 0xC class SoloSongStatusMgr * mSoloSongs; // offset 0x44, size 0x4 class vector mBeatsLearned; // offset 0x48, size 0xC struct BotbNewsCreds mBotbNewsCreds[16]; // offset 0x54, size 0x240 class vector mUnlockedSongs; // offset 0x294, size 0xC class set mUnlockedModifiers; // offset 0x2A0, size 0x18 class vector mChallenges[4]; // offset 0x2B8, size 0x30 class PendingBattleScore * mPendingBattleScore; // offset 0x2E8, size 0x4 class HighScoreSongStatusMgr * mHighScores; // offset 0x2EC, size 0x4 class OnlineID * mComebackTarget; // offset 0x2F0, size 0x4 class GameplayOptions mGameplayOptions; // offset 0x2F4, size 0x48 int mUploadFriendsToken; // offset 0x33C, size 0x4 unsigned char mHasCheated; // offset 0x340, size 0x1 }; class DataArray { // total size: 0x10 class DataNode * mNodes; // offset 0x0, size 0x4 class Symbol mFile; // offset 0x4, size 0x4 signed short mSize; // offset 0x8, size 0x2 signed short mRefs; // offset 0xA, size 0x2 signed short mLine; // offset 0xC, size 0x2 signed short mDeprecated; // offset 0xE, size 0x2 }; union /* @class$5318App_cpp */ { const char * symbol; // offset 0x0, size 0x4 int integer; // offset 0x0, size 0x4 float real; // offset 0x0, size 0x4 class DataArray * array; // offset 0x0, size 0x4 class DataNode * var; // offset 0x0, size 0x4 class DataNode (* func)(class DataArray *); // offset 0x0, size 0x4 class Object * object; // offset 0x0, size 0x4 }; class DataArrayPtr { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: class DataArray * mData; // offset 0x4, size 0x4 }; class DataNode { // total size: 0x8 union /* @class$5318App_cpp */ { const char * symbol; // offset 0x0, size 0x4 int integer; // offset 0x0, size 0x4 float real; // offset 0x0, size 0x4 class DataArray * array; // offset 0x0, size 0x4 class DataNode * var; // offset 0x0, size 0x4 class DataNode (* func)(class DataArray *); // offset 0x0, size 0x4 class Object * object; // offset 0x0, size 0x4 } mValue; // offset 0x0, size 0x4 enum DataType mType; // offset 0x4, size 0x4 }; class ObjRef { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; struct { // total size: 0x8 } __RTTI__10BandScreen; // size: 0x8, address: 0x8085D1D0 struct { // total size: 0xC } __vt__7Message; // size: 0xC, address: 0x8085D1D8 struct { // total size: 0x8 } __RTTI__7Message; // size: 0x8, address: 0x8085D1F0 struct { // total size: 0x8 } __RTTI__7UIPanel; // size: 0x8, address: 0x8085D218 struct { // total size: 0x8 } __RTTI__8UIScreen; // size: 0x8, address: 0x8085D240 struct { // total size: 0x8 } __RTTI__9ObjectDir; // size: 0x8, address: 0x8085D268 struct { // total size: 0x8 } __RTTI__9DirLoader; // size: 0x8, address: 0x8085D290 struct { // total size: 0x8 } __RTTI__Q23Hmx6Object; // size: 0x8, address: 0x8085D2B0 struct { // total size: 0x18 } __vt__6ObjRef; // size: 0x18, address: 0x8085D2B8 struct { // total size: 0x8 } __RTTI__6ObjRef; // size: 0x8, address: 0x8085D2D8 struct { // total size: 0x8 } __RTTI__6Loader; // size: 0x8, address: 0x8085D2E8 struct { // total size: 0x10 } __vt__8FilePath; // size: 0x10, address: 0x8085D2F0 struct { // total size: 0x8 } __RTTI__8FilePath; // size: 0x8, address: 0x8085D320 struct { // total size: 0x8 } __RTTI__6String; // size: 0x8, address: 0x8085D340 struct { // total size: 0x8 } __RTTI__10TextStream; // size: 0x8, address: 0x8085D358 struct Entry { // total size: 0x8 const char * name; // offset 0x0, size 0x4 class Object * obj; // offset 0x4, size 0x4 }; class KeylessHash { // total size: 0x20 struct Entry * mEntries; // offset 0x0, size 0x4 int mSize; // offset 0x4, size 0x4 unsigned char mOwnEntries; // offset 0x8, size 0x1 int mNumEntries; // offset 0xC, size 0x4 struct Entry mEmpty; // offset 0x10, size 0x8 struct Entry mRemoved; // offset 0x18, size 0x8 }; // Range: 0x8000DB6C -> 0x8000DC14 static void __sinit_\App_cpp() { // References // -> static class ObjDirPtr gCommonLabel3d; // -> static class ObjDirPtr gCommonTrack; // -> static class ObjDirPtr gCommonBank; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; } struct { // total size: 0x18 } __vt__21ObjDirPtr<9ObjectDir>; // size: 0x18, address: 0x8085D360 struct { // total size: 0x8 } __RTTI__21ObjDirPtr<9ObjectDir>; // size: 0x8, address: 0x8085D3A0 class SongPos { // total size: 0x14 float mTotalTick; // offset 0x0, size 0x4 float mTotalBeat; // offset 0x4, size 0x4 int mMeasure; // offset 0x8, size 0x4 int mBeat; // offset 0xC, size 0x4 int mTick; // offset 0x10, size 0x4 }; class TaskMgr : public Object { // total size: 0x88 class TaskTimeline * mTimelines; // offset 0x28, size 0x4 class SongPos mSongPos; // offset 0x2C, size 0x14 unsigned char mAutoSecondsBeats; // offset 0x40, size 0x1 class Timer mTime; // offset 0x48, size 0x38 float mAVOffset; // offset 0x80, size 0x4 }; enum WaitType { kNone = 0, kGoto = 1, kPop = 2, }; enum NetUIState { kNetUI_None = 0, kNetUI_Synchronized = 1, kNetUI_ReadyWorldTour = 2, kNetUI_ReadySetChallenges = 3, kNetUI_ReadyBotb = 4, kNetUI_Matchmaking = 5, kNetUI_TourMenu = 6, kNetUI_RockShop = 7, kNetUI_CreatingArt = 8, kNetUI_BandProfile = 9, kNetUI_Leaderboards = 10, kNetUI_Pause = 11, kNetUI_Loading = 12, kNetUI_MetaLoading = 13, kNetUI_SaveLoad = 14, kNetUI_PreAutoSave = 15, kNetUI_PostAutoSave = 16, }; class NetSync : public Object { // total size: 0x4C unsigned char mTransitionSwitch; // offset 0x28, size 0x1 unsigned char mSelectSwitch; // offset 0x29, size 0x1 enum WaitType mInTransition[4]; // offset 0x2C, size 0x10 class UIScreen * mDestinationScreen; // offset 0x3C, size 0x4 int mDestinationDepth; // offset 0x40, size 0x4 unsigned char mUIDisabled; // offset 0x44, size 0x1 unsigned char mIsForcedTransitionActive; // offset 0x45, size 0x1 unsigned char mSessionBusy; // offset 0x46, size 0x1 class LockStepMgr * mLockStepMgr; // offset 0x48, size 0x4 }; class ObjDirPtr : public ObjRef { // total size: 0xC protected: class CompositeCharacter * mDir; // offset 0x4, size 0x4 class DirLoader * mLoader; // offset 0x8, size 0x4 }; class ObjDirPtr : public ObjRef { // total size: 0xC protected: class CharClipSet * mDir; // offset 0x4, size 0x4 class DirLoader * mLoader; // offset 0x8, size 0x4 }; struct CharEntry { // total size: 0x50 enum ControllerType mControllerType; // offset 0x0, size 0x4 const class CharData * mCharData; // offset 0x4, size 0x4 class ObjDirPtr mChar; // offset 0x8, size 0xC class String mReplaceName; // offset 0x14, size 0xC class String mWorldName; // offset 0x20, size 0xC class Symbol mTrack; // offset 0x2C, size 0x4 class ObjPtr mOld; // offset 0x30, size 0xC int mLastSelected; // offset 0x3C, size 0x4 int mLastDir; // offset 0x40, size 0x4 class ObjDirPtr mClips; // offset 0x44, size 0xC }; enum Configuration { kCharCachePreWorld = 0, kCharCacheLoadingLipSync = 1, kCharCacheRandomizeClips = 2, kCharCacheWorld = 3, kCharCacheReclaimed = 4, kCharCachePreMeta = 5, kCharCachePreMetaWait = 6, kCharCacheLoadShellClips = 7, kCharCacheMetaWaitFrames = 8, kCharCacheMeta = 9, }; class BandUser : public User { // total size: 0xBC protected: enum Difficulty mDifficulty; // offset 0x48, size 0x4 enum TrackType mTrackType; // offset 0x4C, size 0x4 enum ControllerType mControllerType; // offset 0x50, size 0x4 unsigned char mTrackSelected; // offset 0x54, size 0x1 class CharData * mChar; // offset 0x58, size 0x4 class GameplayOptions mGameplayOptions; // offset 0x5C, size 0x48 enum NetUIState mNetUIState; // offset 0xA4, size 0x4 unsigned char mAutoplay; // offset 0xA8, size 0x1 class Symbol mPreviousAward; // offset 0xAC, size 0x4 class Track * mTrack; // offset 0xB0, size 0x4 class Player * mPlayer; // offset 0xB4, size 0x4 unsigned char mIsWiiRemoteController; // offset 0xB8, size 0x1 unsigned char mJustDisconnected; // offset 0xB9, size 0x1 }; class CharCache : public Object { // total size: 0xB8 protected: struct CharEntry * mEntries[4]; // offset 0x28, size 0x10 class FileCache * mCache; // offset 0x38, size 0x4 enum Configuration mConfiguration; // offset 0x3C, size 0x4 class list mCompressTextures; // offset 0x40, size 0x8 int mCompressPlayer; // offset 0x48, size 0x4 int mCompressWait; // offset 0x4C, size 0x4 unsigned char mEnableCache; // offset 0x50, size 0x1 class ObjDirPtr mBlink; // offset 0x54, size 0xC class ObjDirPtr mPalettes; // offset 0x60, size 0xC class ObjDirPtr mMaleNaked; // offset 0x6C, size 0xC class ObjDirPtr mMaleTorso; // offset 0x78, size 0xC class ObjDirPtr mFemaleNaked; // offset 0x84, size 0xC class ObjDirPtr mFemaleTorso; // offset 0x90, size 0xC class ObjDirPtr mLipSync; // offset 0x9C, size 0xC class vector mSavedPlayers; // offset 0xA8, size 0xC int mWaitFrames; // offset 0xB4, size 0x4 }; class WiiNetInit { // total size: 0x1740 unsigned char mThreadStack[4096]; // offset 0x0, size 0x1000 int mThreadResult; // offset 0x1000, size 0x4 unsigned char mThreadActive; // offset 0x1004, size 0x1 struct OSThread mThread; // offset 0x1008, size 0x318 unsigned char mThreadWaiting; // offset 0x1320, size 0x1 unsigned short * mProfaneWord[1]; // offset 0x1324, size 0x4 unsigned short mProfaneChars[501]; // offset 0x1328, size 0x3EA char mProfaneResults[10]; // offset 0x1712, size 0xA int mProfaneBadNum; // offset 0x171C, size 0x4 int mProfaneWordCount; // offset 0x1720, size 0x4 class String mDNSResult; // offset 0x1724, size 0xC }; class RootObject { // total size: 0x1 }; class MutexPrimitive : public RootObject { // total size: 0x4 void * m_hMutex; // offset 0x0, size 0x4 }; class LockChecker : public RootObject { // total size: 0x10 unsigned char m_bLockRestrictionsInUse; // offset 0x0, size 0x1 unsigned int m_uiLockMask; // offset 0x4, size 0x4 unsigned int m_uiRecursionLevel; // offset 0x8, size 0x4 unsigned int m_uiMaximumLockRecursion; // offset 0xC, size 0x4 }; class CriticalSection : public RootObject { // total size: 0x14 class MutexPrimitive m_oMutex; // offset 0x0, size 0x4 class LockChecker m_oLockChecker; // offset 0x4, size 0x10 }; class RefCountedObject : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned short m_ui16RefCount; // offset 0x4, size 0x2 }; class String : public RootObject { // total size: 0x4 char * m_szContent; // offset 0x0, size 0x4 }; class Buffer : public RefCountedObject { // total size: 0x14 protected: unsigned char * m_pData; // offset 0x8, size 0x4 unsigned int m_uiContentSize; // offset 0xC, size 0x4 unsigned int m_uiBufSize; // offset 0x10, size 0x4 }; class Time : public RootObject { // total size: 0x8 unsigned long long m_ui64Value; // offset 0x0, size 0x8 }; class ByteStream : public RootObject { // total size: 0xC protected: unsigned char m_bErrorHasOccured; // offset 0x0, size 0x1 class Buffer * m_pBuffer; // offset 0x4, size 0x4 unsigned int m_uiPosition; // offset 0x8, size 0x4 }; class qResult { // total size: 0xC int m_iReturnCode; // offset 0x0, size 0x4 const char * m_cszFilename; // offset 0x4, size 0x4 int m_iLineNumber; // offset 0x8, size 0x4 }; union UserContextStorage { unsigned int m_uiValue; // offset 0x0, size 0x4 float m_dValue; // offset 0x0, size 0x4 unsigned char m_bValue; // offset 0x0, size 0x1 void * m_pPointer; // offset 0x0, size 0x4 }; class UserContext : public RootObject { // total size: 0x4 union UserContextStorage m_uContextStorage; // offset 0x0, size 0x4 }; enum Type { DO = 1, RVAuthentication = 2, RVSecure = 3, SandBoxMgmt = 4, NAT = 5, SessionDiscovery = 6, NATEcho = 7, Routing = 8, LastStreamType = 8, }; class PseudoGlobalVariableList : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class PseudoGlobalVariableRoot : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 protected: class PseudoGlobalVariableRoot * m_pNext; // offset 0x4, size 0x4 }; class PluginObject : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 protected: class Plugin * m_pPlugin; // offset 0x4, size 0x4 }; class qProtectedList { // total size: 0x0 }; class ProfilingUnit : public RootObject { // total size: 0x38 unsigned long long m_oTotalTime; // offset 0x0, size 0x8 unsigned long long m_oMinTime; // offset 0x8, size 0x8 unsigned long long m_oMaxTime; // offset 0x10, size 0x8 unsigned long long m_oLastTime; // offset 0x18, size 0x8 class Time m_tiStartTime; // offset 0x20, size 0x8 unsigned int m_uiNbOccurence; // offset 0x28, size 0x4 unsigned int m_uiLoggingFrequency; // offset 0x2C, size 0x4 class String m_strName; // offset 0x30, size 0x4 unsigned char m_bAutoLogEnabled; // offset 0x34, size 0x1 signed short m_i16LastTracePeriod; // offset 0x36, size 0x2 }; class CompressionAlgorithm : public PluginObject { // total size: 0x98 unsigned int m_uiUncompressedDataSize; // offset 0x8, size 0x4 unsigned int m_uiCompressedDataSize; // offset 0xC, size 0x4 class CriticalSection m_csCompression; // offset 0x10, size 0x14 class ProfilingUnit m_puCompression; // offset 0x28, size 0x38 class ProfilingUnit m_puDecompression; // offset 0x60, size 0x38 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x4 public: unsigned char * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: unsigned char * _M_start; // offset 0x0, size 0x4 unsigned char * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class qVector : public vector, public RootObject { // total size: 0xC }; class Key : public RefCountedObject { // total size: 0x14 class qVector m_vbyData; // offset 0x8, size 0xC }; class EncryptionAlgorithm : public PluginObject { // total size: 0x24 protected: class Key m_keyEncryption; // offset 0x8, size 0x14 unsigned int m_uiMinimumKeyLength; // offset 0x1C, size 0x4 unsigned int m_uiMaximumKeyLength; // offset 0x20, size 0x4 }; class StreamBundling : public RootObject { // total size: 0x18 public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned char m_bEnabled; // offset 0x4, size 0x1 int m_tiAutoFlushPeriod; // offset 0x8, size 0x4 class Time m_tLastFlushTime; // offset 0x10, size 0x8 }; class StreamSettings : public RootObject { // total size: 0x50 unsigned char m_byChecksumOffset; // offset 0x0, size 0x1 class CompressionAlgorithm * m_pCompressionAlgorithm; // offset 0x4, size 0x4 class EncryptionAlgorithm * m_pEncryptionAlgorithm; // offset 0x8, size 0x4 class StreamBundling m_oStreamBundling; // offset 0x10, size 0x18 unsigned int m_uiMaxRetransmission; // offset 0x28, size 0x4 unsigned int m_uiKeepAliveTimeout; // offset 0x2C, size 0x4 unsigned int m_uiMaxSilenceTime; // offset 0x30, size 0x4 unsigned int m_uiWindowSize; // offset 0x34, size 0x4 float m_rRetransmitTimeoutMultiplier; // offset 0x38, size 0x4 float m_rExtraRetransmitTimeoutMultiplier; // offset 0x3C, size 0x4 unsigned int m_uiExtraRetransmitTimeoutTrigger; // offset 0x40, size 0x4 unsigned int m_uiInitialRTT; // offset 0x44, size 0x4 unsigned int m_uiRTTRetransmit; // offset 0x48, size 0x4 unsigned char m_bBroadcastEverywhere; // offset 0x4C, size 0x1 unsigned char m_bActiveFaultDetection; // offset 0x4D, size 0x1 unsigned char m_bTraceEnable; // offset 0x4E, size 0x1 }; class PseudoGlobalVariable : public PseudoGlobalVariableRoot { // total size: 0xB0 class StreamSettings * m_pValueInContextList; // offset 0x8, size 0x4 class StreamSettings m_oValueInDefaultContext; // offset 0x10, size 0x50 class StreamSettings m_oDefaultValue; // offset 0x60, size 0x50 }; class Stream : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: enum Type m_oStreamType; // offset 0x4, size 0x4 }; class InetAddress : public RootObject { // total size: 0x80 unsigned int m_oAddressBytes[32]; // offset 0x0, size 0x80 }; enum _URLType { unknown = 0, prudp = 1, prudps = 2, udp = 3, }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct _Rb_tree_base_iterator { // total size: 0x4 struct _Rb_tree_node_base * _M_node; // offset 0x0, size 0x4 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; class StationURL : public RootObject { // total size: 0x58 class InetAddress * m_pAddr; // offset 0x0, size 0x4 enum _URLType m_urlType; // offset 0x4, size 0x4 class qMap m_IntMap; // offset 0x8, size 0x18 class qMap m_StrMap; // offset 0x20, size 0x18 class qMap m_UserMap; // offset 0x38, size 0x18 char * m_szURL; // offset 0x50, size 0x4 unsigned char m_bDataValid; // offset 0x54, size 0x1 unsigned char m_bStrValid; // offset 0x55, size 0x1 unsigned char m_bURLValid; // offset 0x56, size 0x1 }; class TransportEventHandler : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class Links { // total size: 0x8 public: class PerfCounter * m_pNext; // offset 0x0, size 0x4 class PerfCounter * m_pPrevious; // offset 0x4, size 0x4 }; class PerfCounter : public RootObject { // total size: 0x60 public: class Links m_oLinks; // offset 0x0, size 0x8 protected: class String m_strName; // offset 0x8, size 0x4 unsigned int m_uiCurrent[10]; // offset 0xC, size 0x28 unsigned int m_uiMin; // offset 0x34, size 0x4 unsigned int m_uiMax; // offset 0x38, size 0x4 unsigned int m_uiLast; // offset 0x3C, size 0x4 unsigned int m_uiTotal; // offset 0x40, size 0x4 class Time m_tLastTime; // offset 0x48, size 0x8 class Time m_tStarted; // offset 0x50, size 0x8 unsigned char m_bLogAlways; // offset 0x58, size 0x1 unsigned char m_bGlobalVariable; // offset 0x59, size 0x1 }; class TransportPerfCounter : public PerfCounter { // total size: 0x60 }; class TransportPerfCounters : public RootObject { // total size: 0x480 class TransportPerfCounter m_aPerfCounters[12]; // offset 0x0, size 0x480 }; class EmulationDevice : public RootObject { // total size: 0x1C public: void * __vptr$; // offset 0x0, size 0x4 protected: unsigned char m_bEnabled; // offset 0x4, size 0x1 unsigned int m_uiProtocolHeaderSize; // offset 0x8, size 0x4 unsigned int m_uiBandwidth; // offset 0xC, size 0x4 unsigned int m_uiLatency; // offset 0x10, size 0x4 unsigned int m_uiJitter; // offset 0x14, size 0x4 float m_rPacketDropProbability; // offset 0x18, size 0x4 }; class OutputEmulationDevice : public EmulationDevice { // total size: 0x1C }; class InputEmulationDevice : public EmulationDevice { // total size: 0x1C }; struct pair { // total size: 0x0 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x4 public: struct pair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct pair * _M_start; // offset 0x0, size 0x4 struct pair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class qVector : public vector, public RootObject { // total size: 0xC }; class qSortedVector : public RootObject { // total size: 0xC class qVector m_v; // offset 0x0, size 0xC }; class TransportStreamManager : public RootObject { // total size: 0x10 class qSortedVector m_mapVPort; // offset 0x0, size 0xC class RootTransport * m_pTransport; // offset 0xC, size 0x4 }; class VirtualNATDevice { // total size: 0x0 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class RootTransport : public RootObject { // total size: 0x4E8 public: void * __vptr$; // offset 0x0, size 0x4 protected: unsigned int m_uiMTU; // offset 0x4, size 0x4 unsigned int m_uiTimeSlice; // offset 0x8, size 0x4 unsigned char m_bUseUserThreadContext; // offset 0xC, size 0x1 class TransportPerfCounters m_oPerfCounters; // offset 0x10, size 0x480 class OutputEmulationDevice m_oOutputEmulationDevice; // offset 0x490, size 0x1C class InputEmulationDevice m_oInputEmulationDevice; // offset 0x4AC, size 0x1C class TransportStreamManager m_oTransportStreamManager; // offset 0x4C8, size 0x10 class VirtualNATDevice * m_pVNATDevice; // offset 0x4D8, size 0x4 unsigned short m_uiPreferredPortNumber; // offset 0x4DC, size 0x2 class qList m_lstPacketRecognizers; // offset 0x4E0, size 0x8 }; class ConnectionOrientedStream : public Stream { // total size: 0x14 protected: class TransportEventHandler * m_pEventHandler; // offset 0x8, size 0x4 class RootTransport * m_pUDPTransport; // offset 0xC, size 0x4 unsigned char m_idStream; // offset 0x10, size 0x1 }; class EndPointEventHandler : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class EndPoint : public RootObject { // total size: 0x74 public: void * __vptr$; // offset 0x0, size 0x4 protected: class ConnectionOrientedStream * m_pStream; // offset 0x4, size 0x4 class StationURL m_oStationURL; // offset 0x8, size 0x58 class EndPointEventHandler * m_pEventHandler; // offset 0x60, size 0x4 class UserContext m_oContext; // offset 0x64, size 0x4 unsigned int m_idConnection; // offset 0x68, size 0x4 unsigned int m_idPrincipal; // offset 0x6C, size 0x4 unsigned int m_uiOpenCount; // offset 0x70, size 0x4 }; class Message : public ByteStream { // total size: 0x30 class qResult m_rLastError; // offset 0xC, size 0xC class Time m_oIOTime; // offset 0x18, size 0x8 unsigned int m_pidSource; // offset 0x20, size 0x4 unsigned int m_cidSource; // offset 0x24, size 0x4 class UserContext m_oContext; // offset 0x28, size 0x4 class EndPoint * m_pSourceEndPoint; // offset 0x2C, size 0x4 }; class _DDL_Data : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class Data : public _DDL_Data { // total size: 0x4 }; class Holder { // total size: 0x4 class Data * m_ptr; // offset 0x0, size 0x4 }; class AnyObjectAdapter { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class AnyObjectHolder : public Holder { // total size: 0x8 public: void * __vptr$; // offset 0x4, size 0x4 }; class MessagingNotificationHandler : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class WiiMessagingNotificationHandler : public MessagingNotificationHandler { // total size: 0x8 public: unsigned char mInviteReceived; // offset 0x4, size 0x1 }; enum _State { Available = 0, CallInProgress = 1, CallSuccess = 2, CallFailure = 3, CallCancelled = 4, }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x4 public: class UserContext * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class UserContext * _M_start; // offset 0x0, size 0x4 class UserContext * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class qVector : public vector, public RootObject { // total size: 0xC }; class CallContext : public RefCountedObject { // total size: 0x48 protected: unsigned int m_uiFlags; // offset 0x8, size 0x4 private: enum _State m_eState; // offset 0xC, size 0x4 class qList m_lstCompletionCallback; // offset 0x10, size 0x8 class qVector m_vUserContext; // offset 0x18, size 0xC class qResult m_rCallOutcome; // offset 0x24, size 0xC unsigned int m_uiID; // offset 0x30, size 0x4 void * m_pDependentConnection; // offset 0x34, size 0x4 unsigned int m_idConnection; // offset 0x38, size 0x4 class CallbackRoot * m_pCancellationCallback; // offset 0x3C, size 0x4 class Time m_tDeadline; // offset 0x40, size 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x4 public: void * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: void * _M_start; // offset 0x0, size 0x4 void * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class qVector : public vector, public RootObject { // total size: 0xC }; class ProtocolCallContext : public CallContext { // total size: 0x60 class qVector m_vReturnValuePtr; // offset 0x48, size 0xC unsigned char * m_pbResult; // offset 0x54, size 0x4 class qResult * m_pqResult; // offset 0x58, size 0x4 }; class DateTime : public RootObject { // total size: 0x8 unsigned long long m_ui64Value; // offset 0x0, size 0x8 }; class _DDL_UserMessage : public Data { // total size: 0x30 public: unsigned int m_uiID; // offset 0x4, size 0x4 unsigned int m_idRecipient; // offset 0x8, size 0x4 unsigned int m_uiRecipientType; // offset 0xC, size 0x4 unsigned int m_uiParentID; // offset 0x10, size 0x4 unsigned int m_pidSender; // offset 0x14, size 0x4 class DateTime m_receptiontime; // offset 0x18, size 0x8 unsigned int m_uiLifeTime; // offset 0x20, size 0x4 unsigned int m_uiFlags; // offset 0x24, size 0x4 class String m_strSubject; // offset 0x28, size 0x4 class String m_strSender; // offset 0x2C, size 0x4 }; class _DDL_MessageRecipient : public RootObject { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 unsigned int m_idRecipient; // offset 0x4, size 0x4 unsigned int m_uiRecipientType; // offset 0x8, size 0x4 }; class UserMessage : public _DDL_UserMessage { // total size: 0x30 }; class _List_node : public _List_node_base { // total size: 0x38 public: class UserMessage _M_data; // offset 0x8, size 0x30 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class _List_node : public _List_node_base { // total size: 0x10 public: class AnyObjectHolder _M_data; // offset 0x8, size 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; enum FriendType { kAllFriends = 0, kOnlineFriends = 1, kPendingFriends = 2, }; struct Vec2 { // total size: 0x8 float x; // offset 0x0, size 0x4 float y; // offset 0x4, size 0x4 }; struct MEMAllocatorFunc { // total size: 0x8 void * (* pfAlloc)(struct MEMAllocator *, unsigned long); // offset 0x0, size 0x4 void (* pfFree)(struct MEMAllocator *, void *); // offset 0x4, size 0x4 }; struct MEMAllocator { // total size: 0x10 const struct MEMAllocatorFunc * pFunc; // offset 0x0, size 0x4 void * pHeap; // offset 0x4, size 0x4 unsigned long heapParam1; // offset 0x8, size 0x4 unsigned long heapParam2; // offset 0xC, size 0x4 }; struct HBMDataInfo { // total size: 0x40 void * layoutBuf; // offset 0x0, size 0x4 void * spkSeBuf; // offset 0x4, size 0x4 void * msgBuf; // offset 0x8, size 0x4 void * configBuf; // offset 0xC, size 0x4 void * mem; // offset 0x10, size 0x4 int (* sound_callback)(int, int); // offset 0x14, size 0x4 int backFlag; // offset 0x18, size 0x4 int region; // offset 0x1C, size 0x4 int cursor; // offset 0x20, size 0x4 int messageFlag; // offset 0x24, size 0x4 unsigned long configBufSize; // offset 0x28, size 0x4 unsigned long memSize; // offset 0x2C, size 0x4 float frameDelta; // offset 0x30, size 0x4 struct Vec2 adjust; // offset 0x34, size 0x8 struct MEMAllocator * pAllocator; // offset 0x3C, size 0x4 }; struct Vec { // total size: 0xC float x; // offset 0x0, size 0x4 float y; // offset 0x4, size 0x4 float z; // offset 0x8, size 0x4 }; struct /* @class$15292App_cpp */ { // total size: 0x1C struct Vec2 stick; // offset 0x0, size 0x8 struct Vec acc; // offset 0x8, size 0xC float acc_value; // offset 0x14, size 0x4 float acc_speed; // offset 0x18, size 0x4 }; struct /* @class$15293App_cpp */ { // total size: 0x24 unsigned long hold; // offset 0x0, size 0x4 unsigned long trig; // offset 0x4, size 0x4 unsigned long release; // offset 0x8, size 0x4 struct Vec2 lstick; // offset 0xC, size 0x8 struct Vec2 rstick; // offset 0x14, size 0x8 float ltrigger; // offset 0x1C, size 0x4 float rtrigger; // offset 0x20, size 0x4 }; union KPADEXStatus { struct /* @class$15292App_cpp */ { // total size: 0x1C struct Vec2 stick; // offset 0x0, size 0x8 struct Vec acc; // offset 0x8, size 0xC float acc_value; // offset 0x14, size 0x4 float acc_speed; // offset 0x18, size 0x4 } fs; // offset 0x0, size 0x1C struct /* @class$15293App_cpp */ { // total size: 0x24 unsigned long hold; // offset 0x0, size 0x4 unsigned long trig; // offset 0x4, size 0x4 unsigned long release; // offset 0x8, size 0x4 struct Vec2 lstick; // offset 0xC, size 0x8 struct Vec2 rstick; // offset 0x14, size 0x8 float ltrigger; // offset 0x1C, size 0x4 float rtrigger; // offset 0x20, size 0x4 } cl; // offset 0x0, size 0x24 }; struct KPADStatus { // total size: 0x84 unsigned long hold; // offset 0x0, size 0x4 unsigned long trig; // offset 0x4, size 0x4 unsigned long release; // offset 0x8, size 0x4 struct Vec acc; // offset 0xC, size 0xC float acc_value; // offset 0x18, size 0x4 float acc_speed; // offset 0x1C, size 0x4 struct Vec2 pos; // offset 0x20, size 0x8 struct Vec2 vec; // offset 0x28, size 0x8 float speed; // offset 0x30, size 0x4 struct Vec2 horizon; // offset 0x34, size 0x8 struct Vec2 hori_vec; // offset 0x3C, size 0x8 float hori_speed; // offset 0x44, size 0x4 float dist; // offset 0x48, size 0x4 float dist_vec; // offset 0x4C, size 0x4 float dist_speed; // offset 0x50, size 0x4 struct Vec2 acc_vertical; // offset 0x54, size 0x8 unsigned char dev_type; // offset 0x5C, size 0x1 signed char wpad_err; // offset 0x5D, size 0x1 signed char dpd_valid_fg; // offset 0x5E, size 0x1 unsigned char data_format; // offset 0x5F, size 0x1 union KPADEXStatus ex_status; // offset 0x60, size 0x24 }; struct HBMKPadData { // total size: 0x10 struct KPADStatus * kpad; // offset 0x0, size 0x4 struct Vec2 pos; // offset 0x4, size 0x8 unsigned long use_devtype; // offset 0xC, size 0x4 }; struct HBMControllerData { // total size: 0x40 struct HBMKPadData wiiCon[4]; // offset 0x0, size 0x40 }; enum _GXTexWrapMode { GX_CLAMP = 0, GX_REPEAT = 1, GX_MIRROR = 2, GX_MAX_TEXWRAPMODE = 3, }; enum _GXTexFilter { GX_NEAR = 0, GX_LINEAR = 1, GX_NEAR_MIP_NEAR = 2, GX_LIN_MIP_NEAR = 3, GX_NEAR_MIP_LIN = 4, GX_LIN_MIP_LIN = 5, }; struct TPLHeader { // total size: 0x24 unsigned short height; // offset 0x0, size 0x2 unsigned short width; // offset 0x2, size 0x2 unsigned long format; // offset 0x4, size 0x4 char * data; // offset 0x8, size 0x4 enum _GXTexWrapMode wrapS; // offset 0xC, size 0x4 enum _GXTexWrapMode wrapT; // offset 0x10, size 0x4 enum _GXTexFilter minFilter; // offset 0x14, size 0x4 enum _GXTexFilter magFilter; // offset 0x18, size 0x4 float LODBias; // offset 0x1C, size 0x4 unsigned char edgeLODEnable; // offset 0x20, size 0x1 unsigned char minLOD; // offset 0x21, size 0x1 unsigned char maxLOD; // offset 0x22, size 0x1 unsigned char unpacked; // offset 0x23, size 0x1 }; enum _GXTlutFmt { GX_TL_IA8 = 0, GX_TL_RGB565 = 1, GX_TL_RGB5A3 = 2, GX_MAX_TLUTFMT = 3, }; struct TPLClutHeader { // total size: 0xC unsigned short numEntries; // offset 0x0, size 0x2 unsigned char unpacked; // offset 0x2, size 0x1 unsigned char pad8; // offset 0x3, size 0x1 enum _GXTlutFmt format; // offset 0x4, size 0x4 char * data; // offset 0x8, size 0x4 }; struct TPLDescriptor { // total size: 0x8 struct TPLHeader * textureHeader; // offset 0x0, size 0x4 struct TPLClutHeader * CLUTHeader; // offset 0x4, size 0x4 }; struct TPLPalette { // total size: 0xC unsigned long versionNumber; // offset 0x0, size 0x4 unsigned long numDescriptors; // offset 0x4, size 0x4 struct TPLDescriptor * descriptorArray; // offset 0x8, size 0x4 }; class HomeMenu { // total size: 0x21C4 struct HBMDataInfo mHomeMenuInfo; // offset 0x0, size 0x40 struct HBMControllerData mControllerData; // offset 0x40, size 0x40 unsigned char mAllowHomeMenu; // offset 0x80, size 0x1 unsigned char mHomeMenuActive; // offset 0x81, size 0x1 unsigned char mSoundActive; // offset 0x82, size 0x1 unsigned char mInGame; // offset 0x83, size 0x1 unsigned char mForcedHomeMenu; // offset 0x84, size 0x1 int mHomeMenuLocked; // offset 0x88, size 0x4 int mCountdown; // offset 0x8C, size 0x4 unsigned char mBanIconActive; // offset 0x90, size 0x1 signed char mBanIconMode; // offset 0x91, size 0x1 unsigned long mBanIconTime; // offset 0x94, size 0x4 struct TPLPalette * mIconTpl; // offset 0x98, size 0x4 unsigned char mBanIconAlpha; // offset 0x9C, size 0x1 unsigned char * mSoundBuf; // offset 0xA0, size 0x4 unsigned char * mSoundData; // offset 0xA4, size 0x4 float mLastProjection[7]; // offset 0xA8, size 0x1C struct KPADStatus mHomeMenuPadStatus[4][16]; // offset 0xC4, size 0x2100 }; struct ECRating { // total size: 0x10 char * name; // offset 0x0, size 0x4 char * rating; // offset 0x4, size 0x4 long age; // offset 0x8, size 0x4 char * descriptors; // offset 0xC, size 0x4 }; struct ECMoney { // total size: 0x40 char amount[32]; // offset 0x0, size 0x20 char currency[32]; // offset 0x20, size 0x20 }; struct ESLpEntry { // total size: 0x8 unsigned long code; // offset 0x0, size 0x4 unsigned long limit; // offset 0x4, size 0x4 }; struct ECLicensePricing { // total size: 0x8C long itemId; // offset 0x0, size 0x4 struct ECMoney price; // offset 0x4, size 0x40 struct ESLpEntry limits[8]; // offset 0x44, size 0x40 unsigned long nLimits; // offset 0x84, size 0x4 unsigned long licenseType; // offset 0x88, size 0x4 }; struct ECNameValuePair { // total size: 0x8 char * name; // offset 0x0, size 0x4 char * value; // offset 0x4, size 0x4 }; struct ECContentCatalogInfo { // total size: 0x30 unsigned long long titleId; // offset 0x0, size 0x8 struct ECRating * ratings; // offset 0x8, size 0x4 unsigned long nRatings; // offset 0xC, size 0x4 struct ECLicensePricing * licensePricings; // offset 0x10, size 0x4 unsigned long nLicensePricings; // offset 0x14, size 0x4 struct ECNameValuePair * attributes; // offset 0x18, size 0x4 unsigned long nAttributes; // offset 0x1C, size 0x4 long isTitleIncluded; // offset 0x20, size 0x4 unsigned short * indexes; // offset 0x24, size 0x4 unsigned long nIndexes; // offset 0x28, size 0x4 }; struct ECContentInfo { // total size: 0x10 unsigned long flags; // offset 0x0, size 0x4 unsigned short index; // offset 0x4, size 0x2 unsigned short type; // offset 0x6, size 0x2 unsigned long long size; // offset 0x8, size 0x8 }; struct DVDDiskID { // total size: 0x20 char gameName[4]; // offset 0x0, size 0x4 char company[2]; // offset 0x4, size 0x2 unsigned char diskNumber; // offset 0x6, size 0x1 unsigned char gameVersion; // offset 0x7, size 0x1 unsigned char streaming; // offset 0x8, size 0x1 unsigned char streamingBufSize; // offset 0x9, size 0x1 unsigned char padding[14]; // offset 0xA, size 0xE unsigned long rvlMagic; // offset 0x18, size 0x4 unsigned long gcMagic; // offset 0x1C, size 0x4 }; struct DVDCommandBlock { // total size: 0x30 struct DVDCommandBlock * next; // offset 0x0, size 0x4 struct DVDCommandBlock * prev; // offset 0x4, size 0x4 unsigned long command; // offset 0x8, size 0x4 long state; // offset 0xC, size 0x4 unsigned long offset; // offset 0x10, size 0x4 unsigned long length; // offset 0x14, size 0x4 void * addr; // offset 0x18, size 0x4 unsigned long currTransferSize; // offset 0x1C, size 0x4 unsigned long transferredSize; // offset 0x20, size 0x4 struct DVDDiskID * id; // offset 0x24, size 0x4 void (* callback)(long, struct DVDCommandBlock *); // offset 0x28, size 0x4 void * userData; // offset 0x2C, size 0x4 }; struct DVDFileInfo { // total size: 0x3C struct DVDCommandBlock cb; // offset 0x0, size 0x30 unsigned long startAddr; // offset 0x30, size 0x4 unsigned long length; // offset 0x34, size 0x4 void (* callback)(long, struct DVDFileInfo *); // offset 0x38, size 0x4 }; class DiscErrorMgrWii { // total size: 0xC unsigned char mDiscError; // offset 0x0, size 0x1 unsigned char mRetryError; // offset 0x1, size 0x1 unsigned char mMovieReadError; // offset 0x2, size 0x1 unsigned char mActive; // offset 0x3, size 0x1 struct TPLPalette * mEjectErrorTpl; // offset 0x4, size 0x4 struct TPLPalette * mRetryErrorTpl; // offset 0x8, size 0x4 }; class PlatformMgr : public MsgSource { // total size: 0x21B0 int mSigninMask; // offset 0x1C, size 0x4 int mSigninChangeMask; // offset 0x20, size 0x4 int mSigninSameGuest; // offset 0x24, size 0x4 void * mListener; // offset 0x28, size 0x4 void * mFriendsEnum; // offset 0x2C, size 0x4 void * mFriendsBuffer; // offset 0x30, size 0x4 void * mFriendsAsync; // offset 0x34, size 0x4 class Object * mFriendsCallback; // offset 0x38, size 0x4 class vector * mFriendsList; // offset 0x3C, size 0x4 unsigned char mXboxGuideShowing; // offset 0x40, size 0x1 unsigned char mConfirmCancelSwapped; // offset 0x41, size 0x1 unsigned char mConnected; // offset 0x42, size 0x1 class UIPanel * mOverflowDialog; // offset 0x44, size 0x4 unsigned char mDisabling; // offset 0x48, size 0x1 unsigned char mJoypadOverflow; // offset 0x49, size 0x1 unsigned char mMediaInserted; // offset 0x4A, size 0x1 void * mSDBuffer; // offset 0x4C, size 0x4 unsigned char mAllowAddFriend; // offset 0x50, size 0x1 unsigned char mIsConnecting; // offset 0x51, size 0x1 int mLastNetResult; // offset 0x54, size 0x4 class WiiNetInit * mWiiNetInit; // offset 0x58, size 0x4 unsigned char mNetCapable; // offset 0x5C, size 0x1 class WiiMessagingNotificationHandler mMessagingHandler; // offset 0x60, size 0x8 unsigned char mMessagingEnum; // offset 0x68, size 0x1 class ProtocolCallContext * mMessagingContext; // offset 0x6C, size 0x4 class Object * mMessagingCallback; // offset 0x70, size 0x4 class vector * mMessagingList; // offset 0x74, size 0x4 class qList mUserMessages; // offset 0x78, size 0x8 class qList mMessages; // offset 0x80, size 0x8 class ProtocolCallContext * mFriendsContext; // offset 0x88, size 0x4 class qList mUserFriends; // offset 0x8C, size 0x8 enum FriendType mFriendTypeRequested; // offset 0x94, size 0x4 class ProtocolCallContext * mDummyContext; // offset 0x98, size 0x4 class HomeMenu * mHomeMenuWii; // offset 0x9C, size 0x4 unsigned char bCommerceOnline; // offset 0xA0, size 0x1 long mCommerceAsyncOpId; // offset 0xA4, size 0x4 char * mCommerceAsyncName; // offset 0xA8, size 0x4 class Timer mCommerceTimeout; // offset 0xB0, size 0x38 long opId; // offset 0xE8, size 0x4 unsigned long long mTitleId; // offset 0xF0, size 0x8 struct ECContentCatalogInfo * pContentSet; // offset 0xF8, size 0x4 long price; // offset 0xFC, size 0x4 char * attributes[6]; // offset 0x100, size 0x18 unsigned long attributesNum; // offset 0x118, size 0x4 unsigned long titleIdsNum; // offset 0x11C, size 0x4 struct ECContentCatalogInfo * contentSets; // offset 0x120, size 0x4 unsigned long contentSetsNum; // offset 0x124, size 0x4 struct ECContentInfo * contents; // offset 0x128, size 0x4 unsigned long size; // offset 0x12C, size 0x4 void * buf; // offset 0x130, size 0x4 unsigned long bufSize; // offset 0x134, size 0x4 unsigned long total; // offset 0x138, size 0x4 struct ECNameValuePair filters; // offset 0x13C, size 0x8 unsigned long filtersNum; // offset 0x144, size 0x4 char tempIndex[4]; // offset 0x148, size 0x4 int mCommercePercent; // offset 0x14C, size 0x4 unsigned char mCommerceSongsUpdated; // offset 0x150, size 0x1 int mCommerceLastErrorCode; // offset 0x154, size 0x4 unsigned char mCommerceActive; // offset 0x158, size 0x1 unsigned char mCommercePCActive; // offset 0x159, size 0x1 struct ECContentInfo mServerContents[512]; // offset 0x160, size 0x2000 unsigned long mNumContents; // offset 0x2160, size 0x4 unsigned char mFirstPoll; // offset 0x2164, size 0x1 class Object * mCommerceCallback; // offset 0x2168, size 0x4 class map * mContentList; // offset 0x216C, size 0x4 class DiscErrorMgrWii mDiscErrorMgr; // offset 0x2170, size 0xC unsigned char mNetworkPlay; // offset 0x217C, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct JoypadRepeat { // total size: 0x80 enum JoypadButton mLastBtn; // offset 0x0, size 0x4 enum JoypadAction mLastAction; // offset 0x4, size 0x4 int mLastPad; // offset 0x8, size 0x4 class Timer mHoldTimer; // offset 0x10, size 0x38 class Timer mRepeatTimer; // offset 0x48, size 0x38 }; class JoypadClient : public Object { // total size: 0x448 int mUser; // offset 0x28, size 0x4 class Object * mSink; // offset 0x2C, size 0x4 int mBtnMask; // offset 0x30, size 0x4 float mHoldMs; // offset 0x34, size 0x4 float mRepeatMs; // offset 0x38, size 0x4 struct JoypadRepeat mRepeats[8]; // offset 0x40, size 0x400 unsigned char mVirtualDpad; // offset 0x440, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class UISink : public virtual Object { // total size: 0x34 public: void * __vptr$; // offset 0x4, size 0x4 }; class UIManager : public Object { // total size: 0xE8 enum TransitionState mTransitionState; // offset 0x28, size 0x4 unsigned char mWentBack; // offset 0x2C, size 0x1 class list mPushedScreens; // offset 0x30, size 0x8 int mMaxPushDepth; // offset 0x38, size 0x4 class JoypadClient * mJoyClient; // offset 0x3C, size 0x4 class UIScreen * mCurrentScreen; // offset 0x40, size 0x4 class UIScreen * mTransitionScreen; // offset 0x44, size 0x4 class list mResources; // offset 0x48, size 0x8 class UISink * mSink; // offset 0x50, size 0x4 class RndCam * mCam; // offset 0x54, size 0x4 class RndEnviron * mEnv; // offset 0x58, size 0x4 class Timer mTimer; // offset 0x60, size 0x38 unsigned char mOverloadHorizontalNav; // offset 0x98, size 0x1 unsigned char mCancelTransitionNotify; // offset 0x99, size 0x1 class Timer mLoadTimer; // offset 0xA0, size 0x38 class RndOverlay * mOverlay; // offset 0xD8, size 0x4 unsigned char mRequireFixedText; // offset 0xDC, size 0x1 class Automator * mAutomator; // offset 0xE0, size 0x4 }; class InviteAcceptedMsg : public Message { // total size: 0x8 }; class ConnectionStatusChangedMsg : public Message { // total size: 0x8 }; class DiskErrorMsg : public Message { // total size: 0x8 }; class BandUI : public UISink, public MsgSource { // total size: 0x84 class DataArray * mEventType; // offset 0x24, size 0x4 unsigned char mInviteAccepted; // offset 0x28, size 0x1 unsigned char mHideEvent; // offset 0x29, size 0x1 unsigned char mHandleRemotePlayerLeft; // offset 0x2A, size 0x1 class Symbol mLastDisbandError; // offset 0x2C, size 0x4 class String mContentName; // offset 0x30, size 0xC class UIPanel * mFXPanel; // offset 0x3C, size 0x4 class UIPanel * mHelpbar; // offset 0x40, size 0x4 class UIPanel * mEventDialog; // offset 0x44, size 0x4 class UIPanel * mNetworkBusyPanel; // offset 0x48, size 0x4 class UIPanel * mContentLoadingPanel; // offset 0x4C, size 0x4 class UIPanel * mPassiveMessagesPanel; // offset 0x50, size 0x4 unsigned char mTransitionCompleteSwitch; // offset 0x54, size 0x1 unsigned char mEventDialogShowing; // offset 0x55, size 0x1 }; class _List_node : public _List_node_base { // total size: 0xC public: void (* _M_data)(); // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class Debug : public TextStream { // total size: 0xFC unsigned char mFailing; // offset 0x4, size 0x1 unsigned char mExiting; // offset 0x5, size 0x1 unsigned char mNoTry; // offset 0x6, size 0x1 unsigned char mNoModal; // offset 0x7, size 0x1 int mTry; // offset 0x8, size 0x4 class TextFileStream * mLog; // offset 0xC, size 0x4 unsigned char mAlwaysFlush; // offset 0x10, size 0x1 class TextStream * mReflect; // offset 0x14, size 0x4 void (* mModalCallback)(unsigned char &, char *, unsigned char); // offset 0x18, size 0x4 class list mFailCallbacks; // offset 0x1C, size 0x8 class list mExitCallbacks; // offset 0x24, size 0x8 unsigned int mFailThreadStack[50]; // offset 0x2C, size 0xC8 const char * mFailThreadMsg; // offset 0xF4, size 0x4 const char * mNotifyThreadMsg; // offset 0xF8, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class Loader * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class LoadMgr { // total size: 0x60 class list mLoaders; // offset 0x0, size 0x8 enum Platform mPlatform; // offset 0x8, size 0x4 unsigned char mCacheMode; // offset 0xC, size 0x1 unsigned char mEditMode; // offset 0xD, size 0x1 class list mFactories; // offset 0x10, size 0x8 float mPeriod; // offset 0x18, size 0x4 class list mLoading; // offset 0x1C, size 0x8 class Timer mTimer; // offset 0x28, size 0x38 }; enum /* @enum$38436App_cpp */ { kInactive = 0, kPlatformChecking = 1, kPlatformChecked = 2, kServerWait = 3, kServerTimeout = 4, kServerDone = 5, }; enum /* @enum$38437App_cpp */ { kNone = 0, kBandNameCheck = 1, kBandMottoCheck = 2, kCharNameCheck = 3, kUpdateChar = 4, kUpdateBand = 5, kProfileUpload = 6, }; class TourSavable : public virtual Object { // total size: 0x40 public: void * __vptr$; // offset 0x4, size 0x4 private: unsigned char mDirtySave; // offset 0x8, size 0x1 unsigned char mDirtyUpload; // offset 0x9, size 0x1 unsigned char mDirtyUploadSec; // offset 0xA, size 0x1 struct DateTime mLastUpload; // offset 0xB, size 0x6 unsigned char mNameUnchecked; // offset 0x11, size 0x1 unsigned char mMottoUnchecked; // offset 0x12, size 0x1 }; class EntityUploader : public Object { // total size: 0x48 protected: enum /* @enum$38436App_cpp */ { kInactive = 0, kPlatformChecking = 1, kPlatformChecked = 2, kServerWait = 3, kServerTimeout = 4, kServerDone = 5, } mState; // offset 0x28, size 0x4 enum /* @enum$38437App_cpp */ { kNone = 0, kBandNameCheck = 1, kBandMottoCheck = 2, kCharNameCheck = 3, kUpdateChar = 4, kUpdateBand = 5, kProfileUpload = 6, } mCallType; // offset 0x2C, size 0x4 class DataArray * mUploadOps; // offset 0x30, size 0x4 class DataArray * mEmptyArray; // offset 0x34, size 0x4 class Object * mCallbackObj; // offset 0x38, size 0x4 private: struct DateTime mSubmittedTime; // offset 0x3C, size 0x6 int mOpIdGenerator; // offset 0x44, size 0x4 }; enum /* @enum$12402App_cpp */ { kOffline = 0, kConnecting = 1, kOnline = 2, kDisconnecting = 3, kFailed = 4, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class Job { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: int mID; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class JobMgr { // total size: 0x10 class Object * mCallback; // offset 0x0, size 0x4 class list mJobQueue; // offset 0x4, size 0x8 unsigned char mPreventStart; // offset 0xC, size 0x1 }; class Updatable { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 protected: class ContextWrapper * mContextWrapper; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class BotbBattlesParticipatedInRow { // total size: 0x28 int mBattleID; // offset 0x0, size 0x4 class String mBattleName; // offset 0x4, size 0xC int mBandRank; // offset 0x10, size 0x4 unsigned char mBattleOpen; // offset 0x14, size 0x1 class String mArtFilename; // offset 0x18, size 0xC int mNumPostedScores; // offset 0x24, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class BotbBattlesParticipatedInList : public Updatable { // total size: 0x18 class list mBotbBattlesParticipatedInRowList; // offset 0x8, size 0x8 class RBBotbBattlesParticipatedInQList * mQList; // offset 0x10, size 0x4 unsigned char mUpdated; // offset 0x14, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class BotbNewsRow { // total size: 0x18 class String mNewsItem; // offset 0x0, size 0xC class String mArtFilename; // offset 0xC, size 0xC }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class BotbNewsList : public Updatable { // total size: 0x34 class list mBotbNewsRowList; // offset 0x8, size 0x8 class RBBotbNewsQList * mQList; // offset 0x10, size 0x4 class DateTime * mQDateTime; // offset 0x14, size 0x4 struct DateTime mDateTime; // offset 0x18, size 0x6 class String * mQCookies; // offset 0x20, size 0x4 class String mCookies; // offset 0x24, size 0xC unsigned char mUpdated; // offset 0x30, size 0x1 }; class BotbRecordBattleResponse { // total size: 0x4 class RBBotbRecordBattleResponse * mRecordBattleResponse; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class BotbBattleResultsRow { // total size: 0x34 class String mName; // offset 0x0, size 0xC int mScore; // offset 0xC, size 0x4 int mStars; // offset 0x10, size 0x4 int mOverallRank; // offset 0x14, size 0x4 class HxGuid mBandGuid; // offset 0x18, size 0x10 class String mLogoName; // offset 0x28, size 0xC }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class BotbBattleResultsList : public Updatable { // total size: 0x18 class list mBotbBattleResultsRowList; // offset 0x8, size 0x8 class RBBotbBattleResultsQList * mQList; // offset 0x10, size 0x4 unsigned char mUpdated; // offset 0x14, size 0x1 }; class BotbPlayBattleResponse { // total size: 0x14 class RBBotbPlayBattleResponse * mPlayBattleResponse; // offset 0x0, size 0x4 class OnlineID mOnlineID; // offset 0x4, size 0x10 }; class BotbBattleResultsByBandInfo { // total size: 0x4 class RBBotbBattleResultsByBandInfo * mBattleResultsByBandInfo; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class BotbOpenBattleRow { // total size: 0x44 int mBattleID; // offset 0x0, size 0x4 class String mShortName; // offset 0x4, size 0xC class String mTitle; // offset 0x10, size 0xC unsigned char mAlreadyPlayed; // offset 0x1C, size 0x1 class String mShowIn; // offset 0x20, size 0xC class String mVenue; // offset 0x2C, size 0xC class String mArtFilename; // offset 0x38, size 0xC }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class BotbOpenBattlesList : public Updatable { // total size: 0x18 class list mBotbOpenBattlesRowList; // offset 0x8, size 0x8 class RBBotbOpenBattlesQList * mQList; // offset 0x10, size 0x4 unsigned char mUpdated; // offset 0x14, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class BotbBattleSongInfo { // total size: 0x24 class String mShortName; // offset 0x0, size 0xC class String mFullName; // offset 0xC, size 0xC class String mArtist; // offset 0x18, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum WinMetric { kMetricScore = 0, kMetricStreak = 1, kMetricStars = 2, }; class BotbBattleDetails { // total size: 0xC class RBBotbBattleDetails * mBattleDetails; // offset 0x0, size 0x4 class list mSetList; // offset 0x4, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class PresenceResultRow { // total size: 0x20 class OnlineID mOnlineID; // offset 0x0, size 0x10 class String mName; // offset 0x10, size 0xC unsigned char mOnline; // offset 0x1C, size 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class PresenceResultList : public Updatable { // total size: 0x18 class list mPresenceResultRowList; // offset 0x8, size 0x8 class RBPresenceResultQList * mQList; // offset 0x10, size 0x4 unsigned char mUpdated; // offset 0x14, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; enum IDType { kInvalid = 0, kBandID = 1, kPlayerID = 2, }; class EntityID { // total size: 0x18 enum IDType mType; // offset 0x0, size 0x4 class HxGuid mGuid; // offset 0x4, size 0x10 unsigned int mPlayerID; // offset 0x14, size 0x4 }; class LeaderboardResultRow { // total size: 0x1C public: void * __vptr$; // offset 0x0, size 0x4 class EntityID mLeaderboardID; // offset 0x4, size 0x18 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class LeaderboardResultList { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 protected: class list mResultRowList; // offset 0x4, size 0x8 }; class BandResultList : public Updatable, public LeaderboardResultList { // total size: 0x1C class RBBandResultQList * mQList; // offset 0x14, size 0x4 unsigned char mUpdated; // offset 0x18, size 0x1 }; class PlayerResultList : public Updatable, public LeaderboardResultList { // total size: 0x1C class RBPlayerResultQList * mQList; // offset 0x14, size 0x4 unsigned char mUpdated; // offset 0x18, size 0x1 }; class ProfileChangedMsg : public Message { // total size: 0x8 }; class RockCentralGateway : public MsgSource { // total size: 0xC8 class ContextWrapperPool * mContextWrapperPool; // offset 0x1C, size 0x4 class ProtocolCallContext * mConfigContext; // offset 0x20, size 0x4 class String * mReceivedConfig; // offset 0x24, size 0x4 class String * mReceivedVersion; // offset 0x28, size 0x4 class RBEntitiesClient * mRBEntities; // offset 0x2C, size 0x4 class RBScoresClient * mRBScores; // offset 0x30, size 0x4 class RBLeaderboardsClient * mRBLeaderboards; // offset 0x34, size 0x4 class RBConfigClient * mRBConfig; // offset 0x38, size 0x4 class RBBotbClient * mRBBotb; // offset 0x3C, size 0x4 enum /* @enum$12402App_cpp */ { kOffline = 0, kConnecting = 1, kOnline = 2, kDisconnecting = 3, kFailed = 4, } mState; // offset 0x40, size 0x4 class Timer mTime; // offset 0x48, size 0x38 float mRetryTime; // offset 0x80, size 0x4 class BandProfileCache * mProfileCache; // offset 0x84, size 0x4 class JobMgr mJobMgr; // offset 0x88, size 0x10 unsigned char mLoginBlocked; // offset 0x98, size 0x1 }; class NetGameData { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class Net : public Object { // total size: 0x368 class NetGameData * mGameData; // offset 0x28, size 0x4 class NetSession * mSession; // offset 0x2C, size 0x4 class SessionSearcher * mSearcher; // offset 0x30, size 0x4 class Server * mServer; // offset 0x34, size 0x4 class NetworkEmulator * mEmulator; // offset 0x38, size 0x4 class GSMCodec * mCodec; // offset 0x3C, size 0x4 class SyncStore * mSyncStore; // offset 0x40, size 0x4 unsigned char * mThreadStack; // offset 0x44, size 0x4 int mThreadResult; // offset 0x48, size 0x4 unsigned char mThreadActive; // offset 0x4C, size 0x1 struct OSThread mThread; // offset 0x50, size 0x318 }; class FilePath : public String { // total size: 0xC }; class WiiDrawTarget { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; enum VITVMode { VI_TVMODE_NTSC_INT = 0, VI_TVMODE_NTSC_DS = 1, VI_TVMODE_NTSC_PROG = 2, VI_TVMODE_PAL_INT = 4, VI_TVMODE_PAL_DS = 5, VI_TVMODE_EURGB60_INT = 20, VI_TVMODE_EURGB60_DS = 21, VI_TVMODE_EURGB60_PROG = 22, VI_TVMODE_MPAL_INT = 8, VI_TVMODE_MPAL_DS = 9, VI_TVMODE_MPAL_PROG = 10, VI_TVMODE_DEBUG_INT = 12, VI_TVMODE_DEBUG_PAL_INT = 16, VI_TVMODE_DEBUG_PAL_DS = 17, }; enum VIXFBMode { VI_XFBMODE_SF = 0, VI_XFBMODE_DF = 1, }; struct _GXRenderModeObj { // total size: 0x3C enum VITVMode viTVmode; // offset 0x0, size 0x4 unsigned short fbWidth; // offset 0x4, size 0x2 unsigned short efbHeight; // offset 0x6, size 0x2 unsigned short xfbHeight; // offset 0x8, size 0x2 unsigned short viXOrigin; // offset 0xA, size 0x2 unsigned short viYOrigin; // offset 0xC, size 0x2 unsigned short viWidth; // offset 0xE, size 0x2 unsigned short viHeight; // offset 0x10, size 0x2 enum VIXFBMode xFBmode; // offset 0x14, size 0x4 unsigned char field_rendering; // offset 0x18, size 0x1 unsigned char aa; // offset 0x19, size 0x1 unsigned char sample_pattern[12][2]; // offset 0x1A, size 0x18 unsigned char vfilter[7]; // offset 0x32, size 0x7 }; struct GXFifoObj { // total size: 0x80 unsigned char pad[128]; // offset 0x0, size 0x80 }; struct OSFontHeader { // total size: 0x30 unsigned short fontType; // offset 0x0, size 0x2 unsigned short firstChar; // offset 0x2, size 0x2 unsigned short lastChar; // offset 0x4, size 0x2 unsigned short invalChar; // offset 0x6, size 0x2 unsigned short ascent; // offset 0x8, size 0x2 unsigned short descent; // offset 0xA, size 0x2 unsigned short width; // offset 0xC, size 0x2 unsigned short leading; // offset 0xE, size 0x2 unsigned short cellWidth; // offset 0x10, size 0x2 unsigned short cellHeight; // offset 0x12, size 0x2 unsigned long sheetSize; // offset 0x14, size 0x4 unsigned short sheetFormat; // offset 0x18, size 0x2 unsigned short sheetColumn; // offset 0x1A, size 0x2 unsigned short sheetRow; // offset 0x1C, size 0x2 unsigned short sheetWidth; // offset 0x1E, size 0x2 unsigned short sheetHeight; // offset 0x20, size 0x2 unsigned short widthTable; // offset 0x22, size 0x2 unsigned long sheetImage; // offset 0x24, size 0x4 unsigned long sheetFullSize; // offset 0x28, size 0x4 unsigned char c0; // offset 0x2C, size 0x1 unsigned char c1; // offset 0x2D, size 0x1 unsigned char c2; // offset 0x2E, size 0x1 unsigned char c3; // offset 0x2F, size 0x1 }; class WiiRnd : public Rnd, public WiiDrawTarget { // total size: 0x280 struct _GXRenderModeObj mMode; // offset 0x138, size 0x3C void * mFrameBuffer; // offset 0x174, size 0x4 unsigned char mFirstFrame; // offset 0x178, size 0x1 void * mFifo; // offset 0x17C, size 0x4 struct GXFifoObj * mFifoObj; // offset 0x180, size 0x4 float mScreenOrthoProjXfm[4][4]; // offset 0x184, size 0x40 float mWorldOrthoProjXfm[4][4]; // offset 0x1C4, size 0x40 float mIdentityXfm[3][4]; // offset 0x204, size 0x30 struct OSFontHeader * mFont; // offset 0x234, size 0x4 unsigned char mNewLighting; // offset 0x238, size 0x1 unsigned char mPostProcEnabled; // offset 0x239, size 0x1 class WiiSplitPostProc * mSplitPostProc; // offset 0x23C, size 0x4 void * mScreenshotWorkingBuffer; // offset 0x240, size 0x4 float mTmpProjection[7]; // offset 0x244, size 0x1C float mTmpViewport[6]; // offset 0x260, size 0x18 unsigned char mProgressiveScan; // offset 0x278, size 0x1 unsigned char mProgressiveFlag; // offset 0x279, size 0x1 unsigned char mMultiThread; // offset 0x27A, size 0x1 unsigned char mAllowQuazalPolling; // offset 0x27B, size 0x1 unsigned char mScreenDimmingEnabled; // offset 0x27C, size 0x1 unsigned char mScreenshotsActive; // offset 0x27D, size 0x1 unsigned char mDrawingWorld; // offset 0x27E, size 0x1 }; /* Compile unit: C:\rockband2\band2\src\band\BudgetScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000DC14 -> 0x8000DC44 */ // Range: 0x8000DC14 -> 0x8000DC44 class Object * BudgetScreen::NewObject() {} /* Compile unit: C:\rockband2\system\src\rndobj\Rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000DC44 -> 0x8000DCC4 */ // Range: 0x8000DC44 -> 0x8000DC68 void Rnd::SetClearColor() {} /* Compile unit: C:\rockband2\system\src\synth\Synth.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000DCC4 -> 0x8000DCC8 */ // Range: 0x8000DCC4 -> 0x8000DCC8 void Synth::SetDolby() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000DCC8 -> 0x8000DE94 */ // Range: 0x8000DCC8 -> 0x8000DD14 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8000DD14 -> 0x8000DD74 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8000DD74 -> 0x8000DDC0 char * MakeString(const char * fmt /* r0 */, class FilePath & t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8000DDC0 -> 0x8000DE34 char * MakeString(const char * fmt /* r0 */, float t1 /* f31 */, const char * t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8000DE34 -> 0x8000DE94 char * MakeString(const char * fmt /* r0 */, float t1 /* f31 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000DE94 -> 0x8000E3EC */ // Range: 0x8000DE94 -> 0x8000DFC8 class ObjDirPtr & ObjDirPtr::__as(class ObjDirPtr * const this /* r30 */, class ObjectDir * dir /* r31 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8000DFC8 -> 0x8000E138 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; } // Range: 0x8000E138 -> 0x8000E274 void * ObjDirPtr::~ObjDirPtr(class ObjDirPtr * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; } // Range: 0x8000E274 -> 0x8000E27C class Object * ObjDirPtr::RefOwner() {} // Range: 0x8000E27C -> 0x8000E3E4 void ObjDirPtr::Replace(class ObjDirPtr * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x8000E3E4 -> 0x8000E3EC unsigned char ObjDirPtr::IsDirPtr() {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000E3EC -> 0x8000E46C */ // Range: 0x8000E3EC -> 0x8000E46C void * DataNode::~DataNode(class DataNode * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\obj\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000E46C -> 0x8000E4EC */ // Range: 0x8000E46C -> 0x8000E4EC void * Message::~Message(class Message * const this /* r30 */) { // References // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000E4EC -> 0x8000E534 */ // Range: 0x8000E4EC -> 0x8000E4F4 unsigned char ObjRef::IsDirPtr() {} // Range: 0x8000E4F4 -> 0x8000E534 void * ObjRef::~ObjRef(class ObjRef * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\KeylessHash.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000E534 -> 0x8000E588 */ // Range: 0x8000E534 -> 0x8000E588 struct Entry * KeylessHash::FirstFrom() { // Local variables struct Entry * end; // r6 } /* Compile unit: C:\rockband2\band2\src\band\BandOffline.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8000E588 -> 0x8001019C */ class DataArray * types; // size: 0x4, address: 0x80A48E98 class Symbol name; // size: 0x4, address: 0x80A48EA0 class Symbol name; // size: 0x4, address: 0x80A48EA8 class BandOffline { // total size: 0x1 }; static class Symbol male; // size: 0x4, address: 0x80A48EB0 static class Symbol female; // size: 0x4, address: 0x80A48EB8 static class DataNode & glitch_venue; // size: 0x4, address: 0x80A48EC0 static class DataNode & glitch_song; // size: 0x4, address: 0x80A48EC8 enum FileType { kRead = 0, kWrite = 1, kReadNoArk = 2, kAppend = 3, }; class FileStream : public BinStream { // total size: 0x28 class File * mFile; // offset 0xC, size 0x4 class String mFilename; // offset 0x10, size 0xC unsigned char mFail; // offset 0x1C, size 0x1 class StreamChecksum * mChecksum; // offset 0x20, size 0x4 int mBytesChecksummed; // offset 0x24, size 0x4 }; class TextFileStream : public TextStream { // total size: 0x2C class FileStream mFile; // offset 0x4, size 0x28 }; // Range: 0x8000E588 -> 0x8000EBA8 class DataNode BandOffline::MakeGlitchReport() { // Local variables const char * log_file; // r30 class TextFileStream * temp_report; // r29 class Timer t; // r1+0x80 class GlitchReport * gr; // r28 const class DataArray * songs; // r27 int j; // r26 class DataArray * venues; // r25 int i; // r24 int frame; // r23 class TextFileStream real_report; // r1+0x50 float s; // f31 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class TaskMgr TheTaskMgr; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12GlitchReport; // -> class Symbol name; // -> static class DataNode & glitch_song; // -> static class DataNode & glitch_venue; // -> class ContentMgr & TheContentMgr; // -> static class Symbol female; // -> static class Symbol male; } enum /* @enum$36095BandOffline_cpp */ { kDone = 0, kDiscoveryEnumerating = 1, kDiscoveryMounting = 2, kDiscoveryLoading = 3, kDiscoveryCheckIfDone = 4, kMounting = 5, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; enum ContentLocT { kLocationRemovableMem = 0, kLocationHDD = 1, kLocationRoot = 2, }; class Callback { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; enum State { kUnmounted = 0, kNeedsMounting = 1, kMounting = 2, kUnmounting = 3, kMounted = 4, kAlwaysMounted = 5, kFailed = 6, }; class Content { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct CallbackFile { // total size: 0x20 class FilePath file; // offset 0x0, size 0xC class Callback * callback; // offset 0xC, size 0x4 enum ContentLocT location; // offset 0x10, size 0x4 class String name; // offset 0x14, size 0xC }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum CNTSDAction { CNTSD_PROGRESS_CONTINUE = 0, CNTSD_PROGRESS_CANCEL = 1, }; struct CNTSDProgressInfo { // total size: 0x10 unsigned long bytesProcessed; // offset 0x0, size 0x4 unsigned long bytesTotal; // offset 0x4, size 0x4 int done; // offset 0x8, size 0x4 enum CNTSDAction action; // offset 0xC, size 0x4 }; struct ARCHandle { // total size: 0x1C void * archiveStartAddr; // offset 0x0, size 0x4 void * FSTStart; // offset 0x4, size 0x4 void * fileStart; // offset 0x8, size 0x4 unsigned long entryNum; // offset 0xC, size 0x4 char * FSTStringStart; // offset 0x10, size 0x4 unsigned long FSTLength; // offset 0x14, size 0x4 unsigned long currDir; // offset 0x18, size 0x4 }; struct CNTHandleNAND { // total size: 0x24 struct ARCHandle ArcHandle; // offset 0x0, size 0x1C long FileDescriptor; // offset 0x1C, size 0x4 struct MEMAllocator * allocator; // offset 0x20, size 0x4 }; struct CNTFileInfoNAND { // total size: 0x10 struct CNTHandleNAND * CntHandle; // offset 0x0, size 0x4 unsigned long startOffset; // offset 0x4, size 0x4 unsigned long length; // offset 0x8, size 0x4 long readOffset; // offset 0xC, size 0x4 }; struct CNTFileInfoDVD { // total size: 0x40 struct DVDFileInfo fileInfo; // offset 0x0, size 0x3C long readOffset; // offset 0x3C, size 0x4 }; union /* @class$19181BandOffline_cpp */ { struct CNTFileInfoNAND nand; // offset 0x0, size 0x10 struct CNTFileInfoDVD dvd; // offset 0x0, size 0x40 }; struct CNTFileInfo { // total size: 0x44 union /* @class$19181BandOffline_cpp */ { struct CNTFileInfoNAND nand; // offset 0x0, size 0x10 struct CNTFileInfoDVD dvd; // offset 0x0, size 0x40 } as; // offset 0x0, size 0x40 unsigned char type; // offset 0x40, size 0x1 }; class ContentMgr : public Object { // total size: 0x6C protected: enum /* @enum$36095BandOffline_cpp */ { kDone = 0, kDiscoveryEnumerating = 1, kDiscoveryMounting = 2, kDiscoveryLoading = 3, kDiscoveryCheckIfDone = 4, kMounting = 5, } mState; // offset 0x28, size 0x4 class list mCallbacks; // offset 0x2C, size 0x8 class list mContents; // offset 0x34, size 0x8 class list mExtraContents; // offset 0x3C, size 0x8 unsigned char mDirty; // offset 0x44, size 0x1 class Loader * mLoader; // offset 0x48, size 0x4 class Callback * mCallback; // offset 0x4C, size 0x4 enum ContentLocT mLocation; // offset 0x50, size 0x4 class String mName; // offset 0x54, size 0xC int mRootLoaded; // offset 0x60, size 0x4 class list mCallbackFiles; // offset 0x64, size 0x8 }; struct Glitch { // total size: 0x34 float glitchMs; // offset 0x0, size 0x4 float frameMs; // offset 0x4, size 0x4 class String desc; // offset 0x8, size 0xC class SongPos songPos; // offset 0x14, size 0x14 class vector events; // offset 0x28, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Glitch * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Glitch * * _M_start; // offset 0x0, size 0x4 struct Glitch * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct GlitchEvent { // total size: 0x10 float avGlitchMs; // offset 0x0, size 0x4 class String eventName; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct GlitchEvent * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct GlitchEvent * _M_start; // offset 0x0, size 0x4 struct GlitchEvent * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class GlitchReport : public Object { // total size: 0xA8 protected: class vector mGlitches; // offset 0x28, size 0xC class String mDesc; // offset 0x34, size 0xC class vector mEvents; // offset 0x40, size 0xC class Timer mTimer; // offset 0x50, size 0x38 float mLastMs; // offset 0x88, size 0x4 unsigned char mRunning; // offset 0x8C, size 0x1 unsigned char mReporting; // offset 0x8D, size 0x1 int mNumGlitches; // offset 0x90, size 0x4 float mFrameMs; // offset 0x94, size 0x4 float mGlitchMs; // offset 0x98, size 0x4 class vector mGlitchEvents; // offset 0x9C, size 0xC }; static class Timer * _t; // size: 0x4, address: 0x80A48ECC // Range: 0x8000EBA8 -> 0x8000ECE8 void BandOffline::Poll() { // Local variables class AutoTimer _at; // r1+0xC // References // -> class CharCache * TheCharCache; // -> class Rnd & TheRnd; // -> class TaskMgr TheTaskMgr; // -> static class Timer * _t; // -> class UIManager TheUI; // -> class Net TheNet; // -> class PlatformMgr ThePlatformMgr; // -> class Synth * TheSynth; } static char prefixes[5]; // size: 0x5, address: 0x80847C60 // Range: 0x8000ECE8 -> 0x8000ED30 static int GetStatKeeperIndex() { // Local variables char c; // r0 // References // -> static char prefixes[5]; } static class Message is_active; // size: 0x8, address: 0x80976B30 static class Message is_done; // size: 0x8, address: 0x80976B48 static char * insts[4]; // size: 0x10, address: 0x8085D560 class vector : protected _Vector_base { // total size: 0xC }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CompositeCharacter * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8000ED30 -> 0x8000F8E0 class DataNode BandOffline::MakeCharClipBudget() { // Local variables class Object * cb; // r29 const class DataArray * songs; // r28 int tempos[3]; // r1+0x10C int i; // r27 class CharStatKeeper totals[4]; // r1+0x398 class CharStatKeeper maxes[4]; // r1+0x2D8 class CharStatKeeper normalMaxes[4]; // r1+0x218 class vector tempoSongs; // r1+0x100 float totalDuration; // f30 int tempo; // r26 int j; // r25 class Symbol song; // r1+0x64 class CharStatKeeper stats[4]; // r1+0x158 float duration; // r1+0x60 class Message msg; // r1+0xA8 class CompositeCharacter * dudes[4]; // r1+0xF0 int index; // r21 class ObjDirItr dude; // r1+0x118 int i; // r21 int i; // r21 class TextFileStream log; // r1+0x12C int numSongs; // r21 float invSongs; // f29 float avDuration; // f28 int i; // r23 int i; // r25 struct _Rb_tree_iterator it; // r1+0x5C int intensity; // r1+0x58 class vector vec; // r1+0xE4 struct _Rb_tree_iterator it; // r1+0x54 class String groupName; // r1+0xD8 class Message is_valid_group; // r1+0xA0 int j; // r20 class String group; // r1+0xCC // References // -> static char * insts[4]; // -> static class Message is_done; // -> class TaskMgr TheTaskMgr; // -> class WorldDir * TheWorld; // -> static class Message is_active; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> class SongMgr & TheSongMgr; // -> class ContentMgr & TheContentMgr; } class CharStatKeeper { // total size: 0x30 public: class map mIntensities; // offset 0x0, size 0x18 class map mGroups; // offset 0x18, size 0x18 }; // Range: 0x8000F8E0 -> 0x8000F964 void * CharStatKeeper::CharStatKeeper() {} struct pair { // total size: 0x8 int first; // offset 0x0, size 0x4 float second; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; struct pair { // total size: 0x10 class String first; // offset 0x0, size 0xC float second; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; // Range: 0x8000F964 -> 0x8000FA28 void * CharStatKeeper::~CharStatKeeper(class CharStatKeeper * const this /* r30 */) {} // Range: 0x8000FA34 -> 0x8000FC24 void CharStatKeeper::OnPoll(class CharStatKeeper * const this /* r30 */, int intensity /* r6 */, class String & groupName /* r31 */, float dt /* f31 */) {} class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8000FC24 -> 0x8000FE80 void CharStatKeeper::AddEq(class CharStatKeeper * const this /* r30 */, const class CharStatKeeper & c /* r31 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x5C struct _Rb_tree_iterator it; // r1+0x58 } // Range: 0x8000FE80 -> 0x800100E4 void CharStatKeeper::MaxEq(class CharStatKeeper * const this /* r30 */, const class CharStatKeeper & c /* r31 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x5C struct _Rb_tree_iterator it; // r1+0x58 } // Range: 0x800100E4 -> 0x8001019C void CharStatKeeper::ScaleEq(class CharStatKeeper * const this /* r31 */, float s /* f31 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x1C struct _Rb_tree_iterator it; // r1+0x18 } struct SortGroupPolls { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct pair { // total size: 0x10 class String first; // offset 0x0, size 0xC float second; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct pair * _M_start; // offset 0x0, size 0x4 struct pair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 float second; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct pair * _M_start; // offset 0x0, size 0x4 struct pair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct { // total size: 0x8 } __RTTI__12GlitchReport; // size: 0x8, address: 0x8085D6A0 struct { // total size: 0x8 } __RTTI__18CompositeCharacter; // size: 0x8, address: 0x8085D718 struct { // total size: 0x8 } __RTTI__9Character; // size: 0x8, address: 0x8085D780 struct { // total size: 0x8 } __RTTI__6RndDir; // size: 0x8, address: 0x8085D7E0 struct { // total size: 0x8 } __RTTI__9MsgSource; // size: 0x8, address: 0x8085D808 struct { // total size: 0x8 } __RTTI__11RndPollable; // size: 0x8, address: 0x8085D850 struct { // total size: 0x8 } __RTTI__16RndTransformable; // size: 0x8, address: 0x8085D888 struct { // total size: 0x8 } __RTTI__13RndAnimatable; // size: 0x8, address: 0x8085D8B8 struct { // total size: 0x8 } __RTTI__11RndDrawable; // size: 0x8, address: 0x8085D8E8 struct { // total size: 0x8 } __RTTI__16RndHighlightable; // size: 0x8, address: 0x8085D918 class _Rb_global { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std15pair<6String,f>; // size: 0x8, address: 0x8085DA10 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std15pair<6Symbol,f>; // size: 0x8, address: 0x8085DA40 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std42_Rb_tree_node>; // size: 0x8, address: 0x8085DA90 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std48_Rb_tree_node>; // size: 0x8, address: 0x8085DAE0 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Spotlight * mPtr; // offset 0x8, size 0x4 }; enum Shape { kConic = 0, kRect = 1, kSheet = 2, kQuadXYZ = 3, kQuadZ = 4, }; struct BeamDef { // total size: 0x6C class RndMesh * mBeam; // offset 0x0, size 0x4 unsigned char mIsCone; // offset 0x4, size 0x1 float mLength; // offset 0x8, size 0x4 float mTopRadius; // offset 0xC, size 0x4 float mRadius; // offset 0x10, size 0x4 float mTopSideBorder; // offset 0x14, size 0x4 float mBottomSideBorder; // offset 0x18, size 0x4 float mBottomBorder; // offset 0x1C, size 0x4 float mOffset; // offset 0x20, size 0x4 class Vector2 mTargetOffset; // offset 0x24, size 0x8 float mBrighten; // offset 0x2C, size 0x4 float mExpand; // offset 0x30, size 0x4 enum Shape mShape; // offset 0x34, size 0x4 int mNumSections; // offset 0x38, size 0x4 int mNumSegments; // offset 0x3C, size 0x4 class ObjPtr mXSection; // offset 0x40, size 0xC class ObjPtrList mCutouts; // offset 0x4C, size 0x14 class ObjPtr mMat; // offset 0x60, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMesh * mPtr; // offset 0x8, size 0x4 }; class Spotlight : public RndDrawable, public RndTransformable, public RndPollable { // total size: 0x390 protected: class ObjPtr mDiscMat; // offset 0x100, size 0xC class RndFlare * mFlare; // offset 0x10C, size 0x4 unsigned char mFlareEnabled; // offset 0x110, size 0x1 unsigned char mFlareIsBillboard; // offset 0x111, size 0x1 float mFlareOffset; // offset 0x114, size 0x4 float mSpotScale; // offset 0x118, size 0x4 float mSpotHeight; // offset 0x11C, size 0x4 class Transform mFloorSpotXfm; // offset 0x120, size 0x40 class Transform mLensXfm; // offset 0x160, size 0x40 class Color mColor; // offset 0x1A0, size 0x10 float mIntensity; // offset 0x1B0, size 0x4 class ObjOwnerPtr mColorOwner; // offset 0x1B4, size 0xC float mLensSize; // offset 0x1C0, size 0x4 float mLensOffset; // offset 0x1C4, size 0x4 class ObjPtr mLensMat; // offset 0x1C8, size 0xC struct BeamDef mBeam; // offset 0x1D4, size 0x6C class ObjPtrList mSlaves; // offset 0x240, size 0x14 class ObjPtr mLightCanMesh; // offset 0x254, size 0xC class Transform mLightCanXfm; // offset 0x260, size 0x40 float mLightCanOffset; // offset 0x2A0, size 0x4 class ObjPtr mTarget; // offset 0x2A4, size 0xC unsigned char mTargetExists; // offset 0x2B0, size 0x1 class ObjPtr mFloorSpotTarget; // offset 0x2B4, size 0xC float mLastFloorSpotHeight; // offset 0x2C0, size 0x4 class Symbol mTargetSubpart; // offset 0x2C4, size 0x4 unsigned char mCastShadow; // offset 0x2C8, size 0x1 unsigned char mLightCanSort; // offset 0x2C9, size 0x1 class Matrix3 mLastDirection; // offset 0x2D0, size 0x30 unsigned char mFirstFrame; // offset 0x300, size 0x1 float mDampingConstant; // offset 0x304, size 0x4 class ObjPtrList mAdditionalObjects; // offset 0x308, size 0x14 class Vector3 mLastTargetPosition; // offset 0x320, size 0x10 unsigned char mAnimateColorFromPreset; // offset 0x330, size 0x1 unsigned char mAnimatePosFromPreset; // offset 0x331, size 0x1 unsigned char mAnimatingFromPreset; // offset 0x332, size 0x1 class Quat mPresetOrient; // offset 0x340, size 0x10 float mAlpha; // offset 0x350, size 0x4 }; struct SpotlightEntry { // total size: 0x30 unsigned short mIntensity; // offset 0x0, size 0x2 unsigned int mColor; // offset 0x4, size 0x4 unsigned char mFlags; // offset 0x8, size 0x1 class ObjPtr mTarget; // offset 0xC, size 0xC class Symbol mTargetSubpart; // offset 0x18, size 0x4 class Quat mOrientation; // offset 0x20, size 0x10 }; struct _SpotlightEntryCompressedInternal { // total size: 0x20 unsigned short mIntensity; // offset 0x0, size 0x2 unsigned int mColor; // offset 0x4, size 0x4 unsigned char mFlags; // offset 0x8, size 0x1 class ObjPtr mTarget; // offset 0xC, size 0xC class Symbol mTargetSubpart; // offset 0x18, size 0x4 struct ByteQuat mOrientation; // offset 0x1C, size 0x4 }; class SpotlightEntryCompressed { // total size: 0x4 protected: struct _SpotlightEntryCompressedInternal * mData; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SpotlightEntryCompressed * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SpotlightEntryCompressed * _M_start; // offset 0x0, size 0x4 class SpotlightEntryCompressed * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; struct EnvironmentEntry { // total size: 0x30 class Color mAmbientColor; // offset 0x0, size 0x10 unsigned char mFogEnable; // offset 0x10, size 0x1 float mFogStart; // offset 0x14, size 0x4 float mFogEnd; // offset 0x18, size 0x4 class Color mFogColor; // offset 0x20, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EnvironmentEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EnvironmentEntry * _M_start; // offset 0x0, size 0x4 struct EnvironmentEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct EnvLightEntry { // total size: 0x30 class Quat mOrientation; // offset 0x0, size 0x10 class Vector3 mPosition; // offset 0x10, size 0x10 unsigned int mColor; // offset 0x20, size 0x4 float mRange; // offset 0x24, size 0x4 unsigned int mType; // offset 0x28, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EnvLightEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EnvLightEntry * _M_start; // offset 0x0, size 0x4 struct EnvLightEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct SpotlightDrawerEntry { // total size: 0xC float mTotal; // offset 0x0, size 0x4 float mBaseIntensity; // offset 0x4, size 0x4 float mSmokeIntensity; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SpotlightDrawerEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SpotlightDrawerEntry * _M_start; // offset 0x0, size 0x4 struct SpotlightDrawerEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct _Bit_iterator_base { // total size: 0x8 unsigned int * _M_p; // offset 0x0, size 0x4 unsigned int _M_offset; // offset 0x4, size 0x4 }; struct _Bit_reference { // total size: 0x8 unsigned int * _M_p; // offset 0x0, size 0x4 unsigned int _M_mask; // offset 0x4, size 0x4 }; struct _Bit_iter : public _Bit_iterator_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned int * _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _Bvector_base { // total size: 0x14 protected: struct _Bit_iter _M_start; // offset 0x0, size 0x8 struct _Bit_iter _M_finish; // offset 0x8, size 0x8 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x10, size 0x4 }; class vector : public _Bvector_base { // total size: 0x14 }; struct Keyframe { // total size: 0xA0 class String mDescription; // offset 0x0, size 0xC class ObjVector mSpotlightEntries; // offset 0xC, size 0x10 class vector mEnvironmentEntries; // offset 0x1C, size 0xC class vector mLightEntries; // offset 0x28, size 0xC class vector mSpotlightDrawerEntries; // offset 0x34, size 0xC class vector mSpotlightChanges; // offset 0x40, size 0x14 class vector mEnvironmentChanges; // offset 0x54, size 0x14 class vector mLightChanges; // offset 0x68, size 0x14 class vector mSpotlightDrawerChanges; // offset 0x7C, size 0x14 float mDuration; // offset 0x90, size 0x4 float mFadeOutTime; // offset 0x94, size 0x4 float mFrame; // offset 0x98, size 0x4 struct _SpotlightEntryCompressedInternal * storageSpace; // offset 0x9C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Keyframe * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Keyframe * _M_start; // offset 0x0, size 0x4 struct Keyframe * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Spotlight * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Spotlight * * _M_start; // offset 0x0, size 0x4 class Spotlight * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndEnviron * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndEnviron * * _M_start; // offset 0x0, size 0x4 class RndEnviron * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndLight * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndLight * * _M_start; // offset 0x0, size 0x4 class RndLight * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SpotlightDrawer * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SpotlightDrawer * * _M_start; // offset 0x0, size 0x4 class SpotlightDrawer * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndAnimatable * mPtr; // offset 0x8, size 0x4 }; struct Anim { // total size: 0x34 class ObjPtr mAnim; // offset 0x0, size 0xC float mBlend; // offset 0xC, size 0x4 unsigned char mWait; // offset 0x10, size 0x1 float mDelay; // offset 0x14, size 0x4 unsigned char mFilterEnable; // offset 0x18, size 0x1 enum Rate mFilterRate; // offset 0x1C, size 0x4 float mFilterStart; // offset 0x20, size 0x4 float mFilterEnd; // offset 0x24, size 0x4 float mFilterPeriod; // offset 0x28, size 0x4 float mFilterScale; // offset 0x2C, size 0x4 class Symbol mFilterType; // offset 0x30, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class ObjectDir * mPtr; // offset 0x8, size 0x4 }; struct ProxyCall { // total size: 0x1C class ObjPtr mProxy; // offset 0x0, size 0xC class Symbol mCall; // offset 0xC, size 0x4 class ObjPtr mEvent; // offset 0x10, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class SynthPollable { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 private: struct _List_iterator mItr; // offset 0x4, size 0x4 unsigned char mIsActive; // offset 0x8, size 0x1 }; class SeqInst : public Object { // total size: 0x40 protected: class Sequence * mOwner; // offset 0x28, size 0x4 float mRandVol; // offset 0x2C, size 0x4 float mRandPan; // offset 0x30, size 0x4 float mRandTp; // offset 0x34, size 0x4 float mVolume; // offset 0x38, size 0x4 private: unsigned char mStarted; // offset 0x3C, size 0x1 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class GroupSeq : public Sequence { // total size: 0x8C class ObjPtrList mChildren; // offset 0x78, size 0x14 }; class Sequence : public Object, public SynthPollable { // total size: 0x78 protected: class ObjPtrList mInsts; // offset 0x34, size 0x14 float mAvgVol; // offset 0x48, size 0x4 float mVolSpread; // offset 0x4C, size 0x4 float mAvgTranspose; // offset 0x50, size 0x4 float mTransposeSpread; // offset 0x54, size 0x4 float mAvgPan; // offset 0x58, size 0x4 float mPanSpread; // offset 0x5C, size 0x4 class FaderGroup mFaders; // offset 0x60, size 0x18 }; struct Node { // total size: 0xC class Sequence * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct HideDelay { // total size: 0x10 class ObjPtr mHide; // offset 0x0, size 0xC float mDelay; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; enum TriggerOrder { kTriggerRandom = 0, kTriggerSequence = 1, }; class EventTrigger : public Object { // total size: 0xB0 protected: class ObjList mAnims; // offset 0x28, size 0xC class ObjList mProxyCalls; // offset 0x34, size 0xC class ObjPtrList mSounds; // offset 0x40, size 0x14 class ObjPtrList mShows; // offset 0x54, size 0x14 class ObjList mHideDelays; // offset 0x68, size 0xC class list mTriggerEvents; // offset 0x74, size 0x8 class list mEnableEvents; // offset 0x7C, size 0x8 class list mDisableEvents; // offset 0x84, size 0x8 class list mWaitForEvents; // offset 0x8C, size 0x8 class ObjPtr mNextLink; // offset 0x94, size 0xC class Symbol mHandler; // offset 0xA0, size 0x4 unsigned char mEnabled; // offset 0xA4, size 0x1 unsigned char mWaiting; // offset 0xA5, size 0x1 enum TriggerOrder mTriggerOrder; // offset 0xA8, size 0x4 int mLastTriggerIndex; // offset 0xAC, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class EventTrigger * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SpotlightEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SpotlightEntry * _M_start; // offset 0x0, size 0x4 struct SpotlightEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class LightHue : public Object { // total size: 0x44 class FileLoader * mLoader; // offset 0x28, size 0x4 class FilePath mPath; // offset 0x2C, size 0xC class Keys mKeys; // offset 0x38, size 0xC }; struct LightPresetTarget { // total size: 0x24 class Character * mTarget; // offset 0x0, size 0x4 class Symbol mBaseAnim; // offset 0x4, size 0x4 float mBaseAmplitude; // offset 0x8, size 0x4 float mBaseSpeed; // offset 0xC, size 0x4 float mBasePhase; // offset 0x10, size 0x4 class Symbol mAddAnim; // offset 0x14, size 0x4 float mAddAmplitude; // offset 0x18, size 0x4 float mAddSpeed; // offset 0x1C, size 0x4 float mAddPhase; // offset 0x20, size 0x4 }; class LightPreset : public RndAnimatable { // total size: 0x134 protected: class ObjVector mKeyframes; // offset 0x10, size 0x10 class vector mSpotlights; // offset 0x20, size 0xC class vector mEnvironments; // offset 0x2C, size 0xC class vector mLights; // offset 0x38, size 0xC class vector mSpotlightDrawers; // offset 0x44, size 0xC unsigned char mLooping; // offset 0x50, size 0x1 class Symbol mCategory; // offset 0x54, size 0x4 enum Platform mPlatformOnly; // offset 0x58, size 0x4 class vector mAdjectives; // offset 0x5C, size 0xC int mMinExcitement; // offset 0x68, size 0x4 int mMaxExcitement; // offset 0x6C, size 0x4 class ObjPtr mTrigger; // offset 0x70, size 0xC float mFadeInTime; // offset 0x7C, size 0x4 unsigned char mManual; // offset 0x80, size 0x1 class ObjVector mSpotlightState; // offset 0x84, size 0x10 class vector mEnvironmentState; // offset 0x94, size 0xC class vector mLightState; // offset 0xA0, size 0xC class vector mSpotlightDrawerState; // offset 0xAC, size 0xC const struct Keyframe * mLastKeyframe; // offset 0xB8, size 0x4 float mLastBlend; // offset 0xBC, size 0x4 float mStartBeat; // offset 0xC0, size 0x4 float mManualFrameStart; // offset 0xC4, size 0x4 int mManualFrame; // offset 0xC8, size 0x4 int mLastManualFrame; // offset 0xCC, size 0x4 float mManualFadeTime; // offset 0xD0, size 0x4 float mCachedDuration; // offset 0xD4, size 0x4 unsigned char mLocked; // offset 0xD8, size 0x1 class LightHue * mHue; // offset 0xDC, size 0x4 struct _SpotlightEntryCompressedInternal * storageSpace; // offset 0xE0, size 0x4 class ObjPtr mBacklightEvent; // offset 0xE4, size 0xC struct LightPresetTarget * mTargets[6]; // offset 0xF0, size 0x18 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class LightPreset * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class LightHue * mPtr; // offset 0x8, size 0x4 }; struct PresetOverride { // total size: 0x18 class ObjPtr preset; // offset 0x0, size 0xC class ObjPtr hue; // offset 0xC, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct BitmapOverride { // total size: 0x18 class ObjPtr original; // offset 0x0, size 0xC class ObjPtr replacement; // offset 0xC, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct MatOverride { // total size: 0x24 class ObjPtr mesh; // offset 0x0, size 0xC class ObjPtr mat; // offset 0xC, size 0xC class ObjPtr origMat; // offset 0x18, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class ShotTarget { // total size: 0x10 protected: class ObjPtr mEntity; // offset 0x0, size 0xC class Symbol mPartName; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ShotTarget * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ShotTarget * _M_start; // offset 0x0, size 0x4 class ShotTarget * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CamShotFrame { // total size: 0x120 public: float mDuration; // offset 0x0, size 0x4 float mBlend; // offset 0x4, size 0x4 float mBlendEase; // offset 0x8, size 0x4 float mFrame; // offset 0xC, size 0x4 float mFieldOfView; // offset 0x10, size 0x4 float mZoomFOV; // offset 0x14, size 0x4 class Transform mWorldOffset; // offset 0x20, size 0x40 class Vector2 mScreenOffset; // offset 0x60, size 0x8 float mTargetNoiseFreq; // offset 0x68, size 0x4 float mTargetNoiseAmp; // offset 0x6C, size 0x4 class Vector2 mMaxAngularOffset; // offset 0x70, size 0x8 float mBlurDepth; // offset 0x78, size 0x4 float mMaxBlur; // offset 0x7C, size 0x4 float mMinBlur; // offset 0x80, size 0x4 float mFocusedFocalPlaneMultiplier; // offset 0x84, size 0x4 class ObjVector mTargets; // offset 0x88, size 0x10 class Vector3 mLastTargetPos; // offset 0xA0, size 0x10 class ShotTarget mParent; // offset 0xB0, size 0x10 class Transform mLastParentPos; // offset 0xC0, size 0x40 class ShotTarget mFocusTarget; // offset 0x100, size 0x10 unsigned char mUseParentRotation; // offset 0x110, size 0x1 class CamShot * mCamShot; // offset 0x114, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class CamShotFrame * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class CamShotFrame * _M_start; // offset 0x0, size 0x4 class CamShotFrame * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndTransAnim * mPtr; // offset 0x8, size 0x4 }; class RndTransAnim : public RndAnimatable { // total size: 0x80 protected: class ObjPtr mTrans; // offset 0x10, size 0xC unsigned char mTransSpline; // offset 0x1C, size 0x1 unsigned char mScaleSpline; // offset 0x1D, size 0x1 unsigned char mRotSlerp; // offset 0x1E, size 0x1 unsigned char mRotSpline; // offset 0x1F, size 0x1 class Keys mRotKeys; // offset 0x20, size 0xC class Keys mTransKeys; // offset 0x2C, size 0xC class Keys mScaleKeys; // offset 0x38, size 0xC class ObjOwnerPtr mKeysOwner; // offset 0x44, size 0xC unsigned char mRepeatTrans; // offset 0x50, size 0x1 unsigned char mFollowPath; // offset 0x51, size 0x1 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndTransAnim * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Character * mPtr; // offset 0x8, size 0x4 }; class CharDef { // total size: 0x18 public: class ObjPtr mChar; // offset 0x0, size 0xC float mHeight; // offset 0xC, size 0x4 float mDensity; // offset 0x10, size 0x4 float mRadius; // offset 0x14, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x50 public: class Transform _M_data; // offset 0x10, size 0x40 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class RndMultiMesh : public RndDrawable { // total size: 0x80 protected: class ObjPtr mMesh; // offset 0x34, size 0xC class list mTransforms; // offset 0x40, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct pair * _M_start; // offset 0x0, size 0x4 struct pair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct CharData { // total size: 0x3C class CharDef mDef; // offset 0x0, size 0x18 class RndMultiMesh * mMMesh; // offset 0x18, size 0x4 class list mBackup; // offset 0x1C, size 0x8 class vector m3DChars; // offset 0x24, size 0xC class vector m3DCharsCreated; // offset 0x30, size 0xC }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; enum CrowdRotate { kCrowdRotateNone = 0, kCrowdRotateFace = 1, kCrowdRotateAway = 2, }; struct pair { // total size: 0x8 int first; // offset 0x0, size 0x4 int second; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct pair * _M_start; // offset 0x0, size 0x4 struct pair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class WorldCrowd : public RndDrawable, public RndPollable { // total size: 0xD0 protected: class ObjPtr mPlacementMesh; // offset 0x3C, size 0xC class ObjList mChars; // offset 0x48, size 0xC int mNum; // offset 0x54, size 0x4 enum CrowdRotate mRotate; // offset 0x58, size 0x4 class Vector3 mCenter; // offset 0x60, size 0x10 unsigned char m3DOnly; // offset 0x70, size 0x1 float mCharFullness; // offset 0x74, size 0x4 float mFlatFullness; // offset 0x78, size 0x4 int mLod; // offset 0x7C, size 0x4 class ObjPtr mImposterEnviron; // offset 0x80, size 0xC int mModifyStamp; // offset 0x8C, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class WorldCrowd * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Spotlight * mPtr; // offset 0x8, size 0x4 }; class CamShot : public RndAnimatable { // total size: 0x1B0 protected: class ObjVector mKeyframes; // offset 0x10, size 0x10 unsigned char mLooping; // offset 0x20, size 0x1 int mLoopKeyframe; // offset 0x24, size 0x4 float mNear; // offset 0x28, size 0x4 float mFar; // offset 0x2C, size 0x4 unsigned char mDepthOfField; // offset 0x30, size 0x1 float mFilter; // offset 0x34, size 0x4 float mClampHeight; // offset 0x38, size 0x4 float mFadeTime; // offset 0x3C, size 0x4 class Symbol mCategory; // offset 0x40, size 0x4 float mWeight; // offset 0x44, size 0x4 class ObjPtr mPath; // offset 0x48, size 0xC float mPathEase; // offset 0x54, size 0x4 enum Platform mPlatformOnly; // offset 0x58, size 0x4 class ObjPtrList mHideList; // offset 0x5C, size 0x14 class ObjPtrList mShowList; // offset 0x70, size 0x14 class ObjPtrList mDrawOverrides; // offset 0x84, size 0x14 class ObjPtrList mPostProcOverrides; // offset 0x98, size 0x14 class ObjPtr mCrowd; // offset 0xAC, size 0xC enum CrowdRotate mCrowdRotate; // offset 0xB8, size 0x4 unsigned char mPS3PerPixel; // offset 0xBC, size 0x1 class vector mCrowdList; // offset 0xC0, size 0xC class ObjPtr mGlowSpot; // offset 0xCC, size 0xC int mFlags; // offset 0xD8, size 0x4 class ObjPtrList mEndHideList; // offset 0xDC, size 0x14 class ObjPtrList mEndShowList; // offset 0xF0, size 0x14 class Vector3 mLastShakeOffset; // offset 0x110, size 0x10 class Vector3 mLastShakeAngOffset; // offset 0x120, size 0x10 class Vector3 mLastDesiredShakeOffset; // offset 0x130, size 0x10 class Vector3 mLastDesiredShakeAngOffset; // offset 0x140, size 0x10 class Vector3 mShakeVelocity; // offset 0x150, size 0x10 class Vector3 mShakeAngVelocity; // offset 0x160, size 0x10 class CamShotFrame * mLastNext; // offset 0x170, size 0x4 class CamShotFrame * mLastPrev; // offset 0x174, size 0x4 float mCachedDuration; // offset 0x178, size 0x4 unsigned char mEnabled; // offset 0x17C, size 0x1 unsigned char mFirstFrame; // offset 0x17D, size 0x1 unsigned char mEnded; // offset 0x17E, size 0x1 unsigned char mHided; // offset 0x17F, size 0x1 unsigned char mTargetExists; // offset 0x180, size 0x1 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; struct hash { // total size: 0x1 }; struct equal_to : public binary_function { // total size: 0x1 }; struct unary_function { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct pair { // total size: 0xC class Symbol first; // offset 0x0, size 0x4 class list second; // offset 0x4, size 0x8 }; struct _Select1st : public unary_function { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; struct _Slist_node_base { // total size: 0x4 struct _Slist_node_base * _M_next; // offset 0x0, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct _Slist_node_base _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _Slist_base { // total size: 0x4 public: class _STLP_alloc_proxy _M_head; // offset 0x0, size 0x4 }; class slist : protected _Slist_base { // total size: 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct _Slist_node_base * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct _Slist_node_base * * _M_start; // offset 0x0, size 0x4 struct _Slist_node_base * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class hashtable { // total size: 0x1C struct hash _M_hash; // offset 0x0, size 0x1 struct equal_to _M_equals; // offset 0x1, size 0x1 struct _Select1st _M_get_key; // offset 0x2, size 0x1 class slist _M_elems; // offset 0x4, size 0x4 class vector _M_buckets; // offset 0x8, size 0xC unsigned long _M_num_elements; // offset 0x14, size 0x4 float _M_max_load_factor; // offset 0x18, size 0x4 }; class hash_map { // total size: 0x1C class hashtable _M_ht; // offset 0x0, size 0x1C }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CamShot * mPtr; // offset 0x8, size 0x4 }; class CameraManager { // total size: 0x44 public: void * __vptr$; // offset 0x0, size 0x4 private: class WorldDir * mParent; // offset 0x4, size 0x4 class hash_map mCameraShotCategories; // offset 0x8, size 0x1C class ObjPtr mNextShot; // offset 0x24, size 0xC class ObjPtr mCurrentCam; // offset 0x30, size 0xC float mCamStartTime; // offset 0x3C, size 0x4 class FreeCamera * mFreeCam; // offset 0x40, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class LightPreset * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class LightPreset * * _M_start; // offset 0x0, size 0x4 class LightPreset * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct unary_function { // total size: 0x1 }; struct pair { // total size: 0x10 class Symbol first; // offset 0x0, size 0x4 class vector second; // offset 0x4, size 0xC }; struct _Select1st : public unary_function { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct _Slist_node_base _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _Slist_base { // total size: 0x4 public: class _STLP_alloc_proxy _M_head; // offset 0x0, size 0x4 }; class slist : protected _Slist_base { // total size: 0x4 }; class hashtable { // total size: 0x1C struct hash _M_hash; // offset 0x0, size 0x1 struct equal_to _M_equals; // offset 0x1, size 0x1 struct _Select1st _M_get_key; // offset 0x2, size 0x1 class slist _M_elems; // offset 0x4, size 0x4 class vector _M_buckets; // offset 0x8, size 0xC unsigned long _M_num_elements; // offset 0x14, size 0x4 float _M_max_load_factor; // offset 0x18, size 0x4 }; class hash_map { // total size: 0x1C class hashtable _M_ht; // offset 0x0, size 0x1C }; struct pair { // total size: 0x8 class LightPreset * first; // offset 0x0, size 0x4 float second; // offset 0x4, size 0x4 }; struct _Deque_iterator_base { // total size: 0x10 struct pair * _M_cur; // offset 0x0, size 0x4 struct pair * _M_first; // offset 0x4, size 0x4 struct pair * _M_last; // offset 0x8, size 0x4 struct pair * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * * _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; class deque : protected _Deque_base { // total size: 0x28 }; class LightPresetManager { // total size: 0x90 public: void * __vptr$; // offset 0x0, size 0x4 protected: class vector mPool; // offset 0x4, size 0xC class LightPreset * * mPoolIter; // offset 0x10, size 0x4 class hash_map mPresets; // offset 0x14, size 0x1C class vector mCategories; // offset 0x30, size 0xC class vector mAdjectives; // offset 0x3C, size 0xC int mExcitement; // offset 0x48, size 0x4 class WorldDir * mParent; // offset 0x4C, size 0x4 class LightPreset * mCurrentPreset; // offset 0x50, size 0x4 class LightPreset * mOverridePreset; // offset 0x54, size 0x4 float mPresetStartTime; // offset 0x58, size 0x4 float mLastPresetStartTime; // offset 0x5C, size 0x4 class LightPreset * mLastPreset; // offset 0x60, size 0x4 class deque mScheduledPresets; // offset 0x64, size 0x28 unsigned char mLastFrameSame; // offset 0x8C, size 0x1 unsigned char mIgnoreLightingEvents; // offset 0x8D, size 0x1 }; class WorldDir : public PanelDir { // total size: 0x450 enum TaskUnits mBlurUnits; // offset 0x24C, size 0x4 float mBlurEndTime; // offset 0x250, size 0x4 float mBlurGrow; // offset 0x254, size 0x4 float mBlurRampOut; // offset 0x258, size 0x4 class Rect mBlurRect; // offset 0x25C, size 0x10 class RndMat * mBlurMat; // offset 0x26C, size 0x4 class RndTex * mBlurTex; // offset 0x270, size 0x4 float mBlurStartAlpha; // offset 0x274, size 0x4 float mBlurCurAlpha; // offset 0x278, size 0x4 class ObjList mPresetOverrides; // offset 0x27C, size 0xC class ObjList mBitmapOverrides; // offset 0x288, size 0xC class ObjList mMatOverrides; // offset 0x294, size 0xC class ObjPtrList mHideOverrides; // offset 0x2A0, size 0x14 class ObjPtrList mCamShotOverrides; // offset 0x2B4, size 0x14 class ObjPtrList mPS3PerPixelShows; // offset 0x2C8, size 0x14 class ObjPtrList mPS3PerPixelHides; // offset 0x2DC, size 0x14 class ObjPtrList mCrowds; // offset 0x2F0, size 0x14 class RndMat * mGlowMat; // offset 0x304, size 0x4 class FilePath mHudFilename; // offset 0x308, size 0xC class RndDir * mHudDir; // offset 0x314, size 0x4 unsigned char mShowHud; // offset 0x318, size 0x1 class CameraManager mCameraManager; // offset 0x31C, size 0x44 class LightPresetManager mPresetManager; // offset 0x360, size 0x90 unsigned char mEchoMsgs; // offset 0x3F0, size 0x1 float mDeltaSincePoll[4]; // offset 0x3F4, size 0x10 unsigned char mFirstPoll; // offset 0x404, size 0x1 float mLastRndTime; // offset 0x408, size 0x4 class RndDrawable * * mDrawItr; // offset 0x40C, size 0x4 class RndGroup * mCrowdGroup; // offset 0x410, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct pair * _M_start; // offset 0x0, size 0x4 struct pair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct SongRanking { // total size: 0x28 class Symbol mInstrument; // offset 0x0, size 0x4 class vector mAllSongs; // offset 0x4, size 0xC class vector mCoreSongs; // offset 0x10, size 0xC class vector mTierRanges; // offset 0x1C, size 0xC }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct Item { // total size: 0x8 class Symbol mName; // offset 0x0, size 0x4 int mLastPlayed; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Item * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Item * _M_start; // offset 0x0, size 0x4 struct Item * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Jukebox { // total size: 0x10 class vector mItems; // offset 0x0, size 0xC int mNumPlayed; // offset 0xC, size 0x4 }; class DataLoader : public Loader { // total size: 0x34 class DataArray * mData; // offset 0x14, size 0x4 class File * mFile; // offset 0x18, size 0x4 class String mFilename; // offset 0x1C, size 0xC int mBufLen; // offset 0x28, size 0x4 char * mBuffer; // offset 0x2C, size 0x4 unsigned char mDtb; // offset 0x30, size 0x1 }; enum SongType { kSongAll = 0, kSongCoreOnly = 1, }; enum MissingPartType { kMissingSelectCoop = 0, kMissingSelectH2H = 1, kMissingRankedH2H = 2, kMissingJukebox = 3, }; class BufStream : public BinStream { // total size: 0x24 char * mBuffer; // offset 0xC, size 0x4 unsigned char mFail; // offset 0x10, size 0x1 int mTell; // offset 0x14, size 0x4 int mSize; // offset 0x18, size 0x4 class StreamChecksum * mChecksum; // offset 0x1C, size 0x4 int mBytesChecksummed; // offset 0x20, size 0x4 }; class SongMgr : public Object, public Callback { // total size: 0x80 protected: class DataArray * mSongs; // offset 0x2C, size 0x4 class DataArray * mMissingSongData; // offset 0x30, size 0x4 class map mSongLookup; // offset 0x34, size 0x18 class list mSongRankings; // offset 0x4C, size 0x8 class vector mSharedSongs; // offset 0x54, size 0xC class vector mSharedUnlocked; // offset 0x60, size 0xC private: class Jukebox mSongJuke; // offset 0x6C, size 0x10 unsigned char mRandomSongDebug; // offset 0x7C, size 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\GlitchReport.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001019C -> 0x800103C0 */ // Range: 0x8001019C -> 0x80010210 void BandOffline::Init() {} // Range: 0x80010210 -> 0x80010390 class DataNode BandOffline::Validate() { // Local variables class DataArray * screens; // r29 int i; // r28 class FilePath path; // r1+0xC class File * f; // r27 // References // -> class Debug TheDebug; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x80010390 -> 0x800103C0 class Object * GlitchReport::NewObject() {} /* Compile unit: C:\rockband2\system\src\utl\Str.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800103C0 -> 0x800103C8 */ // Range: 0x800103C0 -> 0x800103C8 char * String::c_str() {} /* Compile unit: C:\rockband2\system\src\os\File.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800103C8 -> 0x80010408 */ // Range: 0x800103C8 -> 0x80010408 void * File::~File(class File * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010408 -> 0x80010468 */ // Range: 0x80010408 -> 0x80010410 int DataArray::Size() {} // Range: 0x80010410 -> 0x80010420 void * DataNode::DataNode() {} // Range: 0x80010420 -> 0x80010434 void * DataNode::DataNode() {} // Range: 0x80010434 -> 0x80010468 class Symbol DataArray::Sym(const class DataArray * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010468 -> 0x80010674 */ // Range: 0x80010468 -> 0x800104C8 char * MakeString(const char * fmt /* r0 */, class DataNode & t1 /* r30 */, class DataNode & t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800104C8 -> 0x8001053C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, int t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8001059C -> 0x800105F0 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x800105F0 -> 0x80010674 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r29 */, const char * t2 /* r30 */, class Symbol & t3 /* r31 */) { // Local variables class FormatString f; // r1+0x10 } /* Compile unit: C:\rockband2\system\src\os\ContentMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010674 -> 0x80010678 */ // Range: 0x80010674 -> 0x80010678 void ContentMgr::StartRefresh() {} /* Compile unit: C:\rockband2\system\src\ui\UI.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010678 -> 0x8001068C */ // Range: 0x80010678 -> 0x8001068C unsigned char UIManager::InTransition() {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001068C -> 0x80010B5C */ // Range: 0x8001068C -> 0x80010694 class ObjectDir * ObjectDir::Main() { // References // -> class ObjectDir * sMainDir; } // Range: 0x80010694 -> 0x80010850 void * ObjDirItr::ObjDirItr(class ObjDirItr * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x80010850 -> 0x800109C0 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800109C0 -> 0x800109C8 class CompositeCharacter * ObjDirItr::__opP18CompositeCharacter() {} // Range: 0x800109C8 -> 0x80010B5C class ObjDirItr & ObjDirItr::__pp(class ObjDirItr * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010B5C -> 0x80010DB8 */ // Range: 0x80010B5C -> 0x80010CDC void Object::SetType(class Object * const this /* r29 */, class Symbol & Object /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80010CDC -> 0x80010D20 class Symbol Object::ClassName() { // References // -> class Symbol name; } // Range: 0x80010D20 -> 0x80010D28 char * Object::Name() {} // Range: 0x80010D28 -> 0x80010DB8 class Object * Object::New() { // Local variables class Object * c; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010DB8 -> 0x80010E40 */ // Range: 0x80010DB8 -> 0x80010DBC void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x80010DBC -> 0x80010DFC void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} // Range: 0x80010DFC -> 0x80010E00 void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x80010E00 -> 0x80010E40 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010E40 -> 0x80010F24 */ // Range: 0x80010E40 -> 0x80010E4C void * _Rb_tree_iterator::_Rb_tree_iterator() {} // Range: 0x80010E4C -> 0x80010E58 void * _Rb_tree_iterator::_Rb_tree_iterator() {} // Range: 0x80010E58 -> 0x80010E64 struct pair & _Rb_tree_iterator::__ml() {} // Range: 0x80010E64 -> 0x80010E70 struct pair * _Rb_tree_iterator::__rf() {} // Range: 0x80010E70 -> 0x80010EA8 struct _Rb_tree_iterator & _Rb_tree_iterator::__pp(struct _Rb_tree_iterator * const this /* r31 */) {} // Range: 0x80010EA8 -> 0x80010EC4 unsigned char _Rb_tree_iterator::__ne() {} // Range: 0x80010EC4 -> 0x80010ED0 struct pair * _Rb_tree_iterator::__rf() {} // Range: 0x80010ED0 -> 0x80010F08 struct _Rb_tree_iterator & _Rb_tree_iterator::__pp(struct _Rb_tree_iterator * const this /* r31 */) {} // Range: 0x80010F08 -> 0x80010F24 unsigned char _Rb_tree_iterator::__ne() {} /* Compile unit: C:\rockband2\system\src\obj\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80010F24 -> 0x800110D4 */ // Range: 0x80010F24 -> 0x80011008 void * Message::Message(class Message * const this /* r29 */, class Symbol & type /* r30 */, const class DataNode & arg1 /* r31 */) { // References // -> struct [anonymous] __vt__7Message; } // Range: 0x80011008 -> 0x80011010 class DataArray * Message::__opP9DataArray() {} // Range: 0x80011010 -> 0x800110D4 void * Message::Message(class Message * const this /* r30 */, class Symbol & type /* r31 */) { // References // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\bandobj\CompositeCharacter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800110D4 -> 0x800110E4 */ // Range: 0x800110D4 -> 0x800110DC char * CompositeCharacter::GetGroupName() {} // Range: 0x800110DC -> 0x800110E4 int CompositeCharacter::GetPlayFlags() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_map.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800110E4 -> 0x800112FC */ // Range: 0x800110E4 -> 0x800111C4 float & map::__vc(class map * const this /* r8 */) { // Local variables struct _Rb_tree_iterator __i; // r1+0x1C } // Range: 0x800111C4 -> 0x800111CC struct _Rb_tree_iterator map::end() {} // Range: 0x800111CC -> 0x800112DC float & map::__vc(class map * const this /* r28 */, const class String & __k /* r29 */) { // Local variables struct _Rb_tree_iterator __i; // r1+0x1C } // Range: 0x800112DC -> 0x800112E4 struct _Rb_tree_iterator map::end() {} // Range: 0x800112E4 -> 0x800112F0 struct _Rb_tree_iterator map::begin() {} // Range: 0x800112F0 -> 0x800112FC struct _Rb_tree_iterator map::begin() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800112FC -> 0x80011A90 */ // Range: 0x800112FC -> 0x800113A0 void sort(struct pair * __first /* r29 */, struct pair * __last /* r30 */, struct SortGroupPolls & __comp /* r31 */) {} // Range: 0x800113A0 -> 0x80011440 void __final_insertion_sort(struct pair * __first /* r29 */, struct pair * __last /* r30 */, struct SortGroupPolls & __comp /* r31 */) {} // Range: 0x80011440 -> 0x800114CC void __unguarded_insertion_sort_aux(struct pair * __last /* r29 */, struct SortGroupPolls & __comp /* r30 */) { // Local variables struct pair * __i; // r31 } // Range: 0x800114CC -> 0x80011558 void __unguarded_linear_insert(struct pair * __last /* r29 */, struct pair & __val /* r30 */) { // Local variables struct pair * __next; // r31 } // Range: 0x80011558 -> 0x800115FC void __insertion_sort(struct pair * __first /* r28 */, struct pair * __last /* r29 */, struct SortGroupPolls & __comp /* r30 */) { // Local variables struct pair * __i; // r31 } // Range: 0x800115FC -> 0x800116F0 void __linear_insert(struct pair * __first /* r27 */, struct pair * __last /* r28 */, struct pair & __val /* r29 */, struct SortGroupPolls & __comp /* r30 */) {} // Range: 0x800116F0 -> 0x80011868 void __introsort_loop(struct pair * __first /* r28 */, struct pair * __last /* r29 */, long __depth_limit /* r30 */, struct SortGroupPolls & __comp /* r31 */) { // Local variables struct pair * __cut; // r27 } // Range: 0x80011868 -> 0x80011964 struct pair * __unguarded_partition(struct pair * __first /* r29 */, struct pair * __last /* r30 */, struct pair & __pivot /* r31 */) {} // Range: 0x80011964 -> 0x80011994 void partial_sort() {} // Range: 0x80011994 -> 0x80011A90 void __partial_sort(struct pair * __first /* r27 */, struct pair * __middle /* r28 */, struct pair * __last /* r29 */, struct SortGroupPolls & __comp /* r30 */) { // Local variables struct pair * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80011A90 -> 0x80011AC0 */ // Range: 0x80011A90 -> 0x80011AA8 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80011AA8 -> 0x80011AC0 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80011AC0 -> 0x80011DF4 */ // Range: 0x80011AC0 -> 0x80011B44 void pop_heap(struct pair * __first /* r30 */, struct pair * __last /* r31 */) {} // Range: 0x80011B44 -> 0x80011C68 void __adjust_heap(struct pair * __first /* r27 */, long __holeIndex /* r25 */, long __len /* r24 */, struct pair & __val /* r28 */, struct SortGroupPolls & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x80011C68 -> 0x80011D2C void __push_heap(struct pair * __first /* r26 */, long __topIndex /* r27 */, struct pair & __val /* r28 */) { // Local variables long __parent; // r29 } // Range: 0x80011D2C -> 0x80011DF4 void make_heap(struct pair * __first /* r28 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80011DF4 -> 0x80011E94 */ // Range: 0x80011DF4 -> 0x80011E94 void __pop_heap(struct pair * __first /* r27 */, struct pair * __last /* r28 */, struct pair * __result /* r29 */, struct pair & __val /* r30 */, struct SortGroupPolls & __comp /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_pair.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80011E94 -> 0x80011EEC */ // Range: 0x80011E94 -> 0x80011ED8 void * pair::pair(struct pair * const this /* r30 */, const struct pair & __p /* r31 */) {} // Range: 0x80011ED8 -> 0x80011EEC void * pair::pair() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80011EEC -> 0x80012278 */ // Range: 0x80011EEC -> 0x80011F00 void * vector::vector() {} // Range: 0x80011F00 -> 0x80011FBC void * vector::~vector(class vector * const this /* r30 */) {} // Range: 0x80011FBC -> 0x80012034 void vector::push_back() {} // Range: 0x80012034 -> 0x8001204C unsigned long vector::size() {} // Range: 0x8001204C -> 0x8001205C struct pair & vector::__vc() {} // Range: 0x8001205C -> 0x80012070 void * vector::vector() {} // Range: 0x80012070 -> 0x8001214C void * vector::~vector(class vector * const this /* r29 */) {} // Range: 0x800121A8 -> 0x80012240 void vector::push_back(class vector * const this /* r29 */, const struct pair & __x /* r30 */) {} // Range: 0x80012240 -> 0x80012248 struct pair * vector::begin() {} // Range: 0x80012248 -> 0x80012250 struct pair * vector::end() {} // Range: 0x80012250 -> 0x80012260 struct pair & vector::__vc() {} // Range: 0x80012260 -> 0x80012278 unsigned long vector::size() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80012278 -> 0x80013288 */ // Range: 0x80012278 -> 0x800122FC void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x800122FC -> 0x8001263C struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r31 */, struct _Rb_tree_iterator & __position /* r26 */, const struct pair & __val /* r27 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r28 } // Range: 0x8001263C -> 0x800126AC void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x800126AC -> 0x800129BC struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x800129BC -> 0x80012A14 struct _Rb_tree_node_base * _Rb_global::_M_increment() { // Local variables struct _Rb_tree_node_base * __y; // r4 } // Range: 0x80012A14 -> 0x80012A84 struct _Rb_tree_node_base * _Rb_global::_M_decrement() { // Local variables struct _Rb_tree_node_base * __y; // r4 } // Range: 0x80012A84 -> 0x80012C38 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r30 */, struct _Rb_tree_node_base * __parent /* r31 */, const struct pair & __val /* r26 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std48_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80012C38 -> 0x80012D60 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r28 */, const struct pair & __val /* r29 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 struct _Rb_tree_node_base * __x; // r30 unsigned char __comp; // r3 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x80012D60 -> 0x80012F14 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std42_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80012F14 -> 0x80013044 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x80013044 -> 0x800131C8 void _Rb_global::_Rebalance(struct _Rb_tree_node_base * __x /* r30 */, struct _Rb_tree_node_base * & __root /* r31 */) { // Local variables struct _Rb_tree_node_base * __y; // r4 } // Range: 0x800131C8 -> 0x80013228 void _Rb_global::_Rotate_left() { // Local variables struct _Rb_tree_node_base * __y; // r6 } // Range: 0x80013228 -> 0x80013288 void _Rb_global::_Rotate_right() { // Local variables struct _Rb_tree_node_base * __y; // r6 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80013288 -> 0x80013688 */ // Range: 0x80013288 -> 0x8001349C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct pair * __pos /* r26 */, const struct pair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct pair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std15pair<6String,f>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8001349C -> 0x80013688 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct pair * __pos /* r26 */, const struct pair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct pair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std15pair<6Symbol,f>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\band\BudgetScreen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80013688 -> 0x80015230 */ struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std13_List_node; // size: 0x8, address: 0x8085DB78 class DataArray * types; // size: 0x4, address: 0x80A48ED8 int gMainFree; // size: 0x4, address: 0x80A48EE0 // Range: 0x80013688 -> 0x8001370C void * Distribution::Distribution(class Distribution * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8001370C -> 0x80013810 void Distribution::Reset(class Distribution * const this /* r30 */) {} // Range: 0x80013810 -> 0x800139A8 void Distribution::Report(class Distribution * const this /* r27 */, class TextStream & log /* r28 */) { // Local variables float r; // f31 int acc; // r30 int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800139A8 -> 0x80013AF8 void Distribution::__ls(class Distribution * const this /* r31 */, float t /* f31 */) { // Local variables int i; // r29 } // Range: 0x80013AF8 -> 0x80013BE0 float Average(class vector & times /* r30 */, unsigned char discard_worst /* r31 */) { // Local variables int num; // r6 } struct _OKToMemCpy { // total size: 0x1 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80013BE0 -> 0x80013DD0 void * BudgetScreen::BudgetScreen(class BudgetScreen * const this /* r31 */) { // Local variables const char * logFile; // r29 class list tmp; // r1+0x30 int i; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class ContentMgr & TheContentMgr; // -> class SongMgr & TheSongMgr; // -> struct [anonymous] __vt__12BudgetScreen; } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80013E40 -> 0x80014250 void BudgetScreen::Enter(class BudgetScreen * const this /* r28 */, class UIScreen * from /* r29 */) { // Local variables class vector mNullCpuTimes; // r1+0x4C class vector mNullGsTimes; // r1+0x40 int i; // r29 class DataArray * initScript; // r4 // References // -> class SongDB * TheSongDB; // -> class Rnd & TheRnd; // -> class GamePanel * TheGamePanel; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class TaskMgr TheTaskMgr; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: float * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: float * _M_start; // offset 0x0, size 0x4 float * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x80014250 -> 0x800146EC void BudgetScreen::Poll(class BudgetScreen * const this /* r30 */) { // Local variables float tick; // f0 class Timer pollT; // r1+0x10 float cpu; // f31 float gs; // f30 float poll; // f0 // References // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; // -> int gMainFree; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Rnd & TheRnd; // -> class TaskMgr TheTaskMgr; // -> class SongDB * TheSongDB; // -> class GamePanel * TheGamePanel; } // Range: 0x800146EC -> 0x80014884 void BudgetScreen::EndTest(class BudgetScreen * const this /* r30 */) { // Local variables int main; // r29 // References // -> class UIManager TheUI; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; // -> int gMainFree; // -> class Debug TheDebug; // -> const char * kAssertStr; } enum NetState { kInLobby = 0, kJoining = 1, kLoading = 2, kInGame = 3, }; class SessionData { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: unsigned int * _M_start; // offset 0x0, size 0x4 unsigned int * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum JoinResponseError { kSuccess = 0, kNotHosting = 1, kBusy = 2, kNoRoom = 3, kWrongMode = 4, kTimeout = 5, kNoSelfJoin = 6, kAlreadyHosting = 7, kCannotConnect = 8, kCustom = 9, }; enum PacketType { kUnreliable = 0, kReliable = 1, }; class NetSession : public MsgSource { // total size: 0xD8 protected: enum NetState mState; // offset 0x1C, size 0x4 class SessionData * mData; // offset 0x20, size 0x4 class list mPlayerIDs; // offset 0x24, size 0x8 class Timer mTime; // offset 0x30, size 0x38 int mLocalHost; // offset 0x68, size 0x4 class SessionData * mJoinData; // offset 0x6C, size 0x4 unsigned char mWaitingForAddResponse; // offset 0x70, size 0x1 class SessionSettings * mSettings; // offset 0x74, size 0x4 class JobMgr mJobMgr; // offset 0x78, size 0x10 private: int mQuazalSessionJobID; // offset 0x88, size 0x4 float mJoinTimeout; // offset 0x8C, size 0x4 class Time * mGameStartTime; // offset 0x90, size 0x4 class vector mStillLoading; // offset 0x94, size 0xC int mJoinWaitTime; // offset 0xA0, size 0x4 int mGameStartDelay; // offset 0xA4, size 0x4 unsigned char mBusy; // offset 0xA8, size 0x1 }; class Synchronizable { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned int mDirtyMask; // offset 0x4, size 0x4 class vector mDirtyPlayers; // offset 0x8, size 0xC class String mTag; // offset 0x14, size 0xC }; class UserMgr : public Object { // total size: 0x28 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BandUser * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BandUser * * _M_start; // offset 0x0, size 0x4 class BandUser * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ListProvider { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; enum BandUserProviderState { kGameBUPS_LocalCharOwners = 0, kGameBUPS_LocalBandOwners = 1, kGameBUPS_Max = 2, }; class BandUserProvider : public ListProvider, public Object { // total size: 0x3C enum BandUserProviderState mState; // offset 0x2C, size 0x4 class vector mUsers; // offset 0x30, size 0xC }; class BandUserMgr : public UserMgr { // total size: 0x9C protected: class vector mUsers; // offset 0x28, size 0xC class vector mSlots; // offset 0x34, size 0xC private: class BandUserProvider mUserProvider; // offset 0x40, size 0x3C enum ControllerType mControllerTypeOverride[8]; // offset 0x7C, size 0x20 }; class MetaPerformer : public virtual Object, public Synchronizable { // total size: 0x6C protected: class vector mSongs; // offset 0x24, size 0xC class vector mStars; // offset 0x30, size 0xC const class SongMgr & mSongMgr; // offset 0x3C, size 0x4 }; class QuickplayPerformer : public MetaPerformer { // total size: 0x74 int mSongSelectUserNum; // offset 0x40, size 0x4 unsigned char mSongSelectSync; // offset 0x44, size 0x1 }; // Range: 0x80014884 -> 0x80014B9C void BudgetScreen::NextTest(class BudgetScreen * const this /* r26 */) { // Local variables class NetSession * session; // r28 const class DataArray * players; // r30 int i; // r27 int player_idx; // r26 class BandUser * user; // r26 enum ControllerType controller; // r0 class QuickplayPerformer * qp; // r26 // References // -> class GameConfig * TheGameConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__13MetaPerformer; // -> struct [anonymous] __RTTI__18QuickplayPerformer; // -> class BandUserMgr * TheBandUserMgr; // -> class Net TheNet; } // Range: 0x80014B9C -> 0x80014C24 int BudgetScreen::MainFree() { // Local variables int main; // r31 int heap; // r30 const char * heapName; // r0 int num; // r1+0x10 int bytes; // r1+0xC int largest; // r1+0x8 } static class Symbol _s; // size: 0x4, address: 0x80A48EE8 static class Symbol _s; // size: 0x4, address: 0x80A48EF0 class MessageTimer { // total size: 0x40 protected: class Timer mTimer; // offset 0x0, size 0x38 class Object * mObject; // offset 0x38, size 0x4 class Symbol mMessage; // offset 0x3C, size 0x4 }; // Range: 0x80014C24 -> 0x80015088 class DataNode BudgetScreen::Handle(class BudgetScreen * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A48EF8 // Range: 0x80015088 -> 0x80015230 unsigned char BudgetScreen::SyncProperty(class BudgetScreen * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__18QuickplayPerformer; // size: 0x8, address: 0x8085DDB0 struct { // total size: 0x8 } __RTTI__13MetaPerformer; // size: 0x8, address: 0x8085DDE8 struct { // total size: 0x8 } __RTTI__14Synchronizable; // size: 0x8, address: 0x8085DE28 struct { // total size: 0x80 } __vt__12BudgetScreen; // size: 0x80, address: 0x8085DE30 struct { // total size: 0x8 } __RTTI__12BudgetScreen; // size: 0x8, address: 0x8085DEE0 class ButtonDownMsg : public Message { // total size: 0x8 }; class _List_node : public _List_node_base { // total size: 0xC public: class UIPanel * _M_data; // offset 0x8, size 0x4 }; struct { // total size: 0x8 } __RTTI__Pf; // size: 0x8, address: 0x8085DF48 struct { // total size: 0x8 } __RTTI__Pi; // size: 0x8, address: 0x8085DF58 struct _OKToMemCpy { // total size: 0x1 }; struct PracticeSection { // total size: 0x18 class Symbol mName; // offset 0x0, size 0x4 int mStartTick; // offset 0x4, size 0x4 int mEndTick; // offset 0x8, size 0x4 float mStartMs; // offset 0xC, size 0x4 float mEndMs; // offset 0x10, size 0x4 unsigned char mEmpty; // offset 0x14, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct PracticeSection * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct PracticeSection * _M_start; // offset 0x0, size 0x4 struct PracticeSection * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PracticeSectionProvider : public ListProvider, public Object { // total size: 0x54 class vector mSections; // offset 0x2C, size 0xC struct PracticeSection mFullSong; // offset 0x38, size 0x18 int mStartSection; // offset 0x50, size 0x4 }; class Providers { // total size: 0x58 public: class PracticeSectionProvider practiceSectionProvider; // offset 0x0, size 0x54 private: class LeaderboardsMgr * mLeaderboards; // offset 0x54, size 0x4 }; class XMPStateChangedMsg : public Message { // total size: 0x8 }; enum GameControllerState { kGameControllerAll = 0, kGameControllerParticipating = 1, kGameControllerNotParticipating = 2, }; class GameConfig : public Object, public Synchronizable, public NetGameData { // total size: 0x80 class PlayerTrackConfigList * mPlayerTrackConfigList; // offset 0x4C, size 0x4 unsigned char mJoiningAllowed; // offset 0x50, size 0x1 int mNetRandomSeed; // offset 0x54, size 0x4 unsigned char mActiveRosterSet; // offset 0x58, size 0x1 class Providers * mProviders; // offset 0x5C, size 0x4 class Symbol mVenue; // offset 0x60, size 0x4 float mSongLimitMs; // offset 0x64, size 0x4 class Symbol mCoopIntroCategory; // offset 0x68, size 0x4 int mDisableAvailablePlayer; // offset 0x6C, size 0x4 int mPracticeSections[2]; // offset 0x70, size 0x8 int mPracticeSpeed; // offset 0x78, size 0x4 unsigned char mPracticeMode; // offset 0x7C, size 0x1 }; class ButtonUpMsg : public Message { // total size: 0x8 }; class JoypadReassignMsg : public Message { // total size: 0x8 }; enum BeatmatchPhraseType { kCommonPhrase = 0, kSoloPhrase = 1, kPlayerOneFocusPhrase = 2, kPlayerTwoFocusPhrase = 3, kNumPhraseTypes = 4, kNoPhrase = 4, }; class TempoMap { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class GameGem { // total size: 0x10 float mMs; // offset 0x0, size 0x4 int mTick; // offset 0x4, size 0x4 unsigned short mDurationMs; // offset 0x8, size 0x2 unsigned short mDurationTicks; // offset 0xA, size 0x2 unsigned char mSlots; // offset 0xC, size 0x1 unsigned char mNoStrum : 1; // offset 0xD, size 0x1 unsigned char mIgnoreDuration : 1; // offset 0xD, size 0x1 unsigned char mPlayableBy; // offset 0xE, size 0x1 }; class SongParserSink { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class InternalSongParserSink { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SongParserSink * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SongParserSink * * _M_start; // offset 0x0, size 0x4 class SongParserSink * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BeatMatcher * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BeatMatcher * * _M_start; // offset 0x0, size 0x4 class BeatMatcher * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct TrackInfo { // total size: 0x10 class Symbol mName; // offset 0x0, size 0x4 class TickedInfoCollection * mLyrics; // offset 0x4, size 0x4 class Symbol mInstrument; // offset 0x8, size 0x4 unsigned char mIndependentSlots; // offset 0xC, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TrackInfo * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TrackInfo * * _M_start; // offset 0x0, size 0x4 struct TrackInfo * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DrumFillInfo * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DrumFillInfo * * _M_start; // offset 0x0, size 0x4 class DrumFillInfo * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DrumMap * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DrumMap * * _M_start; // offset 0x0, size 0x4 class DrumMap * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GameGemDB * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GameGemDB * * _M_start; // offset 0x0, size 0x4 class GameGemDB * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PhraseDB * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PhraseDB * * _M_start; // offset 0x0, size 0x4 class PhraseDB * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GameGemInfoDB * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GameGemInfoDB * * _M_start; // offset 0x0, size 0x4 class GameGemInfoDB * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DrumMixDB * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DrumMixDB * * _M_start; // offset 0x0, size 0x4 class DrumMixDB * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct BeatInfo { // total size: 0x8 int mTick; // offset 0x0, size 0x4 int mLevel; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BeatInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BeatInfo * _M_start; // offset 0x0, size 0x4 struct BeatInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BeatMap { // total size: 0xC class vector mInfos; // offset 0x0, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: const char * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: const char * * _M_start; // offset 0x0, size 0x4 const char * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum SongDataValidate { kSongData_NoValidation = 0, kSongData_ValidateUsingNameOnly = 1, kSongData_Validate = 2, }; class SongData : public InternalSongParserSink { // total size: 0xB8 int mNumTracks; // offset 0x4, size 0x4 int mNumDifficulties; // offset 0x8, size 0x4 const class DataArray * mSongData; // offset 0xC, size 0x4 unsigned char mSeparateParts; // offset 0x10, size 0x1 int mSectionStartTick; // offset 0x14, size 0x4 int mSectionEndTick; // offset 0x18, size 0x4 unsigned char mFakeHitGemsInFill; // offset 0x1C, size 0x1 class vector mSinks; // offset 0x20, size 0xC class vector mBeatMatchers; // offset 0x2C, size 0xC class vector mTrackInfos; // offset 0x38, size 0xC class vector mTrackDifficulties; // offset 0x44, size 0xC class vector mFills; // offset 0x50, size 0xC class vector mDrumMaps; // offset 0x5C, size 0xC class vector mGemDBs; // offset 0x68, size 0xC class vector mPhraseDBs; // offset 0x74, size 0xC class vector mGemInfoDBs; // offset 0x80, size 0xC class vector mDrumMixDBs; // offset 0x8C, size 0xC class VocalNoteList * mVocalNotes; // offset 0x98, size 0x4 class TempoMap * mTempoMap; // offset 0x9C, size 0x4 class MeasureMap * mMeasureMap; // offset 0xA0, size 0x4 class BeatMap * mBeatMap; // offset 0xA4, size 0x4 float mLastGemTime; // offset 0xA8, size 0x4 class MemStream * mMemStream; // offset 0xAC, size 0x4 class SongParser * mSongParser; // offset 0xB0, size 0x4 class PlayerTrackConfigList * mPlayerTrackConfigList; // offset 0xB4, size 0x4 }; struct Extent { // total size: 0x8 int startTick; // offset 0x0, size 0x4 int endTick; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Extent * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Extent * _M_start; // offset 0x0, size 0x4 struct Extent * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct TrackData { // total size: 0x4C class Symbol mInstrument; // offset 0x0, size 0x4 class vector mSoloPhrases; // offset 0x4, size 0xC class vector mCommonPhrases; // offset 0x10, size 0xC class vector mGemSoloState; // offset 0x1C, size 0xC class vector mGemCommonState; // offset 0x28, size 0xC class vector mPhraseIDs; // offset 0x34, size 0xC class vector mPhraseIDToCommonPhraseNum; // offset 0x40, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TrackData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TrackData * _M_start; // offset 0x0, size 0x4 struct TrackData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct MBT { // total size: 0xC int measure; // offset 0x0, size 0x4 int beat; // offset 0x4, size 0x4 int tick; // offset 0x8, size 0x4 }; class SongDB : public SongParserSink { // total size: 0x34 class SongData * mSongData; // offset 0x4, size 0x4 class vector mTrackData; // offset 0x8, size 0xC float mSongDurationMs; // offset 0x14, size 0x4 int mCodaStartTick; // offset 0x18, size 0x4 class PhraseAnalyzer * mPhraseAnalyzer; // offset 0x1C, size 0x4 class MultiplayerAnalyzer * mMultiplayerAnalyzer; // offset 0x20, size 0x4 float mMultiplayerNormalizationFactor; // offset 0x24, size 0x4 class vector mPracticeSections; // offset 0x28, size 0xC }; struct PressRec { // total size: 0x18 int iUserNum; // offset 0x0, size 0x4 class User * iUser; // offset 0x4, size 0x4 enum JoypadButton iRawButton; // offset 0x8, size 0x4 enum JoypadAction iAction; // offset 0xC, size 0x4 float fPressTime; // offset 0x10, size 0x4 int iPadNum; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct PressRec * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct PressRec * _M_start; // offset 0x0, size 0x4 struct PressRec * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct StrActionRec { // total size: 0x14 enum JoypadAction mAction; // offset 0x0, size 0x4 float mHoldTime; // offset 0x4, size 0x4 class vector mPresses; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct StrActionRec * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct StrActionRec * _M_start; // offset 0x0, size 0x4 struct StrActionRec * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class HeldButtonPanel : public UIPanel { // total size: 0x68 class vector mActionRecs; // offset 0x30, size 0xC }; class BeatMasterSink { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Player * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Player * * _M_start; // offset 0x0, size 0x4 class Player * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum LoadState { kLoadingSong = 0, kWaitingForAudio = 1, kReady = 2, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Band * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Band * * _M_start; // offset 0x0, size 0x4 class Band * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum WaitState { kWaitNone = 0, kWaitStart = 1, kWaitJump = 2, kWaitRestart = 3, }; enum EndGameResult { kRestart = 0, kLost = 1, kWon = 2, kWonBand0 = 3, kWonBand1 = 4, kWonTie = 5, kWonFinale = 6, kQuit = 7, }; enum ExcitementLevel { kExcitementBoot = 0, kExcitementBad = 1, kExcitementOkay = 2, kExcitementGreat = 3, kExcitementPeak = 4, kNumExcitements = 5, }; class Game : public BeatMasterSink, public Object { // total size: 0xF0 unsigned char mBotbReset; // offset 0x2C, size 0x1 class SongPos mSongPos; // offset 0x30, size 0x14 class SongDB * mSongDB; // offset 0x44, size 0x4 class BeatMaster * mMaster; // offset 0x48, size 0x4 class vector mAllPlayers; // offset 0x4C, size 0xC class vector mAllActivePlayers; // offset 0x58, size 0xC class vector mAllLocalPlayers; // offset 0x64, size 0xC unsigned char mPaused; // offset 0x70, size 0x1 unsigned char mPauseTime; // offset 0x71, size 0x1 unsigned char mRealtime; // offset 0x72, size 0x1 unsigned char mRestartedYet; // offset 0x73, size 0x1 float mTimeOffset; // offset 0x74, size 0x4 class Timer mTime; // offset 0x78, size 0x38 float mStartTime; // offset 0xB0, size 0x4 float mMusicSpeed; // offset 0xB4, size 0x4 int mMaxDeltaPoints; // offset 0xB8, size 0x4 int mTieWindow; // offset 0xBC, size 0x4 unsigned char mNeverAllowInput; // offset 0xC0, size 0x1 unsigned char mGameDataIsPersistent; // offset 0xC1, size 0x1 enum LoadState mLoadState; // offset 0xC4, size 0x4 class vector mBands; // offset 0xC8, size 0xC class BonusAwards * mBonusAwards; // offset 0xD4, size 0x4 class Shuttle * mShuttle; // offset 0xD8, size 0x4 unsigned char mUseOldWait; // offset 0xDC, size 0x1 float mJumpWaitMs; // offset 0xE0, size 0x4 enum WaitState mWaitState; // offset 0xE4, size 0x4 unsigned char mHasVocalPlayer; // offset 0xE8, size 0x1 }; enum GameState { kGameNeedIntro = 0, kGameNeedStart = 1, kGamePlaying = 2, kGameOver = 3, }; struct PointsInfo { // total size: 0x8 int mHeadPoints; // offset 0x0, size 0x4 int mTailPoints; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct PointsInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct PointsInfo * _M_start; // offset 0x0, size 0x4 struct PointsInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct StreakItem { // total size: 0x8 int notes; // offset 0x0, size 0x4 float data; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct StreakItem * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct StreakItem * _M_start; // offset 0x0, size 0x4 struct StreakItem * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct StreakList { // total size: 0x10 class Symbol mType; // offset 0x0, size 0x4 class vector mItems; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct StreakList * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct StreakList * _M_start; // offset 0x0, size 0x4 struct StreakList * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct StarPowerConfig { // total size: 0x20 float rechargeRate; // offset 0x0, size 0x4 float starPhrase; // offset 0x4, size 0x4 float commonPhrase; // offset 0x8, size 0x4 float fillBoost; // offset 0xC, size 0x4 float whammyRate; // offset 0x10, size 0x4 float readyLevel; // offset 0x14, size 0x4 int multiplier; // offset 0x18, size 0x4 float crowdBoost; // offset 0x1C, size 0x4 }; enum HitType { kPoor = 0, kGood = 1, kPerfect = 2, kNumHitTypes = 3, }; class Scoring { // total size: 0x60 class vector mPointsInfos; // offset 0x0, size 0xC int mError[3]; // offset 0xC, size 0xC class vector mStreakMultLists; // offset 0x18, size 0xC class vector mStreakEnergyLists; // offset 0x24, size 0xC class DataArray * mPointsArray; // offset 0x30, size 0x4 class DataArray * mConfig; // offset 0x34, size 0x4 struct StarPowerConfig mStarPowerConfig; // offset 0x38, size 0x20 float mCommonPhraseReward; // offset 0x58, size 0x4 float mCommonPhrasePenalty; // offset 0x5C, size 0x4 }; class Profiler { // total size: 0x58 const char * mName; // offset 0x0, size 0x4 class Timer mTimer; // offset 0x8, size 0x38 float mMin; // offset 0x40, size 0x4 float mMax; // offset 0x44, size 0x4 float mSum; // offset 0x48, size 0x4 unsigned int mCount; // offset 0x4C, size 0x4 unsigned int mCountMax; // offset 0x50, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct Target { // total size: 0x110 class ObjOwnerPtr mTarget; // offset 0x0, size 0xC class Transform mTo; // offset 0x10, size 0x40 class Transform mFrom; // offset 0x50, size 0x40 class String mAnim; // offset 0x90, size 0xC unsigned char mReturn; // offset 0x9C, size 0x1 class Character * mTargetChar; // offset 0xA0, size 0x4 unsigned char mTeleport; // offset 0xA4, size 0x1 unsigned char mTeleportHold; // offset 0xA5, size 0x1 unsigned char mSelfShadow; // offset 0xA6, size 0x1 unsigned char mSpotCutout; // offset 0xA7, size 0x1 unsigned char mFloorShadow; // offset 0xA8, size 0x1 unsigned char mFreeze; // offset 0xA9, size 0x1 float mFreezeDelay; // offset 0xAC, size 0x4 unsigned char mFrozen; // offset 0xB0, size 0x1 float mFastForward; // offset 0xB4, size 0x4 class Symbol mForwardEvent; // offset 0xB8, size 0x4 class String mTargetIK; // offset 0xBC, size 0xC class ObjPtr mWorldIK; // offset 0xC8, size 0xC class ObjPtr mWorldProp; // offset 0xD4, size 0xC class String mTargetProp; // offset 0xE0, size 0xC class ObjPtr mEnvOverride; // offset 0xEC, size 0xC class ObjPtr mEnvCache; // offset 0xF8, size 0xC unsigned char mLODOverride; // offset 0x104, size 0x1 int mOutfitHides; // offset 0x108, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class TimedTrigger { // total size: 0x10 protected: float mFrame; // offset 0x0, size 0x4 class ObjPtr mTrigger; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TimedTrigger * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TimedTrigger * _M_start; // offset 0x0, size 0x4 class TimedTrigger * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class BandCamShot : public CamShot { // total size: 0x210 public: class ObjList mTargets; // offset 0x184, size 0xC class ObjVector mTriggers; // offset 0x190, size 0x10 int mCurTrigger; // offset 0x1A0, size 0x4 float mLastFrame; // offset 0x1A4, size 0x4 class ObjPtr mNextShot; // offset 0x1A8, size 0xC int mMinTime; // offset 0x1B4, size 0x4 int mMaxTime; // offset 0x1B8, size 0x4 class ObjPtr mEventAtStart; // offset 0x1BC, size 0xC class ObjPtr mEventAtEnd; // offset 0x1C8, size 0xC float mZeroTime; // offset 0x1D4, size 0x4 unsigned char mFPSOverride; // offset 0x1D8, size 0x1 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class BandCamShot * mPtr; // offset 0x8, size 0x4 }; class GamePanel : public HeldButtonPanel, public MsgSource { // total size: 0x230 class Game * mGame; // offset 0x58, size 0x4 class RndOverlay * mNowBar; // offset 0x5C, size 0x4 class RndOverlay * mLatency; // offset 0x60, size 0x4 class ObjDirPtr mBank; // offset 0x64, size 0xC unsigned char mStartPaused; // offset 0x70, size 0x1 enum GameState mState; // offset 0x74, size 0x4 unsigned char mMultiEvent; // offset 0x78, size 0x1 enum EndGameResult mResult; // offset 0x7C, size 0x4 class GameConfig mConfig; // offset 0x80, size 0x80 class Scoring mScoring; // offset 0x100, size 0x60 class Profiler mLoadProf; // offset 0x160, size 0x58 enum ExcitementLevel mExcitement; // offset 0x1B8, size 0x4 enum ExcitementLevel mLastExcitement; // offset 0x1BC, size 0x4 class CrowdAudio * mCrowdAudio; // offset 0x1C0, size 0x4 class ObjPtr mIntroShot; // offset 0x1C4, size 0xC unsigned char mAnyController; // offset 0x1D0, size 0x1 unsigned char mReplay; // offset 0x1D1, size 0x1 float mStartButtonDownTime[4]; // offset 0x1D4, size 0x10 class vector mJitter; // offset 0x1E4, size 0xC int mJitterIndex; // offset 0x1F0, size 0x4 int mJitterWindow; // offset 0x1F4, size 0x4 float mLastAverage; // offset 0x1F8, size 0x4 float mLastMs; // offset 0x1FC, size 0x4 unsigned char mDriveTime; // offset 0x200, size 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015230 -> 0x800152B0 */ // Range: 0x80015230 -> 0x80015270 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} // Range: 0x80015270 -> 0x800152B0 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800152B0 -> 0x800153B0 */ // Range: 0x800152B0 -> 0x80015330 void * vector::~vector(class vector * const this /* r30 */) {} // Range: 0x80015330 -> 0x800153B0 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800153B0 -> 0x80015648 */ // Range: 0x800153B0 -> 0x80015438 char * MakeString(const char * fmt /* r0 */, float t1 /* f29 */, float t2 /* f30 */, int t3 /* r31 */, float t4 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80015438 -> 0x800154A8 char * MakeString(float t1 /* f29 */, float t2 /* f30 */, float t3 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800154A8 -> 0x80015510 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, class Symbol & t2 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015648 -> 0x80015C34 */ // Range: 0x80015648 -> 0x800156F8 void sort(float * __first /* r29 */, float * __last /* r30 */) {} // Range: 0x800156F8 -> 0x80015798 void __final_insertion_sort(float * __first /* r29 */, float * __last /* r30 */, struct less & __comp /* r31 */) {} // Range: 0x80015798 -> 0x80015800 void __unguarded_insertion_sort_aux(float * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables float * __i; // r31 } // Range: 0x80015800 -> 0x80015834 void __unguarded_linear_insert() { // Local variables float * __next; // r4 } // Range: 0x80015834 -> 0x8001590C void __insertion_sort(float * __first /* r28 */, float * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables float * __i; // r31 } // Range: 0x8001590C -> 0x80015A5C void __introsort_loop(float * __first /* r28 */, float * __last /* r29 */, long __depth_limit /* r30 */, struct less & __comp /* r31 */) { // Local variables float * __cut; // r27 } // Range: 0x80015A5C -> 0x80015B1C float * __unguarded_partition(float * __first /* r30 */, float * __last /* r31 */, float __pivot /* f31 */) {} // Range: 0x80015B1C -> 0x80015B4C void partial_sort() {} // Range: 0x80015B4C -> 0x80015C34 void __partial_sort(float * __first /* r27 */, float * __middle /* r28 */, float * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables float * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015C34 -> 0x80015C7C */ // Range: 0x80015C34 -> 0x80015C4C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x80015C4C -> 0x80015C64 struct __true_type _OKToSwap::_Answer() {} // Range: 0x80015C64 -> 0x80015C7C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015C7C -> 0x80015C90 */ // Range: 0x80015C7C -> 0x80015C90 struct less __less() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015C90 -> 0x80015E50 */ // Range: 0x80015C90 -> 0x80015CE4 void pop_heap(float * __last /* r6 */) {} // Range: 0x80015CE4 -> 0x80015DB8 void __adjust_heap() { // Local variables long __topIndex; // r7 long __secondChild; // r8 } // Range: 0x80015DB8 -> 0x80015E50 void make_heap(float * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015E50 -> 0x80015EA8 */ // Range: 0x80015E50 -> 0x80015EA8 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\rndobj\Rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015EA8 -> 0x80015EB0 */ // Range: 0x80015EA8 -> 0x80015EB0 void Rnd::SetGSTiming() {} /* Compile unit: C:\rockband2\system\src\obj\MessageTimer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015EB0 -> 0x80015FAC */ // Range: 0x80015EB0 -> 0x80015FAC void * MessageTimer::~MessageTimer(class MessageTimer * const this /* r31 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015FAC -> 0x80015FCC */ // Range: 0x80015FAC -> 0x80015FB0 void Object::PostLoad() {} // Range: 0x80015FB0 -> 0x80015FC0 void Object::PreLoad() {} // Range: 0x80015FC0 -> 0x80015FC4 void Object::Export() {} // Range: 0x80015FC4 -> 0x80015FC8 class Object * Object::RefOwner() {} // Range: 0x80015FC8 -> 0x80015FCC void Object::Print() {} /* Compile unit: C:\rockband2\system\src\ui\Screen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015FCC -> 0x80015FD4 */ // Range: 0x80015FCC -> 0x80015FD4 class UIPanel * UIScreen::FocusPanel() {} /* Compile unit: C:\rockband2\band2\src\band\BudgetScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80015FD4 -> 0x8001619C */ // Range: 0x80015FD4 -> 0x80015FD8 void BudgetScreen::Draw() {} // Range: 0x80015FD8 -> 0x80016158 void BudgetScreen::SetType(class BudgetScreen * const this /* r29 */, class Symbol & BudgetScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80016158 -> 0x8001619C class Symbol BudgetScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001619C -> 0x8001625C */ // Range: 0x8001619C -> 0x800161FC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x800161FC -> 0x8001625C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001625C -> 0x800166EC */ // Range: 0x8001625C -> 0x80016394 void vector::_M_insert_overflow(class vector * const this /* r28 */, float * __pos /* r29 */, const float & __x /* r30 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r31 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r25 float * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pf; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80016394 -> 0x80016400 void vector::_M_fill_insert() {} // Range: 0x80016400 -> 0x80016538 void vector::_M_insert_overflow(class vector * const this /* r27 */, int * __pos /* r28 */, const int & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 int * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80016538 -> 0x800166EC void vector::_M_fill_insert_aux(class vector * const this /* r28 */, int * __pos /* r29 */, unsigned long __n /* r25 */, const int & __x /* r30 */) { // Local variables int __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\band2\src\band\ChecksumData.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800166EC -> 0x800166FC */ struct FileChecksum { // total size: 0x18 const char * file; // offset 0x0, size 0x4 unsigned char checksum[20]; // offset 0x4, size 0x14 }; static struct FileChecksum gFileChecksums[914]; // size: 0x55B0, address: 0x808682A0 // Range: 0x800166EC -> 0x800166FC void SetFileChecksumData() { // References // -> static struct FileChecksum gFileChecksums[914]; } /* Compile unit: C:\rockband2\band2\src\band\Main.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800166FC -> 0x80016748 */ // Range: 0x800166FC -> 0x80016748 int main(int argc /* r0 */) { // Local variables class App app; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\bandtrack\Gem.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80016748 -> 0x800174E0 */ class TrackWidget : public RndDrawable, public RndPollable { // total size: 0xB0 class ObjPtrList mMeshes; // offset 0x3C, size 0x14 class ObjPtr mEnv; // offset 0x50, size 0xC float mBaseLength; // offset 0x5C, size 0x4 unsigned char mUseMulti; // offset 0x60, size 0x1 unsigned char mAllowRotation; // offset 0x61, size 0x1 int mMaxMeshes; // offset 0x64, size 0x4 class TrackDir * mTrackDir; // offset 0x68, size 0x4 class TrackWidgetImp * mImp; // offset 0x6C, size 0x4 }; struct SlotPosition { // total size: 0x8 float x; // offset 0x0, size 0x4 float z; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SlotPosition * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SlotPosition * _M_start; // offset 0x0, size 0x4 struct SlotPosition * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TrackDir : public PanelDir { // total size: 0x2C0 unsigned char mRunning; // offset 0x249, size 0x1 class ObjPtr mDrawGroup; // offset 0x24C, size 0xC class ObjPtr mAnimGroup; // offset 0x258, size 0xC float mYPerSecond; // offset 0x264, size 0x4 float mTopY; // offset 0x268, size 0x4 float mBottomY; // offset 0x26C, size 0x4 class vector mSlots; // offset 0x270, size 0xC unsigned char mWarnOnResort; // offset 0x27C, size 0x1 class TrackTest * mTest; // offset 0x280, size 0x4 }; class TrackConfig { // total size: 0x2C int kPlayer; // offset 0x0, size 0x4 class Symbol kType; // offset 0x4, size 0x4 unsigned char kDualPerspective; // offset 0x8, size 0x1 int mTrackNum; // offset 0xC, size 0x4 int mNumSlots; // offset 0x10, size 0x4 class Symbol mName; // offset 0x14, size 0x4 unsigned char mLefty; // offset 0x18, size 0x1 int mGemTrackCount; // offset 0x1C, size 0x4 class vector mSlotSpacing; // offset 0x20, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Gem * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Gem * _M_start; // offset 0x0, size 0x4 class Gem * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct HitGem { // total size: 0x8 float startTime; // offset 0x0, size 0x4 int gem_id; // offset 0x4, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndMesh * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndMesh * * _M_start; // offset 0x0, size 0x4 class RndMesh * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndGroup * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndGroup * * _M_start; // offset 0x0, size 0x4 class RndGroup * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct GemRepTemplate { // total size: 0xB4 class vector mTails; // offset 0x0, size 0xC class ObjectDir * objectDir; // offset 0xC, size 0x4 class vector gemGroups; // offset 0x10, size 0xC class RndMat * slotMats[2][5]; // offset 0x1C, size 0x28 class RndMat * tailMiss; // offset 0x44, size 0x4 class RndMat * tailStar; // offset 0x48, size 0x4 class RndMat * tailBonus; // offset 0x4C, size 0x4 class RndMat * tailGlowStar; // offset 0x50, size 0x4 class RndMat * tailGlowWhammy; // offset 0x54, size 0x4 class RndMat * tailGlowBonus; // offset 0x58, size 0x4 class RndMat * tailGlowTight; // offset 0x5C, size 0x4 class RndParticleSys * tailStarPS; // offset 0x60, size 0x4 const class DataArray * mConfig; // offset 0x64, size 0x4 float kTailGlowWidth; // offset 0x68, size 0x4 float kTailGlowTightWidth; // offset 0x6C, size 0x4 float kTailPulseRate; // offset 0x70, size 0x4 float kTailPulseSmoothing; // offset 0x74, size 0x4 float kTailOffsetX; // offset 0x78, size 0x4 float kTailMinAlpha; // offset 0x7C, size 0x4 float kTailMaxAlpha; // offset 0x80, size 0x4 float kTailAlphaSmoothing; // offset 0x84, size 0x4 float kTailFadeDistance; // offset 0x88, size 0x4 class Vector2 kTailFrequencyRange; // offset 0x8C, size 0x8 class Vector2 kTailAmplitudeRange; // offset 0x94, size 0x8 int num_tail_sections; // offset 0x9C, size 0x4 float tail_section_length; // offset 0xA0, size 0x4 class VertVector tailVerts; // offset 0xA4, size 0x8 float mBonusStartTime; // offset 0xAC, size 0x4 const class TrackConfig & mTrackCfg; // offset 0xB0, size 0x4 }; class GemManager { // total size: 0x128 public: class TrackDir * mTrackDir; // offset 0x0, size 0x4 const class TrackConfig & mTrackCfg; // offset 0x4, size 0x4 private: class vector mGems; // offset 0x8, size 0xC class DataArray * mGemData; // offset 0x14, size 0x4 float mGemsEnabledStart; // offset 0x18, size 0x4 class vector mMissedPhrases; // offset 0x1C, size 0xC class list mHitGems; // offset 0x28, size 0x8 int mBegin; // offset 0x30, size 0x4 int mEnd; // offset 0x34, size 0x4 struct GemRepTemplate mTemplate; // offset 0x38, size 0xB4 class DataArray * mConfig; // offset 0xEC, size 0x4 class NowBar * mNowBar; // offset 0xF0, size 0x4 unsigned char mBonusGems; // offset 0xF4, size 0x1 unsigned char mInCoda; // offset 0xF5, size 0x1 float mWhammyActive; // offset 0xF8, size 0x4 float kHorizonY; // offset 0xFC, size 0x4 float kRemoveY; // offset 0x100, size 0x4 float kNowBarTailClip; // offset 0x104, size 0x4 class list mDisabledSlotsList; // offset 0x108, size 0x8 class map mSlotRolls; // offset 0x110, size 0x18 }; class set { // total size: 0x18 class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class Gem { // total size: 0x40 class GemManager * mGemManager; // offset 0x0, size 0x4 const class GameGem & mGameGem; // offset 0x4, size 0x4 class set mWidgets; // offset 0x8, size 0x18 float mStart; // offset 0x20, size 0x4 float mEnd; // offset 0x24, size 0x4 float mTailStart; // offset 0x28, size 0x4 unsigned char mHit; // offset 0x2C, size 0x1 unsigned char mMissed; // offset 0x2D, size 0x1 unsigned char mReleased; // offset 0x2E, size 0x1 unsigned char mHopo; // offset 0x2F, size 0x1 unsigned char mInvisible; // offset 0x30, size 0x1 unsigned char mSlots; // offset 0x31, size 0x1 class vector mTails; // offset 0x34, size 0xC }; // Range: 0x80016748 -> 0x800167CC void * Gem::Gem() {} class StlNodeAlloc { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class DelayLine { // total size: 0x4B4 float mData[300]; // offset 0x0, size 0x4B0 int mCur; // offset 0x4B0, size 0x4 }; enum State { kFuture = 0, kMissed = 1, kHit = 2, kReleased = 3, }; class Tail { // total size: 0x4F4 public: void * __vptr$; // offset 0x0, size 0x4 private: class RndGroup * mGroup; // offset 0x4, size 0x4 class RndLine * mTailGlow; // offset 0x8, size 0x4 class RndMesh * mTail1; // offset 0xC, size 0x4 class RndMesh * mTail2; // offset 0x10, size 0x4 class RndParticleSys * mTailPS; // offset 0x14, size 0x4 float mTailBegin; // offset 0x18, size 0x4 float mTailEnd; // offset 0x1C, size 0x4 class DelayLine mWhammy; // offset 0x20, size 0x4B4 float mFilteredTailWidth; // offset 0x4D4, size 0x4 float mWaveTime; // offset 0x4D8, size 0x4 float mLastWhammyVal; // offset 0x4DC, size 0x4 float mLastWhammyAlpha; // offset 0x4E0, size 0x4 class Symbol mType; // offset 0x4E4, size 0x4 enum State mState; // offset 0x4E8, size 0x4 int mSlot; // offset 0x4EC, size 0x4 struct GemRepTemplate & mTemplate; // offset 0x4F0, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Tail * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Tail * * _M_start; // offset 0x0, size 0x4 class Tail * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x800167CC -> 0x8001691C void * Gem::~Gem(class Gem * const this /* r30 */) {} // Range: 0x8001691C -> 0x80016980 unsigned char Gem::OnScreen(class Gem * const this /* r31 */, float ms /* f31 */) {} // Range: 0x80016980 -> 0x80016AFC void Gem::Poll(class Gem * const this /* r30 */, float ms /* f27 */, float whammy /* f28 */, float whammyActive /* f29 */) { // Local variables float topSeconds; // f31 float cutoffSeconds; // f3 float tail_end; // f1 float tail_start; // f30 int i; // r31 } static class Symbol invisible; // size: 0x4, address: 0x80A48F04 // Range: 0x80016AFC -> 0x80016CE0 void Gem::AddRep(class Gem * const this /* r26 */, struct GemRepTemplate & gemTemplate /* r27 */, class RndGroup * parent /* r28 */, class Symbol & type /* r29 */) { // Local variables float t; // f31 class Tail * firstTail; // r31 int i; // r30 class Tail * tail; // r1+0x14 // References // -> static class Symbol invisible; } // Range: 0x80016CE0 -> 0x80016DAC void Gem::RemoveRep(class Gem * const this /* r29 */) { // Local variables int i; // r30 } // Range: 0x80016DAC -> 0x80016FE8 void Gem::AddInstance(class Gem * const this /* r27 */, class Symbol & state /* r30 */, int slot /* r28 */) { // Local variables class TrackDir * trackDir; // r29 class Symbol widgetName; // r1+0x24 class Symbol hopoStateName; // r1+0x20 class TrackWidget * widget; // r1+0x1C class Transform t; // r1+0x40 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x80016FE8 -> 0x800170D8 void Gem::RemoveAllInstances(class Gem * const this /* r30 */) { // Local variables int i; // r31 struct _Rb_tree_iterator it; // r1+0x10 } static class Symbol invisible; // size: 0x4, address: 0x80A48F0C // Range: 0x800170D8 -> 0x80017214 void Gem::SetType(class Gem * const this /* r30 */, class Symbol & type /* r31 */) { // Local variables int i; // r28 int i; // r28 // References // -> static class Symbol invisible; } static class Symbol miss; // size: 0x4, address: 0x80A48F14 // Range: 0x80017214 -> 0x800172FC void Gem::Miss(class Gem * const this /* r31 */) { // Local variables int i; // r30 int i; // r29 // References // -> static class Symbol miss; } // Range: 0x800172FC -> 0x80017370 void Gem::Hit(class Gem * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x80017370 -> 0x800173DC void Gem::Release(class Gem * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x800173DC -> 0x80017460 void Gem::ApplyDuration(class Gem * const this /* r30 */, float start_y /* f30 */, float end_y /* f31 */) { // Local variables int i; // r31 } // Range: 0x80017460 -> 0x800174C4 void Gem::KillDuration(class Gem * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x800174C4 -> 0x800174E0 void Gem::Reset() {} struct { // total size: 0x8 } __RTTI__11TrackWidget; // size: 0x8, address: 0x8086D8C8 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PP4Tail; // size: 0x8, address: 0x8086D990 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_Rb_tree_node; // size: 0x8, address: 0x8086D9C8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800174E0 -> 0x80017818 */ // Range: 0x800174E0 -> 0x80017550 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x80017550 -> 0x8001767C struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, class TrackWidget * const & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x8001767C -> 0x80017818 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r30 */, struct _Rb_tree_node_base * __parent /* r31 */, class TrackWidget * const & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_Rb_tree_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80017818 -> 0x80017950 */ // Range: 0x80017818 -> 0x80017950 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Tail * * __pos /* r28 */, class Tail * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Tail * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP4Tail; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\bandtrack\GemManager.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80017950 -> 0x80019A0C */ class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GemSmasher * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GemSmasher * * _M_start; // offset 0x0, size 0x4 class GemSmasher * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class NowBar { // total size: 0x18 class vector mSmashers; // offset 0x0, size 0xC int mCurrentGem; // offset 0xC, size 0x4 unsigned char mBurning; // offset 0x10, size 0x1 const class TrackConfig & mTrackCfg; // offset 0x14, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct HitGem _M_data; // offset 0x8, size 0x8 }; // Range: 0x80017950 -> 0x80017B20 void * GemManager::~GemManager(class GemManager * const this /* r30 */) {} class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GameGem * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GameGem * _M_start; // offset 0x0, size 0x4 class GameGem * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TickedInfo { // total size: 0x8 int mTick; // offset 0x0, size 0x4 int mInfo; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TickedInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TickedInfo * _M_start; // offset 0x0, size 0x4 class TickedInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TickedInfoCollection { // total size: 0xC class vector mInfos; // offset 0x0, size 0xC }; struct FillExtent { // total size: 0x8 int start; // offset 0x0, size 0x4 int end; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct FillExtent * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct FillExtent * _M_start; // offset 0x0, size 0x4 struct FillExtent * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class FillInfo { // total size: 0x1C public: void * __vptr$; // offset 0x0, size 0x4 protected: class TickedInfoCollection mLanes; // offset 0x4, size 0xC class vector mFills; // offset 0x10, size 0xC }; struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x80017B20 -> 0x80017C0C void GemManager::SetSlotRoll(class GemManager * const this /* r7 */, float roll /* f31 */) {} // Range: 0x80017C0C -> 0x80017D58 float GemManager::SlotRoll(class GemManager * const this /* r8 */) {} // Range: 0x80017D58 -> 0x80017D60 void GemManager::SetGemsEnabled() {} static class Message msg; // size: 0x8, address: 0x80976B60 static class Symbol crash; // size: 0x4, address: 0x80A48F1C struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80017D60 -> 0x800182E8 void GemManager::UpdateLeftyFlip(class GemManager * const this /* r29 */) { // Local variables class RndDir * nowBarDir; // r30 class Symbol gems; // r1+0x50 class Symbol widName; // r1+0x4C float crashY; // f31 struct _List_iterator it; // r1+0x48 class Transform xfm; // r1+0x80 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> static class Symbol crash; // -> const char * gNullStr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } class _List_node : public _List_node_base { // total size: 0xC public: class RndMat * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x800182E8 -> 0x80018444 void GemManager::UpdateSlotPositions(class GemManager * const this /* r29 */) { // Local variables class Transform t; // r1+0x30 int i; // r30 class RndDir * smasherDir; // r0 struct SlotPosition sp; // r1+0x18 class Vector3 rotation; // r1+0x20 } class GemSmasher { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 protected: int mSlot; // offset 0x4, size 0x4 class RndDir * mDir; // offset 0x8, size 0x4 }; // Range: 0x80018444 -> 0x80018538 class RndDir * GemManager::NowBarDir(class GemManager * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x80018538 -> 0x800186F0 void GemManager::Poll(class GemManager * const this /* r30 */, float ms /* f30 */, const struct PlayerState & state /* r31 */) { // Local variables float topSeconds; // f31 } // Range: 0x800186F0 -> 0x8001877C void GemManager::PollVisibleGems(class GemManager * const this /* r30 */, float ms /* f30 */, float whammy /* f31 */) { // Local variables int i; // r31 } // Range: 0x8001877C -> 0x800187C4 void GemManager::AdvanceBegin(class GemManager * const this /* r31 */) {} // Range: 0x800187C4 -> 0x800188DC void GemManager::AdvanceEnd(class GemManager * const this /* r27 */) { // Local variables class Symbol type; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x800188DC -> 0x800189F4 void GemManager::PollHitGems(class GemManager * const this /* r30 */, float ms /* f30 */) { // Local variables float clip; // f31 struct _List_iterator it; // r1+0x10 float elapsedMs; // f0 } // Range: 0x800189F4 -> 0x80018AA4 void GemManager::ReleaseHitGems(class GemManager * const this /* r30 */) { // Local variables struct _List_iterator it; // r1+0x10 } // Range: 0x80018AA4 -> 0x80018B38 void GemManager::PruneHitGems(class GemManager * const this /* r31 */, float ms /* f31 */) {} static unsigned char sUnison; // size: 0x1, address: 0x80A48F20 // Range: 0x80018B38 -> 0x80018C58 void GemManager::Hit(class GemManager * const this /* r29 */, float ms /* f31 */, int gem_id /* r30 */, int hit_flags /* r31 */) { // References // -> static unsigned char sUnison; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std33_List_node; // size: 0x8, address: 0x8086DB00 // Range: 0x80018C58 -> 0x80018C68 void GemManager::Pass() {} // Range: 0x80018C68 -> 0x80018C8C void GemManager::Ignore() {} // Range: 0x80018C8C -> 0x80018D3C void GemManager::Released(class GemManager * const this /* r30 */, float ms /* f31 */) {} // Range: 0x80018D3C -> 0x80018D44 void GemManager::SetSmasherGlowing() {} // Range: 0x80018D44 -> 0x80018D4C void GemManager::PopSmasher() {} // Range: 0x80018D4C -> 0x80018D9C class Object * GemManager::GetSmasherObj() { // Local variables class GemSmasher * smasher; // r0 } enum PhraseState { kPhraseNone = 0, kPhraseMissed = 1, kPhraseHitting = 2, kPhraseComplete = 3, }; struct PlayerState { // total size: 0x18 unsigned char warning; // offset 0x0, size 0x1 unsigned char starPowerReady; // offset 0x1, size 0x1 float whammy; // offset 0x4, size 0x4 unsigned char whammyActive; // offset 0x8, size 0x1 enum PhraseState phraseState; // offset 0xC, size 0x4 float fillState; // offset 0x10, size 0x4 int streak; // offset 0x14, size 0x4 }; // Range: 0x80018D9C -> 0x80018F44 void GemManager::Jump(class GemManager * const this /* r31 */, float ms /* f30 */) { // Local variables float bottom; // f31 int newBegin; // r30 int i; // r29 struct PlayerState nullState; // r1+0x18 } // Range: 0x80018F44 -> 0x80018FAC void GemManager::SetBonusGems(class GemManager * const this /* r30 */, unsigned char bonus /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80018FAC -> 0x80018FB4 void GemManager::SetInCoda() {} // Range: 0x80018FB4 -> 0x8001908C void GemManager::OnMissPhrase(class GemManager * const this /* r29 */, int phrase_id /* r30 */) { // Local variables int track; // r0 struct Extent e; // r1+0x18 // References // -> class SongDB * TheSongDB; } // Range: 0x8001908C -> 0x80019128 unsigned char GemManager::GetGemWidget(class Symbol & outName /* r30 */, class Symbol & state /* r31 */) { // Local variables class DataArray * dataArray; // r31 } // Range: 0x80019128 -> 0x80019164 unsigned int GemManager::GetSlotsForGem() {} // Range: 0x80019164 -> 0x80019210 void GemManager::EnableSlot(class GemManager * const this /* r30 */, int slot /* r31 */) {} // Range: 0x80019210 -> 0x800192A0 void GemManager::DisableSlot(class GemManager * const this /* r30 */, int slot /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800192A0 -> 0x80019314 unsigned char GemManager::SlotEnabled(const class GemManager * const this /* r31 */, int slot /* r1+0x8 */) { // Local variables struct _List_iterator f; // r1+0x28 } static class Symbol normal; // size: 0x4, address: 0x80A48F24 static class Symbol star; // size: 0x4, address: 0x80A48F2C static class Symbol unison; // size: 0x4, address: 0x80A48F34 static class Symbol invisible; // size: 0x4, address: 0x80A48F3C static class Symbol bonus; // size: 0x4, address: 0x80A48F44 static class Symbol tom; // size: 0x4, address: 0x80A48F4C // Range: 0x80019314 -> 0x800195D8 class Symbol GemManager::GetTypeForGem(class GemManager * const this /* r29 */, int gemID /* r30 */) { // Local variables int track; // r31 const class vector & gems; // r0 class GemPlayer * gemPlayer; // r0 unsigned char is_unison; // r1+0x8 // References // -> class Debug TheDebug; // -> class GameMode * TheGameMode; // -> struct [anonymous] __RTTI__6Player; // -> struct [anonymous] __RTTI__9GemPlayer; // -> class GameConfig * TheGameConfig; // -> class SongDB * TheSongDB; // -> static class Symbol tom; // -> static class Symbol bonus; // -> static class Symbol invisible; // -> static class Symbol unison; // -> static class Symbol star; // -> static class Symbol normal; } // Range: 0x800195D8 -> 0x80019694 void GemManager::UpdateGemStates(class GemManager * const this /* r29 */) { // Local variables int i; // r30 class Symbol type; // r1+0x10 } // Range: 0x80019694 -> 0x80019728 void GemManager::ClearGems(class GemManager * const this /* r30 */) { // Local variables int i; // r31 } static class Symbol invisible; // size: 0x4, address: 0x80A48F54 // Range: 0x80019728 -> 0x800197C0 void GemManager::HideGems(class GemManager * const this /* r30 */) { // Local variables int i; // r31 // References // -> static class Symbol invisible; } // Range: 0x800197C0 -> 0x800198BC unsigned char GemManager::IsSpotlightGem(class GemManager * const this /* r28 */, int gem_id /* r30 */, unsigned char & unison /* r29 */) { // Local variables int phrase_id; // r30 class Player * player; // r0 int tracks; // r4 // References // -> class GameConfig * TheGameConfig; // -> class SongDB * TheSongDB; } // Range: 0x800198BC -> 0x80019990 unsigned char GemManager::IsInFill(class GemManager * const this /* r29 */, int tick /* r30 */) { // Local variables class Player * player; // r31 class FillInfo * fillinfo; // r0 // References // -> class SongDB * TheSongDB; // -> class GameConfig * TheGameConfig; } class Stats { // total size: 0x2C int mTotal; // offset 0x0, size 0x4 int mStreak; // offset 0x4, size 0x4 int mLongestStreak; // offset 0x8, size 0x4 float mNotesHitFraction; // offset 0xC, size 0x4 unsigned char mFailedDeploy; // offset 0x10, size 0x1 int mSavedCount; // offset 0x14, size 0x4 int mDeployCount; // offset 0x18, size 0x4 int mFillHitCount; // offset 0x1C, size 0x4 unsigned char mStrummedUp; // offset 0x20, size 0x1 unsigned char mStrummedDown; // offset 0x21, size 0x1 unsigned char mFinalized; // offset 0x22, size 0x1 int mSoloPercentage; // offset 0x24, size 0x4 unsigned char mPerfectSoloWithSoloButtons; // offset 0x28, size 0x1 }; enum /* @enum$13641GemManager_cpp */ { kInProgress = 0, kSucceeded = 1, kFailed = 2, }; enum PhraseStatus { kUnresolved = 0, kCaught = 1, kFailed = 2, }; struct PhraseState { // total size: 0xC enum PhraseStatus resolved; // offset 0x0, size 0x4 int tracks; // offset 0x4, size 0x4 int failed_tracks; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct PhraseState * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct PhraseState * _M_start; // offset 0x0, size 0x4 struct PhraseState * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BeatMatchSink { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class GemStatus { // total size: 0xC class vector mGems; // offset 0x0, size 0xC }; class HeldNote { // total size: 0x14 const class GameGem * mGem; // offset 0x0, size 0x4 int mGemID; // offset 0x4, size 0x4 enum TrackType mTrackType; // offset 0x8, size 0x4 float mPoints; // offset 0xC, size 0x4 int mMaxPoints; // offset 0x10, size 0x4 }; enum FXCore { kFXCoreNone = -1, kFXCore0 = 0, kFXCore1 = 1, }; enum EnabledState { kPlayerEnabled = 0, kPlayerDisabled = 1, kPlayerBeingSaved = 2, kPlayerDisconnected = 3, }; class GemPlayer : public Player, public BeatMatchSink { // total size: 0x244 protected: class Performer * mBandPerformer; // offset 0x110, size 0x4 class GemStatus * mGemStatus; // offset 0x114, size 0x4 class DataArray * mDrumSlotWeights; // offset 0x118, size 0x4 class Symbol mDrumSlotWeightMapping; // offset 0x11C, size 0x4 int mLastBlownGem; // offset 0x120, size 0x4 unsigned char mFill; // offset 0x124, size 0x1 unsigned char mForceFill; // offset 0x125, size 0x1 int mLastFillHitTick; // offset 0x128, size 0x4 int mActiveSoloStart; // offset 0x12C, size 0x4 unsigned char mWasFailedDuringSolo; // offset 0x130, size 0x1 unsigned char mInSolo; // offset 0x131, size 0x1 unsigned char mEncounteredAllSoloGems; // offset 0x132, size 0x1 unsigned char mUsedSoloButtonForAllSoloGems; // offset 0x133, size 0x1 int mNumFillSwings; // offset 0x134, size 0x4 int mCodaPoints; // offset 0x138, size 0x4 float mLastCodaSwing[5]; // offset 0x13C, size 0x14 float mCodaPointRate; // offset 0x150, size 0x4 float mCodaMashPeriod; // offset 0x154, size 0x4 unsigned char mMercurySwitchEnabled; // offset 0x158, size 0x1 unsigned char mMercurySwitchState; // offset 0x159, size 0x1 unsigned char mWhammyStarPowerEnabled; // offset 0x15A, size 0x1 class RndOverlay * mOverlay; // offset 0x15C, size 0x4 class RndOverlay * mGuitarOverlay; // offset 0x160, size 0x4 class HeldNote mHeldNote; // offset 0x164, size 0x14 unsigned char mWhammying; // offset 0x178, size 0x1 float mWhammySpeedThreshold; // offset 0x17C, size 0x4 float mWhammySpeedTimeout; // offset 0x180, size 0x4 float mLastNoteStart; // offset 0x184, size 0x4 float mLastWhammySample; // offset 0x188, size 0x4 float mLastWhammySampleTime; // offset 0x18C, size 0x4 float mLastTimeWhammyVelWasHigh; // offset 0x190, size 0x4 float mLastWhammyValueSent; // offset 0x194, size 0x4 int mNumCrashFillReadyHits; // offset 0x198, size 0x4 float mGhostScorePerGem; // offset 0x19C, size 0x4 class GemTrack * mTrack; // offset 0x1A0, size 0x4 class BeatMatchController * mController; // offset 0x1A4, size 0x4 class Symbol mControllerType; // offset 0x1A8, size 0x4 class BeatMatcher * mMatcher; // offset 0x1AC, size 0x4 class BeatMaster * mBeatMaster; // offset 0x1B0, size 0x4 float mSyncOffset; // offset 0x1B4, size 0x4 class GuitarFx * mGuitarFx; // offset 0x1B8, size 0x4 int mFxPos; // offset 0x1BC, size 0x4 unsigned char mIgnoreMercurySwitch; // offset 0x1C0, size 0x1 class FxSendPitchShift * mPitchShift; // offset 0x1C4, size 0x4 class FxSendEQ * mAMRadio; // offset 0x1C8, size 0x4 enum FXCore mFxCore; // offset 0x1CC, size 0x4 int mLastFx; // offset 0x1D0, size 0x4 unsigned char mFxActive; // offset 0x1D4, size 0x1 signed short mFxWait; // offset 0x1D6, size 0x2 unsigned char mReverbActive; // offset 0x1D8, size 0x1 float mTimingErrorAvgMidTerm; // offset 0x1DC, size 0x4 float mTimingErrorSum; // offset 0x1E0, size 0x4 int mTimingErrorCount; // offset 0x1E4, size 0x4 unsigned char mEndgameStarted; // offset 0x1E8, size 0x1 float mLastEndgameSwing[5]; // offset 0x1EC, size 0x14 float mLastEndgameNetworkSwing[5]; // offset 0x200, size 0x14 float mEndgameSwingDelay; // offset 0x214, size 0x4 }; class CommonPhraseCapturer { // total size: 0x1C class vector mPhraseStates; // offset 0x0, size 0xC int mDisabledTracks; // offset 0xC, size 0x4 int mFinishedTracks; // offset 0x10, size 0x4 unsigned char mInUnisonPhrase; // offset 0x14, size 0x1 int mLastStartedPhraseID; // offset 0x18, size 0x4 }; class Band : public Object { // total size: 0x8C class BandPerformer * mBandPerformer; // offset 0x28, size 0x4 class vector mPlayers; // offset 0x2C, size 0xC class vector mActivePlayers; // offset 0x38, size 0xC class vector mCrowdRatings; // offset 0x44, size 0xC float mBandRating; // offset 0x50, size 0x4 int mAccumulatedScore; // offset 0x54, size 0x4 float mTotalStars; // offset 0x58, size 0x4 int mLongestStreak; // offset 0x5C, size 0x4 int mPlayersFinishedCoda; // offset 0x60, size 0x4 int mPlayersBlewCoda; // offset 0x64, size 0x4 unsigned char mCodaResolved; // offset 0x68, size 0x1 enum /* @enum$13641GemManager_cpp */ { kInProgress = 0, kSucceeded = 1, kFailed = 2, } mCodaState; // offset 0x6C, size 0x4 int mBonusLevel; // offset 0x70, size 0x4 int mMultiplier; // offset 0x74, size 0x4 int mMaxMultiplier; // offset 0x78, size 0x4 float mMsWithMultiplier; // offset 0x7C, size 0x4 float mMsWhenMultiplierStarted; // offset 0x80, size 0x4 class DataArray * mBonusCfg; // offset 0x84, size 0x4 class CommonPhraseCapturer * mCommonPhraseCapturer; // offset 0x88, size 0x4 }; class Performer : public virtual Object { // total size: 0x9C public: void * __vptr$; // offset 0x4, size 0x4 protected: class CrowdRating * mCrowd; // offset 0x8, size 0x4 class Stats mStats; // offset 0xC, size 0x2C class Band * mBand; // offset 0x38, size 0x4 unsigned char mLostGame; // offset 0x3C, size 0x1 unsigned char mPastFinishLine; // offset 0x3D, size 0x1 unsigned char mFinished; // offset 0x3E, size 0x1 float mScore; // offset 0x40, size 0x4 class SongPos mSongPos; // offset 0x44, size 0x14 unsigned char mBroadcastScore; // offset 0x58, size 0x1 unsigned char mBroadcastStreak; // offset 0x59, size 0x1 unsigned char mBroadcastCrowd; // offset 0x5A, size 0x1 private: float mPollMs; // offset 0x5C, size 0x4 float mProgressMs; // offset 0x60, size 0x4 unsigned char mGameOver; // offset 0x64, size 0x1 float mLastSongMs; // offset 0x68, size 0x4 float mLastUISeconds; // offset 0x6C, size 0x4 }; class Player : public Performer, public MsgSource { // total size: 0x138 protected: struct PlayerParams * mParams; // offset 0x8C, size 0x4 class PlayerBehavior * mBehavior; // offset 0x90, size 0x4 class BandUser * mUser; // offset 0x94, size 0x4 class CommonPhraseCapturer * mCommonPhraseCapturer; // offset 0x98, size 0x4 unsigned char mRemote; // offset 0x9C, size 0x1 class String mPlayerName; // offset 0xA0, size 0xC int mTrackNum; // offset 0xAC, size 0x4 enum TrackType mTrackType; // offset 0xB0, size 0x4 enum EnabledState mEnabledState; // offset 0xB4, size 0x4 int mTimesFailed; // offset 0xB8, size 0x4 float mEnableMs; // offset 0xBC, size 0x4 float mDisableMs; // offset 0xC0, size 0x4 class vector mFailedWindows; // offset 0xC4, size 0xC unsigned char mInCoda; // offset 0xD0, size 0x1 float mEnergy; // offset 0xD4, size 0x4 unsigned char mIncreasingMultiplier; // offset 0xD8, size 0x1 int mLastMultiplier; // offset 0xDC, size 0x4 unsigned char mPhraseBonusesEnabled; // offset 0xE0, size 0x1 float mGhostScore; // offset 0xE4, size 0x4 int mBonusID; // offset 0xE8, size 0x4 int mNumPlayersSaved; // offset 0xEC, size 0x4 int mSaveInProgress; // offset 0xF0, size 0x4 float mLastScoreSentMs; // offset 0xF4, size 0x4 int mLastScoreSent; // offset 0xF8, size 0x4 float mLastEnergySentMs; // offset 0xFC, size 0x4 unsigned char mDisconnectedAtStart; // offset 0x100, size 0x1 unsigned char mFailedAtStart; // offset 0x101, size 0x1 int mPollCounter; // offset 0x104, size 0x4 unsigned char mPermanentOverdrive; // offset 0x108, size 0x1 }; // Range: 0x80019990 -> 0x80019A0C unsigned char GemManager::InMissedPhrase() { // Local variables int tick; // r0 int i; // r7 } struct { // total size: 0x8 } __RTTI__8RndGroup; // size: 0x8, address: 0x8086DBE8 struct { // total size: 0x8 } __RTTI__9GemPlayer; // size: 0x8, address: 0x8086DCE8 struct { // total size: 0x8 } __RTTI__13BeatMatchSink; // size: 0x8, address: 0x8086DD00 struct { // total size: 0x8 } __RTTI__6Player; // size: 0x8, address: 0x8086DD38 struct { // total size: 0x8 } __RTTI__9Performer; // size: 0x8, address: 0x8086DD60 struct { // total size: 0x8 } __RTTI__P3Gem; // size: 0x8, address: 0x8086DEB0 struct { // total size: 0x8 } __RTTI__P6Extent; // size: 0x8, address: 0x8086DEC8 class GameMode : public MsgSource { // total size: 0xA0 protected: class Symbol mMode; // offset 0x1C, size 0x4 int mPlayer; // offset 0x20, size 0x4 int mStarPowerEnabled; // offset 0x24, size 0x4 int mSeparateParts; // offset 0x28, size 0x4 int mBandArrangement; // offset 0x2C, size 0x4 int mH2HArrangement; // offset 0x30, size 0x4 int mIsPractice; // offset 0x34, size 0x4 int mCanLose; // offset 0x38, size 0x4 int mMaxDelta; // offset 0x3C, size 0x4 int mCrowdReacts; // offset 0x40, size 0x4 int mIsSolo; // offset 0x44, size 0x4 int mPracticeModeFX; // offset 0x48, size 0x4 int mDisableGuitarFX; // offset 0x4C, size 0x4 int mIsDrumTrainer; // offset 0x50, size 0x4 int mHasTrack; // offset 0x54, size 0x4 int mEnableStreak; // offset 0x58, size 0x4 int mIsJukebox; // offset 0x5C, size 0x4 int mDontShowGemsInFills; // offset 0x60, size 0x4 int mIsTutorial; // offset 0x64, size 0x4 int mLoadChars; // offset 0x68, size 0x4 int mShowStars; // offset 0x6C, size 0x4 int mRenderPracticeLoop; // offset 0x70, size 0x4 }; class DrumFillInfo : public FillInfo { // total size: 0x1C }; class GameGemList { // total size: 0x14 int mTrack; // offset 0x0, size 0x4 int mHopoThreshold; // offset 0x4, size 0x4 class vector mGems; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GameGemList * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GameGemList * * _M_start; // offset 0x0, size 0x4 class GameGemList * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class GameGemDB { // total size: 0x28 class vector mGameGemLists; // offset 0x0, size 0xC class vector mCopy; // offset 0xC, size 0x14 int mHopoThreshold; // offset 0x20, size 0x4 class SongData * mParent; // offset 0x24, size 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80019A0C -> 0x8001A3B4 */ // Range: 0x80019A0C -> 0x80019C8C void * GemManager::GemManager(class GemManager * const this /* r28 */, class TrackDir * trackDir /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x80019C8C -> 0x8001A2F4 void GemManager::SetupGems(class GemManager * const this /* r20 */, int start_tick /* r21 */) { // Local variables class BandUser * bandUser; // r27 int track_num; // r26 const class vector & gems; // r0 float songEndMs; // f0 float sectionStart; // r1+0x58 float sectionEnd; // r1+0x54 int startSection; // r1+0x50 int endSection; // r1+0x4C float temp; // r1+0x48 int slot; // r25 int no_separate_parts; // r0 int i; // r24 float startMs; // f0 float endMs; // f0 class FillInfo * fill_info; // r17 int slots; // r23 unsigned char nostrum; // r22 class Gem g; // r1+0x80 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP4Tail; // -> unsigned char gStlAllocNameLookup; // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8001A2F4 -> 0x8001A3B4 void GemManager::Miss(class GemManager * const this /* r30 */, float ms /* f31 */, int slot /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A3B4 -> 0x8001A3E4 */ // Range: 0x8001A3B4 -> 0x8001A3B8 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8001A3B8 -> 0x8001A3E4 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A3E4 -> 0x8001A430 */ // Range: 0x8001A3E4 -> 0x8001A430 char * MakeString(const char * fmt /* r0 */, unsigned char t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A430 -> 0x8001A434 */ // Range: 0x8001A430 -> 0x8001A434 class StlNodeAlloc _Rb_tree_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A434 -> 0x8001A44C */ // Range: 0x8001A434 -> 0x8001A44C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\GemSmasher.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A44C -> 0x8001A454 */ // Range: 0x8001A44C -> 0x8001A454 class RndDir * GemSmasher::GetDir() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A454 -> 0x8001A4C4 */ // Range: 0x8001A454 -> 0x8001A4C4 struct _List_iterator find() {} /* Compile unit: C:\rockband2\band2\src\game\Player.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A4C4 -> 0x8001A4CC */ // Range: 0x8001A4C4 -> 0x8001A4CC unsigned char Player::AreFillsForced() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A4CC -> 0x8001A600 */ // Range: 0x8001A4CC -> 0x8001A600 struct _Rb_tree_node_base * _Rb_tree::_M_copy(class _Rb_tree * const this /* r27 */, struct _Rb_tree_node_base * __x /* r28 */, struct _Rb_tree_node_base * __p /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_Rb_tree_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A600 -> 0x8001A660 */ // Range: 0x8001A600 -> 0x8001A660 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001A660 -> 0x8001B418 */ // Range: 0x8001A660 -> 0x8001AEE8 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class Gem * __pos /* r25 */, const class Gem & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x84 unsigned long __len; // r29 class Gem * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PP4Tail; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P3Gem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8001AEE8 -> 0x8001B22C void vector::reserve(class vector * const this /* r25 */, unsigned long __n /* r26 */) { // Local variables class Gem * __tmp; // r26 // References // -> struct [anonymous] __RTTI__PP4Tail; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P3Gem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8001B22C -> 0x8001B418 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Extent * __pos /* r26 */, const struct Extent & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Extent * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Extent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\bandtrack\GemRepTemplate.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001B418 -> 0x8001BE5C */ class Symbol name; // size: 0x4, address: 0x80A48F5C class Symbol name; // size: 0x4, address: 0x80A48F64 enum Type { kBasic = 0, kFancy = 1, }; class RndParticle { // total size: 0x60 public: class Color col; // offset 0x0, size 0x10 class Color colVel; // offset 0x10, size 0x10 class Vector4 pos; // offset 0x20, size 0x10 class Vector4 vel; // offset 0x30, size 0x10 float deathFrame; // offset 0x40, size 0x4 float birthFrame; // offset 0x44, size 0x4 float size; // offset 0x48, size 0x4 float sizeVel; // offset 0x4C, size 0x4 float angle; // offset 0x50, size 0x4 float swingArm; // offset 0x54, size 0x4 class RndParticle * prev; // offset 0x58, size 0x4 class RndParticle * next; // offset 0x5C, size 0x4 }; class Burst { // total size: 0x10 protected: float mPeak; // offset 0x0, size 0x4 float mHalfLength; // offset 0x4, size 0x4 float mNorm; // offset 0x8, size 0x4 float mTimeToLive; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Burst * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Burst * _M_start; // offset 0x0, size 0x4 class Burst * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class RndParticleSys : public RndAnimatable, public RndPollable, public RndTransformable, public RndDrawable { // total size: 0x390 protected: enum Type mType; // offset 0x114, size 0x4 int mMaxParticles; // offset 0x118, size 0x4 class RndParticle * mActiveParticles; // offset 0x11C, size 0x4 int mNumActive; // offset 0x120, size 0x4 float mEmitCount; // offset 0x124, size 0x4 unsigned char mFrameDrive; // offset 0x128, size 0x1 float mLastFrame; // offset 0x12C, size 0x4 int mPollsSinceDraw; // offset 0x130, size 0x4 unsigned char mPauseOffscreen; // offset 0x134, size 0x1 float mSleepTime; // offset 0x138, size 0x4 class Vector2 mLife; // offset 0x13C, size 0x8 class Vector3 mPosLow; // offset 0x150, size 0x10 class Vector3 mPosHigh; // offset 0x160, size 0x10 class Vector2 mSpeed; // offset 0x170, size 0x8 class Vector2 mPitch; // offset 0x178, size 0x8 class Vector2 mYaw; // offset 0x180, size 0x8 class Vector2 mEmitRate; // offset 0x188, size 0x8 class Vector2 mStartSize; // offset 0x190, size 0x8 class Vector2 mDeltaSize; // offset 0x198, size 0x8 class Color mStartColorLow; // offset 0x1A0, size 0x10 class Color mStartColorHigh; // offset 0x1B0, size 0x10 class Color mEndColorLow; // offset 0x1C0, size 0x10 class Color mEndColorHigh; // offset 0x1D0, size 0x10 class ObjPtr mMesh; // offset 0x1E0, size 0xC class ObjPtr mMat; // offset 0x1EC, size 0xC unsigned char mPreserveParticles; // offset 0x1F8, size 0x1 class Transform mRelativeXfm; // offset 0x200, size 0x40 class Transform mLastWorldXfm; // offset 0x240, size 0x40 float mRelativeMotion; // offset 0x280, size 0x4 class ObjOwnerPtr mRelativeParent; // offset 0x284, size 0xC class ObjPtr mBounce; // offset 0x290, size 0xC class Vector3 mForce; // offset 0x2A0, size 0x10 unsigned char mFastForward; // offset 0x2B0, size 0x1 unsigned char mNeedForward; // offset 0x2B1, size 0x1 unsigned char mRotate; // offset 0x2B2, size 0x1 class Vector2 mRotSpeed; // offset 0x2B4, size 0x8 float mRotDrag; // offset 0x2BC, size 0x4 unsigned char mRotRandomDir; // offset 0x2C0, size 0x1 class Vector2 mSwingArmStart; // offset 0x2C4, size 0x8 class Vector2 mSwingArmEnd; // offset 0x2CC, size 0x8 float mHeightRatio; // offset 0x2D4, size 0x4 int mSubSamples; // offset 0x2D8, size 0x4 class Transform mSubSampleXfm; // offset 0x2E0, size 0x40 class vector mBursts; // offset 0x320, size 0xC int mMaxBursts; // offset 0x32C, size 0x4 float mTimeTillBurst; // offset 0x330, size 0x4 class Vector2 mBurstInterval; // offset 0x334, size 0x8 class Vector2 mBurstPeak; // offset 0x33C, size 0x8 class Vector2 mBurstLength; // offset 0x344, size 0x8 int mExplicitParts; // offset 0x34C, size 0x4 }; // Range: 0x8001B418 -> 0x8001B5F8 void * GemRepTemplate::~GemRepTemplate(struct GemRepTemplate * const this /* r30 */) {} // Range: 0x8001B938 -> 0x8001B98C class RndMesh * GemRepTemplate::GetTail() { // Local variables class RndMesh * tail; // r5 } // Range: 0x8001B98C -> 0x8001BA24 void GemRepTemplate::ReturnTail(struct GemRepTemplate * const this /* r31 */, class RndMesh * tail /* r1+0x8 */) {} // Range: 0x8001BA24 -> 0x8001BE14 class RndMesh * GemRepTemplate::CreateTail(struct GemRepTemplate * const this /* r25 */) { // Local variables int num_sections; // r27 int quads_per_section; // r26 int s; // r5 int v; // r6 int i; // r7 int f; // r7 unsigned short vb; // r8 unsigned short vt; // r9 int i; // r10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } // Range: 0x8001BE14 -> 0x8001BE5C static unsigned char VertLess() {} class PlayerTrackConfig { // total size: 0x1C unsigned char mActive; // offset 0x0, size 0x1 int mTrackNum; // offset 0x4, size 0x4 class Symbol mInstrument; // offset 0x8, size 0x4 int mDifficulty; // offset 0xC, size 0x4 int mSlot; // offset 0x10, size 0x4 unsigned char mRemote; // offset 0x14, size 0x1 int mRealTrack; // offset 0x18, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PlayerTrackConfig * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PlayerTrackConfig * _M_start; // offset 0x0, size 0x4 class PlayerTrackConfig * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PlayerTrackConfigList { // total size: 0x2C class vector mTrackDiffs; // offset 0x0, size 0xC class vector mTrackNums; // offset 0xC, size 0xC class vector mConfigs; // offset 0x18, size 0xC int mDefaultDifficulty; // offset 0x24, size 0x4 unsigned char mNeedsProcessing; // offset 0x28, size 0x1 unsigned char mProcessed; // offset 0x29, size 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__14RndParticleSys; // size: 0x8, address: 0x8086E1E0 struct { // total size: 0x18 } __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // size: 0x18, address: 0x8086E258 struct { // total size: 0x8 } __RTTI__32ObjPtr<11RndDrawable,9ObjectDir>; // size: 0x8, address: 0x8086E2A0 struct { // total size: 0x18 } __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // size: 0x18, address: 0x8086E2A8 struct { // total size: 0x8 } __RTTI__31ObjPtr<10RndEnviron,9ObjectDir>; // size: 0x8, address: 0x8086E2F0 struct { // total size: 0x8 } __RTTI__7RndMesh; // size: 0x8, address: 0x8086E360 struct { // total size: 0x8 } __RTTI__6RndMat; // size: 0x8, address: 0x8086E388 struct { // total size: 0x18 } __vt__36ObjPtrList; // size: 0x18, address: 0x8086E428 struct { // total size: 0x8 } __RTTI__36ObjPtrList; // size: 0x8, address: 0x8086E470 struct { // total size: 0x8 } __RTTI__PP8RndGroup; // size: 0x8, address: 0x8086E4C0 struct { // total size: 0x8 } __RTTI__PP7RndMesh; // size: 0x8, address: 0x8086E4D8 struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__10RndEnviron; // size: 0x8, address: 0x8086E500 struct { // total size: 0x8 } __RTTI__PQ27RndMesh4Face; // size: 0x8, address: 0x8086E518 /* Compile unit: C:\rockband2\system\src\rndobj\Group.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001BE5C -> 0x8001CD18 */ // Range: 0x8001BE5C -> 0x8001C21C void * GemRepTemplate::GemRepTemplate(struct GemRepTemplate * const this /* r30 */, const class TrackConfig & cfg /* r31 */) {} // Range: 0x8001C21C -> 0x8001C94C void GemRepTemplate::Init(struct GemRepTemplate * const this /* r30 */) { // Local variables int i; // r27 int slot; // r28 // References // -> struct [anonymous] __RTTI__14RndParticleSys; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Symbol name; } // Range: 0x8001C94C -> 0x8001CABC class RndMat * GemRepTemplate::GetMatByTag(struct GemRepTemplate * const this /* r28 */, int slot /* r29 */) { // Local variables const char * basename; // r0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x8001CABC -> 0x8001CD18 void GemRepTemplate::SetupTailVerts(struct GemRepTemplate * const this /* r30 */) { // Local variables int gemTrackCount; // r31 class PlayerTrackConfigList * player_configs; // r26 int i; // r25 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001CD18 -> 0x8001CD98 */ // Range: 0x8001CD18 -> 0x8001CD98 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001CD98 -> 0x8001D354 */ // Range: 0x8001CD98 -> 0x8001CE10 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x8001CE10 -> 0x8001CE80 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; } // Range: 0x8001CE80 -> 0x8001D028 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } // Range: 0x8001D028 -> 0x8001D1F4 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8001D1F4 -> 0x8001D1FC class Object * ObjPtrList::RefOwner() {} // Range: 0x8001D1FC -> 0x8001D204 class Object * ObjPtr::RefOwner() {} // Range: 0x8001D204 -> 0x8001D2B4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } // Range: 0x8001D2B4 -> 0x8001D2BC class Object * ObjPtr::RefOwner() {} // Range: 0x8001D2BC -> 0x8001D354 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001D354 -> 0x8001E138 */ // Range: 0x8001D354 -> 0x8001D3E8 void sort(class Vert * __first /* r29 */, class Vert * __last /* r30 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r31 */) {} // Range: 0x8001D3E8 -> 0x8001D470 void __final_insertion_sort(class Vert * __first /* r29 */, class Vert * __last /* r30 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r31 */) {} // Range: 0x8001D470 -> 0x8001D560 void __unguarded_insertion_sort_aux(class Vert * __last /* r29 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r30 */) { // Local variables class Vert * __i; // r31 } // Range: 0x8001D560 -> 0x8001D6F4 void __unguarded_linear_insert(class Vert * __last /* r28 */, class Vert & __val /* r29 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r30 */) { // Local variables class Vert * __next; // r31 } // Range: 0x8001D6F4 -> 0x8001D9F4 void __insertion_sort(class Vert * __first /* r28 */, class Vert * __last /* r29 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r30 */) { // Local variables class Vert * __i; // r31 } // Range: 0x8001D9F4 -> 0x8001DC68 void __introsort_loop(class Vert * __first /* r28 */, class Vert * __last /* r29 */, long __depth_limit /* r30 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r31 */) { // Local variables class Vert * __cut; // r27 } // Range: 0x8001DC68 -> 0x8001DECC class Vert * __unguarded_partition(class Vert * __first /* r28 */, class Vert * __last /* r29 */, class Vert & __pivot /* r30 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r31 */) {} // Range: 0x8001DECC -> 0x8001DED8 void partial_sort() {} // Range: 0x8001DED8 -> 0x8001E138 void __partial_sort(class Vert * __first /* r27 */, class Vert * __middle /* r28 */, class Vert * __last /* r29 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r30 */) { // Local variables class Vert * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001E138 -> 0x8001E180 */ // Range: 0x8001E138 -> 0x8001E150 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8001E150 -> 0x8001E168 struct __true_type _OKToSwap::_Answer() {} // Range: 0x8001E168 -> 0x8001E180 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001E180 -> 0x8001E8FC */ // Range: 0x8001E180 -> 0x8001E360 void pop_heap(class Vert * __last /* r6 */) {} // Range: 0x8001E360 -> 0x8001E754 void __adjust_heap(class Vert * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, class Vert & __val /* r28 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r29 */) { // Local variables long __topIndex; // r30 long __secondChild; // r31 } // Range: 0x8001E754 -> 0x8001E8FC void make_heap(class Vert * __first /* r28 */, unsigned char (* __comp)(class Vert &, class Vert &) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001E8FC -> 0x8001F18C */ // Range: 0x8001E8FC -> 0x8001EA34 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndGroup * * __pos /* r28 */, class RndGroup * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndGroup * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8RndGroup; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8001EA34 -> 0x8001EB7C void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class RndGroup * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8RndGroup; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8001EB7C -> 0x8001ECB4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndMesh * * __pos /* r28 */, class RndMesh * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndMesh * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7RndMesh; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8001ECB4 -> 0x8001ED30 void vector::_M_fill_insert() {} // Range: 0x8001ED30 -> 0x8001EF54 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Face * __pos /* r26 */, const class Face & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Face * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27RndMesh4Face; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8001EF54 -> 0x8001F18C void vector::_M_fill_insert_aux() { // Local variables class Face __x_copy; // r1+0x1C unsigned long __elems_after; // r9 class Face * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001F18C -> 0x8001F1B8 */ // Range: 0x8001F18C -> 0x8001F1B8 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\GemSmasher.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001F1B8 -> 0x8001F9D0 */ // Range: 0x8001F1B8 -> 0x8001F1D0 void * GemSmasher::GemSmasher() { // References // -> struct [anonymous] __vt__10GemSmasher; } // Range: 0x8001F1D0 -> 0x8001F210 void * GemSmasher::~GemSmasher(class GemSmasher * const this /* r31 */) {} // Range: 0x8001F210 -> 0x8001F260 class GemSmasher * NewGemSmasher(int slot /* r30 */, class RndDir * dir /* r31 */) {} // Range: 0x8001F260 -> 0x8001F268 int GemSmasher::Slot() {} // Range: 0x8001F268 -> 0x8001F278 unsigned char GemSmasher::Null() {} static class Message msg; // size: 0x8, address: 0x80976B78 // Range: 0x8001F278 -> 0x8001F434 void GemSmasher::Send(class GemSmasher * const this /* r31 */, class Symbol & message /* r30 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80976B90 // Range: 0x8001F434 -> 0x8001F644 void GemSmasher::SetShowing(class GemSmasher * const this /* r30 */, unsigned char showing /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80976BA8 // Range: 0x8001F644 -> 0x8001F854 void GemSmasher::SetGlowing(class GemSmasher * const this /* r30 */, unsigned char glowing /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Symbol glow; // size: 0x4, address: 0x80A48F6C // Range: 0x8001F854 -> 0x8001F8E4 unsigned char GemSmasher::Glowing(const class GemSmasher * const this /* r31 */) { // References // -> static class Symbol glow; } // Range: 0x8001F8E4 -> 0x8001F9D0 void GemSmasher::SetLOD(const class GemSmasher * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; } struct { // total size: 0x20 } __vt__10GemSmasher; // size: 0x20, address: 0x8086E630 struct { // total size: 0x8 } __RTTI__10GemSmasher; // size: 0x8, address: 0x8086E660 /* Compile unit: C:\rockband2\band2\src\bandtrack\GemTrack.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8001F9D0 -> 0x80022388 */ class GemTrack : public Track { // total size: 0xB0 unsigned char mResetFills; // offset 0x64, size 0x1 class ObjPtr mTrackDir; // offset 0x68, size 0xC int mLastTick; // offset 0x74, size 0x4 class GemManager * mGemManager; // offset 0x78, size 0x4 struct PlayerState mPlayerState; // offset 0x7C, size 0x18 struct PlayerState mLastPlayerState; // offset 0x94, size 0x18 signed short mKickPassCounter; // offset 0xAC, size 0x2 }; // Range: 0x8001F9D0 -> 0x8001FA8C void * GemTrack::GemTrack(class GemTrack * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; // -> struct [anonymous] __vt__8GemTrack; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class GemTrackDir * mPtr; // offset 0x8, size 0x4 }; // Range: 0x8001FB34 -> 0x8001FC30 void * GemTrack::~GemTrack(class GemTrack * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; // -> struct [anonymous] __vt__8GemTrack; } // Range: 0x8001FC30 -> 0x8001FC38 void GemTrack::ResetFills() {} // Range: 0x8001FC38 -> 0x8001FCAC void GemTrack::RebuildBeats(class GemTrack * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8001FCAC -> 0x8001FD80 void GemTrack::UpdateLeftyFlip(class GemTrack * const this /* r29 */) { // Local variables unsigned char lefty; // r31 class BandUser * user; // r0 class GameplayOptions * options; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol mash; // size: 0x4, address: 0x80A48F74 static class Symbol crash; // size: 0x4, address: 0x80A48F7C // Range: 0x8001FD80 -> 0x8001FFD0 void GemTrack::UpdateFills(class GemTrack * const this /* r27 */) { // Local variables class Player * player; // r0 class Symbol widName; // r1+0x10 int lane; // r28 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> const char * gNullStr; // -> static class Symbol crash; // -> static class Symbol mash; // -> class GameConfig * TheGameConfig; } // Range: 0x8001FFD0 -> 0x8002000C void GemTrack::SetPlayerState() {} static class Symbol mash; // size: 0x4, address: 0x80A48F84 static class Symbol crash; // size: 0x4, address: 0x80A48F8C // Range: 0x8002000C -> 0x800204F4 void GemTrack::DrawFill(class GemTrack * const this /* r25 */, class FillInfo * fill /* r26 */, int tick /* r27 */, int duration_ticks /* r21 */) { // Local variables struct FillExtent fillExtent; // r1+0x28 class Player * player; // r22 class Transform xform; // r1+0x40 unsigned char drums; // r0 unsigned char inCoda; // r0 float fillStartTime; // f31 float fillEndTime; // f30 float fillDuration; // f29 class EventTrigger * trig; // r0 int laneMask; // r0 int lane; // r21 class Symbol widName; // r1+0x20 class Symbol widName; // r1+0x1C // References // -> static class Symbol crash; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> const char * gNullStr; // -> static class Symbol mash; // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; // -> class GameConfig * TheGameConfig; } static int res; // size: 0x4, address: 0x80A46298 // Range: 0x800204F4 -> 0x80020EB8 void GemTrack::Poll(class GemTrack * const this /* r27 */, float ms /* f29 */) { // Local variables int track; // r29 int tick; // r0 class TrackWidget * widgets; // r24 class Transform xform; // r1+0x40 int i; // r28 struct MBT mbt; // r1+0x28 float time; // f31 class FillInfo * fill; // r23 int start_tick; // r1+0x24 int end_tick; // r1+0x20 unsigned char inGuitarSolo; // r0 float startTime; // f30 float duration; // f29 float codaTime; // f0 int startSection; // r1+0x1C int endSection; // r1+0x18 float start; // r1+0x14 float end; // r1+0x10 // References // -> class GamePanel * TheGamePanel; // -> class GameMode * TheGameMode; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> class SongDB * TheSongDB; // -> static int res; // -> class GameConfig * TheGameConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80020EB8 -> 0x80020FB4 void GemTrack::SetDir(class GemTrack * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __RTTI__11GemTrackDir; } // Range: 0x80020FB4 -> 0x80021094 void GemTrack::EnableSlot(class GemTrack * const this /* r30 */, int slot /* r29 */) { // Local variables int trackNum; // r0 class vector & vec; // r0 class GameGem * i; // r30 // References // -> class Debug TheDebug; // -> class SongDB * TheSongDB; // -> class GameConfig * TheGameConfig; } // Range: 0x80021094 -> 0x80021174 void GemTrack::DisableSlot(class GemTrack * const this /* r30 */, int slot /* r29 */) { // Local variables int trackNum; // r0 class vector & vec; // r0 class GameGem * i; // r30 // References // -> class Debug TheDebug; // -> class SongDB * TheSongDB; // -> class GameConfig * TheGameConfig; } // Range: 0x80021174 -> 0x800211D4 void GemTrack::HandleNewSong(class GemTrack * const this /* r31 */) {} // Range: 0x800211D4 -> 0x80021234 void GemTrack::See(class GemTrack * const this /* r30 */) { // Local variables int slots; // r0 } // Range: 0x80021234 -> 0x800212A0 void GemTrack::Hit(class GemTrack * const this /* r30 */, int gem_id /* r31 */) { // Local variables int slots; // r0 } // Range: 0x800212A0 -> 0x800212A8 void GemTrack::Miss() {} // Range: 0x800212A8 -> 0x80021300 void GemTrack::Pass(class GemTrack * const this /* r30 */, int gem_id /* r31 */) { // Local variables int lanes; // r0 } // Range: 0x80021300 -> 0x80021308 void GemTrack::Ignore() {} // Range: 0x80021308 -> 0x80021310 void GemTrack::SetFretButtonPressed() {} // Range: 0x80021310 -> 0x80021318 void GemTrack::ReleaseGem() {} // Range: 0x80021318 -> 0x800213C4 void GemTrack::Jump(class GemTrack * const this /* r31 */, float ms /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800213C4 -> 0x800213CC class GemManager * GemTrack::GetGemManager() {} // Range: 0x800213CC -> 0x80021434 void GemTrack::OnMissPhrase(class GemTrack * const this /* r31 */) {} // Range: 0x80021434 -> 0x80021514 float GemTrack::NextKickNoteMs(const class GemTrack * const this /* r31 */) { // Local variables float nowMs; // f31 int trackNum; // r0 const class vector & gameGems; // r0 int i; // r5 // References // -> class SongDB * TheSongDB; // -> class GameConfig * TheGameConfig; // -> class TaskMgr TheTaskMgr; } // Range: 0x80021514 -> 0x80021608 void GemTrack::SetBonusGems(class GemTrack * const this /* r27 */, unsigned char bonus /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x80021608 -> 0x80021610 void GemTrack::SetInCoda() {} // Range: 0x80021610 -> 0x80021688 void GemTrack::UpdateEffects(class GemTrack * const this /* r30 */, int ixEffect /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80021688 -> 0x80021690 void GemTrack::SetSmasherGlowing() {} // Range: 0x80021690 -> 0x80021698 void GemTrack::PopSmasher() {} // Range: 0x80021698 -> 0x800216AC void GemTrack::SetGemsEnabled() {} // Range: 0x800216AC -> 0x800216F0 void GemTrack::SetGemsEnabledByPlayer(class GemTrack * const this /* r31 */) {} // Range: 0x800216F0 -> 0x80021730 void GemTrack::UpdateGems(class GemTrack * const this /* r31 */) {} // Range: 0x80021730 -> 0x80021748 class Object * GemTrack::GetSmasher() {} static class Symbol _s; // size: 0x4, address: 0x80A48F94 static class Symbol _s; // size: 0x4, address: 0x80A48F9C static class Symbol _s; // size: 0x4, address: 0x80A48FA4 static class Symbol _s; // size: 0x4, address: 0x80A48FAC static class Symbol _s; // size: 0x4, address: 0x80A48FB4 static class Symbol _s; // size: 0x4, address: 0x80A48FBC static class Symbol _s; // size: 0x4, address: 0x80A48FC4 static class Symbol _s; // size: 0x4, address: 0x80A48FCC static class Symbol _s; // size: 0x4, address: 0x80A48FD4 static class Symbol _s; // size: 0x4, address: 0x80A48FDC // Range: 0x80021748 -> 0x80022388 class DataNode GemTrack::Handle(class GemTrack * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x48 class MessageTimer _mt; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct Node { // total size: 0xC class RndPollable * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; enum VocalParam { kVocalParamAny = 0, kVocalParamMicVolume = 1, kVocalParamMicGain = 2, kVocalParamCueVolume = 3, }; class TrackInterface : public Object { // total size: 0x28 }; enum CrowdMeterState { kNormal = 0, kWarning = 1, kFailed = 2, kInvalidState = 3, }; class PlayerBehavior { // total size: 0x10 unsigned char mCanDeployStarPower; // offset 0x0, size 0x1 unsigned char mTiltDeploysBandEnergy; // offset 0x1, size 0x1 unsigned char mFillsDeployBandEnergy; // offset 0x2, size 0x1 unsigned char mRequireAllCodaLanes; // offset 0x3, size 0x1 unsigned char mCanFreestyleBeforeGems; // offset 0x4, size 0x1 unsigned char mHasSolos; // offset 0x5, size 0x1 class Symbol mStreakType; // offset 0x8, size 0x4 int mMaxMultiplier; // offset 0xC, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Task * mPtr; // offset 0x8, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMatAnim * mPtr; // offset 0x8, size 0x4 }; class Key { // total size: 0x20 public: class Color value; // offset 0x0, size 0x10 float frame; // offset 0x10, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class Key { // total size: 0x8 public: float value; // offset 0x0, size 0x4 float frame; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class Key { // total size: 0x20 public: class Vector3 value; // offset 0x0, size 0x10 float frame; // offset 0x10, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TexPtr : public ObjPtr { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class TexKeys : public Keys { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class RndMatAnim : public RndAnimatable { // total size: 0xA0 protected: class ObjPtr mMat; // offset 0x10, size 0xC class ObjOwnerPtr mKeysOwner; // offset 0x1C, size 0xC class Keys mColorKeys; // offset 0x28, size 0xC class Keys mAlphaKeys; // offset 0x34, size 0xC class Keys mTransKeys; // offset 0x40, size 0xC class Keys mScaleKeys; // offset 0x4C, size 0xC class Keys mRotKeys; // offset 0x58, size 0xC class TexKeys mTexKeys; // offset 0x64, size 0x10 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMatAnim * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Object * mPtr; // offset 0x8, size 0x4 }; enum AnimKeysType { kFloat = 0, kColor = 1, kObject = 2, kBool = 3, kQuat = 4, kVector3 = 5, }; enum Interpolation { kStep = 0, kLinear = 1, kSpline = 2, kSlerp = 3, }; class Key { // total size: 0x20 public: class Quat value; // offset 0x0, size 0x10 float frame; // offset 0x10, size 0x4 }; class Key { // total size: 0x8 public: unsigned char value; // offset 0x0, size 0x1 float frame; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class ObjectStage : public ObjPtr { // total size: 0xC }; class Key { // total size: 0x10 public: class ObjectStage value; // offset 0x0, size 0xC float frame; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class ObjKeys : public Keys { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; enum ExceptionID { kNoException = 0, kTransQuat = 1, kTransScale = 2, kTransPos = 3, kDirEvent = 4, }; class PropKeys { // total size: 0x24 public: void * __vptr$; // offset 0x0, size 0x4 class ObjOwnerPtr mTarget; // offset 0x4, size 0xC class DataArray * mProp; // offset 0x10, size 0x4 enum AnimKeysType mKeysType; // offset 0x14, size 0x4 enum Interpolation mInterpolation; // offset 0x18, size 0x4 int mPropExceptionID; // offset 0x1C, size 0x4 class RndTransformable * mTrans; // offset 0x20, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class RndPropAnim : public RndAnimatable { // total size: 0x48 protected: class list mPropKeys; // offset 0x10, size 0x8 float mLastFrame; // offset 0x18, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndPropAnim * mPtr; // offset 0x8, size 0x4 }; enum Format { kPCM = 0, kBigEndPCM = 1, kVAG = 2, kXMA = 3, kATRAC = 4, kNintendoADPCM = 5, }; class SampleData { // total size: 0x14 int mNumSamples; // offset 0x0, size 0x4 int mSampleRate; // offset 0x4, size 0x4 int mSizeBytes; // offset 0x8, size 0x4 enum Format mFormat; // offset 0xC, size 0x4 void * mData; // offset 0x10, size 0x4 }; class SynthSample : public Object { // total size: 0x54 protected: class FilePath mFile; // offset 0x28, size 0xC unsigned char mIsLooped; // offset 0x34, size 0x1 int mLoopStartSamp; // offset 0x38, size 0x4 int mLoopEndSamp; // offset 0x3C, size 0x4 class SampleData mSampleData; // offset 0x40, size 0x14 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class SynthSample * mPtr; // offset 0x8, size 0x4 }; enum AttackMode { kAttackLinear = 0, kAttackExp = 1, }; enum SustainMode { kSustainLinInc = 0, kSustainLinDec = 2, kSustainExpInc = 4, kSustainExpDec = 6, }; enum ReleaseMode { kReleaseLinear = 0, kReleaseExp = 1, }; class Ps2ADSR { // total size: 0x4 unsigned short mReg1; // offset 0x0, size 0x2 unsigned short mReg2; // offset 0x2, size 0x2 }; class ADSR { // total size: 0x28 float mAttackRate; // offset 0x0, size 0x4 float mDecayRate; // offset 0x4, size 0x4 float mSustainRate; // offset 0x8, size 0x4 float mReleaseRate; // offset 0xC, size 0x4 float mSustainLevel; // offset 0x10, size 0x4 enum AttackMode mAttackMode; // offset 0x14, size 0x4 enum SustainMode mSustainMode; // offset 0x18, size 0x4 enum ReleaseMode mReleaseMode; // offset 0x1C, size 0x4 class Ps2ADSR mPacked; // offset 0x20, size 0x4 unsigned char mSynced; // offset 0x24, size 0x1 }; class SfxMap { // total size: 0x44 public: class ObjPtr mSample; // offset 0x0, size 0xC float mVolume; // offset 0xC, size 0x4 float mPan; // offset 0x10, size 0x4 float mTranspose; // offset 0x14, size 0x4 enum FXCore mFX; // offset 0x18, size 0x4 class ADSR mADSR; // offset 0x1C, size 0x28 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SfxMap * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SfxMap * _M_start; // offset 0x0, size 0x4 class SfxMap * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class FxSend * mPtr; // offset 0x8, size 0x4 }; enum SendChannels { kSendAll = 0, kSendCenter = 1, kSendStereo = 2, }; class FxSend : public Object { // total size: 0x50 protected: class ObjOwnerPtr mNextSend; // offset 0x28, size 0xC int mStage; // offset 0x34, size 0x4 unsigned char mBypass; // offset 0x38, size 0x1 float mDryGain; // offset 0x3C, size 0x4 float mWetGain; // offset 0x40, size 0x4 float mInputGain; // offset 0x44, size 0x4 unsigned char mEnableUpdates; // offset 0x48, size 0x1 enum SendChannels mChannels; // offset 0x4C, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class FxSend * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SampleInst * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SampleInst * * _M_start; // offset 0x0, size 0x4 class SampleInst * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SfxInst : public SeqInst { // total size: 0x50 class vector mSamples; // offset 0x40, size 0xC float mStartProgress; // offset 0x4C, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class Sfx : public Sequence { // total size: 0xA8 class ObjVector mMaps; // offset 0x78, size 0x10 class ObjPtr mSend; // offset 0x88, size 0xC class ObjPtrList mSfxInsts; // offset 0x94, size 0x14 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Sfx * mPtr; // offset 0x8, size 0x4 }; class BandPowerMeter : public RndDir { // total size: 0x2F0 float mTestEnergy; // offset 0x1F4, size 0x4 float mEnergy; // offset 0x1F8, size 0x4 class Symbol mState; // offset 0x1FC, size 0x4 unsigned char mVocalMeter; // offset 0x200, size 0x1 class ObjPtr mBeatTask; // offset 0x204, size 0xC class ObjPtr mBandMeterFillMatAnim; // offset 0x210, size 0xC class ObjPtr mBandMeterFillAnim; // offset 0x21C, size 0xC class ObjPtr mExtendAnimGroup; // offset 0x228, size 0xC class ObjPtr mResetTrigger; // offset 0x234, size 0xC class ObjPtr mBeReadyTrigger; // offset 0x240, size 0xC class ObjPtr mBeDeployingTrigger; // offset 0x24C, size 0xC class ObjPtr mBeFillingTrigger; // offset 0x258, size 0xC class ObjPtr mSpotlightPhraseSuccessTrigger; // offset 0x264, size 0xC class ObjPtr mNoOverdriveTrigger; // offset 0x270, size 0xC class ObjPtr mAvailableGuitarSfx; // offset 0x27C, size 0xC class ObjPtr mAvailableBassSfx; // offset 0x288, size 0xC class ObjPtr mAvailableDrumSfx; // offset 0x294, size 0xC class ObjPtr mAvailableVocalsSfx; // offset 0x2A0, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class BandPowerMeter * mPtr; // offset 0x8, size 0x4 }; class Style { // total size: 0x30 public: float size; // offset 0x0, size 0x4 float italics; // offset 0x4, size 0x4 class Color color; // offset 0x10, size 0x10 unsigned char hyphen; // offset 0x20, size 0x1 unsigned char brk; // offset 0x21, size 0x1 }; class Line { // total size: 0x50 public: class Style style; // offset 0x0, size 0x30 const char * start; // offset 0x30, size 0x4 const char * end; // offset 0x34, size 0x4 float z; // offset 0x38, size 0x4 float x; // offset 0x3C, size 0x4 float width; // offset 0x40, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Line * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Line * _M_start; // offset 0x0, size 0x4 class Line * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class CharInfo { // total size: 0x10 public: float normX; // offset 0x0, size 0x4 float normY; // offset 0x4, size 0x4 float charWidth; // offset 0x8, size 0x4 float charAdvance; // offset 0xC, size 0x4 }; class RndFont : public Object { // total size: 0x1070 protected: class ObjPtr mMat; // offset 0x28, size 0xC class ObjOwnerPtr mTextureOwner; // offset 0x34, size 0xC class CharInfo mCharInfos[256]; // offset 0x40, size 0x1000 class KerningTable * mKerning; // offset 0x1040, size 0x4 float mBaseKerning; // offset 0x1044, size 0x4 class Vector2 mCellSize; // offset 0x1048, size 0x8 float mDeprecatedSize; // offset 0x1050, size 0x4 class String mChars; // offset 0x1054, size 0xC unsigned char mMonospace; // offset 0x1060, size 0x1 class Vector2 mNormCellSize; // offset 0x1064, size 0x8 unsigned char mPacked; // offset 0x106C, size 0x1 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndFont * mPtr; // offset 0x8, size 0x4 }; enum Alignment { kTopLeft = 17, kTopCenter = 18, kTopRight = 20, kMiddleLeft = 33, kMiddleCenter = 34, kMiddleRight = 36, kBottomLeft = 65, kBottomCenter = 66, kBottomRight = 68, }; enum CapsMode { kCapsModeNone = 0, kForceLower = 1, kForceUpper = 2, }; class JitterCallback { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class RndText : public RndDrawable, public RndTransformable { // total size: 0x1E0 protected: class vector mLines; // offset 0xF8, size 0xC int mDisplayableChars; // offset 0x104, size 0x4 class ObjOwnerPtr mFont; // offset 0x108, size 0xC float mWrapWidth; // offset 0x114, size 0x4 enum Alignment mAlignment; // offset 0x118, size 0x4 enum CapsMode mCapsMode; // offset 0x11C, size 0x4 float mLeading; // offset 0x120, size 0x4 class String mText; // offset 0x124, size 0xC int mFixedLength; // offset 0x130, size 0x4 class Style mStyle; // offset 0x140, size 0x30 unsigned char mMarkup; // offset 0x170, size 0x1 unsigned char mUseAutoHyph; // offset 0x171, size 0x1 int mMinHyphWordLength; // offset 0x174, size 0x4 int mMinHyphPrefix; // offset 0x178, size 0x4 int mMinHyphSuffix; // offset 0x17C, size 0x4 class RndMesh * mMesh; // offset 0x180, size 0x4 class JitterCallback * mJitter; // offset 0x184, size 0x4 class String mMissingChars; // offset 0x188, size 0xC unsigned char mMissingNotify; // offset 0x194, size 0x1 class String mNegChars; // offset 0x198, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndText * mPtr; // offset 0x8, size 0x4 }; class StreakMeter : public RndDir { // total size: 0x2C0 int mStreakMultiplier; // offset 0x1F4, size 0x4 int mBandMultiplier; // offset 0x1F8, size 0x4 int mMaxMultiplier; // offset 0x1FC, size 0x4 unsigned char mShowBandMult; // offset 0x200, size 0x1 class ObjPtr mBuildStreakTrig; // offset 0x204, size 0xC class ObjPtr mEndStreakTrig; // offset 0x210, size 0xC class ObjPtr mSuperStreakTrig; // offset 0x21C, size 0xC class ObjPtr mBreakOverdriveTrig; // offset 0x228, size 0xC class ObjPtr mMultMeterAnim; // offset 0x234, size 0xC class ObjPtr mMultMeterText; // offset 0x240, size 0xC class ObjPtr mMeterWipeAnim; // offset 0x24C, size 0xC class ObjPtr mOverdriveTrig; // offset 0x258, size 0xC class ObjPtr mEndOverdriveTrig; // offset 0x264, size 0xC class ObjPtr mStopDepoyTrig; // offset 0x270, size 0xC class ObjPtr mResetTrig; // offset 0x27C, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class StreakMeter * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class TrackInterface * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct Node { // total size: 0xC class TrackWidget * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class GemTrackDir : public TrackDir, public BandTrack { // total size: 0x510 int mIndex; // offset 0x36C, size 0x4 int mNumTracks; // offset 0x370, size 0x4 int mMultiplier; // offset 0x374, size 0x4 int mKickPassCounter; // offset 0x378, size 0x4 float mStreakOffset; // offset 0x37C, size 0x4 float mStreakMeterTilt; // offset 0x380, size 0x4 float mTrackPitch; // offset 0x384, size 0x4 int mGemTrackCount; // offset 0x388, size 0x4 class ObjPtr mEffectSelector; // offset 0x38C, size 0xC class ObjPtr mRotater; // offset 0x398, size 0xC class ObjPtr mSurfaceTexture; // offset 0x3A4, size 0xC class ObjPtr mSurfaceMesh; // offset 0x3B0, size 0xC class ObjPtr mSurfaceMat; // offset 0x3BC, size 0xC class ObjPtr mTrackEnv; // offset 0x3C8, size 0xC class ObjPtr mGameCam; // offset 0x3D4, size 0xC class ObjPtr mBassSuperStreakOnTrig; // offset 0x3E0, size 0xC class ObjPtr mBassSuperStreakOffTrig; // offset 0x3EC, size 0xC class ObjPtr mKickDrummerTrig; // offset 0x3F8, size 0xC class ObjPtr mSpotlightPhraseSuccessTrig; // offset 0x404, size 0xC class ObjPtr mSoloHitTrig; // offset 0x410, size 0xC class vector mGemMashAnims; // offset 0x41C, size 0xC class vector mDrumMashAnims; // offset 0x428, size 0xC class vector mFillHitTrigs; // offset 0x434, size 0xC class ObjPtr mDrumFillResetTrig; // offset 0x440, size 0xC class ObjPtr mDrumMash2ndPassActivateAnim; // offset 0x44C, size 0xC class ObjPtr mDrumMashHitAnimGrp; // offset 0x458, size 0xC class ObjPtr mFillColorsGrp; // offset 0x464, size 0xC class ObjPtr mLODAnim; // offset 0x470, size 0xC class ObjPtr mSmasherPlate; // offset 0x47C, size 0xC class ObjPtrList mGlowWidgets; // offset 0x488, size 0x14 class ObjPtr mFxHiderTask; // offset 0x49C, size 0xC class ObjPtr mClearAllWidgetsTask; // offset 0x4A8, size 0xC class ObjPtr mUpdateGemsTask; // offset 0x4B4, size 0xC class ObjPtr mPlayIntroTask; // offset 0x4C0, size 0xC unsigned char mCrashAppeared; // offset 0x4CC, size 0x1 }; class BandTrack { // total size: 0xE8 public: void * __vptr$; // offset 0x0, size 0x4 protected: unsigned char mDisabled; // offset 0x4, size 0x1 unsigned char mSimulatedNet; // offset 0x5, size 0x1 class Symbol mInstrument; // offset 0x8, size 0x4 int mMaxMultiplier; // offset 0xC, size 0x4 unsigned char mSuperStreak; // offset 0x10, size 0x1 unsigned char mNoOverdrive; // offset 0x11, size 0x1 unsigned char mWarning; // offset 0x12, size 0x1 unsigned char mActive; // offset 0x13, size 0x1 class ObjPtr mPlayerIntro; // offset 0x14, size 0xC class ObjPtr mOverdriveMeter; // offset 0x20, size 0xC class ObjPtr mStreakMeter; // offset 0x2C, size 0xC class ObjPtr mPopupObject; // offset 0x38, size 0xC class ObjPtr mPlayerFeedback; // offset 0x44, size 0xC class ObjPtr mFailedFeedback; // offset 0x50, size 0xC class Symbol mLastPopup; // offset 0x5C, size 0x4 unsigned char mPopupActive; // offset 0x60, size 0x1 class RndDir * mFinaleFeedback; // offset 0x64, size 0x4 unsigned int mFinaleStartCycle; // offset 0x68, size 0x4 unsigned char mFinaleHelpActive; // offset 0x6C, size 0x1 class ObjPtr mTrack; // offset 0x70, size 0xC class ObjPtr mDir; // offset 0x7C, size 0xC class ObjPtr mRetractTrig; // offset 0x88, size 0xC class ObjPtr mResetTrig; // offset 0x94, size 0xC class ObjPtr mDeploy; // offset 0xA0, size 0xC class ObjPtr mStopDeploy; // offset 0xAC, size 0xC class ObjPtr mIntro; // offset 0xB8, size 0xC class ObjPtr mDisconnectTask; // offset 0xC4, size 0xC class ObjPtr mHideIntroTask; // offset 0xD0, size 0xC class ObjPtr mDelayedFailTask; // offset 0xDC, size 0xC }; class Track : public TrackInterface { // total size: 0x64 protected: class TrackConfig mTrackConfig; // offset 0x28, size 0x2C float mLastRating; // offset 0x54, size 0x4 enum CrowdMeterState mLastRatingState; // offset 0x58, size 0x4 int mLastStreakCount; // offset 0x5C, size 0x4 class GameplayOptions * mGameplayOptions; // offset 0x60, size 0x4 }; struct { // total size: 0x120 } __vt__8GemTrack; // size: 0x120, address: 0x8086E7E0 struct { // total size: 0x8 } __RTTI__8GemTrack; // size: 0x8, address: 0x8086E930 struct { // total size: 0x18 } __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; // size: 0x18, address: 0x8086E938 struct { // total size: 0x8 } __RTTI__32ObjPtr<11GemTrackDir,9ObjectDir>; // size: 0x8, address: 0x8086E980 struct { // total size: 0x8 } __RTTI__11GemTrackDir; // size: 0x8, address: 0x8086EA00 struct { // total size: 0x8 } __RTTI__9BandTrack; // size: 0x8, address: 0x8086EA18 struct { // total size: 0x8 } __RTTI__5Track; // size: 0x8, address: 0x8086EA48 struct { // total size: 0x8 } __RTTI__14TrackInterface; // size: 0x8, address: 0x8086EA78 struct { // total size: 0x8 } __RTTI__8TrackDir; // size: 0x8, address: 0x8086EB28 struct { // total size: 0x8 } __RTTI__8PanelDir; // size: 0x8, address: 0x8086EB90 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80022388 -> 0x8002248C */ // Range: 0x80022388 -> 0x8002248C void GemTrack::Init(class GemTrack * const this /* r28 */) { // Local variables unsigned char lefty; // r31 class BandUser * user; // r30 class GameplayOptions * options; // r29 int trackNum; // r29 // References // -> class GameConfig * TheGameConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002248C -> 0x800225AC */ // Range: 0x8002248C -> 0x80022500 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; } // Range: 0x80022500 -> 0x80022508 class Object * ObjPtr::RefOwner() {} // Range: 0x80022508 -> 0x800225AC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11GemTrackDir; } /* Compile unit: C:\rockband2\band2\src\meta\charOptions.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800225AC -> 0x800225B4 */ // Range: 0x800225AC -> 0x800225B4 unsigned char GameplayOptions::GetLefty() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\GemTrack.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800225B4 -> 0x800225D8 */ // Range: 0x800225B4 -> 0x800225C8 class BandTrack * GemTrack::GetBandTrack() {} // Range: 0x800225C8 -> 0x800225D0 unsigned char GemTrack::Lefty() {} // Range: 0x800225D0 -> 0x800225D8 class RndDir * GemTrack::GetDir() {} /* Compile unit: C:\rockband2\system\src\bandobj\TrackInterface.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800225D8 -> 0x80022600 */ // Range: 0x800225D8 -> 0x800225DC void TrackInterface::SetStaticVocals() {} // Range: 0x800225DC -> 0x800225E4 unsigned char TrackInterface::IsCurrentVocalParam() {} // Range: 0x800225E4 -> 0x800225EC int TrackInterface::IncrementVolume() {} // Range: 0x800225EC -> 0x800225F4 unsigned char TrackInterface::InTambourinePhrase() {} // Range: 0x800225F4 -> 0x800225F8 void TrackInterface::SetScreamThresholds() {} // Range: 0x800225F8 -> 0x80022600 unsigned char TrackInterface::IsScrolling() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\Track.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80022600 -> 0x80022624 */ // Range: 0x80022600 -> 0x80022608 unsigned char Track::Showing() {} // Range: 0x80022608 -> 0x8002260C void Track::SetShowing() {} // Range: 0x8002260C -> 0x80022610 void Track::Draw() {} // Range: 0x80022610 -> 0x80022614 void Track::FinishLoad() {} // Range: 0x80022614 -> 0x8002261C unsigned char Track::IsLoaded() {} // Range: 0x8002261C -> 0x80022620 void Track::Unload() {} // Range: 0x80022620 -> 0x80022624 void Track::Load() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\GraphicsUtl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80022624 -> 0x800226C8 */ // Range: 0x80022624 -> 0x80022668 void UnhookGroupParents(class Object * obj /* r31 */) { // Local variables class RndGroup * g; // r0 } // Range: 0x80022668 -> 0x800226C8 void UnhookAllParents(class Object * obj /* r31 */) { // Local variables class RndTransformable * trans; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } class Triangle { // total size: 0x40 public: class Vector3 origin; // offset 0x0, size 0x10 class Matrix3 frame; // offset 0x10, size 0x30 }; /* Compile unit: C:\rockband2\band2\src\bandtrack\NowBar.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800226C8 -> 0x80022C3C */ // Range: 0x800226C8 -> 0x800227E0 void * NowBar::~NowBar(class NowBar * const this /* r28 */) {} // Range: 0x800227E0 -> 0x800227E4 void NowBar::Poll() {} static class Symbol miss; // size: 0x4, address: 0x80A48FE4 // Range: 0x800227E4 -> 0x8002292C void NowBar::Miss(class NowBar * const this /* r31 */, int slot /* r28 */) { // Local variables class GemSmasher * smasher; // r29 int i; // r28 // References // -> static class Symbol miss; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8002292C -> 0x80022A20 void NowBar::PopSmasher(class NowBar * const this /* r29 */, int slot /* r30 */) { // Local variables class GemSmasher * * it; // r30 class GemSmasher * smasher; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80022A20 -> 0x80022B10 void NowBar::SetSmasherGlowing(class NowBar * const this /* r29 */, int slot /* r31 */, unsigned char glowing /* r30 */) { // Local variables class GemSmasher * * it; // r31 class GemSmasher * smasher; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80022B10 -> 0x80022BAC void NowBar::StopBurning(class NowBar * const this /* r29 */) { // Local variables int slot; // r31 class GemSmasher * smasher; // r30 } // Range: 0x80022BAC -> 0x80022BB0 void NowBar::SetBonus() {} // Range: 0x80022BB0 -> 0x80022C3C class GemSmasher * NowBar::FindSmasher(const class NowBar * const this /* r30 */, int slot /* r1+0x8 */) {} struct { // total size: 0x8 } __RTTI__PP10GemSmasher; // size: 0x8, address: 0x8086F0C8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80022C3C -> 0x80023290 */ // Range: 0x80022C3C -> 0x80022DCC void * NowBar::NowBar(class NowBar * const this /* r27 */, class ObjectDir * dir /* r28 */) { // Local variables int i; // r29 class GemSmasher * smasher; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x80022DCC -> 0x80022E40 void NowBar::Reset(class NowBar * const this /* r30 */) { // Local variables class GemSmasher * * it; // r31 } // Range: 0x80022E40 -> 0x80023290 void NowBar::Hit(class NowBar * const this /* r20 */, int gem_id /* r21 */, unsigned char bonus /* r24 */, unsigned char coda /* r22 */, int hit_flags /* r23 */) { // Local variables int trackNum; // r28 const class GameGem & gem; // r0 float gem_ms; // f0 unsigned short slots; // r27 unsigned char duration; // r0 unsigned char star; // r26 unsigned char combo; // r25 unsigned char drumHit; // r24 unsigned char cymbalHit; // r23 int slot; // r28 class GemSmasher * smasher; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80023290 -> 0x800232DC */ // Range: 0x80023290 -> 0x800232DC char * MakeString(const char * fmt /* r0 */, int t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800232DC -> 0x80023370 */ // Range: 0x800232DC -> 0x80023370 class GemSmasher * const * __lower_bound(class GemSmasher * const * __first /* r26 */, const int & __val /* r27 */) { // Local variables long __len; // r30 long __half; // r29 class GemSmasher * const * __middle; // r28 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80023370 -> 0x800234A8 */ // Range: 0x80023370 -> 0x800234A8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class GemSmasher * * __pos /* r28 */, class GemSmasher * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class GemSmasher * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10GemSmasher; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\bandtrack\Tail.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800234A8 -> 0x80024ECC */ class Symbol name; // size: 0x4, address: 0x80A48FEC class Symbol name; // size: 0x4, address: 0x80A48FF4 class Point { // total size: 0x50 public: class Vector3 v; // offset 0x0, size 0x10 class Color c; // offset 0x10, size 0x10 class Vector3 cam; // offset 0x20, size 0x10 class Vector2 base; // offset 0x30, size 0x8 class Vector2 dir; // offset 0x38, size 0x8 class Vector2 delta; // offset 0x40, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Point * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Point * _M_start; // offset 0x0, size 0x4 class Point * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum Type { kNoCaps = 0, kCapsFirst = 1, kCapsLast = 2, }; class VertsMap { // total size: 0x8 public: enum Type t; // offset 0x0, size 0x4 class Vert * v; // offset 0x4, size 0x4 }; class RndLine : public RndDrawable, public RndTransformable { // total size: 0x160 protected: float mWidth; // offset 0xF8, size 0x4 class vector mPoints; // offset 0xFC, size 0xC class RndMesh * mMesh; // offset 0x108, size 0x4 unsigned char mHasCaps; // offset 0x10C, size 0x1 unsigned char mLinePairs; // offset 0x10D, size 0x1 float mFoldAngle; // offset 0x110, size 0x4 float mFoldCos; // offset 0x114, size 0x4 class ObjPtr mMat; // offset 0x118, size 0xC unsigned char mUpdate; // offset 0x124, size 0x1 }; // Range: 0x800234A8 -> 0x800235E0 void * Tail::~Tail(class Tail * const this /* r30 */) { // References // -> struct [anonymous] __vt__4Tail; } // Range: 0x800235E0 -> 0x80023754 void Tail::Init(class Tail * const this /* r29 */, float x /* f30 */, float y /* f31 */, class Symbol & type /* r30 */, class RndGroup * parent /* r31 */) {} // Range: 0x80023754 -> 0x800237D4 void Tail::MoveSlot() { // Local variables class Vector3 localPos; // r1+0x10 } // Range: 0x800237D4 -> 0x80023818 void Tail::Done(class Tail * const this /* r31 */) {} static class Symbol unison; // size: 0x4, address: 0x80A48FFC static class Symbol star; // size: 0x4, address: 0x80A49004 static class Symbol bonus; // size: 0x4, address: 0x80A4900C static class Symbol invisible; // size: 0x4, address: 0x80A49014 // Range: 0x80023818 -> 0x80023A14 void Tail::SetType(class Tail * const this /* r29 */, class Symbol & type /* r31 */) { // Local variables class RndMat * tail_glow_mat; // r4 // References // -> static class Symbol invisible; // -> static class Symbol bonus; // -> static class Symbol star; // -> static class Symbol unison; } // Range: 0x80023A14 -> 0x80023D48 void Tail::EnableDuration(class Tail * const this /* r31 */, class RndMesh * cloneMesh /* r29 */) { // Local variables class Matrix3 m; // r1+0x20 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80023D48 -> 0x80023E24 void Tail::KillDuration(class Tail * const this /* r31 */) {} // Range: 0x80023E24 -> 0x80023EB4 void Tail::SetDuration(class Tail * const this /* r31 */) {} // Range: 0x80023EB4 -> 0x80023F18 void Tail::Miss(class Tail * const this /* r31 */) {} static class Symbol star; // size: 0x4, address: 0x80A4901C // Range: 0x80023F18 -> 0x80023FBC void Tail::Hit(class Tail * const this /* r31 */) { // References // -> static class Symbol star; } // Range: 0x80023FBC -> 0x80024020 void Tail::Release(class Tail * const this /* r31 */) {} static class Symbol star; // size: 0x4, address: 0x80A49024 static float pulseRate; // size: 0x4, address: 0x80A49028 // Range: 0x80024020 -> 0x800245DC void Tail::Poll(class Tail * const this /* r30 */, float ms /* f27 */, float whammy /* f28 */, float whammyActive /* f29 */) { // Local variables float frame; // f1 float whammyAlpha; // f1 float amplitude; // f31 float frequency; // f0 float elapsed; // f0 float f; // f30 float cutoff_y; // f27 class RndParticle * p; // r4 class Color clr; // r1+0x40 float tail_width; // f0 // References // -> static float pulseRate; // -> class TaskMgr TheTaskMgr; // -> static class Symbol star; } // Range: 0x800245DC -> 0x800246C0 static class RndParticleSys * NewRndCopy(const class RndParticleSys * src /* r30 */) { // Local variables class RndParticleSys * result; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; // -> class Symbol name; } static class Symbol star; // size: 0x4, address: 0x80A49030 // Range: 0x800246C0 -> 0x80024CF4 void Tail::UpdateVerts(class Tail * const this /* r25 */, float whammyAlpha /* f25 */, float whammyActive /* f26 */) { // Local variables float len; // f31 float sec_len; // f30 int num_sections; // r5 float first_sec_len; // f29 int total_sections; // r29 int null_sections; // r28 class Vert * v; // r27 int sec; // r26 float vy; // f28 float vx; // f0 float max_vx; // f27 class Color clr; // r1+0x10 int index; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol star; } // Range: 0x80024CF4 -> 0x80024ECC void Tail::SetupInitialVerts(class Tail * const this /* r31 */, float alpha /* f31 */) { // Local variables float len; // f3 float sec_len; // f4 int num_sections; // r0 const class Vert * src_beg; // r7 const class Vert * src_end; // r0 class Vert * v; // r4 float vy; // f5 float vx; // f6 class Color clr; // r1+0x10 int i; // r8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__7RndLine; // size: 0x8, address: 0x8086F210 struct { // total size: 0xC } __vt__4Tail; // size: 0xC, address: 0x8086F488 struct { // total size: 0x8 } __RTTI__4Tail; // size: 0x8, address: 0x8086F4A0 /* Compile unit: C:\rockband2\system\src\rndobj\Part.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80024ECC -> 0x800250EC */ // Range: 0x80024ECC -> 0x800250EC void * Tail::Tail(class Tail * const this /* r31 */, struct GemRepTemplate & temp /* r29 */) { // References // -> struct [anonymous] __RTTI__7RndLine; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Symbol name; // -> struct [anonymous] __vt__4Tail; } /* Compile unit: C:\rockband2\band2\src\bandtrack\Track.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800250EC -> 0x80026224 */ // Range: 0x800250EC -> 0x80025158 void * Track::Track(class Track * const this /* r29 */, int player /* r30 */, class Symbol & type /* r31 */) { // References // -> struct [anonymous] __vt__5Track; } // Range: 0x80025158 -> 0x80025160 int Track::GetPlayerNum() {} // Range: 0x80025160 -> 0x80025198 int Track::GetPlayerDifficulty() { // Local variables class Player * p; // r0 } // Range: 0x80025198 -> 0x800251EC class Object * Track::GetObj(class Symbol & name /* r31 */) { // Local variables class RndDir * dir; // r0 } // Range: 0x800251EC -> 0x800251F4 class Symbol Track::GetType() {} // Range: 0x800251F4 -> 0x80025224 class Player * Track::GetPlayer() { // References // -> class GameConfig * TheGameConfig; } // Range: 0x80025224 -> 0x80025298 unsigned char Track::ShouldDisablePopupHelp() { // Local variables class Player * p; // r30 } // Range: 0x80025298 -> 0x800252AC unsigned char Track::InGame() { // References // -> class Game * TheGame; } // Range: 0x800252AC -> 0x800252D8 unsigned char Track::HasPlayer() {} // Range: 0x800252D8 -> 0x80025348 char * Track::GetTrackIcon() { // Local variables class Player * player; // r0 } // Range: 0x80025348 -> 0x80025380 char * Track::GetPlayerName() { // Local variables class Player * player; // r0 } // Range: 0x80025380 -> 0x800253B8 char * Track::GetUserName() { // Local variables class Player * player; // r0 } // Range: 0x800253B8 -> 0x800253FC unsigned char Track::PlayerDisconnected() { // Local variables class Player * p; // r0 } // Range: 0x800253FC -> 0x80025430 unsigned char Track::PlayerDisconnectedAtStart() { // Local variables class Player * p; // r0 } // Range: 0x80025430 -> 0x80025478 unsigned char Track::HasLocalPlayer() { // Local variables class Player * p; // r0 } // Range: 0x80025478 -> 0x800254B8 unsigned char Track::PlayerDisabled() { // Local variables class Player * p; // r0 } static class Symbol deploy_to_save; // size: 0x4, address: 0x80A4903C // Range: 0x800254B8 -> 0x80025648 void Track::DTSPopup(unsigned char show /* r31 */) { // Local variables const class vector & players; // r0 class Player * const * it; // r28 class Player * const * end; // r27 class Player * player; // r26 unsigned char showForPlayer; // r25 // References // -> static class Symbol deploy_to_save; // -> class Game * TheGame; } class CrowdRating { // total size: 0x48 public: void * __vptr$; // offset 0x0, size 0x4 private: const class DataArray * mConfig; // offset 0x4, size 0x4 unsigned char mActive; // offset 0x8, size 0x1 float mRawValue; // offset 0xC, size 0x4 float mValue; // offset 0x10, size 0x4 float mRunningMin; // offset 0x14, size 0x4 float mSongFraction; // offset 0x18, size 0x4 float mLoseLevel; // offset 0x1C, size 0x4 float kMin; // offset 0x20, size 0x4 float kMax; // offset 0x24, size 0x4 float kNoteWeight; // offset 0x28, size 0x4 float kPhraseWeight; // offset 0x2C, size 0x4 float kInitialDisplayLevel; // offset 0x30, size 0x4 float kGreatLevel; // offset 0x34, size 0x4 float kOkayLevel; // offset 0x38, size 0x4 float kBadLevel; // offset 0x3C, size 0x4 float kWarningLevel; // offset 0x40, size 0x4 float kFreeRide; // offset 0x44, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndLine * mPtr; // offset 0x8, size 0x4 }; struct Node { // total size: 0xC class RndTransformable * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class VocalTrackDir : public RndDir, public BandTrack { // total size: 0x5C0 unsigned char mTestArrowVisible; // offset 0x2DC, size 0x1 unsigned char mTestPitched; // offset 0x2DD, size 0x1 unsigned char mStaticVocals; // offset 0x2DE, size 0x1 unsigned char mEnableVocalsOptions; // offset 0x2DF, size 0x1 unsigned char mTop; // offset 0x2E0, size 0x1 int mFeedbackState; // offset 0x2E4, size 0x4 class vector mFeedbackColors; // offset 0x2E8, size 0xC int mPhraseChangeDurationTicks; // offset 0x2F4, size 0x4 int mTimeBeforePhraseToSpaceTicks; // offset 0x2F8, size 0x4 float mNextPhraseAnimationRatio; // offset 0x2FC, size 0x4 int mNextPhraseFadeInBefore; // offset 0x300, size 0x4 float mPhraseMeterVal; // offset 0x304, size 0x4 float mTestPhraseMeter; // offset 0x308, size 0x4 class Color mScrollingNormal; // offset 0x310, size 0x10 class Color mScrollingNow; // offset 0x320, size 0x10 class Color mScrollingPast; // offset 0x330, size 0x10 class Color mScrollingStyle; // offset 0x340, size 0x10 class Color mScrollingStyleNow; // offset 0x350, size 0x10 class Color mScrollingStylePast; // offset 0x360, size 0x10 class Color mStaticPreview; // offset 0x370, size 0x10 class Color mStaticNormal; // offset 0x380, size 0x10 class Color mStaticNow; // offset 0x390, size 0x10 class Color mStaticPast; // offset 0x3A0, size 0x10 class Color mStaticPreviewStyle; // offset 0x3B0, size 0x10 class Color mStaticNormalStyle; // offset 0x3C0, size 0x10 class Color mStaticNowStyle; // offset 0x3D0, size 0x10 class Color mStaticPastStyle; // offset 0x3E0, size 0x10 class ObjPtr mScrollingPitchedTube; // offset 0x3F0, size 0xC class ObjPtr mScrollingUnpitchedTube; // offset 0x3FC, size 0xC class ObjPtr mScrollingPitchedStyleTube; // offset 0x408, size 0xC class ObjPtr mScrollingUnpitchedStyleTube; // offset 0x414, size 0xC class ObjPtr mStaticPitchedTube; // offset 0x420, size 0xC class ObjPtr mStaticUnpitchedTube; // offset 0x42C, size 0xC class ObjPtr mStaticPitchedStyleTube; // offset 0x438, size 0xC class ObjPtr mStaticUnpitchedStyleTube; // offset 0x444, size 0xC class Color mBackground; // offset 0x450, size 0x10 class Color mBackgroundSpotlight; // offset 0x460, size 0x10 float mPreviewZ; // offset 0x470, size 0x4 float mCurrentZ; // offset 0x474, size 0x4 class vector mTubeWidths; // offset 0x478, size 0xC float mPhonemeTubeWidth; // offset 0x484, size 0x4 class ObjPtr mVocalistVolume; // offset 0x488, size 0xC unsigned char mLastFrameScoring; // offset 0x494, size 0x1 float mMinPitchRange; // offset 0x498, size 0x4 float mArrowSmoothing; // offset 0x49C, size 0x4 float mDeployMaskScrollRate; // offset 0x4A0, size 0x4 class ObjPtrList mConfigurableObjects; // offset 0x4A4, size 0x14 float mSideFadeLength; // offset 0x4B8, size 0x4 unsigned char mArrowVisible; // offset 0x4BC, size 0x1 unsigned char mPitchMatching; // offset 0x4BD, size 0x1 class ObjPtr mVoxConfig; // offset 0x4C0, size 0xC class ObjPtr mTambourineSmasher; // offset 0x4CC, size 0xC class ObjPtr mTambourineNowShowTrig; // offset 0x4D8, size 0xC class ObjPtr mTambourineNowHideTrig; // offset 0x4E4, size 0xC class ObjPtr mPitchArrowGrp; // offset 0x4F0, size 0xC class ObjPtr mArrowVisibleAnim; // offset 0x4FC, size 0xC class ObjPtr mPitchArrowSplitCloseTrig; // offset 0x508, size 0xC class ObjPtr mPitchArrowSplitOpenTrig; // offset 0x514, size 0xC class ObjPtr mPhraseFeedbackTxt; // offset 0x520, size 0xC class ObjPtr mPhraseFeedbackTrig; // offset 0x52C, size 0xC class ObjPtr mSpotlightSparklesOnlyTrig; // offset 0x538, size 0xC class ObjPtr mSpotlightPhraseSuccessTrig; // offset 0x544, size 0xC class ObjPtr mNewPhraseTrig; // offset 0x550, size 0xC class ObjPtr mFlareTrig; // offset 0x55C, size 0xC class ObjPtr mScoringTrig; // offset 0x568, size 0xC class ObjPtr mScoringStopTrig; // offset 0x574, size 0xC }; // Range: 0x80025648 -> 0x800256BC unsigned char Track::HasNetPlayer() { // Local variables class Player * p; // r30 } // Range: 0x800256BC -> 0x800256E4 int Track::GetBandMultiplier() {} // Range: 0x800256E4 -> 0x80025730 void Track::PushGameplayOptions(class Track * const this /* r31 */) { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80025730 -> 0x80025788 void Track::SetNoOverdrive(class Track * const this /* r31 */) {} // Range: 0x80025788 -> 0x800257B8 unsigned char Track::GetNoBackFromBrink() {} // Range: 0x800257B8 -> 0x800258C0 void Track::RefreshPlayerHUD(class Track * const this /* r28 */) { // Local variables class BandTrack * trackDir; // r29 class Player * player; // r28 } // Range: 0x800258C0 -> 0x80025908 unsigned char Track::FailedAtStart(class Track * const this /* r31 */) {} // Range: 0x80025908 -> 0x80025950 unsigned char Track::IsDeployingOverdrive(const class Track * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A49044 static class Symbol _s; // size: 0x4, address: 0x80A4904C static class Symbol _s; // size: 0x4, address: 0x80A49054 static class Symbol _s; // size: 0x4, address: 0x80A4905C static class Symbol _s; // size: 0x4, address: 0x80A49064 // Range: 0x80025950 -> 0x80026224 class DataNode Track::Handle(class Track * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x11C } __vt__5Track; // size: 0x11C, address: 0x8086F604 struct { // total size: 0xDC } __vt__14TrackInterface; // size: 0xDC, address: 0x8086F750 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80026224 -> 0x80026534 */ // Range: 0x80026224 -> 0x800262E4 class Track * NewTrack(int player /* r30 */, class Symbol & type /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x80026340 -> 0x80026534 void Track::Poll(class Track * const this /* r27 */) { // Local variables class Player * player; // r30 float rating; // f31 enum CrowdMeterState ratingState; // r31 int streakCount; // r29 class BandTrack * bandTrack; // r28 // References // -> class GamePanel * TheGamePanel; // -> class Debug TheDebug; // -> class GameMode * TheGameMode; // -> class GameConfig * TheGameConfig; } /* Compile unit: C:\rockband2\band2\src\game\Player.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80026534 -> 0x80026544 */ // Range: 0x80026534 -> 0x8002653C unsigned char Player::InFill() {} // Range: 0x8002653C -> 0x80026544 unsigned char Player::InFreestyleSection() {} /* Compile unit: C:\rockband2\system\src\bandobj\TrackInterface.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80026544 -> 0x80026570 */ // Range: 0x80026544 -> 0x8002654C unsigned char TrackInterface::Lefty() {} // Range: 0x8002654C -> 0x80026554 class Object * TrackInterface::GetSmasher() {} // Range: 0x80026554 -> 0x8002655C float TrackInterface::NextKickNoteMs() {} // Range: 0x8002655C -> 0x80026560 void TrackInterface::UpdateGems() {} // Range: 0x80026560 -> 0x80026564 void TrackInterface::SetGemsEnabledByPlayer() {} // Range: 0x80026564 -> 0x80026568 void TrackInterface::SetGemsEnabled() {} // Range: 0x80026568 -> 0x8002656C void TrackInterface::SetBonusGems() {} // Range: 0x8002656C -> 0x80026570 void TrackInterface::Init() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\Track.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80026570 -> 0x80026584 */ // Range: 0x80026570 -> 0x80026574 void Track::OnMissPhrase() {} // Range: 0x80026574 -> 0x80026578 void Track::PopSmasher() {} // Range: 0x80026578 -> 0x8002657C void Track::SetSmasherGlowing() {} // Range: 0x8002657C -> 0x80026580 void Track::SetDir() {} // Range: 0x80026580 -> 0x80026584 void Track::Jump() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\TrackConfig.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80026584 -> 0x80026758 */ // Range: 0x80026584 -> 0x800265C8 void * TrackConfig::TrackConfig() { // References // -> const char * gNullStr; } // Range: 0x800265C8 -> 0x800265D0 int TrackConfig::Player() {} // Range: 0x800265D0 -> 0x800265D8 int TrackConfig::TrackNum() {} // Range: 0x800265D8 -> 0x800265E0 class Symbol TrackConfig::Type() {} // Range: 0x800265E0 -> 0x800265E8 unsigned char TrackConfig::IsLefty() {} // Range: 0x800265E8 -> 0x800265F0 unsigned char TrackConfig::UseLeftyGems() {} static class Symbol drum; // size: 0x4, address: 0x80A4906C // Range: 0x800265F0 -> 0x80026650 unsigned char TrackConfig::IsDrumTrack(const class TrackConfig * const this /* r31 */) { // References // -> static class Symbol drum; } // Range: 0x80026650 -> 0x80026748 char * TrackConfig::GetSlotColor(const class TrackConfig * const this /* r28 */, int slot /* r29 */) { // Local variables class DataArray * colors; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80026748 -> 0x80026750 void TrackConfig::SetLefty() {} // Range: 0x80026750 -> 0x80026758 void TrackConfig::SetTrackNum() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\TrackPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80026758 -> 0x8002BE70 */ class DataArray * types; // size: 0x4, address: 0x80A49070 class Symbol name; // size: 0x4, address: 0x80A49078 class DataArray * types; // size: 0x4, address: 0x80A4907C class Symbol name; // size: 0x4, address: 0x80A49084 // Range: 0x80026758 -> 0x8002677C class TrackPanelDirBase * GetTrackPanelDir() {} enum TrackInstrument { kInstGuitar = 0, kInstDrum = 1, kInstBass = 2, kInstVocals = 3, kNumTrackInstruments = 4, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: enum TrackInstrument * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: enum TrackInstrument * _M_start; // offset 0x0, size 0x4 enum TrackInstrument * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TrackPanelInterface : public UIPanel { // total size: 0x5C }; class TrackPanel : public TrackPanelInterface { // total size: 0xDC unsigned char mInitialized; // offset 0x30, size 0x1 unsigned char mCamTweak; // offset 0x31, size 0x1 const class DataArray * mConfig; // offset 0x34, size 0x4 class vector mTracks; // offset 0x38, size 0xC class vector mScoreDisplays; // offset 0x44, size 0xC class vector mLastScore; // offset 0x50, size 0xC class vector mLastNumStars; // offset 0x5C, size 0xC class vector mCodaDisplays; // offset 0x68, size 0xC unsigned char mBandsReversed; // offset 0x74, size 0x1 class map mReloadChecks; // offset 0x78, size 0x18 float mNextReloadTime; // offset 0x90, size 0x4 class TrackPanelDirBase * mTrackPanelDir; // offset 0x94, size 0x4 int mFrame; // offset 0x98, size 0x4 float mTargetStartAccumScore; // offset 0x9C, size 0x4 float mTargetEndAccumScore; // offset 0xA0, size 0x4 float mBandNamesFadeOutMS; // offset 0xA4, size 0x4 float mBandNamesFadeInMS; // offset 0xA8, size 0x4 unsigned char mHidingBandNames; // offset 0xAC, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Track * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Track * * _M_start; // offset 0x0, size 0x4 class Track * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class Scoreboard : public RndDir { // total size: 0x2F0 int mCurrentStar; // offset 0x1F4, size 0x4 float mTestScore; // offset 0x1F8, size 0x4 float mTestStars; // offset 0x1FC, size 0x4 float mTestOpponentScore; // offset 0x200, size 0x4 float mScore; // offset 0x204, size 0x4 float mNumStars; // offset 0x208, size 0x4 float mOpponentScore; // offset 0x20C, size 0x4 float mSweepPercent; // offset 0x210, size 0x4 unsigned char mGold; // offset 0x214, size 0x1 unsigned char mPlayStarSfx; // offset 0x215, size 0x1 class ObjVector mStars; // offset 0x218, size 0x10 unsigned char mSound; // offset 0x228, size 0x1 class Symbol mConfig; // offset 0x22C, size 0x4 class ObjPtr mStarsOffset; // offset 0x230, size 0xC class ObjPtr mGoldStars; // offset 0x23C, size 0xC class ObjPtr mScoreText; // offset 0x248, size 0xC class ObjPtr mOpponentScoreText; // offset 0x254, size 0xC class ObjPtr mStarBattle; // offset 0x260, size 0xC class ObjPtr mStarBattleOff; // offset 0x26C, size 0xC class ObjPtr mGoldStarsTrigger; // offset 0x278, size 0xC class ObjPtr mAchieveStar; // offset 0x284, size 0xC class ObjPtr mConfigNormal; // offset 0x290, size 0xC class ObjPtr mConfigBotb; // offset 0x29C, size 0xC class ObjPtr mStarsGroup; // offset 0x2A8, size 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Scoreboard * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Scoreboard * * _M_start; // offset 0x0, size 0x4 class Scoreboard * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class EndingBonus * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class EndingBonus * * _M_start; // offset 0x0, size 0x4 class EndingBonus * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class DepChecker { // total size: 0x4 unsigned long mCacheModTime; // offset 0x0, size 0x4 }; struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 class DepChecker * second; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; // Range: 0x8002677C -> 0x80026988 void * TrackPanel::~TrackPanel(class TrackPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__10TrackPanel; } // Range: 0x80026988 -> 0x800269BC void TrackPanel::Load(class TrackPanel * const this /* r31 */) {} // Range: 0x800269BC -> 0x80026A3C unsigned char TrackPanel::IsLoaded(class TrackPanel * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__17TrackPanelDirBase; } // Range: 0x80026A3C -> 0x80026A40 void TrackPanel::Enter() {} // Range: 0x80026A40 -> 0x80026A7C void TrackPanel::FinishLoad(class TrackPanel * const this /* r31 */) {} class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class BandUser * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; static class Message on_reset; // size: 0x8, address: 0x80976BC0 struct SongStatus { // total size: 0x18 class Symbol mSongName; // offset 0x0, size 0x4 class String mFullSongName; // offset 0x4, size 0xC int mStars; // offset 0x10, size 0x4 int mScore; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SongStatus * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SongStatus * _M_start; // offset 0x0, size 0x4 struct SongStatus * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct BandMember { // total size: 0x20 class HxGuid mCharGuid; // offset 0x0, size 0x10 class String mCharName; // offset 0x10, size 0xC unsigned char mCharNameUnchecked; // offset 0x1C, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BandMember * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BandMember * _M_start; // offset 0x0, size 0x4 struct BandMember * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BandData : public virtual Object { // total size: 0x34 public: void * __vptr$; // offset 0x4, size 0x4 }; class PersistentGameData { // total size: 0x4C public: int mTotalScore; // offset 0x0, size 0x4 float mTotalStars; // offset 0x4, size 0x4 int mLongestStreak; // offset 0x8, size 0x4 class PersistentPlayerData mPlayerData[4]; // offset 0xC, size 0x40 }; struct WorldState { // total size: 0x1C class Symbol mEvent; // offset 0x0, size 0x4 class Symbol mVenue; // offset 0x4, size 0x4 class Symbol mTown; // offset 0x8, size 0x4 int mFame; // offset 0xC, size 0x4 int mStars; // offset 0x10, size 0x4 enum Difficulty mMaxDiff; // offset 0x14, size 0x4 int mMaxPlayers; // offset 0x18, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct WorldState * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct WorldState * _M_start; // offset 0x0, size 0x4 struct WorldState * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct SeenVenue { // total size: 0x8 class Symbol mTown; // offset 0x0, size 0x4 class Symbol mVenue; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SeenVenue * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SeenVenue * _M_start; // offset 0x0, size 0x4 struct SeenVenue * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum TourBuzzState { kTourBuzzNone = 0, kTourBuzzCap = 1, kTourBuzzMaxCap = 2, }; struct BuzzInfo { // total size: 0xC int mBuzz; // offset 0x0, size 0x4 int mFansChange; // offset 0x4, size 0x4 enum TourBuzzState mBuzzState; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct BandSongStatus { // total size: 0x14 class Symbol mSongName; // offset 0x0, size 0x4 int mStars; // offset 0x4, size 0x4 int mScore; // offset 0x8, size 0x4 int mFans; // offset 0xC, size 0x4 unsigned char mDirty; // offset 0x10, size 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class BandSongStatusMgr : public Object { // total size: 0x3C const class SongMgr * mSongMgr; // offset 0x28, size 0x4 class HxGuid * mBandGuid; // offset 0x2C, size 0x4 class list mSongList; // offset 0x30, size 0x8 struct BandSongStatus * mUpdatingScore; // offset 0x38, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct OpportunityLoc { // total size: 0xC class Symbol mTown; // offset 0x0, size 0x4 class Symbol mVenue; // offset 0x4, size 0x4 class Symbol mMomentName; // offset 0x8, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class TourHint : public Object { // total size: 0x30 protected: class DataArray * mCfg; // offset 0x28, size 0x4 class Symbol mHintName; // offset 0x2C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourHint * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourHint * * _M_start; // offset 0x0, size 0x4 class TourHint * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct SongState { // total size: 0x8 class Symbol mSong; // offset 0x0, size 0x4 int mStars; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SongState * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SongState * _M_start; // offset 0x0, size 0x4 struct SongState * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct ChallengeState { // total size: 0x18 class Symbol mName; // offset 0x0, size 0x4 class vector mSongs; // offset 0x4, size 0xC int mMaxPlayers; // offset 0x10, size 0x4 enum Difficulty mMaxDiff; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum ChallengeFocus { kChallengeFocusEvent = 0, kChallengeFocusHighestTier = 1, kChallengeFocusHighestNewTier = 2, }; enum TourEventType { kTourEventWorld = 0, kTourEventChallenge = 1, }; struct TourRequirement { // total size: 0x28 unsigned char mMet; // offset 0x0, size 0x1 class String mIcon; // offset 0x4, size 0xC class String mInstrument; // offset 0x10, size 0xC class String mDesc; // offset 0x1C, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TourRequirement * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TourRequirement * _M_start; // offset 0x0, size 0x4 struct TourRequirement * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum TourStatus { kTourLocked = 0, kTourUnlocked = 1, kTourPlayed = 2, kTourNew = 3, }; class EventSong { // total size: 0x8 class DataNode mData; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class EventSong * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class EventSong * _M_start; // offset 0x0, size 0x4 class EventSong * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct EventOutfit { // total size: 0xC class Symbol mGender; // offset 0x0, size 0x4 class Symbol mCategory; // offset 0x4, size 0x4 class Symbol mOutfit; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EventOutfit * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EventOutfit * _M_start; // offset 0x0, size 0x4 struct EventOutfit * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct EventInstrument { // total size: 0x8 class Symbol mCategory; // offset 0x0, size 0x4 class Symbol mOutfit; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EventInstrument * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EventInstrument * _M_start; // offset 0x0, size 0x4 struct EventInstrument * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourEvent : public Object { // total size: 0x90 protected: const class SongMgr & mSongMgr; // offset 0x28, size 0x4 class Symbol mEventName; // offset 0x2C, size 0x4 int mBattleId; // offset 0x30, size 0x4 class String mDisplayName; // offset 0x34, size 0xC class vector mSongs; // offset 0x40, size 0xC int mMoneyPerStar; // offset 0x4C, size 0x4 unsigned char mSellout; // offset 0x50, size 0x1 enum Difficulty mMinDifficulty; // offset 0x54, size 0x4 class Symbol mRequiredPart; // offset 0x58, size 0x4 class Symbol mCharUnlockToken; // offset 0x5C, size 0x4 class vector mUnlockOutfits; // offset 0x60, size 0xC class vector mUnlockInstruments; // offset 0x6C, size 0xC unsigned int mTimeRemaining; // offset 0x78, size 0x4 int mTimeToLive; // offset 0x7C, size 0x4 unsigned int mTimeSince; // offset 0x80, size 0x4 const char * mLoadingScreen; // offset 0x84, size 0x4 unsigned char mNoOverdrive; // offset 0x88, size 0x1 unsigned char mNoCrowdMeter; // offset 0x89, size 0x1 unsigned char mNoBackFromBrink; // offset 0x8A, size 0x1 enum WinMetric mWinMetric; // offset 0x8C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourWorldEvent * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourWorldEvent * * _M_start; // offset 0x0, size 0x4 class TourWorldEvent * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: const class TourTown * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: const class TourTown * * _M_start; // offset 0x0, size 0x4 const class TourTown * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct EventState { // total size: 0x8 class TourWorldEvent * mEvent; // offset 0x0, size 0x4 enum TourStatus mStatus; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EventState * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EventState * _M_start; // offset 0x0, size 0x4 struct EventState * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct VenueState { // total size: 0x14 class TourVenue * mVenue; // offset 0x0, size 0x4 enum TourStatus mStatus; // offset 0x4, size 0x4 class vector mEvents; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct VenueState * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct VenueState * _M_start; // offset 0x0, size 0x4 struct VenueState * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourChallengeEvent * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourChallengeEvent * * _M_start; // offset 0x0, size 0x4 class TourChallengeEvent * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourBand : public BandData, public MetaPerformer { // total size: 0x208 public: class String mBotbRivalBandName; // offset 0x48, size 0xC float mBotbRivalBandScore; // offset 0x54, size 0x4 int mBotbRivalBandStars; // offset 0x58, size 0x4 protected: struct DateTime mCreationDate; // offset 0x5C, size 0x6 class HxGuid mGuidBand; // offset 0x64, size 0x10 class String mBandName; // offset 0x74, size 0xC class String mMotto; // offset 0x80, size 0xC class String mBandLogo; // offset 0x8C, size 0xC int mBandLogoPos; // offset 0x98, size 0x4 unsigned char mFinalized; // offset 0x9C, size 0x1 class vector mRoster; // offset 0xA0, size 0xC class vector mWorldStates; // offset 0xAC, size 0xC class vector mSeenVenues; // offset 0xB8, size 0xC class list mWorldRecentUnlocks; // offset 0xC4, size 0x8 int mNumUnlockedEvents; // offset 0xCC, size 0x4 int mNumUnlockedVenues; // offset 0xD0, size 0x4 int mNumUnlockedTowns; // offset 0xD4, size 0x4 class Symbol mCharUnlock; // offset 0xD8, size 0x4 unsigned char mJustPlayedAllVenues; // offset 0xDC, size 0x1 unsigned char mIronBladder; // offset 0xDD, size 0x1 unsigned char mIconsUpgraded; // offset 0xDE, size 0x1 struct BuzzInfo mCurrentBuzz; // offset 0xE0, size 0xC struct BuzzInfo mPreMomentBuzz; // offset 0xEC, size 0xC enum Difficulty mWinDifficulty; // offset 0xF8, size 0x4 class vector mItems; // offset 0xFC, size 0xC class vector mAchievementItems; // offset 0x108, size 0xC class BandSongStatusMgr mSongStatusMgr; // offset 0x114, size 0x3C const class TourWorld & mWorld; // offset 0x150, size 0x4 class BandUserMgr & mUserMgr; // offset 0x154, size 0x4 class Symbol mHometown; // offset 0x158, size 0x4 class Symbol mTown; // offset 0x15C, size 0x4 class Symbol mVenue; // offset 0x160, size 0x4 class Symbol mWorldEvent; // offset 0x164, size 0x4 class list mOpportunityLocs; // offset 0x168, size 0x8 class Symbol mStaff; // offset 0x170, size 0x4 class vector mWorldHints; // offset 0x174, size 0xC class TourMoment * mMoment; // offset 0x180, size 0x4 class vector mBotbTargetScoreFracs; // offset 0x184, size 0xC const class TourChallenge & mChallenge; // offset 0x190, size 0x4 class Symbol mChallengeEvent; // offset 0x194, size 0x4 class list mChallengeStates; // offset 0x198, size 0x8 class list mChallengeNewUnlocks; // offset 0x1A0, size 0x8 class list mChallengeRecentUnlocks; // offset 0x1A8, size 0x8 class vector mChallengeHints; // offset 0x1B0, size 0xC enum ChallengeFocus mChallengeFocus; // offset 0x1BC, size 0x4 class TourCharRemote * mStandIns[4]; // offset 0x1C0, size 0x10 class Symbol mBotbScoreString; // offset 0x1D0, size 0x4 class list mLiveBattles; // offset 0x1D4, size 0x8 }; // Range: 0x80026A7C -> 0x80026EF8 void TrackPanel::Reset(class TrackPanel * const this /* r30 */) { // Local variables float ms; // f31 int i; // r29 int ii; // r29 class TourBand * band; // r0 class TourEvent * event; // r0 class MetaPerformer * mp; // r29 float endingScore; // f0 const char * otherName; // r28 const char * bandName; // r31 class String thisBandIcon; // r1+0x4C class String rivalBandIcon; // r1+0x40 // References // -> class Game * TheGame; // -> class Tour * TheTour; // -> class LoadMgr TheLoadMgr; // -> static class Message on_reset; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; // -> class TaskMgr TheTaskMgr; } class PersistentPlayerData { // total size: 0x10 public: float mEnergy; // offset 0x0, size 0x4 float mRawCrowdRating; // offset 0x4, size 0x4 int mStreak; // offset 0x8, size 0x4 unsigned char mFailed; // offset 0xC, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; enum FitType { kFitWrap = 0, kFitStretch = 1, kFitJust = 2, kFitEllipsis = 3, }; class UILabel : public UIComponent { // total size: 0x1E0 public: class String printMsg; // offset 0x130, size 0xC protected: class RndText * mText; // offset 0x13C, size 0x4 class String mDisplayText; // offset 0x140, size 0xC class Symbol mTextToken; // offset 0x14C, size 0x4 unsigned char mLocalize; // offset 0x150, size 0x1 float mTextSize; // offset 0x154, size 0x4 enum Alignment mAlignment; // offset 0x158, size 0x4 enum CapsMode mCapsMode; // offset 0x15C, size 0x4 unsigned char mMarkup; // offset 0x160, size 0x1 float mLeading; // offset 0x164, size 0x4 float mBaseKerning; // offset 0x168, size 0x4 float mItalics; // offset 0x16C, size 0x4 enum FitType mFitType; // offset 0x170, size 0x4 float mWidth; // offset 0x174, size 0x4 float mHeight; // offset 0x178, size 0x4 int mFixedLength; // offset 0x17C, size 0x4 int mReserveLines; // offset 0x180, size 0x4 class String mPreserveTruncText; // offset 0x184, size 0xC float mAlpha; // offset 0x190, size 0x4 unsigned char mUseAutoHyphenation; // offset 0x194, size 0x1 int mHyphMinWordLength; // offset 0x198, size 0x4 int mHyphMinPrefix; // offset 0x19C, size 0x4 int mHyphMinSuffix; // offset 0x1A0, size 0x4 }; class BandTextComp { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 protected: class RndText * mTextObjPtr; // offset 0x4, size 0x4 int mStateColors[5]; // offset 0x8, size 0x14 private: class Symbol mColorPreset; // offset 0x1C, size 0x4 }; class BandLabel : public UILabel, public BandTextComp { // total size: 0x220 class Keys mCountKeys; // offset 0x1C4, size 0xC class String mCountString; // offset 0x1D0, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BandLabel * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BandLabel * * _M_start; // offset 0x0, size 0x4 class BandLabel * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class EndingBonus : public RndDir { // total size: 0x260 unsigned char mInUnison; // offset 0x1F4, size 0x1 int mScore; // offset 0x1F8, size 0x4 unsigned char mAwarding; // offset 0x1FC, size 0x1 class ObjPtr mCodaEndTask; // offset 0x200, size 0xC class vector mTrackOrder; // offset 0x20C, size 0xC unsigned char mDisabled[4]; // offset 0x218, size 0x4 class vector mIcons; // offset 0x21C, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CrowdMeterIcon : public RndDir { // total size: 0x260 class EventTrigger * mResetTrig; // offset 0x1F4, size 0x4 class EventTrigger * mArrowHideTrig; // offset 0x1F8, size 0x4 class EventTrigger * mArrowShowTrig; // offset 0x1FC, size 0x4 class EventTrigger * mDeployTrig; // offset 0x200, size 0x4 class EventTrigger * mStopDeployTrig; // offset 0x204, size 0x4 class EventTrigger * mStateFailedTrig; // offset 0x208, size 0x4 class EventTrigger * mStateFailingTrig; // offset 0x20C, size 0x4 class EventTrigger * mStateNormalTrig; // offset 0x210, size 0x4 class EventTrigger * mGlowTrig; // offset 0x214, size 0x4 class EventTrigger * mGlowStopTrig; // offset 0x218, size 0x4 class BandLabel * mIconLbl; // offset 0x21C, size 0x4 unsigned char mShowTrigger; // offset 0x220, size 0x1 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CrowdMeterIcon * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class BandCrowdMeter : public RndDir { // total size: 0x320 class ObjVector mAnims; // offset 0x1F4, size 0x10 class ObjVector mIcons; // offset 0x204, size 0x10 class ObjPtr mTmp; // offset 0x214, size 0xC float mValues[4]; // offset 0x220, size 0x10 unsigned char mDisabled[4]; // offset 0x230, size 0x4 unsigned char mMaxed; // offset 0x234, size 0x1 int mDeploying; // offset 0x238, size 0x4 int mPeaks; // offset 0x23C, size 0x4 float mPeakValue; // offset 0x240, size 0x4 unsigned char mNoCrowdMeter; // offset 0x244, size 0x1 class vector mLevelColors; // offset 0x248, size 0xC enum ExcitementLevel mExcitement; // offset 0x254, size 0x4 class TrackPanelInterface * mTrackPanel; // offset 0x258, size 0x4 class ObjPtrList mOrderedPeaks; // offset 0x25C, size 0x14 class ObjPtr mBandEnergyDeployTrig; // offset 0x270, size 0xC class ObjPtr mBandEnergyStopTrig; // offset 0x27C, size 0xC class ObjPtr mDisabledStartTrig; // offset 0x288, size 0xC class ObjPtr mDisabledStopTrig; // offset 0x294, size 0xC class ObjPtr mShowPeakArrowTrig; // offset 0x2A0, size 0xC class ObjPtr mHidePeakArrowTrig; // offset 0x2AC, size 0xC class ObjPtr mCrowdMeterMat; // offset 0x2B8, size 0xC class ObjPtr mCrowdMeterAnim; // offset 0x2C4, size 0xC class vector mUnused; // offset 0x2D0, size 0xC float mValue; // offset 0x2DC, size 0x4 }; class TrackPanelDirBase : public PanelDir { // total size: 0x2F0 protected: float mViewTimeEasy; // offset 0x24C, size 0x4 float mViewTimeExpert; // offset 0x250, size 0x4 float mNetTrackAlpha; // offset 0x254, size 0x4 class ObjPtr mConfiguration; // offset 0x258, size 0xC class ObjPtrList mConfigurableObjects; // offset 0x264, size 0x14 class ObjVector mGemTracks; // offset 0x278, size 0x10 unsigned char mSimplifiedLOD; // offset 0x288, size 0x1 class TrackPanelInterface * mTrackPanel; // offset 0x28C, size 0x4 class ObjPtr mApplauseMeter; // offset 0x290, size 0xC class ObjPtr mSetWinningGlow; // offset 0x29C, size 0xC class RndDir * mIcon0; // offset 0x2A8, size 0x4 class RndDir * mIcon1; // offset 0x2AC, size 0x4 }; // Range: 0x80026EF8 -> 0x80027144 void TrackPanel::CleanUpTracks(class TrackPanel * const this /* r31 */) { // Local variables class list band_users; // r1+0x50 struct _List_iterator it; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP5Track; // -> unsigned char gStlAllocNameLookup; // -> class BandUserMgr * TheBandUserMgr; } struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PP5Track; // size: 0x8, address: 0x8086FA80 // Range: 0x80027144 -> 0x80027B28 void TrackPanel::Reload(class TrackPanel * const this /* r28 */) { // Local variables int i; // r29 class Symbol trackType; // r1+0x8C const char * trackName; // r25 int b; // r29 int slot; // r0 class Scoreboard * scoreboard; // r1+0x88 class EndingBonus * ending_bonus; // r1+0x84 class Scoreboard * scoreboard; // r1+0x80 // References // -> struct [anonymous] __RTTI__11EndingBonus; // -> struct [anonymous] __RTTI__10Scoreboard; // -> const char * kAssertStr; // -> class Game * TheGame; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; // -> class GameMode * TheGameMode; } // Range: 0x80027B28 -> 0x80027DB4 void TrackPanel::Unload(class TrackPanel * const this /* r31 */) { // Local variables int i; // r29 } // Range: 0x80027DB4 -> 0x80027E2C unsigned char TrackPanel::ShowApplauseMeter() { // Local variables class MetaPerformer * mp; // r30 } static class Timer * _t; // size: 0x4, address: 0x80A4908C static class Timer * _t; // size: 0x4, address: 0x80A49094 // Range: 0x80027E2C -> 0x80028874 void TrackPanel::Poll(class TrackPanel * const this /* r28 */) { // Local variables class AutoTimer _at; // r1+0x28 class AutoTimer _at; // r1+0x24 float ms; // f31 int i; // r24 int i; // r29 float newScore; // f30 float numStars; // f0 int s0; // r0 int s1; // r0 class MetaPerformer * mp; // r24 class DataArray * config; // r25 float fadeOutDelay; // r1+0x20 float fadeInAnticipation; // r1+0x1C class Performer * perf; // r25 int current_score; // r0 float current_target; // f1 int current_streak; // r0 float current_target; // f2 float current_star_cents; // f0 float current_target; // f1 class Performer * mainPerformer; // r24 int i; // r25 class Performer * p; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> class TaskMgr TheTaskMgr; // -> class Game * TheGame; // -> class SongDB * TheSongDB; // -> static class Timer * _t; // -> static class Timer * _t; } class BandPerformer : public Performer { // total size: 0xA8 class DataArray * mWeights; // offset 0x70, size 0x4 float mLoseLevel; // offset 0x74, size 0x4 float mGhostScore; // offset 0x78, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BeatMasterSink * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BeatMasterSink * * _M_start; // offset 0x0, size 0x4 class BeatMasterSink * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum AudioStyle { kUnmute = 0, kSlipStream = 1, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ChannelData * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ChannelData * * _M_start; // offset 0x0, size 0x4 class ChannelData * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TrackData * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TrackData * * _M_start; // offset 0x0, size 0x4 class TrackData * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct ExtraTrackInfo { // total size: 0xC unsigned char mPlayable; // offset 0x0, size 0x1 float mExtraAtten; // offset 0x4, size 0x4 unsigned char mDuckable; // offset 0x8, size 0x1 unsigned char mVocalCue; // offset 0x9, size 0x1 unsigned char mVocal; // offset 0xA, size 0x1 }; enum DontPlayReason { kMiss = 0, kPass = 1, }; class MasterAudio : public BeatMasterSink, public BeatMatchSink, public Object { // total size: 0xF8 enum AudioStyle mDefaultStyle; // offset 0x30, size 0x4 int mNumPlayers; // offset 0x34, size 0x4 class Stream * mSongStream; // offset 0x38, size 0x4 class SongData * mSongData; // offset 0x3C, size 0x4 unsigned char mStreamEnabled; // offset 0x40, size 0x1 class Fader * mMasterFader; // offset 0x44, size 0x4 class Fader * mForegroundFader; // offset 0x48, size 0x4 class Fader * mMultiplayerFader; // offset 0x4C, size 0x4 class Fader * mBackgroundFader; // offset 0x50, size 0x4 class Fader * mBackgroundAttenFader; // offset 0x54, size 0x4 class Fader * mCommonFader; // offset 0x58, size 0x4 class Fader * mRemoteFader; // offset 0x5C, size 0x4 class Fader * mPracticeFader; // offset 0x60, size 0x4 class Fader * mVocalDuckFader; // offset 0x64, size 0x4 class Fader * mVocalCueFader; // offset 0x68, size 0x4 class Fader * mVocalFailFader; // offset 0x6C, size 0x4 class Fader * mCrowdFader; // offset 0x70, size 0x4 class Fader * mBaseCrowdFader; // offset 0x74, size 0x4 class SubmixCollection * mSubmixes; // offset 0x78, size 0x4 class vector mChannelData; // offset 0x7C, size 0xC class vector mTrackData; // offset 0x88, size 0xC class vector mNumTracksToVolume; // offset 0x94, size 0xC unsigned char mFocusVolumesEnabled; // offset 0xA0, size 0x1 int mActiveTrack; // offset 0xA4, size 0x4 unsigned char mPlayingInCommon; // offset 0xA8, size 0x1 float mMultiplayerStereoScale; // offset 0xAC, size 0x4 float mMultiplayerVolume; // offset 0xB0, size 0x4 float mMultiplayerCommonVolume; // offset 0xB4, size 0x4 float mPlayerAtten; // offset 0xB8, size 0x4 float mBackgroundVolume; // offset 0xBC, size 0x4 float mMuteVolume; // offset 0xC0, size 0x4 float mPassVolume; // offset 0xC4, size 0x4 float mUnplayedVolume; // offset 0xC8, size 0x4 float mCueVolume; // offset 0xCC, size 0x4 float mPracticeVolume; // offset 0xD0, size 0x4 float mRemoteVolume; // offset 0xD4, size 0x4 unsigned char mHeadToHead; // offset 0xD8, size 0x1 float mVolume; // offset 0xDC, size 0x4 float mStereoScale; // offset 0xE0, size 0x4 float mStereoCenter; // offset 0xE4, size 0x4 unsigned char mMuckWithPitch; // offset 0xE8, size 0x1 unsigned char mMuteMaster; // offset 0xE9, size 0x1 float mMasterVolume; // offset 0xEC, size 0x4 class PitchMucker * mPitchMucker; // offset 0xF0, size 0x4 unsigned char mAddFaders; // offset 0xF4, size 0x1 }; class BeatMaster : public SongParserSink { // total size: 0x74 unsigned char mRecording; // offset 0x4, size 0x1 class SongData * mSongData; // offset 0x8, size 0x4 class vector mSinks; // offset 0xC, size 0xC class MasterAudio * mAudio; // offset 0x18, size 0x4 class MidiParserMgr * mMidiParserMgr; // offset 0x1C, size 0x4 class DataArray * mSongCfg; // offset 0x20, size 0x4 class PlayerTrackConfigList * mPtCfg; // offset 0x24, size 0x4 class BeatMasterLoader * mLoader; // offset 0x28, size 0x4 unsigned char mLoaded; // offset 0x2C, size 0x1 class SongPos mSongPos; // offset 0x30, size 0x14 class SongPos mLastSongPos; // offset 0x44, size 0x14 class vector mSubmixIdxs; // offset 0x58, size 0xC int mActivePlayerTrack; // offset 0x64, size 0x4 int mCurActivePlayers; // offset 0x68, size 0x4 int mActivePlayerGemIdx; // offset 0x6C, size 0x4 class DataArray * mHandlers; // offset 0x70, size 0x4 }; static int sVals[20]; // size: 0x50, address: 0x80976BC8 static int sGross; // size: 0x4, address: 0x80A4909C // Range: 0x80028874 -> 0x80028904 static int GetTrend() { // Local variables int ii; // r6 int idx; // r0 // References // -> static int sGross; // -> static int sVals[20]; } // Range: 0x80028904 -> 0x8002899C static int ApplyDeltaCurve() {} // Range: 0x8002899C -> 0x800289FC void TrackPanel::ExportScoreDiffAndTrend(class TrackPanel * const this /* r31 */, int delta /* r30 */) { // Local variables int trend; // r1+0x8 } // Range: 0x800289FC -> 0x80028A40 void TrackPanel::ExportScoreDiff(class TrackPanel * const this /* r5 */) {} static class Timer * _t; // size: 0x4, address: 0x80A490A0 static class Timer * _t; // size: 0x4, address: 0x80A490A8 // Range: 0x80028A40 -> 0x80028BB4 void TrackPanel::Draw(class TrackPanel * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0x14 class AutoTimer _at; // r1+0x10 // References // -> static class Timer * _t; // -> static class Timer * _t; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class VocalTrackDir * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: const class VocalNote * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: const class VocalNote * * _M_start; // offset 0x0, size 0x4 const class VocalNote * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Lyric : public Object { // total size: 0x70 public: class ObjPtr mTextObj; // offset 0x28, size 0xC class vector mVocalNotes; // offset 0x34, size 0xC class ObjPtr mNoteTube; // offset 0x40, size 0xC class Keys mColorKeys; // offset 0x4C, size 0xC class Keys mAlphaKeys; // offset 0x58, size 0xC class Keys mPositionKeys; // offset 0x64, size 0xC }; struct _Deque_iterator_base { // total size: 0x10 class Lyric * * _M_cur; // offset 0x0, size 0x4 class Lyric * * _M_first; // offset 0x4, size 0x4 class Lyric * * _M_last; // offset 0x8, size 0x4 class Lyric * * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Lyric * * * _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; class deque : protected _Deque_base { // total size: 0x28 }; struct pair { // total size: 0x8 class RndLine * first; // offset 0x0, size 0x4 float second; // offset 0x4, size 0x4 }; struct _Deque_iterator_base { // total size: 0x10 struct pair * _M_cur; // offset 0x0, size 0x4 struct pair * _M_first; // offset 0x4, size 0x4 struct pair * _M_last; // offset 0x8, size 0x4 struct pair * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * * _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; class deque : protected _Deque_base { // total size: 0x28 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; struct pair { // total size: 0x8 class RndMesh * first; // offset 0x0, size 0x4 float second; // offset 0x4, size 0x4 }; struct _Deque_iterator_base { // total size: 0x10 struct pair * _M_cur; // offset 0x0, size 0x4 struct pair * _M_first; // offset 0x4, size 0x4 struct pair * _M_last; // offset 0x8, size 0x4 struct pair * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * * _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; class deque : protected _Deque_base { // total size: 0x28 }; struct _Deque_iterator_base { // total size: 0x10 class TambourineGem * * _M_cur; // offset 0x0, size 0x4 class TambourineGem * * _M_first; // offset 0x4, size 0x4 class TambourineGem * * _M_last; // offset 0x8, size 0x4 class TambourineGem * * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TambourineGem * * * _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; class deque : protected _Deque_base { // total size: 0x28 }; struct LyricSetupInfo { // total size: 0x1C unsigned char mSpotlight; // offset 0x0, size 0x1 float mXCentered; // offset 0x4, size 0x4 float mXPreview; // offset 0x8, size 0x4 float mPreviewAlpha; // offset 0xC, size 0x4 float mPhraseTick; // offset 0x10, size 0x4 float mNextPhraseTick; // offset 0x14, size 0x4 float mNextPhraseEndTick; // offset 0x18, size 0x4 }; class VocalTrack : public Track { // total size: 0x208 protected: unsigned char mScoreDebug; // offset 0x64, size 0x1 float mTimeWindow; // offset 0x68, size 0x4 enum VocalStyle mVocalStyle; // offset 0x6C, size 0x4 float mMsInWindow; // offset 0x70, size 0x4 float mWindowSize; // offset 0x74, size 0x4 class DirLoader * mLoader; // offset 0x78, size 0x4 class ObjPtr mDir; // offset 0x7C, size 0xC class VocalPlayer * mPlayer; // offset 0x88, size 0x4 class RndGroup * mNowBar; // offset 0x8C, size 0x4 class deque mLyrics; // offset 0x90, size 0x28 float mZBottom; // offset 0xB8, size 0x4 float mZTop; // offset 0xBC, size 0x4 float mMinPitchRange; // offset 0xC0, size 0x4 float mPreviewZ; // offset 0xC4, size 0x4 float mCurrentZ; // offset 0xC8, size 0x4 float mPhonomeZ; // offset 0xCC, size 0x4 float mArrowSmoothing; // offset 0xD0, size 0x4 class vector mTubeWidths; // offset 0xD4, size 0xC float mPhraseStartMs; // offset 0xE0, size 0x4 float mPhraseEndMs; // offset 0xE4, size 0x4 float mNextPhraseEndMs; // offset 0xE8, size 0x4 unsigned int mLastPhonemeLineIdx; // offset 0xEC, size 0x4 unsigned char mShowPhonemeLine; // offset 0xF0, size 0x1 int mLastUpdateLyric; // offset 0xF4, size 0x4 int mLastUpdateGem; // offset 0xF8, size 0x4 int mLastUpdatePhrase; // offset 0xFC, size 0x4 int mLastBeat; // offset 0x100, size 0x4 int mNextScrollNote; // offset 0x104, size 0x4 int mPhraseChangeDurationTicks; // offset 0x108, size 0x4 int mTimeBeforePhraseToSpaceTicks; // offset 0x10C, size 0x4 float mNextPhraseSpacedAnimationRatio; // offset 0x110, size 0x4 int mNextPhraseFadeInBefore; // offset 0x114, size 0x4 int mHideCounter; // offset 0x118, size 0x4 unsigned char mPressToTalk; // offset 0x11C, size 0x1 unsigned char mSpotlight; // offset 0x11D, size 0x1 class deque mNoteTubes; // offset 0x120, size 0x28 class map mNoteTubePool; // offset 0x148, size 0x18 class map mTextPool; // offset 0x160, size 0x18 class vector mMeshPool; // offset 0x178, size 0xC class deque mMarkers; // offset 0x184, size 0x28 class deque mMasks; // offset 0x1AC, size 0x28 class TambourineGemPool * mTambourineGemPool; // offset 0x1D4, size 0x4 class deque mTambourineGems; // offset 0x1D8, size 0x28 enum VocalParam mCharOptParam; // offset 0x200, size 0x4 unsigned char mRemoteBandVocals; // offset 0x204, size 0x1 }; // Range: 0x80028BB4 -> 0x80028C48 void TrackPanel::TogglePhonemeFeedback(class TrackPanel * const this /* r30 */) { // Local variables int i; // r31 class VocalTrack * track; // r0 // References // -> struct [anonymous] __RTTI__5Track; // -> struct [anonymous] __RTTI__10VocalTrack; } // Range: 0x80028C48 -> 0x80028CD0 void TrackPanel::ToggleScoreDebug(class TrackPanel * const this /* r30 */) { // Local variables int i; // r31 class VocalTrack * track; // r0 // References // -> struct [anonymous] __RTTI__5Track; // -> struct [anonymous] __RTTI__10VocalTrack; } // Range: 0x80028CD0 -> 0x80028D58 void TrackPanel::ToggleLyricMode(class TrackPanel * const this /* r30 */) { // Local variables int i; // r31 class VocalTrack * track; // r0 // References // -> struct [anonymous] __RTTI__5Track; // -> struct [anonymous] __RTTI__10VocalTrack; } // Range: 0x80028D58 -> 0x80028DE8 void TrackPanel::SetSmasherGlowing(class TrackPanel * const this /* r28 */, int slot /* r29 */, unsigned char glowing /* r30 */) { // Local variables int i; // r31 } // Range: 0x80028DE8 -> 0x80028E68 void TrackPanel::PopSmasher(class TrackPanel * const this /* r29 */, int slot /* r30 */) { // Local variables int i; // r31 } static class Message msg; // size: 0x8, address: 0x80976C28 // Range: 0x80028E68 -> 0x80029004 void TrackPanel::ToggleCamTweaking(class TrackPanel * const this /* r31 */) { // Local variables class Object * config; // r0 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Symbol temp_config; // size: 0x4, address: 0x80A490B0 static class Message sApplyMessage; // size: 0x8, address: 0x80976C40 static unsigned char sDumpData; // size: 0x1, address: 0x80A490B5 enum JoypadType { kJoypadNone = 0, kJoypadDigital = 1, kJoypadAnalog = 2, kJoypadDualShock = 3, kJoypadMidi = 4, kJoypadXboxHxGuitar = 5, kJoypadXboxHxGuitarRb2 = 6, kJoypadXboxRoGuitar = 7, kJoypadXboxDrums = 8, kJoypadXboxDrumsRb2 = 9, kJoypadXboxStageKit = 10, kJoypadPs3HxGuitar = 11, kJoypadPs3HxGuitarRb2 = 12, kJoypadPs3HxDrums = 13, kJoypadPs3HxDrumsRb2 = 14, kJoypadPs3RoGuitar = 15, kJoypadWiiCore = 16, kJoypadWiiFS = 17, kJoypadWiiClassic = 18, kJoypadWiiGamecube = 19, kJoypadWiiGuitar = 20, kJoypadWiiDrums = 21, kJoypadWiiHxGuitar = 22, kJoypadWiiHxGuitarRb2 = 23, kJoypadWiiHxDrums = 24, kJoypadWiiHxDrumsRb2 = 25, }; class JoypadData { // total size: 0x68 public: unsigned int mButtons; // offset 0x0, size 0x4 unsigned int mNewPressed; // offset 0x4, size 0x4 unsigned int mNewReleased; // offset 0x8, size 0x4 float mSticks[2][2]; // offset 0xC, size 0x10 float mTriggers[2]; // offset 0x1C, size 0x8 float mSensors[3]; // offset 0x24, size 0xC float mPressures[8]; // offset 0x30, size 0x20 int mUserNum; // offset 0x50, size 0x4 unsigned char mConnected; // offset 0x54, size 0x1 unsigned char mForceFeedback; // offset 0x55, size 0x1 unsigned char mCanForceFeedback; // offset 0x56, size 0x1 unsigned char mWireless; // offset 0x57, size 0x1 enum JoypadType mType; // offset 0x58, size 0x4 class Symbol mControllerType; // offset 0x5C, size 0x4 float mDistFromRest; // offset 0x60, size 0x4 unsigned char mHasGreenCymbal; // offset 0x64, size 0x1 unsigned char mHasYellowCymbal; // offset 0x65, size 0x1 }; // Range: 0x80029004 -> 0x80029BB8 void TrackPanel::PollCameraParameters(class TrackPanel * const this /* r24 */, float ms /* f31 */) { // Local variables class Object * config; // r29 class Object * currConfig; // r0 int i; // r28 class JoypadData * data; // r0 float val; // f1 enum JoypadButton incFadeStart; // r25 enum JoypadButton decFadeStart; // r24 enum JoypadButton incFadeLen; // r27 enum JoypadButton decFadeLen; // r26 unsigned char backState; // r24 // References // -> class Debug TheDebug; // -> static unsigned char sDumpData; // -> static class Message sApplyMessage; // -> struct [anonymous] __vt__7Message; // -> static class Symbol temp_config; } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x80029BB8 -> 0x80029F8C void TrackPanel::BuildReloadChecks(class TrackPanel * const this /* r30 */) {} class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; // Range: 0x80029F8C -> 0x8002A490 void TrackPanel::CleanUpReloadChecks(class TrackPanel * const this /* r31 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x10 class map tmp; // r1+0x68 } // Range: 0x8002A490 -> 0x8002A614 class DataNode TrackPanel::ForEachTrack(class TrackPanel * const this /* r28 */, const class DataArray * a /* r29 */) { // Local variables class DataNode * var; // r31 class DataNode tmp; // r1+0x18 int i; // r30 int j; // r26 } // Range: 0x8002A614 -> 0x8002A688 int TrackPanel::BandNumToSlot() { // Local variables class Player * player; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Game * TheGame; } // Range: 0x8002A688 -> 0x8002A690 void TrackPanel::GetTrackOrder() { // References // -> class GameConfig * TheGameConfig; } // Range: 0x8002A690 -> 0x8002A698 int TrackPanel::GetNumPlayers() { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8002A698 -> 0x8002A6B4 unsigned char TrackPanel::IsGameOver() { // References // -> class GamePanel * TheGamePanel; } // Range: 0x8002A6B4 -> 0x8002A6C8 unsigned char TrackPanel::InGame() { // References // -> class Game * TheGame; } // Range: 0x8002A6C8 -> 0x8002A6D4 int TrackPanel::MaxDeltaPoints() { // References // -> class Game * TheGame; } // Range: 0x8002A6D4 -> 0x8002A6E0 int TrackPanel::GetTieWindow() { // References // -> class Game * TheGame; } // Range: 0x8002A6E0 -> 0x8002A758 void TrackPanel::UnisonPlayerSuccess(class Player * p /* r30 */) { // Local variables class EndingBonus * endingBonus; // r31 } static class Message set_glowing; // size: 0x8, address: 0x80976C58 // Range: 0x8002A758 -> 0x8002AA44 void TrackPanel::SetWinningGlow(int val /* r29 */, class RndDir * icon0 /* r30 */, class RndDir * icon1 /* r31 */) { // Local variables enum EndGameResult result; // r0 // References // -> static class Message set_glowing; // -> struct [anonymous] __vt__7Message; } // Range: 0x8002AA44 -> 0x8002AA74 unsigned char TrackPanel::GetNoCrowdMeter() {} // Range: 0x8002AA74 -> 0x8002AA7C enum ExcitementLevel TrackPanel::GetGameExcitement() { // References // -> class Game * TheGame; } static class Object * gameMode; // size: 0x4, address: 0x80A490B8 // Range: 0x8002AA7C -> 0x8002AB4C void TrackPanel::PushCrowdReaction(unsigned char maxed /* r31 */) { // References // -> static class Object * gameMode; // -> class Game * TheGame; } // Range: 0x8002AB4C -> 0x8002AD24 void TrackPanel::SetBotbTarget(class TrackPanel * const this /* r28 */, int end /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x8002AD24 -> 0x8002AD5C void TrackPanel::SetPlayStarSfx() { // Local variables int i; // r6 } static class Symbol _s; // size: 0x4, address: 0x80A490C0 static class Symbol _s; // size: 0x4, address: 0x80A490C8 static class Symbol _s; // size: 0x4, address: 0x80A490D0 static class Symbol _s; // size: 0x4, address: 0x80A490D8 static class Symbol _s; // size: 0x4, address: 0x80A490E0 static class Symbol _s; // size: 0x4, address: 0x80A490E8 static class Symbol _s; // size: 0x4, address: 0x80A490F0 static class Symbol _s; // size: 0x4, address: 0x80A490F8 static class Symbol _s; // size: 0x4, address: 0x80A49100 static class Symbol _s; // size: 0x4, address: 0x80A49108 static class Symbol _s; // size: 0x4, address: 0x80A49110 static class Symbol _s; // size: 0x4, address: 0x80A49118 static class Symbol _s; // size: 0x4, address: 0x80A49120 static class Symbol _s; // size: 0x4, address: 0x80A49128 static class Symbol _s; // size: 0x4, address: 0x80A49130 // Range: 0x8002AD5C -> 0x8002BE70 class DataNode TrackPanel::Handle(class TrackPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x5C class MessageTimer _mt; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__10VocalTrack; // size: 0x8, address: 0x8086FEE8 struct { // total size: 0x8 } __RTTI__17TrackPanelDirBase; // size: 0x8, address: 0x8086FF90 struct { // total size: 0x8 } __RTTI__10Scoreboard; // size: 0x8, address: 0x808700D8 struct { // total size: 0x8 } __RTTI__11EndingBonus; // size: 0x8, address: 0x80870140 struct { // total size: 0xD8 } __vt__10TrackPanel; // size: 0xD8, address: 0x80870248 struct { // total size: 0x8 } __RTTI__10TrackPanel; // size: 0x8, address: 0x80870350 struct { // total size: 0xD8 } __vt__19TrackPanelInterface; // size: 0xD8, address: 0x808703F0 struct { // total size: 0x8 } __RTTI__19TrackPanelInterface; // size: 0x8, address: 0x808704F8 struct { // total size: 0x8 } __RTTI__PP11EndingBonus; // size: 0x8, address: 0x80870590 struct { // total size: 0x8 } __RTTI__PP10Scoreboard; // size: 0x8, address: 0x808705A8 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std60_Rb_tree_node>; // size: 0x8, address: 0x80870610 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum TourMode { kMetaTour_StartNew = 0, kMetaTour_UnknownRemote = 1, kMetaTour_KnownLocal = 2, kMetaTour_KnownRemote = 3, kMetaTour_BrowsingRemote = 4, kMetaTour_Max = 5, kMetaTour_Nil = -1, }; class Tour : public Object { // total size: 0xE8 public: class list mTestChars; // offset 0x28, size 0x8 private: const class SongMgr & mSongMgr; // offset 0x30, size 0x4 class TourWorld * mWorld; // offset 0x34, size 0x4 class TourChallenge * mChallenge; // offset 0x38, size 0x4 class TourBand * mBand; // offset 0x3C, size 0x4 class HxGuid * mLastBandSet; // offset 0x40, size 0x4 class TownProvider * mTownProvider; // offset 0x44, size 0x4 class VenueProvider * mVenueProvider; // offset 0x48, size 0x4 class EventProvider * mEventProvider; // offset 0x4C, size 0x4 class EventSongProvider * mEventSongProvider; // offset 0x50, size 0x4 class HometownProvider * mHometownProvider; // offset 0x54, size 0x4 class RequirementProvider * mRequirementProvider; // offset 0x58, size 0x4 class StaffProvider * mStaffProvider; // offset 0x5C, size 0x4 class TourBandLocal * mNewBand; // offset 0x60, size 0x4 unsigned char mWinSequence; // offset 0x64, size 0x1 class list mSharedChallengeBattles[4]; // offset 0x68, size 0x20 class list mSharedWorldBattles[4]; // offset 0x88, size 0x20 unsigned char mDirtyBattles; // offset 0xA8, size 0x1 class Timer mValidBattleTimer; // offset 0xB0, size 0x38 }; /* Compile unit: C:\rockband2\band2\src\bandtrack\TrackPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002BE70 -> 0x8002C7D0 */ // Range: 0x8002BE70 -> 0x8002BFA4 class TrackPanel * GetTrackPanel() { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10TrackPanel; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } // Range: 0x8002BFA4 -> 0x8002C114 void * TrackPanel::TrackPanel(class TrackPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__10TrackPanel; // -> struct [anonymous] __vt__19TrackPanelInterface; } // Range: 0x8002C114 -> 0x8002C188 class Track * TrackPanel::GetTrack(class TrackPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8002C188 -> 0x8002C244 class Track * TrackPanel::GetTrack(class TrackPanel * const this /* r28 */, int player /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; } // Range: 0x8002C244 -> 0x8002C34C class Track * TrackPanel::GetTrack(class TrackPanel * const this /* r28 */) { // Local variables const class DataNode & evalNode; // r30 int i; // r29 // References // -> class Debug TheDebug; } // Range: 0x8002C34C -> 0x8002C3FC int TrackPanel::GetTrackNum(class TrackPanel * const this /* r29 */, int player /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x8002C3FC -> 0x8002C5F8 void TrackPanel::CreateTracks(class TrackPanel * const this /* r28 */) { // Local variables class list band_users; // r1+0x38 int t; // r30 int gem_track_count; // r29 struct _List_iterator it; // r1+0x20 class Track * track; // r1+0x1C unsigned int i; // r4 // References // -> const char * gNullStr; // -> class ObjectDir * sMainDir; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8002C5F8 -> 0x8002C63C class Symbol TrackPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8002C63C -> 0x8002C7D0 void TrackPanel::SetType(class TrackPanel * const this /* r29 */, class Symbol & TrackPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002C7D0 -> 0x8002C864 */ // Range: 0x8002C7D0 -> 0x8002C81C char * MakeString(const char * fmt /* r0 */, enum DataType t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8002C81C -> 0x8002C864 char * MakeString(float t1 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002C97C -> 0x8002CA08 */ // Range: 0x8002CA04 -> 0x8002CA08 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002CA08 -> 0x8002CDE8 */ // Range: 0x8002CA08 -> 0x8002CDE8 void _Rb_tree::swap(class _Rb_tree * const this /* r5 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002CDE8 -> 0x8002CE40 */ // Range: 0x8002CDE8 -> 0x8002CE40 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDirBase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002CE40 -> 0x8002CE68 */ // Range: 0x8002CE40 -> 0x8002CE44 void TrackPanelDirBase::SetupApplauseMeter() {} // Range: 0x8002CE44 -> 0x8002CE48 void TrackPanelDirBase::ResetPlayers() {} // Range: 0x8002CE48 -> 0x8002CE50 unsigned char TrackPanelDirBase::IsH2HVocalGame() {} // Range: 0x8002CE50 -> 0x8002CE54 void TrackPanelDirBase::FadeBotbBandNames() {} // Range: 0x8002CE54 -> 0x8002CE58 void TrackPanelDirBase::SetMultiplier() {} // Range: 0x8002CE58 -> 0x8002CE5C void TrackPanelDirBase::SetCodaScore() {} // Range: 0x8002CE5C -> 0x8002CE60 void TrackPanelDirBase::SetCrowdRating() {} // Range: 0x8002CE60 -> 0x8002CE68 class EndingBonus * TrackPanelDirBase::GetEndingBonus() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002CE68 -> 0x8002CE80 */ // Range: 0x8002CE68 -> 0x8002CE80 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\game\Performer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002CE80 -> 0x8002CEAC */ // Range: 0x8002CE80 -> 0x8002CE94 float Performer::GetTotalStars() {} // Range: 0x8002CE94 -> 0x8002CEA4 int Performer::GetAccumulatedScore() {} // Range: 0x8002CEA4 -> 0x8002CEAC int Performer::CodaScore() {} /* Compile unit: C:\rockband2\system\src\ui\Panel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002CEAC -> 0x8002D09C */ // Range: 0x8002CEAC -> 0x8002CEB4 void UIPanel::Load() {} // Range: 0x8002CEB4 -> 0x8002CEB8 void UIPanel::FocusOut() {} // Range: 0x8002CEB8 -> 0x8002CEBC void UIPanel::FocusIn() {} // Range: 0x8002CEBC -> 0x8002CEC4 void UIPanel::SetPaused() {} // Range: 0x8002CEC4 -> 0x8002CF08 class Symbol UIPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8002CF08 -> 0x8002D09C void UIPanel::SetType(class UIPanel * const this /* r29 */, class Symbol & UIPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002D09C -> 0x8002D6F0 */ // Range: 0x8002D09C -> 0x8002D10C void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x8002D10C -> 0x8002D410 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x8002D410 -> 0x8002D5C4 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std60_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8002D5C4 -> 0x8002D6F0 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002D6F0 -> 0x8002D750 */ // Range: 0x8002D6F0 -> 0x8002D750 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002D750 -> 0x8002DAF8 */ // Range: 0x8002D750 -> 0x8002D888 void vector::_M_insert_overflow(class vector * const this /* r27 */, class EndingBonus * * __pos /* r28 */, class EndingBonus * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class EndingBonus * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11EndingBonus; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8002D888 -> 0x8002D9C0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Scoreboard * * __pos /* r28 */, class Scoreboard * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Scoreboard * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10Scoreboard; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8002D9C0 -> 0x8002DAF8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Track * * __pos /* r28 */, class Track * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Track * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP5Track; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\bandtrack\VocalTrack.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8002DAF8 -> 0x800389EC */ class Symbol name; // size: 0x4, address: 0x80A4913C class DebugFailer { // total size: 0x1 }; // Range: 0x8002DAF8 -> 0x8002DB7C void VocalTrack::InvalidateTimedMeshes(class VocalTrack * const this /* r30 */, class deque & l /* r31 */, float ms /* f31 */) {} // Range: 0x8002DB7C -> 0x8002DBE0 void VocalTrack::ClearTimedMeshList(class VocalTrack * const this /* r30 */, class deque & l /* r31 */) {} // Range: 0x8002DBE0 -> 0x8002DC64 void VocalTrack::InvalidateNoteTubes(class VocalTrack * const this /* r30 */, class deque & l /* r31 */, float ms /* f31 */) {} // Range: 0x8002DC64 -> 0x8002DCC8 void VocalTrack::ClearNoteTubes(class VocalTrack * const this /* r30 */, class deque & l /* r31 */) {} static unsigned char gDebugSpew; // size: 0x1, address: 0x80A49140 // Range: 0x8002DCC8 -> 0x8002DCE8 static class DataNode ToggleDebugSpew() { // References // -> static unsigned char gDebugSpew; } // Range: 0x8002DCE8 -> 0x8002DFA4 void * VocalTrack::VocalTrack(class VocalTrack * const this /* r30 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13VocalTrackDir,9ObjectDir>; // -> struct [anonymous] __vt__10VocalTrack; } struct pair { // total size: 0x10 int first; // offset 0x0, size 0x4 class vector second; // offset 0x4, size 0xC }; struct pair { // total size: 0xC class Symbol first; // offset 0x0, size 0x4 class list second; // offset 0x4, size 0x8 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8002DFA4 -> 0x8002E188 void * VocalTrack::~VocalTrack(class VocalTrack * const this /* r29 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x1C struct _Rb_tree_iterator it; // r1+0x18 // References // -> struct [anonymous] __vt__10VocalTrack; } class TambourineGemPool { // total size: 0x5C class deque mFreeGems; // offset 0x0, size 0x28 class deque mUsedGems; // offset 0x28, size 0x28 class vector mHitIds; // offset 0x50, size 0xC }; // Range: 0x8002E188 -> 0x8002E4E8 void * TambourineGemPool::~TambourineGemPool(class TambourineGemPool * const this /* r29 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x8002E4E8 -> 0x8002EC30 void VocalTrack::Init(class VocalTrack * const this /* r28 */) { // Local variables int trackNum; // r0 class list textVec; // r1+0x50 int i; // r27 int i; // r29 class BandUser * user; // r0 class GameplayOptions * options; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class GameConfig * TheGameConfig; } class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0xC public: class RndText * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std21_List_node; // size: 0x8, address: 0x80870740 // Range: 0x8002EC30 -> 0x8002EE30 class RndLine * VocalTrack::FindNoteTube() { // Local variables int i; // r7 } class Ray { // total size: 0x10 public: class Vector2 base; // offset 0x0, size 0x8 class Vector2 dir; // offset 0x8, size 0x8 }; // Range: 0x8002EE30 -> 0x8002F148 unsigned char VocalTrack::CheckOverlap(class RndLine * line /* r30 */) { // Local variables class Vector2 highPoint; // r1+0x40 class Vector2 lowPoint; // r1+0x38 float angle; // f31 class Vector2 thisPoint; // r1+0x30 class Vector2 nextPoint; // r1+0x28 int i; // r31 class Vector3 p; // r1+0x80 float lastAngle; // f29 float radius; // f0 float bisect; // f28 class Ray highRay; // r1+0x68 class Ray pointRay; // r1+0x58 class Vector2 intersect; // r1+0x20 class Ray lowRay; // r1+0x48 } // Range: 0x8002F164 -> 0x8002F3E0 void VocalTrack::FixupNoteTube(class VocalTrack * const this /* r30 */, class RndLine * line /* r31 */) { // Local variables int lastIndex; // r29 class Vector3 start; // r1+0x40 class Vector3 end; // r1+0x30 float xLen; // f31 int count; // r28 int i; // r27 class Vector3 p; // r1+0x20 class Vector3 avg; // r1+0x10 } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8002F3E0 -> 0x8002F984 class RndLine * VocalTrack::CreateNoteTube(class VocalTrack * const this /* r29 */, int numPoints /* r30 */) { // Local variables class RndLine * line; // r26 class vector v; // r1+0xC8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol name; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7RndLine; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndLine; } struct _OKToMemCpy { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PP7RndLine; // size: 0x8, address: 0x80870758 class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndLine * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndLine * * _M_start; // offset 0x0, size 0x4 class RndLine * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x8002F984 -> 0x8002FE74 void VocalTrack::ReturnNoteTube(class VocalTrack * const this /* r30 */, class RndLine * line /* r1+0x8 */) { // Local variables class vector v; // r1+0xC0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7RndLine; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8002FE74 -> 0x800306F0 class RndText * VocalTrack::CreateText(class VocalTrack * const this /* r28 */, class Symbol & srcName /* r29 */) { // Local variables class RndText * text; // r30 class list v; // r1+0x1D8 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x800306F0 -> 0x80030B80 void VocalTrack::ReturnText(class VocalTrack * const this /* r29 */, class Symbol & srcName /* r30 */, class RndText * text /* r31 */) { // Local variables class list v; // r1+0x100 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80030B80 -> 0x80030D54 class RndMesh * VocalTrack::CreateMesh(class VocalTrack * const this /* r28 */) { // Local variables class RndMesh * mesh; // r30 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x80030D54 -> 0x80030E00 void VocalTrack::ReturnMesh(class RndMesh * mesh /* r1+0x8 */) {} // Range: 0x80030E00 -> 0x80030EA4 void VocalTrack::SetDir(class VocalTrack * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __RTTI__13VocalTrackDir; } // Range: 0x80030EA4 -> 0x80030F14 unsigned char VocalTrack::WantBeatLines(int tick /* r31 */) { // Local variables const class vector & phrases; // r0 const class VocalPhrase * p; // r5 // References // -> class SongDB * TheSongDB; } class VocalNoteList { // total size: 0x30 class vector mPhrases; // offset 0x0, size 0xC class vector mNotes; // offset 0xC, size 0xC class vector mTambourineGems; // offset 0x18, size 0xC class String mSongName; // offset 0x24, size 0xC }; // Range: 0x80030F14 -> 0x80030F9C unsigned char VocalTrack::MasksVisible(class VocalTrack * const this /* r29 */) {} // Range: 0x80030F9C -> 0x80030FA8 void VocalTrack::SetStaticVocals() {} // Range: 0x80030FA8 -> 0x8003109C void VocalTrack::SetVocalStyle(class VocalTrack * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8003109C -> 0x80031158 void TambourineGemPool::ReleaseGemsBefore(class TambourineGemPool * const this /* r31 */, float time /* f31 */) {} // Range: 0x80031158 -> 0x800313CC void VocalTrack::RebuildHUD(class VocalTrack * const this /* r31 */) { // Local variables class vector & phrases; // r0 const class VocalPhrase * const & thisPhrase; // r0 const class VocalPhrase * nextPhrase; // r0 const class VocalPhrase * lastPhrase; // r1+0xC float from; // f31 float to; // f0 // References // -> class SongDB * TheSongDB; } enum MatchType { kPitchMatching = 0, kPhonemeMatching = 1, kTambourineMatching = 2, kFreestyleMatching = 3, }; struct SpeechAnalysis { // total size: 0x22 unsigned char logEnergy; // offset 0x0, size 0x1 unsigned char peakMagnitudes[32]; // offset 0x1, size 0x20 unsigned char sequentialError; // offset 0x21, size 0x1 }; class PhoneCloud { // total size: 0x114 protected: int mCount; // offset 0x0, size 0x4 struct SpeechAnalysis mAnalyses[8]; // offset 0x4, size 0x110 }; struct _Deque_iterator_base { // total size: 0x10 class PhoneCloud * * _M_cur; // offset 0x0, size 0x4 class PhoneCloud * * _M_first; // offset 0x4, size 0x4 class PhoneCloud * * _M_last; // offset 0x8, size 0x4 class PhoneCloud * * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PhoneCloud * * * _M_data; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; class deque : protected _Deque_base { // total size: 0x28 }; struct _Deque_iterator_base { // total size: 0x10 int * _M_cur; // offset 0x0, size 0x4 int * _M_first; // offset 0x4, size 0x4 int * _M_last; // offset 0x8, size 0x4 int * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: int * * _M_data; // offset 0x0, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; class deque : protected _Deque_base { // total size: 0x28 }; class SaytrState { // total size: 0x54 protected: int mHistoryTime; // offset 0x0, size 0x4 class deque mPhoneClouds; // offset 0x4, size 0x28 class deque mPhoneTimes; // offset 0x2C, size 0x28 }; struct ComplexSample { // total size: 0x4 signed short real; // offset 0x0, size 0x2 signed short imag; // offset 0x2, size 0x2 }; class VocalInterpreter { // total size: 0x824 protected: int inputSampleRate; // offset 0x0, size 0x4 int afterSampleRate; // offset 0x4, size 0x4 signed short mLowpassFIR[12]; // offset 0x8, size 0x18 int mBufferSize; // offset 0x20, size 0x4 struct ComplexSample mTwiddleValues[256]; // offset 0x24, size 0x400 signed short mBuffer[256]; // offset 0x424, size 0x200 signed short mSavedBuffer[256]; // offset 0x624, size 0x200 }; class VocalEvaluator { // total size: 0x10 protected: class BinStream * mPanStream; // offset 0x0, size 0x4 float mCurrentTime; // offset 0x4, size 0x4 float mMsPerFrame; // offset 0x8, size 0x4 unsigned char mLastSize; // offset 0xC, size 0x1 }; class VocalScorer { // total size: 0xF8 protected: float mNonPitchTimingScale; // offset 0x0, size 0x4 float mNonPitchSimilarScale; // offset 0x4, size 0x4 float mNonPitchMatchWeight; // offset 0x8, size 0x4 float mNonPitchWarpWeight; // offset 0xC, size 0x4 float mNonPitchTransitWeight; // offset 0x10, size 0x4 class SaytrState mMicHistory; // offset 0x14, size 0x54 class SaytrState mRefHistory; // offset 0x68, size 0x54 class deque mHistoryCorresponds; // offset 0xBC, size 0x28 class VocalEvaluator mVocalEvaluator; // offset 0xE4, size 0x10 class FileStream * mOutputStream; // offset 0xF4, size 0x4 }; class DelayLine { // total size: 0x194 float mData[100]; // offset 0x0, size 0x190 int mCur; // offset 0x190, size 0x4 }; class VocalPlayer : public Player { // total size: 0x590 public: unsigned char mTutorialArrow; // offset 0x109, size 0x1 private: class Performer * mBandPerformer; // offset 0x10C, size 0x4 unsigned char mSpoofed; // offset 0x110, size 0x1 class VocalTrack * mTrack; // offset 0x114, size 0x4 class SaytrMic * mMic; // offset 0x118, size 0x4 class BeatMaster * mBeatMaster; // offset 0x11C, size 0x4 unsigned char mAutoPlay; // offset 0x120, size 0x1 class VocalNoteList * mVocalNoteList; // offset 0x124, size 0x4 class vector mNoteWeights; // offset 0x128, size 0xC int mPhraseRatingTotal; // offset 0x134, size 0x4 int mTotalPhrases; // offset 0x138, size 0x4 unsigned char * mWeightData; // offset 0x13C, size 0x4 int mNumWeights; // offset 0x140, size 0x4 int mTotalTambourinePoints; // offset 0x144, size 0x4 int mBonusTambourinePoints; // offset 0x148, size 0x4 int mSinging; // offset 0x14C, size 0x4 float mDetune; // offset 0x150, size 0x4 float mNextPacketSendTime; // offset 0x154, size 0x4 float mMaxDetune; // offset 0x158, size 0x4 float mPacketPeriodMs; // offset 0x15C, size 0x4 float mRemotePhraseMeterFrac; // offset 0x160, size 0x4 float mPhraseScoreMax; // offset 0x164, size 0x4 float mPhraseScoreCap; // offset 0x168, size 0x4 int mPhraseScoreCapNote; // offset 0x16C, size 0x4 float mPhraseScore; // offset 0x170, size 0x4 float mPhraseBonusScore; // offset 0x174, size 0x4 float mLastMs; // offset 0x178, size 0x4 int mLastBeginNote; // offset 0x17C, size 0x4 const class VocalPhrase * mThisPhrase; // offset 0x180, size 0x4 unsigned char mIgnorePhrase; // offset 0x184, size 0x1 float mSmoothPhraseScore; // offset 0x188, size 0x4 unsigned char mSmoothUpdate; // offset 0x18C, size 0x1 int mPhraseValue; // offset 0x190, size 0x4 float mSlop; // offset 0x194, size 0x4 float mPitchSigma; // offset 0x198, size 0x4 float mPitchHitMultiplier; // offset 0x19C, size 0x4 float mNonPitchHitMultiplier; // offset 0x1A0, size 0x4 float mShortNoteThresh; // offset 0x1A4, size 0x4 float mShortNoteMult; // offset 0x1A8, size 0x4 float mNoteLengthFactor; // offset 0x1AC, size 0x4 float mRatingThresholds[4]; // offset 0x1B0, size 0x10 float mScreamStart; // offset 0x1C0, size 0x4 float mScreamEnergyThreshold; // offset 0x1C4, size 0x4 float mScreamTime; // offset 0x1C8, size 0x4 float mCurBestHit; // offset 0x1CC, size 0x4 int mCurNoteMatched; // offset 0x1D0, size 0x4 int mSpotlightPhraseID; // offset 0x1D4, size 0x4 float mMaxPhraseWeight; // offset 0x1D8, size 0x4 float mPitchCorrect; // offset 0x1DC, size 0x4 float mNonPitchEasyMultiplier; // offset 0x1E0, size 0x4 float mPhraseScoreCapGrowth; // offset 0x1E4, size 0x4 enum MatchType mFrameMatchType; // offset 0x1E8, size 0x4 float mFrameJudgmentTime; // offset 0x1EC, size 0x4 float mFrameMicPitch; // offset 0x1F0, size 0x4 float mFrameMicEnergy; // offset 0x1F4, size 0x4 float mFrameMicPhonemeAccuracy; // offset 0x1F8, size 0x4 unsigned char mFrameRefVoiced; // offset 0x1FC, size 0x1 float mFrameTargetPitch; // offset 0x200, size 0x4 float mFrameBestHit; // offset 0x204, size 0x4 class VocalScorer mVocalScorer; // offset 0x208, size 0xF8 float mMinSongPitch; // offset 0x300, size 0x4 float mMaxSongPitch; // offset 0x304, size 0x4 float mMinPitch; // offset 0x308, size 0x4 float mMaxPitch; // offset 0x30C, size 0x4 unsigned char mInFreestyleSection; // offset 0x310, size 0x1 unsigned char mInDeployedFreeStyleSection; // offset 0x311, size 0x1 unsigned char mCouldChat; // offset 0x312, size 0x1 float mLastOctaveCorrect; // offset 0x314, size 0x4 float mCodaEndMs; // offset 0x318, size 0x4 unsigned char mCodaResolved; // offset 0x31C, size 0x1 class DelayLine mScoreDeltaHistory; // offset 0x320, size 0x194 class VibratoDetector * mVibrato; // offset 0x4B4, size 0x4 float mVibratoBonus; // offset 0x4B8, size 0x4 unsigned char mMicFxOn; // offset 0x4BC, size 0x1 unsigned char mReverbOn; // offset 0x4BD, size 0x1 float mGhostScorePerPhrase; // offset 0x4C0, size 0x4 float mFirstPhraseMsToScore; // offset 0x4C4, size 0x4 class ObjDirPtr mMicFx; // offset 0x4C8, size 0xC float mLastTimeVocalEnergySent; // offset 0x4D4, size 0x4 float mVocalEnergyPeriodMs; // offset 0x4D8, size 0x4 class Sequence * mTambourineSequence; // offset 0x4DC, size 0x4 class Fader * mTambourineFader; // offset 0x4E0, size 0x4 class MidiParser * mTambourineParser; // offset 0x4E4, size 0x4 class vector mTambourineEvents; // offset 0x4E8, size 0xC int mTambourineIdx; // offset 0x4F4, size 0x4 unsigned char mTambourineSwinging; // offset 0x4F8, size 0x1 unsigned char mTambourineSucceeding; // offset 0x4F9, size 0x1 int mNumTambourinePassed; // offset 0x4FC, size 0x4 float mTambourineEnergyDropThreshold; // offset 0x500, size 0x4 float mTambourineEnergyRiseThreshold; // offset 0x504, size 0x4 float mTambourineApex; // offset 0x508, size 0x4 float mTambourineNadir; // offset 0x50C, size 0x4 int mTambourineWindowTicks; // offset 0x510, size 0x4 int mTambourineMsOffset; // offset 0x514, size 0x4 int mTambourineMsOffsetUSB; // offset 0x518, size 0x4 unsigned char mTambourineWiiSwinging; // offset 0x51C, size 0x1 int mTambourineAccelerationMinimum; // offset 0x520, size 0x4 int mTambourineAccelerationRiseThreshold; // offset 0x524, size 0x4 int mTambourineAccelerationDropThreshold; // offset 0x528, size 0x4 int mTambourineAccelerationApex; // offset 0x52C, size 0x4 int mTambourineAccelerationNadir; // offset 0x530, size 0x4 float mTambourineCrowdSuccess; // offset 0x534, size 0x4 float mTambourineCrowdFailure; // offset 0x538, size 0x4 unsigned char mTambourineActive; // offset 0x53C, size 0x1 int mNumTambGems; // offset 0x540, size 0x4 float mTambourinePoints; // offset 0x544, size 0x4 int mTambGemsHit; // offset 0x548, size 0x4 class vector mTambourineGems; // offset 0x54C, size 0xC float mTempoVal; // offset 0x558, size 0x4 float mRunningTime; // offset 0x55C, size 0x4 unsigned char mIsJukeboxMode; // offset 0x560, size 0x1 }; // Range: 0x800313CC -> 0x800313D8 void VocalTrack::ClearPlayer() {} static class Symbol scrolling_normal; // size: 0x4, address: 0x80A49144 static class Symbol scrolling_now; // size: 0x4, address: 0x80A4914C static class Symbol scrolling_past; // size: 0x4, address: 0x80A49154 static class Symbol scrolling_style; // size: 0x4, address: 0x80A4915C static class Symbol scrolling_style_now; // size: 0x4, address: 0x80A49164 static class Symbol scrolling_style_past; // size: 0x4, address: 0x80A4916C static class Symbol phonome_tube_width; // size: 0x4, address: 0x80A49174 // Range: 0x800313D8 -> 0x80032740 void VocalTrack::UpdateScrolling(class VocalTrack * const this /* r23 */, float ms /* f22 */) { // Local variables const class VocalNoteList * noteList; // r24 float updateEnd; // f22 int endNote; // r25 const class VocalNote & note; // r0 class RndTransformable * scroller; // r29 float absX; // f1 float updateEnd; // f31 float invalidateMs; // f23 const class VocalNoteList * noteList; // r28 int endNote; // r1+0x4C const class VocalNote & note; // r0 class RndGroup * group; // r31 class RndMesh * maskSrc; // r27 int i; // r24 int tick; // r25 float beatMs; // r1+0x48 class RndMesh * marker; // r1+0x44 class Vector3 v; // r1+0x190 const class vector & phrases; // r26 int itP; // r25 float phraseTime; // f30 int last; // r24 class RndMesh * marker; // r1+0x40 float endMs; // r1+0x3C class Vector3 v; // r1+0x180 float freestyleEnd; // f29 float freestyleStart; // f28 float duration; // f23 class RndMesh * mask; // r1+0x38 float originalWidth; // f27 float newWidth; // f26 int maskSegmentCount; // r24 float maskTiles; // f25 float maskCurrentX; // f24 float maskCurrentU; // f23 int vertIndex; // r22 class VertVector & maskVerts; // r21 class Vector3 v; // r1+0x170 class VertVector & maskVerts; // r21 class Vector3 v; // r1+0x160 const class vector & events; // r21 int endTick; // r22 const int * itT; // r24 float ms; // f22 unsigned char splitParts; // r0 const class vector & noteVec; // r24 class RndGroup * wordGroup; // r25 const class VocalNote * it; // r26 int startLyricIdx; // [invalid] class String str; // r1+0x150 class RndText * textObj; // r21 class Lyric * newLyric; // r1+0x34 const class VocalNote * j; // r1+0x30 float lastEndX; // r1+0x2C class Color normalColor; // r1+0x140 class Color currentColor; // r1+0x130 class Color pastColor; // r1+0x120 class Color normalColorStyle; // r1+0x110 class Color currentColorStyle; // r1+0x100 class Color pastColorStyle; // r1+0xF0 float phonomeTubeWidth; // f0 int i; // r27 class Lyric & lyric; // r21 unsigned char spotlight; // r22 class Color normal; // r1+0xE0 class Color current; // r1+0xD0 class Color past; // r1+0xC0 float startMs; // f0 float tick; // f23 class Vector3 v; // r1+0xB0 class Color c; // r1+0xA0 float shift; // f22 class RndLine * noteTube; // r22 class Vector3 p0; // r1+0x90 class Vector3 p1; // r1+0x80 float lyricWidth; // f0 // References // -> static class Symbol phonome_tube_width; // -> static class Symbol scrolling_style_past; // -> static class Symbol scrolling_style_now; // -> static class Symbol scrolling_style; // -> static class Symbol scrolling_past; // -> static class Symbol scrolling_now; // -> static class Symbol scrolling_normal; // -> class GameMode * TheGameMode; // -> class DebugFailer TheDebugFailer; // -> const char * kAssertStr; // -> class BeatMap * TheBeatMap; // -> class SongDB * TheSongDB; } class VocalNote { // total size: 0x30 int mPhrase; // offset 0x0, size 0x4 int mBeginPitch; // offset 0x4, size 0x4 int mEndPitch; // offset 0x8, size 0x4 float mMs; // offset 0xC, size 0x4 int mTick; // offset 0x10, size 0x4 float mDurationMs; // offset 0x14, size 0x4 unsigned short mDurationTicks; // offset 0x18, size 0x2 class String mText; // offset 0x1C, size 0xC unsigned char mPhraseEnd; // offset 0x28, size 0x1 unsigned char mUnpitchedPhrase; // offset 0x29, size 0x1 unsigned char mUnpitchedNote; // offset 0x2A, size 0x1 unsigned char mUnpitchedEasy; // offset 0x2B, size 0x1 unsigned char mPitchRangeEnd; // offset 0x2C, size 0x1 unsigned char mPlayerMask; // offset 0x2D, size 0x1 }; // Range: 0x80032740 -> 0x8003296C class TambourineGem * TambourineGemPool::NewGem(class TambourineGemPool * const this /* r31 */, float time /* f31 */, int index /* r1+0x8 */) { // Local variables int i; // r30 class TambourineGem * gem; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class VocalNote * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class VocalNote * _M_start; // offset 0x0, size 0x4 class VocalNote * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class VocalPhrase { // total size: 0x30 public: float mStartMs; // offset 0x0, size 0x4 float mDurationMs; // offset 0x4, size 0x4 int mStartTick; // offset 0x8, size 0x4 int mDurationTicks; // offset 0xC, size 0x4 int mNoteStart; // offset 0x10, size 0x4 int mNoteEnd; // offset 0x14, size 0x4 unsigned char mPitchRangeEnd; // offset 0x18, size 0x1 float mMinPitch; // offset 0x1C, size 0x4 float mMaxPitch; // offset 0x20, size 0x4 unsigned char mPlayerMask; // offset 0x24, size 0x1 unsigned char mTambourinePhrase; // offset 0x25, size 0x1 float mFreeStyleStartMs; // offset 0x28, size 0x4 float mFreeStyleEndMs; // offset 0x2C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class VocalPhrase * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class VocalPhrase * _M_start; // offset 0x0, size 0x4 class VocalPhrase * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum TambourineGemState { kTambourineGemActive = 0, kTambourineGemHit = 1, kTambourineGemMissed = 2, kTambourineGemOff = 3, kTambourinePreview = 4, }; // Range: 0x8003296C -> 0x80033744 void VocalTrack::UpdateTambourineGems(class VocalTrack * const this /* r22 */) { // Local variables class RndMultiMesh * gemsMM; // r0 class RndMultiMesh * missedGemsMM; // r0 class RndMultiMesh * previewGemsMM; // r0 class RndTransformable * parent; // r24 class deque & gemList; // r0 class Transform t; // r1+0x100 float duration_ms; // f30 const class VocalPhrase * curPhrase; // r1+0x1C const class VocalPhrase * pm; // r0 float next_phrase_duration; // f0 unsigned int i; // r23 enum TambourineGemState state; // r0 float x_frac; // f2 class Transform world; // r1+0xC0 float transitionMs; // f30 float previewFrame; // f31 float nowMs; // f1 // References // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class TaskMgr TheTaskMgr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> class SongDB * TheSongDB; // -> struct [anonymous] __RTTI__11RndPropAnim; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // size: 0x8, address: 0x80870A88 // Range: 0x80033744 -> 0x800338A8 float VocalTrack::PitchToZ(class VocalTrack * const this /* r30 */, float pitch /* f30 */, unsigned char clamped /* r31 */) { // Local variables float minPitch; // f31 float maxPitch; // f2 float extra; // f1 float raw_z; // f2 } // Range: 0x800338A8 -> 0x800339B8 unsigned char VocalTrack::InPhonemePhrase(float ms /* f31 */) { // Local variables const class VocalNote * nextNote; // r0 int nextNoteIndex; // r0 int lastNoteIndex; // r30 // References // -> class SongDB * TheSongDB; } static class Symbol hit; // size: 0x4, address: 0x80A4917C // Range: 0x800339B8 -> 0x80033CB0 void VocalTrack::HitTambourineGem(class VocalTrack * const this /* r30 */) { // References // -> static class Symbol hit; } static class Symbol miss; // size: 0x4, address: 0x80A49184 // Range: 0x80033CB0 -> 0x80033F60 void VocalTrack::MissTambourineGem(class VocalTrack * const this /* r30 */, int index /* r31 */) { // References // -> static class Symbol miss; } // Range: 0x80033F60 -> 0x80034030 class Color VocalTrack::GetColor() {} // Range: 0x80034030 -> 0x800340F4 class Color VocalTrack::GetColor() {} // Range: 0x800340F4 -> 0x8003420C void VocalTrack::OnPhraseComplete(class VocalTrack * const this /* r29 */, int lastPhraseScore /* r28 */) { // Local variables const char * score; // r28 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x8003420C -> 0x800342CC void VocalTrack::ClearLyrics(class VocalTrack * const this /* r29 */) { // Local variables class Lyric * l; // r30 } // Range: 0x800342CC -> 0x80034D74 void VocalTrack::BuildPhrase(class VocalTrack * const this /* r20 */, float newPhraseEndMs /* f26 */, float nextPhraseEndMs /* f25 */) { // Local variables const class vector & noteList; // r0 float phraseDurationMs; // f2 int noteEnd; // r1+0x1C class RndGroup * wordGroup; // r26 int lyricStartIndex; // [invalid] float phraseTick; // f28 float nextPhraseTick; // f27 float nextPhraseEndTick; // f0 float phraseWidth; // f30 float previewWidth; // f26 unsigned char splitParts; // r0 float previewLeft; // f25 float previewRight; // f31 int firstOutOfBoundsLyric; // r25 int i; // r24 class String str; // r1+0x8C class RndText * textObj; // r23 class Lyric * newLyric; // r1+0x18 int j; // r22 float textWidth; // f0 float lyricPos; // f25 float previewPos; // f26 float displayedDurationMs; // f0 float introTick; // f1 int i; // r21 class Lyric & lyric; // r23 float lyricWidth; // f0 float phraseStartOffsetMs; // f0 float pitch; // f0 unsigned char spotlight; // r3 float prevAlpha; // f1 struct LyricSetupInfo setup; // r1+0x98 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> class GameMode * TheGameMode; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class SongDB * TheSongDB; } static class Color previewColor; // size: 0x10, address: 0x80976C60 static class Color normalColor; // size: 0x10, address: 0x80976C70 static class Color currentColor; // size: 0x10, address: 0x80976C80 static class Color pastColor; // size: 0x10, address: 0x80976C90 // Range: 0x80034D74 -> 0x80035254 void VocalTrack::SetupKeyframes(const class VocalTrack * const this /* r26 */, class Lyric & lyric /* r27 */, const struct LyricSetupInfo & setup /* r28 */, int x_offset /* r29 */) { // Local variables float lineHeight; // f31 float tick; // f30 class Vector3 v; // r1+0x110 // References // -> static class Color pastColor; // -> static class Color currentColor; // -> static class Color normalColor; // -> static class Color previewColor; } // Range: 0x80035254 -> 0x800358DC void VocalTrack::BuildMasks(class VocalTrack * const this /* r31 */) { // Local variables float start; // f31 float width; // f30 float curPhraseDurMs; // f3 float duration; // f4 float curPhraseDurMs; // f30 float maskStartMs; // f2 float maskEndMs; // f0 float originalWidth; // f29 class Vector3 v; // r1+0x30 // References // -> const char * kAssertStr; // -> class Symbol name; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Game * TheGame; // -> class SongDB * TheSongDB; } // Range: 0x800358DC -> 0x80035E98 void VocalTrack::BuildBeatMarkers(class VocalTrack * const this /* r26 */) { // Local variables class RndGroup * group; // r30 float phraseStartTick; // f28 float phraseEndTick; // f29 int startBeat; // [invalid] int endBeat; // r29 unsigned char downbeatsOnly; // r28 float phraseDurationMs; // f30 int i; // [invalid] class RndMesh * marker; // r25 float beatMs; // f0 class Vector3 v; // r1+0x40 const class VocalPhrase * nextPhrase; // r0 float startMs; // f0 float endMs; // f0 int i; // r27 class RndMesh * marker; // r24 float beatMs; // f0 class Vector3 v; // r1+0x30 // References // -> class SongDB * TheSongDB; // -> class BeatMap * TheBeatMap; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x80035E98 -> 0x80036044 void VocalTrack::PreparePhonemeLine(class VocalTrack * const this /* r31 */) { // Local variables class RndLine * line; // r28 int i; // r29 class Vector3 point; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndLine; } // Range: 0x80036044 -> 0x8003636C void VocalTrack::UpdatePhonemeLine(class VocalTrack * const this /* r30 */, float ms /* f29 */, float phraseStart /* f30 */, float phraseWindow /* f31 */) { // Local variables float accuracy; // r1+0x18 class Color goodColor; // r1+0x50 class Color badColor; // r1+0x40 class RndLine * line; // r31 int endIndex; // r1+0x14 int startIndex; // [invalid] int i; // r28 class Vector3 point; // r1+0x30 class Color c; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndLine; } // Range: 0x8003636C -> 0x80036BE4 void VocalTrack::PrepareTambourine(class VocalTrack * const this /* r26 */) { // Local variables float duration_ms; // f0 const class vector & events; // r0 int start_tick; // r1+0x44 int end_tick; // r28 const int * it; // r27 float ms; // f0 const class VocalPhrase * nextPhrase; // r0 float ms; // f0 // References // -> class SongDB * TheSongDB; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct __less_2 { // total size: 0x1 }; // Range: 0x80036BE4 -> 0x800373B8 void VocalTrack::PrepareNoteTubes(class VocalTrack * const this /* r19 */, float startMs /* f25 */, float windowDurationMs /* f26 */, int startNote /* r20 */, int & endNote /* r21 */) { // Local variables unsigned char separateParts; // r0 const class VocalNoteList * noteList; // r0 class RndTransformable * scroller; // r26 class RndGroup * group; // r25 float phonomeTubeWidth; // f30 float offset; // f0 int i; // [invalid] const class VocalNote & note; // r0 unsigned char spotlight; // r22 class Symbol srcName; // r1+0x44 const class VocalNote * last; // r3 float last_x; // f29 int j; // r24 float x; // f0 class RndLine * tube; // r23 float tubeWidth; // f28 float ms; // f27 int k; // r22 float z; // f0 float x; // r1+0x40 float z; // f0 float x; // f2 class Vector3 v; // r1+0x70 // References // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } // Range: 0x800373B8 -> 0x800374B8 void VocalTrack::ToggleScoreDebug(class VocalTrack * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x800374B8 -> 0x800375A4 void VocalTrack::UpdatePressToTalk(class VocalTrack * const this /* r30 */, unsigned char newState /* r31 */) { // Local variables class EventTrigger * trig; // r5 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x800375A4 -> 0x800375B8 void VocalTrack::SetScreamThresholds() {} // Range: 0x800375B8 -> 0x800375F8 unsigned char VocalTrack::InTambourinePhrase() { // Local variables class Player * p; // r0 } class DebugWarner { // total size: 0x100 char mStr[256]; // offset 0x0, size 0x100 }; static class DebugWarner _dw; // size: 0x100, address: 0x80976CA0 // Range: 0x800375F8 -> 0x80037798 int VocalTrack::IncrementVolume(class VocalTrack * const this /* r31 */, int val /* r30 */) { // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> class ProfileMgr TheProfileMgr; } // Range: 0x80037798 -> 0x800377D4 void VocalTrack::PushGameplayOptions(class VocalTrack * const this /* r30 */, enum VocalParam param /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A49190 static class Symbol _s; // size: 0x4, address: 0x80A49198 static class Symbol _s; // size: 0x4, address: 0x80A491A0 // Range: 0x800377D4 -> 0x80037D34 class DataNode VocalTrack::Handle(class VocalTrack * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80037D34 -> 0x800385E0 unsigned char Lyric::Poll(class Lyric * const this /* r31 */) { // Local variables float tick; // f0 class Color c; // r1+0x20 class Vector3 pos; // r1+0x10 } // Range: 0x800385E0 -> 0x800386F8 void * Lyric::Lyric(class Lyric * const this /* r30 */, class RndText * textObj /* r31 */, const class VocalNote * note /* r1+0x8 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndLine,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__5Lyric; } // Range: 0x800386F8 -> 0x80038950 void * Lyric::~Lyric(class Lyric * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndLine,9ObjectDir>; } // Range: 0x80038950 -> 0x80038960 int Lyric::StartTick() {} // Range: 0x80038960 -> 0x80038978 int Lyric::EndTick() {} // Range: 0x80038978 -> 0x80038988 int Lyric::Pitch() {} // Range: 0x80038988 -> 0x800389A0 float Lyric::Width() {} // Range: 0x800389A0 -> 0x800389D4 float Lyric::EndPos() {} // Range: 0x800389D4 -> 0x800389EC unsigned char Lyric::PitchNote() {} struct { // total size: 0x8 } __RTTI__12RndMultiMesh; // size: 0x8, address: 0x80870EE8 struct { // total size: 0x120 } __vt__10VocalTrack; // size: 0x120, address: 0x80870EF0 struct { // total size: 0x18 } __vt__34ObjPtr<13VocalTrackDir,9ObjectDir>; // size: 0x18, address: 0x80871048 struct { // total size: 0x8 } __RTTI__34ObjPtr<13VocalTrackDir,9ObjectDir>; // size: 0x8, address: 0x80871090 struct { // total size: 0x54 } __vt__5Lyric; // size: 0x54, address: 0x80871098 struct { // total size: 0x8 } __RTTI__5Lyric; // size: 0x8, address: 0x80871108 struct { // total size: 0x8 } __RTTI__13VocalTrackDir; // size: 0x8, address: 0x80871180 struct { // total size: 0x18 } __vt__27ObjPtr<7RndLine,9ObjectDir>; // size: 0x18, address: 0x80871188 struct { // total size: 0x8 } __RTTI__27ObjPtr<7RndLine,9ObjectDir>; // size: 0x8, address: 0x808711C8 struct { // total size: 0x8 } __RTTI__11RndPropAnim; // size: 0x8, address: 0x80871258 struct { // total size: 0x18 } __vt__27ObjPtr<7RndText,9ObjectDir>; // size: 0x18, address: 0x80871260 struct { // total size: 0x8 } __RTTI__27ObjPtr<7RndText,9ObjectDir>; // size: 0x8, address: 0x808712A0 struct { // total size: 0x8 } __RTTI__12EventTrigger; // size: 0x8, address: 0x808712D0 struct { // total size: 0x8 } __RTTI__7RndText; // size: 0x8, address: 0x80871450 class TambourineGem { // total size: 0xC float mTime; // offset 0x0, size 0x4 int mIndex; // offset 0x4, size 0x4 enum TambourineGemState mState; // offset 0x8, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PPP13TambourineGem; // size: 0x8, address: 0x80871600 struct { // total size: 0x8 } __RTTI__PP13TambourineGem; // size: 0x8, address: 0x80871620 struct { // total size: 0x8 } __RTTI__PPQ211stlpmtx_std17pair; // size: 0x8, address: 0x80871650 struct { // total size: 0x8 } __RTTI__PPQ211stlpmtx_std17pair; // size: 0x8, address: 0x80871698 struct { // total size: 0x8 } __RTTI__PPP5Lyric; // size: 0x8, address: 0x808716B0 struct { // total size: 0x8 } __RTTI__PP5Lyric; // size: 0x8, address: 0x808716C8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std17pair; // size: 0x8, address: 0x808716F8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std17pair; // size: 0x8, address: 0x80871728 struct { // total size: 0x8 } __RTTI__PPC9VocalNote; // size: 0x8, address: 0x80871748 struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; class _List_global { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__P13Key<7Vector3>; // size: 0x8, address: 0x80871780 struct { // total size: 0x8 } __RTTI__P6Key; // size: 0x8, address: 0x80871798 struct { // total size: 0x8 } __RTTI__P17Key; // size: 0x8, address: 0x808717B8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std116_Rb_tree_node>>>; // size: 0x8, address: 0x80871848 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std120_Rb_tree_node>>>; // size: 0x8, address: 0x808718D8 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Profile * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Profile * _M_start; // offset 0x0, size 0x4 class Profile * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SigninChangedMsg : public Message { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Profile * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Profile * * _M_start; // offset 0x0, size 0x4 class Profile * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ProfileMgr : public MsgSource { // total size: 0x278 public: float kPlatformAudioLatency; // offset 0x1C, size 0x4 float kPlatformVideoLatency; // offset 0x20, size 0x4 float kInGameExtraVideoLatency; // offset 0x24, size 0x4 float kInGameSyncOffsetAdjustment; // offset 0x28, size 0x4 private: unsigned char mHasInactiveProfile; // offset 0x2C, size 0x1 class GameplayOptions mGuitarOptions[2]; // offset 0x30, size 0x90 class GameplayOptions mDrumsOptions[2]; // offset 0xC0, size 0x90 class GameplayOptions mVocalsOptions[2]; // offset 0x150, size 0x90 enum ProfileSaveState mGlobalOptionsSaveState; // offset 0x1E0, size 0x4 unsigned char mGlobalOptionsDirty; // offset 0x1E4, size 0x1 unsigned char mHasPlayedBefore; // offset 0x1E5, size 0x1 unsigned char mHasPlayedGuitarBefore; // offset 0x1E6, size 0x1 unsigned char mHasPlayedDrumBefore; // offset 0x1E7, size 0x1 unsigned char mHasPlayedVocalsBefore; // offset 0x1E8, size 0x1 int mBackgroundVolume; // offset 0x1EC, size 0x4 int mForegroundVolume; // offset 0x1F0, size 0x4 int mFxVolume; // offset 0x1F4, size 0x4 int mCrowdVolume; // offset 0x1F8, size 0x4 int mVocalCueVolume; // offset 0x1FC, size 0x4 unsigned char mMono; // offset 0x200, size 0x1 float mSyncOffset; // offset 0x204, size 0x4 float mSongToTaskMgrMs; // offset 0x208, size 0x4 unsigned char mBassBoost; // offset 0x20C, size 0x1 unsigned char mDolby; // offset 0x20D, size 0x1 unsigned char mMuteFx; // offset 0x20E, size 0x1 int mSyncPresetIx; // offset 0x210, size 0x4 unsigned char mOverscan; // offset 0x214, size 0x1 class String mUsername; // offset 0x218, size 0xC class DataArray * mSliderConfig; // offset 0x224, size 0x4 class DataArray * mSliderRatioConfig; // offset 0x228, size 0x4 class vector mProfiles; // offset 0x22C, size 0xC unsigned char mAllUnlocked; // offset 0x238, size 0x1 int mMaxChars; // offset 0x23C, size 0x4 int mMaxBands; // offset 0x240, size 0x4 int mMaxRemoteBands; // offset 0x244, size 0x4 unsigned char mAllowSigninActivation; // offset 0x248, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: char * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: char * _M_start; // offset 0x0, size 0x4 char * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class MemStream : public BinStream { // total size: 0x20 unsigned char mFail; // offset 0xC, size 0x1 int mTell; // offset 0x10, size 0x4 class vector mBuffer; // offset 0x14, size 0xC }; /* Compile unit: C:\rockband2\system\src\os\Debug.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800389EC -> 0x800389F8 */ // Range: 0x800389EC -> 0x800389F8 void DebugFailer::__ls() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800389F8 -> 0x80038A44 */ // Range: 0x800389F8 -> 0x80038A44 char * MakeString(const char * fmt /* r0 */, enum VocalParam t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80038A44 -> 0x80038B50 */ // Range: 0x80038A44 -> 0x80038A48 class StlNodeAlloc vector::get_allocator() {} // Range: 0x80038A48 -> 0x80038A50 int * vector::begin() {} // Range: 0x80038A50 -> 0x80038A60 class VocalNote & vector::__vc() {} // Range: 0x80038A60 -> 0x80038A88 unsigned long vector::size() {} // Range: 0x80038A88 -> 0x80038AB0 unsigned long vector::size() {} // Range: 0x80038AB0 -> 0x80038AC0 class VocalPhrase & vector::__vc() {} // Range: 0x80038AC0 -> 0x80038AC8 int * vector::end() {} // Range: 0x80038AC8 -> 0x80038AD0 class VocalNote * vector::begin() {} // Range: 0x80038AD0 -> 0x80038B3C void vector::push_back() {} // Range: 0x80038B3C -> 0x80038B44 class VocalNote * vector::end() {} // Range: 0x80038B44 -> 0x80038B50 class VocalNote * & vector::back() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80038B50 -> 0x8003A734 */ // Range: 0x80038B50 -> 0x80038C38 static class RndText * NewRndCopy(const class RndText * src /* r30 */) { // Local variables class RndText * result; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; // -> class Symbol name; } // Range: 0x80038C38 -> 0x80039200 void VocalTrack::UpdateVocalStyle(class VocalTrack * const this /* r30 */) { // Local variables class vector & activePlayers; // r0 int i; // r26 class Player * p; // r29 class VocalTrack * vocalTrack; // r0 float margin; // f2 class Symbol song; // r1+0x20 float songScroll; // f0 float scrollRate; // f30 // References // -> class GameMode * TheGameMode; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__5Track; // -> struct [anonymous] __RTTI__10VocalTrack; // -> class GameConfig * TheGameConfig; // -> class Game * TheGame; } // Range: 0x80039200 -> 0x80039310 void VocalTrack::ToggleDisplayMode(class VocalTrack * const this /* r30 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80039310 -> 0x800398A0 void VocalTrack::Poll(class VocalTrack * const this /* r29 */, float ms /* f31 */) { // Local variables int i; // r30 unsigned char keep; // r0 class Lyric * l; // r27 struct _Deque_iterator itr; // r1+0x60 const char * score; // r26 unsigned char spotlight; // r26 // References // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x800398A0 -> 0x80039B60 void VocalTrack::PollKaraoke(class VocalTrack * const this /* r29 */, float ms /* f31 */) { // Local variables float phraseDuration; // r31 float displayedDuration; // f30 class Vector3 v; // r1+0x10 float phraseFrac; // f4 float adjustFrame; // f0 float frac; // f0 int streak; // r30 // References // -> class GamePanel * TheGamePanel; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80039B60 -> 0x8003A47C void VocalTrack::UpdatePitchGuide(class VocalTrack * const this /* r24 */, float ms /* f27 */) { // Local variables unsigned char spotlight; // r25 float phonemeAnimFrame; // r31 float pitchColorFrame; // f31 float freestyleFeedbackFrame; // f30 unsigned char inPhonemePhrase; // r0 float pitchFrame; // f29 float frameScore; // f28 class Vector3 v; // r1+0x20 unsigned char clampPitch; // r21 class Vector3 v; // r1+0x10 float pitchZ; // f27 // References // -> static unsigned char gDebugSpew; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class SongDB * TheSongDB; } // Range: 0x8003A47C -> 0x8003A734 void VocalTrack::Restart(class VocalTrack * const this /* r31 */) { // Local variables float tubeWidth; // f1 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003A734 -> 0x8003AC84 */ // Range: 0x8003A734 -> 0x8003A794 void * deque::~deque(class deque * const this /* r30 */) {} // Range: 0x8003A794 -> 0x8003A7F4 void * deque::~deque(class deque * const this /* r30 */) {} // Range: 0x8003A7F4 -> 0x8003A930 void * deque::~deque(class deque * const this /* r30 */) {} // Range: 0x8003A930 -> 0x8003AA6C void * deque::~deque(class deque * const this /* r30 */) {} // Range: 0x8003AA6C -> 0x8003AB3C class Lyric * & deque::__vc() {} // Range: 0x8003AB3C -> 0x8003ABA8 unsigned long deque::size() {} // Range: 0x8003ABA8 -> 0x8003ABEC void deque::push_back() {} // Range: 0x8003ABEC -> 0x8003AC28 void deque::push_back() {} // Range: 0x8003AC28 -> 0x8003AC84 class Lyric * & deque::back() { // Local variables struct _Deque_iterator __tmp; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003AC84 -> 0x8003AD30 */ // Range: 0x8003AC84 -> 0x8003AD30 class RndMesh * Object::New() { // Local variables class RndMesh * c; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003AD30 -> 0x8003B12C */ // Range: 0x8003AD30 -> 0x8003ADA4 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13VocalTrackDir,9ObjectDir>; } // Range: 0x8003ADA4 -> 0x8003ADAC class VocalTrackDir * ObjPtr::__rf() {} // Range: 0x8003ADAC -> 0x8003AE20 void ObjPtr::__as(class ObjPtr * const this /* r30 */, class RndLine * obj /* r31 */) {} // Range: 0x8003AE20 -> 0x8003AE98 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; } // Range: 0x8003AE98 -> 0x8003AF10 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndLine,9ObjectDir>; } // Range: 0x8003AF10 -> 0x8003AF18 class Object * ObjPtr::RefOwner() {} // Range: 0x8003AF18 -> 0x8003AFBC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13VocalTrackDir; } // Range: 0x8003AFBC -> 0x8003AFC4 class Object * ObjPtr::RefOwner() {} // Range: 0x8003AFC4 -> 0x8003B074 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndLine; } // Range: 0x8003B074 -> 0x8003B07C class Object * ObjPtr::RefOwner() {} // Range: 0x8003B07C -> 0x8003B12C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B12C -> 0x8003B2FC */ // Range: 0x8003B224 -> 0x8003B230 struct pair * _Rb_tree_iterator::__rf() {} // Range: 0x8003B230 -> 0x8003B268 struct _Rb_tree_iterator & _Rb_tree_iterator::__pp(struct _Rb_tree_iterator * const this /* r31 */) {} // Range: 0x8003B268 -> 0x8003B274 void * _Rb_tree_iterator::_Rb_tree_iterator() {} // Range: 0x8003B274 -> 0x8003B290 unsigned char _Rb_tree_iterator::__ne() {} // Range: 0x8003B290 -> 0x8003B29C struct pair * _Rb_tree_iterator::__rf() {} // Range: 0x8003B29C -> 0x8003B2D4 struct _Rb_tree_iterator & _Rb_tree_iterator::__pp(struct _Rb_tree_iterator * const this /* r31 */) {} // Range: 0x8003B2D4 -> 0x8003B2E0 void * _Rb_tree_iterator::_Rb_tree_iterator() {} // Range: 0x8003B2E0 -> 0x8003B2FC unsigned char _Rb_tree_iterator::__ne() {} /* Compile unit: C:\rockband2\system\src\utl\Std.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B2FC -> 0x8003B4FC */ // Range: 0x8003B2FC -> 0x8003B3B4 void DeleteAll(class vector & container /* r29 */) {} // Range: 0x8003B3B4 -> 0x8003B444 void DeleteAll(class list & container /* r31 */) {} // Range: 0x8003B444 -> 0x8003B4FC void DeleteAll(class vector & container /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_map.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B4FC -> 0x8003B524 */ // Range: 0x8003B4FC -> 0x8003B508 struct _Rb_tree_iterator map::begin() {} // Range: 0x8003B508 -> 0x8003B510 struct _Rb_tree_iterator map::end() {} // Range: 0x8003B510 -> 0x8003B51C struct _Rb_tree_iterator map::begin() {} // Range: 0x8003B51C -> 0x8003B524 struct _Rb_tree_iterator map::end() {} /* Compile unit: C:\rockband2\band2\src\meta\CharOptions.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B524 -> 0x8003B53C */ // Range: 0x8003B524 -> 0x8003B52C enum VocalStyle GameplayOptions::GetVocalStyle() {} // Range: 0x8003B52C -> 0x8003B534 int GameplayOptions::GetMicGain() {} // Range: 0x8003B534 -> 0x8003B53C int GameplayOptions::GetVocalVolume() {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B53C -> 0x8003B7DC */ // Range: 0x8003B53C -> 0x8003B61C class RndGroup * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class RndGroup * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x8003B61C -> 0x8003B6FC class RndMesh * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class RndMesh * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x8003B6FC -> 0x8003B7DC class RndTransformable * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class RndTransformable * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B7DC -> 0x8003B7E0 */ // Range: 0x8003B7DC -> 0x8003B7E0 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\rndobj\Line.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B7E0 -> 0x8003B7F0 */ // Range: 0x8003B7E0 -> 0x8003B7F0 class Vector3 & RndLine::PointPos() {} /* Compile unit: C:\rockband2\system\src\math\Vec.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B7F0 -> 0x8003B804 */ // Range: 0x8003B7F0 -> 0x8003B7F4 void * Vector3::Vector3() {} // Range: 0x8003B7F4 -> 0x8003B804 void * Vector3::Vector3() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B804 -> 0x8003B87C */ // Range: 0x8003B804 -> 0x8003B81C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8003B81C -> 0x8003B834 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8003B834 -> 0x8003B84C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8003B84C -> 0x8003B864 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8003B864 -> 0x8003B87C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\rndobj\Draw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B87C -> 0x8003B884 */ // Range: 0x8003B87C -> 0x8003B884 void RndDrawable::SetShowing() {} /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B884 -> 0x8003B8B8 */ // Range: 0x8003B884 -> 0x8003B88C class Transform & RndTransformable::LocalXfm() {} // Range: 0x8003B88C -> 0x8003B8B8 void RndTransformable::SetLocalPos() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\GraphicsUtl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B8B8 -> 0x8003B9A0 */ // Range: 0x8003B8B8 -> 0x8003B9A0 static class RndMesh * NewRndCopy(const class RndMesh * src /* r30 */) { // Local variables class RndMesh * result; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\beatmatch\VocalNoteList.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B9A0 -> 0x8003B9AC */ // Range: 0x8003B9A0 -> 0x8003B9A4 class vector & VocalNoteList::GetPhrases() {} // Range: 0x8003B9A4 -> 0x8003B9AC class vector & VocalNoteList::GetNotes() {} /* Compile unit: C:\rockband2\band2\src\game\Performer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B9AC -> 0x8003B9B4 */ // Range: 0x8003B9AC -> 0x8003B9B4 unsigned char Performer::IsNet() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\Track.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B9B4 -> 0x8003B9BC */ // Range: 0x8003B9B4 -> 0x8003B9BC class TrackConfig & Track::GetTrackConfig() {} /* Compile unit: C:\rockband2\system\src\rndobj\Anim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B9BC -> 0x8003B9C4 */ // Range: 0x8003B9BC -> 0x8003B9C4 void RndAnimatable::SetFrame() {} /* Compile unit: C:\rockband2\band2\src\game\VocalPlayer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B9C4 -> 0x8003B9E8 */ // Range: 0x8003B9C4 -> 0x8003B9D8 unsigned char VocalPlayer::InTambourinePhrase() {} // Range: 0x8003B9D8 -> 0x8003B9E0 float VocalPlayer::GetCodaEndMs() {} // Range: 0x8003B9E0 -> 0x8003B9E8 float VocalPlayer::DeployScreamTime() {} /* Compile unit: C:\rockband2\band2\src\bandtrack\VocalTrack.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003B9E8 -> 0x8003C21C */ // Range: 0x8003B9E8 -> 0x8003BA00 unsigned char VocalTrack::IsScrolling() {} // Range: 0x8003BA00 -> 0x8003BC98 void Lyric::AddPosKey(class Lyric * const this /* r28 */, float tick /* f31 */, const class Vector3 & v /* r29 */) {} // Range: 0x8003BC98 -> 0x8003BF38 void Lyric::AddColorKey(class Lyric * const this /* r28 */, float tick /* f31 */, const class Color & c /* r29 */) {} // Range: 0x8003BF5C -> 0x8003C1EC void Lyric::AddAlphaKey(class Lyric * const this /* r29 */, float tick /* f30 */, float a /* f31 */) {} // Range: 0x8003C1EC -> 0x8003C200 unsigned char VocalTrack::IsCurrentVocalParam() {} // Range: 0x8003C200 -> 0x8003C214 class BandTrack * VocalTrack::GetBandTrack() {} // Range: 0x8003C214 -> 0x8003C21C class RndDir * VocalTrack::GetDir() {} /* Compile unit: C:\rockband2\system\src\beatmatch\VocalNote.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C21C -> 0x8003C244 */ // Range: 0x8003C21C -> 0x8003C224 float VocalNote::GetMs() {} // Range: 0x8003C224 -> 0x8003C22C class String & VocalNote::GetText() {} // Range: 0x8003C22C -> 0x8003C234 unsigned char VocalNote::GetUnpitchedNote() {} // Range: 0x8003C234 -> 0x8003C244 float VocalNote::GetEndMs() {} /* Compile unit: C:\rockband2\system\src\utl\TimeConversion.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C244 -> 0x8003C2D0 */ // Range: 0x8003C244 -> 0x8003C290 int BeatToTickI() {} // Range: 0x8003C290 -> 0x8003C2D0 float TickToMs() {} /* Compile unit: C:\rockband2\system\src\rndobj\Mesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C2D0 -> 0x8003C3B8 */ // Range: 0x8003C2D0 -> 0x8003C338 int RndMesh::Mutable(class RndMesh * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8003C338 -> 0x8003C348 class Vert & VertVector::__vc() {} // Range: 0x8003C348 -> 0x8003C3B0 class VertVector & RndMesh::Verts(class RndMesh * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8003C3B0 -> 0x8003C3B8 int VertVector::size() {} /* Compile unit: C:\rockband2\band2\src\game\GameMode.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C3B8 -> 0x8003C3C0 */ // Range: 0x8003C3B8 -> 0x8003C3C0 int GameMode::IsSeparateParts() {} /* Compile unit: C:\rockband2\system\src\utl\Str.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C3C0 -> 0x8003C404 */ // Range: 0x8003C3C0 -> 0x8003C3D8 unsigned char String::empty() {} // Range: 0x8003C3D8 -> 0x8003C3E0 unsigned int String::length() {} /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C404 -> 0x8003C428 */ // Range: 0x8003C404 -> 0x8003C428 unsigned char MaxEq() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C428 -> 0x8003C554 */ // Range: 0x8003C428 -> 0x8003C508 int * find() {} // Range: 0x8003C508 -> 0x8003C554 int * __lower_bound() { // Local variables long __len; // r6 long __half; // r7 const int * __middle; // r8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_pair.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C554 -> 0x8003C568 */ // Range: 0x8003C554 -> 0x8003C568 void * pair::pair() {} /* Compile unit: C:\rockband2\system\src\math\Color.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C568 -> 0x8003C56C */ // Range: 0x8003C568 -> 0x8003C56C void * Color::Color() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C56C -> 0x8003C584 */ // Range: 0x8003C56C -> 0x8003C584 struct __less_2 __less2() {} /* Compile unit: C:\rockband2\band2\src\game\Player.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C584 -> 0x8003C58C */ // Range: 0x8003C584 -> 0x8003C58C unsigned char Player::InTambourinePhrase() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003C58C -> 0x8003DB08 */ // Range: 0x8003C58C -> 0x8003C650 void deque::_M_push_back_aux_v(class deque * const this /* r31 */, class TambourineGem * const & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TambourineGem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003C650 -> 0x8003C6C4 void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x8003C6C4 -> 0x8003C8A8 void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 class TambourineGem * * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPP13TambourineGem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003C8A8 -> 0x8003C96C void deque::_M_push_back_aux_v(class deque * const this /* r31 */, class Lyric * const & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP5Lyric; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003C96C -> 0x8003C9E0 void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x8003C9E0 -> 0x8003CBC4 void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 class Lyric * * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPP5Lyric; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003CBC4 -> 0x8003CC90 void deque::_M_push_back_aux_v(class deque * const this /* r31 */, const struct pair & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003CC90 -> 0x8003CD04 void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x8003CD04 -> 0x8003CEE8 void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 struct pair * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003CEE8 -> 0x8003CFB4 void deque::_M_push_back_aux_v(class deque * const this /* r31 */, const struct pair & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003CFB4 -> 0x8003D028 void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x8003D028 -> 0x8003D20C void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 struct pair * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003D20C -> 0x8003D288 void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x8003D288 -> 0x8003D384 void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 class TambourineGem * * * __nstart; // r28 class TambourineGem * * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPP13TambourineGem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003D384 -> 0x8003D3F0 void _Deque_base::_M_create_nodes(class TambourineGem * * * __nfinish /* r30 */) { // Local variables class TambourineGem * * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TambourineGem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003D3F0 -> 0x8003D440 void _Deque_base::_M_destroy_nodes(class TambourineGem * * * __nfinish /* r30 */) { // Local variables class TambourineGem * * * __n; // r31 } // Range: 0x8003D440 -> 0x8003D4BC void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x8003D4BC -> 0x8003D5B8 void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 struct pair * * __nstart; // r28 struct pair * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003D5B8 -> 0x8003D624 void _Deque_base::_M_create_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003D624 -> 0x8003D674 void _Deque_base::_M_destroy_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __n; // r31 } // Range: 0x8003D674 -> 0x8003D6F0 void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x8003D6F0 -> 0x8003D7EC void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 struct pair * * __nstart; // r28 struct pair * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003D7EC -> 0x8003D858 void _Deque_base::_M_create_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003D858 -> 0x8003D8A8 void _Deque_base::_M_destroy_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __n; // r31 } // Range: 0x8003D8A8 -> 0x8003D924 void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x8003D924 -> 0x8003DA20 void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 class Lyric * * * __nstart; // r28 class Lyric * * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPP5Lyric; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003DA20 -> 0x8003DA8C void _Deque_base::_M_create_nodes(class Lyric * * * __nfinish /* r30 */) { // Local variables class Lyric * * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP5Lyric; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003DA8C -> 0x8003DADC void _Deque_base::_M_destroy_nodes(class Lyric * * * __nfinish /* r30 */) { // Local variables class Lyric * * * __n; // r31 } // Range: 0x8003DADC -> 0x8003DB08 void _Vector_base::_M_throw_out_of_range() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003DB08 -> 0x8003EC44 */ // Range: 0x8003DB08 -> 0x8003DB90 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x8003DB90 -> 0x8003DE94 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x8003DE94 -> 0x8003DF40 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x8003DF40 -> 0x8003E250 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x8003E250 -> 0x8003E64C struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r28 */, struct _Rb_tree_node_base * __parent /* r29 */, const struct pair & __val /* r30 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std120_Rb_tree_node>>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003E64C -> 0x8003E778 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x8003E778 -> 0x8003EB14 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r28 */, struct _Rb_tree_node_base * __parent /* r29 */, const struct pair & __val /* r30 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> struct [anonymous] __RTTI__PP7RndLine; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std116_Rb_tree_node>>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003EB14 -> 0x8003EC44 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003EC44 -> 0x8003EF9C */ // Range: 0x8003EC44 -> 0x8003EEA0 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003EEA0 -> 0x8003EF00 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8003EF00 -> 0x8003EF60 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8003EF60 -> 0x8003EF9C void _List_global::_Transfer() { // Local variables struct _List_node_base * __tmp; // r6 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8003EF9C -> 0x800405C8 */ // Range: 0x8003EF9C -> 0x8003F0D4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndLine * * __pos /* r28 */, class RndLine * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndLine * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7RndLine; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003F0D4 -> 0x8003F2A4 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7RndLine; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003F2A4 -> 0x8003F3DC void vector::_M_insert_overflow(class vector * const this /* r27 */, const class VocalNote * * __pos /* r28 */, const class VocalNote * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 const class VocalNote * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPC9VocalNote; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003F3DC -> 0x8003F434 class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8003F434 -> 0x8003F4A4 void vector::_M_fill_insert() {} // Range: 0x8003F4A4 -> 0x8003F4FC class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8003F4FC -> 0x8003F56C void vector::_M_fill_insert() {} // Range: 0x8003F56C -> 0x8003F5C4 class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8003F5C4 -> 0x8003F634 void vector::_M_fill_insert() {} // Range: 0x8003F634 -> 0x8003F804 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pf; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003F804 -> 0x8003F830 void _Vector_base::_M_throw_out_of_range() {} // Range: 0x8003F830 -> 0x8003F85C void _Vector_base::_M_throw_out_of_range() {} // Range: 0x8003F85C -> 0x8003FA88 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13Key<7Vector3>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003FA88 -> 0x8003FD08 void vector::_M_fill_insert_aux() { // Local variables class Key __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class Key * __old_finish; // r0 } // Range: 0x8003FD08 -> 0x8003FEF4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Key; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8003FEF4 -> 0x800400DC void vector::_M_fill_insert_aux() { // Local variables class Key __x_copy; // r1+0x20 unsigned long __elems_after; // r8 class Key * __old_finish; // r0 } // Range: 0x800400DC -> 0x80040328 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P17Key; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80040328 -> 0x800405C8 void vector::_M_fill_insert_aux() { // Local variables class Key __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class Key * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\game\Band.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800405C8 -> 0x80043074 */ // Range: 0x800405C8 -> 0x800409DC void * Band::Band(class Band * const this /* r26 */, unsigned char oneBandPerPlayer /* r27 */, int playerNum /* r28 */, class BeatMaster * beatMaster /* r29 */) { // Local variables int i; // r30 class Player * p; // r1+0x24 int i; // r25 // References // -> struct [anonymous] __vt__10NullPlayer; // -> class BandUserMgr * TheBandUserMgr; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__4Band; } // Range: 0x800409DC -> 0x80040C7C void * Band::~Band(class Band * const this /* r30 */) { // Local variables int i; // r28 // References // -> class BandUserMgr * TheBandUserMgr; // -> struct [anonymous] __vt__4Band; } // Range: 0x80040D04 -> 0x80040DD4 void Band::Restart(class Band * const this /* r30 */) { // Local variables unsigned int i; // r31 } // Range: 0x80040DD4 -> 0x80040DDC class Performer * Band::GetBand() {} // Range: 0x80040DDC -> 0x80040E7C class Player * Band::GetPlayer(const class Band * const this /* r30 */, int player /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80040E7C -> 0x80040F1C class Player * Band::GetActivePlayer(const class Band * const this /* r30 */, int player /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80040F1C -> 0x80040F34 int Band::NumActivePlayers() {} // Range: 0x80040F34 -> 0x80040F54 class Performer * Band::MainPerformer() {} // Range: 0x80040F54 -> 0x80040F5C class vector & Band::GetActivePlayers() {} // Range: 0x80040F5C -> 0x80040F64 class vector & Band::GetActivePlayers() {} // Range: 0x80040F64 -> 0x80040F6C void Band::SetAccumulatedScore() {} // Range: 0x80040F6C -> 0x80040F74 void Band::SetTotalStars() {} // Range: 0x80040F74 -> 0x80040F7C void Band::SetLongestStreak() {} // Range: 0x80040F7C -> 0x80041008 int Band::GetLongestStreak() { // Local variables int max_streak; // r1+0xC const class vector & players; // r0 class Player * const * it; // r30 } // Range: 0x80041008 -> 0x8004131C void Band::Poll(class Band * const this /* r31 */, float ms /* f31 */, class SongPos & song_pos /* r28 */) { // Local variables int i; // r29 float rating; // f0 float rating; // f0 int tick; // r29 int codaStart; // r0 int i; // r29 int playerNum; // r29 unsigned char codaResolved; // r29 int i; // r28 // References // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; } // Range: 0x8004131C -> 0x800413A4 void Band::SetCrowdMeterActive(class Band * const this /* r29 */, unsigned char active /* r30 */) { // Local variables int i; // r31 } // Range: 0x800413A4 -> 0x8004145C unsigned char Band::AnyoneSaveable(const class Band * const this /* r29 */) { // Local variables int i; // r30 } // Range: 0x8004145C -> 0x80041508 int Band::DeployBandEnergy(class Band * const this /* r27 */, int deployer /* r28 */) { // Local variables int nSavedCount; // r30 int i; // r29 } static class Message blowMsg; // size: 0x8, address: 0x80976DB0 // Range: 0x80041508 -> 0x800416A8 void Band::BlowCoda(class Band * const this /* r30 */, int player /* r29 */) { // References // -> static class Message blowMsg; // -> struct [anonymous] __vt__7Message; } static class Message blownMsg; // size: 0x8, address: 0x80976DC8 // Range: 0x800416A8 -> 0x8004193C void Band::LocalBlowCoda(class Band * const this /* r28 */, int player /* r29 */) { // Local variables int i; // r30 class BandTrack * track; // r0 // References // -> class GameMode * TheGameMode; // -> class GamePanel * TheGamePanel; // -> static class Message blownMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8004193C -> 0x800419BC void Band::DealWithCodaGem(class Band * const this /* r28 */, int player_num /* r29 */, unsigned char hit /* r30 */, unsigned char last_gem /* r31 */) { // References // -> class Game * TheGame; } // Range: 0x800419BC -> 0x80041AB4 unsigned char Band::IsEndOfCoda(class Band * const this /* r26 */, int tick /* r27 */) { // Local variables int current_gem_tick; // r30 int final_gem_tick; // r29 int i; // r28 // References // -> class SongDB * TheSongDB; } // Range: 0x80041AB4 -> 0x80041B34 unsigned char Band::HasFinishedCoda(class Band * const this /* r29 */, int player /* r30 */) {} // Range: 0x80041B34 -> 0x80041B54 unsigned char Band::HasBlownCoda() {} // Range: 0x80041B54 -> 0x80041BBC unsigned char Band::HasResolvedCoda(class Band * const this /* r29 */, int player /* r30 */) {} // Range: 0x80041BBC -> 0x80041C68 unsigned char Band::EveryoneFinishedCoda(class Band * const this /* r30 */) { // Local variables int i; // r31 } static class Message codaEndMsg; // size: 0x8, address: 0x80976DE0 // Range: 0x80041C68 -> 0x80041ED4 void Band::WinCoda(class Band * const this /* r30 */) { // Local variables int i; // r31 class BandTrack * track; // r0 // References // -> class GameMode * TheGameMode; // -> class GamePanel * TheGamePanel; // -> static class Message codaEndMsg; // -> struct [anonymous] __vt__7Message; } static class Message codaMsg; // size: 0x8, address: 0x80976DF8 // Range: 0x80041ED4 -> 0x8004213C void Band::FinishedCoda(class Band * const this /* r30 */, int player /* r29 */) { // References // -> static class Message codaMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8004213C -> 0x800421D8 void Band::LocalFinishedCoda(class Band * const this /* r30 */, int player /* r31 */) { // References // -> class GameMode * TheGameMode; } // Range: 0x800421D8 -> 0x800421E0 int Band::EnergyMultiplier() {} static class Symbol crowd_boost; // size: 0x4, address: 0x80A491B0 // Range: 0x800421E0 -> 0x80042278 int Band::EnergyCrowdBoost(const class Band * const this /* r31 */) { // References // -> static class Symbol crowd_boost; } // Range: 0x80042278 -> 0x800422E4 void Band::ForceStars(class Band * const this /* r29 */, int stars /* r30 */) { // Local variables class Player * * p; // r31 } // Range: 0x800422E4 -> 0x8004231C int Band::GetInstrumentBitfield() { // Local variables int instr_bitfield; // r5 class Player * * p; // r6 } // Range: 0x8004231C -> 0x800423F0 class Player * Band::NewPlayer(class Band * const this /* r27 */, class BeatMaster * beatMaster /* r28 */, int num /* r29 */) { // Local variables int track; // r31 class BandUser * cfg; // r30 // References // -> class BandUserMgr * TheBandUserMgr; // -> class GameConfig * TheGameConfig; } // Range: 0x800423F0 -> 0x800425A0 void Band::UpdateBonusLevel(class Band * const this /* r28 */, float ms /* f31 */) { // Local variables int bonus_level; // r29 class Player * * p; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A491B8 static class Symbol _s; // size: 0x4, address: 0x80A491C0 static class Symbol _s; // size: 0x4, address: 0x80A491C8 static class Symbol _s; // size: 0x4, address: 0x80A491D0 static class Symbol _s; // size: 0x4, address: 0x80A491D8 static class Symbol _s; // size: 0x4, address: 0x80A491E0 static class Symbol _s; // size: 0x4, address: 0x80A491E8 static class Symbol _s; // size: 0x4, address: 0x80A491F0 static class Symbol _s; // size: 0x4, address: 0x80A491F8 // Range: 0x800425A0 -> 0x80043074 class DataNode Band::Handle(class Band * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x44 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class NullPlayer : public Player { // total size: 0x138 }; struct { // total size: 0x1E4 } __vt__10NullPlayer; // size: 0x1E4, address: 0x80871C2C struct { // total size: 0x8 } __RTTI__10NullPlayer; // size: 0x8, address: 0x80871E48 struct { // total size: 0x54 } __vt__4Band; // size: 0x54, address: 0x80871EB0 struct { // total size: 0x8 } __RTTI__4Band; // size: 0x8, address: 0x80871F20 struct { // total size: 0x8 } __RTTI__PP6Player; // size: 0x8, address: 0x80871FB0 /* Compile unit: C:\rockband2\band2\src\game\Player.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004315C -> 0x800431EC */ // Range: 0x8004315C -> 0x80043160 void Player::ConfigureBehavior() {} // Range: 0x80043160 -> 0x80043168 unsigned char Player::IsActive() {} // Range: 0x80043168 -> 0x8004316C void Player::ResetCodaPoints() {} // Range: 0x8004316C -> 0x80043174 unsigned char Player::AutoplaysCoda() {} // Range: 0x80043174 -> 0x80043178 void Player::AddCodaPoints() {} // Range: 0x80043178 -> 0x80043180 int Player::GetCodaPoints() {} // Range: 0x80043180 -> 0x80043184 void Player::ResetController() {} // Range: 0x80043184 -> 0x80043188 void Player::UpdateVocalStyle() {} // Range: 0x80043188 -> 0x8004318C void Player::UpdateLeftyFlip() {} // Range: 0x8004318C -> 0x80043190 void Player::EnableSwings() {} // Range: 0x80043190 -> 0x80043194 void Player::SetTargetGhostScore() {} // Range: 0x80043194 -> 0x8004319C unsigned char Player::NeedsToSetCodaEnd() {} // Range: 0x8004319C -> 0x800431A4 unsigned char Player::NeedsToCorrectBasePoints() {} // Range: 0x800431A4 -> 0x800431A8 void Player::SetCodaEndMs() {} // Range: 0x800431A8 -> 0x800431B0 unsigned char Player::GetCodaFreestyleExtents() {} // Range: 0x800431B0 -> 0x800431B4 void Player::SetSyncOffset() {} // Range: 0x800431B4 -> 0x800431BC float Player::GetStarPower() {} // Range: 0x800431BC -> 0x800431D8 int Player::GetGhostScore() {} // Range: 0x800431D8 -> 0x800431DC void Player::DisableController() {} // Range: 0x800431DC -> 0x800431E0 void Player::EnableController() {} // Range: 0x800431E0 -> 0x800431E4 void Player::EnableDrumFills() {} // Range: 0x800431E4 -> 0x800431E8 void Player::StartIntro() {} // Range: 0x800431E8 -> 0x800431EC void Player::PostLoad() {} /* Compile unit: C:\rockband2\band2\src\game\NullPlayer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800431EC -> 0x80043270 */ // Range: 0x800431EC -> 0x800431F4 float NullPlayer::GetNotesHitFraction() {} // Range: 0x800431F4 -> 0x800431FC int NullPlayer::GetBaseBonusPoints() {} // Range: 0x800431FC -> 0x80043204 int NullPlayer::GetBaseMaxStreakPoints() {} // Range: 0x80043204 -> 0x8004320C int NullPlayer::GetBaseMaxPoints() {} // Range: 0x8004320C -> 0x80043214 unsigned char NullPlayer::FillsEnabled() {} // Range: 0x80043214 -> 0x80043218 void NullPlayer::DisableFills() {} // Range: 0x80043218 -> 0x8004321C void NullPlayer::EnableFills() {} // Range: 0x8004321C -> 0x80043220 void NullPlayer::UnHookTrack() {} // Range: 0x80043220 -> 0x80043224 void NullPlayer::HookupTrack() {} // Range: 0x80043224 -> 0x8004322C unsigned char NullPlayer::IsAutoplay() {} // Range: 0x8004322C -> 0x80043230 void NullPlayer::SetAutoplay() {} // Range: 0x80043230 -> 0x80043234 void NullPlayer::Restart() {} // Range: 0x80043234 -> 0x80043238 void NullPlayer::Jump() {} // Range: 0x80043238 -> 0x8004323C void NullPlayer::SetMusicSpeed() {} // Range: 0x8004323C -> 0x80043240 void NullPlayer::SetRealtime() {} // Range: 0x80043240 -> 0x80043244 void NullPlayer::SetPaused() {} // Range: 0x80043244 -> 0x80043248 void NullPlayer::PollAudio() {} // Range: 0x80043248 -> 0x8004324C void NullPlayer::PollTrack() {} // Range: 0x8004324C -> 0x80043250 void NullPlayer::Poll() {} // Range: 0x80043250 -> 0x80043254 void NullPlayer::Start() {} // Range: 0x80043254 -> 0x8004325C unsigned char NullPlayer::IsReady() {} // Range: 0x8004325C -> 0x80043260 void NullPlayer::SetTrack() {} // Range: 0x80043260 -> 0x80043268 float NullPlayer::GetSongMs() {} // Range: 0x80043268 -> 0x80043270 unsigned char NullPlayer::IsActive() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80043270 -> 0x800433A8 */ // Range: 0x80043270 -> 0x800433A8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Player * * __pos /* r28 */, class Player * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Player * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6Player; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\BandPerformer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800433A8 -> 0x80043FE8 */ // Range: 0x800433A8 -> 0x800433E4 void BandPerformer::Poll(class BandPerformer * const this /* r31 */) {} // Range: 0x800433E4 -> 0x80043420 int BandPerformer::GetScore(const class BandPerformer * const this /* r31 */) {} // Range: 0x80043420 -> 0x8004345C int BandPerformer::GetGhostScore(const class BandPerformer * const this /* r31 */) {} // Range: 0x8004345C -> 0x800434A0 int BandPerformer::GetAccumulatedScore(const class BandPerformer * const this /* r31 */) { // Local variables int song_score; // r0 } // Range: 0x800434A0 -> 0x8004350C int BandPerformer::GetNumStars(const class BandPerformer * const this /* r31 */) { // Local variables int max_base; // r1+0x10 int bonus_base; // r1+0xC int instr_bitfield; // r1+0x8 // References // -> class Scoring * TheScoring; } // Range: 0x8004350C -> 0x80043588 float BandPerformer::GetNumStarsFloat(const class BandPerformer * const this /* r30 */, unsigned char enforce_diff_restrictions /* r31 */) { // Local variables int max_base; // r1+0x10 int bonus_base; // r1+0xC int instr_bitfield; // r1+0x8 // References // -> class Scoring * TheScoring; } // Range: 0x80043588 -> 0x800435D4 float BandPerformer::GetTotalStars() {} // Range: 0x800435D4 -> 0x80043634 int BandPerformer::GetScoreForStars(int numStars /* r31 */) { // Local variables int max_base; // r1+0x10 int bonus_base; // r1+0xC int instr_bitfield; // r1+0x8 // References // -> class Scoring * TheScoring; } // Range: 0x80043634 -> 0x800436AC unsigned char BandPerformer::IsNet() { // Local variables const class vector & players; // r0 class Player * const * it; // r30 } // Range: 0x800436AC -> 0x80043774 void BandPerformer::ComputePoints(class BandPerformer * const this /* r27 */) { // Local variables int points; // r30 int ghost_points; // r29 const class vector & players; // r0 class Player * const * it; // r28 } // Range: 0x80043774 -> 0x800437EC int BandPerformer::CodaScore() { // Local variables int score; // r30 const class vector & players; // r0 class Player * const * it; // r29 } // Range: 0x800437EC -> 0x8004387C void BandPerformer::ForceScore(int score /* r28 */) { // Local variables unsigned char has_set_score; // r30 const class vector & players; // r0 class Player * const * it; // r29 } // Range: 0x8004387C -> 0x80043988 float BandPerformer::GetNotesHitFraction() { // Local variables int total; // r30 int totalHit; // r29 const class vector & players; // r0 class Player * const * it; // r28 // References // -> class SongDB * TheSongDB; } // Range: 0x80043988 -> 0x80043B48 float BandPerformer::WeightedCrowdLevel(const class BandPerformer * const this /* r27 */) { // Local variables int i; // r27 const class vector & players; // r0 int num_players; // r26 class DataArray * weights; // r31 class vector ratings; // r1+0x10 float total; // f31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pf; // -> unsigned char gStlAllocNameLookup; } static class Symbol _s; // size: 0x4, address: 0x80A49204 static class Symbol _s; // size: 0x4, address: 0x80A4920C // Range: 0x80043B48 -> 0x80043FE8 class DataNode BandPerformer::Handle(class BandPerformer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xE0 } __vt__13BandPerformer; // size: 0xE0, address: 0x808720C0 struct { // total size: 0x8 } __RTTI__13BandPerformer; // size: 0x8, address: 0x808721D0 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Modifier * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Modifier * * _M_start; // offset 0x0, size 0x4 class Modifier * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class ModifierMgr : public Object, public ListProvider { // total size: 0x84 class vector mModifiers; // offset 0x2C, size 0xC class set mActiveModifiers; // offset 0x38, size 0x18 class set mFeatures; // offset 0x50, size 0x18 class map mDisabledFeatures; // offset 0x68, size 0x18 class RndMat * mCheckboxBgMat; // offset 0x80, size 0x4 }; /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80043FE8 -> 0x80044310 */ // Range: 0x80043FE8 -> 0x80044134 void * BandPerformer::BandPerformer(class BandPerformer * const this /* r31 */, class Band * group /* r30 */, int player_num /* r29 */) { // References // -> struct [anonymous] __vt__13BandPerformer; } // Range: 0x80044134 -> 0x80044228 void BandPerformer::ComputeScoreData(int & max_base /* r26 */, int & bonus_base /* r27 */, int & instr_bitfield /* r28 */) { // Local variables const class vector & players; // r0 class Player * const * it; // r29 enum TrackType track_type; // r0 // References // -> class Debug TheDebug; } // Range: 0x80044228 -> 0x80044310 void BandPerformer::SetCrowdMeter(class BandPerformer * const this /* r30 */) { // Local variables float level; // f0 const class vector & players; // r0 class Player * const * it; // r30 // References // -> class ModifierMgr * TheModifierMgr; } /* Compile unit: C:\rockband2\band2\src\game\Performer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80044310 -> 0x80044318 */ // Range: 0x80044310 -> 0x80044318 int Performer::GetLongestStreak() {} /* Compile unit: C:\rockband2\band2\src\game\BandPerformer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80044340 -> 0x80044370 */ // Range: 0x80044340 -> 0x80044370 class Symbol BandPerformer::GetStreakType() {} /* Compile unit: C:\rockband2\band2\src\game\BandUser.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80044370 -> 0x80046984 */ static class Symbol none; // size: 0x4, address: 0x80A49214 // Range: 0x80044370 -> 0x80044434 void * BandUser::BandUser(class BandUser * const this /* r29 */) { // References // -> static class Symbol none; // -> const char * gNullStr; // -> struct [anonymous] __vt__8BandUser; } // Range: 0x80044434 -> 0x80044500 void * BandUser::~BandUser(class BandUser * const this /* r30 */) { // References // -> struct [anonymous] __vt__8BandUser; } // Range: 0x80044500 -> 0x80044540 class BandUser * BandUser::NewBandUser(int playerNum /* r31 */) {} static class Symbol none; // size: 0x4, address: 0x80A4921C // Range: 0x80044540 -> 0x80044604 void BandUser::Reset(class BandUser * const this /* r31 */) { // References // -> class GameConfig * TheGameConfig; // -> class CharCache * TheCharCache; // -> static class Symbol none; } // Range: 0x80044604 -> 0x8004460C enum Difficulty BandUser::GetDifficulty() {} // Range: 0x8004460C -> 0x80044614 class Symbol BandUser::GetDifficultySym() {} // Range: 0x80044614 -> 0x800446EC void BandUser::SetDifficulty(class BandUser * const this /* r29 */, enum Difficulty d /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800446EC -> 0x80044730 void BandUser::SetDifficulty(class BandUser * const this /* r31 */) {} // Range: 0x80044730 -> 0x80044738 enum TrackType BandUser::GetTrackType() {} // Range: 0x80044738 -> 0x80044740 class Symbol BandUser::GetTrackSym() {} // Range: 0x80044740 -> 0x800447CC void BandUser::SetTrackType(class BandUser * const this /* r30 */, enum TrackType t /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800447CC -> 0x80044810 void BandUser::SetTrackType(class BandUser * const this /* r31 */) {} // Range: 0x80044810 -> 0x80044818 enum ControllerType BandUser::GetControllerType() {} // Range: 0x80044818 -> 0x80044820 class Symbol BandUser::GetControllerSym() {} // Range: 0x80044820 -> 0x800448AC void BandUser::SetControllerType(class BandUser * const this /* r30 */, enum ControllerType ControllerType /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800448AC -> 0x800448F0 void BandUser::SetControllerType(class BandUser * const this /* r31 */) {} // Range: 0x800448F0 -> 0x80044904 unsigned char BandUser::HasChar() {} // Range: 0x80044904 -> 0x8004490C class CharData * BandUser::GetChar() {} class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct OutfitPref { // total size: 0x18 class Symbol mCategory; // offset 0x0, size 0x4 class Symbol mOutfit; // offset 0x4, size 0x4 class vector mColorPrefs; // offset 0x8, size 0xC int mPatchIdx; // offset 0x14, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct ClosetOutfit { // total size: 0x8 class Symbol mCategory; // offset 0x0, size 0x4 class Symbol mOutfit; // offset 0x4, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 class Symbol second; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 int second; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct OutfitGroup { // total size: 0x14 class Symbol mCategory; // offset 0x0, size 0x4 class list mSelectedVariants; // offset 0x4, size 0x8 class list mSelectedPatches; // offset 0xC, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class TourCharLocal : public CharData, public TourSavable { // total size: 0xA0 protected: class list mOutfitPrefs; // offset 0x40, size 0x8 private: class String mCharName; // offset 0x48, size 0xC class Symbol mHometown; // offset 0x54, size 0x4 int mMoney; // offset 0x58, size 0x4 class list mCloset; // offset 0x5C, size 0x8 int mMoneySpentOnOutfits; // offset 0x64, size 0x4 class list mOutfitGroups; // offset 0x68, size 0x8 unsigned char mEyebrowsMatchHair; // offset 0x70, size 0x1 }; // Range: 0x8004490C -> 0x8004499C class TourCharLocal * BandUser::GetCharLocal(class BandUser * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004499C -> 0x80044A80 void BandUser::SetChar(class BandUser * const this /* r29 */, class CharData * char_data /* r30 */, unsigned char update_data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80044A80 -> 0x80044B3C void BandUser::UpdateRemoteChar(class BandUser * const this /* r30 */, class DataArray * char_data /* r31 */) { // References // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80044B3C -> 0x80044B4C int BandUser::GetSlot(const class BandUser * const this /* r4 */) { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80044B4C -> 0x80044BA4 class GameplayOptions * BandUser::GetGameplayOptions(class BandUser * const this /* r31 */) { // Local variables class GameplayOptions * result; // r3 // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x80044BA4 -> 0x80044BB4 unsigned char BandUser::IsParticipating(const class BandUser * const this /* r4 */) { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80044BB4 -> 0x80044C20 char * BandUser::IntroName(const class BandUser * const this /* r31 */) { // Local variables class TourCharLocal * tc; // r0 // References // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x80044C20 -> 0x80044CAC char * BandUser::CharacterName(const class BandUser * const this /* r31 */) { // Local variables class TourCharLocal * tc; // r0 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x80044CAC -> 0x80044CB4 char * BandUser::GetUserName() {} // Range: 0x80044CB4 -> 0x80044CD4 void BandUser::SetNetUIState() { // Local variables enum NetUIState oldState; // r0 } // Range: 0x80044CD4 -> 0x80044CDC enum NetUIState BandUser::GetNetUIState() {} // Range: 0x80044CDC -> 0x80044CF4 unsigned char BandUser::NetSynchronized() {} // Range: 0x80044CF4 -> 0x80044D9C unsigned char BandUser::CanSaveData(class BandUser * const this /* r29 */) { // References // -> class ProfileMgr TheProfileMgr; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80044D9C -> 0x80044DA0 unsigned char BandUser::CanGetAchievements() {} // Range: 0x80044DA0 -> 0x80044E58 unsigned char BandUser::IsLocalPlayer(const class BandUser * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x80044E58 -> 0x80044ECC unsigned char BandUser::IsJoypadConnected(const class BandUser * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol joypad; // size: 0x4, address: 0x80A49224 static class Symbol instrument_mapping; // size: 0x4, address: 0x80A4922C // Range: 0x80044ECC -> 0x80045068 enum ControllerType BandUser::ConnectedControllerType(const class BandUser * const this /* r30 */) { // Local variables enum ControllerType ctOverride; // r0 class Symbol controller; // r1+0x18 class DataArray * cfg; // r0 class DataArray * data; // r30 enum ControllerType ct; // r30 // References // -> static class Symbol instrument_mapping; // -> static class Symbol joypad; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80045068 -> 0x80045380 void BandUser::SyncSave(const class BandUser * const this /* r30 */, class BinStream & dest /* r31 */, unsigned int dirtyMask /* r28 */) { // Local variables class String charName; // r1+0x1C class TourCharLocal * localChar; // r0 enum Difficulty diff; // r0 // References // -> struct [anonymous] __RTTI__14TourCharRemote; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PrefabChar * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PrefabChar * * _M_start; // offset 0x0, size 0x4 class PrefabChar * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PrefabChar : public CharData { // total size: 0x58 }; class TourCharRemote : public PrefabChar { // total size: 0x58 }; // Range: 0x80045380 -> 0x800456F8 void BandUser::SyncLoad(class BandUser * const this /* r27 */, class BinStream & src /* r28 */, unsigned int dirtyMask /* r29 */) { // Local variables unsigned char diff; // r1+0xC unsigned char trackType; // r1+0xB unsigned char ct; // r1+0xA unsigned char uiState; // r1+0x9 class String charName; // r1+0x20 class TourCharRemote * remoteChar; // r26 int diff; // r1+0x1C class TourCharRemote * remoteChar; // r26 class DataArray * char_data; // r1+0x18 class Symbol prefab; // r1+0x14 // References // -> const char * gNullStr; // -> class CharCache * TheCharCache; // -> class ProfileMgr TheProfileMgr; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__14TourCharRemote; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x800456F8 -> 0x80045760 void BandUser::UpdateData(class BandUser * const this /* r29 */, unsigned int dirtyMask /* r30 */) { // References // -> class Net TheNet; } // Range: 0x80045760 -> 0x80045768 void BandUser::UpdateCharWinDiff() {} // Range: 0x80045768 -> 0x80045850 class DataNode BandUser::OnSetDifficulty(class BandUser * const this /* r31 */) { // Local variables const class DataNode & arg; // r0 // References // -> class Debug TheDebug; } // Range: 0x80045850 -> 0x8004591C class DataNode BandUser::OnSetTrackType(class BandUser * const this /* r31 */) { // Local variables const class DataNode & arg; // r3 // References // -> class Debug TheDebug; } // Range: 0x8004591C -> 0x80045A30 class DataNode BandUser::OnSetControllerType(class BandUser * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables const class DataNode & arg; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80045A30 -> 0x80045B0C class DataNode BandUser::OnSetChar(class BandUser * const this /* r31 */) { // Local variables const class DataNode & arg; // r0 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharData; } // Range: 0x80045B0C -> 0x80045B14 unsigned char BandUser::HasAsFriend() {} static class Symbol _s; // size: 0x4, address: 0x80A49234 static class Symbol _s; // size: 0x4, address: 0x80A4923C static class Symbol _s; // size: 0x4, address: 0x80A49244 static class Symbol _s; // size: 0x4, address: 0x80A4924C static class Symbol _s; // size: 0x4, address: 0x80A49254 static class Symbol _s; // size: 0x4, address: 0x80A4925C static class Symbol _s; // size: 0x4, address: 0x80A49264 static class Symbol _s; // size: 0x4, address: 0x80A4926C static class Symbol _s; // size: 0x4, address: 0x80A49274 static class Symbol _s; // size: 0x4, address: 0x80A4927C static class Symbol _s; // size: 0x4, address: 0x80A49284 static class Symbol _s; // size: 0x4, address: 0x80A4928C static class Symbol _s; // size: 0x4, address: 0x80A49294 static class Symbol _s; // size: 0x4, address: 0x80A4929C static class Symbol _s; // size: 0x4, address: 0x80A492A4 static class Symbol _s; // size: 0x4, address: 0x80A492AC static class Symbol _s; // size: 0x4, address: 0x80A492B4 static class Symbol _s; // size: 0x4, address: 0x80A492BC static class Symbol _s; // size: 0x4, address: 0x80A492C4 static class Symbol _s; // size: 0x4, address: 0x80A492CC static class Symbol _s; // size: 0x4, address: 0x80A492D4 static class Symbol _s; // size: 0x4, address: 0x80A492DC static class Symbol _s; // size: 0x4, address: 0x80A492E4 static class Symbol _s; // size: 0x4, address: 0x80A492EC static class Symbol _s; // size: 0x4, address: 0x80A492F4 static class Symbol _s; // size: 0x4, address: 0x80A492FC // Range: 0x80045B14 -> 0x800466EC class DataNode BandUser::Handle(class BandUser * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } class DebugNotifier { // total size: 0x1 }; static class Symbol _s; // size: 0x4, address: 0x80A49304 static class Symbol _s; // size: 0x4, address: 0x80A4930C // Range: 0x800466EC -> 0x80046984 unsigned char BandUser::SyncProperty(class BandUser * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__14TourCharRemote; // size: 0x8, address: 0x80872638 struct { // total size: 0x8 } __RTTI__13TourCharLocal; // size: 0x8, address: 0x80872680 struct { // total size: 0x8 } __RTTI__11TourSavable; // size: 0x8, address: 0x808726A8 struct { // total size: 0x8 } __RTTI__10PrefabChar; // size: 0x8, address: 0x808726E0 struct { // total size: 0x8 } __RTTI__8CharData; // size: 0x8, address: 0x80872710 struct { // total size: 0x8 } __RTTI__8CharDesc; // size: 0x8, address: 0x80872738 struct { // total size: 0x70 } __vt__8BandUser; // size: 0x70, address: 0x80872740 struct { // total size: 0x8 } __RTTI__8BandUser; // size: 0x8, address: 0x808727D8 struct { // total size: 0x8 } __RTTI__4User; // size: 0x8, address: 0x80872800 /* Compile unit: C:\rockband2\system\src\os\User.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80046984 -> 0x800469F4 */ // Range: 0x80046984 -> 0x800469F4 void * User::~User(class User * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\CharOptions.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800469F4 -> 0x80046A68 */ // Range: 0x800469F4 -> 0x80046A68 void * GameplayOptions::~GameplayOptions(class GameplayOptions * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80046A68 -> 0x80046ADC */ // Range: 0x80046A68 -> 0x80046A70 enum DataType DataNode::Type() {} // Range: 0x80046A70 -> 0x80046A80 void * DataNode::DataNode() {} // Range: 0x80046A80 -> 0x80046A8C void * DataNode::DataNode() {} // Range: 0x80046A8C -> 0x80046ADC class BandUser * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; } /* Compile unit: C:\rockband2\system\src\obj\MessageTimer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80046ADC -> 0x80046B48 */ // Range: 0x80046ADC -> 0x80046B40 void * MessageTimer::MessageTimer(class MessageTimer * const this /* r29 */, class Object * o /* r30 */, class Symbol & message /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x80046B40 -> 0x80046B48 unsigned char MessageTimer::Active() { // References // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\utl\Symbol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80046B48 -> 0x80046B60 */ // Range: 0x80046B48 -> 0x80046B60 unsigned char Symbol::__eq() {} /* Compile unit: C:\rockband2\system\src\os\Debug.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80046B60 -> 0x80046B6C */ // Range: 0x80046B60 -> 0x80046B6C void DebugNotifier::__ls() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\band2\src\game\BandUserMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80046B6C -> 0x800482F0 */ class BandUserMgr * TheBandUserMgr; // size: 0x4, address: 0x80A49310 // Range: 0x80046B6C -> 0x80046BA8 void BandUserMgrInit() { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80046BA8 -> 0x80046CFC void * BandUserMgr::BandUserMgr(class BandUserMgr * const this /* r31 */, int num_users /* r29 */) { // Local variables int i; // r30 int pad; // r5 // References // -> struct [anonymous] __vt__11BandUserMgr; } // Range: 0x80046CFC -> 0x80046E84 void * BandUserMgr::~BandUserMgr(class BandUserMgr * const this /* r30 */) { // References // -> class BandUserMgr * TheBandUserMgr; // -> struct [anonymous] __vt__11BandUserMgr; } // Range: 0x80046E84 -> 0x80046E9C int BandUserMgr::MaxUsers() {} // Range: 0x80046E9C -> 0x80046FF4 void BandUserMgr::SwapUsers(class BandUserMgr * const this /* r29 */, int id1 /* r30 */, int id2 /* r31 */) { // References // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80046FF4 -> 0x8004702C class User * BandUserMgr::GetUser() {} // Range: 0x8004702C -> 0x80047064 class BandUser * BandUserMgr::GetBandUser() {} // Range: 0x80047064 -> 0x8004706C class vector & BandUserMgr::GetBandUsers() {} // Range: 0x8004706C -> 0x800470A4 void BandUserMgr::ResetSlots() { // Local variables int i; // r6 } // Range: 0x800470A4 -> 0x80047144 int BandUserMgr::GetSlot(const class BandUserMgr * const this /* r30 */, int id /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80047144 -> 0x800471F0 void BandUserMgr::SetSlot(class BandUserMgr * const this /* r29 */, int id /* r30 */, int slot /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800471F0 -> 0x800471F8 void BandUserMgr::ResetSlot() {} // Range: 0x800471F8 -> 0x800472AC unsigned char BandUserMgr::IsParticipating(const class BandUserMgr * const this /* r30 */, int id /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800472AC -> 0x800472F4 int BandUserMgr::GetPlayerFromSlot() { // Local variables int i; // r6 } // Range: 0x800472F4 -> 0x80047344 class BandUser * BandUserMgr::GetUserFromSlot() { // Local variables int i; // r6 } // Range: 0x80047344 -> 0x800473AC int BandUserMgr::MaxSlot() { // Local variables int max; // r1+0x8 int i; // r6 } // Range: 0x800473AC -> 0x8004742C int BandUserMgr::GetNumParticipants(const class BandUserMgr * const this /* r29 */) { // Local variables int num; // r31 int i; // r30 } // Range: 0x8004742C -> 0x80047464 unsigned char BandUserMgr::IsMultiplayerGame() {} // Range: 0x80047464 -> 0x80047508 int BandUserMgr::GetNumLocalPlayers(const class BandUserMgr * const this /* r29 */) { // Local variables int num; // r31 int i; // r30 } // Range: 0x80047508 -> 0x80047510 int BandUserMgr::GetMaxNumUsers() {} // Range: 0x80047510 -> 0x80047600 void BandUserMgr::ListParticipantConfigs(class BandUserMgr * const this /* r28 */, class list & configs /* r29 */) { // Local variables int i; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; } struct BandUserSlotCmp { // total size: 0x4 const class BandUserMgr & mUserMgr; // offset 0x0, size 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x80872968 // Range: 0x80047600 -> 0x8004760C int BandUserMgr::CountBandUsers() {} // Range: 0x8004760C -> 0x80047614 void BandUserMgr::GetParticipatingBandUsers() {} // Range: 0x80047614 -> 0x8004761C void BandUserMgr::GetLocalParticipants() {} // Range: 0x8004761C -> 0x80047624 void BandUserMgr::GetLocalBandUsers() {} // Range: 0x80047624 -> 0x8004762C void BandUserMgr::GetLocalNonParticipantsWithAnyController() {} // Range: 0x8004762C -> 0x80047670 void BandUserMgr::GetLocalNonParticipantsWithControllerType() {} // Range: 0x80047670 -> 0x800477D8 void BandUserMgr::GetLocalParticipantNums(class BandUserMgr * const this /* r30 */, class vector & user_nums /* r29 */) { // Local variables class vector users; // r1+0x20 class BandUser * * it; // r31 class BandUser * pUser; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800477D8 -> 0x800478A4 class BandUser * BandUserMgr::DebugGetUserFromPad(class BandUserMgr * const this /* r28 */, int padNum /* r29 */) { // Local variables class BandUser * * it; // r31 class BandUser * pUser; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A49318 static class Symbol _s; // size: 0x4, address: 0x80A49320 static class Symbol _s; // size: 0x4, address: 0x80A49328 static class Symbol _s; // size: 0x4, address: 0x80A49330 static class Symbol _s; // size: 0x4, address: 0x80A49338 static class Symbol _s; // size: 0x4, address: 0x80A49340 static class Symbol _s; // size: 0x4, address: 0x80A49348 static class Symbol _s; // size: 0x4, address: 0x80A49350 // Range: 0x800478A4 -> 0x800482F0 class DataNode BandUserMgr::Handle(class BandUserMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x60 } __vt__11BandUserMgr; // size: 0x60, address: 0x80872B28 struct { // total size: 0x8 } __RTTI__11BandUserMgr; // size: 0x8, address: 0x80872BB0 struct { // total size: 0x8 } __RTTI__7UserMgr; // size: 0x8, address: 0x80872BD8 struct { // total size: 0x8 } __RTTI__PP8BandUser; // size: 0x8, address: 0x80872C20 /* Compile unit: C:\rockband2\system\src\os\UserMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800482F0 -> 0x8004834C */ // Range: 0x800482F0 -> 0x8004834C void * UserMgr::~UserMgr(class UserMgr * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004834C -> 0x80048960 */ // Range: 0x80048374 -> 0x800486E4 int BandUserMgr::GetBandUsers(const class BandUserMgr * const this /* r20 */, class vector * pUsers /* r21 */, int flags /* r22 */) { // Local variables int count; // r29 class BandUser * const * it; // r28 class BandUser * const pUser; // r1+0xC unsigned char isLocal; // r27 unsigned char isParticipating; // r0 unsigned char canSave; // r26 unsigned char isConnected; // r25 unsigned char isSignedIn; // r24 unsigned char hasOnlinePrivilege; // r23 enum ControllerType ct; // r3 // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800486E4 -> 0x800487D4 class BandUser & BandUserMgr::GetParticipantConfig(const class BandUserMgr * const this /* r27 */, int player /* r28 */) { // Local variables int players_left; // r30 int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800487D4 -> 0x80048860 enum ControllerType BandUserMgr::DebugGetControllerTypeOverride(class BandUserMgr * const this /* r30 */, int padNum /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80048860 -> 0x80048960 void BandUserMgr::DebugSetControllerTypeOverride(class BandUserMgr * const this /* r28 */, int padNum /* r29 */, enum ControllerType ct /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80048960 -> 0x80048E74 */ // Range: 0x80048960 -> 0x80048D0C void _S_sort(class list & __that /* r28 */, struct BandUserSlotCmp & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x80048D0C -> 0x80048E74 void _S_merge(struct BandUserSlotCmp & __comp /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80048E74 -> 0x80048E78 */ // Range: 0x80048E74 -> 0x80048E78 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80048E78 -> 0x80048FB0 */ // Range: 0x80048E78 -> 0x80048FB0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class BandUser * * __pos /* r28 */, class BandUser * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BandUser * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8BandUser; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\BandUserProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80048FB0 -> 0x80049B8C */ // Range: 0x80048FB0 -> 0x80049048 void * BandUserProvider::~BandUserProvider(class BandUserProvider * const this /* r30 */) {} // Range: 0x80049048 -> 0x80049050 void BandUserProvider::SetState() {} // Range: 0x80049050 -> 0x80049054 void BandUserProvider::InitData() {} static class Symbol name; // size: 0x4, address: 0x80A4935C static class Symbol pad; // size: 0x4, address: 0x80A49364 static class Symbol count; // size: 0x4, address: 0x80A4936C static class Symbol symMax; // size: 0x4, address: 0x80A49374 static class Symbol slash; // size: 0x4, address: 0x80A4937C static class Symbol band_user_provider_empty; // size: 0x4, address: 0x80A49384 // Range: 0x80049054 -> 0x80049338 char * BandUserProvider::Text(const class BandUserProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables class Profile * pProfile; // r0 // References // -> class ProfileMgr TheProfileMgr; // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol band_user_provider_empty; // -> static class Symbol slash; // -> static class Symbol symMax; // -> static class Symbol count; // -> static class Symbol pad; // -> static class Symbol name; } // Range: 0x80049338 -> 0x80049340 class RndMat * BandUserProvider::Mat() {} // Range: 0x80049340 -> 0x80049368 int BandUserProvider::NumData() { // Local variables int c; // r0 } // Range: 0x80049368 -> 0x800494B4 unsigned char BandUserProvider::IsActive(const class BandUserProvider * const this /* r28 */) { // Local variables class BandUser * pUser; // r29 class Profile * pProfile; // r29 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800494B4 -> 0x8004958C void BandUserProvider::OnSetState(class BandUserProvider * const this /* r29 */, class DataArray * pData /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004958C -> 0x80049610 int BandUserProvider::GetFirstActive(class BandUserProvider * const this /* r30 */) { // Local variables int i; // r31 } static class Symbol _s; // size: 0x4, address: 0x80A4938C static class Symbol _s; // size: 0x4, address: 0x80A49394 static class Symbol _s; // size: 0x4, address: 0x80A4939C // Range: 0x80049610 -> 0x80049B8C class DataNode BandUserProvider::Handle(class BandUserProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__16BandUserProvider; // size: 0x9C, address: 0x80872E18 struct { // total size: 0x8 } __RTTI__16BandUserProvider; // size: 0x8, address: 0x80872EE8 struct { // total size: 0x8 } __RTTI__12ListProvider; // size: 0x8, address: 0x80872F00 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80049B8C -> 0x80049F40 */ // Range: 0x80049B8C -> 0x80049C10 void * BandUserProvider::BandUserProvider(class BandUserProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__16BandUserProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x80049C10 -> 0x80049EA0 void BandUserProvider::Reload(class BandUserProvider * const this /* r30 */) { // Local variables class vector users; // r1+0x38 class BandUser * * it; // r29 class BandUser * pUser; // r1+0x28 class vector users; // r1+0x2C class BandUser * * it; // r29 class BandUser * pUser; // r1+0x24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } // Range: 0x80049EA0 -> 0x80049F40 class BandUser * BandUserProvider::GetUser(class BandUserProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\ui\ListProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80049F40 -> 0x8004A074 */ // Range: 0x80049F40 -> 0x80049F80 void * ListProvider::~ListProvider(class ListProvider * const this /* r31 */) {} // Range: 0x80049F80 -> 0x80049F84 void ListProvider::PreDraw() {} // Range: 0x80049F84 -> 0x80049F8C float ListProvider::GapSize() {} // Range: 0x80049F8C -> 0x80049F94 unsigned char ListProvider::IsHidden() {} // Range: 0x80049F94 -> 0x8004A034 int ListProvider::DataIndex(const class ListProvider * const this /* r28 */, class Symbol & sym /* r29 */) { // Local variables int num_data; // r0 int i; // r30 } // Range: 0x8004A034 -> 0x8004A060 class Symbol ListProvider::DataSymbol() { // References // -> const char * gNullStr; } // Range: 0x8004A060 -> 0x8004A068 class Symbol ListProvider::State() {} // Range: 0x8004A068 -> 0x8004A06C void ListProvider::Custom() {} // Range: 0x8004A06C -> 0x8004A074 class ListProvider * ListProvider::Provider() {} /* Compile unit: C:\rockband2\band2\src\game\CommonPhraseCapturer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004A084 -> 0x8004ACC0 */ // Range: 0x8004A084 -> 0x8004A0D0 void * CommonPhraseCapturer::CommonPhraseCapturer(class CommonPhraseCapturer * const this /* r31 */) {} // Range: 0x8004A0D0 -> 0x8004A1CC void CommonPhraseCapturer::Reset(class CommonPhraseCapturer * const this /* r31 */) { // Local variables class vector & activePlayers; // r0 int i; // r6 int i; // r7 // References // -> class Game * TheGame; } // Range: 0x8004A1CC -> 0x8004A390 void CommonPhraseCapturer::HandlePhraseNote(class CommonPhraseCapturer * const this /* r26 */, class GemPlayer * player /* r27 */, int track /* r28 */, int gem /* r29 */, unsigned char hit /* r30 */) { // Local variables int phrase; // r31 int tracks_needed; // r0 unsigned char unison; // r0 // References // -> class SongDB * TheSongDB; } // Range: 0x8004A390 -> 0x8004A468 void CommonPhraseCapturer::LocalHitLastGem(class CommonPhraseCapturer * const this /* r28 */, class Player * player /* r29 */, int phrase /* r30 */, int track /* r31 */) { // Local variables int tracks_needed; // r5 // References // -> class SongDB * TheSongDB; } // Range: 0x8004A468 -> 0x8004A550 void CommonPhraseCapturer::LocalFail(class CommonPhraseCapturer * const this /* r24 */, class Player * guilty_player /* r25 */, int phrase /* r26 */, int track /* r27 */) { // Local variables int tracks; // r0 int t; // r29 class Player * player; // r28 // References // -> class SongDB * TheSongDB; // -> class Game * TheGame; } // Range: 0x8004A550 -> 0x8004A5E8 void CommonPhraseCapturer::Miss(class CommonPhraseCapturer * const this /* r28 */, class Player * player /* r29 */, int track /* r30 */) { // Local variables int phrase; // r31 // References // -> class SongDB * TheSongDB; } // Range: 0x8004A5E8 -> 0x8004A64C unsigned char CommonPhraseCapturer::DidTrackFail() {} // Range: 0x8004A64C -> 0x8004A6F8 void CommonPhraseCapturer::Enabled(class CommonPhraseCapturer * const this /* r28 */, class Player * player /* r29 */, int track /* r30 */, unsigned char enabled /* r31 */) { // Local variables int phrase; // r5 // References // -> class SongDB * TheSongDB; } // Range: 0x8004A6F8 -> 0x8004A82C unsigned char CommonPhraseCapturer::HasPlayedWholePhrase(class GemPlayer * player /* r27 */, int phrase /* r28 */, int track /* r26 */, int gem /* r29 */) { // Local variables const class vector & gems; // r0 const class vector & phrase_ids; // r0 // References // -> class SongDB * TheSongDB; } // Range: 0x8004A82C -> 0x8004A8BC void CommonPhraseCapturer::HitLastGem(class CommonPhraseCapturer * const this /* r28 */, class Player * player /* r29 */, int phrase /* r30 */, int track /* r31 */) {} // Range: 0x8004A8BC -> 0x8004A94C void CommonPhraseCapturer::Fail(class CommonPhraseCapturer * const this /* r28 */, class Player * guilty_player /* r29 */, int phrase /* r30 */, int track /* r31 */) {} // Range: 0x8004A94C -> 0x8004A99C void CommonPhraseCapturer::OneTrackCompletedPhrase() { // Local variables class Player * player; // r31 // References // -> class Game * TheGame; } // Range: 0x8004A99C -> 0x8004AA64 void CommonPhraseCapturer::AllTracksCompletedPhrase(class CommonPhraseCapturer * const this /* r28 */, int phrase /* r29 */) { // Local variables int tracks; // r0 int t; // r30 class Player * player; // r0 // References // -> class SongDB * TheSongDB; // -> class Game * TheGame; } // Range: 0x8004AA64 -> 0x8004AAD0 int CommonPhraseCapturer::ComputeTracks(class CommonPhraseCapturer * const this /* r30 */, int phrase /* r31 */) { // References // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } // Range: 0x8004AAD0 -> 0x8004ABA0 unsigned char CommonPhraseCapturer::IsUnisonPhrase(class CommonPhraseCapturer * const this /* r30 */, int phrase /* r29 */) { // Local variables int tracks; // r31 int countParticipants; // r30 int t; // r29 // References // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8004ABA0 -> 0x8004ACC0 void CommonPhraseCapturer::ExtendPhraseStates() {} struct { // total size: 0x8 } __RTTI__PQ220CommonPhraseCapturer11PhraseState; // size: 0x8, address: 0x80872FF0 /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDirBase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004ACC0 -> 0x8004ACCC */ // Range: 0x8004ACC0 -> 0x8004ACC4 void TrackPanelDirBase::UnisonEnd() {} // Range: 0x8004ACC4 -> 0x8004ACC8 void TrackPanelDirBase::UnisonStart() {} // Range: 0x8004ACC8 -> 0x8004ACCC void TrackPanelDirBase::UnisonSucceed() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004ACCC -> 0x8004ADB0 */ // Range: 0x8004ACCC -> 0x8004ADB0 void CommonPhraseCapturer::HandleVocalPhrase(class CommonPhraseCapturer * const this /* r27 */, class Player * player /* r28 */, int track /* r29 */, int phrase /* r30 */, unsigned char captured /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004ADB0 -> 0x8004B29C */ // Range: 0x8004ADB0 -> 0x8004AE30 void vector::_M_fill_insert() {} // Range: 0x8004AE30 -> 0x8004B05C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct PhraseState * __pos /* r26 */, const struct PhraseState & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct PhraseState * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ220CommonPhraseCapturer11PhraseState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8004B05C -> 0x8004B29C void vector::_M_fill_insert_aux() { // Local variables struct PhraseState __x_copy; // r1+0x1C unsigned long __elems_after; // r9 struct PhraseState * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\game\CrowdAudio.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004B29C -> 0x8004D224 */ class Symbol name; // size: 0x4, address: 0x80A493A4 class DataArray * types; // size: 0x4, address: 0x80A493A8 class Symbol name; // size: 0x4, address: 0x80A493B0 class SampleInst : public Object { // total size: 0x4C float mVolume; // offset 0x28, size 0x4 float mBankVolume; // offset 0x2C, size 0x4 float mPan; // offset 0x30, size 0x4 float mBankPan; // offset 0x34, size 0x4 float mSpeed; // offset 0x38, size 0x4 float mBankSpeed; // offset 0x3C, size 0x4 class ObjPtr mSend; // offset 0x40, size 0xC }; class SynthSampleWii : public SynthSample { // total size: 0x54 }; class SampleInstWii : public SampleInst { // total size: 0xA0 void * mStartAddr; // offset 0x4C, size 0x4 int mBytes; // offset 0x50, size 0x4 unsigned char mIsLooped; // offset 0x54, size 0x1 int mLoopSamp; // offset 0x58, size 0x4 int mSampleRate; // offset 0x5C, size 0x4 class Voice * mVoice; // offset 0x60, size 0x4 float mVolume; // offset 0x64, size 0x4 float mPan; // offset 0x68, size 0x4 float mSpeed; // offset 0x6C, size 0x4 class ADSR mADSR; // offset 0x70, size 0x28 float mStartProgress; // offset 0x98, size 0x4 enum Format mFormat; // offset 0x9C, size 0x4 }; class CrowdAudio : public Object { // total size: 0x80 float mStreamVol; // offset 0x28, size 0x4 float mMasterVol; // offset 0x2C, size 0x4 float mCrowdVol; // offset 0x30, size 0x4 unsigned char mEnabled; // offset 0x34, size 0x1 unsigned char mInIntro; // offset 0x35, size 0x1 unsigned char mDone; // offset 0x36, size 0x1 class SampleInstWii * mSampleInst; // offset 0x38, size 0x4 class SampleInstWii * mOldSampleInst; // offset 0x3C, size 0x4 unsigned char mWantDuck; // offset 0x40, size 0x1 class Fader * mResultsFader; // offset 0x44, size 0x4 enum ExcitementLevel mLevel; // offset 0x48, size 0x4 class String mStreamdir; // offset 0x4C, size 0xC float mLoopChangeTime; // offset 0x58, size 0x4 const class DataArray * mIntro; // offset 0x5C, size 0x4 const class DataArray * mLevels; // offset 0x60, size 0x4 unsigned char mCrowdReacts; // offset 0x64, size 0x1 int mLastClapBeat; // offset 0x68, size 0x4 float mClapOffsetMs; // offset 0x6C, size 0x4 unsigned char mMusicOver; // offset 0x70, size 0x1 unsigned char mClapAllowed; // offset 0x71, size 0x1 class vector mLoops; // offset 0x74, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ExcitementLoop * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ExcitementLoop * _M_start; // offset 0x0, size 0x4 struct ExcitementLoop * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8004B29C -> 0x8004B45C void * CrowdAudio::~CrowdAudio(class CrowdAudio * const this /* r30 */) { // References // -> class GamePanel * TheGamePanel; // -> const char * gNullStr; // -> struct [anonymous] __vt__10CrowdAudio; } static class DataNode & world; // size: 0x4, address: 0x80A493B8 // Range: 0x8004B45C -> 0x8004B4EC class ObjectDir * CrowdAudio::DataDir(class CrowdAudio * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> static class DataNode & world; } // Range: 0x8004B4EC -> 0x8004B5AC void CrowdAudio::Poll(class CrowdAudio * const this /* r30 */) { // Local variables float seconds; // f0 float ms; // f31 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8004B5AC -> 0x8004B63C void CrowdAudio::SetPaused(class CrowdAudio * const this /* r30 */, unsigned char paused /* r31 */) {} // Range: 0x8004B63C -> 0x8004B6C8 void CrowdAudio::SetExcitement(class CrowdAudio * const this /* r30 */, int level /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004B6C8 -> 0x8004B834 void CrowdAudio::SetExcitement(class CrowdAudio * const this /* r30 */, enum ExcitementLevel level /* r31 */) { // Local variables char * upSfx[5]; // r1+0x1C char * downSfx[5]; // r1+0x8 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; } // Range: 0x8004B834 -> 0x8004B8AC void CrowdAudio::PlayLoop(class CrowdAudio * const this /* r29 */, const class DataArray * d /* r30 */) {} // Range: 0x8004B8AC -> 0x8004B95C void CrowdAudio::KillStream(class CrowdAudio * const this /* r31 */) {} // Range: 0x8004B95C -> 0x8004B9E4 void CrowdAudio::PlayLoop(class CrowdAudio * const this /* r30 */, const struct ExcitementLoop & loop /* r31 */, float vol /* f31 */) { // References // -> struct [anonymous] __RTTI__10SampleInst; // -> struct [anonymous] __RTTI__13SampleInstWii; } // Range: 0x8004B9E4 -> 0x8004B9E8 void CrowdAudio::PlayStream() {} // Range: 0x8004B9E8 -> 0x8004BA34 void CrowdAudio::SetupStream(class CrowdAudio * const this /* r31 */) {} // Range: 0x8004BA34 -> 0x8004BA94 void CrowdAudio::UpdateVolume(class CrowdAudio * const this /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x8004BA94 -> 0x8004BB14 void CrowdAudio::TurnOff(class CrowdAudio * const this /* r31 */) {} // Range: 0x8004BB14 -> 0x8004BB1C void CrowdAudio::SetMasterVolume() {} // Range: 0x8004BB1C -> 0x8004BBC4 void CrowdAudio::SetEnabled(class CrowdAudio * const this /* r30 */, unsigned char enabled /* r31 */) { // References // -> class GamePanel * TheGamePanel; // -> const char * gNullStr; } static class Message want_intro; // size: 0x8, address: 0x80976E10 static class Message want_outro_duck; // size: 0x8, address: 0x80976E28 // Range: 0x8004BBC4 -> 0x8004BEAC void CrowdAudio::OnIntro(class CrowdAudio * const this /* r30 */) { // References // -> static class Message want_outro_duck; // -> static class Message want_intro; // -> struct [anonymous] __vt__7Message; } // Range: 0x8004BEAC -> 0x8004BED8 void CrowdAudio::OnMusicStart() { // References // -> class GamePanel * TheGamePanel; } // Range: 0x8004BED8 -> 0x8004BF38 void CrowdAudio::OnWin(class CrowdAudio * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8004BF38 -> 0x8004BF3C void CrowdAudio::PostLoad() {} // Range: 0x8004BF3C -> 0x8004BF4C void CrowdAudio::OnLose() {} // Range: 0x8004BF4C -> 0x8004BFF8 void CrowdAudio::OnOutro(class CrowdAudio * const this /* r31 */) { // Local variables float db; // f31 float ms; // f2 } // Range: 0x8004BFF8 -> 0x8004C11C void CrowdAudio::MaybeClap(class CrowdAudio * const this /* r30 */) { // Local variables enum ExcitementLevel excitement; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Synth * TheSynth; // -> class GamePanel * TheGamePanel; } static class Symbol _s; // size: 0x4, address: 0x80A493C0 static class Symbol _s; // size: 0x4, address: 0x80A493C8 static class Symbol _s; // size: 0x4, address: 0x80A493D0 static class Symbol _s; // size: 0x4, address: 0x80A493D8 static class Symbol _s; // size: 0x4, address: 0x80A493E0 static class Symbol _s; // size: 0x4, address: 0x80A493E8 static class Symbol _s; // size: 0x4, address: 0x80A493F0 static class Symbol _s; // size: 0x4, address: 0x80A493F8 static class Symbol _s; // size: 0x4, address: 0x80A49400 static class Symbol _s; // size: 0x4, address: 0x80A49408 static class Symbol _s; // size: 0x4, address: 0x80A49410 static class Symbol _s; // size: 0x4, address: 0x80A49418 static class Symbol _s; // size: 0x4, address: 0x80A49420 static class Symbol _s; // size: 0x4, address: 0x80A49428 static class Symbol _s; // size: 0x4, address: 0x80A49430 static class Symbol _s; // size: 0x4, address: 0x80A49438 // Range: 0x8004C11C -> 0x8004D224 class DataNode CrowdAudio::Handle(class CrowdAudio * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x60 class MessageTimer _mt; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__10CrowdAudio; // size: 0x54, address: 0x808732BC struct { // total size: 0x8 } __RTTI__10CrowdAudio; // size: 0x8, address: 0x80873330 struct { // total size: 0x8 } __RTTI__13SampleInstWii; // size: 0x8, address: 0x80873368 struct { // total size: 0x8 } __RTTI__10SampleInst; // size: 0x8, address: 0x80873390 struct { // total size: 0x8 } __RTTI__8Sequence; // size: 0x8, address: 0x808733C0 struct { // total size: 0x8 } __RTTI__5Fader; // size: 0x8, address: 0x808733E8 struct { // total size: 0x8 } __RTTI__13SynthPollable; // size: 0x8, address: 0x80873400 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std20_List_node; // size: 0x8, address: 0x80873530 class _List_node : public _List_node_base { // total size: 0xC public: class ObjRef * _M_data; // offset 0x8, size 0x4 }; struct ExcitementLoop { // total size: 0x54 class SynthSampleWii mSample; // offset 0x0, size 0x54 }; struct { // total size: 0x8 } __RTTI__PQ210CrowdAudio14ExcitementLoop; // size: 0x8, address: 0x80873558 class _List_node : public _List_node_base { // total size: 0xC public: class ObjectDir * _M_data; // offset 0x8, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class Stream { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: class FaderGroup * mFaders; // offset 0x4, size 0x4 }; /* Compile unit: C:\rockband2\band2\src\game\CrowdAudio.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004D224 -> 0x8004DA60 */ // Range: 0x8004D224 -> 0x8004D89C void * CrowdAudio::CrowdAudio(class CrowdAudio * const this /* r28 */) { // Local variables class Symbol venue; // r1+0x7C class Symbol baseVenue; // r1+0x78 class DataArray * streams; // r27 const class DataNode * p; // r0 int i; // r29 class DataArray * strmData; // r27 const char * file; // r30 // References // -> struct [anonymous] __vt__14SynthSampleWii; // -> class GamePanel * TheGamePanel; // -> const char * gNullStr; // -> class ObjectDir * sMainDir; // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> struct [anonymous] __vt__10CrowdAudio; } // Range: 0x8004D89C -> 0x8004DA1C void CrowdAudio::SetType(class CrowdAudio * const this /* r29 */, class Symbol & CrowdAudio /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8004DA1C -> 0x8004DA60 class Symbol CrowdAudio::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004DA60 -> 0x8004DAC0 */ // Range: 0x8004DA60 -> 0x8004DAC0 char * MakeString(const char * fmt /* r0 */, class String & t1 /* r30 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004DB1C -> 0x8004DB7C */ // Range: 0x8004DB1C -> 0x8004DB7C void * TypeProps::~TypeProps(class TypeProps * const this /* r30 */) { // References // -> struct [anonymous] __vt__9TypeProps; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004DB7C -> 0x8004DE38 */ // Range: 0x8004DB7C -> 0x8004DDD8 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8004DDD8 -> 0x8004DE38 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004DE38 -> 0x8004F044 */ // Range: 0x8004DE38 -> 0x8004DEB8 void vector::_M_fill_insert() {} // Range: 0x8004DEB8 -> 0x8004E6BC void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct ExcitementLoop * __pos /* r25 */, const struct ExcitementLoop & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0xC4 unsigned long __len; // r29 struct ExcitementLoop * __new_finish; // r28 // References // -> struct [anonymous] __vt__14SynthSampleWii; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__11SynthSample; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210CrowdAudio14ExcitementLoop; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8004E6BC -> 0x8004F044 void vector::_M_fill_insert_aux(class vector * const this /* r24 */, struct ExcitementLoop * __pos /* r25 */, unsigned long __n /* r26 */, const struct ExcitementLoop & __x /* r27 */) { // Local variables struct ExcitementLoop __x_copy; // r1+0x100 unsigned long __elems_after; // r28 struct ExcitementLoop * __old_finish; // r0 // References // -> struct [anonymous] __vt__14SynthSampleWii; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__11SynthSample; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004F044 -> 0x8004F048 */ // Range: 0x8004F044 -> 0x8004F048 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\band2\src\game\CrowdRating.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004F048 -> 0x8004F544 */ // Range: 0x8004F048 -> 0x8004F090 void CrowdRating::Reset(class CrowdRating * const this /* r31 */) {} // Range: 0x8004F090 -> 0x8004F098 void CrowdRating::Poll() {} // Range: 0x8004F098 -> 0x8004F0A0 void CrowdRating::SetActive() {} // Range: 0x8004F0A0 -> 0x8004F1B8 void CrowdRating::Update(class CrowdRating * const this /* r31 */, float noteScore /* f30 */, float noteWeight /* f31 */) { // Local variables float weight; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004F1B8 -> 0x8004F2D0 void CrowdRating::UpdatePhrase(class CrowdRating * const this /* r31 */, float phraseHit /* f30 */, float phraseWeight /* f31 */) { // Local variables float weight; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004F2D0 -> 0x8004F32C float CrowdRating::GetThreshold() {} // Range: 0x8004F32C -> 0x8004F3D8 enum ExcitementLevel CrowdRating::GetExcitement(const class CrowdRating * const this /* r31 */) { // Local variables float rating; // f0 } // Range: 0x8004F3D8 -> 0x8004F48C void CrowdRating::CalculateValue(class CrowdRating * const this /* r30 */) { // Local variables float value; // f31 } // Range: 0x8004F48C -> 0x8004F4A4 unsigned char CrowdRating::IsInWarning() {} // Range: 0x8004F4A4 -> 0x8004F4BC unsigned char CrowdRating::IsBelowLoseLevel() {} // Range: 0x8004F4BC -> 0x8004F4F0 void CrowdRating::SetValue() { // Local variables float dx; // f2 } // Range: 0x8004F4F0 -> 0x8004F4F8 void CrowdRating::SetRawValue() {} // Range: 0x8004F4F8 -> 0x8004F50C void CrowdRating::SetDisplayValue() {} // Range: 0x8004F50C -> 0x8004F528 float CrowdRating::GetDisplayValue() {} // Range: 0x8004F528 -> 0x8004F544 unsigned char CrowdRating::CantFailYet() {} struct { // total size: 0x10 } __vt__11CrowdRating; // size: 0x10, address: 0x80873848 struct { // total size: 0x8 } __RTTI__11CrowdRating; // size: 0x8, address: 0x80873868 /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Extensions\Any\AnyObjectHolder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004F544 -> 0x8004FB54 */ // Range: 0x8004F544 -> 0x8004FB54 void * CrowdRating::CrowdRating(class CrowdRating * const this /* r30 */, class BandUser * cfg /* r0 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Scoring * TheScoring; // -> struct [anonymous] __vt__11CrowdRating; } /* Compile unit: C:\rockband2\band2\src\game\CrowdRating.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004FB54 -> 0x8004FB94 */ // Range: 0x8004FB54 -> 0x8004FB94 void * CrowdRating::~CrowdRating(class CrowdRating * const this /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\game\Defines.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8004FB94 -> 0x800501B0 */ // Range: 0x8004FB94 -> 0x8004FBF0 class Symbol TrackTypeToSym(enum TrackType t /* r30 */) {} static class Symbol track_symbols[5]; // size: 0x14, address: 0x80976E30 // Range: 0x8004FBF0 -> 0x8004FCE8 enum TrackType SymToTrackType(class Symbol & s /* r29 */) { // Local variables int i; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol track_symbols[5]; } enum GameCoopSlot { kGameCoopSlotGuitar0 = 0, kGameCoopSlotDrum = 1, kGameCoopSlotVocals = 2, kGameCoopSlotGuitar1 = 3, kGameCoopNumSlots = 4, }; // Range: 0x8004FCE8 -> 0x8004FD38 enum GameCoopSlot TrackTypeToGameCoopSlot() {} // Range: 0x8004FD38 -> 0x8004FDDC class Symbol ControllerTypeToSym(enum ControllerType controllerType /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004FDDC -> 0x8004FE74 enum ControllerType SymToControllerType(class Symbol & instrument /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004FE74 -> 0x8004FEB0 enum ControllerType TrackTypeToControllerType() {} // Range: 0x8004FEB0 -> 0x8004FEF4 enum TrackType ControllerTypeToTrackType() {} // Range: 0x8004FEF4 -> 0x8004FF88 enum Difficulty SymToDifficulty(class Symbol & s /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8004FF88 -> 0x8004FFF8 enum Difficulty DefaultDifficulty() {} // Range: 0x8004FFF8 -> 0x80050054 class Symbol DifficultyToSym(enum Difficulty d /* r30 */) {} // Range: 0x80050054 -> 0x800500CC void CensorString(class String & toBeCensored /* r30 */) { // Local variables int n; // r31 } static class Symbol score; // size: 0x4, address: 0x80A49444 static class Symbol stars; // size: 0x4, address: 0x80A4944C static class Symbol streak; // size: 0x4, address: 0x80A49454 // Range: 0x800500CC -> 0x800501B0 class Symbol WinMetricToSym(enum WinMetric m /* r30 */) { // References // -> static class Symbol streak; // -> static class Symbol stars; // -> static class Symbol score; } /* Compile unit: C:\rockband2\band2\src\game\Game.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800501B0 -> 0x80054E50 */ struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std17_List_node; // size: 0x8, address: 0x80873990 class Symbol name; // size: 0x4, address: 0x80A4945C class PlayerGameplayMsg : public NetMessage { // total size: 0x18 int mPlayerNum; // offset 0x4, size 0x4 int mOpCode; // offset 0x8, size 0x4 int mArg1; // offset 0xC, size 0x4 int mArg2; // offset 0x10, size 0x4 int mArg3; // offset 0x14, size 0x4 }; class NetMessage { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class RestartGameMsg : public NetMessage { // total size: 0x4 }; class LoadAllCharsMsg : public NetMessage { // total size: 0x4 }; class PlayerStatsMsg : public NetMessage { // total size: 0x30 int mPlayerNum; // offset 0x4, size 0x4 int mNotesHit; // offset 0x8, size 0x4 int mLongestStreak; // offset 0xC, size 0x4 float mNotesHitFraction; // offset 0x10, size 0x4 unsigned char mFailedDeploy; // offset 0x14, size 0x1 int mSavedCount; // offset 0x18, size 0x4 int mFillHitCount; // offset 0x1C, size 0x4 unsigned char mStrummedDown; // offset 0x20, size 0x1 unsigned char mStrummedUp; // offset 0x21, size 0x1 int mDeployCount; // offset 0x24, size 0x4 int mScore; // offset 0x28, size 0x4 int mSoloPercentage; // offset 0x2C, size 0x4 }; class SetPlayerTrackTypeMsg : public NetMessage { // total size: 0x14 int mPlayerNum; // offset 0x4, size 0x4 class String mTrackType; // offset 0x8, size 0xC }; class SetPlayerDifficultyMsg : public NetMessage { // total size: 0x14 int mPlayerNum; // offset 0x4, size 0x4 class String mDifficulty; // offset 0x8, size 0xC }; class ReassignPlayerTrackTypeMsg : public NetMessage { // total size: 0xC int mPlayerNum; // offset 0x4, size 0x4 int mTrackType; // offset 0x8, size 0x4 }; class H2HSetTrackTypesMsg : public NetMessage { // total size: 0x4 }; class ReadyForSongsMsg : public NetMessage { // total size: 0x4 }; class LocalSongsMsg : public NetMessage { // total size: 0x1C class vector mLocalPlayers; // offset 0x4, size 0xC class vector mSongNames; // offset 0x10, size 0xC }; class SharedSongsMsg : public NetMessage { // total size: 0x10 class vector mSongNames; // offset 0x4, size 0xC }; class LocalBattlesMsg : public NetMessage { // total size: 0x20 class vector mLocalPlayers; // offset 0x4, size 0xC class list mChallengeBattles; // offset 0x10, size 0x8 class list mWorldBattles; // offset 0x18, size 0x8 }; class SharedBattlesMsg : public NetMessage { // total size: 0x14 class list mChallengeBattles; // offset 0x4, size 0x8 class list mWorldBattles; // offset 0xC, size 0x8 }; class Game * TheGame; // size: 0x4, address: 0x80A49460 // Range: 0x800501B0 -> 0x8005057C void GameInit() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> class NetMessageFactory TheNetMessageFactory; // -> class SongMgr & TheSongMgr; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; } // Range: 0x8005057C -> 0x800505B0 void GameTerminate() { // References // -> class SongMgr & TheSongMgr; } class BonusAwards { // total size: 0xC class vector mRows; // offset 0x0, size 0xC }; // Range: 0x800505B0 -> 0x80050D60 void * Game::Game(class Game * const this /* r29 */) { // Local variables unsigned int i; // r27 unsigned char isBandArrangement; // r0 class vector users; // r1+0x64 class BandUser * * it; // r27 class BandUser * pUser; // r28 class DataArray * meter_cfg; // r31 int i; // r31 class vector users; // r1+0x58 class Player * pPlayer; // r0 // References // -> class Net TheNet; // -> class GameMode * TheGameMode; // -> class Synth * TheSynth; // -> class GameConfig * TheGameConfig; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class ObjectDir * sMainDir; // -> class Game * TheGame; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; // -> struct [anonymous] __vt__4Game; // -> struct [anonymous] __vt__14BeatMasterSink; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BonusRow * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BonusRow * _M_start; // offset 0x0, size 0x4 struct BonusRow * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80050D60 -> 0x80051070 void * Game::~Game(class Game * const this /* r30 */) { // Local variables class PersistentGameData * game_data; // r4 int i; // r28 // References // -> class WiiRnd TheWiiRnd; // -> class SongDB * TheSongDB; // -> class Game * TheGame; // -> class GameConfig * TheGameConfig; // -> struct [anonymous] __vt__4Game; } // Range: 0x80051070 -> 0x800511A8 void Game::LoadSong(class Game * const this /* r27 */) { // Local variables class Symbol song; // r1+0x1C class DataArray * data; // r29 unsigned char onDisc; // r0 unsigned char exported; // r0 enum SongDataValidate validateMode; // r28 // References // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; // -> class GameConfig * TheGameConfig; // -> class SongMgr & TheSongMgr; // -> class Timer gSongLoadTimer; } // Range: 0x800511A8 -> 0x800512D8 unsigned char Game::IsLoaded(class Game * const this /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; // -> class Synth * TheSynth; // -> class GameConfig * TheGameConfig; // -> class SongDB * TheSongDB; } // Range: 0x800512D8 -> 0x800515EC void Game::PostLoad(class Game * const this /* r31 */) { // Local variables int codaEndTick; // r26 const class vector & players; // r0 class Player * const * it; // r25 struct Extent e; // r1+0x10 float codaEndMs; // f31 class Player * const * it; // r25 class MetaPerformer * mp; // r25 int total_target_score; // r25 int total_base_score; // r26 class Player * const * it; // r28 class Player * const * it; // r28 float score_frac; // f1 // References // -> class SongDB * TheSongDB; // -> class GameConfig * TheGameConfig; } // Range: 0x800515EC -> 0x8005167C unsigned char Game::IsReady(class Game * const this /* r30 */) { // Local variables const class vector & players; // r0 class Player * const * it; // r30 } // Range: 0x8005167C -> 0x800516CC void Game::Start(class Game * const this /* r31 */) {} // Range: 0x800516CC -> 0x8005177C void Game::PostWaitStart(class Game * const this /* r29 */) { // Local variables const class vector & players; // r0 class Player * const * it; // r30 // References // -> class GameMode * TheGameMode; } // Range: 0x8005177C -> 0x800517DC void Game::StartIntro() { // Local variables const class vector & players; // r0 class Player * const * it; // r30 } // Range: 0x800517DC -> 0x800518E0 void Game::Reset(class Game * const this /* r30 */) { // References // -> class GamePanel * TheGamePanel; // -> class TaskMgr TheTaskMgr; // -> class ProfileMgr TheProfileMgr; } // Range: 0x800518E0 -> 0x80051D10 void Game::Poll(class Game * const this /* r23 */) { // Local variables float ms; // f31 float tick; // f0 int b; // r22 // References // -> class GameMode * TheGameMode; // -> class TaskMgr TheTaskMgr; // -> class ProfileMgr TheProfileMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class GamePanel * TheGamePanel; } class Shuttle { // total size: 0x10 float mMs; // offset 0x0, size 0x4 float mEndMs; // offset 0x4, size 0x4 unsigned char mActive; // offset 0x8, size 0x1 int mController; // offset 0xC, size 0x4 }; class MidiReceiver { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: class MidiReader * mReader; // offset 0x4, size 0x4 }; struct TextEvent { // total size: 0x8 class DataArray * text; // offset 0x0, size 0x4 int startTick; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TextEvent * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TextEvent * _M_start; // offset 0x0, size 0x4 struct TextEvent * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class DataEvent { // total size: 0xC public: float start; // offset 0x0, size 0x4 float end; // offset 0x4, size 0x4 protected: class DataArray * mMsg; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DataEvent * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DataEvent * _M_start; // offset 0x0, size 0x4 class DataEvent * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct CompEv { // total size: 0xC float start; // offset 0x0, size 0x4 float end; // offset 0x4, size 0x4 int value; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct CompEv * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct CompEv * _M_start; // offset 0x0, size 0x4 struct CompEv * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class DataEventList { // total size: 0x38 int mCurIndex; // offset 0x0, size 0x4 int mSize; // offset 0x4, size 0x4 class vector mEvents; // offset 0x8, size 0xC class vector mComps; // offset 0x14, size 0xC int mElement; // offset 0x20, size 0x4 class DataEvent mTemplate; // offset 0x24, size 0xC enum DataType mCompType; // offset 0x30, size 0x4 int * mValue; // offset 0x34, size 0x4 }; struct Note { // total size: 0xC int note; // offset 0x0, size 0x4 int startTick; // offset 0x4, size 0x4 int endTick; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Note * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Note * _M_start; // offset 0x0, size 0x4 struct Note * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct PostProcess { // total size: 0x1C unsigned char zeroLength; // offset 0x0, size 0x1 float startOffset; // offset 0x4, size 0x4 float endOffset; // offset 0x8, size 0x4 float minLength; // offset 0xC, size 0x4 float maxLength; // offset 0x10, size 0x4 float minGap; // offset 0x14, size 0x4 float maxGap; // offset 0x18, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class MidiParser : public MsgSource { // total size: 0xC8 class DataEventList * mEvents; // offset 0x1C, size 0x4 class Symbol mTrackName; // offset 0x20, size 0x4 class DataArray * mGemParser; // offset 0x24, size 0x4 class DataArray * mNoteParser; // offset 0x28, size 0x4 class DataArray * mTextParser; // offset 0x2C, size 0x4 class DataArray * mIdleParser; // offset 0x30, size 0x4 class DataArray * mCurParser; // offset 0x34, size 0x4 class DataArray * mAllowedNotes; // offset 0x38, size 0x4 class vector * mText; // offset 0x3C, size 0x4 class vector mNotes; // offset 0x40, size 0xC const class GameGemList * mGems; // offset 0x4C, size 0x4 unsigned char mInverted; // offset 0x50, size 0x1 struct PostProcess mProcess; // offset 0x54, size 0x1C float mLastStart; // offset 0x70, size 0x4 float mLastEnd; // offset 0x74, size 0x4 float mFirstEnd; // offset 0x78, size 0x4 const class DataEvent * mEvent; // offset 0x7C, size 0x4 class Symbol mMessageType; // offset 0x80, size 0x4 unsigned char mAppendLength; // offset 0x84, size 0x1 unsigned char mMessageSelf; // offset 0x85, size 0x1 unsigned char mCompressed; // offset 0x86, size 0x1 int mGemIndex; // offset 0x88, size 0x4 int mNoteIndex; // offset 0x8C, size 0x4 int mTextIndex; // offset 0x90, size 0x4 float mStart; // offset 0x94, size 0x4 int mBefore; // offset 0x98, size 0x4 }; class MidiParserMgr : public MidiReceiver { // total size: 0x38 class vector mNoteOns; // offset 0x8, size 0xC class vector mText; // offset 0x14, size 0xC class SongData * mSongData; // offset 0x20, size 0x4 unsigned char mLoaded; // offset 0x24, size 0x1 const char * mFileName; // offset 0x28, size 0x4 class Symbol mTrackName; // offset 0x2C, size 0x4 int mMaxNoteSize; // offset 0x30, size 0x4 int mMaxTextSize; // offset 0x34, size 0x4 }; // Range: 0x80051D10 -> 0x80051DD8 float Game::PollShuttle(class Game * const this /* r31 */) { // Local variables float ms; // f31 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80051DD8 -> 0x80051E10 float Game::GetSongMs() {} // Range: 0x80051E10 -> 0x80051E70 class Symbol Game::GetSectionAtMs() { // Local variables int tick; // r0 class vector & sections; // r0 struct PracticeSection * s; // r6 // References // -> class SongDB * TheSongDB; } // Range: 0x80051E70 -> 0x80051F14 void Game::WaitUntilReady() { // Local variables class MasterAudio * audio; // r31 unsigned char printed; // r30 // References // -> class Synth * TheSynth; // -> class Debug TheDebug; } // Range: 0x80051F14 -> 0x80051F1C void Game::SetStartTime() {} // Range: 0x80051F1C -> 0x80051F78 void Game::SetTimePaused(class Game * const this /* r30 */, unsigned char paused /* r31 */) {} // Range: 0x80051F78 -> 0x800520A0 void Game::SetPaused(class Game * const this /* r27 */, unsigned char paused /* r28 */, unsigned char playing /* r29 */) { // Local variables const class vector & players; // r0 class Player * const * it; // r30 // References // -> class GamePanel * TheGamePanel; // -> class WiiRnd TheWiiRnd; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x800520A0 -> 0x800521B0 void Game::SetTimeOffset(class Game * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> class ProfileMgr TheProfileMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x800521B0 -> 0x800522C8 void Game::SetRealtime(class Game * const this /* r28 */, unsigned char realtime /* r29 */) { // Local variables const class vector & players; // r0 class Player * const * it; // r30 // References // -> class WiiRnd TheWiiRnd; // -> class GameMode * TheGameMode; } // Range: 0x800522C8 -> 0x8005233C void Game::SetMusicSpeed(float speed /* f31 */) { // Local variables const class vector & players; // r0 class Player * const * it; // r30 } // Range: 0x8005233C -> 0x800523BC void Game::SetMusicVolume(class Game * const this /* r31 */, float volume /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800523BC -> 0x80052400 void Game::SetIntroRealTime(class Game * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80052400 -> 0x800524A0 class Band * Game::GetBand(class Game * const this /* r30 */, int band /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800524A0 -> 0x80052540 class Player * Game::GetPlayer(const class Game * const this /* r30 */, int player_num /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80052540 -> 0x800525E0 class Player * Game::GetLocalPlayer(const class Game * const this /* r30 */, int player_num /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800525E0 -> 0x80052664 unsigned char Game::IsActivePlayer(const class Game * const this /* r29 */, int playerNum /* r30 */) { // Local variables int n; // r31 } // Range: 0x80052664 -> 0x80052708 int Game::GetActivePlayerID(const class Game * const this /* r29 */, int playerNum /* r30 */) { // Local variables int n; // r31 // References // -> class Debug TheDebug; } // Range: 0x80052708 -> 0x80052788 class Player * Game::GetPlayerFromTrack() { // Local variables int n; // r6 // References // -> class Debug TheDebug; } // Range: 0x80052788 -> 0x800527A0 int Game::NumActivePlayers() {} // Range: 0x800527A0 -> 0x800527B8 int Game::NumLocalPlayers() {} // Range: 0x800527B8 -> 0x800527D0 int Game::NumBands() {} // Range: 0x800527D0 -> 0x800528C0 enum EndGameResult Game::GetResult(class Game * const this /* r29 */) { // Local variables enum EndGameResult result; // r3 int s0; // r0 int s1; // r0 } // Range: 0x800528C0 -> 0x80052A5C enum EndGameResult Game::GetResultForPlayer(class Game * const this /* r24 */, int player_num /* r25 */) { // Local variables enum EndGameResult result; // r29 unsigned char in_band0; // r28 class vector & users; // r0 class BandUser * * it; // r27 class BandUser * pUser; // r26 class Player * player; // r26 // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80052A5C -> 0x80052A6C class Player * Game::GetActivePlayer() {} // Range: 0x80052A6C -> 0x80052B70 void Game::Jump(class Game * const this /* r28 */, float ms /* f31 */, unsigned char syncAudio /* r29 */) { // Local variables int b; // r31 const class vector & players; // r0 class Player * const * it; // r30 } // Range: 0x80052B70 -> 0x80052C5C void Game::PostWaitJump(class Game * const this /* r30 */) { // References // -> class GameMode * TheGameMode; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class GamePanel * TheGamePanel; } // Range: 0x80052C5C -> 0x80052C6C void Game::ResetAudio() {} // Range: 0x80052C6C -> 0x80052CB0 void Game::ClearState() { // Local variables int p; // r5 class Player * player; // r4 } // Range: 0x80052CB0 -> 0x80052D38 void Game::Restart(class Game * const this /* r30 */, unsigned char reset /* r31 */) { // References // -> class GamePanel * TheGamePanel; } // Range: 0x80052D38 -> 0x80052F70 void Game::PostWaitRestart(class Game * const this /* r31 */) { // Local variables const char * str; // r0 class vector & users; // r0 class BandUser * * it; // r27 class BandUser * pUser; // r28 int b; // r27 class MetaPerformer * mp; // r27 class PersistentGameData * game_data; // r28 int b; // r27 // References // -> class GameMode * TheGameMode; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> class LogFile TheBeatMatchOutput; } // Range: 0x80052F70 -> 0x80052F78 class vector & Game::GetActivePlayers() {} // Range: 0x80052F78 -> 0x80052F84 void Game::SetBackgroundVolume() {} // Range: 0x80052F84 -> 0x80052F90 void Game::SetForegroundVolume() {} // Range: 0x80052F90 -> 0x80052F9C void Game::SetVocalCueVolume() {} // Range: 0x80052F9C -> 0x80052FA8 void Game::SetStereo() {} // Range: 0x80052FA8 -> 0x8005304C void Game::AddMusicFader(class Game * const this /* r30 */, class Fader * f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8005304C -> 0x80053294 void Game::PopulatePlayerLists(class Game * const this /* r29 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r30 class BandUser * pUser; // r28 int p; // r28 int b; // r27 class Player * player; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80053294 -> 0x8005334C int Game::BandOfPlayer(class Game * const this /* r29 */, int player /* r30 */) { // Local variables int b; // r31 // References // -> class Debug TheDebug; } // Range: 0x8005334C -> 0x80053460 void Game::AddBonusPoints(class Game * const this /* r30 */, int points /* r28 */, int bonus_id /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } // Range: 0x80053460 -> 0x8005353C void Game::SavePersistentGameData(const class Game * const this /* r29 */, class PersistentGameData & data /* r30 */) { // Local variables class Performer * perf; // r31 int p; // r31 class Player * player; // r3 } // Range: 0x8005353C -> 0x8005361C void Game::LoadPersistentGameData(class Game * const this /* r28 */, const class PersistentGameData & data /* r29 */, unsigned char restart /* r30 */) { // Local variables int p; // r31 class Player * player; // r3 } // Range: 0x8005361C -> 0x80053758 void Game::EnforceMaxDelta(class Game * const this /* r31 */) { // Local variables int min_score; // r1+0xC int b; // r30 int score; // r1+0x8 int max_score; // r29 int b; // r28 class Performer * performer; // r27 int score; // r0 } // Range: 0x80053758 -> 0x800537D8 void Game::SetGamePaused(class Game * const this /* r30 */, unsigned char paused /* r31 */) { // References // -> class TaskMgr TheTaskMgr; // -> class Synth * TheSynth; } // Range: 0x800537D8 -> 0x800537E4 class Performer * Game::GetMainPerformer() {} // Range: 0x800537E4 -> 0x80053818 enum ExcitementLevel Game::GetCrowdExcitement() {} // Range: 0x80053818 -> 0x8005384C unsigned char Game::AllowInput() {} // Range: 0x8005384C -> 0x80053854 void Game::SetKickAutoplay() { // References // -> unsigned char gKickAutoplay; } // Range: 0x80053854 -> 0x80053980 unsigned char Game::HandleWait(class Game * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Synth * TheSynth; } // Range: 0x80053980 -> 0x80053998 unsigned char Game::UseSyncedWait() { // References // -> class GameMode * TheGameMode; } // Range: 0x80053998 -> 0x80053A38 unsigned char Game::IsWaiting(class Game * const this /* r30 */) {} // Range: 0x80053A38 -> 0x80053AA4 void Game::PrintBasePoints() { // Local variables int base_points; // r31 // References // -> class Debug TheDebug; // -> class SongDB * TheSongDB; } // Range: 0x80053AA4 -> 0x80053AAC void Game::SetBotbReset() {} // Range: 0x80053AAC -> 0x80053AB4 unsigned char Game::GetBotbReset() {} static class Symbol _s; // size: 0x4, address: 0x80A49468 static class Symbol _s; // size: 0x4, address: 0x80A49470 static class Symbol _s; // size: 0x4, address: 0x80A49478 static class Symbol _s; // size: 0x4, address: 0x80A49480 static class Symbol _s; // size: 0x4, address: 0x80A49488 static class Symbol _s; // size: 0x4, address: 0x80A49490 static class Symbol _s; // size: 0x4, address: 0x80A49498 static class Symbol _s; // size: 0x4, address: 0x80A494A0 static class Symbol _s; // size: 0x4, address: 0x80A494A8 static class Symbol _s; // size: 0x4, address: 0x80A494B0 static class Symbol _s; // size: 0x4, address: 0x80A494B8 static class Symbol _s; // size: 0x4, address: 0x80A494C0 static class Symbol _s; // size: 0x4, address: 0x80A494C8 static class Symbol _s; // size: 0x4, address: 0x80A494D0 static class Symbol _s; // size: 0x4, address: 0x80A494D8 static class Symbol _s; // size: 0x4, address: 0x80A494E0 static class Symbol _s; // size: 0x4, address: 0x80A494E8 static class Symbol _s; // size: 0x4, address: 0x80A494F0 static class Symbol _s; // size: 0x4, address: 0x80A494F8 static class Symbol _s; // size: 0x4, address: 0x80A49500 static class Symbol _s; // size: 0x4, address: 0x80A49508 static class Symbol _s; // size: 0x4, address: 0x80A49510 static class Symbol _s; // size: 0x4, address: 0x80A49518 static class Symbol _s; // size: 0x4, address: 0x80A49520 static class Symbol _s; // size: 0x4, address: 0x80A49528 static class Symbol _s; // size: 0x4, address: 0x80A49530 static class Symbol _s; // size: 0x4, address: 0x80A49538 static class Symbol _s; // size: 0x4, address: 0x80A49540 static class Symbol _s; // size: 0x4, address: 0x80A49548 static class Symbol _s; // size: 0x4, address: 0x80A49550 static class Symbol _s; // size: 0x4, address: 0x80A49558 static class Symbol _s; // size: 0x4, address: 0x80A49560 static class Symbol _s; // size: 0x4, address: 0x80A49568 static class Symbol _s; // size: 0x4, address: 0x80A49570 static class Symbol _s; // size: 0x4, address: 0x80A49578 static class Symbol _s; // size: 0x4, address: 0x80A49580 static class Symbol _s; // size: 0x4, address: 0x80A49588 static class Symbol _s; // size: 0x4, address: 0x80A49590 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct SoloSongStatus { // total size: 0x28 class Symbol mSongName; // offset 0x0, size 0x4 int mScore[4]; // offset 0x4, size 0x10 unsigned char mDirty[4]; // offset 0x14, size 0x4 enum Difficulty mDiff[4]; // offset 0x18, size 0x10 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class SoloSongStatusMgr : public Object { // total size: 0x40 int mPadNum; // offset 0x28, size 0x4 const class SongMgr * mSongMgr; // offset 0x2C, size 0x4 class list mSongList; // offset 0x30, size 0x8 struct SoloSongStatus * mUpdatingScore; // offset 0x38, size 0x4 int mUpdatingTrackType; // offset 0x3C, size 0x4 }; class HighScoreSongStatusMgr { // total size: 0x10 class vector mSongs; // offset 0x0, size 0xC const class SongMgr * mSongMgr; // offset 0xC, size 0x4 }; // Range: 0x80053AB4 -> 0x80054BBC class DataNode Game::Handle(class Game * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class TempoMap * TheTempoMap; // -> class TaskMgr TheTaskMgr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80054BBC -> 0x80054CC0 class DataNode Game::OnSetShuttle(class Game * const this /* r30 */, class DataArray * a /* r31 */) { // Local variables unsigned char active; // r31 // References // -> class Synth * TheSynth; } // Range: 0x80054CC0 -> 0x80054E50 class DataNode Game::ForEachActivePlayer(class Game * const this /* r28 */, const class DataArray * a /* r29 */) { // Local variables class DataNode * var; // r31 class DataNode tmp; // r1+0x18 int i; // r30 int j; // r26 } struct { // total size: 0x28 } __vt__10NetMessage; // size: 0x28, address: 0x80873F00 struct { // total size: 0x8 } __RTTI__10NetMessage; // size: 0x8, address: 0x80873F38 struct { // total size: 0x74 } __vt__4Game; // size: 0x74, address: 0x80873F40 struct { // total size: 0x8 } __RTTI__4Game; // size: 0x8, address: 0x80873FD8 struct { // total size: 0x1C } __vt__14BeatMasterSink; // size: 0x1C, address: 0x80873FE0 struct { // total size: 0x8 } __RTTI__14BeatMasterSink; // size: 0x8, address: 0x80874010 struct { // total size: 0x8 } __RTTI__PP4Band; // size: 0x8, address: 0x80874050 struct BonusRow { // total size: 0x10 int mBandScores[2]; // offset 0x0, size 0x8 int mPointsAwarded; // offset 0x8, size 0x4 unsigned char mDirty; // offset 0xC, size 0x1 }; struct { // total size: 0x8 } __RTTI__P8BonusRow; // size: 0x8, address: 0x80874080 class LogFile : public TextStream { // total size: 0x20 class String mFilePattern; // offset 0x4, size 0xC int mSerialNumber; // offset 0x10, size 0x4 unsigned char mDirty; // offset 0x14, size 0x1 class TextFileStream * mFile; // offset 0x18, size 0x4 unsigned char mActive; // offset 0x1C, size 0x1 }; enum Type { kDisconnected = 0, kHeadset = 1, kUSBMic = 2, }; class Mic { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; struct TypeCreatorPair { // total size: 0x10 class String mType; // offset 0x0, size 0xC class NetMessage * (* mCreator)(); // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TypeCreatorPair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TypeCreatorPair * _M_start; // offset 0x0, size 0x4 struct TypeCreatorPair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class NetMessageFactory { // total size: 0xC class vector mFactoryList; // offset 0x0, size 0xC }; /* Compile unit: C:\rockband2\band2\src\game\NetGameMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80054E50 -> 0x80055208 */ // Range: 0x80054E50 -> 0x80054E88 class NetMessage * PlayerGameplayMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__17PlayerGameplayMsg; } // Range: 0x80054E88 -> 0x80054EC0 class NetMessage * RestartGameMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__14RestartGameMsg; } // Range: 0x80054EC0 -> 0x80054EF8 class NetMessage * LoadAllCharsMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__15LoadAllCharsMsg; } // Range: 0x80054EF8 -> 0x80054F30 class NetMessage * PlayerStatsMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__14PlayerStatsMsg; } // Range: 0x80054F30 -> 0x80054F80 class NetMessage * SetPlayerTrackTypeMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__21SetPlayerTrackTypeMsg; } // Range: 0x80054F80 -> 0x80054FD0 class NetMessage * SetPlayerDifficultyMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__22SetPlayerDifficultyMsg; } // Range: 0x80054FD0 -> 0x80055008 class NetMessage * ReassignPlayerTrackTypeMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__26ReassignPlayerTrackTypeMsg; } // Range: 0x80055008 -> 0x80055040 class NetMessage * H2HSetTrackTypesMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__19H2HSetTrackTypesMsg; } // Range: 0x80055040 -> 0x80055078 class NetMessage * ReadyForSongsMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__16ReadyForSongsMsg; } // Range: 0x80055078 -> 0x800550CC class NetMessage * LocalSongsMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__13LocalSongsMsg; } // Range: 0x800550CC -> 0x80055114 class NetMessage * SharedSongsMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__14SharedSongsMsg; } // Range: 0x80055114 -> 0x80055194 class NetMessage * LocalBattlesMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__15LocalBattlesMsg; } // Range: 0x80055194 -> 0x80055208 class NetMessage * SharedBattlesMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__16SharedBattlesMsg; } /* Compile unit: C:\rockband2\system\src\net\NetMessage.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055208 -> 0x80055254 */ // Range: 0x80055208 -> 0x80055248 void * NetMessage::~NetMessage(class NetMessage * const this /* r31 */) {} // Range: 0x80055248 -> 0x8005524C void NetMessage::Print() {} // Range: 0x8005524C -> 0x80055254 unsigned char NetMessage::VoiceData() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055254 -> 0x800552A4 */ // Range: 0x80055254 -> 0x80055294 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800552A4 -> 0x80055360 */ // Range: 0x800552A4 -> 0x80055360 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055360 -> 0x800553B8 */ // Range: 0x80055360 -> 0x800553B8 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800553B8 -> 0x800554CC */ // Range: 0x800553B8 -> 0x80055404 char * MakeString(const char * fmt /* r0 */, enum EndGameResult t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80055404 -> 0x80055464 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, enum Difficulty t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80055464 -> 0x800554CC char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\band2\src\bandtrack\TrackPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800554CC -> 0x80055510 */ // Range: 0x800554CC -> 0x80055510 class Object * TrackPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\game\CrowdAudio.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055510 -> 0x80055540 */ // Range: 0x80055510 -> 0x80055540 class Object * CrowdAudio::NewObject() {} /* Compile unit: C:\rockband2\band2\src\game\GamePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055540 -> 0x80055584 */ // Range: 0x80055540 -> 0x80055584 class Object * GamePanel::NewObject() {} /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMasterSink.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055584 -> 0x800555C4 */ // Range: 0x80055584 -> 0x800555C4 void * BeatMasterSink::~BeatMasterSink(class BeatMasterSink * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800555C4 -> 0x8005563C */ // Range: 0x800555C4 -> 0x800555F8 int DataArray::Int(const class DataArray * const this /* r31 */) {} // Range: 0x800555F8 -> 0x8005562C float DataArray::Float(const class DataArray * const this /* r31 */) {} // Range: 0x8005562C -> 0x8005563C void * DataNode::DataNode() {} /* Compile unit: C:\rockband2\band2\src\game\Player.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005563C -> 0x80055644 */ // Range: 0x8005563C -> 0x80055644 void Player::SetTrack() {} /* Compile unit: C:\rockband2\band2\src\game\Shuttle.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055644 -> 0x8005564C */ // Range: 0x80055644 -> 0x8005564C unsigned char Shuttle::IsActive() {} /* Compile unit: C:\rockband2\band2\src\game\Game.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005564C -> 0x80055664 */ // Range: 0x8005564C -> 0x80055654 void Game::NeverAllowInput() {} // Range: 0x80055654 -> 0x80055658 void Game::UpdateSongPos() {} // Range: 0x80055658 -> 0x8005565C void Game::HandleSubmix() {} // Range: 0x8005565C -> 0x80055660 void Game::ActivePlayersChanged() {} // Range: 0x80055660 -> 0x80055664 void Game::Beat() {} /* Compile unit: C:\rockband2\system\src\utl\SongPos.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055664 -> 0x8005566C */ // Range: 0x80055664 -> 0x8005566C int SongPos::GetTick() {} /* Compile unit: C:\rockband2\system\src\obj\Task.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005566C -> 0x80055674 */ // Range: 0x8005566C -> 0x80055674 class SongPos & TaskMgr::GetSongPos() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055674 -> 0x800556D4 */ // Range: 0x80055674 -> 0x800556D4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800556D4 -> 0x80055D00 */ // Range: 0x800556D4 -> 0x80055744 void vector::_M_fill_insert() {} // Range: 0x80055744 -> 0x8005587C void vector::_M_insert_overflow(class vector * const this /* r27 */, class Band * * __pos /* r28 */, class Band * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Band * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP4Band; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8005587C -> 0x80055AA8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BonusRow * __pos /* r26 */, const struct BonusRow & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BonusRow * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8BonusRow; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80055AA8 -> 0x80055D00 void vector::_M_fill_insert_aux() { // Local variables struct BonusRow __x_copy; // r1+0x20 unsigned long __elems_after; // r10 struct BonusRow * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\game\GameConfig.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80055D00 -> 0x8005DACC */ class Symbol t; // size: 0x4, address: 0x80A4959C class Symbol t; // size: 0x4, address: 0x80A495A4 class Symbol t; // size: 0x4, address: 0x80A495AC class GameConfig * TheGameConfig; // size: 0x4, address: 0x80A495B0 static class Symbol venues; // size: 0x4, address: 0x80A495B8 static class Symbol INTRO; // size: 0x4, address: 0x80A495C0 // Range: 0x80055D00 -> 0x80055F00 void * GameConfig::GameConfig(class GameConfig * const this /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> static class Symbol INTRO; // -> static class Symbol venues; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; // -> const char * gNullStr; // -> struct [anonymous] __vt__10GameConfig; } // Range: 0x80055F00 -> 0x800560C0 void * GameConfig::~GameConfig(class GameConfig * const this /* r29 */) { // References // -> class GameConfig * TheGameConfig; // -> class Net TheNet; // -> struct [anonymous] __vt__10GameConfig; } static class Symbol venues; // size: 0x4, address: 0x80A495C8 static class Symbol INTRO; // size: 0x4, address: 0x80A495D0 // Range: 0x800560C0 -> 0x80056214 void GameConfig::Reset(class GameConfig * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongOfferProvider * TheSongOfferProvider; // -> class InputMgr * TheInputMgr; // -> class NetSync * TheNetSync; // -> static class Symbol INTRO; // -> static class Symbol venues; // -> class BandUserMgr * TheBandUserMgr; // -> const char * gNullStr; // -> class SessionMgr * TheSessionMgr; } // Range: 0x80056214 -> 0x80056264 unsigned char GameConfig::IsMultiplayerVs() { // References // -> class GameMode * TheGameMode; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80056264 -> 0x8005633C int GameConfig::GetTrackNum(const class GameConfig * const this /* r30 */, int player /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8005633C -> 0x8005642C enum Difficulty GameConfig::GetAverageDifficulty() { // Local variables int num_players; // r31 int total_diff; // r30 class vector users; // r1+0xC class BandUser * * it; // r29 class BandUser * pUser; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8005642C -> 0x80056524 enum Difficulty GameConfig::GetMaxDifficulty() { // Local variables int max_diff; // r1+0x10 class vector users; // r1+0x14 class BandUser * * it; // r31 class BandUser * pUser; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol joypad; // size: 0x4, address: 0x80A495D8 static class Symbol controller_mapping; // size: 0x4, address: 0x80A495E0 // Range: 0x80056524 -> 0x8005674C class Symbol GameConfig::GetController(class BandUser * user /* r28 */) { // Local variables unsigned char lefty; // r29 class GameplayOptions * options; // r30 class Symbol type; // r1+0x20 class DataArray * mapping; // r0 class DataArray * assoc; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol controller_mapping; // -> static class Symbol joypad; } // Range: 0x8005674C -> 0x80056754 class Symbol GameConfig::GetVenue() {} // Range: 0x80056754 -> 0x80056788 unsigned char GameConfig::IsPlayerLocal() { // References // -> class BandUserMgr * TheBandUserMgr; } static class Symbol vocals; // size: 0x4, address: 0x80A495E8 // Range: 0x80056788 -> 0x80056A38 unsigned char GameConfig::IsMissingMic(int player /* r27 */, unsigned char needTwo /* r28 */) { // Local variables class BandUser * pUser; // r29 enum ControllerType ctOverride; // r0 class vector users; // r1+0x10 class BandUser * * it; // r29 class BandUser * pUserCur; // r31 // References // -> class Synth * TheSynth; // -> static class Symbol vocals; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80056A38 -> 0x80056B58 unsigned char GameConfig::IsInstrumentUsed(class Symbol & inst /* r29 */) { // Local variables class vector users; // r1+0x14 class BandUser * * it; // r31 class BandUser * pUser; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80056B58 -> 0x80056C78 unsigned char GameConfig::IsOnlyInstrumentUsed(class Symbol & inst /* r29 */) { // Local variables class vector users; // r1+0x14 class BandUser * * it; // r31 class BandUser * pUser; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80056C78 -> 0x80056DB4 unsigned char GameConfig::IsControllerConnected(enum ControllerType controllerType /* r28 */, enum GameControllerState state /* r29 */) { // Local variables class vector users; // r1+0x10 class BandUser * * it; // r31 class BandUser * pUser; // r30 unsigned char participating; // r0 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80056DB4 -> 0x80056F14 class DataNode GameConfig::OnIsControllerConnected(const class GameConfig * const this /* r28 */, class DataArray * a /* r29 */) { // Local variables const class DataNode & arg; // r3 enum ControllerType ct; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80056F14 -> 0x80056FA4 unsigned char GameConfig::CanEndGame() { // Local variables int leaderNum; // r30 // References // -> class Net TheNet; // -> class SessionMgr * TheSessionMgr; // -> class NetSession * TheNetSession; } // Range: 0x80056FA4 -> 0x80056FF8 void GameConfig::SetVenue(class GameConfig * const this /* r31 */) {} static class Symbol none; // size: 0x4, address: 0x80A495F0 // Range: 0x80056FF8 -> 0x80057168 void GameConfig::AssignTracks(class GameConfig * const this /* r26 */) { // Local variables int p; // r27 class BandUser * cfg; // r31 unsigned char isRemote; // r0 // References // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol none; } static class Symbol variant; // size: 0x4, address: 0x80A495F8 static class Symbol objects; // size: 0x4, address: 0x80A49600 static class Symbol symWorldDir; // size: 0x4, address: 0x80A49608 static class Symbol types; // size: 0x4, address: 0x80A49610 // Range: 0x80057168 -> 0x800572B4 class DataArray * GameConfig::VenueData(class Symbol & venue /* r30 */) { // Local variables char buffer[256]; // r1+0x20 class DataArray * dataTypes; // r31 class DataArray * arr; // r0 // References // -> static class Symbol types; // -> static class Symbol symWorldDir; // -> static class Symbol objects; // -> static class Symbol variant; } // Range: 0x800572B4 -> 0x800572DC class Player * GameConfig::GetPlayer() { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800572DC -> 0x80057304 class Track * GameConfig::GetTrack() { // References // -> class BandUserMgr * TheBandUserMgr; } static class Symbol vocals; // size: 0x4, address: 0x80A49618 static class Symbol drum; // size: 0x4, address: 0x80A49620 // Range: 0x80057304 -> 0x80057498 class DataNode GameConfig::OnMsg(class GameConfig * const this /* r27 */, const class NewRemotePlayerMsg & msg /* r28 */) { // Local variables int leaderNum; // r29 int newSlot; // r29 enum ControllerType controllerType; // r0 class BandUser * pUser; // r0 class BandUser * pUser; // r0 // References // -> class PassiveMessenger * ThePassiveMessenger; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol drum; // -> static class Symbol vocals; // -> class GameMode * TheGameMode; // -> class NetSession * TheNetSession; // -> class SessionMgr * TheSessionMgr; } // Range: 0x80057498 -> 0x8005759C class DataNode GameConfig::OnMsg(class GameConfig * const this /* r29 */, const class RemotePlayerLeftMsg & msg /* r30 */) { // Local variables class BandUser * pUser; // r31 // References // -> class SessionMgr * TheSessionMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> class PassiveMessenger * ThePassiveMessenger; } // Range: 0x8005759C -> 0x800576C4 class DataNode GameConfig::OnMsg(const class XMPStateChangedMsg & msg /* r28 */) { // Local variables class MetaMusic * pmm; // r29 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MetaPanel; // -> class ObjectDir * sMainDir; } // Range: 0x800576C4 -> 0x800576CC void GameConfig::DisableAvailablePlayer() {} // Range: 0x800576CC -> 0x80057774 unsigned char GameConfig::IsControllerAvailable(const class GameConfig * const this /* r29 */, enum ControllerType controllerType /* r30 */) { // Local variables int flags; // r0 int num; // r0 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80057774 -> 0x8005778C int GameConfig::MaxNumControllers() {} static class Symbol guitar; // size: 0x4, address: 0x80A49628 // Range: 0x8005778C -> 0x800578C0 unsigned char GameConfig::HasParticipatingGuitarController() { // Local variables class vector users; // r1+0x10 class BandUser * * it; // r30 class BandUser * pUser; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol guitar; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A49630 // Range: 0x800578C0 -> 0x80057B10 void GameConfig::AutoAssignMissingSlots() { // Local variables enum ControllerType controllerType; // r28 class vector & users; // r0 class BandUser * * it; // r27 class BandUser * pUser; // r26 // References // -> class GameMode * TheGameMode; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol is_h2h_arrangement; } static class Symbol bass; // size: 0x4, address: 0x80A49638 // Range: 0x80057B10 -> 0x800580F8 void GameConfig::GetInstrumentTrackOrder(class GameConfig * const this /* r26 */, class vector * out /* r27 */, unsigned char gemTracksOnly /* r28 */) { // Local variables int guitar0_player; // r24 int guitar1_player; // r30 int drum_player; // r29 int vocal_player; // r0 enum TrackInstrument guitar0_instrument; // r1+0x74 enum TrackInstrument guitar1_instrument; // r1+0x70 enum TrackInstrument localGuitarInstrument; // r1+0x6C enum TrackInstrument netGuitarInstrument; // r1+0x68 // References // -> static class Symbol bass; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800580F8 -> 0x80058188 unsigned char GameConfig::IsControllerTypeWithLowestPadNum(enum ControllerType ct /* r29 */) { // Local variables int padNum; // r31 int i; // r30 int userNum; // r0 class BandUser * pUser; // r0 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80058188 -> 0x800581EC void GameConfig::SetPlayerSlotNum(class GameConfig * const this /* r31 */) { // References // -> class SessionMgr * TheSessionMgr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800581EC -> 0x80058300 void GameConfig::SetActiveRoster(class GameConfig * const this /* r26 */, unsigned char set /* r27 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r29 class BandUser * pUser; // r28 // References // -> class SessionMgr * TheSessionMgr; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol world; // size: 0x4, address: 0x80A49640 static class Symbol net; // size: 0x4, address: 0x80A49648 // Range: 0x80058300 -> 0x800583E8 class DataNode GameConfig::OnLoadAllChars(class GameConfig * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables unsigned char configure_for_world; // r1+0x9 unsigned char net_sync; // r1+0x8 // References // -> static class Symbol net; // -> static class Symbol world; } // Range: 0x800583E8 -> 0x80058474 void GameConfig::OnSetRemotePlayerTrackType(int playerNum /* r30 */) { // Local variables class SetPlayerTrackTypeMsg msg; // r1+0x18 // References // -> class Net TheNet; } // Range: 0x800584D4 -> 0x80058560 void GameConfig::OnSetRemotePlayerDifficulty(int playerNum /* r30 */) { // Local variables class SetPlayerDifficultyMsg msg; // r1+0x18 // References // -> class Net TheNet; } // Range: 0x800585C0 -> 0x8005860C void GameConfig::OnReassignPlayerTrackType(int playerNum /* r31 */) { // Local variables class ReassignPlayerTrackTypeMsg msg; // r1+0x8 // References // -> class Net TheNet; } // Range: 0x8005864C -> 0x8005868C void GameConfig::OnSendH2HSetTracksMsg() { // Local variables class H2HSetTrackTypesMsg msg; // r1+0x8 // References // -> class Net TheNet; // -> struct [anonymous] __vt__19H2HSetTrackTypesMsg; } // Range: 0x800586CC -> 0x800587F0 class DataNode GameConfig::OnGetSectionBounds(class GameConfig * const this /* r31 */, class DataArray * a /* r30 */) { // Local variables float start; // r1+0xC float end; // r1+0x8 } // Range: 0x800587F0 -> 0x80058A24 class DataNode GameConfig::OnGetSectionBoundsTick(class GameConfig * const this /* r28 */, class DataArray * a /* r31 */) { // Local variables const struct PracticeSection & sec; // r0 // References // -> class Game * TheGame; } // Range: 0x80058A24 -> 0x80058A70 void GameConfig::GetSectionBoundsTick(int & start /* r30 */, int & end /* r31 */) { // Local variables const struct PracticeSection & sec; // r0 } // Range: 0x80058A70 -> 0x80058B14 class DataNode GameConfig::OnGetSection(class GameConfig * const this /* r30 */, class DataArray * a /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80058B14 -> 0x80058BD4 class DataNode GameConfig::OnSetSection(class GameConfig * const this /* r29 */, class DataArray * a /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class Rand { // total size: 0x410 unsigned int mRandIndex1; // offset 0x0, size 0x4 unsigned int mRandIndex2; // offset 0x4, size 0x4 unsigned int mRandTable[256]; // offset 0x8, size 0x400 float mSpareGaussianValue; // offset 0x408, size 0x4 unsigned char mSpareGaussianAvailable; // offset 0x40C, size 0x1 }; static class Rand gPrefabGroupRand; // size: 0x410, address: 0x80976E48 static class DataArray * groups; // size: 0x4, address: 0x80A4964C class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80058BD4 -> 0x80059218 class DataArray * GetAppropriatePrefabGroup(class Symbol & genre /* r26 */, class Symbol & decade /* r27 */) { // Local variables class vector possibleGroups; // r1+0x88 class vector possibleGenreGroups; // r1+0x7C class vector possibleDecadeGroups; // r1+0x70 int i; // r28 class DataArray * keys; // r31 class DataArray * chars; // r1+0x5C unsigned char hasGenre; // r0 unsigned char hasDecade; // r0 // References // -> class Debug TheDebug; // -> static class Rand gPrefabGroupRand; // -> const char * gNullStr; // -> static class DataArray * groups; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DataArray * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DataArray * * _M_start; // offset 0x0, size 0x4 class DataArray * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; static class LoadAllCharsMsg msg; // size: 0x4, address: 0x80A49654 static class Symbol bass; // size: 0x4, address: 0x80A4965C static class Symbol guitar; // size: 0x4, address: 0x80A49664 static class Symbol is_band_arrangement; // size: 0x4, address: 0x80A4966C static class Symbol BAND_COOP_CHARS; // size: 0x4, address: 0x80A49674 class list : public _List_base { // total size: 0x8 }; class list : public _List_base { // total size: 0x8 }; class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80059218 -> 0x8005A22C void GameConfig::LoadAllChars(class GameConfig * const this /* r30 */, unsigned char configure_for_world /* r31 */) { // Local variables class Symbol song; // r1+0x13C class Symbol vocal_gender; // r1+0x138 class Symbol genre; // r1+0x134 class Symbol decade; // r1+0x130 class DataArray * group; // r27 unsigned char coop; // r26 int maxSlot; // r0 class list active_insts; // r1+0x1B0 class list active_tracks; // r1+0x1A8 class list jukebox_members; // r1+0x1A0 class list choosen_guids; // r1+0x198 class vector users; // r1+0x20C class BandUser * * it; // r25 class BandUser * pUser; // r24 enum ControllerType controllerType; // r23 class CharData * cd; // r22 enum TrackType trackType; // r19 int index; // r18 enum TrackType replaceTrackType; // r20 class BandUser * user; // r0 class Profile * leaderProfile; // r18 class TourBandLocal * band; // r0 class vector roster; // r1+0x200 enum TrackType trackTypes[4]; // r1+0x1F0 enum ControllerType controllerTypes[4]; // r1+0x1E0 int i; // r22 class Profile * profile; // r0 class TourCharLocal * charLocal; // r0 enum TrackType trackType; // r23 enum ControllerType controllerType; // r18 class list prefabs; // r1+0x190 class DataArray * npc_names; // r22 class String macro; // r1+0x1D0 int npc; // r1+0x12C int i; // r23 class String name; // r1+0x1C4 int pos; // r0 class Symbol symTrack; // r1+0x128 enum TrackType track; // r1+0x124 enum ControllerType playerControllerType; // r24 const class CharData * npc_char; // r25 class TourBand * tb; // r0 class CharData * stand_in; // r18 const class HxGuid & guid; // r26 class Symbol gender; // r1+0x120 const class CharData * p; // r18 const class PrefabChar * prefab; // r0 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std23_List_node; // -> struct [anonymous] __RTTI__10PrefabChar; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__14TourCharRemote; // -> class Tour * TheTour; // -> static class Symbol BAND_COOP_CHARS; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> class ProfileMgr TheProfileMgr; // -> class SessionMgr * TheSessionMgr; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9TrackType>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14ControllerType>; // -> class CharCache * TheCharCache; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6HxGuid>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class JukeboxPanel * TheJukeboxPanel; // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> class SongMgr & TheSongMgr; // -> const char * gNullStr; // -> static class Symbol is_band_arrangement; // -> static class Symbol guitar; // -> static class Symbol bass; // -> static class Rand gPrefabGroupRand; // -> class Net TheNet; // -> static class LoadAllCharsMsg msg; // -> struct [anonymous] __vt__15LoadAllCharsMsg; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: enum ControllerType _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class _List_node : public _List_node_base { // total size: 0xC public: enum TrackType _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0x18 public: class HxGuid _M_data; // offset 0x8, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std19_List_node<6HxGuid>; // size: 0x8, address: 0x80874580 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node<14ControllerType>; // size: 0x8, address: 0x808745B8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node<9TrackType>; // size: 0x8, address: 0x808745E8 class _List_node : public _List_node_base { // total size: 0xC public: const class CharData * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std23_List_node; // size: 0x8, address: 0x80874620 // Range: 0x8005A22C -> 0x8005A458 void GameConfig::GetRandomTrackAndControllerTypes(enum TrackType * t /* r29 */, enum ControllerType * c /* r30 */) { // Local variables enum TrackType trackTypes[4]; // r1+0x40 enum ControllerType controllerTypes[4]; // r1+0x30 class vector indices; // r1+0x24 int i; // r1+0x20 int i; // r31 int j; // r0 int index; // r1+0x1C } // Range: 0x8005A458 -> 0x8005A6CC class DataNode GameConfig::ForEach(const class DataArray * a /* r27 */, unsigned char user /* r28 */, unsigned char local_only /* r29 */) { // Local variables class DataNode tmp; // r1+0x28 class vector users; // r1+0x30 class BandUser * * it; // r30 class BandUser * pUser; // r25 int j; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8005A6CC -> 0x8005A748 unsigned char GameConfig::IsVenueAvailable(class GameConfig * const this /* r30 */) { // Local variables unsigned char multi_only; // r1+0x8 } // Range: 0x8005A748 -> 0x8005A810 int GameConfig::GetOriginalTrackNum(int player /* r30 */) { // References // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8005A810 -> 0x8005A8A8 char * GameConfig::GetVenueDir(class Symbol & venue /* r30 */) { // Local variables char base[256]; // r1+0x10 // References // -> class Debug TheDebug; } static class Symbol max_players; // size: 0x4, address: 0x80A4967C // Range: 0x8005A8A8 -> 0x8005A90C int GameConfig::GetNumPlayersAllowed() { // References // -> class GameMode * TheGameMode; // -> static class Symbol max_players; } static class Symbol ranked; // size: 0x4, address: 0x80A49684 // Range: 0x8005A90C -> 0x8005A97C unsigned char GameConfig::IsRanked() { // References // -> class GameMode * TheGameMode; // -> static class Symbol ranked; } static class Symbol local_network; // size: 0x4, address: 0x80A4968C // Range: 0x8005A97C -> 0x8005A9EC unsigned char GameConfig::IsLocalNetwork() { // References // -> class GameMode * TheGameMode; // -> static class Symbol local_network; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A49694 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x8005A9EC -> 0x8005AC28 int GameConfig::WinningPlayer() { // Local variables class list players; // r1+0x38 int player0; // r31 int player1; // r29 enum EndGameResult result; // r0 // References // -> class Game * TheGame; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; } class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0xC public: class User * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4969C static class Symbol separate_parts; // size: 0x4, address: 0x80A496A4 // Range: 0x8005AC28 -> 0x8005AE3C unsigned int GameConfig::LeaderboardID(const class GameConfig * const this /* r29 */) { // Local variables unsigned char pro; // r0 enum TrackType trackType; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol separate_parts; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; } // Range: 0x8005AE3C -> 0x8005AE48 unsigned int GameConfig::PublicID() {} // Range: 0x8005AE48 -> 0x8005AF10 void GameConfig::SyncSave(const class GameConfig * const this /* r29 */, class BinStream & dest /* r30 */) { // Local variables int i; // r31 // References // -> class BandUserMgr * TheBandUserMgr; // -> class SessionMgr * TheSessionMgr; } // Range: 0x8005AF10 -> 0x8005AFE4 void GameConfig::SyncLoad(class GameConfig * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables char leader; // r1+0xA int i; // r31 char slot; // r1+0x9 // References // -> class BandUserMgr * TheBandUserMgr; // -> class SessionMgr * TheSessionMgr; } // Range: 0x8005AFE4 -> 0x8005AFE8 unsigned char GameConfig::HasSyncPermission() {} static class Message game_changed; // size: 0x8, address: 0x80977270 // Range: 0x8005AFE8 -> 0x8005B128 void GameConfig::OnSynchronized() { // References // -> class UIManager TheUI; // -> static class Message game_changed; // -> struct [anonymous] __vt__7Message; } // Range: 0x8005B128 -> 0x8005B454 void GameConfig::AuthenticationData(class BinStream & dest /* r29 */, const class User * user /* r30 */) { // Local variables enum TourMode tMode; // r0 class TourBand * band; // r27 class vector members; // r1+0x2C int n; // r27 class vector users; // r1+0x20 const class BandUser * pBandUser; // r27 class BandUser * const * it; // r27 // References // -> struct [anonymous] __RTTI__4User; // -> struct [anonymous] __RTTI__8BandUser; // -> class BandUserMgr * TheBandUserMgr; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; // -> class BandUI * TheBandUI; } // Range: 0x8005B454 -> 0x8005B468 static void AlertIfMemberRejected() { // References // -> class PassiveMessenger * ThePassiveMessenger; } // Range: 0x8005B468 -> 0x8005B828 unsigned char GameConfig::AuthenticateJoin(const class GameConfig * const this /* r27 */, class BinStream & authData /* r28 */, int & customError /* r29 */) { // Local variables unsigned char invited; // r0 unsigned char isBandMember; // r30 class TourBand * band; // r26 unsigned char numGuids; // r1+0xF unsigned char valid; // r24 int n; // r23 class HxGuid guid; // r1+0x20 int needGuitar; // r23 int needDrummer; // r24 int needVocalist; // r25 class vector users; // r1+0x14 enum ControllerType controller; // r0 int numPlayers; // r1+0x10 unsigned char failed; // r26 int n; // r27 unsigned char type; // r1+0xE enum ControllerType controller; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; // -> class NetSession * TheNetSession; } // Range: 0x8005B828 -> 0x8005B8B8 void GameConfig::SetJoiningAllowed(unsigned char joiningAllowed /* r30 */) { // Local variables int leaderNum; // r31 // References // -> class Tour * TheTour; // -> class NetSession * TheNetSession; // -> class SessionMgr * TheSessionMgr; } // Range: 0x8005B8B8 -> 0x8005B90C void GameConfig::ChangeRandomSeed(class GameConfig * const this /* r31 */) {} static class Symbol vocals; // size: 0x4, address: 0x80A496AC // Range: 0x8005B90C -> 0x8005BC68 void GameConfig::AssignUSBMics() { // Local variables int voc0; // r30 int voc1; // r29 class vector users; // r1+0xC class BandUser * * it; // r28 class BandUser * pUser; // r26 unsigned char vox; // r0 int tmp; // r0 int pad; // r4 int tmp; // r0 int i; // r26 class BandUser * * it; // r26 class BandUser * pUser; // r27 int pad; // r4 // References // -> class Synth * TheSynth; // -> class Game * TheGame; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol vocals; } // Range: 0x8005BC68 -> 0x8005BD14 void GameConfig::GetSectionBounds(float & start /* r27 */, float & end /* r28 */) { // Local variables const struct PracticeSection & sec; // r0 // References // -> class Game * TheGame; } // Range: 0x8005BD14 -> 0x8005BD28 void GameConfig::GetPracticeSections() {} static class Symbol joypad; // size: 0x4, address: 0x80A496B4 static class Symbol five_way_controllers; // size: 0x4, address: 0x80A496BC // Range: 0x8005BD28 -> 0x8005BEDC int GameConfig::GetFxSwitchPosition(int player /* r30 */) { // Local variables class DataArray * supported; // r28 int i; // r27 int lookup[30]; // r1+0x20 float val; // f0 // References // -> static class Symbol five_way_controllers; // -> static class Symbol joypad; } // Range: 0x8005BEDC -> 0x8005C090 unsigned char GameConfig::WantCoda(class GameConfig * const this /* r29 */) { // Local variables int startSection; // r1+0x20 int endSection; // r1+0x1C float startMs; // r1+0x18 float endMs; // r1+0x14 class vector users; // r1+0x24 class BandUser * * it; // r30 class BandUser * pUser; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> class TaskMgr TheTaskMgr; // -> class GameMode * TheGameMode; } static class Symbol _s; // size: 0x4, address: 0x80A496C4 static class Symbol _s; // size: 0x4, address: 0x80A496CC static class Symbol _s; // size: 0x4, address: 0x80A496D4 static class Symbol _s; // size: 0x4, address: 0x80A496DC static class Symbol _s; // size: 0x4, address: 0x80A496E4 static class Symbol _s; // size: 0x4, address: 0x80A496EC static class Symbol _s; // size: 0x4, address: 0x80A496F4 static class Symbol _s; // size: 0x4, address: 0x80A496FC static class Symbol _s; // size: 0x4, address: 0x80A49704 static class Symbol _s; // size: 0x4, address: 0x80A4970C static class Symbol _s; // size: 0x4, address: 0x80A49714 static class Symbol _s; // size: 0x4, address: 0x80A4971C static class Symbol _s; // size: 0x4, address: 0x80A49724 static class Symbol _s; // size: 0x4, address: 0x80A4972C static class Symbol _s; // size: 0x4, address: 0x80A49734 static class Symbol _s; // size: 0x4, address: 0x80A4973C static class Symbol _s; // size: 0x4, address: 0x80A49744 static class Symbol _s; // size: 0x4, address: 0x80A4974C static class Symbol _s; // size: 0x4, address: 0x80A49754 static class Symbol _s; // size: 0x4, address: 0x80A4975C static class Symbol _s; // size: 0x4, address: 0x80A49764 static class Symbol _s; // size: 0x4, address: 0x80A4976C static class Symbol _s; // size: 0x4, address: 0x80A49774 static class Symbol _s; // size: 0x4, address: 0x80A4977C static class Symbol _s; // size: 0x4, address: 0x80A49784 static class Symbol _s; // size: 0x4, address: 0x80A4978C static class Symbol _s; // size: 0x4, address: 0x80A49794 static class Symbol _s; // size: 0x4, address: 0x80A4979C static class Symbol _s; // size: 0x4, address: 0x80A497A4 static class Symbol _s; // size: 0x4, address: 0x80A497AC static class Symbol _s; // size: 0x4, address: 0x80A497B4 static class Symbol _s; // size: 0x4, address: 0x80A497BC static class Symbol _s; // size: 0x4, address: 0x80A497C4 static class Symbol _s; // size: 0x4, address: 0x80A497CC static class Symbol _s; // size: 0x4, address: 0x80A497D4 static class Symbol _s; // size: 0x4, address: 0x80A497DC static class Symbol _s; // size: 0x4, address: 0x80A497E4 static class Symbol _s; // size: 0x4, address: 0x80A497EC static class Symbol _s; // size: 0x4, address: 0x80A497F4 static class Symbol _s; // size: 0x4, address: 0x80A497FC static class Symbol _s; // size: 0x4, address: 0x80A49804 // Range: 0x8005C090 -> 0x8005D5E0 class DataNode GameConfig::Handle(class GameConfig * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode _n; // r1+0x78 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } class NewRemotePlayerMsg : public Message { // total size: 0x8 }; class RemotePlayerLeftMsg : public Message { // total size: 0x8 }; static class Symbol _s; // size: 0x4, address: 0x80A4980C static class Symbol _s; // size: 0x4, address: 0x80A49814 static class Symbol _s; // size: 0x4, address: 0x80A4981C static class Symbol _s; // size: 0x4, address: 0x80A49824 // Range: 0x8005D5E0 -> 0x8005DA4C unsigned char GameConfig::SyncProperty(class GameConfig * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xC } __vt__19RemotePlayerLeftMsg; // size: 0xC, address: 0x80874C50 struct { // total size: 0x8 } __RTTI__19RemotePlayerLeftMsg; // size: 0x8, address: 0x80874C80 struct { // total size: 0xC } __vt__18NewRemotePlayerMsg; // size: 0xC, address: 0x80874C88 struct { // total size: 0x8 } __RTTI__18NewRemotePlayerMsg; // size: 0x8, address: 0x80874CB8 class MomentJukebox { // total size: 0x2C class Jukebox mJuke; // offset 0x0, size 0x10 const class TourWorld & mWorld; // offset 0x10, size 0x4 class list mSeen; // offset 0x14, size 0x8 int mEventsLeft; // offset 0x1C, size 0x4 int mMinEvents; // offset 0x20, size 0x4 int mMaxEvents; // offset 0x24, size 0x4 class TourMoment * mNextMoment; // offset 0x28, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: const class TourStaff * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: const class TourStaff * * _M_start; // offset 0x0, size 0x4 const class TourStaff * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class HxGuid * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class HxGuid * _M_start; // offset 0x0, size 0x4 class HxGuid * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourBandLocal : public TourBand, public TourSavable { // total size: 0x2A8 protected: class MomentJukebox mMomentJuke; // offset 0x1F0, size 0x2C private: class vector mStarRating; // offset 0x21C, size 0xC class vector mDiffRating; // offset 0x228, size 0xC class vector mWorldHintsSeen; // offset 0x234, size 0xC unsigned char mUnlockedStaff; // offset 0x240, size 0x1 class vector mChallengeHintsSeen; // offset 0x244, size 0xC int mPrevNumTowns; // offset 0x250, size 0x4 class list mPrevWorldEvents; // offset 0x254, size 0x8 class vector mPrevStaff; // offset 0x25C, size 0xC class Profile * mOwner; // offset 0x268, size 0x4 class OnlineID * mOwnerID; // offset 0x26C, size 0x4 class vector mStandInGuids; // offset 0x270, size 0xC }; class MemHandle { // total size: 0x4 public: class HandleInfo * mMem; // offset 0x0, size 0x4 }; class MetaMusic : public Object { // total size: 0x80 class Stream * mStream; // offset 0x28, size 0x4 unsigned char mLoop; // offset 0x2C, size 0x1 float mFadeTime; // offset 0x30, size 0x4 float mVolume; // offset 0x34, size 0x4 unsigned char mPlayFromBuffer; // offset 0x38, size 0x1 unsigned char mRndHeap; // offset 0x39, size 0x1 class String mFilename; // offset 0x3C, size 0xC class MemHandle * mBufferH; // offset 0x48, size 0x4 unsigned char * mBuf; // offset 0x4C, size 0x4 class File * mFile; // offset 0x50, size 0x4 class Symbol mExt; // offset 0x54, size 0x4 int mBufSize; // offset 0x58, size 0x4 int mBytesRead; // offset 0x5C, size 0x4 class Fader * mFader; // offset 0x60, size 0x4 class Fader * mFaderMute; // offset 0x64, size 0x4 class ObjPtrList mExtraFaders; // offset 0x68, size 0x14 class MetaMusicLoader * mLoader; // offset 0x7C, size 0x4 }; class MetaPanel : public UIPanel { // total size: 0x98 protected: class ModifierMgr * mModifierMgr; // offset 0x30, size 0x4 class Shop * mShop; // offset 0x34, size 0x4 class Tour * mTour; // offset 0x38, size 0x4 const char * mBackgroundSfx; // offset 0x3C, size 0x4 float mMinSfxDelaySec; // offset 0x40, size 0x4 float mMaxSfxDelaySec; // offset 0x44, size 0x4 float mPlaySfxTime; // offset 0x48, size 0x4 class vector mRecentIndices; // offset 0x4C, size 0xC int mCurrentSlot; // offset 0x58, size 0x4 class MetaMusic * mMusic; // offset 0x5C, size 0x4 class ObjDirPtr mBank; // offset 0x60, size 0xC }; struct { // total size: 0x8 } __RTTI__9MetaPanel; // size: 0x8, address: 0x80874D88 struct { // total size: 0xD4 } __vt__10GameConfig; // size: 0xD4, address: 0x80874E20 struct { // total size: 0x8 } __RTTI__10GameConfig; // size: 0x8, address: 0x80874F28 struct { // total size: 0xC } __vt__18XMPStateChangedMsg; // size: 0xC, address: 0x80874F30 struct { // total size: 0x8 } __RTTI__18XMPStateChangedMsg; // size: 0x8, address: 0x80874F60 struct { // total size: 0x2C } __vt__11NetGameData; // size: 0x2C, address: 0x80874FA8 struct { // total size: 0x8 } __RTTI__11NetGameData; // size: 0x8, address: 0x80874FE0 struct { // total size: 0x8 } __RTTI__PP9DataArray; // size: 0x8, address: 0x80875048 struct { // total size: 0x8 } __RTTI__P15TrackInstrument; // size: 0x8, address: 0x80875068 // Range: 0x8005DA4C -> 0x8005DA5C static void __sinit_\GameConfig_cpp() { // References // -> static class Rand gPrefabGroupRand; } class ProcessedJoinRequestMsg : public Message { // total size: 0x8 }; class JukeboxBandProvider : public ListProvider, public Object { // total size: 0x2C }; class JukeboxPanel : public UIPanel { // total size: 0x64 int mBand; // offset 0x30, size 0x4 class JukeboxBandProvider * mProvider; // offset 0x34, size 0x4 }; class PassiveMessenger : public Object { // total size: 0x60 class Timer mTourReadyTimer; // offset 0x28, size 0x38 }; class MatchmakingSettings { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 protected: class Symbol mModeName; // offset 0x4, size 0x4 int mModeFilter; // offset 0x8, size 0x4 unsigned char mRanked; // offset 0xC, size 0x1 class vector mCustomIDs; // offset 0x10, size 0xC class vector mCustomValues; // offset 0x1C, size 0xC }; class SessionSettings : public MatchmakingSettings, public Synchronizable { // total size: 0x4C unsigned char mPublic; // offset 0x48, size 0x1 }; class SessionReadyMsg : public Message { // total size: 0x8 }; class Offer : public Object { // total size: 0x2C protected: const class DataArray * mData; // offset 0x28, size 0x4 }; class StoreSort : public Object { // total size: 0x28 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class StoreSort * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class StoreSort * * _M_start; // offset 0x0, size 0x4 class StoreSort * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class OfferProvider : public Object, public ListProvider { // total size: 0x48 protected: class vector mAvailableSorts; // offset 0x2C, size 0xC int mSortIndex; // offset 0x38, size 0x4 class vector mAllSorts; // offset 0x3C, size 0xC }; class SongOffer : public Offer { // total size: 0x38 class Symbol mShortName; // offset 0x2C, size 0x4 unsigned char mIsDownload; // offset 0x30, size 0x1 unsigned char mIsExported; // offset 0x31, size 0x1 unsigned char mIsShared; // offset 0x32, size 0x1 unsigned char mHasMissingParts; // offset 0x33, size 0x1 unsigned char mVersionOK; // offset 0x34, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SongOffer * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SongOffer * _M_start; // offset 0x0, size 0x4 class SongOffer * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum ElementType { ElementNone = 0, ElementSong = 1, ElementHeader = 2, ElementSubheader = 3, ElementFunction = 4, }; class Element { // total size: 0x20 public: enum ElementType mType; // offset 0x0, size 0x4 class Symbol mSymbol; // offset 0x4, size 0x4 class Symbol mArtist; // offset 0x8, size 0x4 class SongOffer * mOffer; // offset 0xC, size 0x4 int mHdrSongCount; // offset 0x10, size 0x4 int mHdrDiscSongCount; // offset 0x14, size 0x4 int mHdrDownloadSongCount; // offset 0x18, size 0x4 unsigned char mCover; // offset 0x1C, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Element * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Element * * _M_start; // offset 0x0, size 0x4 class Element * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SetlistProvider : public ListProvider, public Object { // total size: 0x30 class RndMat * mBgMat; // offset 0x2C, size 0x4 }; class GroupProvider : public ListProvider, public Object { // total size: 0x48 const class OfferProvider * mOfferProvider; // offset 0x2C, size 0x4 class vector mActiveGroups; // offset 0x30, size 0xC class vector mGroups; // offset 0x3C, size 0xC }; class SortProvider : public ListProvider, public Object { // total size: 0x3C const class OfferProvider * mOfferProvider; // offset 0x2C, size 0x4 class vector mSorts; // offset 0x30, size 0xC }; class SongOfferProvider : public OfferProvider, public Callback { // total size: 0xC0 class vector mAllOffers; // offset 0x4C, size 0xC class vector mFilteredOffers; // offset 0x58, size 0xC class RndMat * mGroupBgMat; // offset 0x64, size 0x4 class RndMat * mAlbumMat; // offset 0x68, size 0x4 class RndMat * mSongBgMat; // offset 0x6C, size 0x4 class RndMat * mDownloadMat; // offset 0x70, size 0x4 class RndMat * mRockBand2Mat; // offset 0x74, size 0x4 class RndMat * mRockBand1Mat; // offset 0x78, size 0x4 float mSelectGap; // offset 0x7C, size 0x4 unsigned char mIsLeaderboards; // offset 0x80, size 0x1 unsigned char mSetListMode; // offset 0x81, size 0x1 class Element mHighlight; // offset 0x84, size 0x20 class vector mElements; // offset 0xA4, size 0xC class SetlistProvider * mSetlistProvider; // offset 0xB0, size 0x4 class GroupProvider * mGroupProvider; // offset 0xB4, size 0x4 class SortProvider * mSortProvider; // offset 0xB8, size 0x4 unsigned char mRegisteredWithCM; // offset 0xBC, size 0x1 }; enum InputLimitType { kLimitNone = 0, kLimitSession = 1, kLimitSessionLeader = 2, kLimitMax = 3, }; class SessionBusyMsg : public Message { // total size: 0x8 }; class InputMgr : public MsgSource { // total size: 0xB0 class BandUserMgr & mBandUserMgr; // offset 0x1C, size 0x4 class BandUI * mBandUI; // offset 0x20, size 0x4 unsigned char mButtonDownSwitch; // offset 0x24, size 0x1 unsigned char mButtonUpSwitch; // offset 0x25, size 0x1 enum InputLimitType mLimit; // offset 0x28, size 0x4 class BandUser * mUser; // offset 0x2C, size 0x4 unsigned char mNetworkBusy; // offset 0x30, size 0x1 class Timer mTime; // offset 0x38, size 0x38 float mLastUpDown[4]; // offset 0x70, size 0x10 class Object * mObjInvalidUserSink; // offset 0x80, size 0x4 }; enum ReadyType { kReadyAddLocal = 0, kReadySavePlayers = 1, }; struct SavePlayer { // total size: 0x10 class BandUser * mUser; // offset 0x0, size 0x4 enum ControllerType mCt; // offset 0x4, size 0x4 class CharData * mChar; // offset 0x8, size 0x4 int mSlot; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SavePlayer * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SavePlayer * _M_start; // offset 0x0, size 0x4 struct SavePlayer * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class JoinResultMsg : public Message { // total size: 0x8 }; class ModeChangedMsg : public Message { // total size: 0x8 }; class Matchmaker : public Object { // total size: 0x78 unsigned char mSearching; // offset 0x28, size 0x1 unsigned char mPublicizeAfterSearch; // offset 0x29, size 0x1 class Timer mTime; // offset 0x30, size 0x38 float mSearchingInterval; // offset 0x68, size 0x4 float mNextSearch; // offset 0x6C, size 0x4 int mDevChannel; // offset 0x70, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class User * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class User * * _M_start; // offset 0x0, size 0x4 class User * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class RemotePlayersProvider : public ListProvider, public Object { // total size: 0x44 class vector mRemotePlayers; // offset 0x2C, size 0xC unsigned char mShowMuteStatus; // offset 0x38, size 0x1 class RndMat * mCheckedMat; // offset 0x3C, size 0x4 class RndMat * mUncheckedMat; // offset 0x40, size 0x4 }; enum ShowGamercardResult { kGamercardPadError = -3, kGamercardPrivilegeError = -2, kGamercardShowError = -1, kGamercardSuccessful = 0, }; class SessionPlayersProvider : public ListProvider, public Object { // total size: 0x38 class vector mPlayers; // offset 0x2C, size 0xC }; class AddPlayerResultMsg : public Message { // total size: 0x8 }; class SessionMgr : public MsgSource { // total size: 0x88 class NetSession * mSession; // offset 0x1C, size 0x4 enum ReadyType mReadyType; // offset 0x20, size 0x4 struct SavePlayer mNewPlayer; // offset 0x24, size 0x10 class vector mSavedPlayers; // offset 0x34, size 0xC class Matchmaker * mMatchmaker; // offset 0x40, size 0x4 class RemotePlayersProvider * mRemotePlayersProvider; // offset 0x44, size 0x4 class SessionPlayersProvider * mSessionPlayersProvider; // offset 0x48, size 0x4 class vector mPossibleAutoJoinPads; // offset 0x4C, size 0xC int mLeaderNum; // offset 0x58, size 0x4 }; /* Compile unit: C:\rockband2\system\src\net\NetGameData.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DACC -> 0x8005DB0C */ // Range: 0x8005DACC -> 0x8005DB0C void * NetGameData::~NetGameData(class NetGameData * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DB0C -> 0x8005DB40 */ // Range: 0x8005DB0C -> 0x8005DB40 class Symbol DataArray::ForceSym(const class DataArray * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DB40 -> 0x8005DD6C */ // Range: 0x8005DB40 -> 0x8005DBA0 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\synth\Synth.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DD6C -> 0x8005DD80 */ // Range: 0x8005DD6C -> 0x8005DD74 int Synth::GetNumConnectedMics() {} // Range: 0x8005DD74 -> 0x8005DD7C unsigned char Synth::PadHasMic() {} // Range: 0x8005DD7C -> 0x8005DD80 void Synth::AssignUSBMic() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DD80 -> 0x8005DEB4 */ // Range: 0x8005DD80 -> 0x8005DDD8 struct _List_iterator find() {} // Range: 0x8005DDD8 -> 0x8005DE5C struct _List_iterator find(const class HxGuid & __val /* r31 */) {} // Range: 0x8005DE5C -> 0x8005DEB4 struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\synth\Mic.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DEB4 -> 0x8005DEB8 */ // Range: 0x8005DEB4 -> 0x8005DEB8 void Mic::SetChangeNotify() {} /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DEB8 -> 0x8005DF98 */ // Range: 0x8005DEB8 -> 0x8005DEFC class Symbol NewRemotePlayerMsg::Type() { // References // -> class Symbol t; } // Range: 0x8005DEFC -> 0x8005DF28 void * NewRemotePlayerMsg::NewRemotePlayerMsg() { // References // -> struct [anonymous] __vt__18NewRemotePlayerMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8005DF28 -> 0x8005DF6C class Symbol RemotePlayerLeftMsg::Type() { // References // -> class Symbol t; } // Range: 0x8005DF6C -> 0x8005DF98 void * RemotePlayerLeftMsg::RemotePlayerLeftMsg() { // References // -> struct [anonymous] __vt__19RemotePlayerLeftMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005DF98 -> 0x8005E008 */ // Range: 0x8005DF98 -> 0x8005DFDC class Symbol XMPStateChangedMsg::Type() { // References // -> class Symbol t; } // Range: 0x8005DFDC -> 0x8005E008 void * XMPStateChangedMsg::XMPStateChangedMsg() { // References // -> struct [anonymous] __vt__18XMPStateChangedMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\band2\src\game\GameConfig.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005E008 -> 0x8005E010 */ // Range: 0x8005E008 -> 0x8005E010 unsigned char GameConfig::IsJoiningAllowed() {} /* Compile unit: C:\rockband2\system\src\net\Synchronize.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005E010 -> 0x8005E014 */ // Range: 0x8005E010 -> 0x8005E014 void Synchronizable::OnSynchronizing() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005E014 -> 0x8005E1F4 */ // Range: 0x8005E014 -> 0x8005E074 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8005E074 -> 0x8005E0D4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8005E0D4 -> 0x8005E134 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8005E134 -> 0x8005E194 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8005E194 -> 0x8005E1F4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005E1F4 -> 0x8005E4F8 */ // Range: 0x8005E1F4 -> 0x8005E32C void vector::_M_insert_overflow(class vector * const this /* r27 */, class DataArray * * __pos /* r28 */, class DataArray * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class DataArray * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9DataArray; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8005E32C -> 0x8005E4F8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, enum TrackInstrument * __pos /* r26 */, const enum TrackInstrument & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 enum TrackInstrument * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P15TrackInstrument; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\GameMode.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005E4F8 -> 0x8005F66C */ class Symbol t; // size: 0x4, address: 0x80A4982C class GameMode * TheGameMode; // size: 0x4, address: 0x80A49830 // Range: 0x8005E4F8 -> 0x8005E56C void GameModeInit() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } // Range: 0x8005E56C -> 0x8005E690 void * GameMode::GameMode(class GameMode * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> const char * gNullStr; // -> struct [anonymous] __vt__8GameMode; // -> struct [anonymous] __vt__9MsgSource; } class _List_node : public _List_node_base { // total size: 0x10 public: struct Sink _M_data; // offset 0x8, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x14 public: struct EventSink _M_data; // offset 0x8, size 0xC }; // Range: 0x8005E690 -> 0x8005E718 void * GameMode::~GameMode(class GameMode * const this /* r29 */) {} // Range: 0x8005E718 -> 0x8005E7EC class DataNode GameMode::OnSetMode(class GameMode * const this /* r29 */, const class DataArray * a /* r30 */) {} static class ModeChangedMsg msg; // size: 0x8, address: 0x80977288 // Range: 0x8005E7EC -> 0x8005EE9C void GameMode::SetMode(class GameMode * const this /* r30 */, class Symbol & symModeNew /* r26 */, int iPlayer /* r27 */) { // Local variables class DataArray * daModes; // r28 class DataArray * daMode; // r29 class DataArray * daExit; // r4 class DataArray * typeDef; // r29 class DataArray * daEnter; // r4 // References // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__14ModeChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class ModeChangedMsg msg; } static class Symbol _s; // size: 0x4, address: 0x80A49838 // Range: 0x8005EE9C -> 0x8005F3E0 class DataNode GameMode::Handle(class GameMode * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A49840 static class Symbol _s; // size: 0x4, address: 0x80A49848 // Range: 0x8005F3E0 -> 0x8005F66C unsigned char GameMode::SyncProperty(class GameMode * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x70 } __vt__8GameMode; // size: 0x70, address: 0x808753F0 struct { // total size: 0x8 } __RTTI__8GameMode; // size: 0x8, address: 0x80875488 struct { // total size: 0xC } __vt__14ModeChangedMsg; // size: 0xC, address: 0x80875490 struct { // total size: 0x8 } __RTTI__14ModeChangedMsg; // size: 0x8, address: 0x808754B8 class _List_node : public _List_node_base { // total size: 0x14 public: struct EventSinkElem _M_data; // offset 0x8, size 0xC }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005F6F0 -> 0x8005F898 */ // Range: 0x8005F6F0 -> 0x8005F774 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x8005F774 -> 0x8005F7D4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8005F7D4 -> 0x8005F834 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\game\GamePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8005F898 -> 0x800646C4 */ class DataArray * types; // size: 0x4, address: 0x80A49850 class Symbol t; // size: 0x4, address: 0x80A49858 class GamePanel * TheGamePanel; // size: 0x4, address: 0x80A4985C // Range: 0x8005F898 -> 0x8005FB70 void * GamePanel::GamePanel(class GamePanel * const this /* r30 */) { // References // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GamePanel * TheGamePanel; // -> struct [anonymous] __vt__32ObjPtr<11BandCamShot,9ObjectDir>; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__9GamePanel; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x8005FB70 -> 0x8005FFD0 void * GamePanel::~GamePanel(class GamePanel * const this /* r29 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11BandCamShot,9ObjectDir>; // -> class NetSession * TheNetSession; // -> class GamePanel * TheGamePanel; // -> const char * gNullStr; // -> struct [anonymous] __vt__9GamePanel; } // Range: 0x8005FFD0 -> 0x8005FFEC void GamePanel::ResetJitter() {} static class DataNode & no_jitter; // size: 0x4, address: 0x80A49864 // Range: 0x8005FFEC -> 0x8006018C float GamePanel::DeJitter(class GamePanel * const this /* r31 */, float ms /* f31 */) { // Local variables float newMs; // f30 int index; // r6 float lastAv; // f3 // References // -> static class DataNode & no_jitter; } static class Message resetMsg; // size: 0x8, address: 0x809772A0 // Range: 0x8006018C -> 0x80060320 void GamePanel::Reset(class GamePanel * const this /* r31 */) { // References // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; // -> class InputMgr * TheInputMgr; } // Range: 0x80060320 -> 0x80060398 void GamePanel::LoadCrowdAudio(class GamePanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol coop; // size: 0x4, address: 0x80A4986C static class Symbol h2h_bass; // size: 0x4, address: 0x80A49874 static class Symbol h2h_drum; // size: 0x4, address: 0x80A4987C static class Symbol h2h_guitar; // size: 0x4, address: 0x80A49884 static class Symbol h2h_vocals; // size: 0x4, address: 0x80A4988C static class DataNode & playMode; // size: 0x4, address: 0x80A49894 // Range: 0x80060398 -> 0x80060B6C void GamePanel::Load(class GamePanel * const this /* r30 */) { // Local variables const char * bank; // r29 int arrangement; // r0 class list configs; // r1+0x68 // References // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> static class DataNode & playMode; // -> static class Symbol h2h_vocals; // -> static class Symbol h2h_guitar; // -> static class Symbol h2h_drum; // -> static class Symbol h2h_bass; // -> static class Symbol coop; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8FilePath; // -> class SongMgr & TheSongMgr; } // Range: 0x80060B6C -> 0x80060BD8 void GamePanel::CreateGame(class GamePanel * const this /* r31 */) {} static class Symbol variant; // size: 0x4, address: 0x80A4989C static class Symbol blank_variant; // size: 0x4, address: 0x80A498A4 // Range: 0x80060BD8 -> 0x80060EC4 unsigned char GamePanel::IsLoaded(class GamePanel * const this /* r29 */) { // References // -> class CharCache * TheCharCache; // -> class GameMode * TheGameMode; // -> const char * gNullStr; // -> class WorldDir * TheWorld; // -> static class Symbol blank_variant; // -> static class Symbol variant; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> class UIManager TheUI; } // Range: 0x80060EC4 -> 0x80061004 void GamePanel::FinishLoad(class GamePanel * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80061004 -> 0x80061244 void GamePanel::Unload(class GamePanel * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80061244 -> 0x80061298 void GamePanel::UnloadCrowdAudio(class GamePanel * const this /* r31 */) {} // Range: 0x80061298 -> 0x800613F0 void GamePanel::Enter(class GamePanel * const this /* r27 */) { // Local variables int gem_track_count; // r31 class PlayerTrackConfigList * player_configs; // r28 int i; // r27 // References // -> unsigned char mShotLOD; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; // -> class PlatformMgr ThePlatformMgr; // -> class TaskMgr TheTaskMgr; } // Range: 0x800613F0 -> 0x80061450 void GamePanel::Exit(class GamePanel * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class TaskMgr TheTaskMgr; } // Range: 0x80061450 -> 0x800614E8 void GamePanel::StartGame(class GamePanel * const this /* r31 */) { // References // -> class GameMode * TheGameMode; } // Range: 0x800614E8 -> 0x80061590 void GamePanel::RunVocalTest(class GamePanel * const this /* r31 */) { // Local variables float time; // f30 float end; // f0 // References // -> class Debug TheDebug; // -> class TaskMgr TheTaskMgr; // -> class SongDB * TheSongDB; } static class Timer * _t; // size: 0x4, address: 0x80A498A8 // Range: 0x80061590 -> 0x8006176C void GamePanel::Poll(class GamePanel * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class TaskMgr TheTaskMgr; // -> class GameMode * TheGameMode; // -> static class Timer * _t; } static class Message pick_intro; // size: 0x8, address: 0x809772B8 // Range: 0x8006176C -> 0x800618EC void GamePanel::StartIntro(class GamePanel * const this /* r31 */) { // References // -> static class Message pick_intro; // -> struct [anonymous] __vt__7Message; } // Range: 0x800618EC -> 0x80061A20 void GamePanel::UpdateNowBar(class GamePanel * const this /* r25 */) { // Local variables const class SongPos & pos; // r0 float sec; // f30 float sec_left; // f1 char sec_left_prefix; // r26 // References // -> class SongDB * TheSongDB; // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } class LatencyCallback : public Callback { // total size: 0x8 public: unsigned char mWhite; // offset 0x4, size 0x1 }; static class LatencyCallback gGamePanelCallback; // size: 0x8, address: 0x809772D0 static class DataNode & latency_test; // size: 0x4, address: 0x80A498B0 static class DataNode & pad_button; // size: 0x4, address: 0x80A498B8 static int count; // size: 0x4, address: 0x80A498BC static unsigned char wasPressed; // size: 0x1, address: 0x80A498C0 static class Object * beep; // size: 0x4, address: 0x80A498C4 static class Message playMsg; // size: 0x8, address: 0x809772E8 static int frame; // size: 0x4, address: 0x80A498CC static float frames[2]; // size: 0x8, address: 0x809772F0 // Range: 0x80061A20 -> 0x80061E4C void GamePanel::UpdateLatency(class GamePanel * const this /* r28 */) { // Local variables unsigned char white; // r26 unsigned char beep; // r25 int player; // r29 class JoypadData * joy; // r0 class ObjectDir * d; // r25 // References // -> static float frames[2]; // -> static int frame; // -> class Rnd & TheRnd; // -> static class Message playMsg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Object * beep; // -> static class LatencyCallback gGamePanelCallback; // -> static unsigned char wasPressed; // -> static int count; // -> class TaskMgr TheTaskMgr; // -> static class DataNode & pad_button; // -> static class DataNode & latency_test; } // Range: 0x80061E4C -> 0x80061E98 void GamePanel::SetPaused(class GamePanel * const this /* r30 */, unsigned char paused /* r31 */) {} // Range: 0x80061E98 -> 0x80061F24 void GamePanel::SetPausedExceptCrowdAudio(class GamePanel * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x80061F24 -> 0x80061FEC void GamePanel::SetGameOver() { // Local variables enum EndGameResult result; // r31 unsigned char report; // r30 // References // -> class NetSession * TheNetSession; // -> class GameMode * TheGameMode; // -> class Game * TheGame; } static class DataArrayPtr restart; // size: 0x8, address: 0x80977308 class GameEndedMsg : public Message { // total size: 0x8 }; // Range: 0x80061FEC -> 0x80062814 class DataNode GamePanel::OnMsg(class GamePanel * const this /* r30 */, const class GameEndedMsg & msg /* r27 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__7Message; // -> static class DataArrayPtr restart; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class Game * TheGame; } // Range: 0x80062814 -> 0x8006284C void GamePanel::SendRestartGameNetMsg() { // Local variables class RestartGameMsg msg; // r1+0x8 // References // -> class NetSession * TheNetSession; // -> struct [anonymous] __vt__14RestartGameMsg; } static class Message msg; // size: 0x8, address: 0x80977320 // Range: 0x8006288C -> 0x80062A7C void GamePanel::SetExcitementLevel(class GamePanel * const this /* r30 */, enum ExcitementLevel level /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Symbol _s; // size: 0x4, address: 0x80A498D4 static class Symbol _s; // size: 0x4, address: 0x80A498DC static class Symbol _s; // size: 0x4, address: 0x80A498E4 static class Symbol _s; // size: 0x4, address: 0x80A498EC static class Symbol _s; // size: 0x4, address: 0x80A498F4 static class Symbol _s; // size: 0x4, address: 0x80A498FC static class Symbol _s; // size: 0x4, address: 0x80A49904 static class Symbol _s; // size: 0x4, address: 0x80A4990C static class Symbol _s; // size: 0x4, address: 0x80A49914 static class Symbol _s; // size: 0x4, address: 0x80A4991C static class Symbol _s; // size: 0x4, address: 0x80A49924 static class Symbol _s; // size: 0x4, address: 0x80A4992C // Range: 0x80062A7C -> 0x80063D0C class DataNode GamePanel::Handle(class GamePanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x60 class MessageTimer _mt; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode _n; // r1+0x80 class DataNode _n; // r1+0x78 class DataNode _n; // r1+0x70 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __vt__12GameEndedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80063D0C -> 0x80063E00 class DataNode GamePanel::OnStartLoadSong(class GamePanel * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables class Symbol song; // r1+0x14 class QuickplayPerformer * qp; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__13MetaPerformer; // -> struct [anonymous] __RTTI__18QuickplayPerformer; } // Range: 0x80063E00 -> 0x80063E50 class DataNode GamePanel::OnStartSongNow(class GamePanel * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A49934 static class Symbol _s; // size: 0x4, address: 0x80A4993C static class Symbol _s; // size: 0x4, address: 0x80A49944 static class Symbol _s; // size: 0x4, address: 0x80A4994C static class Symbol _s; // size: 0x4, address: 0x80A49954 // Range: 0x80063E50 -> 0x80064350 unsigned char GamePanel::SyncProperty(class GamePanel * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80064350 -> 0x800644AC unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xC } __vt__12GameEndedMsg; // size: 0xC, address: 0x80875AE8 struct { // total size: 0x8 } __RTTI__12GameEndedMsg; // size: 0x8, address: 0x80875B10 struct { // total size: 0xC8 } __vt__9GamePanel; // size: 0xC8, address: 0x80875B18 struct { // total size: 0x8 } __RTTI__9GamePanel; // size: 0x8, address: 0x80875C18 struct { // total size: 0x8 } __RTTI__15HeldButtonPanel; // size: 0x8, address: 0x80875C98 struct { // total size: 0x8 } __RTTI__11BandCamShot; // size: 0x8, address: 0x80875CD0 struct { // total size: 0x18 } __vt__32ObjPtr<11BandCamShot,9ObjectDir>; // size: 0x18, address: 0x80875CD8 struct { // total size: 0x8 } __RTTI__32ObjPtr<11BandCamShot,9ObjectDir>; // size: 0x8, address: 0x80875D20 struct { // total size: 0x8 } __RTTI__7CamShot; // size: 0x8, address: 0x80875D50 struct { // total size: 0xC } __vt__12DataArrayPtr; // size: 0xC, address: 0x80875EA8 struct { // total size: 0x8 } __RTTI__12DataArrayPtr; // size: 0x8, address: 0x80875EC8 // Range: 0x800644AC -> 0x800644D4 static void __sinit_\GamePanel_cpp() { // References // -> struct [anonymous] __vt__15LatencyCallback; // -> static class LatencyCallback gGamePanelCallback; } // Range: 0x800644D4 -> 0x800645EC float LatencyCallback::UpdateOverlay(float topY /* f31 */) { // Local variables class Color col; // r1+0x50 // References // -> class Rnd & TheRnd; } struct { // total size: 0x10 } __vt__15LatencyCallback; // size: 0x10, address: 0x80875F60 struct { // total size: 0x8 } __RTTI__15LatencyCallback; // size: 0x8, address: 0x80875F90 struct { // total size: 0x10 } __vt__Q210RndOverlay8Callback; // size: 0x10, address: 0x80875F98 struct { // total size: 0x8 } __RTTI__Q210RndOverlay8Callback; // size: 0x8, address: 0x80875FC0 class JoypadConnectionMsg : public Message { // total size: 0x8 }; /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800646C4 -> 0x80064A68 */ // Range: 0x80064860 -> 0x800648AC char * MakeString(const char * fmt /* r0 */, enum TrackType t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800648AC -> 0x8006495C char * MakeString(const char * fmt /* r0 */, int t1 /* r25 */, int t2 /* r26 */, int t3 /* r27 */, const char * t4 /* r28 */, char t5 /* r29 */, const char * t6 /* r30 */, float t7 /* f31 */, int t8 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8006495C -> 0x800649E4 char * MakeString(const char * fmt /* r0 */, int t1 /* r31 */, float t2 /* f29 */, float t3 /* f30 */, float t4 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80064A68 -> 0x80064B88 */ // Range: 0x80064A68 -> 0x80064ADC void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11BandCamShot,9ObjectDir>; } // Range: 0x80064ADC -> 0x80064AE4 class Object * ObjPtr::RefOwner() {} // Range: 0x80064AE4 -> 0x80064B88 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80064B88 -> 0x80064C08 */ // Range: 0x80064B88 -> 0x80064C08 void * DataArrayPtr::~DataArrayPtr(class DataArrayPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__12DataArrayPtr; } /* Compile unit: C:\rockband2\band2\src\game\GamePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80064C08 -> 0x80064DE0 */ // Range: 0x80064C08 -> 0x80064C4C class Symbol GamePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80064C4C -> 0x80064DE0 void GamePanel::SetType(class GamePanel * const this /* r29 */, class Symbol & GamePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80064DE0 -> 0x80065000 */ // Range: 0x80064DE0 -> 0x80064E4C void vector::_M_fill_insert() {} // Range: 0x80064E4C -> 0x80065000 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, float * __pos /* r29 */, unsigned long __n /* r25 */, const float & __x /* r30 */) { // Local variables float __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\rndobj\Overlay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80065000 -> 0x80065084 */ // Range: 0x80065000 -> 0x80065040 void * Callback::~Callback(class Callback * const this /* r31 */) {} // Range: 0x80065080 -> 0x80065084 float Callback::UpdateOverlay() {} /* Compile unit: C:\rockband2\band2\src\game\GemPlayer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80065084 -> 0x8006FEE8 */ class Symbol name; // size: 0x4, address: 0x80A4995C class Symbol name; // size: 0x4, address: 0x80A49964 class DeltaTracker { // total size: 0xFA4 protected: float mDeltas[1000]; // offset 0x0, size 0xFA0 int mCur; // offset 0xFA0, size 0x4 }; static class DeltaTracker * sTracker; // size: 0x4, address: 0x80A49968 // Range: 0x80065084 -> 0x80065114 static class DataNode OnEnableDeltas(class DataArray * msg /* r30 */) { // References // -> static class DeltaTracker * sTracker; } // Range: 0x80065114 -> 0x80065338 static class DataNode OnPrintDeltas() { // References // -> class Debug TheDebug; // -> static class DeltaTracker * sTracker; } static unsigned char once; // size: 0x1, address: 0x80A463A4 // Range: 0x80065338 -> 0x800653A0 void DeltaTrackerInit() { // References // -> static unsigned char once; } // Range: 0x800653A0 -> 0x800654B0 static unsigned char GetPhraseExtents(enum BeatmatchPhraseType type /* r28 */, int track /* r0 */, int tick /* r29 */, int & start /* r30 */, int & end /* r31 */) { // Local variables int startSection; // r1+0x14 int endSection; // r1+0x10 int practiceStart; // r1+0xC int practiceEnd; // r1+0x8 // References // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; } class GuitarFx : public Object { // total size: 0x68 int mLastSetting; // offset 0x28, size 0x4 unsigned char mLastGains; // offset 0x2C, size 0x1 unsigned char mLastReverb; // offset 0x2D, size 0x1 enum TrackType mTrackType; // offset 0x30, size 0x4 int mFramesWhammyIdle; // offset 0x34, size 0x4 class DataArray * mFxCfg; // offset 0x38, size 0x4 class ObjDirPtr mFxDir; // offset 0x3C, size 0xC float mLastFbNote; // offset 0x48, size 0x4 float mFbNote; // offset 0x4C, size 0x4 float mFbEnd; // offset 0x50, size 0x4 unsigned char mHeldNoteState; // offset 0x54, size 0x1 int mFbTrigger; // offset 0x58, size 0x4 int mPrevFbTrigger; // offset 0x5C, size 0x4 unsigned char mLastWhammying; // offset 0x60, size 0x1 float mLastWhammyPos; // offset 0x64, size 0x4 }; class FxSendPitchShift : public FxSend { // total size: 0x54 protected: float mRatio; // offset 0x50, size 0x4 }; // Range: 0x800654B0 -> 0x80065C44 void * GemPlayer::GemPlayer(class GemPlayer * const this /* r28 */, class BandUser * config /* r29 */, class BeatMaster * beatMaster /* r30 */, class Band * band /* r27 */, int player /* r26 */, int track /* r24 */, class BandPerformer * band_performer /* r23 */) { // Local variables int i; // r4 class DataArray * star_power_cfg; // r23 class DataArray * coda_cfg; // r23 class DataArray * endgame_cfg; // r23 int i; // r4 class Symbol song; // r1+0xA8 enum TrackType inst; // r23 // References // -> class WiiFX TheWiiFX; // -> class GameMode * TheGameMode; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class SongMgr & TheSongMgr; // -> class GameConfig * TheGameConfig; // -> class SongDB * TheSongDB; // -> const char * gNullStr; // -> struct [anonymous] __vt__9GemPlayer; // -> struct [anonymous] __vt__13BeatMatchSink; } // Range: 0x80065C44 -> 0x80065E0C void * GemPlayer::~GemPlayer(class GemPlayer * const this /* r30 */) { // References // -> struct [anonymous] __vt__9GemPlayer; } enum BeatMatchControllerGemMapping { kDefaultGemMapping = 0, kDrumGemMapping = 1, }; class BeatMatchController : public Object { // total size: 0x3C protected: int mPlayerNum; // offset 0x28, size 0x4 int mForceMercuryBut; // offset 0x2C, size 0x4 unsigned char mLefty; // offset 0x30, size 0x1 enum BeatMatchControllerGemMapping mGemMapping; // offset 0x34, size 0x4 private: const class DataArray * mSlots; // offset 0x38, size 0x4 }; static class Message dtmsg; // size: 0x8, address: 0x80977338 // Range: 0x80065E0C -> 0x800660D8 void GemPlayer::SeeGem(class GemPlayer * const this /* r30 */, int gem_id /* r31 */) { // References // -> class Debug TheDebug; // -> static class Message dtmsg; // -> struct [anonymous] __vt__7Message; // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } static class Message msg; // size: 0x8, address: 0x80977350 // Range: 0x800660D8 -> 0x80066388 void GemPlayer::FinaleSwing(class GemPlayer * const this /* r28 */, int slot /* r29 */, float ms /* f31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80977368 // Range: 0x80066388 -> 0x8006657C void GemPlayer::LocalFinaleSwing(class GemPlayer * const this /* r30 */, int slot /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class WorldDir * TheWorld; } static class Message msg; // size: 0x8, address: 0x80977380 // Range: 0x8006657C -> 0x8006672C void GemPlayer::Swing(class GemPlayer * const this /* r28 */, int slot /* r29 */, unsigned char downstrum /* r30 */, unsigned char auto_swing /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80977398 static class Message dtmsg; // size: 0x8, address: 0x809773B0 // Range: 0x8006672C -> 0x80066FE0 void GemPlayer::Hit(class GemPlayer * const this /* r26 */, float ms /* f31 */, int gem_id /* r27 */, unsigned char solo_button /* r28 */) { // Local variables const class GameGem & gem; // r29 float delta_ms; // f0 int hitFlags; // r24 // References // -> static class Message dtmsg; // -> class GameMode * TheGameMode; // -> class Scoring * TheScoring; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> static class DeltaTracker * sTracker; // -> class SongDB * TheSongDB; } // Range: 0x80066FE0 -> 0x80067084 unsigned char GemPlayer::CanFreestyle(class GemPlayer * const this /* r5 */, float ms /* f31 */) { // Local variables const class GameGem & first_gem; // r0 // References // -> class SongDB * TheSongDB; // -> class DrumTrainerPanel * TheDrumTrainerPanel; // -> class GameMode * TheGameMode; } static class Symbol drum_freestyle; // size: 0x4, address: 0x80A49974 static class Message miss_msg; // size: 0x8, address: 0x809773C8 // Range: 0x80067084 -> 0x8006753C unsigned char GemPlayer::HandleSpecialMissScenarios(class GemPlayer * const this /* r27 */, int slot /* r28 */, float ms /* f30 */) { // Local variables int virtual_slot; // r30 int bucket; // r29 float vol; // f31 enum TrackType track_type; // r0 // References // -> static class Message miss_msg; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; // -> static class Symbol drum_freestyle; } static class Message missMsg; // size: 0x8, address: 0x809773E0 static class Message dtmsg; // size: 0x8, address: 0x809773F8 // Range: 0x8006753C -> 0x80067AC8 void GemPlayer::Miss(class GemPlayer * const this /* r28 */, int slot /* r29 */, float ms /* f31 */, int gem_id /* r30 */) { // References // -> static class Message dtmsg; // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; // -> static class Message missMsg; // -> struct [anonymous] __vt__7Message; } static class Message passMsg; // size: 0x8, address: 0x80977410 static class Message dtmsg; // size: 0x8, address: 0x80977428 // Range: 0x80067AC8 -> 0x80068178 void GemPlayer::Pass(class GemPlayer * const this /* r27 */, float ms /* f31 */, int gem_id /* r28 */) { // Local variables const class vector & phraseIDs; // r0 // References // -> class Debug TheDebug; // -> static class Message dtmsg; // -> class GameMode * TheGameMode; // -> static class Message passMsg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Synth * TheSynth; // -> class SongDB * TheSongDB; } static class Message fill_pass; // size: 0x8, address: 0x80977440 // Range: 0x80068178 -> 0x800682F8 void GemPlayer::Ignore(class GemPlayer * const this /* r31 */, int gem_id /* r30 */) { // References // -> static class Message fill_pass; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; } static class Message msg; // size: 0x8, address: 0x80977458 // Range: 0x800682F8 -> 0x800684FC void GemPlayer::FretButtonDown(class GemPlayer * const this /* r30 */, int slot /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80977470 // Range: 0x800684FC -> 0x80068700 void GemPlayer::FretButtonUp(class GemPlayer * const this /* r30 */, int slot /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x80068700 -> 0x80068748 void GemPlayer::MercurySwitch() {} static class Message msg; // size: 0x8, address: 0x80977488 static class Message msg; // size: 0x8, address: 0x809774A0 // Range: 0x80068748 -> 0x80068C3C void GemPlayer::FilteredWhammyBar(class GemPlayer * const this /* r29 */, float val /* f31 */) { // Local variables int phrase; // r4 float whammy_vel; // f0 unsigned char whammy_vel_high_now; // r27 unsigned char active; // r0 float ms; // f0 // References // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class SongDB * TheSongDB; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } static class Message msg; // size: 0x8, address: 0x809774B8 // Range: 0x80068C3C -> 0x80068D80 void GemPlayer::SwingAtHopo(class GemPlayer * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x809774D0 // Range: 0x80068D80 -> 0x80068EA0 void GemPlayer::Hopo(class GemPlayer * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x80068EA0 -> 0x80068F94 void GemPlayer::ReleaseGem(class GemPlayer * const this /* r30 */, float ms /* f31 */, int gem_id /* r31 */) {} static class Message fillHitMsg; // size: 0x8, address: 0x809774E8 static class Message fillMissMsg; // size: 0x8, address: 0x80977500 static class Symbol drum_freestyle; // size: 0x4, address: 0x80A49988 static class Message missMsg; // size: 0x8, address: 0x80977518 // Range: 0x80068F94 -> 0x800696E4 void GemPlayer::FillSwing(class GemPlayer * const this /* r26 */, int total /* r24 */, int slot /* r27 */, int tick /* r25 */, unsigned char hit /* r28 */, unsigned char at_end /* r29 */) { // Local variables struct FillExtent fillExtent; // r1+0x78 int codaStart; // r0 int bucket; // r28 float vol; // f31 // References // -> static class Message missMsg; // -> class TaskMgr TheTaskMgr; // -> static class Symbol drum_freestyle; // -> static class Message fillMissMsg; // -> static class Message fillHitMsg; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; } // Range: 0x800696E4 -> 0x80069780 void GemPlayer::ShowFillHit(class GemPlayer * const this /* r30 */, int slot /* r31 */) {} // Range: 0x80069780 -> 0x800697EC void GemPlayer::OnRemoteFillHit(class GemPlayer * const this /* r29 */, int slot /* r30 */, unsigned char in_coda /* r31 */) {} // Range: 0x800697EC -> 0x8006989C void GemPlayer::LocalShowFillHit(class GemPlayer * const this /* r29 */, int slot /* r30 */, unsigned char in_coda /* r31 */) {} // Range: 0x8006989C -> 0x8006990C void GemPlayer::FillReset(class GemPlayer * const this /* r31 */) { // Local variables int i; // r4 } static class Message trainer_crash_fill; // size: 0x8, address: 0x80977530 // Range: 0x8006990C -> 0x80069AA8 void GemPlayer::FillComplete(class GemPlayer * const this /* r30 */, int fill_end_tick /* r31 */) { // References // -> static class Message trainer_crash_fill; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; } // Range: 0x80069AA8 -> 0x80069BFC void GemPlayer::IgnoreGemsUntil(class GemPlayer * const this /* r30 */, int end_tick /* r28 */) { // Local variables const class GameGemList & gems; // r29 int gem_id; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } // Range: 0x80069BFC -> 0x80069C34 class Symbol GemPlayer::GetStarRating() { // References // -> class Scoring * TheScoring; } // Range: 0x80069C34 -> 0x80069C88 int GemPlayer::GetNumStars(const class GemPlayer * const this /* r30 */) {} // Range: 0x80069C88 -> 0x80069CB4 int GemPlayer::GetBaseMaxPoints() { // References // -> class SongDB * TheSongDB; } // Range: 0x80069CB4 -> 0x80069CE0 int GemPlayer::GetBaseMaxStreakPoints() { // References // -> class SongDB * TheSongDB; } // Range: 0x80069CE0 -> 0x80069D0C int GemPlayer::GetBaseBonusPoints() { // References // -> class SongDB * TheSongDB; } static class DataNode & force_guitar_fx; // size: 0x4, address: 0x80A49990 static class Message msg; // size: 0x8, address: 0x80977548 // Range: 0x80069D0C -> 0x8006A2DC void GemPlayer::Poll(class GemPlayer * const this /* r29 */, float ms /* f31 */, const class SongPos & pos /* r28 */) { // Local variables float delta_ticks; // f1 int tick; // r28 float tempo; // f0 int oldFx; // r30 float beat; // f0 float frac; // f0 unsigned char deploy; // r31 unsigned char solo; // r30 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class WorldDir * TheWorld; // -> class WiiFX TheWiiFX; // -> class SongDB * TheSongDB; // -> class TempoMap * TheTempoMap; // -> class Game * TheGame; // -> class Scoring * TheScoring; // -> class GameMode * TheGameMode; // -> class ProfileMgr TheProfileMgr; // -> static class DataNode & force_guitar_fx; } // Range: 0x8006A2DC -> 0x8006A580 void GemPlayer::Restart(class GemPlayer * const this /* r31 */) { // Local variables class BandTrack * track; // r0 int i; // r4 enum TrackType track_type; // r0 int i; // r4 // References // -> class GameMode * TheGameMode; } // Range: 0x8006A580 -> 0x8006A5F8 void GemPlayer::SetTrack(class GemPlayer * const this /* r30 */, int track_num /* r31 */) {} // Range: 0x8006A5F8 -> 0x8006A984 void GemPlayer::PostLoad(class GemPlayer * const this /* r30 */) { // Local variables class list chans; // r1+0x78 struct _List_iterator itr; // r1+0x4C class list chans; // r1+0x70 unsigned int i; // r1+0x48 // References // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; } // Range: 0x8006A984 -> 0x8006A98C unsigned char GemPlayer::IsReady() {} // Range: 0x8006A98C -> 0x8006AA6C class FxSendPitchShift * GemPlayer::GetPitchShift(class GemPlayer * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16FxSendPitchShift; // -> class Symbol name; } // Range: 0x8006AA6C -> 0x8006AB14 void GemPlayer::Start(class GemPlayer * const this /* r31 */) { // References // -> class GameMode * TheGameMode; } // Range: 0x8006AB14 -> 0x8006AB20 float GemPlayer::GetSongMs() {} // Range: 0x8006AB20 -> 0x8006AB8C void GemPlayer::PollTrack(class GemPlayer * const this /* r31 */) { // Local variables struct PlayerState playerState; // r1+0x8 } // Range: 0x8006AB8C -> 0x8006AB90 void GemPlayer::PollAudio() {} // Range: 0x8006AB90 -> 0x8006ABF8 void GemPlayer::SetPaused(class GemPlayer * const this /* r31 */) {} // Range: 0x8006ABF8 -> 0x8006AC54 void GemPlayer::UpdateLeftyFlip(class GemPlayer * const this /* r31 */) {} // Range: 0x8006AC54 -> 0x8006AC58 void GemPlayer::SetRealtime() {} // Range: 0x8006AC58 -> 0x8006AC74 void GemPlayer::SetMusicSpeed() {} // Range: 0x8006AC74 -> 0x8006AD78 void GemPlayer::Jump(class GemPlayer * const this /* r30 */, float ms /* f31 */, unsigned char sync_audio /* r31 */) { // Local variables int i; // r4 } // Range: 0x8006AD78 -> 0x8006AD88 void GemPlayer::SetAutoplay() {} // Range: 0x8006AD88 -> 0x8006AD90 unsigned char GemPlayer::IsAutoplay() {} // Range: 0x8006AD90 -> 0x8006AE48 void GemPlayer::HookupTrack(class GemPlayer * const this /* r30 */) { // Local variables class TrackPanel * trackPanel; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__5Track; // -> struct [anonymous] __RTTI__8GemTrack; } // Range: 0x8006AE48 -> 0x8006AE54 void GemPlayer::UnHookTrack() {} // Range: 0x8006AE54 -> 0x8006AEC8 void GemPlayer::EnableFills(class GemPlayer * const this /* r31 */, float delay /* f31 */) {} // Range: 0x8006AEC8 -> 0x8006AEE0 void GemPlayer::DisableFills() {} // Range: 0x8006AEE0 -> 0x8006AF68 void GemPlayer::EnableDrumFills(class GemPlayer * const this /* r31 */) { // Local variables float delayMS; // f1 } // Range: 0x8006AF68 -> 0x8006B000 unsigned char GemPlayer::FillsEnabled(class GemPlayer * const this /* r28 */, int tick /* r29 */) { // References // -> class SongDB * TheSongDB; } // Range: 0x8006B000 -> 0x8006B090 void GemPlayer::EnterCoda(class GemPlayer * const this /* r31 */) { // References // -> class GameMode * TheGameMode; } // Range: 0x8006B090 -> 0x8006B09C void GemPlayer::ResetCodaPoints() {} // Range: 0x8006B09C -> 0x8006B114 void GemPlayer::AddCodaPoints(class GemPlayer * const this /* r30 */) {} // Range: 0x8006B114 -> 0x8006B1F4 void GemPlayer::LocalSetEnabledState(class GemPlayer * const this /* r29 */, enum EnabledState state /* r30 */, int tick /* r31 */) { // References // -> class GamePanel * TheGamePanel; } // Range: 0x8006B1F4 -> 0x8006B200 void GemPlayer::SetSyncOffset() {} // Range: 0x8006B200 -> 0x8006B278 void GemPlayer::EnableSwings(class GemPlayer * const this /* r30 */, unsigned char enable /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8006B278 -> 0x8006B30C void GemPlayer::PlayDrum(class GemPlayer * const this /* r29 */, int slot /* r30 */, float vol /* f31 */, class Symbol & sample_set /* r31 */) {} // Range: 0x8006B30C -> 0x8006B380 void GemPlayer::OverrideDrumSamples(class GemPlayer * const this /* r30 */, class DataArray * seq_list /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8006B380 -> 0x8006B388 void GemPlayer::ResetDrumSamples() {} // Range: 0x8006B388 -> 0x8006B3E4 void GemPlayer::ResetGemStates(class GemPlayer * const this /* r31 */) {} enum State { kInit = 0, kBuffering = 1, kReady = 2, kPlaying = 3, kSuspended = 4, kStopped = 5, kFinished = 6, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class StreamReceiver * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class StreamReceiver * * _M_start; // offset 0x0, size 0x4 class StreamReceiver * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class VarTimer { // total size: 0x40 class Timer mRawTimer; // offset 0x0, size 0x38 float mAccumMs; // offset 0x38, size 0x4 float mSpeed; // offset 0x3C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ChannelParams * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ChannelParams * * _M_start; // offset 0x0, size 0x4 struct ChannelParams * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: void * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: void * _M_start; // offset 0x0, size 0x4 void * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: float * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: float * * _M_start; // offset 0x0, size 0x4 float * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StandardStream : public Stream, public SynthPollable { // total size: 0x118 enum State mState; // offset 0x14, size 0x4 class File * mFile; // offset 0x18, size 0x4 class StreamReader * mRdr; // offset 0x1C, size 0x4 class vector mChannels; // offset 0x20, size 0xC int mSampleRate; // offset 0x2C, size 0x4 float mBufSecs; // offset 0x30, size 0x4 float mFileStartMs; // offset 0x34, size 0x4 float mStartMs; // offset 0x38, size 0x4 float mLastStreamTime; // offset 0x3C, size 0x4 class VarTimer mTimer; // offset 0x40, size 0x40 class vector mChanParams; // offset 0x80, size 0xC float mJumpFromMs; // offset 0x8C, size 0x4 float mJumpToMs; // offset 0x90, size 0x4 class String mJumpFile; // offset 0x94, size 0xC int mCurrentSamp; // offset 0xA0, size 0x4 float mSpeed; // offset 0xA4, size 0x4 class Timer mFrameTimer; // offset 0xA8, size 0x38 float mThrottle; // offset 0xE0, size 0x4 class Symbol mExt; // offset 0xE4, size 0x4 unsigned char mFloatSamples; // offset 0xE8, size 0x1 int mVirtualChans; // offset 0xEC, size 0x4 class vector mVirtBufs; // offset 0xF0, size 0xC class vector mChanMaps; // offset 0xFC, size 0xC class vector mFloatBufferVector; // offset 0x108, size 0xC }; // Range: 0x8006B3E4 -> 0x8006B630 void GemPlayer::SetPitchShiftRatio(class GemPlayer * const this /* r29 */, float ratio /* f31 */) { // Local variables class Stream * str; // r31 class StandardStream * sstr; // r30 class list chans; // r1+0x58 struct _List_iterator itr; // r1+0x28 unsigned int i; // r30 class list chans; // r1+0x50 unsigned long i; // r1+0x24 // References // -> struct [anonymous] __RTTI__6Stream; // -> struct [anonymous] __RTTI__14StandardStream; // -> class Debug TheDebug; } // Range: 0x8006B630 -> 0x8006B660 unsigned char GemPlayer::HasDealtWithGem() {} // Range: 0x8006B660 -> 0x8006B704 float GemPlayer::GetNotesHitFraction() {} // Range: 0x8006B704 -> 0x8006B710 void GemPlayer::OnResetCodaPoints() {} // Range: 0x8006B710 -> 0x8006B7B0 int GemPlayer::OnGetPercentHit(const class GemPlayer * const this /* r30 */) { // Local variables int total; // r0 float fraction; // f1 // References // -> class SongDB * TheSongDB; } // Range: 0x8006B7B0 -> 0x8006B8C4 int GemPlayer::OnGetPercentHitSlots(const class GemPlayer * const this /* r31 */) { // Local variables unsigned char slotFlags; // r0 const class vector & gemVec; // r0 int totalCount; // r5 int hitCount; // r6 int i; // r7 float fraction; // f1 // References // -> class SongDB * TheSongDB; } // Range: 0x8006B8C4 -> 0x8006BA60 float GemPlayer::OnGetPercentHitGemsPractice(const class GemPlayer * const this /* r26 */, int slotNum /* r27 */, float startMs /* f30 */, float endMs /* f31 */) { // Local variables const class vector & gemVec; // r0 int totalCount; // r30 int hitCount; // r29 int i; // r28 float gemStart; // f0 float gemEnd; // f0 float fraction; // f1 // References // -> class SongDB * TheSongDB; } // Range: 0x8006BA60 -> 0x8006BA90 unsigned char GemPlayer::OnGetGemResult() {} // Range: 0x8006BA90 -> 0x8006BC34 unsigned char GemPlayer::OnGetGemIsSustained(class GemPlayer * const this /* r5 */, int ixGem /* r31 */) { // Local variables class vector gemVec; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7GameGem; // -> unsigned char gStlAllocNameLookup; // -> class SongDB * TheSongDB; } struct { // total size: 0x8 } __RTTI__P7GameGem; // size: 0x8, address: 0x808764C0 // Range: 0x8006BC34 -> 0x8006BC3C void GemPlayer::OnSetWhammyStarPowerEnabled() {} // Range: 0x8006BC3C -> 0x8006BC44 void GemPlayer::OnSetMercurySwitchEnabled() {} // Range: 0x8006BC44 -> 0x8006BC94 void GemPlayer::OnGameOver(class GemPlayer * const this /* r31 */) {} // Range: 0x8006BC94 -> 0x8006BCB8 void GemPlayer::OnDisableController() {} // Range: 0x8006BCB8 -> 0x8006BD54 void GemPlayer::OnRemoteHit(class GemPlayer * const this /* r29 */, int streak /* r30 */, int score /* r31 */, float crowd /* f31 */) {} // Range: 0x8006BD54 -> 0x8006BDE4 void GemPlayer::OnRemotePenalize(class GemPlayer * const this /* r29 */, int streak /* r30 */, int score /* r31 */, float crowd /* f31 */) {} // Range: 0x8006BDE4 -> 0x8006BDE8 void GemPlayer::OnRemoteFill() {} // Range: 0x8006BDE8 -> 0x8006BE60 void GemPlayer::OnRemoteCodaHit(class GemPlayer * const this /* r30 */, int slot /* r31 */) {} // Range: 0x8006BE60 -> 0x8006BE68 void GemPlayer::OnRemoteWhammy() {} // Range: 0x8006BE68 -> 0x8006BEA4 void GemPlayer::OnRemoteHitLastCodaGem(class GemPlayer * const this /* r31 */) {} // Range: 0x8006BEA4 -> 0x8006BEDC void GemPlayer::OnRemoteBlowCoda(class GemPlayer * const this /* r31 */) {} // Range: 0x8006BEDC -> 0x8006BEE4 void GemPlayer::OnStartStarpower() {} // Range: 0x8006BEE4 -> 0x8006BEEC void GemPlayer::OnStopStarpower() {} // Range: 0x8006BEEC -> 0x8006BEF8 class SongPos & GemPlayer::GetSongPos() {} // Range: 0x8006BEF8 -> 0x8006BF88 unsigned char GemPlayer::InFillNow(class GemPlayer * const this /* r29 */) { // Local variables int tick; // r30 } // Range: 0x8006BF88 -> 0x8006BF8C void GemPlayer::SetReverb() {} // Range: 0x8006BF8C -> 0x8006C04C void GemPlayer::GetPlayerState(const class GemPlayer * const this /* r29 */, struct PlayerState & state /* r30 */) {} class TickedInfo { // total size: 0x10 int mTick; // offset 0x0, size 0x4 class String mInfo; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TickedInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TickedInfo * _M_start; // offset 0x0, size 0x4 class TickedInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TickedInfoCollection { // total size: 0xC class vector mInfos; // offset 0x0, size 0xC }; static class Message msg; // size: 0x8, address: 0x80977560 // Range: 0x8006C04C -> 0x8006C428 void GemPlayer::FillInProgress(class GemPlayer * const this /* r29 */, int slot /* r31 */) { // Local variables float now; // f0 float rate; // f2 int hit_slot; // r30 float delta; // f0 int pts; // r3 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8006C428 -> 0x8006C4B8 void GemPlayer::SendPenalize(class GemPlayer * const this /* r31 */) {} // Range: 0x8006C4B8 -> 0x8006C600 void GemPlayer::Penalize(class GemPlayer * const this /* r29 */, float ms /* f31 */, int gem_id /* r30 */) { // Local variables int spotlight_gem_id; // r31 float gem_ms; // f0 // References // -> class SongDB * TheSongDB; } // Range: 0x8006C600 -> 0x8006C698 void GemPlayer::CheckHeldNote(class GemPlayer * const this /* r31 */) { // Local variables float newPoints; // f1 } // Range: 0x8006C698 -> 0x8006C86C void GemPlayer::FinishHeldNote(class GemPlayer * const this /* r31 */) { // Local variables float fraction; // f31 class Message msg; // r1+0x20 // References // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80977578 // Range: 0x8006C86C -> 0x8006CA9C void GemPlayer::CheckSolo(class GemPlayer * const this /* r31 */) { // Local variables int start_tick; // r1+0x14 int end_tick; // r1+0x10 unsigned char tick_in_solo; // r0 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8006CA9C -> 0x8006CBAC unsigned char GemPlayer::IsCodaMiss(class GemPlayer * const this /* r27 */) { // Local variables int coda_start_tick; // r31 int now_tick; // r29 class DrumFillInfo * fill_info; // r28 struct FillExtent next_fill; // r1+0x18 struct FillExtent first_coda_fill; // r1+0x10 unsigned char any_fills; // r0 unsigned char any_upcoming_fills; // r0 struct FillExtent fillExtent; // r1+0x8 // References // -> class SongDB * TheSongDB; } // Range: 0x8006CBAC -> 0x8006CD70 void GemPlayer::AddHeadPoints(class GemPlayer * const this /* r27 */, float ms /* f31 */, int gem_id /* r6 */, enum HitType type /* r28 */) { // Local variables const class GameGem & gem; // r31 int numSlots; // r30 int points; // r29 // References // -> class Scoring * TheScoring; // -> class SongDB * TheSongDB; } // Range: 0x8006CD70 -> 0x8006D1A8 void GemPlayer::SetFilling(class GemPlayer * const this /* r28 */, unsigned char fill /* r29 */, int tick /* r30 */) { // Local variables class Message msg; // r1+0x58 class Message msg; // r1+0x50 class Message msg; // r1+0x48 // References // -> class GameMode * TheGameMode; // -> struct [anonymous] __vt__7Message; } // Range: 0x8006D1A8 -> 0x8006D1B4 void GemPlayer::ForceFill() {} // Range: 0x8006D1B4 -> 0x8006D1CC unsigned char GemPlayer::ToggleNoFills() {} static class Message msg; // size: 0x8, address: 0x80977590 static class Message send_solo_hit; // size: 0x8, address: 0x809775A8 // Range: 0x8006D1CC -> 0x8006D5C0 void GemPlayer::HandleSoloGem(class GemPlayer * const this /* r28 */, int gem_id /* r27 */, unsigned char hit /* r29 */, unsigned char solo_button /* r30 */) { // Local variables float percentage; // r1+0x1C int num_hittable; // r1+0x18 const class vector & gems; // r0 // References // -> static class Message send_solo_hit; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class SongDB * TheSongDB; } class GameGemInfo { // total size: 0x1 unsigned char mPlayed; // offset 0x0, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GameGemInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GameGemInfo * _M_start; // offset 0x0, size 0x4 class GameGemInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8006D5C0 -> 0x8006D804 unsigned char GemPlayer::GetSoloData(class GemPlayer * const this /* r22 */, int tick /* r7 */, float & percentage /* r23 */, int & num_hittable /* r24 */) { // Local variables int phrase_start; // r1+0xC int phrase_end; // r1+0x8 int first_gem; // [invalid] unsigned char separate_parts; // r0 int num_hit; // r27 int player_slot; // r26 const class vector & gems; // r0 const class vector & gem_infos; // r0 int i; // r25 // References // -> class GameMode * TheGameMode; // -> class SongDB * TheSongDB; } // Range: 0x8006D804 -> 0x8006D874 void GemPlayer::LocalSoloStart(class GemPlayer * const this /* r31 */) { // Local variables class BandTrack * track; // r0 } // Range: 0x8006D874 -> 0x8006D8B0 void GemPlayer::LocalSoloHit(int percentage /* r31 */) { // Local variables class BandTrack * track; // r0 } static class Message send_solo_end; // size: 0x8, address: 0x809775C0 // Range: 0x8006D8B0 -> 0x8006DBBC void GemPlayer::SoloEnd(class GemPlayer * const this /* r31 */) { // Local variables float percentage; // r1+0x14 int num_hittable; // r1+0x10 // References // -> static class Message send_solo_end; // -> struct [anonymous] __vt__7Message; } // Range: 0x8006DBBC -> 0x8006DCCC void GemPlayer::LocalSoloEnd(class GemPlayer * const this /* r28 */, int percentage /* r29 */, int num_gems /* r30 */) { // Local variables int points_per_gem; // r1+0x14 class Symbol result; // r1+0x10 int points; // r30 // References // -> class Scoring * TheScoring; // -> const char * gNullStr; // -> class GameMode * TheGameMode; } static class Message msg; // size: 0x8, address: 0x809775D8 // Range: 0x8006DCCC -> 0x8006DF3C void GemPlayer::SetGuitarFx(class GemPlayer * const this /* r30 */) { // Local variables int pos; // r31 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class GameConfig * TheGameConfig; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x8006DF3C -> 0x8006DFB8 void GemPlayer::LocalSetGuitarFx(class GemPlayer * const this /* r31 */) { // Local variables int oldPos; // r5 } // Range: 0x8006DFB8 -> 0x8006DFE0 void GemPlayer::HandleCommonPhraseNote(class GemPlayer * const this /* r8 */, int hit /* r7 */) {} static class Message msg; // size: 0x8, address: 0x809775F0 // Range: 0x8006DFE0 -> 0x8006E244 void GemPlayer::SendWhammyBar(class GemPlayer * const this /* r31 */, float val /* f31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8006E244 -> 0x8006E3A0 unsigned char GemPlayer::AllCodaGemsHit(const class GemPlayer * const this /* r30 */) { // Local variables int coda_start_tick; // r0 const class GameGemList & gems; // r0 int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } // Range: 0x8006E3A0 -> 0x8006E448 unsigned char GemPlayer::GetCodaFreestyleExtents(const class GemPlayer * const this /* r29 */, struct Extent & extent /* r30 */) { // Local variables int coda_start_tick; // r0 class DrumFillInfo * fill_info; // r0 // References // -> class SongDB * TheSongDB; } // Range: 0x8006E448 -> 0x8006E4CC void GemPlayer::CodaHit(class GemPlayer * const this /* r29 */, int gem_id /* r30 */) {} // Range: 0x8006E4CC -> 0x8006E544 void GemPlayer::PrintMsg(class GemPlayer * const this /* r30 */, const char * msg /* r31 */) { // Local variables const char * fullMsg; // r31 // References // -> class Debug TheDebug; } // Range: 0x8006E544 -> 0x8006E5FC void GemPlayer::PrintFinishHeldNote(class GemPlayer * const this /* r31 */) { // Local variables char multstr[5]; // r1+0x8 int numSlots; // r5 float tailFrac; // f1 } // Range: 0x8006E5FC -> 0x8006E6B4 void GemPlayer::PrintAddHead(class GemPlayer * const this /* r26 */, int error /* r27 */, int points /* r28 */, int avgError /* r29 */, int midTermError /* r30 */, enum HitType type /* r31 */) { // Local variables char multstr[5]; // r1+0x8 const char * hitstr; // r0 // References // -> class Scoring * TheScoring; } // Range: 0x8006E6B4 -> 0x8006E824 void GemPlayer::ConfigureBehavior(class GemPlayer * const this /* r28 */) { // Local variables unsigned char starPowerEnabled; // r0 unsigned char singleplayer; // r0 enum TrackType track_type; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; } // Range: 0x8006E824 -> 0x8006E84C unsigned char GemPlayer::SoloActive() {} // Range: 0x8006E84C -> 0x8006E8CC void GemPlayer::SetTargetGhostScore(class GemPlayer * const this /* r31 */, float target_score /* f31 */) { // Local variables int num_gems; // r0 // References // -> class SongDB * TheSongDB; } // Range: 0x8006E8CC -> 0x8006E8F0 void GemPlayer::EnableController() {} // Range: 0x8006E8F0 -> 0x8006E8F4 void GemPlayer::DisableController() {} static class Symbol _s; // size: 0x4, address: 0x80A499A0 static class Symbol _s; // size: 0x4, address: 0x80A499A8 static class Symbol _s; // size: 0x4, address: 0x80A499B0 static class Symbol _s; // size: 0x4, address: 0x80A499B8 static class Symbol _s; // size: 0x4, address: 0x80A499C0 static class Symbol _s; // size: 0x4, address: 0x80A499C8 static class Symbol _s; // size: 0x4, address: 0x80A499D0 static class Symbol _s; // size: 0x4, address: 0x80A499D8 static class Symbol _s; // size: 0x4, address: 0x80A499E0 static class Symbol _s; // size: 0x4, address: 0x80A499E8 static class Symbol _s; // size: 0x4, address: 0x80A499F0 static class Symbol _s; // size: 0x4, address: 0x80A499F8 static class Symbol _s; // size: 0x4, address: 0x80A49A00 static class Symbol _s; // size: 0x4, address: 0x80A49A08 static class Symbol _s; // size: 0x4, address: 0x80A49A10 static class Symbol _s; // size: 0x4, address: 0x80A49A18 static class Symbol _s; // size: 0x4, address: 0x80A49A20 static class Symbol _s; // size: 0x4, address: 0x80A49A28 static class Symbol _s; // size: 0x4, address: 0x80A49A30 static class Symbol _s; // size: 0x4, address: 0x80A49A38 static class Symbol _s; // size: 0x4, address: 0x80A49A40 static class Symbol _s; // size: 0x4, address: 0x80A49A48 static class Symbol _s; // size: 0x4, address: 0x80A49A50 static class Symbol _s; // size: 0x4, address: 0x80A49A58 static class Symbol _s; // size: 0x4, address: 0x80A49A60 static class Symbol _s; // size: 0x4, address: 0x80A49A68 static class Symbol _s; // size: 0x4, address: 0x80A49A70 static class Symbol _s; // size: 0x4, address: 0x80A49A78 static class Symbol _s; // size: 0x4, address: 0x80A49A80 static class Symbol _s; // size: 0x4, address: 0x80A49A88 static class Symbol _s; // size: 0x4, address: 0x80A49A90 static class Symbol _s; // size: 0x4, address: 0x80A49A98 static class Symbol _s; // size: 0x4, address: 0x80A49AA0 static class Symbol _s; // size: 0x4, address: 0x80A49AA8 static class Symbol _s; // size: 0x4, address: 0x80A49AB0 static class Symbol _s; // size: 0x4, address: 0x80A49AB8 static class Symbol _s; // size: 0x4, address: 0x80A49AC0 static class Symbol _s; // size: 0x4, address: 0x80A49AC8 static class Symbol _s; // size: 0x4, address: 0x80A49AD0 static class Symbol _s; // size: 0x4, address: 0x80A49AD8 static class Symbol _s; // size: 0x4, address: 0x80A49AE0 static class Symbol _s; // size: 0x4, address: 0x80A49AE8 static class Symbol _s; // size: 0x4, address: 0x80A49AF0 static class Symbol _s; // size: 0x4, address: 0x80A49AF8 static class Symbol _s; // size: 0x4, address: 0x80A49B00 static class Symbol _s; // size: 0x4, address: 0x80A49B08 static class Symbol _s; // size: 0x4, address: 0x80A49B10 static class Symbol _s; // size: 0x4, address: 0x80A49B18 // Range: 0x8006E8F4 -> 0x8006FEE8 class DataNode GemPlayer::Handle(class GemPlayer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x1C class MessageTimer _mt; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class SongDB * TheSongDB; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } class TrackWatcherParent { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class BeatMatchControllerSink { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TrackWatcher * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TrackWatcher * * _M_start; // offset 0x0, size 0x4 class TrackWatcher * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PhraseCatcher * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PhraseCatcher * * _M_start; // offset 0x0, size 0x4 class PhraseCatcher * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BarFinder * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BarFinder * * _M_start; // offset 0x0, size 0x4 class BarFinder * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PhraseFinder * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PhraseFinder * * _M_start; // offset 0x0, size 0x4 class PhraseFinder * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PhraseCapturer * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PhraseCapturer * * _M_start; // offset 0x0, size 0x4 class PhraseCapturer * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum BeatmatchTrackType { kDrums = 0, kGuitar = 1, kVocals = 2, kMisc = 3, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: enum BeatmatchTrackType * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: enum BeatmatchTrackType * _M_start; // offset 0x0, size 0x4 enum BeatmatchTrackType * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BeatMatcher : public TrackWatcherParent, public BeatMatchControllerSink { // total size: 0xD8 unsigned char mWaitingForAudio; // offset 0x8, size 0x1 int mPlayerNum; // offset 0xC, size 0x4 int mPlayerSlot; // offset 0x10, size 0x4 int mNumPlayers; // offset 0x14, size 0x4 class Symbol mControllerType; // offset 0x18, size 0x4 class SongData * mSongData; // offset 0x1C, size 0x4 class DataArray * mCfg; // offset 0x20, size 0x4 class DataArray * mSongCfg; // offset 0x24, size 0x4 class BeatMatchSink * mSink; // offset 0x28, size 0x4 class MasterAudio * mAudio; // offset 0x2C, size 0x4 class BeatMatchController * mController; // offset 0x30, size 0x4 class MercurySwitchFilter * mMercurySwitchFilter; // offset 0x34, size 0x4 class vector mWatchers; // offset 0x38, size 0xC class vector mCatchers; // offset 0x44, size 0xC class vector mBarFinders; // offset 0x50, size 0xC class vector mPhraseFinders; // offset 0x5C, size 0xC class vector mPhraseCapturers; // offset 0x68, size 0xC class vector mTrackTypes; // offset 0x74, size 0xC class DrumPlayer * mDrumPlayer; // offset 0x80, size 0x4 int mCurTrack; // offset 0x84, size 0x4 unsigned char mEnabled; // offset 0x88, size 0x1 class SongPos mSongPos; // offset 0x8C, size 0x14 float mNow; // offset 0xA0, size 0x4 int mTick; // offset 0xA4, size 0x4 float mLastSwing; // offset 0xA8, size 0x4 float mLastReleaseSwing; // offset 0xAC, size 0x4 unsigned char mLastDirection; // offset 0xB0, size 0x1 int mLastVelocityBucket; // offset 0xB4, size 0x4 float mRawMercurySwitchState; // offset 0xB8, size 0x4 unsigned char mMercurySwitchState; // offset 0xBC, size 0x1 unsigned char mForceMercurySwitch; // offset 0xBD, size 0x1 float mSyncOffset; // offset 0xC0, size 0x4 unsigned char mDrivingPitchBendExternally; // offset 0xC4, size 0x1 int mFillStartTick; // offset 0xC8, size 0x4 int mCodaStartTick; // offset 0xCC, size 0x4 unsigned char mInCoda; // offset 0xD0, size 0x1 unsigned char mCheating; // offset 0xD1, size 0x1 unsigned char mForceFill; // offset 0xD2, size 0x1 unsigned char mNoFills; // offset 0xD3, size 0x1 unsigned char mFillAudio; // offset 0xD4, size 0x1 unsigned char mEnableWhammy; // offset 0xD5, size 0x1 }; struct { // total size: 0x8 } __RTTI__14StandardStream; // size: 0x8, address: 0x80876A08 class FxSendEQ : public FxSend { // total size: 0x6C protected: float mHighFreqCutoff; // offset 0x50, size 0x4 float mHighFreqGain; // offset 0x54, size 0x4 float mMidFreqCutoff; // offset 0x58, size 0x4 float mMidFreqBandwidth; // offset 0x5C, size 0x4 float mMidFreqGain; // offset 0x60, size 0x4 float mLowFreqCutoff; // offset 0x64, size 0x4 float mLowFreqGain; // offset 0x68, size 0x4 }; struct { // total size: 0x2A8 } __vt__9GemPlayer; // size: 0x2A8, address: 0x80876A10 struct { // total size: 0x8 } __RTTI__8FxSendEQ; // size: 0x8, address: 0x80876D88 struct { // total size: 0x8 } __RTTI__16FxSendPitchShift; // size: 0x8, address: 0x80876DC0 struct { // total size: 0x8 } __RTTI__6Stream; // size: 0x8, address: 0x80876DD0 struct { // total size: 0x68 } __vt__13BeatMatchSink; // size: 0x68, address: 0x80876DD8 struct { // total size: 0x8 } __RTTI__6FxSend; // size: 0x8, address: 0x80876F10 struct { // total size: 0x8 } __RTTI__PUc; // size: 0x8, address: 0x80876FE8 struct _OKToMemCpy { // total size: 0x1 }; struct BeatData { // total size: 0x24 class Symbol mName; // offset 0x0, size 0x4 int mStartTick; // offset 0x4, size 0x4 int mEndTick; // offset 0x8, size 0x4 float mTrackSpeed; // offset 0xC, size 0x4 int mFillStartTick; // offset 0x10, size 0x4 int mFillEndTick; // offset 0x14, size 0x4 int mNumNotes; // offset 0x18, size 0x4 int mNumFillNotes; // offset 0x1C, size 0x4 unsigned char mDisco; // offset 0x20, size 0x1 unsigned char mTom; // offset 0x21, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BeatData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BeatData * _M_start; // offset 0x0, size 0x4 struct BeatData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct TabData { // total size: 0xC unsigned char mKick; // offset 0x0, size 0x1 float mFrame; // offset 0x4, size 0x4 int mSlot; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TabData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TabData * _M_start; // offset 0x0, size 0x4 struct TabData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class DrumTrainerPanel : public UIPanel { // total size: 0xDC int mWritePos; // offset 0x30, size 0x4 int mBeatIndex; // offset 0x34, size 0x4 int mBeat; // offset 0x38, size 0x4 int mBPM; // offset 0x3C, size 0x4 unsigned char mMetronomeState; // offset 0x40, size 0x1 unsigned char mRenderBeatMask; // offset 0x41, size 0x1 int mEndBeatMaskTick; // offset 0x44, size 0x4 int mDelayedMaskAdd; // offset 0x48, size 0x4 int mHasBeats; // offset 0x4C, size 0x4 int mUpdateScoreTick; // offset 0x50, size 0x4 int mUpdateScoreGem; // offset 0x54, size 0x4 int mFirstGemTick; // offset 0x58, size 0x4 class vector mBeatData; // offset 0x5C, size 0xC class RndGroup * mTabKickGroup; // offset 0x68, size 0x4 class RndGroup * mTabNoteGroup; // offset 0x6C, size 0x4 class RndAnimatable * mTabColorAnim; // offset 0x70, size 0x4 class RndAnimatable * mTabInfoAnim; // offset 0x74, size 0x4 class RndAnimatable * mTabLaneAnim; // offset 0x78, size 0x4 class RndAnimatable * mTabKickTimeAnim; // offset 0x7C, size 0x4 class RndAnimatable * mTabNoteTimeAnim; // offset 0x80, size 0x4 class RndAnimatable * mFlipAnim; // offset 0x84, size 0x4 class vector mTabData; // offset 0x88, size 0xC float mTrackSpeedModifier0; // offset 0x94, size 0x4 float mTrackSpeedModifier1; // offset 0x98, size 0x4 class MultiTempoTempoMap * mTempoMap; // offset 0x9C, size 0x4 class GemTrack * mTrack; // offset 0xA0, size 0x4 class GemManager * mGemManager; // offset 0xA4, size 0x4 class GemPlayer * mGemPlayer; // offset 0xA8, size 0x4 class DrumFillInfo * mFillInfo; // offset 0xAC, size 0x4 }; struct AXFX_BUS { // total size: 0xC long * left; // offset 0x0, size 0x4 long * right; // offset 0x4, size 0x4 long * surround; // offset 0x8, size 0x4 }; struct AXFX_REVERBHI_EXP { // total size: 0x148 float * earlyLine[3]; // offset 0x0, size 0xC unsigned long earlyPos[3]; // offset 0xC, size 0xC unsigned long earlyLength; // offset 0x18, size 0x4 unsigned long earlyMaxLength; // offset 0x1C, size 0x4 float earlyCoef[3]; // offset 0x20, size 0xC float * preDelayLine[3]; // offset 0x2C, size 0xC unsigned long preDelayPos; // offset 0x38, size 0x4 unsigned long preDelayLength; // offset 0x3C, size 0x4 unsigned long preDelayMaxLength; // offset 0x40, size 0x4 float * combLine[3][3]; // offset 0x44, size 0x24 unsigned long combPos[3]; // offset 0x68, size 0xC unsigned long combLength[3]; // offset 0x74, size 0xC unsigned long combMaxLength[3]; // offset 0x80, size 0xC float combCoef[3]; // offset 0x8C, size 0xC float * allpassLine[3][2]; // offset 0x98, size 0x18 unsigned long allpassPos[2]; // offset 0xB0, size 0x8 unsigned long allpassLength[2]; // offset 0xB8, size 0x8 unsigned long allpassMaxLength[2]; // offset 0xC0, size 0x8 float * lastAllpassLine[3]; // offset 0xC8, size 0xC unsigned long lastAllpassPos[3]; // offset 0xD4, size 0xC unsigned long lastAllpassLength[3]; // offset 0xE0, size 0xC unsigned long lastAllpassMaxLength[3]; // offset 0xEC, size 0xC float allpassCoef; // offset 0xF8, size 0x4 float lastLpfOut[3]; // offset 0xFC, size 0xC float lpfCoef; // offset 0x108, size 0x4 unsigned long active; // offset 0x10C, size 0x4 unsigned long earlyMode; // offset 0x110, size 0x4 float preDelayTimeMax; // offset 0x114, size 0x4 float preDelayTime; // offset 0x118, size 0x4 unsigned long fusedMode; // offset 0x11C, size 0x4 float fusedTime; // offset 0x120, size 0x4 float coloration; // offset 0x124, size 0x4 float damping; // offset 0x128, size 0x4 float crosstalk; // offset 0x12C, size 0x4 float earlyGain; // offset 0x130, size 0x4 float fusedGain; // offset 0x134, size 0x4 struct AXFX_BUS * busIn; // offset 0x138, size 0x4 struct AXFX_BUS * busOut; // offset 0x13C, size 0x4 float outGain; // offset 0x140, size 0x4 float sendGain; // offset 0x144, size 0x4 }; struct AXFX_REVERBHI { // total size: 0x160 struct AXFX_REVERBHI_EXP reverbInner; // offset 0x0, size 0x148 float coloration; // offset 0x148, size 0x4 float mix; // offset 0x14C, size 0x4 float time; // offset 0x150, size 0x4 float damping; // offset 0x154, size 0x4 float preDelay; // offset 0x158, size 0x4 float crosstalk; // offset 0x15C, size 0x4 }; struct AXFX_DELAY { // total size: 0x64 long * line[3]; // offset 0x0, size 0xC unsigned long curPos[3]; // offset 0xC, size 0xC unsigned long length[3]; // offset 0x18, size 0xC long feedbackGain[3]; // offset 0x24, size 0xC long outGain[3]; // offset 0x30, size 0xC unsigned long active; // offset 0x3C, size 0x4 unsigned long delay[3]; // offset 0x40, size 0xC unsigned long feedback[3]; // offset 0x4C, size 0xC unsigned long output[3]; // offset 0x58, size 0xC }; struct AXFX_CHORUS_EXP_DELAY { // total size: 0x20 float * line[3]; // offset 0x0, size 0xC unsigned long inPos; // offset 0xC, size 0x4 unsigned long outPos; // offset 0x10, size 0x4 unsigned long lastPos; // offset 0x14, size 0x4 unsigned long sizeFP; // offset 0x18, size 0x4 unsigned long size; // offset 0x1C, size 0x4 }; struct AXFX_CHORUS_EXP_LFO { // total size: 0x28 long * table; // offset 0x0, size 0x4 long phaseAdd; // offset 0x4, size 0x4 long stepSamp; // offset 0x8, size 0x4 long depthSamp; // offset 0xC, size 0x4 unsigned long phase; // offset 0x10, size 0x4 unsigned long sign; // offset 0x14, size 0x4 unsigned long lastNum; // offset 0x18, size 0x4 long lastValue; // offset 0x1C, size 0x4 long grad; // offset 0x20, size 0x4 long gradFactor; // offset 0x24, size 0x4 }; struct AXFX_CHORUS_EXP { // total size: 0xA0 struct AXFX_CHORUS_EXP_DELAY delay; // offset 0x0, size 0x20 struct AXFX_CHORUS_EXP_LFO lfo; // offset 0x20, size 0x28 float history[3][4]; // offset 0x48, size 0x30 unsigned long histIndex; // offset 0x78, size 0x4 unsigned long active; // offset 0x7C, size 0x4 float delayTime; // offset 0x80, size 0x4 float depth; // offset 0x84, size 0x4 float rate; // offset 0x88, size 0x4 float feedback; // offset 0x8C, size 0x4 struct AXFX_BUS * busIn; // offset 0x90, size 0x4 struct AXFX_BUS * busOut; // offset 0x94, size 0x4 float outGain; // offset 0x98, size 0x4 float sendGain; // offset 0x9C, size 0x4 }; struct AXFX_CHORUS { // total size: 0xAC struct AXFX_CHORUS_EXP chorusInner; // offset 0x0, size 0xA0 unsigned long baseDelay; // offset 0xA0, size 0x4 unsigned long variation; // offset 0xA4, size 0x4 unsigned long period; // offset 0xA8, size 0x4 }; class WiiFX { // total size: 0x3B4 class DataArray * FXconfig; // offset 0x0, size 0x4 struct AXFX_REVERBHI reverbSetting; // offset 0x4, size 0x160 struct AXFX_DELAY delaySetting; // offset 0x164, size 0x64 struct AXFX_CHORUS chorusSetting; // offset 0x1C8, size 0xAC struct AXFX_CHORUS_EXP flangerSetting; // offset 0x274, size 0xA0 struct AXFX_CHORUS_EXP wahSetting; // offset 0x314, size 0xA0 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8006FEE8 -> 0x80070480 */ // Range: 0x8006FEE8 -> 0x8006FFB4 void GemPlayer::OnRefreshTrackButtons(class GemPlayer * const this /* r29 */) { // Local variables unsigned int fret_buttons; // r0 int slot; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8006FFB4 -> 0x80070190 void GemPlayer::ResetController(class GemPlayer * const this /* r31 */, unsigned char disable /* r26 */) { // Local variables class Symbol new_controller_type; // r1+0x1C class GameplayOptions * options; // r28 unsigned char lefty; // r27 class DataArray * controllerConfig; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; } // Range: 0x80070190 -> 0x80070480 void GemPlayer::UpdateCrowdMeter(class GemPlayer * const this /* r31 */, float noteScore /* f30 */, int gem_id /* r27 */) { // Local variables float weight; // f31 int in_common_phrase; // r0 const class GameGem & gem; // r0 const class TickedInfoCollection * submixes; // r0 const char * mix; // r4 class DataArray * weights; // r27 float scale; // f0 // References // -> class Scoring * TheScoring; // -> class SongDB * TheSongDB; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070480 -> 0x8007049C */ // Range: 0x80070480 -> 0x80070498 unsigned long vector::size() {} // Range: 0x80070498 -> 0x8007049C class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007049C -> 0x80070660 */ // Range: 0x8007049C -> 0x800704FC char * MakeString(const char * fmt /* r0 */, int t1 /* r31 */, float t2 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800704FC -> 0x8007055C char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8007055C -> 0x800705D0 char * MakeString(const char * fmt /* r0 */, char * t1 /* r31 */, float t2 /* f30 */, float t3 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800705D0 -> 0x80070660 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r26 */, char * t2 /* r27 */, int t3 /* r28 */, int t4 /* r29 */, int t5 /* r30 */, int t6 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070660 -> 0x800706F0 */ // Range: 0x80070660 -> 0x800706F0 class TickedInfo * __upper_bound(const class TickedInfo * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(class TickedInfo &) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class TickedInfo * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800706F0 -> 0x80070828 */ // Range: 0x800706F0 -> 0x80070708 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchSink.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070828 -> 0x80070870 */ // Range: 0x80070828 -> 0x80070868 void * BeatMatchSink::~BeatMatchSink(class BeatMatchSink * const this /* r31 */) {} // Range: 0x80070868 -> 0x80070870 int BeatMatchSink::GetNewTrack() {} /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchController.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070870 -> 0x80070934 */ // Range: 0x80070870 -> 0x800708CC void * BeatMatchController::~BeatMatchController(class BeatMatchController * const this /* r30 */) {} // Range: 0x80070928 -> 0x80070930 unsigned char BeatMatchController::IsAlternateMapping() {} // Range: 0x80070930 -> 0x80070934 void BeatMatchController::UseAlternateMapping() {} /* Compile unit: C:\rockband2\system\src\synth\Stream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070934 -> 0x80070938 */ // Range: 0x80070934 -> 0x80070938 void Stream::SetFXSend() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070938 -> 0x800709E8 */ // Range: 0x80070938 -> 0x80070990 struct _List_iterator find() {} // Range: 0x80070990 -> 0x800709E8 struct _List_iterator find() {} /* Compile unit: C:\rockband2\band2\src\game\GemStatus.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800709E8 -> 0x80070A88 */ // Range: 0x800709E8 -> 0x80070A88 float GemStatus::GetNotesHitFraction() { // Local variables int misses; // r5 int hits; // r6 int i; // r7 } /* Compile unit: C:\rockband2\system\src\beatmatch\TickedInfo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070A88 -> 0x80070AA4 */ // Range: 0x80070A88 -> 0x80070AA4 unsigned char TickedInfoCollection::Cmp() {} /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatcher.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070AA4 -> 0x80070AAC */ // Range: 0x80070AA4 -> 0x80070AAC void BeatMatcher::SetFillAudio() {} /* Compile unit: C:\rockband2\band2\src\game\GemPlayer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070AAC -> 0x80070AEC */ // Range: 0x80070AAC -> 0x80070AB0 void GemPlayer::PlayGem() {} // Range: 0x80070AB0 -> 0x80070AB4 void GemPlayer::Capture() {} // Range: 0x80070AB4 -> 0x80070AB8 void GemPlayer::Capturing() {} // Range: 0x80070AB8 -> 0x80070ABC void GemPlayer::ChangeTrack() {} // Range: 0x80070ABC -> 0x80070AC0 void GemPlayer::SetCurrentPhrase() {} // Range: 0x80070AC0 -> 0x80070AC4 void GemPlayer::NoCurrentPhrase() {} // Range: 0x80070AC4 -> 0x80070ACC int GemPlayer::GetNewTrack() {} // Range: 0x80070ACC -> 0x80070AD4 unsigned char GemPlayer::InFill() {} // Range: 0x80070AD4 -> 0x80070ADC int GemPlayer::GetCodaPoints() {} // Range: 0x80070ADC -> 0x80070AE4 unsigned char GemPlayer::AreFillsForced() {} // Range: 0x80070AE4 -> 0x80070AEC int GemPlayer::CodaScore() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070AEC -> 0x80070DE0 */ // Range: 0x80070AEC -> 0x80070B50 void vector::_M_fill_insert() {} // Range: 0x80070B50 -> 0x80070C68 void vector::_M_insert_overflow(class vector * const this /* r30 */, unsigned char * __pos /* r31 */, const unsigned char & __x /* r24 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r25 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r26 unsigned char * __new_finish; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80070C68 -> 0x80070DE0 void vector::_M_fill_insert_aux(class vector * const this /* r29 */, unsigned char * __pos /* r30 */, unsigned long __n /* r27 */, const unsigned char & __x /* r31 */) { // Local variables unsigned char __x_copy; // r1+0x2C unsigned long __elems_after; // r25 } /* Compile unit: C:\rockband2\band2\src\game\GuitarFx.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80070DE0 -> 0x800718C8 */ // Range: 0x80070DE0 -> 0x80070E8C void * GuitarFx::GuitarFx(class GuitarFx * const this /* r30 */, enum TrackType inst /* r31 */) { // References // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__8GuitarFx; } // Range: 0x80070E8C -> 0x800710C0 void * GuitarFx::~GuitarFx(class GuitarFx * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class FxSend * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; class FxParamAutoLock { // total size: 0x1 }; // Range: 0x800710C0 -> 0x800713FC class FxSend * GuitarFx::GetFxSend() { // Local variables class ObjDirItr itr; // r1+0x18 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } // Range: 0x800713FC -> 0x800714C8 class DataNode GuitarFx::OnMidiParser(class GuitarFx * const this /* r30 */, class DataArray * msg /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } static class Symbol _s; // size: 0x4, address: 0x80A49B24 // Range: 0x800714C8 -> 0x800718C8 class DataNode GuitarFx::Handle(class GuitarFx * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__8GuitarFx; // size: 0x54, address: 0x808772D8 struct { // total size: 0x8 } __RTTI__8GuitarFx; // size: 0x8, address: 0x80877350 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800718C8 -> 0x80072580 */ // Range: 0x800718C8 -> 0x80071D68 void GuitarFx::Load(class GuitarFx * const this /* r31 */, class DataArray * fx_cfg /* r30 */) { // Local variables const char * file; // r29 class FilePath p; // r1+0x1C // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; } // Range: 0x80071D68 -> 0x80072580 void GuitarFx::PostLoad(class GuitarFx * const this /* r29 */) { // Local variables int nEffectsFound; // r30 class ObjDirItr itr; // r1+0x24 class DataArray * fxOverrideData; // r26 int i; // r25 // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __RTTI__6FxSend; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80072580 -> 0x800726F0 */ // Range: 0x80072580 -> 0x800726F0 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } /* Compile unit: C:\rockband2\system\src\synth\FxSend.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800726F0 -> 0x800726F8 */ // Range: 0x800726F0 -> 0x800726F8 unsigned char FxSend::CanPushParameters() {} /* Compile unit: C:\rockband2\band2\src\game\HeldNote.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800726F8 -> 0x80072A50 */ // Range: 0x800726F8 -> 0x80072720 void * HeldNote::HeldNote() {} // Range: 0x80072720 -> 0x800727A4 void * HeldNote::HeldNote(class HeldNote * const this /* r28 */, enum TrackType type /* r29 */) { // Local variables int numSlots; // r0 // References // -> class Scoring * TheScoring; } // Range: 0x800727A4 -> 0x800727E4 unsigned char HeldNote::IsDone() {} // Range: 0x800727E4 -> 0x800729A4 float HeldNote::SetHoldTime(class HeldNote * const this /* r30 */, float ms /* f30 */) { // Local variables float held; // f30 float total; // f0 float fraction; // f30 float points; // f2 float newPoints; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800729A4 -> 0x80072A50 float HeldNote::GetPointFraction(class HeldNote * const this /* r31 */) { // Local variables int head; // r5 float tail; // f1 int possible; // r7 // References // -> class Debug TheDebug; // -> class Scoring * TheScoring; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80072A50 -> 0x80072B28 */ // Range: 0x80072A50 -> 0x80072AB4 class GameGem & HeldNote::GetGem(class HeldNote * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80072AB4 -> 0x80072B28 char * MakeString(const char * fmt /* r0 */, enum TrackType t1 /* r29 */, int t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\game\MultiplayerAnalyzer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80072B28 -> 0x80073B2C */ class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class MidiReceiver * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class MidiReceiver * * _M_start; // offset 0x0, size 0x4 class MidiReceiver * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct PartInfo { // total size: 0x14 class Symbol part; // offset 0x0, size 0x4 class Symbol mode; // offset 0x4, size 0x4 class Symbol instrument; // offset 0x8, size 0x4 class Symbol original_name; // offset 0xC, size 0x4 enum BeatmatchTrackType type; // offset 0x10, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct PartInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct PartInfo * _M_start; // offset 0x0, size 0x4 struct PartInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct GemInProgress { // total size: 0xC int mTick; // offset 0x0, size 0x4 int mNoStrum; // offset 0x4, size 0x4 int mPlayers; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct GemInProgress * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct GemInProgress * _M_start; // offset 0x0, size 0x4 struct GemInProgress * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class DifficultyInfo { // total size: 0x20 public: class vector mGemsInProgress; // offset 0x0, size 0xC unsigned char mActivePlayers; // offset 0xC, size 0x1 int mForceHopoOnStart; // offset 0x10, size 0x4 int mForceHopoOnEnd; // offset 0x14, size 0x4 int mForceHopoOffStart; // offset 0x18, size 0x4 int mForceHopoOffEnd; // offset 0x1C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DifficultyInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DifficultyInfo * _M_start; // offset 0x0, size 0x4 class DifficultyInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum /* @enum$9069MultiplayerAnalyzer_cpp */ { kIgnore = 0, kGems = 1, kVocalNotes = 2, kBeat = 3, }; enum ReadingState { kReadingBeat = 0, kReadingNonParts = 1, kReadingParts = 2, kDoneReading = 3, }; class SongParser : public MidiReceiver { // total size: 0x138 int mNumSlots; // offset 0x8, size 0x4 int mPlayerSlot; // offset 0xC, size 0x4 int mLowVocalPitch; // offset 0x10, size 0x4 int mHighVocalPitch; // offset 0x14, size 0x4 class TempoMap * & mTempoMap; // offset 0x18, size 0x4 class MeasureMap * & mMeasureMap; // offset 0x1C, size 0x4 class MidiReader * mMidiReader; // offset 0x20, size 0x4 class BinStream * mFile; // offset 0x24, size 0x4 const char * mFilename; // offset 0x28, size 0x4 class vector mReceivers; // offset 0x2C, size 0xC class InternalSongParserSink & mSink; // offset 0x38, size 0x4 class DataArray * mTracks; // offset 0x3C, size 0x4 class DataArray * mTrackNameMapping; // offset 0x40, size 0x4 int mNumPlayers; // offset 0x44, size 0x4 int mNumDifficulties; // offset 0x48, size 0x4 int mTrack; // offset 0x4C, size 0x4 int mCurTrackIndex; // offset 0x50, size 0x4 class vector mParts; // offset 0x54, size 0xC class vector mDifficultyInfos; // offset 0x60, size 0xC int mCommonPhraseInProgress; // offset 0x6C, size 0x4 int mSoloPhraseInProgress; // offset 0x70, size 0x4 int mDrumFillInProgress; // offset 0x74, size 0x4 int mPlayerFocusInProgress[2]; // offset 0x78, size 0x8 enum /* @enum$9069MultiplayerAnalyzer_cpp */ { kIgnore = 0, kGems = 1, kVocalNotes = 2, kBeat = 3, } mState; // offset 0x80, size 0x4 class Symbol mTrackName; // offset 0x84, size 0x4 int mCurrentFillLanes; // offset 0x88, size 0x4 unsigned char mSeparateParts; // offset 0x8C, size 0x1 unsigned char mIgnoreGemDurations; // offset 0x8D, size 0x1 class list mDrumStyleInstruments; // offset 0x90, size 0x8 class list mVocalStyleInstruments; // offset 0x98, size 0x8 unsigned char mDrumStyleGems; // offset 0xA0, size 0x1 unsigned char mForceDrumStyleGems; // offset 0xA1, size 0x1 int mSectionStartTick; // offset 0xA4, size 0x4 int mSectionEndTick; // offset 0xA8, size 0x4 class vector mTrackNames; // offset 0xAC, size 0xC class Symbol mPartSuffix; // offset 0xB8, size 0x4 unsigned char mLyricPitchSet; // offset 0xBC, size 0x1 unsigned char mLyricTextSet; // offset 0xBD, size 0x1 unsigned char mLyricBends; // offset 0xBE, size 0x1 int mNextLyricTextTick; // offset 0xC0, size 0x4 class String mNextLyric; // offset 0xC4, size 0xC class VocalNote mCurVocalNote; // offset 0xD0, size 0x30 class VocalNote mPrevVocalNote; // offset 0x100, size 0x30 enum ReadingState mReadingState; // offset 0x130, size 0x4 int mPartToReadIdx; // offset 0x134, size 0x4 }; class MultiplayerAnalyzer : public SongParserSink { // total size: 0x60 const char * mName; // offset 0x4, size 0x4 class SongData * mSongData; // offset 0x8, size 0x4 int mMaxStreakMultiplier; // offset 0xC, size 0x4 int mHeadScore; // offset 0x10, size 0x4 int mTailScore; // offset 0x14, size 0x4 class vector mMaxScoresWithStreak; // offset 0x18, size 0xC class vector mMaxScores; // offset 0x24, size 0xC class vector mBonusScores; // offset 0x30, size 0xC class vector mEqualBonusScores; // offset 0x3C, size 0xC class vector mGemScoreVectors; // offset 0x48, size 0xC class PlayerTrackConfigList * mConfig; // offset 0x54, size 0x4 int mNumPlayers; // offset 0x58, size 0x4 int mNumActivePlayers; // offset 0x5C, size 0x4 }; enum NoStrumState { kForceOn = 0, kForceOff = 1, kDefault = 2, }; class MultiGemInfo { // total size: 0x24 public: int track; // offset 0x0, size 0x4 int slots; // offset 0x4, size 0x4 float ms; // offset 0x8, size 0x4 float duration_ms; // offset 0xC, size 0x4 int tick; // offset 0x10, size 0x4 int duration_ticks; // offset 0x14, size 0x4 unsigned char ignore_duration; // offset 0x18, size 0x1 int players; // offset 0x1C, size 0x4 enum NoStrumState no_strum; // offset 0x20, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class vector * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class vector * * _M_start; // offset 0x0, size 0x4 class vector * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80072B28 -> 0x80072B64 void MultiplayerAnalyzer::PostLoad(class MultiplayerAnalyzer * const this /* r31 */) {} // Range: 0x80072B64 -> 0x80072DD4 void MultiplayerAnalyzer::Configure(class MultiplayerAnalyzer * const this /* r30 */, class PlayerTrackConfigList * config_list /* r31 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class StlNodeAlloc { // total size: 0x1 }; struct GemScore { // total size: 0x8 int mTick; // offset 0x0, size 0x4 float mPoints; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct GemScore * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct GemScore * _M_start; // offset 0x0, size 0x4 struct GemScore * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x80072DD4 -> 0x80072E94 float MultiplayerAnalyzer::GetNormalizationFactor(const class MultiplayerAnalyzer * const this /* r30 */) { // Local variables int p0; // r0 int p1; // r0 float s0; // f2 float s1; // f1 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80072E94 -> 0x80072EA4 float MultiplayerAnalyzer::GetMaxPoints() {} // Range: 0x80072EA4 -> 0x80072EB4 float MultiplayerAnalyzer::GetMaxStreakPoints() {} // Range: 0x80072EB4 -> 0x80072ED0 float MultiplayerAnalyzer::GetBonusPoints() {} // Range: 0x80072ED0 -> 0x80072FE0 void MultiplayerAnalyzer::CorrectBasePoints(class MultiplayerAnalyzer * const this /* r31 */, int player /* r27 */, int baseMax /* r28 */, int baseMaxWithStreak /* r29 */, int baseBonus /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80072FE0 -> 0x8007310C void MultiplayerAnalyzer::AddTrack(class MultiplayerAnalyzer * const this /* r27 */, class Symbol & instrument /* r28 */) { // Local variables class DataArray * arr; // r29 // References // -> const char * gNullStr; } // Range: 0x8007310C -> 0x80073310 void MultiplayerAnalyzer::AddMultiGem(class MultiplayerAnalyzer * const this /* r27 */, int track /* r28 */, const class GameGem & gem /* r29 */) { // Local variables unsigned char separate_parts; // r0 int player; // r30 int player_slot; // r0 int head_score; // r26 float tail_score; // f0 float score; // f0 // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } // Range: 0x80073310 -> 0x800733C4 void MultiplayerAnalyzer::AddSolo(class MultiplayerAnalyzer * const this /* r29 */, int num_solo_gems /* r30 */, int player /* r31 */) { // Local variables int points_per_gem; // r1+0x10 class Symbol result; // r1+0xC // References // -> class Scoring * TheScoring; // -> const char * gNullStr; } // Range: 0x800733C4 -> 0x800735D4 void MultiplayerAnalyzer::AddGuitarSolos(class MultiplayerAnalyzer * const this /* r23 */) { // Local variables unsigned char separate_parts; // r0 int player; // r28 int track; // r27 class GameGemList & gems; // r0 int num_gems; // r26 int player_slot; // r0 int num_solo_gems; // r25 int g; // r24 // References // -> class SongDB * TheSongDB; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } // Range: 0x800735D4 -> 0x800736CC void MultiplayerAnalyzer::GetCodaExtents(class MultiplayerAnalyzer * const this /* r28 */, int player /* r31 */, int & start /* r29 */, int & end /* r30 */) { // Local variables int coda_start; // r0 class DrumFillInfo * fill_info; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } // Range: 0x800736CC -> 0x8007390C void MultiplayerAnalyzer::AddGems(class MultiplayerAnalyzer * const this /* r29 */) { // Local variables int player; // r31 int num_gems; // r30 int start; // r1+0x24 int end; // r1+0x20 class vector * gems; // r3 int g; // r4 int tick; // r5 int multiplier; // r9 int i; // r30 } // Range: 0x8007390C -> 0x80073B2C void MultiplayerAnalyzer::AddCodas(class MultiplayerAnalyzer * const this /* r27 */) { // Local variables class DataArray * coda_cfg; // r23 float coda_point_rate; // f0 int coda_start; // r0 int player; // r29 class DrumFillInfo * fill_info; // r0 const class vector & fills; // r0 int f; // r28 float start_ms; // f0 float end_ms; // f0 float length_ms; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } struct { // total size: 0x1C } __vt__19MultiplayerAnalyzer; // size: 0x1C, address: 0x80877674 struct { // total size: 0x8 } __RTTI__19MultiplayerAnalyzer; // size: 0x8, address: 0x808776B0 struct { // total size: 0x1C } __vt__14SongParserSink; // size: 0x1C, address: 0x808776B8 struct { // total size: 0x8 } __RTTI__14SongParserSink; // size: 0x8, address: 0x808776E8 class vector : protected _Vector_base { // total size: 0xC }; struct { // total size: 0x8 } __RTTI__PPQ211stlpmtx_std104vector>; // size: 0x8, address: 0x80877760 struct { // total size: 0x8 } __RTTI__PQ219MultiplayerAnalyzer8GemScore; // size: 0x8, address: 0x80877788 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80073B2C -> 0x80073C54 */ // Range: 0x80073B2C -> 0x80073B9C void * MultiplayerAnalyzer::MultiplayerAnalyzer() { // References // -> struct [anonymous] __vt__19MultiplayerAnalyzer; } // Range: 0x80073B9C -> 0x80073C54 int MultiplayerAnalyzer::TotalBasePoints(const class MultiplayerAnalyzer * const this /* r28 */) { // Local variables int total_score; // r31 int i; // r30 int score; // r29 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\beatmatch\SongParserSink.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80073C54 -> 0x80073C98 */ // Range: 0x80073C54 -> 0x80073C94 void * SongParserSink::~SongParserSink(class SongParserSink * const this /* r31 */) {} // Range: 0x80073C94 -> 0x80073C98 void SongParserSink::SetNumTracks() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80073E00 -> 0x80073E9C */ // Range: 0x80073E00 -> 0x80073E9C char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, float t2 /* f29 */, float t3 /* f30 */, float t4 /* f31 */, int t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\game\MultiplayerAnalyzer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80073E9C -> 0x80073EA0 */ // Range: 0x80073E9C -> 0x80073EA0 void MultiplayerAnalyzer::AddPhrase() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80073EA0 -> 0x800741C4 */ // Range: 0x80073EA0 -> 0x80073FD8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class vector * * __pos /* r28 */, class vector * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class vector * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std104vector>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80073FD8 -> 0x800741C4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct GemScore * __pos /* r26 */, const struct GemScore & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct GemScore * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ219MultiplayerAnalyzer8GemScore; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\Performer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800741C4 -> 0x80076284 */ // Range: 0x800741C4 -> 0x80074360 void * Performer::Performer(class Performer * const this /* r28 */, class BandUser * config /* r29 */, class Band * group /* r30 */, int player_num /* r31 */) { // References // -> class BandUserMgr * TheBandUserMgr; // -> class GameConfig * TheGameConfig; // -> struct [anonymous] __vt__9Performer; } // Range: 0x80074360 -> 0x80074418 void * Performer::~Performer(class Performer * const this /* r30 */) { // References // -> struct [anonymous] __vt__9Performer; } // Range: 0x80074418 -> 0x80074434 int Performer::GetScore() {} // Range: 0x80074434 -> 0x8007443C int Performer::GetMultiplier() {} // Range: 0x8007443C -> 0x80074444 int Performer::GetCurrentStreak() {} // Range: 0x80074444 -> 0x80074450 float Performer::GetCrowdRating() {} // Range: 0x80074450 -> 0x8007445C float Performer::GetCrowdWarningLevel() {} // Range: 0x8007445C -> 0x80074468 float Performer::GetRawCrowdRating() {} // Range: 0x80074468 -> 0x800744B8 unsigned char Performer::IsInCrowdWarning() { // References // -> class GameConfig * TheGameConfig; } // Range: 0x800744B8 -> 0x800744C0 int Performer::GetTotalHits() {} // Range: 0x800744C0 -> 0x800744C8 float Performer::PollMs() {} // Range: 0x800744C8 -> 0x8007450C float Performer::GetCrowdBoost() {} // Range: 0x8007450C -> 0x80074514 unsigned char Performer::CanStreak() {} // Range: 0x80074514 -> 0x80074570 float Performer::GetFractionComplete(const class Performer * const this /* r31 */) { // References // -> class SongDB * TheSongDB; } // Range: 0x80074570 -> 0x800745E0 int Performer::GetPercentComplete() {} // Range: 0x800745E0 -> 0x80074618 class Symbol Performer::GetStarRating() { // References // -> class Scoring * TheScoring; } // Range: 0x80074618 -> 0x800746E4 void Performer::Restart(class Performer * const this /* r30 */) {} // Range: 0x800746E4 -> 0x80074884 void Performer::Poll(class Performer * const this /* r29 */, float ms /* f30 */, const class SongPos & pos /* r30 */) { // Local variables float song_duration_ms; // f0 unsigned char canWin; // r31 // References // -> class Game * TheGame; // -> class TaskMgr TheTaskMgr; // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } // Range: 0x80074884 -> 0x8007488C void Performer::SetCrowdMeterActive() {} // Range: 0x8007488C -> 0x800748FC void Performer::UpdateScore(class Performer * const this /* r30 */, int score /* r31 */) {} // Range: 0x800748FC -> 0x8007492C void Performer::ForceScore() {} // Range: 0x8007492C -> 0x80074970 void Performer::FinalizeStats(class Performer * const this /* r31 */) {} // Range: 0x80074970 -> 0x80074A3C void Performer::SendRemoteStats(class Performer * const this /* r22 */, int playerNum /* r23 */) { // Local variables class PlayerStatsMsg msg; // r1+0x18 // References // -> class Net TheNet; } // Range: 0x80074A3C -> 0x80074B30 void Performer::SetStats(class Performer * const this /* r30 */, int deployCount /* r12 */, int score /* r11 */, int soloPercentage /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80074B30 -> 0x80074BD8 void Performer::AddPoints(class Performer * const this /* r31 */, float points /* r1+0x8 */) { // Local variables int multiplier; // r3 float add_points; // f1 } // Range: 0x80074BD8 -> 0x80074BE0 void Performer::Hit() {} // Range: 0x80074BE0 -> 0x80074C34 void Performer::BuildStreak(class Performer * const this /* r31 */) {} // Range: 0x80074C34 -> 0x80074C88 void Performer::EndStreak(class Performer * const this /* r31 */) {} static class Message msg; // size: 0x8, address: 0x80977608 // Range: 0x80074C88 -> 0x80074E34 void Performer::SendStreak(class Performer * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80074E34 -> 0x80074E3C void Performer::SetStreak() {} // Range: 0x80074E3C -> 0x80074E94 void Performer::SetRemoteStreak(class Performer * const this /* r30 */, int streak /* r31 */) {} // Range: 0x80074E94 -> 0x80074F48 void Performer::CheckGameWon(class Performer * const this /* r31 */) { // Local variables class vector & players; // r0 int i; // r5 // References // -> class Game * TheGame; // -> class GameMode * TheGameMode; } // Range: 0x80074F48 -> 0x80074FA4 void Performer::TrulyWinGame(class Performer * const this /* r31 */) { // References // -> class GamePanel * TheGamePanel; // -> class GameConfig * TheGameConfig; } static class Message msg; // size: 0x8, address: 0x80977620 // Range: 0x80074FA4 -> 0x80075138 void Performer::WinGame(class Performer * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x80075138 -> 0x80075194 void Performer::ForceStars(class Performer * const this /* r31 */) {} // Range: 0x80075194 -> 0x800752BC unsigned char Performer::LoseGame(class Performer * const this /* r31 */) { // References // -> class GameConfig * TheGameConfig; // -> class GamePanel * TheGamePanel; // -> class GameMode * TheGameMode; // -> class Game * TheGame; } // Range: 0x800752BC -> 0x800752CC void Performer::SetLost() {} // Range: 0x800752CC -> 0x800752D4 void Performer::RemoteUpdateCrowd() {} // Range: 0x800752D4 -> 0x80075334 float Performer::GetPartialStreakFraction(const class Performer * const this /* r31 */) { // References // -> class Scoring * TheScoring; } // Range: 0x80075334 -> 0x80075370 int Performer::GetNotesPerStreak() { // References // -> class Scoring * TheScoring; } static class Symbol _s; // size: 0x4, address: 0x80A49B2C static class Symbol _s; // size: 0x4, address: 0x80A49B34 static class Symbol _s; // size: 0x4, address: 0x80A49B3C static class Symbol _s; // size: 0x4, address: 0x80A49B44 static class Symbol _s; // size: 0x4, address: 0x80A49B4C static class Symbol _s; // size: 0x4, address: 0x80A49B54 static class Symbol _s; // size: 0x4, address: 0x80A49B5C static class Symbol _s; // size: 0x4, address: 0x80A49B64 static class Symbol _s; // size: 0x4, address: 0x80A49B6C static class Symbol _s; // size: 0x4, address: 0x80A49B74 static class Symbol _s; // size: 0x4, address: 0x80A49B7C static class Symbol _s; // size: 0x4, address: 0x80A49B84 static class Symbol _s; // size: 0x4, address: 0x80A49B8C static class Symbol _s; // size: 0x4, address: 0x80A49B94 static class Symbol _s; // size: 0x4, address: 0x80A49B9C static class Symbol _s; // size: 0x4, address: 0x80A49BA4 static class Symbol _s; // size: 0x4, address: 0x80A49BAC static class Symbol _s; // size: 0x4, address: 0x80A49BB4 static class Symbol _s; // size: 0x4, address: 0x80A49BBC static class Symbol _s; // size: 0x4, address: 0x80A49BC4 static class Symbol _s; // size: 0x4, address: 0x80A49BCC static class Symbol _s; // size: 0x4, address: 0x80A49BD4 static class Symbol _s; // size: 0x4, address: 0x80A49BDC static class Symbol _s; // size: 0x4, address: 0x80A49BE4 static class Symbol _s; // size: 0x4, address: 0x80A49BEC static class Symbol _s; // size: 0x4, address: 0x80A49BF4 static class Symbol _s; // size: 0x4, address: 0x80A49BFC static class Symbol _s; // size: 0x4, address: 0x80A49C04 static class Symbol _s; // size: 0x4, address: 0x80A49C0C static class Symbol _s; // size: 0x4, address: 0x80A49C14 static class Symbol _s; // size: 0x4, address: 0x80A49C1C static class Symbol _s; // size: 0x4, address: 0x80A49C24 static class Symbol _s; // size: 0x4, address: 0x80A49C2C static class Symbol _s; // size: 0x4, address: 0x80A49C34 static class Symbol _s; // size: 0x4, address: 0x80A49C3C static class Symbol _s; // size: 0x4, address: 0x80A49C44 // Range: 0x80075370 -> 0x80076284 class DataNode Performer::Handle(class Performer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x14 class MessageTimer _mt; // r1+0x20 class DataNode _n; // r1+0x18 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xE0 } __vt__9Performer; // size: 0xE0, address: 0x80877AF0 /* Compile unit: C:\rockband2\band2\src\game\CrowdRating.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80076284 -> 0x800762A4 */ // Range: 0x80076284 -> 0x8007628C float CrowdRating::GetValue() {} // Range: 0x8007628C -> 0x80076294 float CrowdRating::GetRawValue() {} // Range: 0x80076294 -> 0x8007629C float CrowdRating::GetMinValue() {} // Range: 0x8007629C -> 0x800762A4 unsigned char CrowdRating::IsActive() {} /* Compile unit: C:\rockband2\band2\src\game\Stats.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800762A4 -> 0x80076344 */ // Range: 0x800762A4 -> 0x800762AC int Stats::GetCurrentStreak() {} // Range: 0x800762AC -> 0x800762B4 int Stats::GetTotal() {} // Range: 0x800762B4 -> 0x800762BC float Stats::GetNotesHitFraction() {} // Range: 0x800762BC -> 0x800762C4 unsigned char Stats::GetFailedDeploy() {} // Range: 0x800762C4 -> 0x800762CC int Stats::GetSavedCount() {} // Range: 0x800762CC -> 0x800762D4 int Stats::GetFillHitCount() {} // Range: 0x800762D4 -> 0x800762DC unsigned char Stats::GetStrummedDown() {} // Range: 0x800762DC -> 0x800762E4 unsigned char Stats::GetStrummedUp() {} // Range: 0x800762E4 -> 0x800762EC int Stats::GetDeployCount() {} // Range: 0x800762EC -> 0x800762F4 int Stats::GetSoloPercentage() {} // Range: 0x80076334 -> 0x8007633C unsigned char Stats::GetPerfectSoloWithSoloButtons() {} // Range: 0x8007633C -> 0x80076344 int Stats::GetFinalized() {} /* Compile unit: C:\rockband2\band2\src\game\Performer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80076344 -> 0x80076384 */ // Range: 0x80076344 -> 0x8007634C int Performer::GetScoreForStars() {} // Range: 0x8007634C -> 0x8007637C class Symbol Performer::GetStreakType() {} // Range: 0x8007637C -> 0x80076384 class Band * Performer::GetBand() {} /* Compile unit: C:\rockband2\band2\src\game\Player.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800763AC -> 0x8007B6B8 */ struct PlayerParams { // total size: 0x24 float mCrowdSaveLevel; // offset 0x0, size 0x4 float mMsToReturnFromBrink; // offset 0x4, size 0x4 float mCrowdLossPerMs; // offset 0x8, size 0x4 float mEnergyDrainRate; // offset 0xC, size 0x4 float mEnergyDeployBonus; // offset 0x10, size 0x4 float mSpotlightPhraseBonus; // offset 0x14, size 0x4 float mDeployThreshold; // offset 0x18, size 0x4 float mSaveEnergy; // offset 0x1C, size 0x4 float mDisablePauseMs; // offset 0x20, size 0x4 }; // Range: 0x800763AC -> 0x80076530 void * Player::~Player(class Player * const this /* r30 */) { // References // -> class NetSession * TheNetSession; // -> struct [anonymous] __vt__6Player; } // Range: 0x80076530 -> 0x80076694 void Player::Restart(class Player * const this /* r31 */) {} // Range: 0x80076694 -> 0x80076728 void Player::Poll(class Player * const this /* r30 */, float ms /* f31 */, const class SongPos & pos /* r31 */) { // References // -> class SongDB * TheSongDB; // -> class GamePanel * TheGamePanel; } // Range: 0x80076728 -> 0x800767A0 void Player::PollMultiplier(class Player * const this /* r30 */) { // Local variables int new_mult; // r31 class BandTrack * bandTrack; // r0 // References // -> class GameMode * TheGameMode; } // Range: 0x800767A0 -> 0x800768F0 void Player::PollEnabledState(class Player * const this /* r31 */) { // Local variables class BandTrack * track; // r0 float drain_rate; // f31 class BandTrack * track; // r0 // References // -> class Game * TheGame; } // Range: 0x800768F0 -> 0x800769BC void Player::AddPoints(class Player * const this /* r28 */, float points /* f31 */, unsigned char apply_multiplier /* r29 */, unsigned char apply_streak /* r30 */, unsigned char normalize /* r31 */) { // Local variables float normalization_factor; // f1 float add_points; // f1 // References // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } static class Message msg; // size: 0x8, address: 0x80977638 // Range: 0x800769BC -> 0x80076B80 void Player::BroadcastScore(class Player * const this /* r31 */) { // Local variables float now; // f0 float ms_since_score_sent; // f1 int delta_since_score_sent; // r0 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x80076B80 -> 0x80076C0C void Player::EnterCoda(class Player * const this /* r31 */) {} // Range: 0x80076C0C -> 0x80076CB8 void Player::AddBonusPoints(class Player * const this /* r30 */, int points /* r31 */) { // Local variables float normalization_factor; // f1 // References // -> class Game * TheGame; // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } // Range: 0x80076CB8 -> 0x80076D18 unsigned char Player::CanPause(class Player * const this /* r31 */) { // References // -> class SongDB * TheSongDB; } // Range: 0x80076D18 -> 0x80076DA0 int Player::GetAccumulatedScore(const class Player * const this /* r31 */) { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80076DA0 -> 0x80076E28 float Player::GetTotalStars(const class Player * const this /* r31 */) { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80076E28 -> 0x80076E30 int Player::GetLongestStreak() {} static class Message msg; // size: 0x8, address: 0x80977650 // Range: 0x80076E30 -> 0x800771F0 void Player::SetEnabledState(class Player * const this /* r28 */, enum EnabledState state /* r29 */, int causer /* r30 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800771F0 -> 0x800772B4 enum EnabledState Player::GetEnabledStateAt(const class Player * const this /* r31 */) { // Local variables int tick; // r0 int i; // r5 } // Range: 0x800772B4 -> 0x8007733C void Player::SendHitMsg(int streak /* r30 */, int score /* r31 */, float crowd /* f31 */) { // Local variables class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } // Range: 0x8007737C -> 0x80077404 void Player::SendPenalizeMsg(int streak /* r30 */, int score /* r31 */, float crowd /* f31 */) { // Local variables class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } // Range: 0x80077404 -> 0x80077474 void Player::SendUpdateCrowdMsg(float crowd /* f31 */) { // Local variables class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } // Range: 0x80077474 -> 0x800774E4 void Player::SendFillHitMsg(int slot /* r29 */, int numfillswings /* r30 */, int incoda /* r31 */) { // Local variables class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } // Range: 0x800774E4 -> 0x80077548 void Player::SendHitLastUnisonGemMsg(int phrase /* r30 */, int track /* r31 */) { // Local variables class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } // Range: 0x80077548 -> 0x800775AC void Player::SendFailUnisonPhraseMsg(int phrase /* r30 */, int track /* r31 */) { // Local variables class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } static class Message msg; // size: 0x8, address: 0x80977668 static class Message enable_player; // size: 0x8, address: 0x80977680 static class Message save_player; // size: 0x8, address: 0x80977698 // Range: 0x800775AC -> 0x80077D70 void Player::LocalSetEnabledState(class Player * const this /* r26 */, enum EnabledState state /* r27 */, int tick /* r29 */, int causer /* r28 */) { // Local variables class vector & players; // r0 class Player * * it; // r25 struct Extent e; // r1+0x78 int phraseId; // r29 const class GameGemList & gemList; // r27 int gemId; // r25 struct Extent ext; // r1+0x70 // References // -> static class Message save_player; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; // -> class GamePanel * TheGamePanel; // -> static class Message enable_player; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Game * TheGame; } // Range: 0x80077D70 -> 0x80077DE0 unsigned char Player::Saveable() {} // Range: 0x80077DE0 -> 0x80077DF8 void Player::Save() {} // Range: 0x80077DF8 -> 0x80077E1C float GetPlayerPan() {} static class Message player_failed; // size: 0x8, address: 0x809776B0 static class Message disable_player; // size: 0x8, address: 0x809776C8 // Range: 0x80077E1C -> 0x800782D0 void Player::DisablePlayer(class Player * const this /* r29 */, int strikes /* r26 */) { // Local variables const char * sfxName; // r27 float pan; // f2 class BandTrack * track; // r0 // References // -> static class Message disable_player; // -> class WorldDir * TheWorld; // -> static class Message player_failed; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Synth * TheSynth; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800782D0 -> 0x80078338 int Player::UserNum(const class Player * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80078338 -> 0x800783A0 int Player::GetSlot(const class Player * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800783A0 -> 0x800783A8 unsigned char Player::IsNet() {} // Range: 0x800783A8 -> 0x80078408 int Player::GetMultiplier(const class Player * const this /* r30 */) {} // Range: 0x80078408 -> 0x8007845C unsigned char Player::CanDeployStarPower() { // References // -> class GameMode * TheGameMode; } static class Message hit; // size: 0x8, address: 0x809776E0 // Range: 0x8007845C -> 0x8007865C void Player::Hit(class Player * const this /* r31 */) { // Local variables char buffer[7]; // r1+0x30 // References // -> class GamePanel * TheGamePanel; // -> static class Message hit; // -> struct [anonymous] __vt__7Message; } // Range: 0x8007865C -> 0x80078664 unsigned char Player::IsDeployingBandEnergy() {} // Range: 0x80078664 -> 0x80078754 void Player::StopDeployingBandEnergy(class Player * const this /* r30 */, unsigned char playerFailed /* r31 */) { // Local variables const char * sfxName; // r0 class BandTrack * track; // r0 // References // -> class Synth * TheSynth; } // Range: 0x80078754 -> 0x80078760 void Player::DisablePhraseBonus() {} // Range: 0x80078760 -> 0x8007876C void Player::EnablePhraseBonus() {} // Range: 0x8007876C -> 0x8007878C float Player::SpotlightPhraseBonus() {} // Range: 0x8007878C -> 0x800787C0 void Player::CompleteCommonPhrase(class Player * const this /* r31 */) {} // Range: 0x800787C0 -> 0x8007882C int Player::GetIndividualMultiplier(const class Player * const this /* r31 */) { // Local variables int mult; // r1+0x14 // References // -> class Scoring * TheScoring; } // Range: 0x8007882C -> 0x80078838 int Player::GetMaxIndividualMultipler() {} // Range: 0x80078838 -> 0x800788C8 int Player::GetNumStars(const class Player * const this /* r29 */) { // References // -> class Scoring * TheScoring; } // Range: 0x800788C8 -> 0x80078968 float Player::GetNumStarsFloat(const class Player * const this /* r28 */, unsigned char enforce_diff_restrictions /* r29 */) { // References // -> class Scoring * TheScoring; } // Range: 0x80078968 -> 0x800789F8 int Player::GetScoreForStars(const class Player * const this /* r28 */, int numStars /* r29 */) { // References // -> class Scoring * TheScoring; } // Range: 0x800789F8 -> 0x80078A68 void Player::SavePersistentData(const class Player * const this /* r30 */, class PersistentPlayerData & data /* r31 */) {} // Range: 0x80078A68 -> 0x80078AF4 void Player::LoadPersistentData(class Player * const this /* r30 */, const class PersistentPlayerData & data /* r31 */) {} static class Message msg; // size: 0x8, address: 0x809776F8 // Range: 0x80078AF4 -> 0x80078E44 unsigned char Player::DeployBandEnergyIfPossible(class Player * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; // -> class Debug TheDebug; } // Range: 0x80078E44 -> 0x80078EB4 int Player::LocalDeployBandEnergy(class Player * const this /* r30 */) { // Local variables int num_saved; // r31 } // Range: 0x80078EB4 -> 0x80078F48 void Player::PerformDeployBandEnergy(class Player * const this /* r30 */, int num_saved /* r31 */) {} static class Symbol deploy; // size: 0x4, address: 0x80A49C54 static class Message deployMsg; // size: 0x8, address: 0x80977710 // Range: 0x80078F48 -> 0x8007916C void Player::Deploy(class Player * const this /* r31 */) { // Local variables class BandTrack * track; // r0 // References // -> static class Message deployMsg; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; // -> static class Symbol deploy; // -> class Synth * TheSynth; } // Range: 0x8007916C -> 0x8007918C void Player::RemoteAlreadySaved() {} // Range: 0x8007918C -> 0x800791E0 void Player::PopupHelp(class Symbol & help /* r30 */, unsigned char state /* r31 */) { // Local variables class BandTrack * track; // r0 } // Range: 0x800791E0 -> 0x8007922C void Player::AddEnergy() {} // Range: 0x8007922C -> 0x80079238 class Symbol Player::GetStreakType() {} // Range: 0x80079238 -> 0x80079368 void Player::UpdateEnergy(class Player * const this /* r30 */, const class SongPos & pos /* r31 */) { // Local variables float cur_beat; // f0 float last_beat; // f0 float beat_diff; // f1 // References // -> class GameMode * TheGameMode; // -> class TaskMgr TheTaskMgr; } // Range: 0x80079368 -> 0x800793B4 void Player::SubtractEnergy() {} static class Message msg; // size: 0x8, address: 0x80977728 // Range: 0x800793B4 -> 0x80079758 void Player::SetEnergy(class Player * const this /* r31 */, float val /* f30 */) { // Local variables float old_energy; // f31 unsigned char energy_increasing; // r30 float now; // f0 float ms_since_energy_sent; // f1 class Message setEnergyMsg; // r1+0x40 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; } static class Symbol ready; // size: 0x4, address: 0x80A49C5C static class Symbol none; // size: 0x4, address: 0x80A49C64 // Range: 0x80079758 -> 0x80079900 void Player::SetEnergyAutomatically(class Player * const this /* r29 */, float val /* f31 */) { // Local variables unsigned char oldCanDeploy; // r0 class BandTrack * track; // r0 float threshold; // f0 // References // -> static class Symbol none; // -> static class Symbol ready; } // Range: 0x80079900 -> 0x80079904 void Player::SetEnergyFromNet() {} // Range: 0x80079904 -> 0x8007997C unsigned char Player::ShouldDrainEnergy(const class Player * const this /* r30 */) { // Local variables int slot; // r31 // References // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } // Range: 0x8007997C -> 0x80079B3C void Player::CheckCrowdFailure(class Player * const this /* r30 */) { // Local variables int DisabledCount; // r31 class vector & players; // r0 int i; // r5 // References // -> class Game * TheGame; // -> class ModifierMgr * TheModifierMgr; // -> class GameMode * TheGameMode; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80079B3C -> 0x80079BCC class DataNode Player::OnMsg(class Player * const this /* r30 */) { // References // -> class GameMode * TheGameMode; } // Range: 0x80079BCC -> 0x80079C90 void Player::EnterDisconnectedState(class Player * const this /* r30 */) { // Local variables int leaderNum; // r31 // References // -> class Game * TheGame; // -> class NetSession * TheNetSession; // -> class SessionMgr * TheSessionMgr; } // Range: 0x80079C90 -> 0x80079CB8 class BandTrack * Player::GetBandTrack() {} // Range: 0x80079CB8 -> 0x80079CDC void Player::UnisonMiss() {} static class Message msg; // size: 0x8, address: 0x80977740 static class Message unisonHitMsg; // size: 0x8, address: 0x80977758 // Range: 0x80079CDC -> 0x8007A02C void Player::UnisonHit(class Player * const this /* r29 */) { // Local variables class BandTrack * trackDir; // r0 // References // -> static class Message unisonHitMsg; // -> class GameMode * TheGameMode; // -> class TaskMgr TheTaskMgr; // -> class Synth * TheSynth; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8007A02C -> 0x8007A158 class DataNode Player::OnSendNetGameplayMsg(class Player * const this /* r25 */, class DataArray * msg /* r26 */) { // Local variables enum PacketType type; // r30 int arg1; // r29 int arg2; // r28 int arg3; // r27 class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } // Range: 0x8007A158 -> 0x8007A2A0 class DataNode Player::OnSendNetGameplayMsgToPlayer(class Player * const this /* r24 */, class DataArray * msg /* r25 */) { // Local variables enum PacketType type; // r29 int arg1; // r28 int arg2; // r27 int arg3; // r26 class PlayerGameplayMsg gameplayMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } // Range: 0x8007A2A0 -> 0x8007A2FC class DataNode Player::OnGetOverdriveMeter() { // Local variables class BandTrack * track; // r0 } static class Symbol _s; // size: 0x4, address: 0x80A49C6C static class Symbol _s; // size: 0x4, address: 0x80A49C74 static class Symbol _s; // size: 0x4, address: 0x80A49C7C static class Symbol _s; // size: 0x4, address: 0x80A49C84 static class Symbol _s; // size: 0x4, address: 0x80A49C8C static class Symbol _s; // size: 0x4, address: 0x80A49C94 static class Symbol _s; // size: 0x4, address: 0x80A49C9C static class Symbol _s; // size: 0x4, address: 0x80A49CA4 static class Symbol _s; // size: 0x4, address: 0x80A49CAC static class Symbol _s; // size: 0x4, address: 0x80A49CB4 static class Symbol _s; // size: 0x4, address: 0x80A49CBC static class Symbol _s; // size: 0x4, address: 0x80A49CC4 static class Symbol _s; // size: 0x4, address: 0x80A49CCC static class Symbol _s; // size: 0x4, address: 0x80A49CD4 static class Symbol _s; // size: 0x4, address: 0x80A49CDC static class Symbol _s; // size: 0x4, address: 0x80A49CE4 static class Symbol _s; // size: 0x4, address: 0x80A49CEC static class Symbol _s; // size: 0x4, address: 0x80A49CF4 static class Symbol _s; // size: 0x4, address: 0x80A49CFC static class Symbol _s; // size: 0x4, address: 0x80A49D04 static class Symbol _s; // size: 0x4, address: 0x80A49D0C static class Symbol _s; // size: 0x4, address: 0x80A49D14 static class Symbol _s; // size: 0x4, address: 0x80A49D1C static class Symbol _s; // size: 0x4, address: 0x80A49D24 static class Symbol _s; // size: 0x4, address: 0x80A49D2C static class Symbol _s; // size: 0x4, address: 0x80A49D34 static class Symbol _s; // size: 0x4, address: 0x80A49D3C static class Symbol _s; // size: 0x4, address: 0x80A49D44 static class Symbol _s; // size: 0x4, address: 0x80A49D4C static class Symbol _s; // size: 0x4, address: 0x80A49D54 static class Symbol _s; // size: 0x4, address: 0x80A49D5C static class Symbol _s; // size: 0x4, address: 0x80A49D64 static class Symbol _s; // size: 0x4, address: 0x80A49D6C static class Symbol _s; // size: 0x4, address: 0x80A49D74 static class Symbol _s; // size: 0x4, address: 0x80A49D7C static class Symbol _s; // size: 0x4, address: 0x80A49D84 static class Symbol _s; // size: 0x4, address: 0x80A49D8C static class Symbol _s; // size: 0x4, address: 0x80A49D94 static class Symbol _s; // size: 0x4, address: 0x80A49D9C static class Symbol _s; // size: 0x4, address: 0x80A49DA4 static class Symbol _s; // size: 0x4, address: 0x80A49DAC static class Symbol _s; // size: 0x4, address: 0x80A49DB4 // Range: 0x8007A2FC -> 0x8007B6B8 class DataNode Player::Handle(class Player * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Game * TheGame; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x1E4 } __vt__6Player; // size: 0x1E4, address: 0x80878130 class TimeSigChange { // total size: 0x10 public: int mMeasure; // offset 0x0, size 0x4 int mNum; // offset 0x4, size 0x4 int mDenom; // offset 0x8, size 0x4 int mTick; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TimeSigChange * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TimeSigChange * _M_start; // offset 0x0, size 0x4 class TimeSigChange * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class MeasureMap { // total size: 0xC class vector mTimeSigChanges; // offset 0x0, size 0xC }; /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007B6B8 -> 0x8007BC78 */ // Range: 0x8007B6B8 -> 0x8007BC78 void * Player::Player(class Player * const this /* r28 */, class BandUser * user /* r29 */, class Band * group /* r30 */, int player_num /* r25 */, int track_num /* r31 */) { // References // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> struct [anonymous] __vt__6Player; // -> struct [anonymous] __vt__9MsgSource; } /* Compile unit: C:\rockband2\band2\src\game\BandUser.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007BC78 -> 0x8007BC80 */ // Range: 0x8007BC78 -> 0x8007BC80 class Track * BandUser::GetTrack() {} /* Compile unit: C:\rockband2\band2\src\game\Player.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007BC80 -> 0x8007BC88 */ // Range: 0x8007BC80 -> 0x8007BC88 class BandUser * Player::User() {} /* Compile unit: C:\rockband2\band2\src\game\PlayerBehavior.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007BCA4 -> 0x8007BD4C */ // Range: 0x8007BCA4 -> 0x8007BD08 void * PlayerBehavior::PlayerBehavior(class PlayerBehavior * const this /* r31 */) {} // Range: 0x8007BD08 -> 0x8007BD10 void PlayerBehavior::SetCanDeployStarPower() {} // Range: 0x8007BD10 -> 0x8007BD18 void PlayerBehavior::SetTiltDeploysBandEnergy() {} // Range: 0x8007BD18 -> 0x8007BD20 void PlayerBehavior::SetFillsDeployBandEnergy() {} // Range: 0x8007BD20 -> 0x8007BD28 void PlayerBehavior::SetRequireAllCodaLanes() {} // Range: 0x8007BD28 -> 0x8007BD34 void PlayerBehavior::SetStreakType() {} // Range: 0x8007BD34 -> 0x8007BD3C void PlayerBehavior::SetMaxMultiplier() {} // Range: 0x8007BD3C -> 0x8007BD44 void PlayerBehavior::SetCanFreestyleBeforeGems() {} // Range: 0x8007BD44 -> 0x8007BD4C void PlayerBehavior::SetHasSolos() {} /* Compile unit: C:\rockband2\band2\src\game\NetGameMsgs.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007BD4C -> 0x8007E028 */ struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // size: 0x8, address: 0x80878648 // Range: 0x8007BD4C -> 0x8007BDF8 void PlayerGameplayMsg::Save(const class PlayerGameplayMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8007BDF8 -> 0x8007BE8C void PlayerGameplayMsg::Load(class PlayerGameplayMsg * const this /* r30 */, class BinStream & src /* r31 */) { // Local variables unsigned char playerNum; // r1+0x9 unsigned char opCode; // r1+0x8 } static class Symbol incoming_msg; // size: 0x4, address: 0x80A49DBC static class Message gameplayMsg; // size: 0x8, address: 0x80977770 // Range: 0x8007BE8C -> 0x8007C418 void PlayerGameplayMsg::Dispatch(class PlayerGameplayMsg * const this /* r30 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> class ObjectDir * sMainDir; // -> static class Message gameplayMsg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol incoming_msg; } static class DataArrayPtr restart; // size: 0x8, address: 0x80977788 // Range: 0x8007C418 -> 0x8007C538 void RestartGameMsg::Dispatch() { // References // -> static class DataArrayPtr restart; // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x8007C538 -> 0x8007C548 void LoadAllCharsMsg::Dispatch() { // References // -> class GameConfig * TheGameConfig; } // Range: 0x8007C548 -> 0x8007C5B0 void * PlayerStatsMsg::PlayerStatsMsg(unsigned char strummedUp /* r30 */, int deployCount /* r31 */, int score /* r12 */, int soloPercentage /* r0 */) { // References // -> struct [anonymous] __vt__14PlayerStatsMsg; } // Range: 0x8007C5B0 -> 0x8007C704 void PlayerStatsMsg::Save(const class PlayerStatsMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8007C704 -> 0x8007C834 void PlayerStatsMsg::Load(class PlayerStatsMsg * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x8007C834 -> 0x8007C8A4 void PlayerStatsMsg::Dispatch(class PlayerStatsMsg * const this /* r31 */) { // References // -> class GameConfig * TheGameConfig; } // Range: 0x8007C8A4 -> 0x8007C8F0 void * SetPlayerTrackTypeMsg::SetPlayerTrackTypeMsg(class SetPlayerTrackTypeMsg * const this /* r31 */, int playerNum /* r0 */) { // References // -> struct [anonymous] __vt__21SetPlayerTrackTypeMsg; } // Range: 0x8007C8F0 -> 0x8007C948 void SetPlayerTrackTypeMsg::Save(const class SetPlayerTrackTypeMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8007C948 -> 0x8007C998 void SetPlayerTrackTypeMsg::Load(class SetPlayerTrackTypeMsg * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x8007C998 -> 0x8007CA28 void SetPlayerTrackTypeMsg::Dispatch(class SetPlayerTrackTypeMsg * const this /* r31 */) { // Local variables class Symbol type; // r1+0xC // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; } // Range: 0x8007CA28 -> 0x8007CA74 void * SetPlayerDifficultyMsg::SetPlayerDifficultyMsg(class SetPlayerDifficultyMsg * const this /* r31 */, int playerNum /* r0 */) { // References // -> struct [anonymous] __vt__22SetPlayerDifficultyMsg; } // Range: 0x8007CA74 -> 0x8007CACC void SetPlayerDifficultyMsg::Save(const class SetPlayerDifficultyMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8007CACC -> 0x8007CB1C void SetPlayerDifficultyMsg::Load(class SetPlayerDifficultyMsg * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x8007CB1C -> 0x8007CBAC void SetPlayerDifficultyMsg::Dispatch(class SetPlayerDifficultyMsg * const this /* r31 */) { // Local variables class Symbol diff; // r1+0xC // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; } // Range: 0x8007CBAC -> 0x8007CBC4 void * ReassignPlayerTrackTypeMsg::ReassignPlayerTrackTypeMsg() { // References // -> struct [anonymous] __vt__26ReassignPlayerTrackTypeMsg; } // Range: 0x8007CBC4 -> 0x8007CC28 void ReassignPlayerTrackTypeMsg::Save(const class ReassignPlayerTrackTypeMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8007CC28 -> 0x8007CC7C void ReassignPlayerTrackTypeMsg::Load(class ReassignPlayerTrackTypeMsg * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x8007CC7C -> 0x8007CCCC void ReassignPlayerTrackTypeMsg::Dispatch(class ReassignPlayerTrackTypeMsg * const this /* r31 */) { // References // -> class BandUserMgr * TheBandUserMgr; // -> class GameConfig * TheGameConfig; } static class DataArrayPtr setTrackTypes; // size: 0x8, address: 0x809777A0 // Range: 0x8007CCCC -> 0x8007CDEC void H2HSetTrackTypesMsg::Dispatch() { // References // -> static class DataArrayPtr setTrackTypes; // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x8007CDEC -> 0x8007CE10 void ReadyForSongsMsg::Dispatch() {} // Range: 0x8007CE10 -> 0x8007D004 void * LocalSongsMsg::LocalSongsMsg(class LocalSongsMsg * const this /* r27 */, class vector & localPlayers /* r28 */, class vector & songNames /* r29 */) { // Local variables int n; // r30 int n; // r26 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__13LocalSongsMsg; } // Range: 0x8007D004 -> 0x8007D214 void LocalSongsMsg::Save(const class LocalSongsMsg * const this /* r29 */, class BinStream & dest /* r30 */) { // Local variables class MemStream s; // r1+0x20 int n; // r28 int n; // r27 int compressed; // r1+0x1C // References // -> class Debug TheDebug; } // Range: 0x8007D214 -> 0x8007D500 void LocalSongsMsg::Load(class LocalSongsMsg * const this /* r29 */, class BinStream & src /* r27 */) { // Local variables class MemStream s; // r1+0x38 int uncompressed; // r1+0x34 int compressed; // r1+0x30 void * r; // r30 unsigned char numPlayers; // r1+0x21 int n; // r28 unsigned char playerNum; // r1+0x20 int numSongs; // r1+0x2C int n; // r28 class Symbol songName; // r1+0x28 // References // -> const char * gNullStr; // -> class Debug TheDebug; } // Range: 0x8007D500 -> 0x8007D540 void LocalSongsMsg::Dispatch(class LocalSongsMsg * const this /* r31 */) { // References // -> class SongMgr & TheSongMgr; } // Range: 0x8007D540 -> 0x8007D58C void * SharedSongsMsg::SharedSongsMsg(class SharedSongsMsg * const this /* r31 */) { // References // -> struct [anonymous] __vt__14SharedSongsMsg; } // Range: 0x8007D58C -> 0x8007D668 void SharedSongsMsg::Save(const class SharedSongsMsg * const this /* r31 */, class BinStream & dest /* r30 */) { // Local variables class MemStream s; // r1+0x18 int compressed; // r1+0x14 } static class Symbol lost_connection; // size: 0x4, address: 0x80A49DC4 static class Message init; // size: 0x8, address: 0x809777B8 // Range: 0x8007D668 -> 0x8007DA04 void SharedSongsMsg::Load(class SharedSongsMsg * const this /* r28 */, class BinStream & src /* r29 */) { // Local variables class MemStream s; // r1+0x38 int uncompressed; // r1+0x24 int compressed; // r1+0x20 void * r; // r30 int n; // r29 // References // -> class BandUI * TheBandUI; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol lost_connection; // -> class Debug TheDebug; } // Range: 0x8007DA04 -> 0x8007DA38 void SharedSongsMsg::Dispatch(class SharedSongsMsg * const this /* r4 */) { // References // -> class SongMgr & TheSongMgr; } // Range: 0x8007DA38 -> 0x8007DCC0 void * LocalBattlesMsg::LocalBattlesMsg(class LocalBattlesMsg * const this /* r28 */, const class vector & local_players /* r29 */, const class list & challenge_battles /* r30 */, const class list & world_battles /* r31 */) { // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__15LocalBattlesMsg; } // Range: 0x8007DCC0 -> 0x8007DD04 void LocalBattlesMsg::Save(const class LocalBattlesMsg * const this /* r31 */) {} // Range: 0x8007DD04 -> 0x8007DD48 void LocalBattlesMsg::Load(class LocalBattlesMsg * const this /* r31 */) {} // Range: 0x8007DD48 -> 0x8007DDB8 void LocalBattlesMsg::Dispatch(class LocalBattlesMsg * const this /* r30 */) { // Local variables int i; // r31 // References // -> class Tour * TheTour; } // Range: 0x8007DDB8 -> 0x8007DF9C void * SharedBattlesMsg::SharedBattlesMsg(class SharedBattlesMsg * const this /* r30 */, const class list & challenge_battles /* r28 */, const class list & world_battles /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__16SharedBattlesMsg; } // Range: 0x8007DF9C -> 0x8007DFD8 void SharedBattlesMsg::Save(const class SharedBattlesMsg * const this /* r31 */) {} // Range: 0x8007DFD8 -> 0x8007E014 void SharedBattlesMsg::Load(class SharedBattlesMsg * const this /* r31 */) {} // Range: 0x8007E014 -> 0x8007E028 void SharedBattlesMsg::Dispatch(class SharedBattlesMsg * const this /* r5 */) { // References // -> class Tour * TheTour; } struct { // total size: 0x28 } __vt__16SharedBattlesMsg; // size: 0x28, address: 0x80878960 struct { // total size: 0x8 } __RTTI__16SharedBattlesMsg; // size: 0x8, address: 0x808789A8 struct { // total size: 0x28 } __vt__15LocalBattlesMsg; // size: 0x28, address: 0x808789B0 struct { // total size: 0x8 } __RTTI__15LocalBattlesMsg; // size: 0x8, address: 0x808789F8 struct { // total size: 0x28 } __vt__14SharedSongsMsg; // size: 0x28, address: 0x80878A00 struct { // total size: 0x8 } __RTTI__14SharedSongsMsg; // size: 0x8, address: 0x80878A48 struct { // total size: 0x28 } __vt__13LocalSongsMsg; // size: 0x28, address: 0x80878A50 struct { // total size: 0x8 } __RTTI__13LocalSongsMsg; // size: 0x8, address: 0x80878A98 struct { // total size: 0x28 } __vt__16ReadyForSongsMsg; // size: 0x28, address: 0x80878AA0 struct { // total size: 0x8 } __RTTI__16ReadyForSongsMsg; // size: 0x8, address: 0x80878AE8 struct { // total size: 0x28 } __vt__19H2HSetTrackTypesMsg; // size: 0x28, address: 0x80878AF0 struct { // total size: 0x8 } __RTTI__19H2HSetTrackTypesMsg; // size: 0x8, address: 0x80878B38 struct { // total size: 0x28 } __vt__26ReassignPlayerTrackTypeMsg; // size: 0x28, address: 0x80878B40 struct { // total size: 0x8 } __RTTI__26ReassignPlayerTrackTypeMsg; // size: 0x8, address: 0x80878B90 struct { // total size: 0x28 } __vt__22SetPlayerDifficultyMsg; // size: 0x28, address: 0x80878B98 struct { // total size: 0x8 } __RTTI__22SetPlayerDifficultyMsg; // size: 0x8, address: 0x80878BE8 struct { // total size: 0x28 } __vt__21SetPlayerTrackTypeMsg; // size: 0x28, address: 0x80878BF0 struct { // total size: 0x8 } __RTTI__21SetPlayerTrackTypeMsg; // size: 0x8, address: 0x80878C40 struct { // total size: 0x28 } __vt__14PlayerStatsMsg; // size: 0x28, address: 0x80878C48 struct { // total size: 0x8 } __RTTI__14PlayerStatsMsg; // size: 0x8, address: 0x80878C90 struct { // total size: 0x28 } __vt__15LoadAllCharsMsg; // size: 0x28, address: 0x80878C98 struct { // total size: 0x8 } __RTTI__15LoadAllCharsMsg; // size: 0x8, address: 0x80878CE0 struct { // total size: 0x28 } __vt__14RestartGameMsg; // size: 0x28, address: 0x80878CE8 struct { // total size: 0x8 } __RTTI__14RestartGameMsg; // size: 0x8, address: 0x80878D30 struct { // total size: 0x28 } __vt__17PlayerGameplayMsg; // size: 0x28, address: 0x80878D38 struct { // total size: 0x8 } __RTTI__17PlayerGameplayMsg; // size: 0x8, address: 0x80878D80 struct { // total size: 0x8 } __RTTI__P6Symbol; // size: 0x8, address: 0x80878E00 struct { // total size: 0x8 } __RTTI__Pc; // size: 0x8, address: 0x80878E10 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007E340 -> 0x8007E344 */ // Range: 0x8007E340 -> 0x8007E344 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007E344 -> 0x8007E348 */ // Range: 0x8007E344 -> 0x8007E348 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\MemStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007E348 -> 0x8007E4CC */ // Range: 0x8007E348 -> 0x8007E440 void * PlayerGameplayMsg::PlayerGameplayMsg(class PlayerGameplayMsg * const this /* r25 */, int player /* r26 */, int opCode /* r27 */, int arg1 /* r28 */, int arg2 /* r29 */, int arg3 /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__17PlayerGameplayMsg; } // Range: 0x8007E440 -> 0x8007E4CC void * MemStream::~MemStream(class MemStream * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007E4CC -> 0x8007E518 */ // Range: 0x8007E4CC -> 0x8007E518 char * MakeString(const char * fmt /* r0 */, unsigned long t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007E518 -> 0x8007E9B4 */ // Range: 0x8007E518 -> 0x8007E5A0 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Symbol * t; // r31 } // Range: 0x8007E5A0 -> 0x8007E6C8 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x1C class Symbol * t; // r29 // References // -> const char * gNullStr; } // Range: 0x8007E6C8 -> 0x8007E75C class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const int * t; // r31 } // Range: 0x8007E75C -> 0x8007E830 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x8007E830 -> 0x8007E91C class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 int * t; // r31 } // Range: 0x8007E91C -> 0x8007E9B4 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct _List_iterator t; // r1+0x14 // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007E9B4 -> 0x8007E9CC */ // Range: 0x8007E9B4 -> 0x8007E9CC struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\game\NetGameMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007E9CC -> 0x8007F13C */ // Range: 0x8007E9CC -> 0x8007EA00 char * SharedBattlesMsg::Name() {} // Range: 0x8007EA00 -> 0x8007EA5C unsigned char SharedBattlesMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EA5C -> 0x8007EA90 char * LocalBattlesMsg::Name() {} // Range: 0x8007EA90 -> 0x8007EAEC unsigned char LocalBattlesMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EAEC -> 0x8007EB20 char * SharedSongsMsg::Name() {} // Range: 0x8007EB20 -> 0x8007EB7C unsigned char SharedSongsMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EB7C -> 0x8007EBB0 char * LocalSongsMsg::Name() {} // Range: 0x8007EBB0 -> 0x8007EC0C unsigned char LocalSongsMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EC0C -> 0x8007EC10 void ReadyForSongsMsg::Load() {} // Range: 0x8007EC10 -> 0x8007EC14 void ReadyForSongsMsg::Save() {} // Range: 0x8007EC14 -> 0x8007EC48 char * ReadyForSongsMsg::Name() {} // Range: 0x8007EC48 -> 0x8007ECA4 unsigned char ReadyForSongsMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007ECA4 -> 0x8007ECA8 void H2HSetTrackTypesMsg::Load() {} // Range: 0x8007ECA8 -> 0x8007ECAC void H2HSetTrackTypesMsg::Save() {} // Range: 0x8007ECAC -> 0x8007ECE0 char * H2HSetTrackTypesMsg::Name() {} // Range: 0x8007ECE0 -> 0x8007ED3C unsigned char H2HSetTrackTypesMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007ED3C -> 0x8007ED70 char * ReassignPlayerTrackTypeMsg::Name() {} // Range: 0x8007ED70 -> 0x8007EDCC unsigned char ReassignPlayerTrackTypeMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EDCC -> 0x8007EE00 char * SetPlayerDifficultyMsg::Name() {} // Range: 0x8007EE00 -> 0x8007EE5C unsigned char SetPlayerDifficultyMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EE5C -> 0x8007EE90 char * SetPlayerTrackTypeMsg::Name() {} // Range: 0x8007EE90 -> 0x8007EEEC unsigned char SetPlayerTrackTypeMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EEEC -> 0x8007EF20 char * PlayerStatsMsg::Name() {} // Range: 0x8007EF20 -> 0x8007EF7C unsigned char PlayerStatsMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007EF7C -> 0x8007EF80 void LoadAllCharsMsg::Load() {} // Range: 0x8007EF80 -> 0x8007EF84 void LoadAllCharsMsg::Save() {} // Range: 0x8007EF84 -> 0x8007EFB8 char * LoadAllCharsMsg::Name() {} // Range: 0x8007EFB8 -> 0x8007F014 unsigned char LoadAllCharsMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007F014 -> 0x8007F018 void RestartGameMsg::Load() {} // Range: 0x8007F018 -> 0x8007F01C void RestartGameMsg::Save() {} // Range: 0x8007F01C -> 0x8007F050 char * RestartGameMsg::Name() {} // Range: 0x8007F050 -> 0x8007F0AC unsigned char RestartGameMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8007F0AC -> 0x8007F0E0 char * PlayerGameplayMsg::Name() {} // Range: 0x8007F0E0 -> 0x8007F13C unsigned char PlayerGameplayMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007F13C -> 0x8007F27C */ // Range: 0x8007F13C -> 0x8007F27C void list::resize(const class Symbol & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007F27C -> 0x8007FBA8 */ // Range: 0x8007F27C -> 0x8007F2E0 void vector::_M_fill_insert() {} // Range: 0x8007F2E0 -> 0x8007F4AC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Symbol * __pos /* r26 */, const class Symbol & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Symbol * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8007F4AC -> 0x8007F700 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8007F700 -> 0x8007F770 void vector::_M_fill_insert() {} // Range: 0x8007F770 -> 0x8007F888 void vector::_M_insert_overflow(class vector * const this /* r30 */, char * __pos /* r31 */, const char & __x /* r24 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r25 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r26 char * __new_finish; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8007F888 -> 0x8007FA00 void vector::_M_fill_insert_aux(class vector * const this /* r29 */, char * __pos /* r30 */, unsigned long __n /* r27 */, const char & __x /* r31 */) { // Local variables char __x_copy; // r1+0x2C unsigned long __elems_after; // r25 } // Range: 0x8007FA00 -> 0x8007FBA8 void vector::_M_fill_insert_aux() { // Local variables class Symbol __x_copy; // r1+0x1C unsigned long __elems_after; // r9 class Symbol * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\game\Providers.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8007FBA8 -> 0x80080968 */ class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Friend * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Friend * * _M_start; // offset 0x0, size 0x4 class Friend * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum FriendEnumState { kEnumInactive = 0, kEnumFriends = 1, kEnumFriendFailure = 2, kEnumFriendSuccess = 3, kEnumFriendsDone = 4, kEnumFriendStats = 5, kEnumAllStats = 6, kEnumLocalStats = 7, kEnumDone = 8, }; enum ConnectionType { kUnconnected = 0, kConnectionError = 1, kConnected = 2, }; enum Type { kPlayerSong = 0, kBandFans = 1, kBandSong = 2, kTugOfWar = 3, kScoreDuel = 4, kNumTypes = 5, }; enum FilterType { kByAll = 0, kByFriends = 1, kByLocal = 2, }; class PlatformMgrOpCompleteMsg : public Message { // total size: 0x8 }; class LeaderboardsMgr : public ListProvider, public Object { // total size: 0xB8 class list mUsers; // offset 0x2C, size 0x8 class vector mFriendsCollection; // offset 0x34, size 0xC class vector mFriendsTemp; // offset 0x40, size 0xC enum FriendEnumState mEnumState; // offset 0x4C, size 0x4 enum ConnectionType mConnectionState; // offset 0x50, size 0x4 int mPageSize; // offset 0x54, size 0x4 enum Type mType; // offset 0x58, size 0x4 enum FilterType mFilter; // offset 0x5C, size 0x4 int mPlayerNum; // offset 0x60, size 0x4 class HxGuid mBandID; // offset 0x64, size 0x10 class Element mHighlight; // offset 0x74, size 0x20 enum TrackType mTrackType; // offset 0x94, size 0x4 class LeaderboardLive * mBoardAll; // offset 0x98, size 0x4 class LeaderboardFriends * mBoardFriends; // offset 0x9C, size 0x4 class LeaderboardLocal * mBoardLocal; // offset 0xA0, size 0x4 int mBoardLimits[5]; // offset 0xA4, size 0x14 }; // Range: 0x8007FBA8 -> 0x8007FBF0 void * Providers::Providers(class Providers * const this /* r31 */) {} // Range: 0x8007FCD4 -> 0x8007FDE4 void * Providers::~Providers(class Providers * const this /* r30 */) {} class MidiSectionLister : public MidiReceiver { // total size: 0x14 class vector * mSectionList; // offset 0x8, size 0x4 int m_LastMidiMessageTick; // offset 0xC, size 0x4 float mEndMs; // offset 0x10, size 0x4 }; enum State { kStart = 0, kNewTrack = 1, kInTrack = 2, kEnd = 3, }; struct Midi { // total size: 0x3 unsigned char mStat; // offset 0x0, size 0x1 unsigned char mD1; // offset 0x1, size 0x1 unsigned char mD2; // offset 0x2, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Midi * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Midi * _M_start; // offset 0x0, size 0x4 struct Midi * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct TempoInfoPoint { // total size: 0xC float mMs; // offset 0x0, size 0x4 int mTick; // offset 0x4, size 0x4 int mTempo; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TempoInfoPoint * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TempoInfoPoint * _M_start; // offset 0x0, size 0x4 struct TempoInfoPoint * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class MultiTempoTempoMap : public TempoMap { // total size: 0x10 class vector mTempoPoints; // offset 0x4, size 0xC }; class MidiReader { // total size: 0x60 class BinStream * mStream; // offset 0x0, size 0x4 unsigned char mStreamCreatedHere; // offset 0x4, size 0x1 class String mStreamName; // offset 0x8, size 0xC class MidiReceiver & mRcvr; // offset 0x14, size 0x4 enum State mState; // offset 0x18, size 0x4 signed short mNumTracks; // offset 0x1C, size 0x2 signed short mTicksPerQuarter; // offset 0x1E, size 0x2 signed short mDesiredTPQ; // offset 0x20, size 0x2 int mTrackEndPos; // offset 0x24, size 0x4 int mCurTrackIndex; // offset 0x28, size 0x4 int mCurTick; // offset 0x2C, size 0x4 unsigned char mPrevStatus; // offset 0x30, size 0x1 class String mCurTrackName; // offset 0x34, size 0xC class vector mMidiList; // offset 0x40, size 0xC int mMidiListTick; // offset 0x4C, size 0x4 unsigned char (* mLessFunc)(struct Midi &, struct Midi &); // offset 0x50, size 0x4 unsigned char mOwnMaps; // offset 0x54, size 0x1 class MultiTempoTempoMap * mTempoMap; // offset 0x58, size 0x4 class MeasureMap * mMeasureMap; // offset 0x5C, size 0x4 }; // Range: 0x8007FDE4 -> 0x8007FE24 void * MidiSectionLister::~MidiSectionLister(class MidiSectionLister * const this /* r31 */) {} // Range: 0x8007FE24 -> 0x8007FE5C char * PracticeSectionProvider::Text() {} // Range: 0x8007FE5C -> 0x8007FE84 class Symbol PracticeSectionProvider::DataSymbol() {} // Range: 0x8007FE84 -> 0x8007FF1C int PracticeSectionProvider::DataIndex(const class PracticeSectionProvider * const this /* r29 */, class Symbol & sym /* r30 */) { // Local variables int i; // r31 } // Range: 0x8007FF1C -> 0x8007FF48 int PracticeSectionProvider::NumData() {} // Range: 0x8007FF48 -> 0x8007FF68 struct PracticeSection & PracticeSectionProvider::GetSection() {} // Range: 0x8007FF68 -> 0x8007FFB0 unsigned char PracticeSectionProvider::IsActive() {} // Range: 0x8007FFB0 -> 0x8007FFF4 void PracticeSectionProvider::GetColor() {} // Range: 0x8007FFF4 -> 0x80080018 float PracticeSectionProvider::GetSectionStartMs() {} // Range: 0x80080018 -> 0x8008003C float PracticeSectionProvider::GetSectionEndMs() {} static class Symbol _s; // size: 0x4, address: 0x80A49DD4 static class Symbol _s; // size: 0x4, address: 0x80A49DDC static class Symbol _s; // size: 0x4, address: 0x80A49DE4 static class Symbol _s; // size: 0x4, address: 0x80A49DEC static class Symbol _s; // size: 0x4, address: 0x80A49DF4 // Range: 0x8008003C -> 0x800807B4 class DataNode PracticeSectionProvider::Handle(class PracticeSectionProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x800807B4 -> 0x800807C8 void MidiSectionLister::OnMidiMessage() {} // Range: 0x800807C8 -> 0x800807CC void MidiSectionLister::OnAllTracksRead() {} // Range: 0x800807CC -> 0x800807D0 void MidiSectionLister::OnEndOfTrack() {} // Range: 0x800807D0 -> 0x800807D4 void MidiSectionLister::OnNewTrack() {} // Range: 0x800807D4 -> 0x80080968 void MidiSectionLister::OnText(class MidiSectionLister * const this /* r28 */, int tick /* r29 */, const char * str /* r30 */) { // Local variables char temp[256]; // r1+0x130 char section[256]; // r1+0x30 struct PracticeSection p; // r1+0x18 // References // -> const char * gNullStr; } struct { // total size: 0x30 } __vt__17MidiSectionLister; // size: 0x30, address: 0x80879110 struct { // total size: 0x8 } __RTTI__17MidiSectionLister; // size: 0x8, address: 0x80879160 struct { // total size: 0x8 } __RTTI__12MidiReceiver; // size: 0x8, address: 0x80879178 struct { // total size: 0x9C } __vt__23PracticeSectionProvider; // size: 0x9C, address: 0x80879180 struct { // total size: 0x8 } __RTTI__23PracticeSectionProvider; // size: 0x8, address: 0x80879258 struct { // total size: 0x8 } __RTTI__P15PracticeSection; // size: 0x8, address: 0x808792C8 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80080968 -> 0x80080F0C */ // Range: 0x80080968 -> 0x80080A1C void * PracticeSectionProvider::PracticeSectionProvider(class PracticeSectionProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> const char * gNullStr; // -> struct [anonymous] __vt__23PracticeSectionProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x80080A1C -> 0x80080E04 void PracticeSectionProvider::InitData(class PracticeSectionProvider * const this /* r30 */) { // Local variables class DataArray * data; // r27 class DataArray * fileData; // r28 class FileStream file; // r1+0x50 class MidiSectionLister lister; // r1+0x38 int i; // r3 // References // -> struct [anonymous] __vt__17MidiSectionLister; // -> class PlatformMgr ThePlatformMgr; // -> class SongMgr & TheSongMgr; } // Range: 0x80080E04 -> 0x80080E50 class RndMat * PracticeSectionProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80080E50 -> 0x80080F0C class Symbol PracticeSectionProvider::SectionAfterLast(class PracticeSectionProvider * const this /* r30 */) { // References // -> const char * gNullStr; // -> class GameConfig * TheGameConfig; } /* Compile unit: C:\rockband2\system\src\midi\MidiReceiver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80080F0C -> 0x80080F64 */ // Range: 0x80080F0C -> 0x80080F4C void * MidiReceiver::~MidiReceiver(class MidiReceiver * const this /* r31 */) {} // Range: 0x80080F4C -> 0x80080F54 void MidiReceiver::SetMidiReader() {} // Range: 0x80080F54 -> 0x80080F5C unsigned char MidiReceiver::OnAcceptMaps() {} // Range: 0x80080F5C -> 0x80080F60 void MidiReceiver::OnTimeSig() {} // Range: 0x80080F60 -> 0x80080F64 void MidiReceiver::OnTempo() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80080F64 -> 0x80080FA0 */ // Range: 0x80080F64 -> 0x80080F90 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80080FA0 -> 0x80081408 */ // Range: 0x80080FA0 -> 0x8008122C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct PracticeSection * __pos /* r26 */, const struct PracticeSection & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct PracticeSection * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P15PracticeSection; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008122C -> 0x80081408 void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables struct PracticeSection * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P15PracticeSection; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\SaytrMic.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80081408 -> 0x80082040 */ static unsigned char gIdxTaken[2]; // size: 0x2, address: 0x80A49DF8 class list : public _List_base { // total size: 0x8 }; static class list gMics; // size: 0x8, address: 0x809777D0 class IIR4PoleFilter { // total size: 0x50 float mB0[4]; // offset 0x0, size 0x10 float mB[4]; // offset 0x10, size 0x10 float mC[4]; // offset 0x20, size 0x10 float mA[4]; // offset 0x30, size 0x10 float mV[4]; // offset 0x40, size 0x10 }; class PitchDetector { // total size: 0x38 class IIR4PoleFilter * mFilter; // offset 0x0, size 0x4 int mSamplesPerSec; // offset 0x4, size 0x4 int mBufferSize; // offset 0x8, size 0x4 int mDecimation; // offset 0xC, size 0x4 int mMinPeriod; // offset 0x10, size 0x4 int mCurSample; // offset 0x14, size 0x4 int mDecProg; // offset 0x18, size 0x4 float * mBuffer1; // offset 0x1C, size 0x4 float * mBuffer2; // offset 0x20, size 0x4 float * mBuffer3; // offset 0x24, size 0x4 float mPitch; // offset 0x28, size 0x4 float mPeriod; // offset 0x2C, size 0x4 float mAveEnergy; // offset 0x30, size 0x4 class MemStream * mDebugStream; // offset 0x34, size 0x4 }; enum ProcessMode { PROCESS_PITCH = 0, PROCESS_SAYTR = 1, }; class SaytrMic { // total size: 0x4088 int mPadNum; // offset 0x0, size 0x4 int mFonixIdx; // offset 0x4, size 0x4 unsigned char mUSB; // offset 0x8, size 0x1 unsigned char mPlayback; // offset 0x9, size 0x1 unsigned char mWriteWav; // offset 0xA, size 0x1 int mPlaybackSampleRate; // offset 0xC, size 0x4 class MemStream * mStoredAudio; // offset 0x10, size 0x4 class PitchDetector * mDetector; // offset 0x14, size 0x4 class VocalInterpreter * mInterper; // offset 0x18, size 0x4 enum ProcessMode mProcessMode; // offset 0x1C, size 0x4 float mEnergy; // offset 0x20, size 0x4 float mPitch; // offset 0x24, size 0x4 struct SpeechAnalysis mAnalysis; // offset 0x28, size 0x22 float mMicVolumeClamp; // offset 0x4C, size 0x4 float mLastEnergy; // offset 0x50, size 0x4 float mLastPitch; // offset 0x54, size 0x4 struct SpeechAnalysis mLastAnalysis; // offset 0x58, size 0x22 signed short mSamples[8192]; // offset 0x7A, size 0x4000 int mNumSamples; // offset 0x407C, size 0x4 float mFonixGain; // offset 0x4080, size 0x4 unsigned char mSpursActive; // offset 0x4084, size 0x1 }; // Range: 0x80081408 -> 0x8008162C void * SaytrMic::SaytrMic(class SaytrMic * const this /* r31 */) { // Local variables class String playbackFile; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class list gMics; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static unsigned char gIdxTaken[2]; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x80879380 // Range: 0x8008162C -> 0x80081674 void SaytrMic::Terminate() { // References // -> static class list gMics; } class WaveFileMarker { // total size: 0x14 int mFrame; // offset 0x0, size 0x4 int mID; // offset 0x4, size 0x4 class String mName; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class WaveFileMarker * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class WaveFileMarker * _M_start; // offset 0x0, size 0x4 class WaveFileMarker * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ChunkID { // total size: 0x4 char mStr[4]; // offset 0x0, size 0x4 }; class ChunkHeader { // total size: 0xC class ChunkID mID; // offset 0x0, size 0x4 int mLength; // offset 0x4, size 0x4 unsigned char mIsList; // offset 0x8, size 0x1 }; class IListChunk { // total size: 0x2C class IListChunk * mParent; // offset 0x0, size 0x4 class BinStream & mBaseBinStream; // offset 0x4, size 0x4 class ChunkHeader * mHeader; // offset 0x8, size 0x4 int mStartMarker; // offset 0xC, size 0x4 int mEndMarker; // offset 0x10, size 0x4 unsigned char mLocked; // offset 0x14, size 0x1 class ChunkHeader mSubHeader; // offset 0x18, size 0xC unsigned char mSubChunkValid; // offset 0x24, size 0x1 unsigned char mRecentlyReset; // offset 0x25, size 0x1 int mSubChunkMarker; // offset 0x28, size 0x4 }; class WaveFile { // total size: 0x4C signed short mFormat; // offset 0x0, size 0x2 unsigned short mNumChannels; // offset 0x2, size 0x2 unsigned int mSamplesPerSec; // offset 0x4, size 0x4 unsigned int mAvgBytesPerSec; // offset 0x8, size 0x4 unsigned short mBlockAlign; // offset 0xC, size 0x2 unsigned short mBitsPerSample; // offset 0xE, size 0x2 int mNumSamples; // offset 0x10, size 0x4 class vector mMarkers; // offset 0x14, size 0xC class IListChunk mRiffList; // offset 0x20, size 0x2C }; class IDataChunk : public BinStream { // total size: 0x24 class IListChunk * mParent; // offset 0xC, size 0x4 class BinStream & mBaseBinStream; // offset 0x10, size 0x4 class ChunkHeader * mHeader; // offset 0x14, size 0x4 int mStartMarker; // offset 0x18, size 0x4 int mEndMarker; // offset 0x1C, size 0x4 unsigned char mFailed; // offset 0x20, size 0x1 unsigned char mEof; // offset 0x21, size 0x1 }; class WaveFileData : public IDataChunk { // total size: 0x28 class WaveFile & mWaveFile; // offset 0x24, size 0x4 }; // Range: 0x80081674 -> 0x800818A4 int SaytrMic::SetInputFile(class SaytrMic * const this /* r31 */) { // Local variables int sampleRate; // r29 class FileStream f; // r1+0x38 class WaveFile wf; // r1+0x60 class WaveFileData wfd; // r1+0x10 // References // -> class Synth * TheSynth; } // Range: 0x800818A4 -> 0x800818A8 void SaytrMic::Reset() {} // Range: 0x800818A8 -> 0x800818C8 void SaytrMic::StartDetection() {} // Range: 0x800818C8 -> 0x80081924 void SaytrMic::SetMute(unsigned char mute /* r31 */) { // References // -> class Synth * TheSynth; } // Range: 0x80081924 -> 0x80081C00 void SaytrMic::ThreadProcessOneFrame(class SaytrMic * const this /* r31 */) { // Local variables float live_pitch; // r1+0xC float energy; // r1+0x8 float secs; // f0 int droppedSamples; // r30 class Mic * mic; // r29 signed short * micSamples; // r4 float alpha; // f0 signed short * data; // r29 // References // -> class Synth * TheSynth; // -> class TaskMgr TheTaskMgr; } static class Timer * _t; // size: 0x4, address: 0x80A49DFC // Range: 0x80081C00 -> 0x80081F74 void SaytrMic::Update(class SaytrMic * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC int targSamp; // r29 int i; // r29 class Mic * mic; // r0 // References // -> class Synth * TheSynth; // -> class TaskMgr TheTaskMgr; // -> static class Timer * _t; } // Range: 0x80081F74 -> 0x80081FDC int SaytrMic::GetDataSampleRate() { // References // -> class Synth * TheSynth; } // Range: 0x80081FDC -> 0x80081FE4 void SaytrMic::setProcessMode() {} // Range: 0x80081FE4 -> 0x80082040 static void __sinit_\SaytrMic_cpp() { // References // -> static class list gMics; } class _List_node : public _List_node_base { // total size: 0xC public: class SaytrMic * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80082040 -> 0x80082198 */ // Range: 0x80082040 -> 0x80082198 void * SaytrMic::~SaytrMic(class SaytrMic * const this /* r30 */) { // References // -> static unsigned char gIdxTaken[2]; // -> static class list gMics; } /* Compile unit: C:\rockband2\system\src\utl\MemStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80082198 -> 0x800821A0 */ // Range: 0x80082198 -> 0x800821A0 int MemStream::Tell() {} /* Compile unit: C:\rockband2\system\src\synth\Mic.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800821A0 -> 0x800821A4 */ // Range: 0x800821A0 -> 0x800821A4 void Mic::SetMute() {} /* Compile unit: C:\rockband2\system\src\os\Endian.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800821A4 -> 0x800821B8 */ // Range: 0x800821A4 -> 0x800821B8 signed short EndianSwapBig() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800821B8 -> 0x800822C0 */ // Range: 0x800821B8 -> 0x800822C0 void vector::reserve(class vector * const this /* r31 */, unsigned long __n /* r26 */) { // Local variables char * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pc; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800822C0 -> 0x80082318 */ // Range: 0x800822C0 -> 0x80082318 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80082318 -> 0x80082378 */ // Range: 0x80082318 -> 0x80082378 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\game\SaytrState.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80082378 -> 0x800867E8 */ // Range: 0x80082378 -> 0x80082434 void * SaytrState::SaytrState(class SaytrState * const this /* r29 */, int historyTime /* r30 */) {} // Range: 0x80082434 -> 0x800824E8 void * SaytrState::~SaytrState(class SaytrState * const this /* r30 */) {} // Range: 0x800824E8 -> 0x80082AB4 float SaytrState::CalculateScore(class SaytrState * const this /* r27 */, class SaytrState & eval /* r28 */, float similarScale /* f27 */, float timingScale /* f28 */) { // Local variables float totalScore; // f31 float totalWeight; // f30 int oldestTime; // r31 int ecld; // r30 float bestScore; // f29 float weight; // f28 int rcld; // r29 float score; // f1 } // Range: 0x80082AB4 -> 0x80083850 float SaytrState::CalculatePairScore(class SaytrState * const this /* r30 */, class SaytrState & eval /* r31 */, float similarScale /* f29 */, float timingScale /* f30 */) { // Local variables int oldestTime; // r29 int ecld; // r28 float bestScore; // f31 int rcld; // r27 int espl; // r26 float etrans; // f0 int rspl; // r25 float match1; // f0 float match2; // f0 float match; // f0 float rtrans; // f0 float trans; // f0 float transweight; // f28 float score; // f0 } class deque : protected _Deque_base { // total size: 0x28 }; // Range: 0x80083850 -> 0x80083DE0 float SaytrState::SequentialMatch(class SaytrState * const this /* r26 */, class SaytrState & eval /* r27 */, class deque & corresponds /* r28 */, int adjustments /* r29 */, float similarScale /* f29 */, float timingScale /* f30 */) { // Local variables float temperature; // f27 float bestEnergy; // f31 int ii; // r1+0x1C class deque partialEnergy; // r1+0x20 int rcld; // r30 int ii; // r31 int rcld; // r30 int ecld; // r25 float newEnergy; // f0 float finalScore; // f27 int rcld; // r25 int refTimeShift; // r30 int evalTimeShift; // r0 } // Range: 0x80083DE0 -> 0x8008478C float SaytrState::SequenceEnergy(class SaytrState * const this /* r26 */, class SaytrState & eval /* r27 */, class deque & corresponds /* r28 */, int rcld /* r29 */, int ecld /* r30 */, float similarScale /* f31 */, float timingScale /* f30 */, unsigned char scoreSilence /* r31 */) { // Local variables float energy; // r1+0x8 } // Range: 0x8008478C -> 0x800847F0 unsigned char SaytrState::SequenceMutateOracle() {} // Range: 0x800847F0 -> 0x800851D0 float SaytrState::CalculateSequenceScore(class SaytrState * const this /* r28 */, class SaytrState & eval /* r29 */, class deque & corresponds /* r30 */, float similarScale /* f27 */, float timingScale /* f28 */) { // Local variables float score; // f31 float count; // f30 int rcld; // r31 float score1; // f29 float score2; // f0 } // Range: 0x800851D0 -> 0x80085B4C float SaytrState::CalculateTransitionScore(class SaytrState * const this /* r25 */, class SaytrState & eval /* r26 */, float timingScale /* f31 */) { // Local variables unsigned char voiced; // r0 int oldestTime; // r30 int rtrans; // r29 unsigned char found; // r28 int etrans; // r27 } // Range: 0x80085B4C -> 0x80085CC8 int SaytrState::GetCount(class SaytrState * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80085CC8 -> 0x80085E04 int SaytrState::GetLastTime() {} // Range: 0x80085E04 -> 0x80085E90 unsigned char SaytrState::GetLastVoiced() {} // Range: 0x80085E90 -> 0x80085F88 int SaytrState::GetLastEnergyBytes(unsigned char * energies /* r28 */) { // Local variables class PhoneCloud * last; // r31 struct SpeechAnalysis * analyses; // r30 int ii; // r29 } // Range: 0x80085F88 -> 0x800860DC void * PhoneCloud::PhoneCloud() { // Local variables int ii; // r8 } // Range: 0x800860DC -> 0x8008611C void * PhoneCloud::~PhoneCloud(class PhoneCloud * const this /* r31 */) {} // Range: 0x8008611C -> 0x8008628C float PhoneCloud::CalculateWeightedMatch(class PhoneCloud * const this /* r28 */, class PhoneCloud & eval /* r29 */, float similarScale /* f28 */) { // Local variables float totalScore; // f31 float totalDenom; // f30 float distortionScale; // f29 int ii; // r31 int jj; // r30 float score; // f0 } // Range: 0x8008628C -> 0x800863B8 float PhoneCloud::CalculateSingleMatch(class PhoneCloud * const this /* r28 */, class PhoneCloud & eval /* r29 */, float similarScale /* f30 */, int espl /* r30 */, float unvoicedScore /* f31 */) { // Local variables float score; // f0 } // Range: 0x800863B8 -> 0x800864A4 float PhoneCloud::CalculateSingleTransition() { // Local variables float etrPrev; // f2 float etrCurr; // f1 } // Range: 0x800864A4 -> 0x80086560 unsigned char PhoneCloud::IsVoiced(class PhoneCloud * const this /* r29 */) { // Local variables int voiced; // r31 int ii; // r30 } // Range: 0x80086560 -> 0x800865A0 int PhoneCloud::GetCount(class PhoneCloud * const this /* r31 */) {} // Range: 0x800865A0 -> 0x800865E4 int PhoneCloud::GetSlopTime() {} // Range: 0x800865E4 -> 0x80086660 float PhoneCloud::GetTransitionGamma(float timingScale /* f31 */) {} // Range: 0x80086660 -> 0x800866DC float PhoneCloud::GetWarpingPenalty(float timingScale /* f31 */) {} // Range: 0x800866DC -> 0x80086758 float PhoneCloud::GetTransitionTiming(float timingScale /* f31 */) {} // Range: 0x80086758 -> 0x80086764 float PhoneCloud::GetSimilarityBoost() {} // Range: 0x80086764 -> 0x800867E8 float PhoneCloud::GetDistortionScale(float similarScale /* f31 */) {} struct _Deque_iterator_base { // total size: 0x10 float * _M_cur; // offset 0x0, size 0x4 float * _M_first; // offset 0x4, size 0x4 float * _M_last; // offset 0x8, size 0x4 float * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; struct { // total size: 0x8 } __RTTI__PPf; // size: 0x8, address: 0x80879428 struct { // total size: 0x8 } __RTTI__PPi; // size: 0x8, address: 0x80879438 struct { // total size: 0x8 } __RTTI__PPPQ210SaytrState10PhoneCloud; // size: 0x8, address: 0x80879460 struct { // total size: 0x8 } __RTTI__PPQ210SaytrState10PhoneCloud; // size: 0x8, address: 0x80879488 struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800867E8 -> 0x800867EC */ // Range: 0x800867E8 -> 0x800867EC void * StlNodeAlloc::StlNodeAlloc() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800867EC -> 0x80086C4C */ // Range: 0x800867EC -> 0x800868BC int & deque::__vc() {} // Range: 0x800868BC -> 0x8008698C class PhoneCloud * & deque::__vc() {} // Range: 0x8008698C -> 0x800869A4 unsigned char deque::empty() {} // Range: 0x800869A4 -> 0x800869E0 void deque::push_back() {} // Range: 0x800869E0 -> 0x80086A4C unsigned long deque::size() {} // Range: 0x80086A4C -> 0x80086AA8 int & deque::back() { // Local variables struct _Deque_iterator __tmp; // r1+0x8 } // Range: 0x80086AA8 -> 0x80086B1C void * deque::deque(class deque * const this /* r30 */, const float & __val /* r31 */) {} // Range: 0x80086B1C -> 0x80086B7C void * deque::~deque(class deque * const this /* r30 */) {} // Range: 0x80086B7C -> 0x80086C4C float & deque::__vc() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80086C4C -> 0x80086E94 */ // Range: 0x80086C4C -> 0x80086E64 int SaytrState::Update(class SaytrState * const this /* r30 */, int ms /* r1+0x8 */, struct SpeechAnalysis * analyses /* r27 */, int count /* r28 */) { // Local variables int removed; // r31 // References // -> class Debug TheDebug; } // Range: 0x80086E64 -> 0x80086E7C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x80086E7C -> 0x80086E94 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80086E94 -> 0x80086F14 */ // Range: 0x80086E94 -> 0x80086EAC int & Min() {} // Range: 0x80086EAC -> 0x80086EBC int Abs() {} // Range: 0x80086EBC -> 0x80086F14 int & Mid() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80086F14 -> 0x80087DBC */ // Range: 0x80086F14 -> 0x80086F88 void deque::_M_fill_initialize() { // Local variables float * * __cur; // r7 } // Range: 0x80086F88 -> 0x80087038 void deque::clear(class deque * const this /* r30 */) { // Local variables class PhoneCloud * * * __node; // r31 } // Range: 0x80087038 -> 0x800870FC void deque::_M_push_back_aux_v(class deque * const this /* r31 */, class PhoneCloud * const & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ210SaytrState10PhoneCloud; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800870FC -> 0x80087170 void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x80087170 -> 0x80087354 void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 class PhoneCloud * * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPPQ210SaytrState10PhoneCloud; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087354 -> 0x80087404 void deque::clear(class deque * const this /* r30 */) { // Local variables int * * __node; // r31 } // Range: 0x80087404 -> 0x800874C8 void deque::_M_push_back_aux_v(class deque * const this /* r31 */, const int & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800874C8 -> 0x8008753C void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x8008753C -> 0x80087720 void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 int * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087720 -> 0x8008779C void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x8008779C -> 0x80087898 void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 float * * __nstart; // r28 float * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPf; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087898 -> 0x80087904 void _Deque_base::_M_create_nodes(float * * __nfinish /* r30 */) { // Local variables float * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pf; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087904 -> 0x80087954 void _Deque_base::_M_destroy_nodes(float * * __nfinish /* r30 */) { // Local variables float * * __n; // r31 } // Range: 0x80087954 -> 0x800879D0 void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x800879D0 -> 0x80087ACC void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 int * * __nstart; // r28 int * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087ACC -> 0x80087B38 void _Deque_base::_M_create_nodes(int * * __nfinish /* r30 */) { // Local variables int * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087B38 -> 0x80087B88 void _Deque_base::_M_destroy_nodes(int * * __nfinish /* r30 */) { // Local variables int * * __n; // r31 } // Range: 0x80087B88 -> 0x80087C04 void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x80087C04 -> 0x80087D00 void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 class PhoneCloud * * * __nstart; // r28 class PhoneCloud * * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPPQ210SaytrState10PhoneCloud; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087D00 -> 0x80087D6C void _Deque_base::_M_create_nodes(class PhoneCloud * * * __nfinish /* r30 */) { // Local variables class PhoneCloud * * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ210SaytrState10PhoneCloud; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80087D6C -> 0x80087DBC void _Deque_base::_M_destroy_nodes(class PhoneCloud * * * __nfinish /* r30 */) { // Local variables class PhoneCloud * * * __n; // r31 } /* Compile unit: C:\rockband2\band2\src\game\ScoreUtl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80087DBC -> 0x80087E4C */ // Range: 0x80087DBC -> 0x80087E4C int GetStarsForScore(int score /* r28 */, int player /* r29 */) { // Local variables int baseMax; // r31 int baseBonus; // r30 enum TrackType track_type; // r0 // References // -> class Scoring * TheScoring; // -> class BandUserMgr * TheBandUserMgr; // -> class SongDB * TheSongDB; } /* Compile unit: C:\rockband2\band2\src\game\Scoring.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80087E4C -> 0x80089968 */ class Scoring * TheScoring; // size: 0x4, address: 0x80A49E08 // Range: 0x80087E4C -> 0x80088184 void * StarPowerConfig::StarPowerConfig(struct StarPowerConfig * const this /* r30 */, class DataArray * config /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80088184 -> 0x80088608 void * Scoring::Scoring(class Scoring * const this /* r30 */) { // Local variables class DataArray * error; // r27 class DataArray * streaks; // r27 class DataArray * multipliers; // r26 class DataArray * energies; // r27 class DataArray * points_array; // r26 int i; // r25 enum TrackType type; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Scoring * TheScoring; } // Range: 0x80088608 -> 0x800888F0 void * Scoring::~Scoring(class Scoring * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Scoring * TheScoring; } // Range: 0x800888F0 -> 0x80088BAC void Scoring::InitializeStreakList(class vector & list /* r27 */, class DataArray * cfg /* r28 */) { // Local variables int i; // r29 int j; // r30 struct StreakItem info; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27Scoring10StreakItem; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ27Scoring10StreakItem; // size: 0x8, address: 0x80879658 // Range: 0x80088BAC -> 0x80088BBC int Scoring::GetHeadPoints() {} // Range: 0x80088BBC -> 0x80088C50 int Scoring::GetTailPoints() { // Local variables float quarterNotes; // f1 } static class Symbol defaultSymbol; // size: 0x4, address: 0x80A49E10 // Range: 0x80088C50 -> 0x80088D40 struct StreakList * Scoring::GetStreakList(const class vector & lists /* r28 */, class Symbol & type /* r29 */) { // Local variables const struct StreakList * default_list; // r30 int i; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol defaultSymbol; } // Range: 0x80088D40 -> 0x80088D70 struct StreakList * Scoring::GetStreakMultList() {} // Range: 0x80088D70 -> 0x80088E50 float Scoring::GetStreakData(int notes /* r29 */, class Symbol & streak_type /* r30 */) { // Local variables float data; // f31 unsigned char found; // r31 const class vector & items; // r0 int i; // r5 // References // -> class Debug TheDebug; } // Range: 0x80088E50 -> 0x80088E8C int Scoring::GetStreakMult() {} // Range: 0x80088E8C -> 0x80088F50 float Scoring::GetPartialStreakFraction(int notes /* r31 */) { // Local variables const struct StreakList * list; // r0 const class vector & items; // r0 int bottom_notes; // r5 int i; // r6 } // Range: 0x80088F50 -> 0x80089034 class DataArray * Scoring::GetCrowdConfig(const class Scoring * const this /* r29 */, enum Difficulty diff /* r31 */, class BandUser * p_cfg /* r30 */) { // Local variables class DataArray * cfgs; // r31 class Symbol type; // r1+0x1C class DataArray * cfg; // r0 } // Range: 0x80089034 -> 0x80089068 int NumInstrsInBitfield() { // Local variables int num; // r4 int i; // r5 } // Range: 0x80089068 -> 0x80089110 unsigned char MatchInstruments(int instr_bitfield /* r29 */, const class DataArray * instrs /* r30 */) { // Local variables int i; // r31 } static class Symbol star_ratings; // size: 0x4, address: 0x80A49E18 static class Symbol band_thresholds; // size: 0x4, address: 0x80A49E20 // Range: 0x80089110 -> 0x8008924C class DataArray * Scoring::GetMultiplierThresholds(const class Scoring * const this /* r27 */, int instr_bitfield /* r26 */) { // Local variables class DataArray * cfg; // r29 int num_instrs; // r28 int i; // r27 // References // -> class Debug TheDebug; // -> static class Symbol band_thresholds; // -> static class Symbol star_ratings; } // Range: 0x8008924C -> 0x80089298 int Scoring::GetNumStars() { // Local variables int numStars; // r1+0x8 } static class Symbol star_ratings; // size: 0x4, address: 0x80A49E28 static class Symbol difficulty_thresholds; // size: 0x4, address: 0x80A49E30 static class Symbol bonus_thresholds; // size: 0x4, address: 0x80A49E38 // Range: 0x80089298 -> 0x80089524 float Scoring::GetNumStarsFloat(const class Scoring * const this /* r27 */, int score /* r28 */, int instr_bitfield /* r21 */, int max_base /* r29 */, int bonus_base /* r30 */, unsigned char enforce_diff_restrictions /* r31 */) { // Local variables class DataArray * thresh; // r24 class DataArray * diff_thresh; // r23 class DataArray * bonus_thresh; // r22 enum Difficulty avg_diff; // r0 float next_star_threshold; // f30 int i; // r21 float req_score; // f31 float fracToNext; // f2 // References // -> class GameConfig * TheGameConfig; // -> static class Symbol bonus_thresholds; // -> static class Symbol difficulty_thresholds; // -> static class Symbol star_ratings; } // Range: 0x80089524 -> 0x80089618 class Symbol Scoring::GetStarRating(const class Scoring * const this /* r30 */, int numStars /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x80089618 -> 0x80089674 int Scoring::GetNotesPerMultiplier() { // Local variables const struct StreakList * streakList; // r0 } // Range: 0x80089674 -> 0x800897A4 void Scoring::GetSoloAward(class Scoring * const this /* r28 */, int percent /* r24 */, class Symbol & type /* r25 */, int & points /* r26 */, class Symbol & resultToken /* r27 */) { // Local variables class DataArray * awards; // r29 int i; // r28 // References // -> class Debug TheDebug; } // Range: 0x800897A4 -> 0x80089840 float Scoring::GetSoloGemReward(class Scoring * const this /* r28 */) {} // Range: 0x80089840 -> 0x800898DC float Scoring::GetSoloGemPenalty(class Scoring * const this /* r28 */) {} // Range: 0x800898DC -> 0x80089968 int Scoring::GetScoreForStars(int stars /* r29 */, int max_base /* r30 */) { // Local variables class DataArray * threshes; // r31 } struct { // total size: 0x8 } __RTTI__PQ27Scoring10StreakList; // size: 0x8, address: 0x808797E8 struct { // total size: 0x8 } __RTTI__PQ27Scoring10PointsInfo; // size: 0x8, address: 0x80879808 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80089968 -> 0x80089AE0 */ // Range: 0x80089968 -> 0x80089A00 char * Scoring::HitTypeStr() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80089A00 -> 0x80089AE0 enum HitType Scoring::ClassifyHit(const class Scoring * const this /* r31 */, float errorMs /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80089AE0 -> 0x80089AE4 */ // Range: 0x80089AE0 -> 0x80089AE4 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80089AE4 -> 0x8008A60C */ // Range: 0x80089AE4 -> 0x80089FDC void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct StreakList * __pos /* r25 */, const struct StreakList & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 struct StreakList * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PQ27Scoring10StreakItem; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27Scoring10StreakList; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80089FDC -> 0x8008A1C8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct StreakItem * __pos /* r26 */, const struct StreakItem & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct StreakItem * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27Scoring10StreakItem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008A1C8 -> 0x8008A238 void vector::_M_fill_insert() {} // Range: 0x8008A238 -> 0x8008A424 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct PointsInfo * __pos /* r26 */, const struct PointsInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct PointsInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27Scoring10PointsInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008A424 -> 0x8008A60C void vector::_M_fill_insert_aux() { // Local variables struct PointsInfo __x_copy; // r1+0x20 unsigned long __elems_after; // r9 struct PointsInfo * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\game\Shuttle.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008A60C -> 0x8008A710 */ // Range: 0x8008A60C -> 0x8008A628 void * Shuttle::Shuttle() {} // Range: 0x8008A628 -> 0x8008A668 void * Shuttle::~Shuttle(class Shuttle * const this /* r31 */) {} // Range: 0x8008A668 -> 0x8008A670 void Shuttle::SetActive() {} // Range: 0x8008A670 -> 0x8008A710 void Shuttle::Poll(class Shuttle * const this /* r31 */) { // Local variables class JoypadData * data; // r0 float y; // f1 float kRate; // f31 float delta; // f1 } /* Compile unit: C:\rockband2\band2\src\game\SongDB.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008A710 -> 0x8008CC88 */ class SongDB * TheSongDB; // size: 0x4, address: 0x80A49E40 // Range: 0x8008A710 -> 0x8008A72C static unsigned char ExtentCmp() {} class DrumMap : private DrumFillInfo { // total size: 0x20 int mCurrentLanes; // offset 0x1C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Phrase * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Phrase * _M_start; // offset 0x0, size 0x4 class Phrase * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PhraseList { // total size: 0xC class vector mPhrases; // offset 0x0, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PhraseList * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PhraseList * * _M_start; // offset 0x0, size 0x4 class PhraseList * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PhraseListCollection { // total size: 0xC class vector mPhraseLists; // offset 0x0, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PhraseListCollection * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PhraseListCollection * * _M_start; // offset 0x0, size 0x4 class PhraseListCollection * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PhraseDB { // total size: 0x20 class vector mPhraseListCollections; // offset 0x0, size 0xC class vector mCopy; // offset 0xC, size 0x14 }; class GameGemInfoList { // total size: 0x10 int mTrack; // offset 0x0, size 0x4 class vector mGemInfos; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GameGemInfoList * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GameGemInfoList * * _M_start; // offset 0x0, size 0x4 class GameGemInfoList * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class GameGemInfoPlayerDB { // total size: 0xC class vector mGameGemInfoLists; // offset 0x0, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class GameGemInfoPlayerDB * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class GameGemInfoPlayerDB * * _M_start; // offset 0x0, size 0x4 class GameGemInfoPlayerDB * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class GameGemInfoDB { // total size: 0xC class vector mGameGemDBs; // offset 0x0, size 0xC }; class PhraseAnalyzer { // total size: 0x28 unsigned char mPerformedAnalysis; // offset 0x0, size 0x1 int mPhraseStartWindow; // offset 0x4, size 0x4 class vector mPhrases; // offset 0x8, size 0xC class vector mRawPhrases; // offset 0x14, size 0xC class Symbol mSong; // offset 0x20, size 0x4 unsigned char mNotify; // offset 0x24, size 0x1 }; // Range: 0x8008A72C -> 0x8008A868 void * SongDB::SongDB(class SongDB * const this /* r30 */) { // References // -> class GameMode * TheGameMode; // -> const char * gNullStr; // -> struct [anonymous] __vt__6SongDB; } class Phrase { // total size: 0x10 protected: float mMs; // offset 0x0, size 0x4 float mDurationMs; // offset 0x4, size 0x4 int mTick; // offset 0x8, size 0x4 int mDurationTicks; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; struct RawPhrase { // total size: 0x14 int track; // offset 0x0, size 0x4 int start_tick; // offset 0x4, size 0x4 int end_tick; // offset 0x8, size 0x4 int independent; // offset 0xC, size 0x4 int id; // offset 0x10, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct RawPhrase * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct RawPhrase * _M_start; // offset 0x0, size 0x4 struct RawPhrase * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8008A868 -> 0x8008ACC0 void * SongDB::~SongDB(class SongDB * const this /* r28 */) { // References // -> struct [anonymous] __vt__6SongDB; } // Range: 0x8008ACC0 -> 0x8008ACC8 void SongDB::PreLoad() {} // Range: 0x8008ACC8 -> 0x8008AD4C void SongDB::PostLoad(class SongDB * const this /* r30 */, class DataEventList * events /* r31 */) {} // Range: 0x8008AD4C -> 0x8008AD88 void SongDB::CorrectBasePoints(class SongDB * const this /* r31 */) {} // Range: 0x8008AD88 -> 0x8008AD90 int SongDB::TotalBasePoints() {} // Range: 0x8008AD90 -> 0x8008AD98 float SongDB::GetSongDurationMs() {} // Range: 0x8008AD98 -> 0x8008ADA0 void SongDB::SetSongDurationMs() {} // Range: 0x8008ADA0 -> 0x8008ADA8 int SongDB::GetCodaStartTick() {} // Range: 0x8008ADA8 -> 0x8008ADCC int SongDB::IsInCoda() {} // Range: 0x8008ADCC -> 0x8008ADD8 int SongDB::GetNumTracks() {} // Range: 0x8008ADD8 -> 0x8008AE00 int SongDB::GetNumTrackData() {} // Range: 0x8008AE00 -> 0x8008AE3C float SongDB::GetScoreNormalizationFactor() { // Local variables float val; // f0 } // Range: 0x8008AE3C -> 0x8008AE6C int SongDB::GetBaseMaxPoints() {} // Range: 0x8008AE6C -> 0x8008AE9C int SongDB::GetBaseMaxStreakPoints() {} // Range: 0x8008AE9C -> 0x8008AECC int SongDB::GetBaseBonusPoints() {} // Range: 0x8008AECC -> 0x8008AED4 class GameGemList & SongDB::GetGemList() {} // Range: 0x8008AED4 -> 0x8008AEFC class vector & SongDB::GetGems() {} // Range: 0x8008AEFC -> 0x8008AF34 class GameGem & SongDB::GetGem(int gem_id /* r31 */) {} // Range: 0x8008AF34 -> 0x8008AF68 class vector & SongDB::GetGemInfos(int track /* r0 */) {} // Range: 0x8008AF68 -> 0x8008AF9C int SongDB::GetTotalGems() {} // Range: 0x8008AF9C -> 0x8008AFA8 class VocalNoteList * SongDB::GetVocalNoteList() {} // Range: 0x8008AFA8 -> 0x8008B0E0 unsigned char SongDB::GetPhraseExtents(class SongDB * const this /* r27 */, enum BeatmatchPhraseType type /* r28 */, int track /* r29 */, int tick /* r1+0x8 */, int & start_tick /* r30 */, int & end_tick /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8008B0E0 -> 0x8008B14C unsigned char SongDB::GetCommonPhraseExtent() { // Local variables int local_phrase_id; // r0 } // Range: 0x8008B14C -> 0x8008B1A0 unsigned char SongDB::IsInPhrase(const class SongDB * const this /* r30 */, enum BeatmatchPhraseType type /* r0 */, int gem_id /* r31 */) {} // Range: 0x8008B1A0 -> 0x8008B33C void SongDB::DisableCodaGems(class SongDB * const this /* r27 */) { // Local variables int t; // r31 class GameGemList & gems; // r30 class DrumFillInfo * fills; // r0 int end; // r29 int gem_id; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8008B33C -> 0x8008B350 class vector & SongDB::GetPhraseIDs() {} // Range: 0x8008B350 -> 0x8008B358 class vector & SongDB::GetSpotlightPhraseInfo() {} // Range: 0x8008B358 -> 0x8008B448 int SongDB::GetCommonPhraseID(const class SongDB * const this /* r29 */, int track /* r30 */, int tick /* r31 */) { // Local variables const class vector & raw_phrases; // r0 const struct RawPhrase * it; // r4 int phraseID; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8008B448 -> 0x8008B4A8 class FillInfo * SongDB::GetFillInfo(class SongDB * const this /* r30 */, int track /* r31 */) {} // Range: 0x8008B4A8 -> 0x8008B4DC struct MBT SongDB::GetMBT(struct MBT * mbt /* r7 */, const class SongDB * const this /* r6 */) {} // Range: 0x8008B4DC -> 0x8008B518 int SongDB::GetBeatsPerMeasure() { // Local variables int measure; // r1+0x14 int beat; // r1+0x10 int t; // r1+0xC int beatsPerMeasure; // r1+0x8 } // Range: 0x8008B518 -> 0x8008B520 void SongDB::SetNumTracks() {} // Range: 0x8008B520 -> 0x8008BBD0 void SongDB::AddTrack(class SongDB * const this /* r26 */, int track /* r27 */, class Symbol & name /* r28 */, class Symbol & instrument /* r29 */, unsigned char independent_gems /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Pi; // -> struct [anonymous] __RTTI__PUc; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Extent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008BBD0 -> 0x8008BC64 void SongDB::AddMultiGem(class SongDB * const this /* r29 */, int track /* r30 */, const class GameGem & gem /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol vocals; // size: 0x4, address: 0x80A49E48 // Range: 0x8008BC64 -> 0x8008BE10 void SongDB::AddPhrase(class SongDB * const this /* r29 */, enum BeatmatchPhraseType type /* r26 */, int track /* r30 */, const class Phrase & phrase /* r31 */) { // Local variables class vector & phrases; // r3 // References // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> static class Symbol vocals; } // Range: 0x8008BE10 -> 0x8008BEB0 unsigned char SongDB::IsAlternateGem(int tick /* r29 */, int lane /* r30 */) { // Local variables class DrumMap * drum_map; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8008BEB0 -> 0x8008BF60 unsigned char SongDB::IsActive(const class SongDB * const this /* r29 */, float ms /* f31 */, int track /* r30 */, int slot /* r31 */) { // Local variables const class PhraseList & phrases; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8008BF60 -> 0x8008BF64 void SongDB::SpewAllVocalNotes() {} struct { // total size: 0x8 } __RTTI__P9VocalNote; // size: 0x8, address: 0x808798D8 struct { // total size: 0x8 } __RTTI__P11VocalPhrase; // size: 0x8, address: 0x808798F0 // Range: 0x8008BF64 -> 0x8008BF68 void SongDB::SpewTrackSizes() {} static class Symbol coda; // size: 0x4, address: 0x80A49E50 static class Symbol end; // size: 0x4, address: 0x80A49E58 // Range: 0x8008BF68 -> 0x8008C0B8 void SongDB::ParseEvents(class SongDB * const this /* r27 */, class DataEventList * events /* r28 */) { // Local variables int i; // r29 const class DataEvent & evt; // r0 float ms; // f0 float limitMs; // f0 // References // -> class GameConfig * TheGameConfig; // -> class Debug TheDebug; // -> static class Symbol end; // -> static class Symbol coda; } // Range: 0x8008C0B8 -> 0x8008C11C void SongDB::SetupPhrases(class SongDB * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x8008C11C -> 0x8008C4D8 void SongDB::SetupCommonPhrasesForTrack(class SongDB * const this /* r20 */, int track_num /* r21 */) { // Local variables const class vector & gems; // r0 class vector & phrase_ids; // r27 class vector & phrase_mapping; // r26 class vector & common_phrases; // r25 const class vector & raw_phrases; // r0 int next_phrase_idx; // r24 int local_phrase_id; // r23 int gem; // r22 int phrase_id; // r1+0x28 int g; // r4 } // Range: 0x8008C4D8 -> 0x8008C4F0 void SongDB::SetupSoloPhrasesForTrack() {} // Range: 0x8008C4F0 -> 0x8008C6FC void SongDB::SetupPhrasesForTrack(class SongDB * const this /* r25 */, class vector & star_phrases /* r26 */, class vector & gem_star_state /* r27 */) { // Local variables const class vector & gems; // r0 int phrase; // r29 int gem; // r28 unsigned char state; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8008C6FC -> 0x8008C728 unsigned char SongDB::IsInPhrase() {} // Range: 0x8008C728 -> 0x8008C754 unsigned char SongDB::IsPhraseEnd() {} // Range: 0x8008C754 -> 0x8008C7C4 class vector & TrackData::GetGemStates(const struct TrackData * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x8008C7C4 -> 0x8008C854 int SongDB::NextPhraseIndexAfter(int track_num /* r30 */, int idx /* r31 */) { // Local variables const class vector & raw_phrases; // r0 int next; // r6 } // Range: 0x8008C854 -> 0x8008C86C class vector & SongDB::GetGemStates(int track /* r0 */) {} static class Symbol section; // size: 0x4, address: 0x80A49E60 class MemDoTempAllocations { // total size: 0x4 int mOld; // offset 0x0, size 0x4 }; // Range: 0x8008C86C -> 0x8008CC10 void SongDB::SetupPracticeSections(class SongDB * const this /* r29 */) { // Local variables class DataEventList * events; // r31 int i; // r30 const class DataEvent & evt; // r0 class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x40 struct PracticeSection ps; // r1+0x50 int numSecs; // r5 int i; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P15PracticeSection; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class Game * TheGame; // -> static class Symbol section; } // Range: 0x8008CC10 -> 0x8008CC18 void SongDB::SetFakeHitGemsInFill() {} // Range: 0x8008CC18 -> 0x8008CC20 void SongDB::RecalculateGemTimes() {} // Range: 0x8008CC20 -> 0x8008CC54 void SongDB::CopyGems(int src_track /* r11 */, int player /* r0 */) {} // Range: 0x8008CC54 -> 0x8008CC5C void SongDB::EnableGems() {} struct { // total size: 0x1C } __vt__6SongDB; // size: 0x1C, address: 0x80879978 struct { // total size: 0x8 } __RTTI__6SongDB; // size: 0x8, address: 0x808799A8 // Range: 0x8008CC5C -> 0x8008CC88 void _Vector_base::_M_throw_length_error() {} struct { // total size: 0x8 } __RTTI__PQ26SongDB9TrackData; // size: 0x8, address: 0x808799D0 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008CC88 -> 0x8008CCAC */ // Range: 0x8008CC88 -> 0x8008CCAC struct TrackData * StlNodeAlloc::allocate() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ26SongDB9TrackData; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008CCAC -> 0x8008CF50 */ // Range: 0x8008CCAC -> 0x8008CCD4 unsigned long vector::size() {} // Range: 0x8008CCD4 -> 0x8008CCD8 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8008CCD8 -> 0x8008CCDC class StlNodeAlloc vector::get_allocator() {} // Range: 0x8008CCDC -> 0x8008CCE0 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8008CCE0 -> 0x8008CCE4 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8008CCE4 -> 0x8008CF40 void vector::_M_clear_after_move(class vector * const this /* r29 */) {} // Range: 0x8008CF40 -> 0x8008CF50 void vector::_M_set() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008CF50 -> 0x8008CFE0 */ // Range: 0x8008CF50 -> 0x8008CFE0 struct Extent * __lower_bound(struct Extent * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(struct Extent &, int) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 struct Extent * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008CFE0 -> 0x8008D02C */ // Range: 0x8008CFE0 -> 0x8008D02C char * MakeString(const char * fmt /* r0 */, enum BeatmatchPhraseType t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_construct.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008D02C -> 0x8008D468 */ // Range: 0x8008D02C -> 0x8008D468 void _Copy_Construct(const struct TrackData & __val /* r30 */) { // References // -> struct [anonymous] __RTTI__Pi; // -> struct [anonymous] __RTTI__PUc; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Extent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008D468 -> 0x8008DF74 */ // Range: 0x8008D468 -> 0x8008D58C void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct TrackData * __pos /* r25 */, const struct TrackData & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x28 unsigned long __len; // r30 struct TrackData * __new_start; // r29 struct TrackData * __new_finish; // r28 } // Range: 0x8008D58C -> 0x8008DCF8 void vector::reserve(class vector * const this /* r25 */, unsigned long __n /* r26 */) { // Local variables struct TrackData * __tmp; // r26 // References // -> struct [anonymous] __RTTI__Pi; // -> struct [anonymous] __RTTI__PUc; // -> struct [anonymous] __RTTI__P6Extent; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ26SongDB9TrackData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008DCF8 -> 0x8008DE00 void vector::reserve(class vector * const this /* r31 */, unsigned long __n /* r26 */) { // Local variables unsigned char * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008DE00 -> 0x8008DF48 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables int * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008DF48 -> 0x8008DF74 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_uninitialized.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008DF74 -> 0x8008E834 */ // Range: 0x8008DF74 -> 0x8008E3D4 struct TrackData * __uninitialized_move(struct TrackData * __last /* r29 */) { // References // -> struct [anonymous] __RTTI__Pi; // -> struct [anonymous] __RTTI__PUc; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Extent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8008E3D4 -> 0x8008E834 struct TrackData * __uninitialized_fill_n(unsigned long __n /* r29 */, const struct TrackData & __x /* r30 */) { // Local variables struct TrackData * __cur; // r31 // References // -> struct [anonymous] __RTTI__Pi; // -> struct [anonymous] __RTTI__PUc; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Extent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008E834 -> 0x8008E84C */ // Range: 0x8008E834 -> 0x8008E84C unsigned long & max() {} /* Compile unit: C:\rockband2\band2\src\game\SongMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8008E84C -> 0x80094E00 */ static class SongMgr gSongMgr; // size: 0x80, address: 0x809777E8 class SongMgr & TheSongMgr; // size: 0x4, address: 0x80A49E68 static char * gPartSyms[4]; // size: 0x10, address: 0x808799F8 static const char * const OLD_DLC_DIR; // size: 0x4, address: 0x80A56390 // Range: 0x8008E84C -> 0x8008E91C void * SongMgr::SongMgr(class SongMgr * const this /* r30 */) { // References // -> struct [anonymous] __vt__7SongMgr; } struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 const class DataArray * second; // offset 0x4, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x30 public: struct SongRanking _M_data; // offset 0x8, size 0x28 }; static class Symbol missing_song_data; // size: 0x4, address: 0x80A49E70 // Range: 0x8008E91C -> 0x8008EA68 void SongMgr::Init(class SongMgr * const this /* r30 */) { // References // -> static class Symbol missing_song_data; // -> class ContentMgr & TheContentMgr; // -> class ObjectDir * sMainDir; } // Range: 0x8008EA68 -> 0x8008EB0C void SongMgr::Terminate(class SongMgr * const this /* r31 */) { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x8008EB0C -> 0x8008EB70 void SongMgr::ContentStarted(class SongMgr * const this /* r31 */) {} // Range: 0x8008EB70 -> 0x8008EC24 void SongMgr::ContentLoaded(class SongMgr * const this /* r29 */, enum ContentLocT location /* r30 */) { // Local variables class DataLoader * d; // r31 class DataArray * new_songs; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10DataLoader; } static class Symbol rank; // size: 0x4, address: 0x80A49E78 static class Symbol downloaded; // size: 0x4, address: 0x80A49E80 struct SongRankCmp { // total size: 0x8 const class SongMgr & mSongMgr; // offset 0x0, size 0x4 class Symbol mPart; // offset 0x4, size 0x4 }; struct pair { // total size: 0x8 float first; // offset 0x0, size 0x4 float second; // offset 0x4, size 0x4 }; // Range: 0x8008EC24 -> 0x8008F410 void SongMgr::ContentDone(class SongMgr * const this /* r25 */) { // Local variables class vector all_ranked; // r1+0xE0 int i; // r27 class Symbol song_name; // r1+0xC4 unsigned char is_ranked; // r0 class Symbol instruments[5]; // r1+0xEC int i; // r28 struct SongRanking r; // r1+0x100 struct SongRankCmp cmp; // r1+0xD8 class Symbol * s; // r26 class Symbol song; // r1+0xC0 class DataArray * rank_groups; // r0 int num_groups; // r29 int song; // r30 int j; // r27 int group_size; // r26 class Symbol first_song; // r1+0xBC class Symbol last_song; // r1+0xB8 struct pair range; // r1+0xD0 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std9pair; // -> struct [anonymous] __RTTI__P6Symbol; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std35_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> static class Symbol downloaded; // -> static class Symbol rank; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std9pair; // size: 0x8, address: 0x80879AD8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std35_List_node; // size: 0x8, address: 0x80879B10 // Range: 0x8008F410 -> 0x8008F460 class Symbol SongMgr::Song() {} static class Symbol tutorial; // size: 0x4, address: 0x80A49E88 // Range: 0x8008F460 -> 0x8008F51C unsigned char SongMgr::IsTutorial(const class DataArray * data /* r30 */) { // Local variables class DataArray * t; // r30 // References // -> static class Symbol tutorial; } static class Symbol fake; // size: 0x4, address: 0x80A49E90 // Range: 0x8008F51C -> 0x8008F5D8 unsigned char SongMgr::IsFake(const class DataArray * data /* r30 */) { // Local variables class DataArray * t; // r30 // References // -> static class Symbol fake; } // Range: 0x8008F5D8 -> 0x8008F67C unsigned char SongMgr::IsPrivate(const class SongMgr * const this /* r28 */, class Symbol & song /* r29 */, const class DataArray * data /* r30 */) {} static class Symbol downloaded; // size: 0x4, address: 0x80A49E98 // Range: 0x8008F67C -> 0x8008F738 unsigned char SongMgr::IsDownload(const class DataArray * data /* r30 */) { // Local variables class DataArray * t; // r30 // References // -> static class Symbol downloaded; } static class Symbol song_location; // size: 0x4, address: 0x80A49EA0 // Range: 0x8008F738 -> 0x8008F7E8 unsigned char SongMgr::IsOnDisc(const class DataArray * data /* r31 */) { // Local variables class DataArray * t; // r31 enum ContentLocT loc; // r0 // References // -> static class Symbol song_location; } static class Symbol rank; // size: 0x4, address: 0x80A49EA8 // Range: 0x8008F7E8 -> 0x8008F878 unsigned char SongMgr::IsRanked(const class DataArray * data /* r31 */) { // References // -> static class Symbol rank; } static class Symbol exported; // size: 0x4, address: 0x80A49EB0 // Range: 0x8008F878 -> 0x8008F978 unsigned char SongMgr::IsExported(const class SongMgr * const this /* r28 */, class Symbol & song /* r29 */, const class DataArray * data /* r30 */) { // Local variables unsigned char ret; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol exported; } // Range: 0x8008F978 -> 0x8008FA1C unsigned char SongMgr::IsUnlockable(const class SongMgr * const this /* r28 */, class Symbol & song /* r29 */, const class DataArray * data /* r30 */) {} static class Symbol version; // size: 0x4, address: 0x80A49EB8 // Range: 0x8008FA1C -> 0x8008FAA8 int SongMgr::GetVersion(const class DataArray * data /* r31 */) { // Local variables int ret; // r1+0x10 // References // -> static class Symbol version; } // Range: 0x8008FAA8 -> 0x8008FAE8 unsigned char SongMgr::HasSong() {} static class DataNode & force_song_block; // size: 0x4, address: 0x80A49EC0 static class Symbol song; // size: 0x4, address: 0x80A49EC8 static class Symbol song_vocals; // size: 0x4, address: 0x80A49ED0 static class Symbol vocals; // size: 0x4, address: 0x80A49ED8 // Range: 0x8008FAE8 -> 0x8008FCF8 class DataArray * SongMgr::SongAudioData(const class SongMgr * const this /* r29 */, class Symbol & song_name /* r28 */) { // Local variables const class DataArray * songData; // r28 class DataArray * data; // r0 // References // -> class GameMode * TheGameMode; // -> class GameConfig * TheGameConfig; // -> const char * gNullStr; // -> static class Symbol vocals; // -> static class Symbol song_vocals; // -> static class Symbol song; // -> static class DataNode & force_song_block; } static class Symbol preview; // size: 0x4, address: 0x80A49EE0 // Range: 0x8008FCF8 -> 0x8008FDC4 void SongMgr::SongPreviewTimes(float & start /* r29 */, float & end /* r30 */) { // Local variables const class DataArray * data; // r31 class DataArray * p; // r31 // References // -> static class Symbol preview; } static class Symbol name; // size: 0x4, address: 0x80A49EE8 // Range: 0x8008FDC4 -> 0x8008FE5C char * SongMgr::SongName() { // Local variables const class DataArray * data; // r31 // References // -> const char * gNullStr; // -> static class Symbol name; } static class Symbol artist; // size: 0x4, address: 0x80A49EF0 // Range: 0x8008FE5C -> 0x8008FEF4 char * SongMgr::SongArtist() { // Local variables const class DataArray * data; // r31 // References // -> const char * gNullStr; // -> static class Symbol artist; } static class Symbol album_name; // size: 0x4, address: 0x80A49EF8 // Range: 0x8008FEF4 -> 0x8008FF94 char * SongMgr::SongAlbum() { // Local variables const class DataArray * data; // r31 const class DataArray * a; // r31 // References // -> const char * gNullStr; // -> static class Symbol album_name; } static class Symbol album_track_number; // size: 0x4, address: 0x80A49F00 // Range: 0x8008FF94 -> 0x80090020 int SongMgr::SongAlbumTrack() { // Local variables int ret; // r1+0x10 const class DataArray * data; // r31 // References // -> static class Symbol album_track_number; } static class Symbol pack_name; // size: 0x4, address: 0x80A49F08 // Range: 0x80090020 -> 0x800900C0 char * SongMgr::SongPack() { // Local variables const class DataArray * data; // r31 const class DataArray * p; // r31 // References // -> const char * gNullStr; // -> static class Symbol pack_name; } static class Symbol alternate_path; // size: 0x4, address: 0x80A49F10 // Range: 0x800900C0 -> 0x800901D8 char * SongMgr::SongFilePath(const class SongMgr * const this /* r27 */, class Symbol & song /* r29 */, const char * append /* r28 */) { // Local variables const class DataArray * data; // r30 const class DataArray * pAltPath; // r30 const char * songName; // r29 // References // -> const char * gNullStr; // -> static class Symbol alternate_path; } static class Symbol album_art; // size: 0x4, address: 0x80A49F18 // Range: 0x800901D8 -> 0x800902CC char * SongMgr::GetAlbumArtPath(const class SongMgr * const this /* r28 */, class Symbol & song /* r29 */) { // Local variables const class DataArray * data; // r30 const class DataArray * pArt; // r30 // References // -> const char * gNullStr; // -> static class Symbol album_art; } // Range: 0x800902CC -> 0x80090300 char * SongMgr::GetPanPath() {} static class Symbol master; // size: 0x4, address: 0x80A49F20 // Range: 0x80090300 -> 0x80090390 unsigned char SongMgr::IsMaster() { // Local variables const class DataArray * data; // r31 unsigned char is_master; // r1+0x8 // References // -> static class Symbol master; } static class Symbol mtv_made_famous; // size: 0x4, address: 0x80A49F28 static class Symbol mtv_masters; // size: 0x4, address: 0x80A49F30 // Range: 0x80090390 -> 0x80090498 char * SongMgr::ByLine(const class SongMgr * const this /* r29 */, class Symbol & song /* r31 */) { // Local variables const class DataArray * data; // r0 class Symbol token; // r1+0x18 // References // -> const char * gNullStr; // -> static class Symbol mtv_masters; // -> static class Symbol mtv_made_famous; } static class Symbol anim_tempo; // size: 0x4, address: 0x80A49F38 // Range: 0x80090498 -> 0x80090530 int SongMgr::AnimTempo() { // Local variables const class DataArray * data; // r31 // References // -> static class Symbol anim_tempo; } static class Symbol name; // size: 0x4, address: 0x80A49F40 // Range: 0x80090530 -> 0x800905CC char * SongMgr::SongPath(const class SongMgr * const this /* r30 */, class Symbol & songName /* r31 */) { // References // -> static class Symbol name; } static class Symbol song_scroll_speed; // size: 0x4, address: 0x80A49F48 // Range: 0x800905CC -> 0x80090664 float SongMgr::SongScrollSpeed() { // Local variables const class DataArray * data; // r31 // References // -> static class Symbol song_scroll_speed; } static class Symbol rank; // size: 0x4, address: 0x80A49F50 // Range: 0x80090664 -> 0x80090720 float SongMgr::SongPartRank(class Symbol & part /* r30 */, const class DataArray * data /* r31 */) { // Local variables class DataArray * rankings; // r0 // References // -> static class Symbol rank; } static class Symbol bank; // size: 0x4, address: 0x80A49F58 // Range: 0x80090720 -> 0x800907B8 char * SongMgr::Bank() { // Local variables const class DataArray * data; // r31 // References // -> const char * gNullStr; // -> static class Symbol bank; } // Range: 0x800907B8 -> 0x800908A4 int SongMgr::TrackNumOfInstrument(class Symbol & instrument /* r28 */) { // Local variables const class DataArray * song_array; // r31 const class DataArray * tracks; // r30 int i; // r29 } // Range: 0x800908A4 -> 0x800908BC unsigned char __eq() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x800908BC -> 0x80090990 class vector & SongMgr::RankedSongs(const class SongMgr * const this /* r29 */, class Symbol & instrument /* r30 */, enum SongType t /* r31 */) { // Local variables struct _List_iterator r; // r1+0x28 // References // -> class Debug TheDebug; } // Range: 0x80090990 -> 0x800909EC int SongMgr::RankTier(const class SongMgr * const this /* r31 */) {} // Range: 0x800909EC -> 0x80090AF4 int SongMgr::RankTier(const class SongMgr * const this /* r31 */, float ranking /* f31 */) { // Local variables struct _List_iterator r; // r1+0x24 int tier; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80090AF4 -> 0x80090BB0 int SongMgr::NumRankTiers(const class SongMgr * const this /* r31 */) { // Local variables struct _List_iterator r; // r1+0x24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol song_groupings; // size: 0x4, address: 0x80A49F60 static class Symbol rank; // size: 0x4, address: 0x80A49F68 static class Symbol band; // size: 0x4, address: 0x80A49F70 // Range: 0x80090BB0 -> 0x80090CAC class Symbol SongMgr::RankTierToken(int tier /* r30 */) { // References // -> static class Symbol band; // -> static class Symbol rank; // -> static class Symbol song_groupings; } // Range: 0x80090CAC -> 0x80090FA4 void SongMgr::ResetSharedSongs(class SongMgr * const this /* r31 */) { // Local variables class vector songs; // r1+0x60 class Symbol * s; // r30 class Symbol song; // r1+0x5C } // Range: 0x80090FA4 -> 0x80091218 void SongMgr::GetRankedSongs(const class SongMgr * const this /* r27 */, class vector & songs /* r28 */, unsigned char only_unlocked /* r29 */, class vector * allowed_parts /* r30 */) { // Local variables int i; // r31 class Symbol song; // r1+0x38 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80091218 -> 0x800912B4 unsigned char SongMgr::HasAllowedPart(const class SongMgr * const this /* r28 */, class Symbol & song /* r29 */, class vector & parts /* r30 */) { // Local variables class Symbol * p; // r31 } static class Symbol unlock_song_initial_num; // size: 0x4, address: 0x80A49F78 static class Symbol band; // size: 0x4, address: 0x80A49F80 // Range: 0x800912B4 -> 0x800914C4 unsigned char SongMgr::IsUnlocked(const class SongMgr * const this /* r29 */, class Symbol & song /* r30 */) { // Local variables int unlock_start_num; // r0 // References // -> static class Symbol band; // -> static class Symbol unlock_song_initial_num; // -> class GameMode * TheGameMode; // -> class ProfileMgr TheProfileMgr; // -> unsigned char sUnlockAll; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800914C4 -> 0x8009156C int SongMgr::Rank(class Symbol & song /* r31 */, class Symbol & instrument /* r4 */) { // Local variables const class vector & songs; // r0 const class Symbol * pos; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8009156C -> 0x80091724 void SongMgr::ProcessRemoteSharedSongs(class SongMgr * const this /* r29 */, const class vector & remote_songs /* r30 */) { // Local variables class Symbol * s; // r31 class Symbol song; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80091724 -> 0x800917A8 void SongMgr::SyncSharedSongs(class SongMgr * const this /* r30 */, const class vector & sharedSongs /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800917A8 -> 0x80091898 void SongMgr::AddSharedUnlocked(class SongMgr * const this /* r27 */, const class vector & songs /* r28 */) { // Local variables const class Symbol * s; // r29 class Symbol song; // r1+0x14 } // Range: 0x80091898 -> 0x80091930 unsigned char SongMgr::IsSongShared(const class SongMgr * const this /* r29 */, class Symbol & song /* r30 */) {} static class Symbol none; // size: 0x4, address: 0x80A49F88 static class Symbol guitar; // size: 0x4, address: 0x80A49F90 static class Symbol bass; // size: 0x4, address: 0x80A49F98 // Range: 0x80091930 -> 0x80091EF0 unsigned char SongMgr::HasMissingParts(const class SongMgr * const this /* r25 */, class Symbol & song /* r26 */, enum MissingPartType t /* r27 */, const class MetaPerformer & mp /* r30 */, class BandUserMgr & user_mgr /* r29 */, const class DataArray * data /* r28 */) { // Local variables class Symbol part_required_by_set; // r1+0x7C int num_guitars; // r30 class vector users; // r1+0x88 class BandUser * * buIt; // r29 class Symbol part; // r1+0x78 class Symbol guitar_parts[2]; // r1+0x80 int i; // r27 // References // -> const char * gNullStr; // -> const char * kAssertStr; // -> static class Symbol bass; // -> static class Symbol guitar; // -> static class Symbol none; // -> class Debug TheDebug; } // Range: 0x80091EF0 -> 0x80092018 void SongMgr::FindMissingParts(const class SongMgr * const this /* r28 */, class Symbol & song /* r29 */, class DataArray * missing /* r30 */) { // Local variables int i; // r31 // References // -> static char * gPartSyms[4]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80092018 -> 0x800923C8 void SongMgr::SendSongsToLeader(class SongMgr * const this /* r29 */) { // Local variables class vector localPlayers; // r1+0x8C class vector unlocked; // r1+0x80 class LocalSongsMsg msg; // r1+0x98 // References // -> class SessionMgr * TheSessionMgr; // -> class Net TheNet; // -> struct [anonymous] __RTTI__P6Symbol; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol version; // size: 0x4, address: 0x80A49FA0 // Range: 0x800923C8 -> 0x80092494 unsigned char SongMgr::CheckVersion(const class DataArray * data /* r31 */) { // Local variables int v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol version; } static class Symbol tuning_offset_cents; // size: 0x4, address: 0x80A49FA8 // Range: 0x80092494 -> 0x80092534 float SongMgr::TuningOffset() { // Local variables const class DataArray * data; // r31 class DataArray * offset; // r31 // References // -> static class Symbol tuning_offset_cents; } static class Symbol male; // size: 0x4, address: 0x80A49FB0 static class Symbol vocal_gender; // size: 0x4, address: 0x80A49FB8 // Range: 0x80092534 -> 0x800925F0 class Symbol SongMgr::VocalGender(const class SongMgr * const this /* r30 */, class Symbol & song /* r31 */) { // Local variables class Symbol retVal; // r1+0x10 const class DataArray * data; // r0 // References // -> static class Symbol vocal_gender; // -> static class Symbol male; } static class Symbol rock; // size: 0x4, address: 0x80A49FC0 static class Symbol genre; // size: 0x4, address: 0x80A49FC8 // Range: 0x800925F0 -> 0x800926AC class Symbol SongMgr::Genre(const class SongMgr * const this /* r30 */, class Symbol & song /* r31 */) { // Local variables class Symbol retVal; // r1+0x10 const class DataArray * data; // r0 // References // -> static class Symbol genre; // -> static class Symbol rock; } static class Symbol the00s; // size: 0x4, address: 0x80A49FD0 static class Symbol decade; // size: 0x4, address: 0x80A49FD8 // Range: 0x800926AC -> 0x80092768 class Symbol SongMgr::Decade(const class SongMgr * const this /* r30 */, class Symbol & song /* r31 */) { // Local variables class Symbol retVal; // r1+0x10 const class DataArray * data; // r0 // References // -> static class Symbol decade; // -> static class Symbol the00s; } static class Symbol year_released; // size: 0x4, address: 0x80A49FE0 // Range: 0x80092768 -> 0x80092800 int SongMgr::YearReleased(const class SongMgr * const this /* r30 */, class Symbol & song /* r31 */) { // Local variables int year; // r1+0x10 const class DataArray * data; // r0 // References // -> static class Symbol year_released; } static class Symbol base_points; // size: 0x4, address: 0x80A49FE8 // Range: 0x80092800 -> 0x80092898 int SongMgr::BasePoints(const class SongMgr * const this /* r30 */, class Symbol & song /* r31 */) { // Local variables int points; // r1+0x10 const class DataArray * data; // r0 // References // -> static class Symbol base_points; } static class Symbol video_venues; // size: 0x4, address: 0x80A49FF0 // Range: 0x80092898 -> 0x80092944 class DataArray * SongMgr::GetVideoVenues(const class SongMgr * const this /* r30 */, class Symbol & song /* r31 */) { // Local variables const class DataArray * data; // r0 const class DataArray * videoVenues; // r31 // References // -> static class Symbol video_venues; } static class Symbol name; // size: 0x4, address: 0x80A49FF8 static class Symbol midi_file; // size: 0x4, address: 0x80A4A000 // Range: 0x80092944 -> 0x80092B24 void SongMgr::AddPathInfo(class DataArray * song_data /* r31 */, const char * sPath /* r29 */) { // Local variables char sTmp[257]; // r1+0x20 class DataArray * a; // r29 const char * newName; // r0 const char * newMidi; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol midi_file; // -> static class Symbol name; } // Range: 0x80092B24 -> 0x80092B94 void SongMgr::AddSongData(class SongMgr * const this /* r29 */, class DataArray * new_songs /* r30 */, enum ContentLocT location /* r31 */) { // Local variables const char * sPath; // r0 } static class Symbol song; // size: 0x4, address: 0x80A4A008 static class Symbol song_vocals; // size: 0x4, address: 0x80A4A010 static class Symbol version; // size: 0x4, address: 0x80A4A018 static class Symbol tutorial; // size: 0x4, address: 0x80A4A020 static class Symbol fake; // size: 0x4, address: 0x80A4A028 static class Symbol format; // size: 0x4, address: 0x80A4A030 static class Symbol alternate_path; // size: 0x4, address: 0x80A4A038 static class Symbol format; // size: 0x4, address: 0x80A4A040 static class Symbol song_location; // size: 0x4, address: 0x80A4A048 static class Symbol exported; // size: 0x4, address: 0x80A4A050 static class Symbol fake; // size: 0x4, address: 0x80A4A058 static class Symbol downloaded; // size: 0x4, address: 0x80A4A060 // Range: 0x80092B94 -> 0x800937A4 void SongMgr::AddSongData(class SongMgr * const this /* r28 */, class DataArray * new_songs /* r29 */, const char * sPath /* r30 */, enum ContentLocT location /* r31 */) { // Local variables int first_song; // r22 int newSize; // r21 int songPos; // r20 int i; // r19 class DataArray * new_song; // r18 class DataArray * tut; // r17 class DataArray * f; // r23 class DataArray * release_fmt; // r17 class DataArray * missing_data; // r24 class DataArray * newSongArray; // r17 class DataArray * fmt; // r17 class DataArray * song_loc_array; // r17 class DataArray * new_song_data; // r23 class DataArray * new_song_vocals_data; // r17 unsigned char isExported; // r1+0x8 unsigned char missing_part; // r17 int i; // r23 int finalSize; // r4 // References // -> static class Symbol downloaded; // -> static class Symbol fake; // -> static char * gPartSyms[4]; // -> class PlatformMgr ThePlatformMgr; // -> static class Symbol exported; // -> static class Symbol song_location; // -> static class Symbol format; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static const char * const OLD_DLC_DIR; // -> static class Symbol alternate_path; // -> static class Symbol format; // -> static class Symbol fake; // -> static class Symbol tutorial; // -> class Debug TheDebug; // -> static class Symbol version; // -> static class Symbol song_vocals; // -> static class Symbol song; } // Range: 0x800937A4 -> 0x800937EC void SongMgr::AddSongs(class SongMgr * const this /* r31 */) {} static class Symbol band; // size: 0x4, address: 0x80A4A068 // Range: 0x800937EC -> 0x80093B18 void SongMgr::GetValidSongs(const class SongMgr * const this /* r26 */, const class MetaPerformer & mp /* r27 */, class BandUserMgr & bum /* r28 */, enum MissingPartType mpt /* r29 */, class vector & valid_songs /* r30 */, float min_band_rank /* f30 */, float max_band_rank /* f31 */) { // Local variables class vector songs; // r1+0x5C class Symbol * s; // r31 class Symbol song; // r1+0x58 // References // -> static class Symbol band; } // Range: 0x80093B18 -> 0x80093D80 class Symbol SongMgr::GetRandomSong(const class SongMgr * const this /* r25 */, const class MetaPerformer & mp /* r26 */, class BandUserMgr & bum /* r27 */, enum MissingPartType mpt /* r28 */, unsigned char only_unlocked /* r29 */, float min_band /* f30 */, float max_band /* f31 */) { // Local variables class vector valid_songs; // r1+0x30 class Symbol random; // r1+0x2C // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80093D80 -> 0x80093E3C class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Symbol * t; // r31 } // Range: 0x80093E3C -> 0x80093E54 unsigned char SongMgr::ToggleRandomSongDebug() {} // Range: 0x80093E54 -> 0x80093E84 void SongMgr::AddRecentSong() {} struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x80093E84 -> 0x80093F34 class DataArray * SongMgr::Data() { // Local variables struct _Rb_tree_iterator it; // r1+0x1C } // Range: 0x80093F34 -> 0x80093F74 class DataArray * SongMgr::Data() {} // Range: 0x80093F74 -> 0x8009401C class DataNode SongMgr::OnHasMissingParts(class SongMgr * const this /* r29 */, class DataArray * a /* r30 */) { // References // -> class BandUserMgr * TheBandUserMgr; } static class Symbol missing_part_type; // size: 0x4, address: 0x80A4A070 // Range: 0x8009401C -> 0x80094130 class DataNode SongMgr::OnGetRandomSong() { // Local variables enum MissingPartType mpt; // r31 // References // -> class BandUserMgr * TheBandUserMgr; // -> class SongMgr & TheSongMgr; // -> static class Symbol missing_part_type; // -> class GameMode * TheGameMode; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameConfig * TheGameConfig; } static class Symbol _s; // size: 0x4, address: 0x80A4A078 static class Symbol _s; // size: 0x4, address: 0x80A4A080 static class Symbol _s; // size: 0x4, address: 0x80A4A088 static class Symbol _s; // size: 0x4, address: 0x80A4A090 static class Symbol _s; // size: 0x4, address: 0x80A4A098 static class Symbol _s; // size: 0x4, address: 0x80A4A0A0 static class Symbol _s; // size: 0x4, address: 0x80A4A0A8 static class Symbol _s; // size: 0x4, address: 0x80A4A0B0 static class Symbol _s; // size: 0x4, address: 0x80A4A0B8 static class Symbol _s; // size: 0x4, address: 0x80A4A0C0 static class Symbol _s; // size: 0x4, address: 0x80A4A0C8 static class Symbol _s; // size: 0x4, address: 0x80A4A0D0 static class Symbol _s; // size: 0x4, address: 0x80A4A0D8 static class Symbol _s; // size: 0x4, address: 0x80A4A0E0 static class Symbol _s; // size: 0x4, address: 0x80A4A0E8 static class Symbol _s; // size: 0x4, address: 0x80A4A0F0 static class Symbol _s; // size: 0x4, address: 0x80A4A0F8 static class Symbol _s; // size: 0x4, address: 0x80A4A100 static class Symbol _s; // size: 0x4, address: 0x80A4A108 static class Symbol _s; // size: 0x4, address: 0x80A4A110 static class Symbol _s; // size: 0x4, address: 0x80A4A118 static class Symbol _s; // size: 0x4, address: 0x80A4A120 static class Symbol _s; // size: 0x4, address: 0x80A4A128 static class Symbol _s; // size: 0x4, address: 0x80A4A130 // Range: 0x80094130 -> 0x80094D68 class DataNode SongMgr::Handle(class SongMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x6C class MessageTimer _mt; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode _n; // r1+0x70 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xE8 } __vt__7SongMgr; // size: 0xE8, address: 0x8087A190 struct { // total size: 0x8 } __RTTI__7SongMgr; // size: 0x8, address: 0x8087A2A0 struct { // total size: 0x40 } __vt__Q210ContentMgr8Callback; // size: 0x40, address: 0x8087A2A8 struct { // total size: 0x8 } __RTTI__Q210ContentMgr8Callback; // size: 0x8, address: 0x8087A300 struct { // total size: 0x8 } __RTTI__10DataLoader; // size: 0x8, address: 0x8087A350 struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std59_Rb_tree_node>; // size: 0x8, address: 0x8087A3F0 // Range: 0x80094D68 -> 0x80094DB8 static void __sinit_\SongMgr_cpp() { // References // -> class SongMgr & TheSongMgr; // -> static class SongMgr gSongMgr; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80094E00 -> 0x800950CC */ // Range: 0x80094E00 -> 0x80094E0C char * SongMgr::ContentPattern() {} // Range: 0x80094E0C -> 0x80094E18 char * SongMgr::ContentDir() {} // Range: 0x80094E18 -> 0x80094E24 char * SongMgr::ContentDirAlt() {} // Range: 0x80094E24 -> 0x800950CC void SongMgr::SendSharedSongList(class SongMgr * const this /* r30 */) { // Local variables class vector all_shared; // r1+0x50 const class Symbol * s; // r28 class SharedSongsMsg msg; // r1+0x40 // References // -> class Net TheNet; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800950CC -> 0x800950D4 */ // Range: 0x800950CC -> 0x800950D0 class StlNodeAlloc vector::get_allocator() {} // Range: 0x800950D0 -> 0x800950D4 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\os\ContentMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800950D4 -> 0x80095158 */ // Range: 0x800950D4 -> 0x80095114 void * Callback::~Callback(class Callback * const this /* r31 */) {} // Range: 0x80095114 -> 0x80095118 void Callback::ContentSongLoaded() {} // Range: 0x80095118 -> 0x8009511C void Callback::ContentFailed() {} // Range: 0x8009511C -> 0x80095120 void Callback::ContentAllMounted() {} // Range: 0x80095120 -> 0x80095124 void Callback::ContentMountBegun() {} // Range: 0x80095124 -> 0x8009512C unsigned char Callback::ContentDiscovered() {} // Range: 0x8009512C -> 0x80095134 char * Callback::ContentDirAlt() {} // Range: 0x80095134 -> 0x8009513C char * Callback::ContentDir() {} // Range: 0x8009513C -> 0x80095144 char * Callback::ContentPattern() {} // Range: 0x80095144 -> 0x80095148 void Callback::ContentDone() {} // Range: 0x80095148 -> 0x8009514C void Callback::ContentLoaded() {} // Range: 0x8009514C -> 0x80095150 void Callback::ContentUnmounted() {} // Range: 0x80095150 -> 0x80095154 void Callback::ContentMounted() {} // Range: 0x80095154 -> 0x80095158 void Callback::ContentStarted() {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80095158 -> 0x800951C0 */ // Range: 0x80095158 -> 0x8009518C class DataArray * DataArray::Array(const class DataArray * const this /* r31 */) {} // Range: 0x8009518C -> 0x800951C0 char * DataArray::Str(const class DataArray * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800951C0 -> 0x80095538 */ // Range: 0x800951C0 -> 0x80095248 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, const char * t2 /* r29 */, const char * t3 /* r30 */, const char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80095248 -> 0x800952A8 char * MakeString(const char * fmt /* r0 */, char * t1 /* r30 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800952A8 -> 0x80095304 char * MakeString(float t1 /* f30 */, float t2 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80095304 -> 0x80095330 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80095538 -> 0x80096134 */ // Range: 0x80095538 -> 0x800955EC void sort(class Symbol * __first /* r29 */, class Symbol * __last /* r30 */, struct SongRankCmp & __comp /* r31 */) {} // Range: 0x800955EC -> 0x800956A4 void __final_insertion_sort(class Symbol * __first /* r29 */, class Symbol * __last /* r30 */, struct SongRankCmp & __comp /* r31 */) {} // Range: 0x800956A4 -> 0x8009571C void __unguarded_insertion_sort_aux(class Symbol * __last /* r29 */, struct SongRankCmp & __comp /* r30 */) { // Local variables class Symbol * __i; // r31 } // Range: 0x8009571C -> 0x8009581C void __unguarded_linear_insert(class Symbol * __last /* r28 */, class Symbol & __val /* r29 */, struct SongRankCmp & __comp /* r30 */) { // Local variables class Symbol * __next; // r31 } // Range: 0x8009581C -> 0x80095998 void __insertion_sort(class Symbol * __first /* r28 */, class Symbol * __last /* r29 */, struct SongRankCmp & __comp /* r30 */) { // Local variables class Symbol * __i; // r31 } // Range: 0x80095998 -> 0x80095DA0 void __introsort_loop(class Symbol * __first /* r27 */, class Symbol * __last /* r28 */, long __depth_limit /* r29 */, struct SongRankCmp & __comp /* r30 */) { // Local variables class Symbol * __cut; // r31 } // Range: 0x80095DA0 -> 0x80095F64 class Symbol * __unguarded_partition(class Symbol * __first /* r28 */, class Symbol * __last /* r29 */, class Symbol & __pivot /* r30 */, struct SongRankCmp & __comp /* r31 */) {} // Range: 0x80095F64 -> 0x80095F9C void partial_sort() {} // Range: 0x80095F9C -> 0x80096134 void __partial_sort(class Symbol * __first /* r27 */, class Symbol * __middle /* r28 */, class Symbol * __last /* r29 */, struct SongRankCmp & __comp /* r30 */) { // Local variables class Symbol * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80096134 -> 0x80096164 */ // Range: 0x80096134 -> 0x8009614C struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8009614C -> 0x80096164 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80096164 -> 0x800964C4 */ // Range: 0x80096164 -> 0x800961D0 void pop_heap(class Symbol * __last /* r8 */) {} // Range: 0x800961D0 -> 0x80096410 void __adjust_heap(class Symbol * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, class Symbol & __val /* r28 */, struct SongRankCmp & __comp /* r29 */) { // Local variables long __topIndex; // r30 long __secondChild; // r31 } // Range: 0x80096410 -> 0x800964C4 void make_heap(class Symbol * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800964C4 -> 0x80096724 */ // Range: 0x800964C4 -> 0x80096564 struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x80096564 -> 0x80096644 class Symbol * find() {} // Range: 0x80096644 -> 0x80096724 class Symbol * find() {} /* Compile unit: C:\rockband2\band2\src\game\SongMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80096724 -> 0x8009677C */ // Range: 0x80096724 -> 0x8009672C unsigned char SongMgr::IsPermanentMount() {} // Range: 0x8009672C -> 0x80096734 unsigned char SongMgr::IsSongMounted() {} // Range: 0x80096734 -> 0x80096738 void SongMgr::ContentMounted() {} // Range: 0x80096738 -> 0x8009673C void SongMgr::ContentUnmounted() {} // Range: 0x8009673C -> 0x80096744 char * SongMgr::ContentName() {} // Range: 0x80096744 -> 0x8009674C unsigned char SongMgr::IsSongCacheWriteDone() {} // Range: 0x8009674C -> 0x80096750 void SongMgr::StartSongCacheWrite() {} // Range: 0x80096750 -> 0x80096758 unsigned char SongMgr::SongCacheNeedsWrite() {} // Range: 0x80096758 -> 0x80096760 char * SongMgr::GetCachedSongInfoName() {} // Range: 0x80096760 -> 0x80096768 int SongMgr::GetCachedSongInfoSize() {} // Range: 0x80096768 -> 0x80096770 unsigned char SongMgr::LoadCachedSongInfo() {} // Range: 0x80096770 -> 0x80096778 unsigned char SongMgr::SaveCachedSongInfo() {} // Range: 0x80096778 -> 0x8009677C void SongMgr::SetState() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8009677C -> 0x80096DD0 */ // Range: 0x8009677C -> 0x800967EC void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x800967EC -> 0x80096AF0 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x80096AF0 -> 0x80096CA4 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std59_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80096CA4 -> 0x80096DD0 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80096DD0 -> 0x80096F9C */ // Range: 0x80096DD0 -> 0x80096F9C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80096F9C -> 0x8009730C */ // Range: 0x80096F9C -> 0x80097188 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct pair * __pos /* r26 */, const struct pair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct pair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std9pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80097188 -> 0x8009730C void vector::reserve(class vector * const this /* r29 */, unsigned long __n /* r30 */) { // Local variables class Symbol * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\Stats.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8009730C -> 0x800973F0 */ // Range: 0x8009730C -> 0x8009734C void * Stats::Stats() {} // Range: 0x8009734C -> 0x8009735C void Stats::Hit() {} // Range: 0x8009735C -> 0x8009738C void Stats::Streak() {} // Range: 0x8009738C -> 0x800973B4 void Stats::SetCurrentStreak() {} // Range: 0x800973B4 -> 0x800973C0 void Stats::EndStreak() {} // Range: 0x800973C0 -> 0x800973F0 void Stats::UpdateBestSolo(int percentage /* r1+0x8 */) {} /* Compile unit: C:\cw_rvl\PowerPC_EABI_Support\MSL\MSL_C\MSL_Common\Include\math_integral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800973F0 -> 0x800974A0 */ // Range: 0x800973F0 -> 0x800974A0 char * FormatTimeMSH(float ms /* f31 */) { // Local variables int m; // r30 int s; // r29 int hs; // r0 } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800974A0 -> 0x80097514 */ // Range: 0x800974A0 -> 0x80097514 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, int t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\game\UISyncNetMsgs.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80097514 -> 0x800988E0 */ class Symbol t; // size: 0x4, address: 0x80A4A13C class Symbol t; // size: 0x4, address: 0x80A4A144 class Symbol t; // size: 0x4, address: 0x80A4A14C class ComponentFocusNetMsg : public NetMessage { // total size: 0x14 int mPlayerNum; // offset 0x4, size 0x4 class String mComponentName; // offset 0x8, size 0xC }; // Range: 0x80097514 -> 0x8009756C void ComponentFocusNetMsg::Save(const class ComponentFocusNetMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8009756C -> 0x800975BC void ComponentFocusNetMsg::Load(class ComponentFocusNetMsg * const this /* r30 */, class BinStream & src /* r31 */) {} class NetComponentFocusMsg : public Message { // total size: 0x8 }; static class NetComponentFocusMsg netFocus; // size: 0x8, address: 0x80977878 // Range: 0x800975BC -> 0x80097998 void ComponentFocusNetMsg::Dispatch(class ComponentFocusNetMsg * const this /* r30 */) { // Local variables class DataNode ret; // r1+0x40 class UIPanel * p; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class UIManager TheUI; // -> class UserMgr * TheUserMgr; // -> struct [anonymous] __vt__20NetComponentFocusMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class NetComponentFocusMsg netFocus; // -> class NetSync * TheNetSync; } class ComponentSelectNetMsg : public NetMessage { // total size: 0x18 int mPlayerNum; // offset 0x4, size 0x4 class String mComponentName; // offset 0x8, size 0xC unsigned char mShowSelect; // offset 0x14, size 0x1 }; // Range: 0x80097998 -> 0x80097A48 void * ComponentSelectNetMsg::ComponentSelectNetMsg(class ComponentSelectNetMsg * const this /* r28 */, int playerNum /* r29 */, class UIComponent * c /* r30 */, unsigned char show_select /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__21ComponentSelectNetMsg; } // Range: 0x80097A48 -> 0x80097AB8 void ComponentSelectNetMsg::Save(const class ComponentSelectNetMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x80097AB8 -> 0x80097B2C void ComponentSelectNetMsg::Load(class ComponentSelectNetMsg * const this /* r30 */, class BinStream & src /* r31 */) {} class NetComponentSelectMsg : public Message { // total size: 0x8 }; static class NetComponentSelectMsg msg; // size: 0x8, address: 0x80977890 // Range: 0x80097B2C -> 0x80097F08 void ComponentSelectNetMsg::Dispatch(class ComponentSelectNetMsg * const this /* r30 */) { // Local variables class DataNode ret; // r1+0x40 class UIComponent * c; // r0 // References // -> class UIManager TheUI; // -> class UserMgr * TheUserMgr; // -> struct [anonymous] __vt__21NetComponentSelectMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class NetComponentSelectMsg msg; // -> class NetSync * TheNetSync; } class ComponentScrollNetMsg : public NetMessage { // total size: 0x1C int mPlayerNum; // offset 0x4, size 0x4 class String mComponentName; // offset 0x8, size 0xC int mPosition; // offset 0x14, size 0x4 int mFirstShowing; // offset 0x18, size 0x4 }; class ScrollSelect { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 protected: unsigned char mNeedSelect; // offset 0x4, size 0x1 private: int mSelectedIndex; // offset 0x8, size 0x4 }; enum ListShowing { kListAlways = 0, kListOnlyFocused = 1, kListNever = 2, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ListElement * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ListElement * * _M_start; // offset 0x0, size 0x4 class ListElement * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Box { // total size: 0x20 public: class Vector3 mMin; // offset 0x0, size 0x10 class Vector3 mMax; // offset 0x10, size 0x10 }; class ListDisplay { // total size: 0x60 unsigned char mDirty; // offset 0x0, size 0x1 unsigned char mVertical; // offset 0x1, size 0x1 float mSpacing; // offset 0x4, size 0x4 float mArrowOffset; // offset 0x8, size 0x4 enum ListShowing mArrowShowing; // offset 0xC, size 0x4 unsigned char mArrowOnlyScroll; // offset 0x10, size 0x1 unsigned char mArrowsOnHighlight; // offset 0x11, size 0x1 enum ListShowing mHighlightShowing; // offset 0x14, size 0x4 class DataArray * mHighlightColors; // offset 0x18, size 0x4 unsigned char mHighlightFirst; // offset 0x1C, size 0x1 int mFadeOffset; // offset 0x20, size 0x4 class DataArray * mSlots; // offset 0x24, size 0x4 class UIList * mList; // offset 0x28, size 0x4 class RndMesh * mBackArrow; // offset 0x2C, size 0x4 class RndMesh * mNextArrow; // offset 0x30, size 0x4 class RndMesh * mHighlight; // offset 0x34, size 0x4 class vector mElements; // offset 0x38, size 0xC class vector mDisplays; // offset 0x44, size 0xC class ListElement * mNext; // offset 0x50, size 0x4 int mDirection; // offset 0x54, size 0x4 float mTotalGap; // offset 0x58, size 0x4 float mHighlightGap; // offset 0x5C, size 0x4 }; struct ScrollState { // total size: 0x8 int mTarget; // offset 0x0, size 0x4 int mSelected; // offset 0x4, size 0x4 }; class ListState : public MsgSource { // total size: 0x88 protected: unsigned char mCircular; // offset 0x1C, size 0x1 int mNumDisplay; // offset 0x20, size 0x4 float mSpeed; // offset 0x24, size 0x4 int mMinDisplay; // offset 0x28, size 0x4 unsigned char mScrollPastMinDisplay; // offset 0x2C, size 0x1 int mMaxDisplay; // offset 0x30, size 0x4 unsigned char mScrollPastMaxDisplay; // offset 0x34, size 0x1 class ListProvider * mProvider; // offset 0x38, size 0x4 class vector mHiddenData; // offset 0x3C, size 0xC int mFirstShowing; // offset 0x48, size 0x4 int mTargetShowing; // offset 0x4C, size 0x4 int mSelectedDisplay; // offset 0x50, size 0x4 float mStepPercent; // offset 0x54, size 0x4 float mStepTime; // offset 0x58, size 0x4 }; class DataProvider : public ListProvider { // total size: 0x14 class DataArray * mData; // offset 0x4, size 0x4 int mOffset; // offset 0x8, size 0x4 class list mDisabled; // offset 0xC, size 0x8 }; class ListScrollStartMsg : public Message { // total size: 0x8 }; class ListScrollMsg : public Message { // total size: 0x8 }; class UIList : public UIComponent, public ListProvider, public ScrollSelect { // total size: 0x2A0 public: class String printMsg; // offset 0x140, size 0xC protected: class ListDisplay mDisplay; // offset 0x14C, size 0x60 class ListState mListState; // offset 0x1AC, size 0x88 private: class DataProvider * mDataProvider; // offset 0x234, size 0x4 int mDummyNumData; // offset 0x238, size 0x4 unsigned char mPaginate; // offset 0x23C, size 0x1 class User * mUser; // offset 0x240, size 0x4 class UIList * mParent; // offset 0x244, size 0x4 float mAutoScrollPause; // offset 0x248, size 0x4 int mAutoScrollDirection; // offset 0x24C, size 0x4 unsigned char mAutoScrolling; // offset 0x250, size 0x1 float mNextScrollTime; // offset 0x254, size 0x4 int mLastScrollDirection; // offset 0x258, size 0x4 }; class UISlider : public UIComponent, public ScrollSelect { // total size: 0x180 int mCurrent; // offset 0x13C, size 0x4 int mNumSteps; // offset 0x140, size 0x4 unsigned char mVertical; // offset 0x144, size 0x1 }; // Range: 0x80097F8C -> 0x80098098 void * ComponentScrollNetMsg::ComponentScrollNetMsg(class ComponentScrollNetMsg * const this /* r27 */, int playerNum /* r29 */, class UIComponent * c /* r28 */) { // Local variables class UIList * list; // r29 class UISlider * slider; // r0 // References // -> struct [anonymous] __RTTI__8UISlider; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__21ComponentScrollNetMsg; } // Range: 0x80098098 -> 0x80098120 void ComponentScrollNetMsg::Save(const class ComponentScrollNetMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x80098120 -> 0x80098190 void ComponentScrollNetMsg::Load(class ComponentScrollNetMsg * const this /* r30 */, class BinStream & src /* r31 */) {} class NetComponentScrollMsg : public Message { // total size: 0x8 }; static class NetComponentScrollMsg msg; // size: 0x8, address: 0x809778A8 // Range: 0x80098190 -> 0x8009873C void ComponentScrollNetMsg::Dispatch(class ComponentScrollNetMsg * const this /* r30 */) { // Local variables class DataNode ret; // r1+0x60 class UIPanel * p; // r0 class UIComponent * c; // r28 class UIList * list; // r0 class UISlider * slider; // r0 // References // -> struct [anonymous] __RTTI__8UISlider; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UIManager TheUI; // -> class UserMgr * TheUserMgr; // -> struct [anonymous] __vt__21NetComponentScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class NetComponentScrollMsg msg; // -> class NetSync * TheNetSync; } struct { // total size: 0x8 } __RTTI__8UISlider; // size: 0x8, address: 0x8087A4C8 struct { // total size: 0x8 } __RTTI__6UIList; // size: 0x8, address: 0x8087A528 struct { // total size: 0x8 } __RTTI__12ScrollSelect; // size: 0x8, address: 0x8087A540 struct { // total size: 0x8 } __RTTI__11UIComponent; // size: 0x8, address: 0x8087A588 struct { // total size: 0xC } __vt__21NetComponentScrollMsg; // size: 0xC, address: 0x8087A590 struct { // total size: 0x8 } __RTTI__21NetComponentScrollMsg; // size: 0x8, address: 0x8087A5C0 struct { // total size: 0x28 } __vt__21ComponentScrollNetMsg; // size: 0x28, address: 0x8087A5C8 struct { // total size: 0x8 } __RTTI__21ComponentScrollNetMsg; // size: 0x8, address: 0x8087A618 struct { // total size: 0xC } __vt__21NetComponentSelectMsg; // size: 0xC, address: 0x8087A620 struct { // total size: 0x8 } __RTTI__21NetComponentSelectMsg; // size: 0x8, address: 0x8087A650 struct { // total size: 0x28 } __vt__21ComponentSelectNetMsg; // size: 0x28, address: 0x8087A658 struct { // total size: 0x8 } __RTTI__21ComponentSelectNetMsg; // size: 0x8, address: 0x8087A6A8 struct { // total size: 0xC } __vt__20NetComponentFocusMsg; // size: 0xC, address: 0x8087A6B0 struct { // total size: 0x8 } __RTTI__20NetComponentFocusMsg; // size: 0x8, address: 0x8087A6E0 struct { // total size: 0x28 } __vt__20ComponentFocusNetMsg; // size: 0x28, address: 0x8087A6E8 struct { // total size: 0x8 } __RTTI__20ComponentFocusNetMsg; // size: 0x8, address: 0x8087A738 /* Compile unit: C:\rockband2\band2\src\game\UISyncNetMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800988E0 -> 0x80098B30 */ // Range: 0x800988E0 -> 0x80098980 void * ComponentFocusNetMsg::ComponentFocusNetMsg(class ComponentFocusNetMsg * const this /* r29 */, int playerNum /* r30 */, class UIComponent * c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__20ComponentFocusNetMsg; } // Range: 0x80098980 -> 0x800989B4 char * ComponentScrollNetMsg::Name() {} // Range: 0x800989B4 -> 0x80098A10 unsigned char ComponentScrollNetMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80098A10 -> 0x80098A44 char * ComponentSelectNetMsg::Name() {} // Range: 0x80098A44 -> 0x80098AA0 unsigned char ComponentSelectNetMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80098AA0 -> 0x80098AD4 char * ComponentFocusNetMsg::Name() {} // Range: 0x80098AD4 -> 0x80098B30 unsigned char ComponentFocusNetMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\band2\src\game\UITransitionNetMsgs.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80098BB4 -> 0x8009926C */ class NetTransitionMsg : public NetMessage { // total size: 0x4 }; // Range: 0x80098BB4 -> 0x80098BC0 void NetTransitionMsg::Dispatch() { // References // -> class NetSync * TheNetSync; } class LocalTransitionCompleteMsg : public NetTransitionMsg { // total size: 0x10 class vector mLocalPlayers; // offset 0x4, size 0xC }; // Range: 0x80098BC0 -> 0x80098C98 void * LocalTransitionCompleteMsg::LocalTransitionCompleteMsg(class LocalTransitionCompleteMsg * const this /* r29 */, class vector & locals /* r30 */) { // Local variables int n; // r31 // References // -> struct [anonymous] __vt__26LocalTransitionCompleteMsg; } // Range: 0x80098C98 -> 0x80098D50 void LocalTransitionCompleteMsg::GetPlayers(const class LocalTransitionCompleteMsg * const this /* r29 */, class vector & players /* r30 */) { // Local variables int n; // r31 } // Range: 0x80098D50 -> 0x80098DF8 void LocalTransitionCompleteMsg::Save(const class LocalTransitionCompleteMsg * const this /* r28 */, class BinStream & dest /* r29 */) { // Local variables unsigned char numPlayers; // r31 int n; // r30 } // Range: 0x80098DF8 -> 0x80098EBC void LocalTransitionCompleteMsg::Load(class LocalTransitionCompleteMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables unsigned char numPlayers; // r1+0xC int n; // r31 int playerNum; // r1+0x10 } class StartTransitionMsg : public NetTransitionMsg { // total size: 0x10 class String mScreenName; // offset 0x4, size 0xC }; // Range: 0x80098EBC -> 0x80098F1C void * StartTransitionMsg::StartTransitionMsg(class StartTransitionMsg * const this /* r30 */, class UIScreen * screen /* r31 */) { // References // -> struct [anonymous] __vt__18StartTransitionMsg; } // Range: 0x80098F1C -> 0x80099004 class UIScreen * StartTransitionMsg::GetScreen() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; } // Range: 0x80099004 -> 0x80099014 void StartTransitionMsg::Save(const class StartTransitionMsg * const this /* r5 */) {} // Range: 0x80099014 -> 0x80099024 void StartTransitionMsg::Load(class StartTransitionMsg * const this /* r5 */) {} class NetGotoScreenMsg : public StartTransitionMsg { // total size: 0x14 unsigned char mForce; // offset 0x10, size 0x1 unsigned char mBack; // offset 0x11, size 0x1 }; // Range: 0x80099024 -> 0x80099080 void * NetGotoScreenMsg::NetGotoScreenMsg(class NetGotoScreenMsg * const this /* r29 */, unsigned char force /* r30 */, unsigned char back /* r31 */) { // References // -> struct [anonymous] __vt__16NetGotoScreenMsg; } // Range: 0x80099080 -> 0x800990E8 void NetGotoScreenMsg::Save(const class NetGotoScreenMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x800990E8 -> 0x80099168 void NetGotoScreenMsg::Load(class NetGotoScreenMsg * const this /* r30 */, class BinStream & src /* r31 */) {} class NetSyncScreenMsg : public StartTransitionMsg { // total size: 0x14 unsigned char mDepth; // offset 0x10, size 0x1 }; // Range: 0x80099168 -> 0x800991C0 void * NetSyncScreenMsg::NetSyncScreenMsg(class NetSyncScreenMsg * const this /* r30 */, int depth /* r31 */) { // References // -> struct [anonymous] __vt__16NetSyncScreenMsg; } // Range: 0x800991C0 -> 0x80099210 void NetSyncScreenMsg::Save(const class NetSyncScreenMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x80099210 -> 0x8009926C void NetSyncScreenMsg::Load(class NetSyncScreenMsg * const this /* r30 */, class BinStream & src /* r31 */) {} struct { // total size: 0x28 } __vt__16NetSyncScreenMsg; // size: 0x28, address: 0x8087A818 struct { // total size: 0x8 } __RTTI__16NetSyncScreenMsg; // size: 0x8, address: 0x8087A870 struct { // total size: 0x28 } __vt__16NetGotoScreenMsg; // size: 0x28, address: 0x8087A878 struct { // total size: 0x8 } __RTTI__16NetGotoScreenMsg; // size: 0x8, address: 0x8087A8D0 struct { // total size: 0x28 } __vt__18StartTransitionMsg; // size: 0x28, address: 0x8087A8D8 struct { // total size: 0x8 } __RTTI__18StartTransitionMsg; // size: 0x8, address: 0x8087A928 struct { // total size: 0x28 } __vt__26LocalTransitionCompleteMsg; // size: 0x28, address: 0x8087A930 struct { // total size: 0x8 } __RTTI__26LocalTransitionCompleteMsg; // size: 0x8, address: 0x8087A988 struct { // total size: 0x8 } __RTTI__16NetTransitionMsg; // size: 0x8, address: 0x8087A9B0 class AllTransitionCompleteMsg : public NetTransitionMsg { // total size: 0x4 }; /* Compile unit: C:\rockband2\band2\src\game\UITransitionNetMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8009941C -> 0x800995CC */ // Range: 0x8009941C -> 0x80099450 char * NetSyncScreenMsg::Name() {} // Range: 0x80099450 -> 0x800994AC unsigned char NetSyncScreenMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x800994AC -> 0x800994E0 char * NetGotoScreenMsg::Name() {} // Range: 0x800994E0 -> 0x8009953C unsigned char NetGotoScreenMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8009953C -> 0x80099570 char * LocalTransitionCompleteMsg::Name() {} // Range: 0x80099570 -> 0x800995CC unsigned char LocalTransitionCompleteMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\band2\src\game\VocalPlayer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800995CC -> 0x800A1D00 */ class Symbol t; // size: 0x4, address: 0x80A4A15C class Symbol t; // size: 0x4, address: 0x80A4A164 class VibratoDetector { // total size: 0x4C int mBuffer[5]; // offset 0x0, size 0x14 float mPitches[5]; // offset 0x14, size 0x14 int mBufIdx; // offset 0x28, size 0x4 unsigned char mHi; // offset 0x2C, size 0x1 float mY0; // offset 0x30, size 0x4 float mY1; // offset 0x34, size 0x4 float mY2; // offset 0x38, size 0x4 int mSample; // offset 0x3C, size 0x4 int mLastDetect; // offset 0x40, size 0x4 int mMaxPeriod; // offset 0x44, size 0x4 int mMinPeriod; // offset 0x48, size 0x4 }; // Range: 0x800995CC -> 0x8009992C void * VocalPlayer::~VocalPlayer(class VocalPlayer * const this /* r30 */) { // Local variables class Mic * mic; // r28 // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__11VocalPlayer; } // Range: 0x8009992C -> 0x80099978 void VocalPlayer::ConfigureBehavior(class VocalPlayer * const this /* r31 */) {} // Range: 0x80099978 -> 0x80099A04 void VocalPlayer::SetTrack(class VocalPlayer * const this /* r29 */, int track_num /* r30 */) {} // Range: 0x80099A04 -> 0x80099A10 float VocalPlayer::GetSongMs() {} // Range: 0x80099A10 -> 0x80099A6C void VocalPlayer::Start(class VocalPlayer * const this /* r31 */) {} // Range: 0x80099A6C -> 0x80099AEC void VocalPlayer::StartIntro(class VocalPlayer * const this /* r30 */) { // Local variables class Mic * mic; // r31 } // Range: 0x80099AEC -> 0x80099D4C void VocalPlayer::Restart(class VocalPlayer * const this /* r31 */) { // Local variables const class vector & phrases; // r0 unsigned char foundPitchedNote; // r6 const class vector & notes; // r0 int i; // r7 const class VocalPhrase * it; // r5 } // Range: 0x80099D4C -> 0x80099DF8 void VocalPlayer::SetPaused(class VocalPlayer * const this /* r29 */) { // References // -> class GameMode * TheGameMode; } // Range: 0x80099DF8 -> 0x80099EF4 void VocalPlayer::Jump(class VocalPlayer * const this /* r31 */, float ms /* f31 */) {} // Range: 0x80099EF4 -> 0x80099EF8 void VocalPlayer::PollAudio() {} // Range: 0x80099EF8 -> 0x80099F98 float VocalPlayer::GetNotesHitFraction() {} // Range: 0x80099F98 -> 0x80099FB0 int VocalPlayer::GetBaseMaxPoints() {} // Range: 0x80099FB0 -> 0x80099FD0 int VocalPlayer::GetBaseMaxStreakPoints() {} // Range: 0x80099FD0 -> 0x80099FD8 int VocalPlayer::GetBaseBonusPoints() {} // Range: 0x80099FD8 -> 0x8009A010 class Symbol VocalPlayer::GetStarRating() { // References // -> class Scoring * TheScoring; } // Range: 0x8009A010 -> 0x8009A110 void VocalPlayer::LocalSetEnabledState(class VocalPlayer * const this /* r30 */, enum EnabledState state /* r31 */) { // Local variables const class VocalPhrase * i; // r4 float vol; // f0 } // Range: 0x8009A110 -> 0x8009A150 int VocalPlayer::LocalDeployBandEnergy(class VocalPlayer * const this /* r31 */) { // Local variables int retVal; // r3 } static class Message msg; // size: 0x8, address: 0x809778C0 // Range: 0x8009A150 -> 0x8009A39C void VocalPlayer::UpdateCrowdMeter(class VocalPlayer * const this /* r30 */, int rating /* r31 */) { // Local variables float weight; // f2 float val; // f31 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8009A39C -> 0x8009A3F8 void VocalPlayer::RemoteUpdateCrowd(class VocalPlayer * const this /* r30 */) { // References // -> class GameMode * TheGameMode; } // Range: 0x8009A3F8 -> 0x8009A458 float VocalPlayer::RemoteVocalVolume() { // Local variables float display_value; // f0 } // Range: 0x8009A458 -> 0x8009A4B8 unsigned char VocalPlayer::IsRemote(const class VocalPlayer * const this /* r30 */) {} // Range: 0x8009A4B8 -> 0x8009A4F8 char * VocalPlayer::SongRoot() { // References // -> class SongMgr & TheSongMgr; } // Range: 0x8009A4F8 -> 0x8009A60C void VocalPlayer::LoadWeights(class VocalPlayer * const this /* r29 */) { // Local variables const char * path; // r31 const char * stem; // r0 const char * weightsFilename; // r31 class File * weightsFile; // r30 // References // -> class Debug TheDebug; } // Range: 0x8009A60C -> 0x8009A87C void VocalPlayer::CalcNoteWeights(class VocalPlayer * const this /* r29 */) { // Local variables unsigned char separateParts; // r0 unsigned int i; // r30 float w; // f0 const class VocalPhrase * i; // r28 // References // -> class GameMode * TheGameMode; } // Range: 0x8009A87C -> 0x8009A9DC float VocalPlayer::IntegrateWeights(const class VocalPlayer * const this /* r28 */, float t1 /* f29 */, float t2 /* f30 */) { // Local variables float x; // f0 int beg; // r31 int end; // r29 int frame; // r30 float total; // f31 } // Range: 0x8009A9DC -> 0x8009AA34 float VocalPlayer::GetWeight() {} // Range: 0x8009AA34 -> 0x8009AA80 float VocalPlayer::NoteK() { // Local variables float f; // f1 } // Range: 0x8009AA80 -> 0x8009AAA0 class VocalPhrase * VocalPlayer::GetNextPhraseMarker() { // Local variables const class VocalPhrase * out; // r4 } // Range: 0x8009AAA0 -> 0x8009AAD4 float VocalPlayer::CalcPhraseScoreMax() { // Local variables float w; // f1 unsigned int i; // r6 } // Range: 0x8009AAD4 -> 0x8009AD34 void VocalPlayer::CorrectOctave(class VocalPlayer * const this /* r28 */, float ms /* f30 */, int endNote /* r29 */, float & micPitch /* r30 */) { // Local variables float bestDist; // f31 int note; // r31 float dist; // f29 float absDist; // f28 float modDist; // r1+0x18 } // Range: 0x8009AD34 -> 0x8009AE90 void VocalPlayer::GetNoteRange(const class VocalPlayer * const this /* r27 */, float ms /* f31 */, int & beginNote /* r28 */, int & endNote /* r29 */) { // Local variables int cur; // [invalid] const class vector & notes; // r0 int num; // r26 int note; // r30 float noteBegin; // f0 float noteEnd; // f3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8009AE90 -> 0x8009B070 float VocalPlayer::GetSloppyPitch() { // Local variables float p1; // f6 float p2; // f1 float d1; // f0 float d2; // f0 } // Range: 0x8009B070 -> 0x8009B138 float VocalPlayer::ScoreNote(const class VocalPlayer * const this /* r29 */, float ms /* f30 */, int note /* r30 */, float micPitch /* f31 */, float & desiredPitchOut /* r31 */) { // Local variables float dist; // f0 float hit; // f31 } // Range: 0x8009B138 -> 0x8009B1B8 float VocalPlayer::GetNoteSliceWeight(const class VocalPlayer * const this /* r30 */, int note /* r31 */) { // Local variables float w; // f0 } static class Message msg; // size: 0x8, address: 0x809778D8 // Range: 0x8009B1B8 -> 0x8009B5F8 void VocalPlayer::Poll(class VocalPlayer * const this /* r29 */, float ms /* f29 */, const class SongPos & pos /* r30 */) { // Local variables const class VocalNote * next; // r0 float micPitch; // f31 float micEnergy; // f30 int tick; // r0 float tempo; // f1 class Mic * mic; // r31 int vocal_level; // r31 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class TempoMap * TheTempoMap; } // Range: 0x8009B5F8 -> 0x8009B660 float VocalPlayer::GetCompensatedTime(class VocalPlayer * const this /* r31 */, float ms /* f31 */) { // Local variables float adjustedTime; // f1 // References // -> class ProfileMgr TheProfileMgr; } static class Message msg; // size: 0x8, address: 0x809778F0 // Range: 0x8009B660 -> 0x8009B9A0 void VocalPlayer::LocalEndgameEnergy(int level /* r30 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class WorldDir * TheWorld; } // Range: 0x8009B9A0 -> 0x8009B9AC void VocalPlayer::SendCanChat() {} enum State { kInvalidState = 0, kStart = 1, kPlaying = 2, kPaused = 3, kReleased = 4, kDone = 5, }; struct _AXPBMIX { // total size: 0x30 unsigned short vL; // offset 0x0, size 0x2 unsigned short vDeltaL; // offset 0x2, size 0x2 unsigned short vR; // offset 0x4, size 0x2 unsigned short vDeltaR; // offset 0x6, size 0x2 unsigned short vAuxAL; // offset 0x8, size 0x2 unsigned short vDeltaAuxAL; // offset 0xA, size 0x2 unsigned short vAuxAR; // offset 0xC, size 0x2 unsigned short vDeltaAuxAR; // offset 0xE, size 0x2 unsigned short vAuxBL; // offset 0x10, size 0x2 unsigned short vDeltaAuxBL; // offset 0x12, size 0x2 unsigned short vAuxBR; // offset 0x14, size 0x2 unsigned short vDeltaAuxBR; // offset 0x16, size 0x2 unsigned short vAuxCL; // offset 0x18, size 0x2 unsigned short vDeltaAuxCL; // offset 0x1A, size 0x2 unsigned short vAuxCR; // offset 0x1C, size 0x2 unsigned short vDeltaAuxCR; // offset 0x1E, size 0x2 unsigned short vS; // offset 0x20, size 0x2 unsigned short vDeltaS; // offset 0x22, size 0x2 unsigned short vAuxAS; // offset 0x24, size 0x2 unsigned short vDeltaAuxAS; // offset 0x26, size 0x2 unsigned short vAuxBS; // offset 0x28, size 0x2 unsigned short vDeltaAuxBS; // offset 0x2A, size 0x2 unsigned short vAuxCS; // offset 0x2C, size 0x2 unsigned short vDeltaAuxCS; // offset 0x2E, size 0x2 }; struct _AXPBITD { // total size: 0xE unsigned short flag; // offset 0x0, size 0x2 unsigned short bufferHi; // offset 0x2, size 0x2 unsigned short bufferLo; // offset 0x4, size 0x2 unsigned short shiftL; // offset 0x6, size 0x2 unsigned short shiftR; // offset 0x8, size 0x2 unsigned short targetShiftL; // offset 0xA, size 0x2 unsigned short targetShiftR; // offset 0xC, size 0x2 }; struct _AXPBDPOP { // total size: 0x18 signed short aL; // offset 0x0, size 0x2 signed short aAuxAL; // offset 0x2, size 0x2 signed short aAuxBL; // offset 0x4, size 0x2 signed short aAuxCL; // offset 0x6, size 0x2 signed short aR; // offset 0x8, size 0x2 signed short aAuxAR; // offset 0xA, size 0x2 signed short aAuxBR; // offset 0xC, size 0x2 signed short aAuxCR; // offset 0xE, size 0x2 signed short aS; // offset 0x10, size 0x2 signed short aAuxAS; // offset 0x12, size 0x2 signed short aAuxBS; // offset 0x14, size 0x2 signed short aAuxCS; // offset 0x16, size 0x2 }; struct _AXPBVE { // total size: 0x4 unsigned short currentVolume; // offset 0x0, size 0x2 signed short currentDelta; // offset 0x2, size 0x2 }; struct _AXPBADDR { // total size: 0x10 unsigned short loopFlag; // offset 0x0, size 0x2 unsigned short format; // offset 0x2, size 0x2 unsigned short loopAddressHi; // offset 0x4, size 0x2 unsigned short loopAddressLo; // offset 0x6, size 0x2 unsigned short endAddressHi; // offset 0x8, size 0x2 unsigned short endAddressLo; // offset 0xA, size 0x2 unsigned short currentAddressHi; // offset 0xC, size 0x2 unsigned short currentAddressLo; // offset 0xE, size 0x2 }; struct _AXPBADPCM { // total size: 0x28 unsigned short a[8][2]; // offset 0x0, size 0x20 unsigned short gain; // offset 0x20, size 0x2 unsigned short pred_scale; // offset 0x22, size 0x2 unsigned short yn1; // offset 0x24, size 0x2 unsigned short yn2; // offset 0x26, size 0x2 }; struct _AXPBSRC { // total size: 0xE unsigned short ratioHi; // offset 0x0, size 0x2 unsigned short ratioLo; // offset 0x2, size 0x2 unsigned short currentAddressFrac; // offset 0x4, size 0x2 unsigned short last_samples[4]; // offset 0x6, size 0x8 }; struct _AXPBADPCMLOOP { // total size: 0x6 unsigned short loop_pred_scale; // offset 0x0, size 0x2 unsigned short loop_yn1; // offset 0x2, size 0x2 unsigned short loop_yn2; // offset 0x4, size 0x2 }; struct _AXPBLPF { // total size: 0x8 unsigned short on; // offset 0x0, size 0x2 unsigned short yn1; // offset 0x2, size 0x2 unsigned short a0; // offset 0x4, size 0x2 unsigned short b0; // offset 0x6, size 0x2 }; struct _AXPBBIQUAD { // total size: 0x14 unsigned short on; // offset 0x0, size 0x2 unsigned short xn1; // offset 0x2, size 0x2 unsigned short xn2; // offset 0x4, size 0x2 unsigned short yn1; // offset 0x6, size 0x2 unsigned short yn2; // offset 0x8, size 0x2 unsigned short b0; // offset 0xA, size 0x2 unsigned short b1; // offset 0xC, size 0x2 unsigned short b2; // offset 0xE, size 0x2 unsigned short a1; // offset 0x10, size 0x2 unsigned short a2; // offset 0x12, size 0x2 }; struct _AXPBRMTMIX { // total size: 0x20 unsigned short vMain0; // offset 0x0, size 0x2 unsigned short vDeltaMain0; // offset 0x2, size 0x2 unsigned short vAux0; // offset 0x4, size 0x2 unsigned short vDeltaAux0; // offset 0x6, size 0x2 unsigned short vMain1; // offset 0x8, size 0x2 unsigned short vDeltaMain1; // offset 0xA, size 0x2 unsigned short vAux1; // offset 0xC, size 0x2 unsigned short vDeltaAux1; // offset 0xE, size 0x2 unsigned short vMain2; // offset 0x10, size 0x2 unsigned short vDeltaMain2; // offset 0x12, size 0x2 unsigned short vAux2; // offset 0x14, size 0x2 unsigned short vDeltaAux2; // offset 0x16, size 0x2 unsigned short vMain3; // offset 0x18, size 0x2 unsigned short vDeltaMain3; // offset 0x1A, size 0x2 unsigned short vAux3; // offset 0x1C, size 0x2 unsigned short vDeltaAux3; // offset 0x1E, size 0x2 }; struct _AXPBRMTDPOP { // total size: 0x10 signed short aMain0; // offset 0x0, size 0x2 signed short aMain1; // offset 0x2, size 0x2 signed short aMain2; // offset 0x4, size 0x2 signed short aMain3; // offset 0x6, size 0x2 signed short aAux0; // offset 0x8, size 0x2 signed short aAux1; // offset 0xA, size 0x2 signed short aAux2; // offset 0xC, size 0x2 signed short aAux3; // offset 0xE, size 0x2 }; struct _AXPBRMTSRC { // total size: 0xA unsigned short currentAddressFrac; // offset 0x0, size 0x2 unsigned short last_samples[4]; // offset 0x2, size 0x8 }; union __AXPBRMTIIR { struct _AXPBLPF lpf; // offset 0x0, size 0x8 struct _AXPBBIQUAD biquad; // offset 0x0, size 0x14 }; struct _AXPB { // total size: 0x140 unsigned short nextHi; // offset 0x0, size 0x2 unsigned short nextLo; // offset 0x2, size 0x2 unsigned short currHi; // offset 0x4, size 0x2 unsigned short currLo; // offset 0x6, size 0x2 unsigned short srcSelect; // offset 0x8, size 0x2 unsigned short coefSelect; // offset 0xA, size 0x2 unsigned long mixerCtrl; // offset 0xC, size 0x4 unsigned short state; // offset 0x10, size 0x2 unsigned short type; // offset 0x12, size 0x2 struct _AXPBMIX mix; // offset 0x14, size 0x30 struct _AXPBITD itd; // offset 0x44, size 0xE struct _AXPBDPOP dpop; // offset 0x52, size 0x18 struct _AXPBVE ve; // offset 0x6A, size 0x4 struct _AXPBADDR addr; // offset 0x6E, size 0x10 struct _AXPBADPCM adpcm; // offset 0x7E, size 0x28 struct _AXPBSRC src; // offset 0xA6, size 0xE struct _AXPBADPCMLOOP adpcmLoop; // offset 0xB4, size 0x6 struct _AXPBLPF lpf; // offset 0xBA, size 0x8 struct _AXPBBIQUAD biquad; // offset 0xC2, size 0x14 unsigned short remote; // offset 0xD6, size 0x2 unsigned short rmtMixerCtrl; // offset 0xD8, size 0x2 struct _AXPBRMTMIX rmtMix; // offset 0xDA, size 0x20 struct _AXPBRMTDPOP rmtDpop; // offset 0xFA, size 0x10 struct _AXPBRMTSRC rmtSrc; // offset 0x10A, size 0xA union __AXPBRMTIIR rmtIIR; // offset 0x114, size 0x14 unsigned short pad[12]; // offset 0x128, size 0x18 }; struct _AXVPB { // total size: 0x168 void * next; // offset 0x0, size 0x4 void * prev; // offset 0x4, size 0x4 void * next1; // offset 0x8, size 0x4 unsigned long priority; // offset 0xC, size 0x4 void (* callback)(void *); // offset 0x10, size 0x4 unsigned long userContext; // offset 0x14, size 0x4 unsigned long index; // offset 0x18, size 0x4 unsigned long sync; // offset 0x1C, size 0x4 unsigned long depop; // offset 0x20, size 0x4 void * itdBuffer; // offset 0x24, size 0x4 struct _AXPB pb; // offset 0x28, size 0x140 }; class EnvelopeWii { // total size: 0x48 class Timer mTimer; // offset 0x0, size 0x38 float mAttackDuration; // offset 0x38, size 0x4 float mReleaseDuration; // offset 0x3C, size 0x4 unsigned char mInRelease; // offset 0x40, size 0x1 unsigned char mIsPaused; // offset 0x41, size 0x1 float mReleaseStart; // offset 0x44, size 0x4 }; class Voice { // total size: 0xB0 enum State mState; // offset 0x0, size 0x4 struct _AXVPB * mVoice; // offset 0x4, size 0x4 unsigned char * mVoiceBuffer; // offset 0x8, size 0x4 int mVoiceBufferSize; // offset 0xC, size 0x4 int mNextBufferSyncPtr; // offset 0x10, size 0x4 int mNextBufferSyncSize; // offset 0x14, size 0x4 unsigned char * mLastBufferSyncEndPtr; // offset 0x18, size 0x4 char * mBufferStart; // offset 0x1C, size 0x4 int mBufferBytes; // offset 0x20, size 0x4 int mStartByte; // offset 0x24, size 0x4 int mLoopByte; // offset 0x28, size 0x4 int mSampleRate; // offset 0x2C, size 0x4 float mSpeed; // offset 0x30, size 0x4 unsigned char mMixDirty; // offset 0x34, size 0x1 float mVolume; // offset 0x38, size 0x4 float mPan; // offset 0x3C, size 0x4 float mLastVolume; // offset 0x40, size 0x4 enum FXCore mFXCore; // offset 0x44, size 0x4 unsigned char mFXActive; // offset 0x48, size 0x1 unsigned char mUseInPlace; // offset 0x49, size 0x1 class PitchShiftEffect * mPitchEffect; // offset 0x4C, size 0x4 float mPitch; // offset 0x50, size 0x4 unsigned char * mLastPitchEffectWritePtr; // offset 0x54, size 0x4 enum Format mFormat; // offset 0x58, size 0x4 class EnvelopeWii mEnvelope; // offset 0x60, size 0x48 unsigned char mFirstPoll; // offset 0xA8, size 0x1 }; class MicWii : public Mic { // total size: 0x20A0 int mIndex; // offset 0x4, size 0x4 class VocalNote * (* mNoteCallback)(float); // offset 0x8, size 0x4 unsigned char mOn; // offset 0xC, size 0x1 unsigned char mConnected; // offset 0xD, size 0x1 unsigned char mDMA; // offset 0xE, size 0x1 unsigned char mFXActive; // offset 0xF, size 0x1 unsigned char mPitchShift; // offset 0x10, size 0x1 unsigned char mComp; // offset 0x11, size 0x1 unsigned char mRunning; // offset 0x12, size 0x1 unsigned char mVoiced; // offset 0x13, size 0x1 unsigned char mLastVoiced; // offset 0x14, size 0x1 unsigned char mMute; // offset 0x15, size 0x1 unsigned char mAttemptedStart; // offset 0x16, size 0x1 unsigned char * mPlaybackBuffer; // offset 0x18, size 0x4 unsigned char * mPlaybackWritePtr; // offset 0x1C, size 0x4 signed short mOutBuf[4096]; // offset 0x20, size 0x2000 int mPadNum; // offset 0x2020, size 0x4 int mOutBufSamples; // offset 0x2024, size 0x4 long mMicHandle; // offset 0x2028, size 0x4 float mGain; // offset 0x202C, size 0x4 float mEarVol; // offset 0x2030, size 0x4 float mCompOut; // offset 0x2034, size 0x4 float mVolume; // offset 0x2038, size 0x4 float mPan; // offset 0x203C, size 0x4 float mSpeed; // offset 0x2040, size 0x4 float mEnergy; // offset 0x2044, size 0x4 float mPitch; // offset 0x2048, size 0x4 float mVoiceSpeed; // offset 0x204C, size 0x4 float mAvgLag; // offset 0x2050, size 0x4 float mLastLag; // offset 0x2054, size 0x4 float mLastEnergy; // offset 0x2058, size 0x4 float mLastPitch; // offset 0x205C, size 0x4 class ADSR mADSR; // offset 0x2060, size 0x28 class Voice * mVoice; // offset 0x2088, size 0x4 enum FXCore mFXCore; // offset 0x208C, size 0x4 }; // Range: 0x8009B9AC -> 0x8009C3B0 float VocalPlayer::Poll_(class VocalPlayer * const this /* r28 */, float ms /* f28 */, float micPitch /* r1+0x8 */, float micEnergy /* f29 */, struct SpeechAnalysis * pMicAnalysis /* r29 */) { // Local variables float micPhonemeAccuracy; // f31 const class VocalNote * note; // r0 unsigned char canChat; // r29 int padNum; // r0 class MicWii * mic; // r29 int beginNote; // r1+0x18 int endNote; // r1+0x14 float bestHit; // f30 int noteMatched; // r1+0x10 int idx; // r0 int vibPeriod; // r30 int i; // r29 float frameVibBonus; // f27 float delta; // f3 int acceleration; // r0 float lastPhraseMs; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class TaskMgr TheTaskMgr; // -> class GameMode * TheGameMode; // -> class SynthWii * TheWiiSynth; // -> class WiiFX TheWiiFX; // -> class SongDB * TheSongDB; } // Range: 0x8009C3B0 -> 0x8009C470 void VocalPlayer::AddPhrasePoints(class VocalPlayer * const this /* r31 */) { // Local variables float prevScore; // f2 float delta; // f31 } // Range: 0x8009C470 -> 0x8009C560 void VocalPlayer::UpdateSmoothScore(class VocalPlayer * const this /* r31 */) { // Local variables float score; // f2 } static class Message pitch_msg; // size: 0x8, address: 0x80977908 // Range: 0x8009C560 -> 0x8009C990 void VocalPlayer::SendVocalState(class VocalPlayer * const this /* r31 */, float ms /* f27 */, float micPitch /* f28 */, float pitchDetune /* f29 */) { // Local variables float frac; // f0 // References // -> static class Message pitch_msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8009C990 -> 0x8009CAD0 float VocalPlayer::GetBestHit(class VocalPlayer * const this /* r27 */, float ms /* f28 */, int endNote /* r28 */, float micPitch /* f29 */, float micPhonemeAccuracy /* f30 */, int & noteMatched /* r29 */, float & targetPitch /* r30 */) { // Local variables float bestHit; // f31 int note; // r31 float outPitch; // r1+0x8 float hit; // f1 } // Range: 0x8009CAD0 -> 0x8009CD20 void VocalPlayer::AddScore(class VocalPlayer * const this /* r31 */, float ms /* f29 */, int noteMatched /* r30 */, float bestHit /* f30 */) { // Local variables float noteWeight; // f0 float mult; // f3 float pts; // f31 float bestPossible; // f27 float diff; // f1 float scoreDelta; // f1 } // Range: 0x8009CD20 -> 0x8009CD58 int VocalPlayer::CalculatePhraseRating() { // Local variables int i; // r5 } static class Message net_msg; // size: 0x8, address: 0x80977920 static class Message msg; // size: 0x8, address: 0x80977938 static class Message msg; // size: 0x8, address: 0x80977950 // Range: 0x8009CD58 -> 0x8009D80C void VocalPlayer::HandlePhraseEnd(class VocalPlayer * const this /* r26 */) { // Local variables const class VocalPhrase * nextPhrase; // r1+0x28 float nextPhraseMs; // f31 float nextnextPhraseMs; // f30 const class VocalPhrase * nextnextPhrase; // r0 int rating; // r28 int points; // r25 int bonus; // r24 int mult; // r0 unsigned char spotlightSuccess; // r27 int lastPhraseScore; // r31 class Message ratingMsg; // r1+0x98 // References // -> static class Message msg; // -> static class Message msg; // -> static class Message net_msg; // -> struct [anonymous] __vt__7Message; // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } // Range: 0x8009D80C -> 0x8009D8C4 void VocalPlayer::LocalScorePhrase(class VocalPlayer * const this /* r29 */, int rating /* r30 */, unsigned char spotlightSuccess /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8009D8C4 -> 0x8009D9E4 void VocalPlayer::UpdateMinMaxPitch() { // Local variables const class VocalPhrase * cur; // r8 const class VocalPhrase * end; // r0 unsigned char foundPitchedNote; // r9 const class vector & notes; // r0 int i; // r10 } // Range: 0x8009D9E4 -> 0x8009DAD0 void VocalPlayer::HookupTrack(class VocalPlayer * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__5Track; // -> struct [anonymous] __RTTI__10VocalTrack; } // Range: 0x8009DAD0 -> 0x8009DADC void VocalPlayer::UnHookTrack() {} // Range: 0x8009DADC -> 0x8009DAF8 void VocalPlayer::SetMusicSpeed() {} // Range: 0x8009DAF8 -> 0x8009DB08 void VocalPlayer::SetAutoplay() {} // Range: 0x8009DB08 -> 0x8009DB10 void VocalPlayer::SetTutorialArrow() {} static class Message scream; // size: 0x8, address: 0x80977968 // Range: 0x8009DB10 -> 0x8009DD40 void VocalPlayer::DetectScream(class VocalPlayer * const this /* r31 */, float ms /* f30 */, float energy /* f31 */) { // References // -> static class Message scream; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8009DD40 -> 0x8009DD4C void VocalPlayer::CancelScream() {} // Range: 0x8009DD4C -> 0x8009DD6C void VocalPlayer::RemoteVocalState() {} // Range: 0x8009DD6C -> 0x8009DE34 class DataNode VocalPlayer::OnMidiParser(class VocalPlayer * const this /* r30 */, class DataArray * d /* r31 */) { // References // -> const char * gNullStr; // -> class GameMode * TheGameMode; } // Range: 0x8009DE34 -> 0x8009E0C4 class DataNode VocalPlayer::OnPlayTambourine(class VocalPlayer * const this /* r29 */, class DataArray * d /* r27 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x8009E0C4 -> 0x8009E124 int VocalPlayer::TambourinePercentage() {} // Range: 0x8009E124 -> 0x8009E1B4 void VocalPlayer::OnRemoteTambourineSucceeding(class VocalPlayer * const this /* r31 */, class DataArray * msg /* r30 */) { // Local variables class BandTrack * track; // r31 } static class Message msg; // size: 0x8, address: 0x80977980 static class Message tutMsg; // size: 0x8, address: 0x80977998 // Range: 0x8009E1B4 -> 0x8009E5FC void VocalPlayer::TambourineSucceed(class VocalPlayer * const this /* r28 */, int index /* r27 */) { // Local variables int perc; // r29 class BandTrack * track; // r0 // References // -> static class Message tutMsg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x809779B0 static class Message tutMsg; // size: 0x8, address: 0x809779C8 // Range: 0x8009E5FC -> 0x8009E9D4 void VocalPlayer::TambourineFail(class VocalPlayer * const this /* r28 */, int index /* r29 */, unsigned char swing /* r27 */) { // References // -> static class Message tutMsg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8009E9D4 -> 0x8009EA94 void VocalPlayer::CheckRemoteTambourine(class VocalPlayer * const this /* r29 */) {} // Range: 0x8009EA94 -> 0x8009ED90 void VocalPlayer::CheckWiiTambourine(class VocalPlayer * const this /* r28 */, float ms /* f31 */, int acceleration /* r1+0x8 */, float energy /* r1+0xC */, unsigned char usb /* r29 */) { // Local variables unsigned char wiiSwinging; // r30 unsigned char swinging; // r29 int delta_tick; // r3 } // Range: 0x8009ED90 -> 0x8009EE88 void VocalPlayer::TambourineSwing(class VocalPlayer * const this /* r29 */, int tick /* r30 */) { // Local variables int delta_tick; // r31 } static class Symbol tambourine; // size: 0x4, address: 0x80A4A178 static class Message send_solo_end; // size: 0x8, address: 0x809779E0 // Range: 0x8009EE88 -> 0x8009F46C void VocalPlayer::SetTambourine(class VocalPlayer * const this /* r27 */, unsigned char tamb /* r28 */) { // Local variables int dur; // r26 const class VocalPhrase * next; // r1+0x14 int start; // r30 int end; // r29 int idx; // r26 int tick; // r25 int pct; // r29 class BandTrack * track; // r25 // References // -> static class Message send_solo_end; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol tambourine; } static class Symbol tambourine; // size: 0x4, address: 0x80A4A180 // Range: 0x8009F46C -> 0x8009F6F8 void VocalPlayer::ComputeTambourinePoints(const class VocalPlayer * const this /* r23 */, int & points /* r24 */, int & bonus_points /* r25 */) { // Local variables unsigned char separate_parts; // r0 class Symbol resultToken; // r1+0x14 int bonus_points_per_gem; // r1+0x10 int num_tamb_gems; // r30 const class VocalPhrase * phrase; // r29 int start_tick; // r28 int end_tick; // r27 int start_gem; // r26 int end_gem; // r28 // References // -> class Scoring * TheScoring; // -> const char * gNullStr; // -> static class Symbol tambourine; // -> class GameMode * TheGameMode; } static class Symbol tambourine; // size: 0x4, address: 0x80A4A188 // Range: 0x8009F6F8 -> 0x8009F7E0 void VocalPlayer::LocalTambourineSoloEnd(class VocalPlayer * const this /* r28 */, int pct /* r31 */, int num_gems /* r29 */) { // Local variables class Symbol resultToken; // r1+0x14 int points_per_gem; // r1+0x10 int points; // r29 // References // -> class Scoring * TheScoring; // -> const char * gNullStr; // -> static class Symbol tambourine; } // Range: 0x8009F7E0 -> 0x8009F9E4 unsigned char VocalPlayer::OnMsg(class VocalPlayer * const this /* r29 */, const class ButtonDownMsg & msg /* r30 */) { // Local variables enum JoypadButton but; // r0 // References // -> class TaskMgr TheTaskMgr; // -> class ProfileMgr TheProfileMgr; } static class Symbol vocalist_volume; // size: 0x4, address: 0x80A4A190 // Range: 0x8009F9E4 -> 0x8009FACC unsigned char VocalPlayer::OnMsg(class VocalPlayer * const this /* r29 */, const class ButtonUpMsg & msg /* r30 */) { // Local variables enum JoypadButton but; // r0 // References // -> static class Symbol vocalist_volume; } // Range: 0x8009FACC -> 0x8009FB3C void VocalPlayer::OnGameOver(class VocalPlayer * const this /* r31 */) { // Local variables class Mic * mic; // r0 } // Range: 0x8009FB3C -> 0x8009FBBC void VocalPlayer::EnableController(class VocalPlayer * const this /* r30 */) { // Local variables class Mic * mic; // r31 } // Range: 0x8009FBBC -> 0x8009FBC0 void VocalPlayer::DisableController() {} // Range: 0x8009FBC0 -> 0x8009FC14 void VocalPlayer::OnDisableController(class VocalPlayer * const this /* r31 */) { // Local variables class Mic * mic; // r0 } // Range: 0x8009FC14 -> 0x8009FC60 unsigned char VocalPlayer::InEmptyPhrase() {} // Range: 0x8009FC60 -> 0x8009FD20 unsigned char VocalPlayer::ShouldDrainEnergy(const class VocalPlayer * const this /* r29 */) { // Local variables int slot; // r30 // References // -> class SongDB * TheSongDB; // -> class GameMode * TheGameMode; } static class Message msg; // size: 0x8, address: 0x809779F8 // Range: 0x8009FD20 -> 0x8009FEE8 void VocalPlayer::HitCoda(class VocalPlayer * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8009FEE8 -> 0x8009FF4C float VocalPlayer::FramePhraseMeterFrac(const class VocalPlayer * const this /* r31 */) {} // Range: 0x8009FF4C -> 0x8009FFD8 unsigned char VocalPlayer::PressingToTalk(class VocalPlayer * const this /* r31 */) { // Local variables class JoypadData * jd; // r0 } // Range: 0x8009FFD8 -> 0x800A0020 unsigned char VocalPlayer::CanChat(class VocalPlayer * const this /* r31 */) { // References // -> class NetSession * TheNetSession; } // Range: 0x800A0020 -> 0x800A0060 void VocalPlayer::LocalHitCoda(class VocalPlayer * const this /* r31 */) {} // Range: 0x800A0060 -> 0x800A0098 void VocalPlayer::LocalBlowCoda(class VocalPlayer * const this /* r31 */) {} // Range: 0x800A0098 -> 0x800A00BC class vector & VocalPlayer::TambourineGems() {} // Range: 0x800A00BC -> 0x800A0114 void VocalPlayer::UpdateVocalStyle(class VocalPlayer * const this /* r31 */) { // Local variables class GameplayOptions * options; // r0 } // Range: 0x800A0114 -> 0x800A0174 unsigned char VocalPlayer::Freestyling(const class VocalPlayer * const this /* r30 */) {} // Range: 0x800A0174 -> 0x800A0608 void VocalPlayer::SetMicSpecialFx(class VocalPlayer * const this /* r28 */, unsigned char on /* r29 */, unsigned char reverb /* r30 */) { // Local variables class FxParamAutoLock lock; // r1+0x8 class ObjDirItr itr; // r1+0x1C // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } static class Symbol tempo_sync; // size: 0x4, address: 0x80A4A198 static class Symbol tempo; // size: 0x4, address: 0x80A4A1A0 // Range: 0x800A0608 -> 0x800A09FC void VocalPlayer::SetMicFxTempo(float tempoVal /* f31 */) { // Local variables class ObjDirItr itr; // r1+0x28 const class DataNode * prop; // r0 // References // -> static class Symbol tempo; // -> static class Symbol tempo_sync; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } // Range: 0x800A09FC -> 0x800A0A10 void VocalPlayer::SetScreamThresholds() {} // Range: 0x800A0A10 -> 0x800A0A64 unsigned char VocalPlayer::AutoplaysCoda() {} // Range: 0x800A0A64 -> 0x800A0AAC void VocalPlayer::SetTargetGhostScore() {} // Range: 0x800A0AAC -> 0x800A0AF8 class Mic * VocalPlayer::GetMic() { // Local variables int pad_num; // r4 // References // -> class Synth * TheSynth; } static class Symbol _s; // size: 0x4, address: 0x80A4A1A8 static class Symbol _s; // size: 0x4, address: 0x80A4A1B0 static class Symbol _s; // size: 0x4, address: 0x80A4A1B8 static class Symbol _s; // size: 0x4, address: 0x80A4A1C0 static class Symbol _s; // size: 0x4, address: 0x80A4A1C8 static class Symbol _s; // size: 0x4, address: 0x80A4A1D0 static class Symbol _s; // size: 0x4, address: 0x80A4A1D8 static class Symbol _s; // size: 0x4, address: 0x80A4A1E0 static class Symbol _s; // size: 0x4, address: 0x80A4A1E8 static class Symbol _s; // size: 0x4, address: 0x80A4A1F0 static class Symbol _s; // size: 0x4, address: 0x80A4A1F8 static class Symbol _s; // size: 0x4, address: 0x80A4A200 static class Symbol _s; // size: 0x4, address: 0x80A4A208 static class Symbol _s; // size: 0x4, address: 0x80A4A210 static class Symbol _s; // size: 0x4, address: 0x80A4A218 static class Symbol _s; // size: 0x4, address: 0x80A4A220 static class Symbol _s; // size: 0x4, address: 0x80A4A228 static class Symbol _s; // size: 0x4, address: 0x80A4A230 static class Symbol _s; // size: 0x4, address: 0x80A4A238 static class Symbol _s; // size: 0x4, address: 0x80A4A240 static class Symbol _s; // size: 0x4, address: 0x80A4A248 static class Symbol _s; // size: 0x4, address: 0x80A4A250 static class Symbol _s; // size: 0x4, address: 0x80A4A258 static class Symbol _s; // size: 0x4, address: 0x80A4A260 static class Symbol _s; // size: 0x4, address: 0x80A4A268 static class Symbol _s; // size: 0x4, address: 0x80A4A270 static class Symbol _s; // size: 0x4, address: 0x80A4A278 static class Symbol _s; // size: 0x4, address: 0x80A4A280 static class Symbol _s; // size: 0x4, address: 0x80A4A288 static class Symbol _s; // size: 0x4, address: 0x80A4A290 static class Symbol _s; // size: 0x4, address: 0x80A4A298 static class Symbol _s; // size: 0x4, address: 0x80A4A2A0 static class Symbol _s; // size: 0x4, address: 0x80A4A2A8 static class Symbol _s; // size: 0x4, address: 0x80A4A2B0 static class Symbol _s; // size: 0x4, address: 0x80A4A2B8 static class Symbol _s; // size: 0x4, address: 0x80A4A2C0 static class Symbol _s; // size: 0x4, address: 0x80A4A2C8 static class Symbol _s; // size: 0x4, address: 0x80A4A2D0 static class Symbol _s; // size: 0x4, address: 0x80A4A2D8 // Range: 0x800A0AF8 -> 0x800A1D00 class DataNode VocalPlayer::Handle(class VocalPlayer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x1E4 } __vt__11VocalPlayer; // size: 0x1E4, address: 0x8087B354 struct { // total size: 0x8 } __RTTI__11VocalPlayer; // size: 0x8, address: 0x8087B570 struct { // total size: 0xC } __vt__11ButtonUpMsg; // size: 0xC, address: 0x8087B620 struct { // total size: 0x8 } __RTTI__11ButtonUpMsg; // size: 0x8, address: 0x8087B648 struct { // total size: 0xC } __vt__13ButtonDownMsg; // size: 0xC, address: 0x8087B650 struct { // total size: 0x8 } __RTTI__13ButtonDownMsg; // size: 0x8, address: 0x8087B678 struct { // total size: 0x8 } __RTTI__10MidiParser; // size: 0x8, address: 0x8087B6A8 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class MicWii * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class MicWii * * _M_start; // offset 0x0, size 0x4 class MicWii * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SynthWii : public Synth { // total size: 0x214 void * axBuffer; // offset 0x70, size 0x4 void * mixBuffer; // offset 0x74, size 0x4 int mVoiceStatus[96]; // offset 0x78, size 0x180 class vector mMics; // offset 0x1F8, size 0xC unsigned char mMicFX; // offset 0x204, size 0x1 unsigned char mHomePausedVoices; // offset 0x205, size 0x1 float mMicRecVol; // offset 0x208, size 0x4 int mMicDataIndex; // offset 0x20C, size 0x4 int mNumConnectedMics; // offset 0x210, size 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A1D00 -> 0x800A1E34 */ // Range: 0x800A1E08 -> 0x800A1E34 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A1E34 -> 0x800A3120 */ // Range: 0x800A1E34 -> 0x800A2D88 void * VocalPlayer::VocalPlayer(class VocalPlayer * const this /* r28 */, class BandUser * config /* r23 */, class BeatMaster * beatMaster /* r24 */, class Band * band /* r25 */, int player /* r31 */, int track /* r27 */, class Performer * band_performer /* r26 */) { // Local variables class Symbol song; // r1+0xDC int padNum; // r27 int diff; // r0 class DataArray * cfg; // r29 float pitch_margin; // f0 int i; // r26 class FilePath p; // r1+0xEC // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8FilePath; // -> class SongMgr & TheSongMgr; // -> class GameMode * TheGameMode; // -> class Net TheNet; // -> const char * gNullStr; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__10MidiParser; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> class SongDB * TheSongDB; // -> struct [anonymous] __vt__11VocalPlayer; } // Range: 0x800A2D88 -> 0x800A3040 void VocalPlayer::PostLoad(class VocalPlayer * const this /* r28 */) { // Local variables class Mic * mic; // r0 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; // -> class GameMode * TheGameMode; } // Range: 0x800A3040 -> 0x800A3084 class Symbol ButtonDownMsg::Type() { // References // -> class Symbol t; } // Range: 0x800A3084 -> 0x800A30B0 void * ButtonDownMsg::ButtonDownMsg() { // References // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800A30B0 -> 0x800A30F4 class Symbol ButtonUpMsg::Type() { // References // -> class Symbol t; } // Range: 0x800A30F4 -> 0x800A3120 void * ButtonUpMsg::ButtonUpMsg() { // References // -> struct [anonymous] __vt__11ButtonUpMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\synth\Mic.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A3120 -> 0x800A3134 */ // Range: 0x800A3120 -> 0x800A3124 void Mic::StopPlayback() {} // Range: 0x800A3124 -> 0x800A3128 void Mic::SetFxSend() {} // Range: 0x800A3128 -> 0x800A312C void Mic::StartPlayback() {} // Range: 0x800A312C -> 0x800A3134 unsigned char Mic::IsPlaying() {} /* Compile unit: C:\rockband2\band2\src\game\VocalPlayer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A3134 -> 0x800A317C */ // Range: 0x800A3134 -> 0x800A313C unsigned char VocalPlayer::IsAutoplay() {} // Range: 0x800A313C -> 0x800A3144 unsigned char VocalPlayer::NeedsToSetCodaEnd() {} // Range: 0x800A3144 -> 0x800A314C unsigned char VocalPlayer::NeedsToCorrectBasePoints() {} // Range: 0x800A314C -> 0x800A3154 void VocalPlayer::SetCodaEndMs() {} // Range: 0x800A3154 -> 0x800A315C unsigned char VocalPlayer::InFreestyleSection() {} // Range: 0x800A315C -> 0x800A3164 unsigned char VocalPlayer::FillsEnabled() {} // Range: 0x800A3164 -> 0x800A3168 void VocalPlayer::DisableFills() {} // Range: 0x800A3168 -> 0x800A316C void VocalPlayer::EnableFills() {} // Range: 0x800A316C -> 0x800A3170 void VocalPlayer::SetRealtime() {} // Range: 0x800A3170 -> 0x800A3174 void VocalPlayer::PollTrack() {} // Range: 0x800A3174 -> 0x800A317C unsigned char VocalPlayer::IsReady() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandTrack.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A317C -> 0x800A3180 */ // Range: 0x800A317C -> 0x800A3180 void BandTrack::SetTambourine() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A3180 -> 0x800A32C8 */ // Range: 0x800A3180 -> 0x800A32C8 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables float * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pf; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\VocalScorer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A3328 -> 0x800A37E8 */ // Range: 0x800A3328 -> 0x800A33EC void * VocalScorer::~VocalScorer(class VocalScorer * const this /* r29 */) {} // Range: 0x800A33EC -> 0x800A3784 float VocalScorer::ScoreFrame(class VocalScorer * const this /* r29 */, float ms /* f27 */, struct SpeechAnalysis * pMicAnalysis /* r30 */) { // Local variables struct SpeechAnalysis refAnalyses[8]; // r1+0x318 int refCount; // r1+0xC float phonemeScore; // f31 float warpingScore; // f30 float sequencScore; // f29 float transitScore; // f28 double scoreSum; // f26 double scoreWeight; // f25 char refergs[256]; // r1+0x218 char micergs[256]; // r1+0x118 unsigned char energies[8]; // r1+0x10 int numerg; // r0 int ii; // r30 int ii; // r30 char buffer[256]; // r1+0x18 } // Range: 0x800A3784 -> 0x800A378C unsigned char VocalScorer::IsLastRefVoiced() {} // Range: 0x800A378C -> 0x800A37E8 unsigned char VocalScorer::IsLastCorrectUnvoiced(class VocalScorer * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A37E8 -> 0x800A3A80 */ // Range: 0x800A37E8 -> 0x800A39C4 void * VocalScorer::VocalScorer(class VocalScorer * const this /* r26 */, int player /* r27 */) { // Local variables int diff; // r0 class DataArray * cfg; // r27 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800A39C4 -> 0x800A3A80 void VocalScorer::Initialize(class VocalScorer * const this /* r30 */) { // Local variables class String panFile; // r1+0xC // References // -> class Debug TheDebug; // -> class SongMgr & TheSongMgr; } /* Compile unit: C:\rockband2\band2\src\game\SongMgr_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A3A80 -> 0x800A3F88 */ class WiiSongMgr : public SongMgr { // total size: 0x84 enum SongMgrState mState; // offset 0x80, size 0x4 }; // Range: 0x800A3A80 -> 0x800A3A8C void WiiSongMgr::Init() {} // Range: 0x800A3A8C -> 0x800A3A90 void WiiSongMgr::Terminate() {} static class Symbol downloaded; // size: 0x4, address: 0x80A4A2E4 // Range: 0x800A3A90 -> 0x800A3B5C char * WiiSongMgr::ContentName() { // Local variables const class DataArray * data; // r31 class DataArray * o; // r30 // References // -> static class Symbol downloaded; } // Range: 0x800A3B5C -> 0x800A3C30 unsigned char WiiSongMgr::IsSongMounted(const class WiiSongMgr * const this /* r30 */, class Symbol & song /* r31 */) { // Local variables const char * contentName; // r4 // References // -> class ContentMgr & TheContentMgr; // -> class Debug TheDebug; } // Range: 0x800A3C30 -> 0x800A3C3C void WiiSongMgr::ContentSongLoaded() {} // Range: 0x800A3C3C -> 0x800A3EE4 class DataNode WiiSongMgr::Handle(class WiiSongMgr * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } enum SongMgrState { kSongMgr_SaveMount = 0, kSongMgr_SaveWrite = 1, kSongMgr_SaveUnmount = 2, kSongMgr_Ready = 3, kSongMgr_Failure = 4, kSongMgr_Max = 5, kSongMgr_Nil = -1, }; // Range: 0x800A3EE4 -> 0x800A3EF8 void WiiSongMgr::SetState() {} static class WiiSongMgr gSongMgr; // size: 0x84, address: 0x80977A0C // Range: 0x800A3EF8 -> 0x800A3F0C unsigned char WiiSongMgr::SongCacheNeedsWrite() { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x800A3F0C -> 0x800A3F14 unsigned char WiiSongMgr::IsPermanentMount() {} struct { // total size: 0xF0 } __vt__10WiiSongMgr; // size: 0xF0, address: 0x8087BBE0 struct { // total size: 0x8 } __RTTI__10WiiSongMgr; // size: 0x8, address: 0x8087BD00 // Range: 0x800A3F14 -> 0x800A3F78 static void __sinit_\SongMgr_Wii_cpp() { // References // -> class SongMgr & TheSongMgr; // -> struct [anonymous] __vt__10WiiSongMgr; // -> static class WiiSongMgr gSongMgr; } /* Compile unit: C:\rockband2\system\src\os\ContentMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A3F88 -> 0x800A3F90 */ // Range: 0x800A3F88 -> 0x800A3F90 unsigned char ContentMgr::IsMounted() {} /* Compile unit: C:\rockband2\band2\src\game\HeadToHeadLeaderboard.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A419C -> 0x800A419C */ class Symbol points; // size: 0x4, address: 0x80A4A2EC class PlayerLeaderboardData : public LeaderboardData { // total size: 0x40 }; class _List_node : public _List_node_base { // total size: 0xC public: class LeaderboardResultRow * _M_data; // offset 0x8, size 0x4 }; class RockCentralOpCompleteMsg : public Message { // total size: 0x8 }; class LeaderboardData : public Object { // total size: 0x40 protected: enum DataEnumState mEnumState; // offset 0x28, size 0x4 class HxGuid mNetBandGuid; // offset 0x2C, size 0x10 class Symbol units_symbol; // offset 0x3C, size 0x4 }; enum DataEnumState { kEnumInactive = 0, kEnumWaiting = 1, kGetBandProfile = 2, kEnumFailure = 3, kEnumSuccess = 4, kEnumDone = 5, }; struct { // total size: 0x8 } __RTTI__21PlayerLeaderboardData; // size: 0x8, address: 0x8087BD40 struct { // total size: 0x8 } __RTTI__15LeaderboardData; // size: 0x8, address: 0x8087BD70 /* Compile unit: C:\rockband2\band2\src\game\LeaderboardData.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A419C -> 0x800A4204 */ // Range: 0x800A419C -> 0x800A41F8 void * PlayerLeaderboardData::~PlayerLeaderboardData(class PlayerLeaderboardData * const this /* r30 */) {} // Range: 0x800A41F8 -> 0x800A41FC void LeaderboardData::OnSelectRowComplete() {} // Range: 0x800A41FC -> 0x800A4204 enum DataEnumState LeaderboardData::GetEnumState() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A4204 -> 0x800A4264 */ // Range: 0x800A4204 -> 0x800A4264 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\game\Leaderboard.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A4264 -> 0x800A89C0 */ class ListProviderObject : public ListProvider, public Object { // total size: 0x2C }; enum FilterType { kByID = 0, kByRank = 1, kNumFilters = 2, }; class Leaderboard : public ListProviderObject { // total size: 0x78 protected: class LeaderboardData * mData; // offset 0x2C, size 0x4 class RndMat * mSongBgMat; // offset 0x30, size 0x4 class EntityID mEntityID; // offset 0x34, size 0x18 int mDataStartRank; // offset 0x4C, size 0x4 enum FilterType mFilter; // offset 0x50, size 0x4 unsigned char mPageUp; // offset 0x54, size 0x1 int mNumEntries; // offset 0x58, size 0x4 int mDataCount; // offset 0x5C, size 0x4 int mListIxOffset; // offset 0x60, size 0x4 int mListCurPos; // offset 0x64, size 0x4 unsigned long long mLowestScore; // offset 0x68, size 0x8 class Symbol no_results_warning; // offset 0x70, size 0x4 }; // Range: 0x800A4264 -> 0x800A4348 void * Leaderboard::Leaderboard(class Leaderboard * const this /* r29 */, class LeaderboardData * pData /* r31 */, class EntityID & id /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__11Leaderboard; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800A4348 -> 0x800A43EC void * Leaderboard::~Leaderboard(class Leaderboard * const this /* r30 */) { // References // -> struct [anonymous] __vt__11Leaderboard; } // Range: 0x800A43EC -> 0x800A4428 unsigned char Leaderboard::CancelEnumerate() {} static class Symbol song_bg; // size: 0x4, address: 0x80A4A2F4 // Range: 0x800A4428 -> 0x800A44F8 class RndMat * Leaderboard::Mat(const class Leaderboard * const this /* r27 */, int data /* r28 */, class Symbol & slot /* r29 */) { // References // -> static class Symbol song_bg; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol name; // size: 0x4, address: 0x80A4A2FC static class Symbol rank; // size: 0x4, address: 0x80A4A304 // Range: 0x800A44F8 -> 0x800A469C char * Leaderboard::Text(const class Leaderboard * const this /* r30 */, int data /* r31 */, class Symbol & slot /* r28 */) { // Local variables const class LeaderboardResultList * resultList; // r29 const class LeaderboardResultRow * pRow; // r4 // References // -> static class Symbol rank; // -> static class Symbol name; } static class Symbol rank; // size: 0x4, address: 0x80A4A30C static class Symbol name; // size: 0x4, address: 0x80A4A314 static class Symbol shortcut; // size: 0x4, address: 0x80A4A31C static class Symbol score; // size: 0x4, address: 0x80A4A324 // Range: 0x800A469C -> 0x800A4844 char * Leaderboard::GetTextFromRow(const class LeaderboardResultRow * pRow /* r29 */, class Symbol & slot /* r30 */) { // Local variables int score; // r0 // References // -> class Debug TheDebug; // -> class PlatformMgr ThePlatformMgr; // -> static class Symbol score; // -> static class Symbol shortcut; // -> static class Symbol name; // -> static class Symbol rank; } // Range: 0x800A4844 -> 0x800A4888 class LeaderboardResultRow * Leaderboard::GetDisplayRow(const class Leaderboard * const this /* r31 */) {} // Range: 0x800A4888 -> 0x800A4894 int Leaderboard::DisplayToDataIx() {} // Range: 0x800A4894 -> 0x800A48B4 int Leaderboard::GetUserPos() {} // Range: 0x800A48B4 -> 0x800A48BC void Leaderboard::SetUserPos() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x800A48BC -> 0x800A4D44 unsigned char Leaderboard::OnEnumComplete(class Leaderboard * const this /* r29 */) { // Local variables const class list * pRows; // r0 int pageSize; // r1+0x50 int listIndex; // r30 struct _List_iterator it; // r1+0x4C int ixFirstRow; // r5 // References // -> class LeaderboardsMgr * TheLeaderboards; } static class Message warningMsg; // size: 0x8, address: 0x80977AA0 static class Message unrankedMsg; // size: 0x8, address: 0x80977AB8 static class Message unrankedMsg; // size: 0x8, address: 0x80977AD0 static class Message warningMsg; // size: 0x8, address: 0x80977AE8 static class Message warningMsg; // size: 0x8, address: 0x80977B00 static class Message unrankedMsg; // size: 0x8, address: 0x80977B18 static class Message updateMsg; // size: 0x8, address: 0x80977B30 // Range: 0x800A4D44 -> 0x800A5A8C void Leaderboard::ShowData(class Leaderboard * const this /* r29 */) { // Local variables class String s; // r1+0x138 // References // -> static class Message updateMsg; // -> static class Message unrankedMsg; // -> static class Message warningMsg; // -> static class Message warningMsg; // -> static class Message unrankedMsg; // -> class LeaderboardsMgr * TheLeaderboards; // -> static class Message unrankedMsg; // -> class UIManager TheUI; // -> static class Message warningMsg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800A5A8C -> 0x800A5B6C class Symbol Leaderboard::OnSelectRow(class Leaderboard * const this /* r29 */, int playerNum /* r30 */) { // Local variables const class LeaderboardResultRow * pRow; // r31 // References // -> const char * gNullStr; } // Range: 0x800A5B6C -> 0x800A5B98 unsigned char Leaderboard::CanRowsBeSelected() {} static class Symbol _s; // size: 0x4, address: 0x80A4A330 static class Symbol _s; // size: 0x4, address: 0x80A4A338 static class Symbol _s; // size: 0x4, address: 0x80A4A340 static class Symbol _s; // size: 0x4, address: 0x80A4A348 static class Symbol _s; // size: 0x4, address: 0x80A4A350 static class Symbol _s; // size: 0x4, address: 0x80A4A358 static class Symbol _s; // size: 0x4, address: 0x80A4A360 static class Symbol _s; // size: 0x4, address: 0x80A4A368 static class Symbol _s; // size: 0x4, address: 0x80A4A370 static class Symbol _s; // size: 0x4, address: 0x80A4A378 static class Symbol _s; // size: 0x4, address: 0x80A4A380 // Range: 0x800A5B98 -> 0x800A6934 class DataNode Leaderboard::Handle(class Leaderboard * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x58 class MessageTimer _mt; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol leaderboard_nobody_ranked; // size: 0x4, address: 0x80A4A388 class LeaderboardLive : public Leaderboard { // total size: 0x80 class ChampShortcutProvider * mFriendProvider; // offset 0x74, size 0x4 class LeaderboardData * mChampData; // offset 0x78, size 0x4 }; // Range: 0x800A6934 -> 0x800A6A10 void * LeaderboardLive::LeaderboardLive(class LeaderboardLive * const this /* r31 */, class LeaderboardData * pChampData /* r27 */, class LeaderboardData * pData /* r28 */, int playerNum /* r29 */, class EntityID & id /* r30 */) { // References // -> static class Symbol leaderboard_nobody_ranked; // -> struct [anonymous] __vt__15LeaderboardLive; } // Range: 0x800A6A10 -> 0x800A6AD8 void * LeaderboardLive::~LeaderboardLive(class LeaderboardLive * const this /* r30 */) { // References // -> struct [anonymous] __vt__15LeaderboardLive; } // Range: 0x800A6B3C -> 0x800A6C84 void LeaderboardLive::RequestNewPage(class LeaderboardLive * const this /* r31 */, unsigned char down /* r29 */) { // References // -> class LeaderboardsMgr * TheLeaderboards; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800A6C84 -> 0x800A6D20 void LeaderboardLive::OnNextLandmark(class LeaderboardLive * const this /* r29 */, int dataIx /* r30 */) { // Local variables int shortcutCount; // r0 int shortcutIx; // r0 } // Range: 0x800A6D20 -> 0x800A6D68 int LeaderboardLive::IxCurrentLandmark(class LeaderboardLive * const this /* r31 */) { // Local variables const class LeaderboardResultRow * pRow; // r0 } // Range: 0x800A6D68 -> 0x800A6F54 void LeaderboardLive::EnumerateLandmark(class LeaderboardLive * const this /* r31 */) { // Local variables int i; // r29 // References // -> class LeaderboardsMgr * TheLeaderboards; } // Range: 0x800A6F54 -> 0x800A6FBC char * LeaderboardLive::GetChampText(const class LeaderboardLive * const this /* r30 */, class Symbol & slot /* r31 */) { // Local variables const class LeaderboardResultRow * row; // r0 } // Range: 0x800A6FBC -> 0x800A7340 unsigned char LeaderboardLive::EnumComplete(class LeaderboardLive * const this /* r31 */) { // Local variables enum DataEnumState state; // r0 enum DataEnumState state; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LeaderboardsMgr * TheLeaderboards; } // Range: 0x800A7340 -> 0x800A73A4 unsigned char LeaderboardLive::CancelEnumerate(class LeaderboardLive * const this /* r31 */) {} class LeaderboardCached : public Leaderboard { // total size: 0x78 protected: class ShortcutProviderWrapper * mShortcutProvider; // offset 0x74, size 0x4 }; // Range: 0x800A73A4 -> 0x800A7498 void * LeaderboardCached::LeaderboardCached(class LeaderboardCached * const this /* r28 */, class LeaderboardData * pData /* r29 */, int playerNum /* r30 */, class EntityID & id /* r31 */) { // References // -> struct [anonymous] __vt__23ShortcutProviderWrapper; // -> struct [anonymous] __vt__12ListProvider; // -> struct [anonymous] __vt__17LeaderboardCached; } // Range: 0x800A7498 -> 0x800A7534 void * LeaderboardCached::~LeaderboardCached(class LeaderboardCached * const this /* r30 */) { // References // -> struct [anonymous] __vt__17LeaderboardCached; } // Range: 0x800A7598 -> 0x800A7694 unsigned char LeaderboardCached::EnumComplete(class LeaderboardCached * const this /* r31 */) { // Local variables enum DataEnumState state; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LeaderboardsMgr * TheLeaderboards; } // Range: 0x800A7694 -> 0x800A77B0 void LeaderboardCached::RequestNewPage(class LeaderboardCached * const this /* r31 */, unsigned char down /* r30 */) { // References // -> class LeaderboardsMgr * TheLeaderboards; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800A77B0 -> 0x800A7874 void LeaderboardCached::EnumerateLandmark(class LeaderboardCached * const this /* r30 */) { // Local variables const class LeaderboardResultRow * row; // r0 } // Range: 0x800A7874 -> 0x800A78E0 void LeaderboardCached::OnNextLandmark(class LeaderboardCached * const this /* r31 */) { // Local variables int ShortcutIx; // r0 } // Range: 0x800A78E0 -> 0x800A7928 int LeaderboardCached::IxCurrentLandmark(class LeaderboardCached * const this /* r31 */) { // Local variables const class LeaderboardResultRow * pRow; // r0 } // Range: 0x800A7928 -> 0x800A7954 int LeaderboardCached::NumData() { // References // -> class LeaderboardsMgr * TheLeaderboards; } // Range: 0x800A7954 -> 0x800A79B0 char * LeaderboardCached::GetChampText(const class LeaderboardCached * const this /* r31 */) {} static class Symbol leaderboard_no_ranked_friends; // size: 0x4, address: 0x80A4A390 class LeaderboardFriends : public LeaderboardCached { // total size: 0x78 }; // Range: 0x800A79B0 -> 0x800A7A8C void * LeaderboardFriends::LeaderboardFriends(class LeaderboardFriends * const this /* r28 */, class LeaderboardData * pData /* r29 */, int playerNum /* r30 */, class EntityID & id /* r31 */) { // References // -> static class Symbol leaderboard_no_ranked_friends; // -> struct [anonymous] __vt__18LeaderboardFriends; } // Range: 0x800A7A8C -> 0x800A7B70 void LeaderboardFriends::SpecializedEnumerate(class LeaderboardFriends * const this /* r28 */) {} static class Symbol leaderboards_no_local_bands; // size: 0x4, address: 0x80A4A398 class LeaderboardLocal : public LeaderboardCached { // total size: 0x78 }; // Range: 0x800A7B70 -> 0x800A7C4C void * LeaderboardLocal::LeaderboardLocal(class LeaderboardLocal * const this /* r28 */, class LeaderboardData * pData /* r29 */, int playerNum /* r30 */, class EntityID & id /* r31 */) { // References // -> static class Symbol leaderboards_no_local_bands; // -> struct [anonymous] __vt__16LeaderboardLocal; } // Range: 0x800A7C4C -> 0x800A7D30 void LeaderboardLocal::SpecializedEnumerate(class LeaderboardLocal * const this /* r28 */) {} class ChampShortcutProvider : public ListProviderObject { // total size: 0x34 const class LeaderboardData * mFriends; // offset 0x2C, size 0x4 const class LeaderboardData * mChamp; // offset 0x30, size 0x4 }; // Range: 0x800A7D30 -> 0x800A7E28 char * ChampShortcutProvider::Text(const class ChampShortcutProvider * const this /* r29 */, int data /* r30 */) { // Local variables const class LeaderboardResultRow * p; // r0 int ix; // r31 struct _List_iterator it; // r1+0x18 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x800A7E28 -> 0x800A7F38 int ChampShortcutProvider::NumData(const class ChampShortcutProvider * const this /* r30 */) {} // Range: 0x800A7F38 -> 0x800A7FB8 int ChampShortcutProvider::GetRowIxFromRank(const class ChampShortcutProvider * const this /* r29 */, int rank /* r30 */) { // Local variables int result; // r0 const class LeaderboardResultRow * row; // r0 } // Range: 0x800A7FB8 -> 0x800A8018 class list * ChampShortcutProvider::GetRows() {} // Range: 0x800A8018 -> 0x800A8140 class LeaderboardResultRow * ChampShortcutProvider::GetRow(class ChampShortcutProvider * const this /* r30 */, int ix /* r31 */) { // Local variables struct _List_iterator it; // r1+0x28 int j; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4A3A0 // Range: 0x800A8140 -> 0x800A84F0 class DataNode ChampShortcutProvider::Handle(class ChampShortcutProvider * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class ShortcutProviderWrapper : public ListProviderObject { // total size: 0x30 const class LeaderboardCached * mShortcuts; // offset 0x2C, size 0x4 }; // Range: 0x800A84F0 -> 0x800A8568 char * ShortcutProviderWrapper::Text(const class ShortcutProviderWrapper * const this /* r29 */, int ix /* r30 */, class Symbol & slot /* r31 */) { // Local variables const class LeaderboardResultRow * resultRow; // r0 } // Range: 0x800A8568 -> 0x800A8610 int ShortcutProviderWrapper::NumData() { // Local variables const class LeaderboardResultList * list; // r31 } static class Symbol _s; // size: 0x4, address: 0x80A4A3A8 // Range: 0x800A8610 -> 0x800A89C0 class DataNode ShortcutProviderWrapper::Handle(class ShortcutProviderWrapper * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xD4 } __vt__16LeaderboardLocal; // size: 0xD4, address: 0x8087C078 struct { // total size: 0x8 } __RTTI__16LeaderboardLocal; // size: 0x8, address: 0x8087C198 struct { // total size: 0xD4 } __vt__18LeaderboardFriends; // size: 0xD4, address: 0x8087C1A0 struct { // total size: 0x8 } __RTTI__18LeaderboardFriends; // size: 0x8, address: 0x8087C2C0 struct { // total size: 0xD4 } __vt__17LeaderboardCached; // size: 0xD4, address: 0x8087C2C8 struct { // total size: 0x8 } __RTTI__17LeaderboardCached; // size: 0x8, address: 0x8087C3E0 struct { // total size: 0xD0 } __vt__15LeaderboardLive; // size: 0xD0, address: 0x8087C3E8 struct { // total size: 0x8 } __RTTI__15LeaderboardLive; // size: 0x8, address: 0x8087C4F8 struct { // total size: 0xD0 } __vt__11Leaderboard; // size: 0xD0, address: 0x8087C500 struct { // total size: 0x8 } __RTTI__11Leaderboard; // size: 0x8, address: 0x8087C600 struct { // total size: 0x9C } __vt__23ShortcutProviderWrapper; // size: 0x9C, address: 0x8087C608 struct { // total size: 0x8 } __RTTI__23ShortcutProviderWrapper; // size: 0x8, address: 0x8087C6E8 struct { // total size: 0x9C } __vt__21ChampShortcutProvider; // size: 0x9C, address: 0x8087C6F0 struct { // total size: 0x8 } __RTTI__21ChampShortcutProvider; // size: 0x8, address: 0x8087C7C8 struct { // total size: 0x98 } __vt__18ListProviderObject; // size: 0x98, address: 0x8087C7D0 struct { // total size: 0x8 } __RTTI__18ListProviderObject; // size: 0x8, address: 0x8087C898 class Friend { // total size: 0x20 class String mName; // offset 0x0, size 0xC unsigned long long mFriendKey; // offset 0x10, size 0x8 class String mUsername; // offset 0x18, size 0x4 }; /* Compile unit: C:\rockband2\system\src\ui\ListProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A89C0 -> 0x800A8A2C */ // Range: 0x800A8A20 -> 0x800A8A28 unsigned char ListProvider::IsActive() {} // Range: 0x800A8A28 -> 0x800A8A2C void ListProvider::InitData() {} /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A8A2C -> 0x800A8A88 */ // Range: 0x800A8A2C -> 0x800A8A88 void Leaderboard::InitData(class Leaderboard * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } /* Compile unit: C:\rockband2\band2\src\game\Leaderboard.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A8AE0 -> 0x800A8BC0 */ // Range: 0x800A8AE0 -> 0x800A8B3C void * LeaderboardLocal::~LeaderboardLocal(class LeaderboardLocal * const this /* r30 */) {} // Range: 0x800A8B3C -> 0x800A8B44 class ListProviderObject * LeaderboardCached::GetShortcutProvider() {} // Range: 0x800A8B44 -> 0x800A8BA0 void * LeaderboardFriends::~LeaderboardFriends(class LeaderboardFriends * const this /* r30 */) {} // Range: 0x800A8BA0 -> 0x800A8BA8 class ListProviderObject * LeaderboardLive::GetShortcutProvider() {} // Range: 0x800A8BA8 -> 0x800A8BB0 int LeaderboardLive::NumData() {} // Range: 0x800A8BB0 -> 0x800A8BB8 class RndMat * ShortcutProviderWrapper::Mat() {} // Range: 0x800A8BB8 -> 0x800A8BC0 class RndMat * ChampShortcutProvider::Mat() {} /* Compile unit: C:\rockband2\band2\src\game\LeaderboardData.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A8BC0 -> 0x800A8E1C */ class Symbol t; // size: 0x4, address: 0x80A4A3B4 // Range: 0x800A8BC0 -> 0x800A8C14 void * LeaderboardData::LeaderboardData(class LeaderboardData * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__15LeaderboardData; } // Range: 0x800A8C14 -> 0x800A8C8C void * LeaderboardData::~LeaderboardData(class LeaderboardData * const this /* r30 */) { // References // -> struct [anonymous] __vt__15LeaderboardData; } // Range: 0x800A8C8C -> 0x800A8CCC void LeaderboardData::CleanUp(class LeaderboardData * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x800A8CCC -> 0x800A8DE8 int LeaderboardData::GetRowIxFromRank(int rank /* r1+0x8 */) { // Local variables const class list * ShortcutRows; // r0 struct _List_iterator it; // r1+0x58 int ix; // r3 struct _List_iterator comp_it; // r1+0x54 } // Range: 0x800A8DE8 -> 0x800A8E14 class Symbol PlayerLeaderboardData::OnSelectRow() { // References // -> const char * gNullStr; } // Range: 0x800A8E14 -> 0x800A8E1C unsigned char PlayerLeaderboardData::CanRowsBeSelected() {} struct { // total size: 0x7C } __vt__21PlayerLeaderboardData; // size: 0x7C, address: 0x8087C9AC struct { // total size: 0x7C } __vt__15LeaderboardData; // size: 0x7C, address: 0x8087CA28 struct { // total size: 0xC } __vt__24RockCentralOpCompleteMsg; // size: 0xC, address: 0x8087CAA4 struct { // total size: 0x8 } __RTTI__24RockCentralOpCompleteMsg; // size: 0x8, address: 0x8087CAD8 /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A8E1C -> 0x800A9620 */ // Range: 0x800A8E1C -> 0x800A8F64 class DataNode LeaderboardData::OnMsg(class LeaderboardData * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RockCentralGateway RockCentral; } // Range: 0x800A8F64 -> 0x800A91CC class LeaderboardResultRow * LeaderboardData::GetRowFromIndex(const class LeaderboardData * const this /* r31 */, int index /* r30 */) { // Local variables const class list * pRows; // r0 int count; // r4 struct _List_iterator it; // r1+0x60 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800A91CC -> 0x800A9620 class DataNode LeaderboardData::Handle(class LeaderboardData * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A96A4 -> 0x800A97CC */ // Range: 0x800A96A4 -> 0x800A97CC struct _List_iterator __upper_bound(struct _List_iterator & __first /* r28 */, const int & __val /* r29 */) { // Local variables long __len; // r31 long __half; // r30 struct _List_iterator __middle; // r1+0x18 } /* Compile unit: C:\rockband2\band2\src\game\LeaderboardsMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800A97CC -> 0x800AB878 */ class Symbol t; // size: 0x4, address: 0x80A4A3BC class LeaderboardsMgr * TheLeaderboards; // size: 0x4, address: 0x80A4A3C0 // Range: 0x800A97CC -> 0x800A9904 void * LeaderboardsMgr::LeaderboardsMgr(class LeaderboardsMgr * const this /* r29 */) { // References // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LeaderboardsMgr * TheLeaderboards; // -> struct [anonymous] __vt__15LeaderboardsMgr; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800A9904 -> 0x800A9A28 void * LeaderboardsMgr::~LeaderboardsMgr(class LeaderboardsMgr * const this /* r30 */) { // References // -> class LeaderboardsMgr * TheLeaderboards; // -> struct [anonymous] __vt__15LeaderboardsMgr; } // Range: 0x800A9A28 -> 0x800A9B70 void LeaderboardsMgr::Destroy(class LeaderboardsMgr * const this /* r27 */) {} // Range: 0x800A9B70 -> 0x800A9BF8 unsigned char LeaderboardsMgr::CancelEnumerate(class LeaderboardsMgr * const this /* r31 */) {} // Range: 0x800A9BF8 -> 0x800A9DB0 void LeaderboardsMgr::Enumerate(class LeaderboardsMgr * const this /* r31 */) { // Local variables class vector profiles; // r1+0x10 class Profile * * it; // r29 int player_num; // r0 class User * user; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node; // -> unsigned char gStlAllocNameLookup; // -> class UserMgr * TheUserMgr; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std18_List_node; // size: 0x8, address: 0x8087CB80 // Range: 0x800A9DB0 -> 0x800A9FB4 void LeaderboardsMgr::EnumMoreFriends(class LeaderboardsMgr * const this /* r31 */) { // Local variables class Friend * * it; // r30 class Friend * newFriend; // r1+0x38 // References // -> class PlatformMgr ThePlatformMgr; } static class Symbol career; // size: 0x4, address: 0x80A4A3C8 // Range: 0x800A9FB4 -> 0x800AA320 void LeaderboardsMgr::CreateLocalBoard(class LeaderboardsMgr * const this /* r31 */) { // Local variables int padNum; // r0 unsigned int playerId; // r0 class LeaderboardData * pData; // r0 int padNum; // r0 unsigned int playerId; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol career; // -> class Net TheNet; } static class Message errorMsg; // size: 0x8, address: 0x80977B48 static class Symbol leaderboards_netwatcher_panel; // size: 0x4, address: 0x80A4A3D0 // Range: 0x800AA320 -> 0x800AA53C void LeaderboardsMgr::HandleIOError() { // References // -> class UIManager TheUI; // -> static class Symbol leaderboards_netwatcher_panel; // -> static class Message errorMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800AA53C -> 0x800AA620 void LeaderboardsMgr::RotateFilter(class LeaderboardsMgr * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x80977B60 // Range: 0x800AA620 -> 0x800AA820 void LeaderboardsMgr::UpdateFilter(class LeaderboardsMgr * const this /* r31 */) { // References // -> class UIManager TheUI; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800AA820 -> 0x800AA8B4 unsigned long long LeaderboardsMgr::GetLowScore(class LeaderboardsMgr * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800AA8B4 -> 0x800AA8BC void LeaderboardsMgr::SetPlayerNum() {} // Range: 0x800AA8BC -> 0x800AA930 void LeaderboardsMgr::SetBandFromTour(class LeaderboardsMgr * const this /* r31 */) { // Local variables class TourBand * band; // r0 // References // -> class Tour * TheTour; } // Range: 0x800AA930 -> 0x800AA938 void LeaderboardsMgr::SetTrackType() {} // Range: 0x800AA938 -> 0x800AA940 class Symbol LeaderboardsMgr::GetTrackTypeSym() {} // Range: 0x800AA940 -> 0x800AA9DC class Symbol LeaderboardsMgr::GetTrackTypeChar() { // References // -> class DataArray * sTrackIcons; } // Range: 0x800AA9DC -> 0x800AA9F4 void LeaderboardsMgr::SetHighlight() {} // Range: 0x800AA9F4 -> 0x800AA9FC class Element & LeaderboardsMgr::GetHighlight() {} // Range: 0x800AA9FC -> 0x800AAA04 class Symbol LeaderboardsMgr::GetSongSym() {} // Range: 0x800AAA04 -> 0x800AAA88 void LeaderboardsMgr::SetType(class LeaderboardsMgr * const this /* r30 */, enum Type type /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800AAA88 -> 0x800AAA90 enum Type LeaderboardsMgr::GetType() {} // Range: 0x800AAA90 -> 0x800AAAE4 void LeaderboardsMgr::ClearType(class LeaderboardsMgr * const this /* r31 */) {} // Range: 0x800AAAE4 -> 0x800AAB80 class Leaderboard * LeaderboardsMgr::GetCurrentBoard() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800AAB80 -> 0x800AABC0 int LeaderboardsMgr::NumData() { // Local variables class Leaderboard * board; // r0 } // Range: 0x800AABC0 -> 0x800AAC38 char * LeaderboardsMgr::Text(int showing /* r29 */, int data /* r30 */, class Symbol & slot /* r31 */) { // Local variables class Leaderboard * board; // r0 } // Range: 0x800AAC38 -> 0x800AACB0 class RndMat * LeaderboardsMgr::Mat(int showing /* r29 */, int data /* r30 */, class Symbol & slot /* r31 */) { // Local variables class Leaderboard * board; // r0 } // Range: 0x800AACB0 -> 0x800AAD4C void LeaderboardsMgr::SetSizeLimits(class LeaderboardsMgr * const this /* r28 */, class DataArray * limits /* r29 */) { // Local variables int size; // r31 int i; // r30 } static class Symbol career; // size: 0x4, address: 0x80A4A3D8 // Range: 0x800AAD4C -> 0x800AAE44 int LeaderboardsMgr::GetBoardLimit(class LeaderboardsMgr * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol career; } // Range: 0x800AAE44 -> 0x800AAE4C void LeaderboardsMgr::SetConnectionState() {} static class Symbol _s; // size: 0x4, address: 0x80A4A3E0 static class Symbol _s; // size: 0x4, address: 0x80A4A3E8 static class Symbol _s; // size: 0x4, address: 0x80A4A3F0 static class Symbol _s; // size: 0x4, address: 0x80A4A3F8 static class Symbol _s; // size: 0x4, address: 0x80A4A400 static class Symbol _s; // size: 0x4, address: 0x80A4A408 static class Symbol _s; // size: 0x4, address: 0x80A4A410 static class Symbol _s; // size: 0x4, address: 0x80A4A418 static class Symbol _s; // size: 0x4, address: 0x80A4A420 static class Symbol _s; // size: 0x4, address: 0x80A4A428 static class Symbol _s; // size: 0x4, address: 0x80A4A430 static class Symbol _s; // size: 0x4, address: 0x80A4A438 static class Symbol _s; // size: 0x4, address: 0x80A4A440 static class Symbol _s; // size: 0x4, address: 0x80A4A448 static class Symbol _s; // size: 0x4, address: 0x80A4A450 static class Symbol _s; // size: 0x4, address: 0x80A4A458 static class Symbol _s; // size: 0x4, address: 0x80A4A460 static class Symbol _s; // size: 0x4, address: 0x80A4A468 static class Symbol _s; // size: 0x4, address: 0x80A4A470 static class Symbol _s; // size: 0x4, address: 0x80A4A478 static class Symbol _s; // size: 0x4, address: 0x80A4A480 // Range: 0x800AAE4C -> 0x800AB878 class DataNode LeaderboardsMgr::Handle(class LeaderboardsMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x9C } __vt__15LeaderboardsMgr; // size: 0x9C, address: 0x8087CED0 struct { // total size: 0x8 } __RTTI__15LeaderboardsMgr; // size: 0x8, address: 0x8087CFA0 struct { // total size: 0xC } __vt__24PlatformMgrOpCompleteMsg; // size: 0xC, address: 0x8087CFC0 struct { // total size: 0x8 } __RTTI__24PlatformMgrOpCompleteMsg; // size: 0x8, address: 0x8087CFF8 struct { // total size: 0x8 } __RTTI__PP6Friend; // size: 0x8, address: 0x8087D060 class ServerStatusChangedMsg : public Message { // total size: 0x8 }; class CriticalSection { // total size: 0x1C int mEntryCount; // offset 0x0, size 0x4 struct OSMutex mCritSec; // offset 0x4, size 0x18 }; struct InternalData { // total size: 0xC void (* m_Callback)(class CallContext *, class UserContext *); // offset 0x0, size 0x4 class UserContext m_oUserContext; // offset 0x4, size 0x4 unsigned char m_bPreTerminateCallbackRegistered; // offset 0x8, size 0x1 }; enum _State { Uninitialized = 1, Initializing = 2, Ready = 4, ReadyInUse = 8, Terminating = 16, TerminatingInUse = 32, Terminated = 64, Faulty = 128, Unknown = 256, HighestState = 256, }; class SystemComponent : public RefCountedObject { // total size: 0x18 class String m_strName; // offset 0x8, size 0x4 enum _State m_eState; // offset 0xC, size 0x4 unsigned int m_uiInUseCount; // offset 0x10, size 0x4 class SystemComponent * m_pParent; // offset 0x14, size 0x4 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; class BandwidthCounterMap : public RootObject { // total size: 0x1C class String m_name; // offset 0x0, size 0x4 class qMap m_map; // offset 0x4, size 0x18 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class QEvent : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned char m_bRepeatEvent; // offset 0x4, size 0x1 }; class Operation : public QEvent { // total size: 0x10 unsigned char m_bOperationAborted; // offset 0x5, size 0x1 class UserContext m_uUserData; // offset 0x8, size 0x4 unsigned int m_uiOrigin; // offset 0xC, size 0x4 }; class OperationCallback : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: int m_iPriority; // offset 0x4, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class OperationManager : public RootObject { // total size: 0x10 class qList m_lstCallbacks; // offset 0x0, size 0x8 class qList m_stackOperations; // offset 0x8, size 0x8 }; class CallPolicy : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class SingleThreadCallPolicy : public CallPolicy { // total size: 0x14 unsigned int m_uiCurrentRecursionLevel; // offset 0x4, size 0x4 unsigned int m_uiCurrentThread; // offset 0x8, size 0x4 unsigned int m_uiMaximumRecursionLevel; // offset 0xC, size 0x4 unsigned int m_uiValidThread; // offset 0x10, size 0x4 }; enum _Type { Client = 0, Server = 1, }; class ClientProtocol : public Protocol { // total size: 0x38 }; class ProtocolRequestBroker : public RootObject { // total size: 0x64 public: void * __vptr$; // offset 0x0, size 0x4 private: class BandwidthCounterMap m_bandwidthCounters; // offset 0x4, size 0x1C class qMap m_mProtocols; // offset 0x20, size 0x18 class EndPoint * m_pCurrentEndPoint; // offset 0x38, size 0x4 class ProtocolRequestBroker * m_pPrototypeBroker; // offset 0x3C, size 0x4 class OperationManager m_oManager; // offset 0x40, size 0x10 class SingleThreadCallPolicy m_oCallPolicy; // offset 0x50, size 0x14 }; class Protocol : public SystemComponent { // total size: 0x38 unsigned char m_byProtocolID; // offset 0x18, size 0x1 class EndPoint * m_pOutgoingConnection; // offset 0x1C, size 0x4 class ProtocolRequestBroker * m_pAssociatedRequestBroker; // offset 0x20, size 0x4 unsigned int m_uiFlags; // offset 0x24, size 0x4 class EndPoint * m_pIncomingConnection; // offset 0x28, size 0x4 unsigned char m_bUseLocalLoopback; // offset 0x2C, size 0x1 unsigned int m_pidCaller; // offset 0x30, size 0x4 unsigned int m_cidCaller; // offset 0x34, size 0x4 }; class ServerProtocol : public Protocol { // total size: 0x158 class PerfCounter m_oProtocolCalls; // offset 0x38, size 0x60 class PerfCounter m_oRequestTraffic; // offset 0x98, size 0x60 class PerfCounter m_oResponseTraffic; // offset 0xF8, size 0x60 }; class _Proto_RemoteLogDeviceProtocolServer : public ServerProtocol { // total size: 0x158 }; class RemoteLogDeviceLogsCallback : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class RemoteLogDeviceServer : public _Proto_RemoteLogDeviceProtocolServer { // total size: 0x160 class ProtocolRequestBroker * m_pBroker; // offset 0x158, size 0x4 class RemoteLogDeviceLogsCallback * m_pLogsCallback; // offset 0x15C, size 0x4 }; class NotificationEventManager { // total size: 0x0 }; class PRUDPStream { // total size: 0x0 }; class ComponentState : public SystemComponent { // total size: 0x18 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class StreamTable : public RootObject { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 private: class qList m_oStreamList; // offset 0x4, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x60 public: class StationURL _M_data; // offset 0x8, size 0x58 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class ConnectionManager : public TransportEventHandler { // total size: 0xC0 protected: unsigned int m_icContext; // offset 0x4, size 0x4 private: class ComponentState m_oConnectionManagerState; // offset 0x8, size 0x18 class InetAddress m_oRouterAddress; // offset 0x20, size 0x80 unsigned char (* m_pfConnectionFilter)(class UserContext &, class Buffer *, class Buffer *, class EndPoint *); // offset 0xA0, size 0x4 class UserContext m_oConnectionFilterContext; // offset 0xA4, size 0x4 unsigned char m_bAcceptIncomingConnections; // offset 0xA8, size 0x1 class EndPointEventHandler * m_pEndPointEventHandler; // offset 0xAC, size 0x4 class StreamTable m_oStreams; // offset 0xB0, size 0xC unsigned char m_bDirectConnection; // offset 0xBC, size 0x1 unsigned char m_bRoutedConnection; // offset 0xBD, size 0x1 }; class Links { // total size: 0x8 public: class SystemSetting * m_pNext; // offset 0x0, size 0x4 class SystemSetting * m_pPrevious; // offset 0x4, size 0x4 }; class SystemSetting : public RootObject { // total size: 0x14 public: class Links m_oLinks; // offset 0x0, size 0x8 private: class String m_strName; // offset 0x8, size 0x4 unsigned int m_uiValue; // offset 0xC, size 0x4 unsigned char m_bIsImmutable; // offset 0x10, size 0x1 }; class StreamManager : public EndPointEventHandler { // total size: 0x24 class PRUDPStream * m_pStream; // offset 0x4, size 0x4 class ConnectionOrientedStream * m_pSecureStream; // offset 0x8, size 0x4 class ProtocolRequestBroker * m_pBroker; // offset 0xC, size 0x4 class ConnectionManager * m_pConnectionManager; // offset 0x10, size 0x4 unsigned char m_bInitialized; // offset 0x14, size 0x1 class RootTransport * m_pTransport; // offset 0x18, size 0x4 enum Type m_oStreamType; // offset 0x1C, size 0x4 unsigned short m_uiPort; // offset 0x20, size 0x2 }; class Links { // total size: 0x8 public: class Job * m_pNext; // offset 0x0, size 0x4 class Job * m_pPrevious; // offset 0x4, size 0x4 }; class DebugString { // total size: 0x1 }; enum State { Initial = 0, Waiting = 1, Suspended = 2, Ready = 3, Running = 4, Complete = 5, }; class Job : public RefCountedObject { // total size: 0x38 public: class Links m_oLinks; // offset 0x8, size 0x8 private: void (* m_pfCompletionCallback)(class Job *, class UserContext *); // offset 0x10, size 0x4 class UserContext m_oContext; // offset 0x14, size 0x4 class DebugString m_strJobDescription; // offset 0x18, size 0x1 enum State m_eState; // offset 0x1C, size 0x4 int m_tiWaitTime; // offset 0x20, size 0x4 unsigned int m_uiNbExecutions; // offset 0x24, size 0x4 class Time m_tDeadline; // offset 0x28, size 0x8 unsigned char m_bUsesGlobalLock; // offset 0x30, size 0x1 unsigned char m_bTraceState; // offset 0x31, size 0x1 }; class EffectiveLoginTimeout { // total size: 0x4 int m_tiTimeout; // offset 0x0, size 0x4 }; class RendezVousProductInfo { // total size: 0x0 }; class BackEndServices : public RootObject { // total size: 0x90 public: void * __vptr$; // offset 0x0, size 0x4 private: struct InternalData m_PreTerminateCB; // offset 0x4, size 0xC class CallContext m_oContext; // offset 0x10, size 0x48 class CallContext * m_pUserCallContext; // offset 0x58, size 0x4 int m_tiLoginTimeout; // offset 0x5C, size 0x4 class Credentials * m_pCurrentCredentials; // offset 0x60, size 0x4 unsigned short m_uiPort; // offset 0x64, size 0x2 unsigned char m_idStream; // offset 0x66, size 0x1 unsigned int m_uiConnectionFlags; // offset 0x68, size 0x4 class RemoteLogDeviceServer * m_pRemoteLogDeviceServer; // offset 0x6C, size 0x4 class NotificationEventManager * m_pNotificationEventManager; // offset 0x70, size 0x4 unsigned char m_bAcceptRemoteTraces; // offset 0x74, size 0x1 class StreamManager * (* m_pfStreamManagerFactory)(); // offset 0x78, size 0x4 class Job * m_pJobLogin; // offset 0x7C, size 0x4 class Job * m_pJobLogout; // offset 0x80, size 0x4 class Job * m_pJobTerminate; // offset 0x84, size 0x4 class EffectiveLoginTimeout m_oEffectiveLoginTimeout; // offset 0x88, size 0x4 }; struct HostCredentials { // total size: 0x10 class String m_strAddress; // offset 0x0, size 0x4 unsigned short m_ui16Port; // offset 0x4, size 0x2 class String m_strAccessKey; // offset 0x8, size 0x4 class String m_strGuestAccountPassword; // offset 0xC, size 0x4 }; class SandboxConnectionInfo : public RootObject { // total size: 0x30 struct HostCredentials m_hcDev; // offset 0x0, size 0x10 struct HostCredentials m_hcCert; // offset 0x10, size 0x10 struct HostCredentials m_hcProd; // offset 0x20, size 0x10 }; class NintendoClient : public BackEndServices { // total size: 0xC8 class Job * m_pJobNintendoLogin; // offset 0x8C, size 0x4 class Job * m_pJobNintendoTerminate; // offset 0x90, size 0x4 class SandboxConnectionInfo m_sci; // offset 0x94, size 0x30 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class ServiceClient : public RootObject { // total size: 0x1C public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned int m_uiServiceID; // offset 0x4, size 0x4 class StreamManager * m_pStreamManager; // offset 0x8, size 0x4 class Credentials * m_pCredentials; // offset 0xC, size 0x4 unsigned char m_bRegisteredProtocols; // offset 0x10, size 0x1 unsigned char m_bUseLocalLoopback; // offset 0x11, size 0x1 class qList m_lstRegisteredProtocols; // offset 0x14, size 0x8 }; class _List_node : public _List_node_base { // total size: 0xC public: unsigned int _M_data; // offset 0x8, size 0x4 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class _DDL_ResultRange : public RootObject { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 unsigned int m_uiOffset; // offset 0x4, size 0x4 unsigned int m_uiSize; // offset 0x8, size 0x4 }; class ResultRange : public _DDL_ResultRange { // total size: 0xC }; class MessagingProtocolClient : public ClientProtocol { // total size: 0x38 }; class _Proto_MessageDeliveryProtocolServer : public ServerProtocol { // total size: 0x158 }; class MessageDeliveryServer : public _Proto_MessageDeliveryProtocolServer { // total size: 0x160 class MessagingNotificationHandler * m_pMessagingNotificationHandler; // offset 0x158, size 0x4 }; class MessageDeliveryProtocolClient : public ClientProtocol { // total size: 0x38 }; class CustomDataHolder : public AnyObjectHolder { // total size: 0x8 }; class MessagingClient : public ServiceClient { // total size: 0x1F8 class MessagingProtocolClient m_oMessagingProtocolClient; // offset 0x1C, size 0x38 class MessageDeliveryServer m_oMessageDeliveryServer; // offset 0x58, size 0x160 class MessageDeliveryProtocolClient m_oMessageDeliveryClient; // offset 0x1B8, size 0x38 unsigned char m_bClientUse; // offset 0x1F0, size 0x1 }; class Server : public MsgSource { // total size: 0xD4 class String mAddress; // offset 0x1C, size 0xC int mPort; // offset 0x28, size 0x4 unsigned char mLoggedIn; // offset 0x2C, size 0x1 unsigned char mLoggingIn; // offset 0x2D, size 0x1 const char * mKey; // offset 0x30, size 0x4 class String mUsername; // offset 0x34, size 0xC unsigned char mDNSLookupComplete; // offset 0x40, size 0x1 unsigned char mDoLogout; // offset 0x41, size 0x1 class ProtocolCallContext * mExtraLoginCallback; // offset 0x44, size 0x4 int mPadLoggingIn; // offset 0x48, size 0x4 unsigned int mPlayerIDLoggingIn; // offset 0x4C, size 0x4 unsigned int mPlayerIDs[4]; // offset 0x50, size 0x10 class CriticalSection mLogoutCritSec; // offset 0x60, size 0x1C class NintendoClient * mBackEnd; // offset 0x7C, size 0x4 class FriendsClient * mFriends; // offset 0x80, size 0x4 class MessagingClient * mMessaging; // offset 0x84, size 0x4 class Credentials * mClientCreds; // offset 0x88, size 0x4 class ProtocolCallContext * mLoginCallback; // offset 0x8C, size 0x4 class ProtocolCallContext * mLogoutCallback; // offset 0x90, size 0x4 class MatchMakingClient * mMatchMaking; // offset 0x94, size 0x4 class PersistentStoreClient * mPersistentStore; // offset 0x98, size 0x4 class CompetitionClient * mCompetition; // offset 0x9C, size 0x4 class CustomMatchMakingClient * mCustomMatchMaking; // offset 0xA0, size 0x4 class NATTraversalClient * mNATTraversal; // offset 0xA4, size 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AB90C -> 0x800AC278 */ // Range: 0x800AB90C -> 0x800AB9C8 class DataNode LeaderboardsMgr::OnMsg(class LeaderboardsMgr * const this /* r30 */, const class PlatformMgrOpCompleteMsg & msg /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800AB9C8 -> 0x800ABC28 class DataNode LeaderboardsMgr::EnumComplete(class LeaderboardsMgr * const this /* r29 */) { // Local variables class Leaderboard * board; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800ABC28 -> 0x800ABEAC void LeaderboardsMgr::CreateFriendsBoard(class LeaderboardsMgr * const this /* r31 */) { // Local variables int padNum; // r0 unsigned int playerId; // r0 class Symbol song; // r1+0x10 // References // -> class Debug TheDebug; // -> class Net TheNet; } // Range: 0x800ABEAC -> 0x800AC278 void LeaderboardsMgr::CreateAllBoard(class LeaderboardsMgr * const this /* r28 */) { // Local variables class LeaderboardData * pData; // r30 class LeaderboardData * pChampData; // r29 class EntityID id; // r1+0xA0 int padNum; // r0 unsigned int playerId; // r27 class Symbol song; // r1+0x18 // References // -> struct [anonymous] __vt__21ChampShortcutProvider; // -> struct [anonymous] __vt__12ListProvider; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> class Net TheNet; } /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AC278 -> 0x800AC2E8 */ // Range: 0x800AC278 -> 0x800AC2BC class Symbol PlatformMgrOpCompleteMsg::Type() { // References // -> class Symbol t; } // Range: 0x800AC2BC -> 0x800AC2E8 void * PlatformMgrOpCompleteMsg::PlatformMgrOpCompleteMsg() { // References // -> struct [anonymous] __vt__24PlatformMgrOpCompleteMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\band2\src\game\LeaderboardsMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AC2E8 -> 0x800AC2F8 */ // Range: 0x800AC2E8 -> 0x800AC2F0 enum ConnectionType LeaderboardsMgr::GetConnectionState() {} // Range: 0x800AC2F0 -> 0x800AC2F8 void LeaderboardsMgr::SetPageSize() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AC2F8 -> 0x800AC430 */ // Range: 0x800AC2F8 -> 0x800AC430 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Friend * * __pos /* r28 */, class Friend * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Friend * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6Friend; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\LicenseMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AC430 -> 0x800ACA04 */ static const char * const kRB1ExportLicenseContents; // size: 0x4, address: 0x80A56438 class LicenseMgr : public Object, public Callback { // total size: 0x30 unsigned char mRB1ExportLicenseValid; // offset 0x2C, size 0x1 }; static class LicenseMgr gLicenseMgr; // size: 0x30, address: 0x80977B78 class LicenseMgr & TheLicenseMgr; // size: 0x4, address: 0x80A4A488 // Range: 0x800AC430 -> 0x800AC494 void LicenseMgr::Init(class LicenseMgr * const this /* r31 */) { // References // -> class ContentMgr & TheContentMgr; // -> class ObjectDir * sMainDir; } // Range: 0x800AC494 -> 0x800AC4AC void LicenseMgr::Terminate() { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x800AC4AC -> 0x800AC4B4 unsigned char LicenseMgr::IsRB1ExportLicenseValid() {} // Range: 0x800AC4B4 -> 0x800AC4C0 void LicenseMgr::ContentStarted() {} // Range: 0x800AC4C0 -> 0x800AC590 void LicenseMgr::ContentLoaded(class LicenseMgr * const this /* r29 */) { // Local variables class FileLoader * f; // r31 char * buf; // r30 // References // -> static const char * const kRB1ExportLicenseContents; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; } // Range: 0x800AC590 -> 0x800AC594 void LicenseMgr::ContentDone() {} // Range: 0x800AC594 -> 0x800AC598 void LicenseMgr::ContentMounted() {} // Range: 0x800AC598 -> 0x800AC59C void LicenseMgr::ContentUnmounted() {} // Range: 0x800AC59C -> 0x800AC5A8 char * LicenseMgr::ContentPattern() {} // Range: 0x800AC5A8 -> 0x800AC5B4 char * LicenseMgr::ContentDir() {} // Range: 0x800AC5B4 -> 0x800AC5BC char * LicenseMgr::ContentDirAlt() {} static class Symbol _s; // size: 0x4, address: 0x80A4A490 // Range: 0x800AC5BC -> 0x800AC944 class DataNode LicenseMgr::Handle(class LicenseMgr * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xBC } __vt__10LicenseMgr; // size: 0xBC, address: 0x8087D148 struct { // total size: 0x8 } __RTTI__10LicenseMgr; // size: 0x8, address: 0x8087D230 struct { // total size: 0x8 } __RTTI__10FileLoader; // size: 0x8, address: 0x8087D250 // Range: 0x800AC944 -> 0x800AC9BC static void __sinit_\LicenseMgr_cpp() { // References // -> class LicenseMgr & TheLicenseMgr; // -> struct [anonymous] __vt__10LicenseMgr; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; // -> static class LicenseMgr gLicenseMgr; } /* Compile unit: C:\rockband2\band2\src\game\PlayerLeaderboards.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800ACA60 -> 0x800ACE2C */ class SoloScoreLeaderboard : public PlayerLeaderboardData { // total size: 0x64 class PlayerResultList mResultList; // offset 0x40, size 0x1C enum TrackType mTrackType; // offset 0x5C, size 0x4 class Symbol mSong; // offset 0x60, size 0x4 }; // Range: 0x800ACA60 -> 0x800ACB00 void * SoloScoreLeaderboard::SoloScoreLeaderboard(class SoloScoreLeaderboard * const this /* r29 */, enum TrackType t /* r30 */, class Symbol & song /* r31 */) { // References // -> struct [anonymous] __vt__20SoloScoreLeaderboard; // -> class Symbol points; // -> struct [anonymous] __vt__21PlayerLeaderboardData; } // Range: 0x800ACB00 -> 0x800ACB78 void * SoloScoreLeaderboard::~SoloScoreLeaderboard(class SoloScoreLeaderboard * const this /* r30 */) {} // Range: 0x800ACB78 -> 0x800ACB80 class LeaderboardResultList * SoloScoreLeaderboard::GetResultList() {} // Range: 0x800ACB80 -> 0x800ACC40 void SoloScoreLeaderboard::EnumerateFromID(class SoloScoreLeaderboard * const this /* r28 */, class EntityID & id /* r29 */, int pageSize /* r30 */) { // References // -> class RockCentralGateway RockCentral; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800ACC40 -> 0x800ACCD0 void SoloScoreLeaderboard::EnumerateFromRank(class SoloScoreLeaderboard * const this /* r28 */, int rank /* r29 */, int pageSize /* r30 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x800ACCD0 -> 0x800ACE2C void SoloScoreLeaderboard::EnumerateFriendStats(class SoloScoreLeaderboard * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6Friend; // -> unsigned char gStlAllocNameLookup; // -> class LeaderboardsMgr * TheLeaderboards; } struct _OKToMemCpy { // total size: 0x1 }; class vector : protected _Vector_base { // total size: 0xC }; class PlayerResultRow : public LeaderboardResultRow { // total size: 0x40 class String mPlayerName; // offset 0x1C, size 0xC int mRanking; // offset 0x28, size 0x4 int mScore; // offset 0x2C, size 0x4 class String mCharName; // offset 0x30, size 0xC unsigned int mDifficultyID; // offset 0x3C, size 0x4 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PlayerResultRow * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PlayerResultRow * * _M_start; // offset 0x0, size 0x4 class PlayerResultRow * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct { // total size: 0x8 } __RTTI__PP15PlayerResultRow; // size: 0x8, address: 0x8087D290 struct { // total size: 0x7C } __vt__20SoloScoreLeaderboard; // size: 0x7C, address: 0x8087D298 struct { // total size: 0x8 } __RTTI__20SoloScoreLeaderboard; // size: 0x8, address: 0x8087D350 struct { // total size: 0x1C } __vt__15PlayerResultRow; // size: 0x1C, address: 0x8087D358 struct { // total size: 0x8 } __RTTI__15PlayerResultRow; // size: 0x8, address: 0x8087D398 struct { // total size: 0x1C } __vt__20LeaderboardResultRow; // size: 0x1C, address: 0x8087D3A0 struct { // total size: 0x8 } __RTTI__20LeaderboardResultRow; // size: 0x8, address: 0x8087D3D8 class UserLoginMsg : public Message { // total size: 0x8 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800ACE2C -> 0x800ACE74 */ // Range: 0x800ACE2C -> 0x800ACE44 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x800ACE44 -> 0x800ACE5C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x800ACE5C -> 0x800ACE74 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800ACE74 -> 0x800ACE7C */ // Range: 0x800ACE74 -> 0x800ACE78 class StlNodeAlloc vector::get_allocator() {} // Range: 0x800ACE78 -> 0x800ACE7C class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800ACE7C -> 0x800AD26C */ // Range: 0x800ACE7C -> 0x800AD26C void SoloScoreLeaderboard::EnumerateLocal(class SoloScoreLeaderboard * const this /* r30 */) { // Local variables class vector results; // r1+0x8C class vector profiles; // r1+0x80 int i; // r31 class Profile * profile; // r27 int score; // r26 int nPadNum; // r27 class String mPlayerName; // r1+0x74 unsigned int mPlayerID; // r25 class String mCharName; // r1+0x68 class OnlineID onlineID; // r1+0x58 class PlayerResultRow * new_row; // r1+0x2C int rank; // r25 class PlayerResultRow * * it; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15PlayerResultRow; // -> unsigned char gStlAllocNameLookup; // -> class Net TheNet; // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } /* Compile unit: C:\rockband2\band2\src\net_band\LeaderboardResults.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AD26C -> 0x800AD3D8 */ // Range: 0x800AD26C -> 0x800AD300 void * PlayerResultRow::PlayerResultRow(class PlayerResultRow * const this /* r26 */, class String & PlayerName /* r27 */, unsigned int PlayerID /* r28 */, int Score /* r29 */, class String & CharName /* r30 */, unsigned int DifficultyID /* r31 */) { // References // -> struct [anonymous] __vt__15PlayerResultRow; // -> struct [anonymous] __vt__20LeaderboardResultRow; } // Range: 0x800AD300 -> 0x800AD340 void * LeaderboardResultRow::~LeaderboardResultRow(class LeaderboardResultRow * const this /* r31 */) {} // Range: 0x800AD340 -> 0x800AD348 void PlayerResultRow::SetRanking() {} // Range: 0x800AD348 -> 0x800AD354 unsigned long long PlayerResultRow::GetScore() {} // Range: 0x800AD354 -> 0x800AD35C char * PlayerResultRow::GetName() {} // Range: 0x800AD35C -> 0x800AD364 int PlayerResultRow::GetRanking() {} // Range: 0x800AD364 -> 0x800AD3D8 void * PlayerResultRow::~PlayerResultRow(class PlayerResultRow * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AD3D8 -> 0x800AD994 */ // Range: 0x800AD3D8 -> 0x800AD46C void sort(class PlayerResultRow * * __first /* r29 */, class PlayerResultRow * * __last /* r30 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r31 */) {} // Range: 0x800AD46C -> 0x800AD4F4 void __final_insertion_sort(class PlayerResultRow * * __first /* r29 */, class PlayerResultRow * * __last /* r30 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r31 */) {} // Range: 0x800AD4F4 -> 0x800AD554 void __unguarded_insertion_sort_aux(class PlayerResultRow * * __last /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class PlayerResultRow * * __i; // r31 } // Range: 0x800AD554 -> 0x800AD5D4 void __unguarded_linear_insert(class PlayerResultRow * * __last /* r28 */, class PlayerResultRow * __val /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class PlayerResultRow * * __next; // r31 } // Range: 0x800AD5D4 -> 0x800AD688 void __insertion_sort(class PlayerResultRow * * __first /* r27 */, class PlayerResultRow * * __last /* r28 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r29 */) { // Local variables class PlayerResultRow * * __i; // r30 } // Range: 0x800AD688 -> 0x800AD7EC void __introsort_loop(class PlayerResultRow * * __first /* r27 */, class PlayerResultRow * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class PlayerResultRow * * __cut; // r31 } // Range: 0x800AD7EC -> 0x800AD8C0 class PlayerResultRow * * __unguarded_partition(class PlayerResultRow * * __first /* r28 */, class PlayerResultRow * * __last /* r29 */, class PlayerResultRow * __pivot /* r30 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r31 */) {} // Range: 0x800AD8C0 -> 0x800AD8CC void partial_sort() {} // Range: 0x800AD8CC -> 0x800AD994 void __partial_sort(class PlayerResultRow * * __first /* r27 */, class PlayerResultRow * * __middle /* r28 */, class PlayerResultRow * * __last /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class PlayerResultRow * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AD994 -> 0x800ADB70 */ // Range: 0x800AD994 -> 0x800AD9C0 void pop_heap(class PlayerResultRow * * __last /* r8 */) {} // Range: 0x800AD9C0 -> 0x800ADADC void __adjust_heap(class PlayerResultRow * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class PlayerResultRow * __val /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 } // Range: 0x800ADADC -> 0x800ADB70 void make_heap(class PlayerResultRow * * __first /* r28 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800ADB70 -> 0x800ADCA8 */ // Range: 0x800ADB70 -> 0x800ADCA8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PlayerResultRow * * __pos /* r28 */, class PlayerResultRow * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PlayerResultRow * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15PlayerResultRow; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\game\BandLeaderboards.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800ADCA8 -> 0x800AF028 */ class BandLeaderboardData : public LeaderboardData { // total size: 0x64 protected: unsigned char mLocal; // offset 0x40, size 0x1 class RemoteBandData * mBandData; // offset 0x44, size 0x4 class BandResultList mResultList; // offset 0x48, size 0x1C }; // Range: 0x800ADCA8 -> 0x800ADD04 void * BandLeaderboardData::BandLeaderboardData(class BandLeaderboardData * const this /* r30 */, unsigned char local /* r31 */) { // References // -> struct [anonymous] __vt__19BandLeaderboardData; } // Range: 0x800ADD04 -> 0x800ADDB8 void * BandLeaderboardData::~BandLeaderboardData(class BandLeaderboardData * const this /* r30 */) { // References // -> struct [anonymous] __vt__19BandLeaderboardData; } static class Symbol on_select_band_error; // size: 0x4, address: 0x80A4A49C // Range: 0x800ADDB8 -> 0x800ADFC0 class Symbol BandLeaderboardData::OnSelectRow(class BandLeaderboardData * const this /* r31 */, const class LeaderboardResultRow * row /* r30 */) { // Local variables class BandData * band; // r30 class HxGuid guid; // r1+0x10 // References // -> class RockCentralGateway RockCentral; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LeaderboardsMgr * TheLeaderboards; // -> const char * gNullStr; // -> static class Symbol on_select_band_error; } // Range: 0x800ADFC0 -> 0x800ADFC8 unsigned char BandLeaderboardData::CanRowsBeSelected() {} // Range: 0x800ADFC8 -> 0x800ADFE8 void BandLeaderboardData::OnSelectRowComplete() {} static class Symbol leaderboards_band_profile_screen; // size: 0x4, address: 0x80A4A4A4 // Range: 0x800ADFE8 -> 0x800AE160 void BandLeaderboardData::ShowBandProfile(class BandData * bandData /* r28 */) { // Local variables const class DataNode * profileScreen; // r0 // References // -> class UIManager TheUI; // -> struct [anonymous] __RTTI__8UIScreen; // -> class GameMode * TheGameMode; // -> static class Symbol leaderboards_band_profile_screen; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16BandProfilePanel; // -> class ObjectDir * sMainDir; } // Range: 0x800AE160 -> 0x800AE30C class BandData * BandLeaderboardData::FindLocalBandData(const class LeaderboardResultRow * row /* r27 */) { // Local variables class vector profiles; // r1+0x20 class Profile * * it; // r30 class Profile * pProfile; // r29 int iBand; // r28 class TourBandLocal * band; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } // Range: 0x800AE30C -> 0x800AE314 class LeaderboardResultList * BandLeaderboardData::GetResultList() {} static class Symbol points; // size: 0x4, address: 0x80A4A4AC class BandScoreLeaderboardData : public BandLeaderboardData { // total size: 0x68 class Symbol mSong; // offset 0x64, size 0x4 }; // Range: 0x800AE314 -> 0x800AE394 void * BandScoreLeaderboardData::BandScoreLeaderboardData(class BandScoreLeaderboardData * const this /* r30 */, class Symbol & song /* r31 */) { // References // -> static class Symbol points; // -> struct [anonymous] __vt__24BandScoreLeaderboardData; } // Range: 0x800AE394 -> 0x800AE3F0 void * BandScoreLeaderboardData::~BandScoreLeaderboardData(class BandScoreLeaderboardData * const this /* r30 */) {} // Range: 0x800AE3F0 -> 0x800AE4DC void BandScoreLeaderboardData::EnumerateFromID(class BandScoreLeaderboardData * const this /* r28 */, class EntityID & id /* r29 */, int pageSize /* r30 */) { // References // -> class RockCentralGateway RockCentral; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800AE4DC -> 0x800AE568 void BandScoreLeaderboardData::EnumerateFromRank(class BandScoreLeaderboardData * const this /* r28 */, int rank /* r29 */, int pageSize /* r30 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x800AE568 -> 0x800AE6C0 void BandScoreLeaderboardData::EnumerateFriendStats(class BandScoreLeaderboardData * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6Friend; // -> unsigned char gStlAllocNameLookup; // -> class LeaderboardsMgr * TheLeaderboards; } static class Symbol career; // size: 0x4, address: 0x80A4A4B4 class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x800AE6C0 -> 0x800AE9F0 void BandScoreLeaderboardData::EnumerateLocal(class BandScoreLeaderboardData * const this /* r29 */) { // Local variables class vector profiles; // r1+0x3C class vector results; // r1+0x30 int i; // r30 class Profile * profile; // r25 int count; // r0 int j; // r24 class TourBandLocal * band; // r26 class String name; // r1+0x24 int score; // r23 const class HxGuid & guid; // r22 class BandResultRow * new_row; // r1+0x14 int rank; // r22 class BandResultRow * * it; // r23 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol career; // -> class ProfileMgr TheProfileMgr; } class BandResultRow : public LeaderboardResultRow { // total size: 0x50 class String mBandName; // offset 0x1C, size 0xC int mRanking; // offset 0x28, size 0x4 unsigned long long mScore; // offset 0x30, size 0x8 class EntityID mID; // offset 0x38, size 0x18 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BandResultRow * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BandResultRow * * _M_start; // offset 0x0, size 0x4 class BandResultRow * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; static class Symbol fans; // size: 0x4, address: 0x80A4A4BC class BandFansLeaderboardData : public BandLeaderboardData { // total size: 0x64 }; // Range: 0x800AE9F0 -> 0x800AEA58 void * BandFansLeaderboardData::BandFansLeaderboardData(class BandFansLeaderboardData * const this /* r31 */) { // References // -> static class Symbol fans; // -> struct [anonymous] __vt__23BandFansLeaderboardData; } // Range: 0x800AEA58 -> 0x800AEAB4 void * BandFansLeaderboardData::~BandFansLeaderboardData(class BandFansLeaderboardData * const this /* r30 */) {} // Range: 0x800AEAB4 -> 0x800AEB88 void BandFansLeaderboardData::EnumerateFromID(class BandFansLeaderboardData * const this /* r29 */, class EntityID & id /* r30 */, int pageSize /* r31 */) { // References // -> class RockCentralGateway RockCentral; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800AEB88 -> 0x800AEC08 void BandFansLeaderboardData::EnumerateFromRank(class BandFansLeaderboardData * const this /* r28 */, int rank /* r29 */, int pageSize /* r30 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x800AEC08 -> 0x800AED54 void BandFansLeaderboardData::EnumerateFriendStats(class BandFansLeaderboardData * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6Friend; // -> unsigned char gStlAllocNameLookup; // -> class LeaderboardsMgr * TheLeaderboards; } // Range: 0x800AED54 -> 0x800AF028 void BandFansLeaderboardData::EnumerateLocal(class BandFansLeaderboardData * const this /* r30 */) { // Local variables class vector results; // r1+0x3C class vector profiles; // r1+0x30 int i; // r31 class Profile * profile; // r26 int count; // r0 int j; // r25 class TourBandLocal * band; // r27 class String name; // r1+0x24 int score; // r24 const class HxGuid & guid; // r23 class BandResultRow * new_row; // r1+0x14 int rank; // r23 class BandResultRow * * it; // r24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } class DynamicTex { // total size: 0x1C public: void * __vptr$; // offset 0x0, size 0x4 class RndTex * mTex; // offset 0x4, size 0x4 class String mMatName; // offset 0x8, size 0xC class RndMat * mMat; // offset 0x14, size 0x4 class FileLoader * mLoader; // offset 0x18, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DynamicTex * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DynamicTex * * _M_start; // offset 0x0, size 0x4 class DynamicTex * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum State { kStarting = 0, kMounting = 1, kLoading = 2, kLoaded = 3, }; class DLCTex : public DynamicTex { // total size: 0x28 public: class Symbol mSong; // offset 0x1C, size 0x4 enum State mState; // offset 0x20, size 0x4 class RndTex * mFailTex; // offset 0x24, size 0x4 }; class TexLoadPanel : public UIPanel, public Callback { // total size: 0x6C protected: class vector mTexs; // offset 0x34, size 0xC }; struct TabData { // total size: 0x10 class BandButton * mButton; // offset 0x0, size 0x4 class RndGroup * mGroup; // offset 0x4, size 0x4 class RndGroup * mSelectGroup; // offset 0x8, size 0x4 class DataArray * mTypeDef; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TabData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TabData * _M_start; // offset 0x0, size 0x4 struct TabData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TabInterfacePanel : public TexLoadPanel { // total size: 0x7C class vector mTabs; // offset 0x40, size 0xC int mCurrentTab; // offset 0x4C, size 0x4 }; enum /* @enum$30725BandLeaderboards_cpp */ { kAbsent = 0, kGuitarist = 1, kDrummer = 2, kVocalist = 3, }; struct LineupMember { // total size: 0x34 class String mUserName; // offset 0x0, size 0xC class String mCharName; // offset 0xC, size 0xC class HxGuid mCharGuid; // offset 0x18, size 0x10 unsigned char mCharNameUnchecked; // offset 0x28, size 0x1 unsigned char mIsBandMember; // offset 0x29, size 0x1 enum /* @enum$30725BandLeaderboards_cpp */ { kAbsent = 0, kGuitarist = 1, kDrummer = 2, kVocalist = 3, } mIconState; // offset 0x2C, size 0x4 const class OnlineID * mOnlineID; // offset 0x30, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct LineupMember * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct LineupMember * _M_start; // offset 0x0, size 0x4 struct LineupMember * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class LineupProvider : public ListProvider, public Object { // total size: 0x3C class vector mLineup; // offset 0x2C, size 0xC class RndMat * mBlackBarMat; // offset 0x38, size 0x4 }; struct StandIn { // total size: 0x24 enum TrackType mTrackType; // offset 0x0, size 0x4 class String mCharName; // offset 0x4, size 0xC class HxGuid mCharGuid; // offset 0x10, size 0x10 unsigned char mIsActive; // offset 0x20, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct StandIn * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct StandIn * _M_start; // offset 0x0, size 0x4 struct StandIn * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class RemoteBandData : public BandData { // total size: 0xC8 class String mName; // offset 0x8, size 0xC class HxGuid mGuid; // offset 0x14, size 0x10 class vector mRoster; // offset 0x24, size 0xC int mFans; // offset 0x30, size 0x4 int mCareerScore; // offset 0x34, size 0x4 int mTotalScore; // offset 0x38, size 0x4 int mWorldFame; // offset 0x3C, size 0x4 int mStarRating; // offset 0x40, size 0x4 enum Difficulty mDifficultyRating; // offset 0x44, size 0x4 class String mBandLogo; // offset 0x48, size 0xC int mBandLogoPos; // offset 0x54, size 0x4 class String mMotto; // offset 0x58, size 0xC struct DateTime mCreationDate; // offset 0x64, size 0x6 class Symbol mHometown; // offset 0x6C, size 0x4 class vector mTopSongs; // offset 0x70, size 0xC class OnlineID mOwnerID; // offset 0x7C, size 0x10 class String mOwnerName; // offset 0x8C, size 0xC unsigned char mDirty; // offset 0x98, size 0x1 }; class StandInProvider : public ListProvider, public Object { // total size: 0x38 class vector mStandIns; // offset 0x2C, size 0xC }; struct Entry { // total size: 0x20 unsigned char mHeader; // offset 0x0, size 0x1 class HxGuid mGuid; // offset 0x4, size 0x10 class String mName; // offset 0x14, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Entry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Entry * _M_start; // offset 0x0, size 0x4 struct Entry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StandInCharProvider : public ListProvider, public Object { // total size: 0x38 class vector mEntries; // offset 0x2C, size 0xC }; class TopSongsProvider : public ListProvider, public Object { // total size: 0x38 class vector mSongStatusArray; // offset 0x2C, size 0xC }; class BattleHistoryProvider : public ListProvider, public Object { // total size: 0x50 class BotbBattlesParticipatedInList mBattles; // offset 0x2C, size 0x18 const class vector & mCovers; // offset 0x44, size 0x4 class RndMat * mDefaultMat; // offset 0x48, size 0x4 class RndMat * mTrimMat; // offset 0x4C, size 0x4 }; class BandProfilePanel : public TabInterfacePanel { // total size: 0x16C class BandData * mBandData; // offset 0x50, size 0x4 class LineupProvider mLineupProvider; // offset 0x54, size 0x3C class StandInProvider * mStandInProvider; // offset 0x90, size 0x4 class StandInCharProvider * mStandInCharProvider; // offset 0x94, size 0x4 class TopSongsProvider mTopSongsProvider; // offset 0x98, size 0x38 class BattleHistoryProvider mBattleHistoryProvider; // offset 0xD0, size 0x50 unsigned char mRequesting; // offset 0x120, size 0x1 unsigned char mTexWaiting; // offset 0x121, size 0x1 class Symbol mDisplayTab; // offset 0x124, size 0x4 int mFirstShowingBattleOffset; // offset 0x128, size 0x4 int mLastBattleId; // offset 0x12C, size 0x4 class HxGuid mToggleCandidate; // offset 0x130, size 0x10 }; struct { // total size: 0x7C } __vt__23BandFansLeaderboardData; // size: 0x7C, address: 0x8087D4C0 struct { // total size: 0x8 } __RTTI__23BandFansLeaderboardData; // size: 0x8, address: 0x8087D580 struct { // total size: 0x7C } __vt__24BandScoreLeaderboardData; // size: 0x7C, address: 0x8087D588 struct { // total size: 0x8 } __RTTI__24BandScoreLeaderboardData; // size: 0x8, address: 0x8087D648 struct { // total size: 0x7C } __vt__19BandLeaderboardData; // size: 0x7C, address: 0x8087D650 struct { // total size: 0x8 } __RTTI__19BandLeaderboardData; // size: 0x8, address: 0x8087D700 struct { // total size: 0x8 } __RTTI__16BandProfilePanel; // size: 0x8, address: 0x8087D780 struct { // total size: 0x8 } __RTTI__17TabInterfacePanel; // size: 0x8, address: 0x8087D7C8 struct { // total size: 0x8 } __RTTI__12TexLoadPanel; // size: 0x8, address: 0x8087D808 struct { // total size: 0x8 } __RTTI__PP13BandResultRow; // size: 0x8, address: 0x8087D8C8 /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AF028 -> 0x800AF058 */ // Range: 0x800AF028 -> 0x800AF040 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x800AF040 -> 0x800AF058 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\band2\src\net_band\LeaderboardResults.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AF058 -> 0x800AF060 */ // Range: 0x800AF058 -> 0x800AF060 void BandResultRow::SetRanking() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AF060 -> 0x800AF61C */ // Range: 0x800AF060 -> 0x800AF0F4 void sort(class BandResultRow * * __first /* r29 */, class BandResultRow * * __last /* r30 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r31 */) {} // Range: 0x800AF0F4 -> 0x800AF17C void __final_insertion_sort(class BandResultRow * * __first /* r29 */, class BandResultRow * * __last /* r30 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r31 */) {} // Range: 0x800AF17C -> 0x800AF1DC void __unguarded_insertion_sort_aux(class BandResultRow * * __last /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class BandResultRow * * __i; // r31 } // Range: 0x800AF1DC -> 0x800AF25C void __unguarded_linear_insert(class BandResultRow * * __last /* r28 */, class BandResultRow * __val /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class BandResultRow * * __next; // r31 } // Range: 0x800AF25C -> 0x800AF310 void __insertion_sort(class BandResultRow * * __first /* r27 */, class BandResultRow * * __last /* r28 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r29 */) { // Local variables class BandResultRow * * __i; // r30 } // Range: 0x800AF310 -> 0x800AF474 void __introsort_loop(class BandResultRow * * __first /* r27 */, class BandResultRow * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class BandResultRow * * __cut; // r31 } // Range: 0x800AF474 -> 0x800AF548 class BandResultRow * * __unguarded_partition(class BandResultRow * * __first /* r28 */, class BandResultRow * * __last /* r29 */, class BandResultRow * __pivot /* r30 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r31 */) {} // Range: 0x800AF548 -> 0x800AF554 void partial_sort() {} // Range: 0x800AF554 -> 0x800AF61C void __partial_sort(class BandResultRow * * __first /* r27 */, class BandResultRow * * __middle /* r28 */, class BandResultRow * * __last /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables class BandResultRow * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AF61C -> 0x800AF7F8 */ // Range: 0x800AF61C -> 0x800AF648 void pop_heap(class BandResultRow * * __last /* r8 */) {} // Range: 0x800AF648 -> 0x800AF764 void __adjust_heap(class BandResultRow * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class BandResultRow * __val /* r29 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 } // Range: 0x800AF764 -> 0x800AF7F8 void make_heap(class BandResultRow * * __first /* r28 */, unsigned char (* __comp)(class LeaderboardResultRow *, class LeaderboardResultRow *) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AF7F8 -> 0x800AF930 */ // Range: 0x800AF7F8 -> 0x800AF930 void vector::_M_insert_overflow(class vector * const this /* r27 */, class BandResultRow * * __pos /* r28 */, class BandResultRow * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BandResultRow * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13BandResultRow; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\AutoloadScreen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800AF930 -> 0x800B160C */ class Symbol t; // size: 0x4, address: 0x80A4A4C4 class Symbol t; // size: 0x4, address: 0x80A4A4CC class Symbol t; // size: 0x4, address: 0x80A4A4D4 class Symbol t; // size: 0x4, address: 0x80A4A4DC class DataArray * types; // size: 0x4, address: 0x80A4A4E0 class Symbol name; // size: 0x4, address: 0x80A4A4E8 class UITransitionCompleteMsg : public Message { // total size: 0x8 }; class SaveLoadAllCompleteMsg : public Message { // total size: 0x8 }; class AutoloadScreen : public BandScreen { // total size: 0x4C unsigned char mProcessButton; // offset 0x3A, size 0x1 unsigned char mHasSavedButton; // offset 0x3B, size 0x1 int mPadNum; // offset 0x3C, size 0x4 int mUserNum; // offset 0x40, size 0x4 enum JoypadAction mAction; // offset 0x44, size 0x4 enum JoypadButton mRawButton; // offset 0x48, size 0x4 }; // Range: 0x800AF930 -> 0x800AF988 void * AutoloadScreen::AutoloadScreen(class AutoloadScreen * const this /* r31 */) { // References // -> struct [anonymous] __vt__14AutoloadScreen; } // Range: 0x800AF9FC -> 0x800AFA74 void * AutoloadScreen::~AutoloadScreen(class AutoloadScreen * const this /* r30 */) {} // Range: 0x800AFA74 -> 0x800AFA80 void AutoloadScreen::ClearButtonPress() {} static class Symbol is_active; // size: 0x4, address: 0x80A4A4F0 static class Message msg; // size: 0x8, address: 0x80977BB8 static class Symbol mode; // size: 0x4, address: 0x80A4A4F8 // Range: 0x800AFA80 -> 0x800AFEAC void AutoloadScreen::AttemptToAutoload(class AutoloadScreen * const this /* r29 */) { // Local variables unsigned char isActive; // r0 // References // -> static class Symbol mode; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class MemcardMgr TheMemcardMgr; // -> const char * gNullStr; // -> class Symbol t; // -> static class Symbol is_active; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10SaveScreen; // -> class ObjectDir * sMainDir; // -> class ProfileMgr TheProfileMgr; // -> class NetSession * TheNetSession; // -> class UIManager TheUI; // -> class NetSync * TheNetSync; } // Range: 0x800AFEAC -> 0x800B007C void AutoloadScreen::AttemptToProcessButtonMessage(class AutoloadScreen * const this /* r29 */) { // Local variables class BandUser * pUser; // r31 class Profile * pProfile; // r30 class ButtonDownMsg msg; // r1+0x10 // References // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class NetSync * TheNetSync; // -> class BandUI * TheBandUI; // -> class NetSession * TheNetSession; // -> class UIManager TheUI; } // Range: 0x800B007C -> 0x800B0110 void AutoloadScreen::Enter(class AutoloadScreen * const this /* r30 */, class UIScreen * from /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> class Symbol t; } // Range: 0x800B0110 -> 0x800B0198 void AutoloadScreen::Exit(class AutoloadScreen * const this /* r30 */, class UIScreen * to /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class Symbol t; } // Range: 0x800B0198 -> 0x800B019C void AutoloadScreen::Poll() {} // Range: 0x800B019C -> 0x800B0254 class DataNode AutoloadScreen::OnRegisterButtonPress(class AutoloadScreen * const this /* r27 */, class DataArray * pData /* r28 */) {} // Range: 0x800B0254 -> 0x800B0338 class DataNode AutoloadScreen::OnRegisterUserConfirm(class AutoloadScreen * const this /* r29 */, class DataArray * pData /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; } static class Message ignore; // size: 0x8, address: 0x80977BD0 class ProfileActivatedMsg : public Message { // total size: 0x8 }; // Range: 0x800B0338 -> 0x800B05E0 class DataNode AutoloadScreen::OnMsg(class AutoloadScreen * const this /* r30 */, const class ProfileActivatedMsg & msg /* r31 */) { // Local variables class DataNode ret; // r1+0x20 // References // -> static class Message ignore; // -> struct [anonymous] __vt__7Message; } // Range: 0x800B05E0 -> 0x800B0620 class DataNode AutoloadScreen::OnMsg() {} // Range: 0x800B0620 -> 0x800B06CC class DataNode AutoloadScreen::OnMsg(class AutoloadScreen * const this /* r31 */) { // References // -> class Debug TheDebug; // -> class BandUI * TheBandUI; } // Range: 0x800B06CC -> 0x800B0764 class DataNode AutoloadScreen::OnMsg(class AutoloadScreen * const this /* r31 */) { // References // -> class MemcardMgr TheMemcardMgr; // -> class Symbol t; } // Range: 0x800B0764 -> 0x800B07D8 class DataNode AutoloadScreen::OnDismissEvent(class AutoloadScreen * const this /* r31 */) { // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A4A500 static class Symbol _s; // size: 0x4, address: 0x80A4A508 static class Symbol _s; // size: 0x4, address: 0x80A4A510 static class Symbol _s; // size: 0x4, address: 0x80A4A518 // Range: 0x800B07D8 -> 0x800B160C class DataNode AutoloadScreen::Handle(class AutoloadScreen * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x50 class MessageTimer _mt; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode _n; // r1+0x78 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __vt__22SaveLoadAllCompleteMsg; // -> class Symbol t; // -> struct [anonymous] __vt__23UITransitionCompleteMsg; // -> class Symbol t; // -> struct [anonymous] __vt__16SigninChangedMsg; // -> class Symbol t; // -> struct [anonymous] __vt__19ProfileActivatedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class UIComponentSelectMsg : public Message { // total size: 0x8 }; class UIComponentSelectDoneMsg : public Message { // total size: 0x8 }; class UIComponentFocusChangeMsg : public Message { // total size: 0x8 }; class BandScreen : public UIScreen { // total size: 0x3C }; enum SaveScreenMode { kMeta_SaveAutoload = 0, kMeta_SaveAutosave = 1, kMeta_SaveManualSave = 2, kMeta_SaveManualLoad = 3, }; enum State { kS_None = 0, kS_Startup = 1, kS_AutoloadInit = 2, kS_AutoloadFindNext = 3, kS_AutoloadSearch = 4, kS_AutoloadNoSaveFound = 5, kS_AutoloadMultipleSavesFound = 6, kS_AutoloadChooseDeviceNone = 7, kS_AutoloadChooseDeviceMulti = 8, kS_AutoloadStartLoad = 9, kS_AutoloadDeviceMissing = 10, kS_AutoloadChooseDeviceMissing = 11, kS_AutoloadCorrupt = 12, kS_AutoloadObsolete = 13, kS_AutoloadFuture = 14, kS_AutoloadAllDone = 15, kS_AutoloadSaveGlobal = 16, kS_SongCacheCreateSearch = 17, kS_SongCacheCreateNotFound = 18, kS_SongCacheCreateMissing = 19, kS_SongCacheCreateChoose = 20, kS_SongCacheCreateChooseWaitOnGuide = 21, kS_SongCacheCreateMountRead = 22, kS_SongCacheCreateCorrupt = 23, kS_SongCacheCreateMountDelete = 24, kS_SongCacheCreateFileSize = 25, kS_SongCacheCreateRead = 26, kS_SongCacheCreateMountWrite = 27, kS_SongCacheCreateWrite = 28, kS_SongCacheCreateUnmount = 29, kS_SongCacheCreateUnmountWrite = 30, kS_SongCacheCreateError = 31, kS_SongCacheCreateDone = 32, kS_GlobalCreateSearch = 33, kS_GlobalCreateNotFound = 34, kS_GlobalCreateMissing = 35, kS_GlobalCreateChoose = 36, kS_GlobalCreateChooseWaitOnGuide = 37, kS_GlobalCreateMountRead = 38, kS_GlobalCreateCorrupt = 39, kS_GlobalCreateMountDelete = 40, kS_GlobalCreateMountWrite = 41, kS_GlobalCreateRead = 42, kS_GlobalCreateWrite = 43, kS_GlobalCreateUnmount = 44, kS_GlobalCreateUnmountWrite = 45, kS_GlobalCreateError = 46, kS_GlobalCreateDone = 47, kS_GlobalOptionsMissing = 48, kS_GlobalOptionsChoose = 49, kS_GlobalOptionsChooseWaitOnGuide = 50, kS_GlobalOptionsAutoMount = 51, kS_GlobalOptionsAutoWrite = 52, kS_GlobalOptionsAutoUnmountWrite = 53, kS_GlobalOptionsError = 54, kS_GlobalOptionsDone = 55, kS_AutoloadAutosaveWarning = 56, kS_CheckMemoryWii = 57, kS_NewFilePrompt = 58, kS_SaveLoadNoSaveWii = 59, kS_SaveLoadConfirmNoSaveWii = 60, kS_SaveLoadReturnToHomeWii = 61, kS_AutoloadPreSaveCheckWii = 62, kS_SaveLoadSystemCorrupt = 63, kS_CheckSDToggle = 64, kS_MaxBlocksFiles = 65, kS_StartLoadCountdown = 66, kS_AutoStartLoadDeferred = 67, kS_ManualStartLoadDeferred = 68, kS_StartAutoLoadCountdown = 69, kS_StartManualLoadCountdown = 70, kS_StartSaveDeferred = 71, kS_StartSaveCountdown = 72, kS_UploadShowMessageDelay = 73, kS_UploadActualWii = 74, kS_SaveLoadError = 75, kS_SaveLoadSilentError = 76, kS_SaveLoadSuccess = 77, kS_SaveLoadUnchanged = 78, kS_SaveLookForFile = 79, kS_SaveOverwrite = 80, kS_SaveNoOverwrite = 81, kS_SaveConfirmOverwrite = 82, kS_SaveNotEnoughSpace = 83, kS_SaveNotEnoughSpaceWii = 84, kS_SaveNotEnoughInodesWii = 85, kS_SaveNotEnoughSpacePS3 = 86, kS_SaveDeleteSavesPS3 = 87, kS_SaveDeviceInvalid = 88, kS_SaveChooseDeviceInvalid = 89, kS_SaveFailed = 90, kS_SaveDisabledByCheat = 91, kS_LoadFailed = 92, kS_AutosaveInit = 93, kS_AutosaveSongCache = 94, kS_AutosaveGlobal = 95, kS_AutosaveFindNext = 96, kS_AutosaveAllDone = 97, kS_UploadInit = 98, kS_UploadFindNext = 99, kS_Upload = 100, kS_UploadErrorStart = 101, kS_UploadErrorView = 102, kS_UploadErrorPrev = 103, kS_UploadErrorNext = 104, kS_UploadErrorDone = 105, kS_UploadDone = 106, kS_ManualSaveInit = 107, kS_ManualSaveChooseDevice = 108, kS_ManualSaveNoDevice = 109, kS_ManualSaveDone = 110, kS_ManualLoadInit = 111, kS_ManualLoadConfirmUnsaved = 112, kS_ManualLoadConfirm = 113, kS_ManualLoadChooseDevice = 114, kS_ManualLoadNoDevice = 115, kS_ManualLoadMissing = 116, kS_ManualLoadStartLoad = 117, kS_ManualLoadNoFile = 118, kS_ManualLoadCorrupt = 119, kS_ManualSaveCorrupt = 120, kS_ManualLoadDone = 121, kS_Abort = 122, kS_Done = 123, kS_Exiting = 124, }; class CacheID { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; enum OpType { kOpNone = 0, kOpDirectory = 1, kOpFileSize = 2, kOpRead = 3, kOpWrite = 4, kOpDelete = 5, }; enum CacheResult { kCache_NoError = 0, kCache_ErrorBusy = 1, kCache_ErrorBadParam = 2, kCache_ErrorUnsupported = 3, kCache_ErrorUserCancel = 4, kCache_ErrorNoStorageDevice = 5, kCache_ErrorCacheNotFound = 6, kCache_ErrorCorrupt = 7, kCache_ErrorStorageDeviceMissing = 8, kCache_ErrorNotEnoughSpace = 9, kCache_Error360GuideAlreadyOut = 10, kCache_ErrorUnknown = -1, }; class CacheDirEntry { // total size: 0x18 public: class String mStrRemotePath; // offset 0x0, size 0xC struct DateTime mTimeLastAccess; // offset 0xC, size 0x6 unsigned int mFileSize; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class CacheDirEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class CacheDirEntry * _M_start; // offset 0x0, size 0x4 class CacheDirEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class Cache { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 private: enum OpType mOpCur; // offset 0x4, size 0x4 enum CacheResult mLastResult; // offset 0x8, size 0x4 }; enum MCResult { kMCNoError = 0, kMCNoCard = 1, kMCNotFormatted = 2, kMCDifferentCard = 3, kMCReadWriteFailed = 4, kMCCorrupt = 5, kMCNotEnoughSpace = 6, kMCFileExists = 7, kMCFileNotFound = 8, kMCMultipleFilesFound = 9, kMCObsoleteVersion = 10, kMCNewerVersion = 11, kMCGeneralError = 12, kMCUnsupported = 13, kMCAlreadyFormatted = 14, kMCInsufficientInodes = 15, kMCSystemCorrupt = 16, kMCAccessError = 17, kMCMaxedSysMem = 18, kMCMax = 19, }; class DeviceChosenMsg : public Message { // total size: 0x8 }; class NoDeviceChosenMsg : public Message { // total size: 0x8 }; class MCResultMsg : public Message { // total size: 0x8 }; class StorageChangedMsg : public Message { // total size: 0x8 }; class SaveScreen : public BandScreen { // total size: 0x188 enum SaveScreenMode mMode; // offset 0x3C, size 0x4 enum State mState; // offset 0x40, size 0x4 enum State mStateAtSelectStart; // offset 0x44, size 0x4 enum State mPreviousState; // offset 0x48, size 0x4 unsigned char mFirstTimeSDToggle; // offset 0x4C, size 0x1 class BandUser * mBandUser; // offset 0x50, size 0x4 unsigned char mIsLockedToBandUser; // offset 0x54, size 0x1 class BandUser * mSavedBandUser; // offset 0x58, size 0x4 class Timer mTimerStateChange; // offset 0x60, size 0x38 class Timer mTimerWrite; // offset 0x98, size 0x38 int mPlayerNumCur; // offset 0xD0, size 0x4 class vector mUploadProfiles; // offset 0xD4, size 0xC class DataArrayPtr mUploadArg2; // offset 0xE0, size 0x8 int mUploadErrorCur; // offset 0xE8, size 0x4 class String mSongCacheName; // offset 0xEC, size 0xC unsigned int mSongCacheSize; // offset 0xF8, size 0x4 unsigned char mHasAutoloaded; // offset 0xFC, size 0x1 unsigned char mFirstTime; // offset 0xFD, size 0x1 unsigned char mShowFirstTimeDrum; // offset 0xFE, size 0x1 unsigned char mShowFirstTimeGuitar; // offset 0xFF, size 0x1 unsigned char mShowFirstTimeVocals; // offset 0x100, size 0x1 unsigned char mShowFirstTimeCalibrate; // offset 0x101, size 0x1 class CacheID * mCacheID; // offset 0x104, size 0x4 class Cache * mCache; // offset 0x108, size 0x4 void * mData; // offset 0x10C, size 0x4 unsigned char mSongCacheWriteDisabled; // offset 0x110, size 0x1 unsigned char mWaiting; // offset 0x111, size 0x1 enum MCResult mLastMCResult; // offset 0x114, size 0x4 unsigned char mIsLongSave; // offset 0x118, size 0x1 unsigned char mSaveOverwrite; // offset 0x119, size 0x1 int mLockCountdown; // offset 0x11C, size 0x4 int mLoadCountdown; // offset 0x120, size 0x4 int mSaveCountdown; // offset 0x124, size 0x4 int mUploadCountdown; // offset 0x128, size 0x4 char mTitleString[64]; // offset 0x12C, size 0x40 unsigned char mIsCacheMgrDone; // offset 0x16C, size 0x1 enum CacheResult mLastCacheResult; // offset 0x170, size 0x4 unsigned char mConnected; // offset 0x174, size 0x1 unsigned char mDisplayJoypadConnection; // offset 0x175, size 0x1 class InviteAcceptedMsg * mInviteAcceptedMsg; // offset 0x178, size 0x4 unsigned char mIsMessageRunning; // offset 0x17C, size 0x1 class Symbol mSymLongMessage; // offset 0x180, size 0x4 unsigned char mWaitOnSessionDisable; // offset 0x184, size 0x1 }; struct { // total size: 0x80 } __vt__14AutoloadScreen; // size: 0x80, address: 0x8087DB18 struct { // total size: 0x8 } __RTTI__14AutoloadScreen; // size: 0x8, address: 0x8087DBD0 struct { // total size: 0x8 } __RTTI__10SaveScreen; // size: 0x8, address: 0x8087DC08 struct { // total size: 0xC } __vt__22SaveLoadAllCompleteMsg; // size: 0xC, address: 0x8087DC70 struct { // total size: 0x8 } __RTTI__22SaveLoadAllCompleteMsg; // size: 0x8, address: 0x8087DCA0 struct { // total size: 0xC } __vt__19ProfileActivatedMsg; // size: 0xC, address: 0x8087DCA8 struct { // total size: 0x8 } __RTTI__19ProfileActivatedMsg; // size: 0x8, address: 0x8087DCD8 struct { // total size: 0xC } __vt__23UITransitionCompleteMsg; // size: 0xC, address: 0x8087DCE0 struct { // total size: 0x8 } __RTTI__23UITransitionCompleteMsg; // size: 0x8, address: 0x8087DD18 struct { // total size: 0xC } __vt__16SigninChangedMsg; // size: 0xC, address: 0x8087DD48 struct { // total size: 0x8 } __RTTI__16SigninChangedMsg; // size: 0x8, address: 0x8087DD78 class ThreadCallback { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; struct ContainerId { // total size: 0x8 int port; // offset 0x0, size 0x4 int slot; // offset 0x4, size 0x4 }; enum SeekType { kOsSeekBegin = 0, kOsSeekCur = 1, kOsSeekEnd = 2, }; class MCFile { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 protected: class MCContainer * mpContainer; // offset 0x4, size 0x4 }; class MCContainer { // total size: 0x10 public: void * __vptr$; // offset 0x0, size 0x4 private: struct ContainerId mCid; // offset 0x4, size 0x8 unsigned char mIsMounted; // offset 0xC, size 0x1 }; enum State { kS_None = 0, kS_Search = 1, kS_CheckForSaveContainer = 2, kS_SaveGame = 3, kS_LoadGame = 4, kS_DeleteSaves = 5, }; enum NHTTPError { NHTTP_ERROR_SYSTEM = -1, NHTTP_ERROR_NONE = 0, NHTTP_ERROR_ALLOC = 1, NHTTP_ERROR_TOOMANYREQ = 2, NHTTP_ERROR_SOCKET = 3, NHTTP_ERROR_DNS = 4, NHTTP_ERROR_CONNECT = 5, NHTTP_ERROR_BUFFULL = 6, NHTTP_ERROR_HTTPPARSE = 7, NHTTP_ERROR_CANCELED = 8, NHTTP_ERROR_REVOLUTIONSDK = 9, NHTTP_ERROR_REVOLUTIONWIFI = 10, NHTTP_ERROR_UNKNOWN = 11, NHTTP_ERROR_DNS_PROXY = 12, NHTTP_ERROR_CONNECT_PROXY = 13, NHTTP_ERROR_SSL = 14, NHTTP_ERROR_BUSY = 15, NHTTP_ERROR_SSL_ROOTCA = 16, NHTTP_ERROR_SSL_CLIENTCERT = 17, NHTTP_ERROR_MAX = 18, }; enum NHTTPConnectionStatus { NHTTP_STATUS_ERROR = -1, NHTTP_STATUS_IDLE = 0, NHTTP_STATUS_CONNECTING = 1, NHTTP_STATUS_SENDING = 2, NHTTP_STATUS_RECEIVING_HEADER = 3, NHTTP_STATUS_RECEIVING_BODY = 4, NHTTP_STATUS_COMPLETE = 5, NHTTP_STATUS_MAX = 6, }; class HttpWii { // total size: 0x290 unsigned char mServerVerifySSL; // offset 0x0, size 0x1 unsigned char bUseSSL; // offset 0x1, size 0x1 unsigned char bUseFileLoad; // offset 0x2, size 0x1 char * mRootCA; // offset 0x4, size 0x4 unsigned long certSize; // offset 0x8, size 0x4 class DataArray * mServerInfo; // offset 0xC, size 0x4 void * mHandles[10]; // offset 0x10, size 0x28 unsigned int mLastReceived[10]; // offset 0x38, size 0x28 class Timer mTimeout[10]; // offset 0x60, size 0x230 }; class MCContainerWii : public MCContainer { // total size: 0x10 }; class UIChangedMsg : public Message { // total size: 0x8 }; class MemcardMgr : public MsgSource, public ThreadCallback { // total size: 0x24C0 struct ContainerId mCidTbl[1]; // offset 0x20, size 0x8 class MCContainer * mPContainerTbl[1]; // offset 0x28, size 0x4 unsigned char mIsDeviceValid[1]; // offset 0x2C, size 0x1 unsigned char mSelectDeviceWaiting; // offset 0x2D, size 0x1 unsigned char mSelectDeviceForceShow; // offset 0x2E, size 0x1 class Object * mSelectDeviceCallBackObj; // offset 0x30, size 0x4 int mPadNum; // offset 0x34, size 0x4 int mPlayerNum; // offset 0x38, size 0x4 char * mPBuffer; // offset 0x3C, size 0x4 int mCbSave; // offset 0x40, size 0x4 int mForceOverwrite; // offset 0x44, size 0x4 enum State mState; // offset 0x48, size 0x4 unsigned char mSaving; // offset 0x4C, size 0x1 unsigned char mFormating; // offset 0x4D, size 0x1 char mSaveFilename[64]; // offset 0x4E, size 0x40 char mBanFilename[64]; // offset 0x8E, size 0x40 char mSongsFilename[64]; // offset 0xCE, size 0x40 char mSongsDir[64]; // offset 0x10E, size 0x40 unsigned char mChangeHMBPerm; // offset 0x14E, size 0x1 struct OSThread mSaveLoadThread; // offset 0x150, size 0x318 unsigned char mSaveLoadThreadStack[8192]; // offset 0x480, size 0x2000 class HttpWii * mWiiHttp; // offset 0x2480, size 0x4 void * mSongsDtaBuffer; // offset 0x2484, size 0x4 }; class UIComponentScrollMsg : public Message { // total size: 0x8 }; /* Compile unit: C:\rockband2\band2\src\meta\AutoloadScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B160C -> 0x800B187C */ // Range: 0x800B160C -> 0x800B16B8 void AutoloadScreen::RegisterButtonPress(class AutoloadScreen * const this /* r9 */, int padNum /* r8 */) { // References // -> class Debug TheDebug; } // Range: 0x800B16B8 -> 0x800B1838 void AutoloadScreen::SetType(class AutoloadScreen * const this /* r29 */, class Symbol & AutoloadScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x800B1838 -> 0x800B187C class Symbol AutoloadScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B187C -> 0x800B1B74 */ // Range: 0x800B187C -> 0x800B18DC char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800B18DC -> 0x800B1964 char * MakeString(const char * fmt /* r0 */, int t1 /* r28 */, int t2 /* r29 */, enum JoypadButton t3 /* r30 */, enum JoypadAction t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\BandCreatePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B1B74 -> 0x800B2500 */ class DataArray * types; // size: 0x4, address: 0x80A4A520 class Symbol name; // size: 0x4, address: 0x80A4A528 class BandCreatePanel : public UIPanel { // total size: 0x68 class DataArray * mNames; // offset 0x30, size 0x4 class DataLoader * mLoader; // offset 0x34, size 0x4 unsigned char mRandomNames; // offset 0x38, size 0x1 }; // Range: 0x800B1B74 -> 0x800B1C08 void * BandCreatePanel::BandCreatePanel(class BandCreatePanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__15BandCreatePanel; } static class Symbol tour; // size: 0x4, address: 0x80A4A530 static class Symbol band_names; // size: 0x4, address: 0x80A4A538 // Range: 0x800B1C08 -> 0x800B1D58 void BandCreatePanel::Load(class BandCreatePanel * const this /* r28 */) { // Local variables class DataArray * names; // r31 const char * path; // r29 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol band_names; // -> static class Symbol tour; } // Range: 0x800B1D58 -> 0x800B1DBC unsigned char BandCreatePanel::IsLoaded(class BandCreatePanel * const this /* r30 */) {} // Range: 0x800B1DBC -> 0x800B1E64 void BandCreatePanel::FinishLoad(class BandCreatePanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B1E64 -> 0x800B1EC4 void BandCreatePanel::Unload(class BandCreatePanel * const this /* r31 */) {} // Range: 0x800B1EC4 -> 0x800B1FCC char * BandCreatePanel::CreateRandomBandName(class BandCreatePanel * const this /* r28 */) { // Local variables class DataArray * first; // r29 class DataArray * second; // r28 const char * name; // r30 } static class Symbol _s; // size: 0x4, address: 0x80A4A540 // Range: 0x800B1FCC -> 0x800B2374 class DataNode BandCreatePanel::Handle(class BandCreatePanel * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4A548 // Range: 0x800B2374 -> 0x800B2500 unsigned char BandCreatePanel::SyncProperty(class BandCreatePanel * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xB0 } __vt__15BandCreatePanel; // size: 0xB0, address: 0x8087DF48 struct { // total size: 0x8 } __RTTI__15BandCreatePanel; // size: 0x8, address: 0x8087E028 /* Compile unit: C:\rockband2\band2\src\meta\BandCreatePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B2628 -> 0x800B2800 */ // Range: 0x800B2628 -> 0x800B266C class Symbol BandCreatePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800B266C -> 0x800B2800 void BandCreatePanel::SetType(class BandCreatePanel * const this /* r29 */, class Symbol & BandCreatePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\BandData.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B2800 -> 0x800B3DAC */ // Range: 0x800B2800 -> 0x800B2840 void * BandMember::BandMember(struct BandMember * const this /* r31 */) {} // Range: 0x800B2840 -> 0x800B28BC class BinStream & __ls(class BinStream & s /* r30 */, const struct BandMember & bm /* r31 */) {} // Range: 0x800B28BC -> 0x800B2978 class BinStream & __rs(class BinStream & s /* r30 */, struct BandMember & bm /* r31 */) { // Local variables int ver; // r1+0xC class String ignoreName; // r1+0x10 } class String sDefaultLogo; // size: 0xC, address: 0x80977BE4 // Range: 0x800B2978 -> 0x800B2998 void BandData::Init() { // References // -> class String sDefaultLogo; } // Range: 0x800B2998 -> 0x800B299C void BandData::Terminate() {} // Range: 0x800B299C -> 0x800B2B40 unsigned char BandData::IsMember(const class HxGuid & charGuid /* r29 */) { // Local variables class vector roster; // r1+0x30 int i; // r30 } static class Symbol band_profile_creation_info; // size: 0x4, address: 0x80A4A554 static class Symbol band_profile_creation_info_offline; // size: 0x4, address: 0x80A4A55C // Range: 0x800B2B40 -> 0x800B2D44 char * BandData::GetCreationInfo(const class BandData * const this /* r30 */) { // Local variables class String date; // r1+0x38 // References // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; // -> static class Symbol band_profile_creation_info_offline; // -> static class Symbol band_profile_creation_info; } // Range: 0x800B2D44 -> 0x800B2E2C int BandData::RosterSize() { // Local variables class vector r; // r1+0x1C } // Range: 0x800B2E2C -> 0x800B2E64 class Symbol BandData::StarRatingFormatted() { // References // -> class Scoring * TheScoring; } static class Symbol _s; // size: 0x4, address: 0x80A4A564 static class Symbol _s; // size: 0x4, address: 0x80A4A56C static class Symbol _s; // size: 0x4, address: 0x80A4A574 static class Symbol _s; // size: 0x4, address: 0x80A4A57C static class Symbol _s; // size: 0x4, address: 0x80A4A584 static class Symbol _s; // size: 0x4, address: 0x80A4A58C static class Symbol _s; // size: 0x4, address: 0x80A4A594 static class Symbol _s; // size: 0x4, address: 0x80A4A59C static class Symbol _s; // size: 0x4, address: 0x80A4A5A4 static class Symbol _s; // size: 0x4, address: 0x80A4A5AC static class Symbol _s; // size: 0x4, address: 0x80A4A5B4 static class Symbol _s; // size: 0x4, address: 0x80A4A5BC static class Symbol _s; // size: 0x4, address: 0x80A4A5C4 // Range: 0x800B2E64 -> 0x800B3D38 class DataNode BandData::Handle(class BandData * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x58 class MessageTimer _mt; // r1+0x80 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xB8 } __vt__8BandData; // size: 0xB8, address: 0x8087E2A0 struct { // total size: 0x8 } __RTTI__8BandData; // size: 0x8, address: 0x8087E378 // Range: 0x800B3D38 -> 0x800B3D84 static void __sinit_\BandData_cpp() { // References // -> class String sDefaultLogo; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B3DAC -> 0x800B3E94 */ // Range: 0x800B3DAC -> 0x800B3E20 char * MakeString(const char * fmt /* r0 */, class String & t1 /* r29 */, const char * t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\BandDataProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B3E94 -> 0x800B68E8 */ class BandDataProvider * TheBandDataProvider; // size: 0x4, address: 0x80A4A5C8 class CharRemoveProvider * TheCharRemoveProvider; // size: 0x4, address: 0x80A4A5CC class BandQuitProvider * TheBandQuitProvider; // size: 0x4, address: 0x80A4A5D0 char lhsName[256]; // size: 0x100, address: 0x80977BF0 char rhsName[256]; // size: 0x100, address: 0x80977CF0 class BandDataProvider : public ListProvider, public Object { // total size: 0x3C class vector mBands; // offset 0x2C, size 0xC class Profile * mProfile; // offset 0x38, size 0x4 }; // Range: 0x800B3E94 -> 0x800B3F1C void * BandDataProvider::BandDataProvider(class BandDataProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__16BandDataProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800B3F1C -> 0x800B3FB4 void * BandDataProvider::~BandDataProvider(class BandDataProvider * const this /* r30 */) {} // Range: 0x800B3FB4 -> 0x800B4000 void BandDataProvider::Init() { // References // -> class CharRemoveProvider * TheCharRemoveProvider; // -> class BandDataProvider * TheBandDataProvider; } // Range: 0x800B4000 -> 0x800B4004 void BandDataProvider::InitData() {} static class Symbol name; // size: 0x4, address: 0x80A4A5D8 // Range: 0x800B4004 -> 0x800B40FC char * BandDataProvider::Text(const class BandDataProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables class BandData * band; // r30 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol name; } // Range: 0x800B40FC -> 0x800B4148 class RndMat * BandDataProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B4148 -> 0x800B414C int BandDataProvider::NumData() {} // Range: 0x800B414C -> 0x800B4154 unsigned char BandDataProvider::IsActive() {} // Range: 0x800B4154 -> 0x800B43C4 void BandDataProvider::DeleteBand(class BandDataProvider * const this /* r31 */, int num /* r28 */) { // Local variables class BandData * band; // r29 class HxGuid bandGuidCopy; // r1+0x28 class vector roster; // r1+0x1C struct BandMember * rosterIter; // r29 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B43C4 -> 0x800B4490 void BandDataProvider::Init(class BandDataProvider * const this /* r29 */) { // Local variables class User * pUser; // r30 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UserMgr * TheUserMgr; } // Range: 0x800B4490 -> 0x800B455C void BandDataProvider::GatherBands(class BandDataProvider * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct BandSorter { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x800B455C -> 0x800B4574 int BandDataProvider::NumBands() {} // Range: 0x800B4574 -> 0x800B4638 class String BandDataProvider::GetBandName(const class BandDataProvider * const this /* r30 */, int bandNum /* r31 */) { // Local variables class BandData * band; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B4638 -> 0x800B4778 void BandDataProvider::SetBandName(class BandDataProvider * const this /* r27 */, int bandNum /* r28 */, class String & name /* r29 */) { // Local variables class BandData * band; // r30 class TourBandLocal * pBand; // r30 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B4778 -> 0x800B4814 class BandData * BandDataProvider::GetBandData(class BandDataProvider * const this /* r30 */, int bandNum /* r31 */) { // Local variables class BandData * band; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B4814 -> 0x800B48C8 unsigned char BandDataProvider::IsBandRemote(const class BandDataProvider * const this /* r30 */, int bandNum /* r31 */) { // Local variables class BandData * band; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4A5E0 static class Symbol _s; // size: 0x4, address: 0x80A4A5E8 static class Symbol _s; // size: 0x4, address: 0x80A4A5F0 static class Symbol _s; // size: 0x4, address: 0x80A4A5F8 static class Symbol _s; // size: 0x4, address: 0x80A4A600 static class Symbol _s; // size: 0x4, address: 0x80A4A608 static class Symbol _s; // size: 0x4, address: 0x80A4A610 // Range: 0x800B48C8 -> 0x800B5280 class DataNode BandDataProvider::Handle(class BandDataProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x60 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class CharRemoveProvider : public ListProvider, public Object { // total size: 0x40 class BandData * mBand; // offset 0x2C, size 0x4 class vector mChars; // offset 0x30, size 0xC class Profile * mProfile; // offset 0x3C, size 0x4 }; // Range: 0x800B5280 -> 0x800B530C void * CharRemoveProvider::CharRemoveProvider(class CharRemoveProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__18CharRemoveProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800B530C -> 0x800B5404 void * CharRemoveProvider::~CharRemoveProvider(class CharRemoveProvider * const this /* r30 */) {} // Range: 0x800B5404 -> 0x800B5408 void CharRemoveProvider::InitData() {} static class Symbol name; // size: 0x4, address: 0x80A4A618 // Range: 0x800B5408 -> 0x800B54B8 char * CharRemoveProvider::Text(const class CharRemoveProvider * const this /* r29 */, int data /* r30 */, class Symbol & slot /* r31 */) { // References // -> const char * gNullStr; // -> static class Symbol name; } // Range: 0x800B54B8 -> 0x800B5504 class RndMat * CharRemoveProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B5504 -> 0x800B551C int CharRemoveProvider::NumData() {} // Range: 0x800B551C -> 0x800B5524 unsigned char CharRemoveProvider::IsActive() {} // Range: 0x800B5524 -> 0x800B5780 void CharRemoveProvider::RemoveCharacter(class CharRemoveProvider * const this /* r31 */, int num /* r28 */) { // Local variables class HxGuid remoteBandGuid; // r1+0x18 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B5780 -> 0x800B5848 void CharRemoveProvider::Init(class CharRemoveProvider * const this /* r28 */, class Profile * profile /* r29 */, class BandData * band /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B5848 -> 0x800B5860 int CharRemoveProvider::NumCharacters() {} static class Symbol _s; // size: 0x4, address: 0x80A4A620 static class Symbol _s; // size: 0x4, address: 0x80A4A628 static class Symbol _s; // size: 0x4, address: 0x80A4A630 // Range: 0x800B5860 -> 0x800B5E3C class DataNode CharRemoveProvider::Handle(class CharRemoveProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__7Profile; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandData; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class BandQuitProvider : public ListProvider, public Object { // total size: 0x40 class vector mBands; // offset 0x2C, size 0xC class TourCharLocal * mChar; // offset 0x38, size 0x4 class Profile * mProfile; // offset 0x3C, size 0x4 }; // Range: 0x800B5E3C -> 0x800B5EC8 void * BandQuitProvider::BandQuitProvider(class BandQuitProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__16BandQuitProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800B5EC8 -> 0x800B5F64 void * BandQuitProvider::~BandQuitProvider(class BandQuitProvider * const this /* r30 */) {} // Range: 0x800B5F64 -> 0x800B5F98 void BandQuitProvider::Init() { // References // -> class BandQuitProvider * TheBandQuitProvider; } // Range: 0x800B5F98 -> 0x800B5F9C void BandQuitProvider::InitData() {} static class Symbol name; // size: 0x4, address: 0x80A4A638 // Range: 0x800B5F9C -> 0x800B6094 char * BandQuitProvider::Text(const class BandQuitProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables class BandData * band; // r30 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol name; } // Range: 0x800B6094 -> 0x800B60E0 class RndMat * BandQuitProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B60E0 -> 0x800B60E4 int BandQuitProvider::NumData() {} // Range: 0x800B60E4 -> 0x800B60EC unsigned char BandQuitProvider::IsActive() {} // Range: 0x800B60EC -> 0x800B61D8 void BandQuitProvider::Init(class BandQuitProvider * const this /* r29 */, class Profile * profile /* r31 */, class TourCharLocal * tourChar /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B61D8 -> 0x800B62F4 void BandQuitProvider::Quit(class BandQuitProvider * const this /* r29 */, int bandNum /* r30 */) { // Local variables class BandData * band; // r31 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B62F4 -> 0x800B630C int BandQuitProvider::NumBands() {} static class Symbol _s; // size: 0x4, address: 0x80A4A640 static class Symbol _s; // size: 0x4, address: 0x80A4A648 static class Symbol _s; // size: 0x4, address: 0x80A4A650 // Range: 0x800B630C -> 0x800B68E8 class DataNode BandQuitProvider::Handle(class BandQuitProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__7Profile; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__13TourBandLocal; // size: 0x8, address: 0x8087E5E0 struct { // total size: 0x9C } __vt__16BandQuitProvider; // size: 0x9C, address: 0x8087E6B0 struct { // total size: 0x8 } __RTTI__16BandQuitProvider; // size: 0x8, address: 0x8087E780 struct { // total size: 0x9C } __vt__18CharRemoveProvider; // size: 0x9C, address: 0x8087E788 struct { // total size: 0x8 } __RTTI__18CharRemoveProvider; // size: 0x8, address: 0x8087E858 struct { // total size: 0x9C } __vt__16BandDataProvider; // size: 0x9C, address: 0x8087E860 struct { // total size: 0x8 } __RTTI__16BandDataProvider; // size: 0x8, address: 0x8087E930 struct { // total size: 0x8 } __RTTI__8TourBand; // size: 0x8, address: 0x8087E970 struct { // total size: 0x8 } __RTTI__7Profile; // size: 0x8, address: 0x8087EA18 struct _loc_coll_cmpt { // total size: 0x1C char CmptName[8]; // offset 0x0, size 0x8 int char_start_value; // offset 0x8, size 0x4 int char_coll_tab_size; // offset 0xC, size 0x4 signed short char_spec_accents; // offset 0x10, size 0x2 unsigned short * char_coll_table_ptr; // offset 0x14, size 0x4 unsigned short * wchar_coll_seq_ptr; // offset 0x18, size 0x4 }; struct _loc_ctype_cmpt { // total size: 0x28 char CmptName[8]; // offset 0x0, size 0x8 const unsigned short * ctype_map_ptr; // offset 0x8, size 0x4 const unsigned char * upper_map_ptr; // offset 0xC, size 0x4 const unsigned char * lower_map_ptr; // offset 0x10, size 0x4 const unsigned short * wctype_map_ptr; // offset 0x14, size 0x4 const wchar_t * wupper_map_ptr; // offset 0x18, size 0x4 const wchar_t * wlower_map_ptr; // offset 0x1C, size 0x4 int (* decode_mb)(wchar_t *, char *, unsigned long); // offset 0x20, size 0x4 int (* encode_wc)(char *, wchar_t); // offset 0x24, size 0x4 }; struct _loc_mon_cmpt { // total size: 0x34 char CmptName[8]; // offset 0x0, size 0x8 char * mon_decimal_point; // offset 0x8, size 0x4 char * mon_thousands_sep; // offset 0xC, size 0x4 char * mon_grouping; // offset 0x10, size 0x4 char * positive_sign; // offset 0x14, size 0x4 char * negative_sign; // offset 0x18, size 0x4 char * currency_symbol; // offset 0x1C, size 0x4 char frac_digits; // offset 0x20, size 0x1 char p_cs_precedes; // offset 0x21, size 0x1 char n_cs_precedes; // offset 0x22, size 0x1 char p_sep_by_space; // offset 0x23, size 0x1 char n_sep_by_space; // offset 0x24, size 0x1 char p_sign_posn; // offset 0x25, size 0x1 char n_sign_posn; // offset 0x26, size 0x1 char * int_curr_symbol; // offset 0x28, size 0x4 char int_frac_digits; // offset 0x2C, size 0x1 char int_p_cs_precedes; // offset 0x2D, size 0x1 char int_n_cs_precedes; // offset 0x2E, size 0x1 char int_p_sep_by_space; // offset 0x2F, size 0x1 char int_n_sep_by_space; // offset 0x30, size 0x1 char int_p_sign_posn; // offset 0x31, size 0x1 char int_n_sign_posn; // offset 0x32, size 0x1 }; struct _loc_num_cmpt { // total size: 0x14 char CmptName[8]; // offset 0x0, size 0x8 char * decimal_point; // offset 0x8, size 0x4 char * thousands_sep; // offset 0xC, size 0x4 char * grouping; // offset 0x10, size 0x4 }; struct _loc_time_cmpt { // total size: 0x28 char CmptName[8]; // offset 0x0, size 0x8 char * am_pm; // offset 0x8, size 0x4 char * DateTime_Format; // offset 0xC, size 0x4 char * Twelve_hr_format; // offset 0x10, size 0x4 char * Date_Format; // offset 0x14, size 0x4 char * Time_Format; // offset 0x18, size 0x4 char * Day_Names; // offset 0x1C, size 0x4 char * MonthNames; // offset 0x20, size 0x4 char * TimeZone; // offset 0x24, size 0x4 }; struct __locale { // total size: 0x48 struct __locale * next_locale; // offset 0x0, size 0x4 char locale_name[48]; // offset 0x4, size 0x30 struct _loc_coll_cmpt * coll_cmpt_ptr; // offset 0x34, size 0x4 struct _loc_ctype_cmpt * ctype_cmpt_ptr; // offset 0x38, size 0x4 struct _loc_mon_cmpt * mon_cmpt_ptr; // offset 0x3C, size 0x4 struct _loc_num_cmpt * num_cmpt_ptr; // offset 0x40, size 0x4 struct _loc_time_cmpt * time_cmpt_ptr; // offset 0x44, size 0x4 }; struct __locale _current_locale; // size: 0x48, address: 0x80930720 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B6918 -> 0x800B7928 */ // Range: 0x800B6918 -> 0x800B69BC void sort(class BandData * * __first /* r29 */, class BandData * * __last /* r30 */, struct BandSorter & __comp /* r31 */) {} // Range: 0x800B69BC -> 0x800B6A5C void __final_insertion_sort(class BandData * * __first /* r29 */, class BandData * * __last /* r30 */, struct BandSorter & __comp /* r31 */) {} // Range: 0x800B6A5C -> 0x800B6AC4 void __unguarded_insertion_sort_aux(class BandData * * __last /* r29 */, struct BandSorter & __comp /* r30 */) { // Local variables class BandData * * __i; // r31 } // Range: 0x800B6AC4 -> 0x800B6C3C void __unguarded_linear_insert(class BandData * * __last /* r29 */, class BandData * __val /* r30 */) { // Local variables class BandData * * __next; // r31 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800B6C3C -> 0x800B6DF8 void __insertion_sort(class BandData * * __first /* r27 */, class BandData * * __last /* r28 */, struct BandSorter & __comp /* r29 */) { // Local variables class BandData * * __i; // r30 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800B6DF8 -> 0x800B7450 void __introsort_loop(class BandData * * __first /* r27 */, class BandData * * __last /* r28 */, long __depth_limit /* r29 */, struct BandSorter & __comp /* r30 */) { // Local variables class BandData * * __cut; // r25 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800B7450 -> 0x800B7710 class BandData * * __unguarded_partition(class BandData * * __first /* r29 */, class BandData * * __last /* r30 */, class BandData * __pivot /* r31 */) { // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800B7710 -> 0x800B7740 void partial_sort() {} // Range: 0x800B7740 -> 0x800B7928 void __partial_sort(class BandData * * __first /* r27 */, class BandData * * __middle /* r28 */, class BandData * * __last /* r29 */, struct BandSorter & __comp /* r30 */) { // Local variables class BandData * * __i; // r31 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B7928 -> 0x800B7958 */ // Range: 0x800B7928 -> 0x800B7940 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x800B7940 -> 0x800B7958 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B7958 -> 0x800B7D50 */ // Range: 0x800B7958 -> 0x800B79AC void pop_heap(class BandData * * __last /* r7 */) {} // Range: 0x800B79AC -> 0x800B7CB8 void __adjust_heap(class BandData * * __first /* r26 */, long __holeIndex /* r27 */, long __len /* r31 */, class BandData * __val /* r28 */) { // Local variables long __topIndex; // r29 long __secondChild; // r30 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800B7CB8 -> 0x800B7D50 void make_heap(class BandData * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B7D50 -> 0x800B7D7C */ // Range: 0x800B7D50 -> 0x800B7D7C void _Vector_base::_M_throw_out_of_range() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B7D7C -> 0x800B7DA8 */ // Range: 0x800B7D7C -> 0x800B7DA8 void _Vector_base::_M_throw_out_of_range() {} /* Compile unit: C:\rockband2\band2\src\meta\BandProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800B7DA8 -> 0x800BB584 */ class Symbol name; // size: 0x4, address: 0x80A4A65C class Symbol name; // size: 0x4, address: 0x80A4A664 class DataArray * types; // size: 0x4, address: 0x80A4A668 class Symbol name; // size: 0x4, address: 0x80A4A670 class BandProvider * sBandProvider; // size: 0x4, address: 0x80A4A674 enum BandEntryType { kMetaBandCreate = 0, kMetaBandJoin = 1, kMetaBandProfileNotConnected = 2, kMetaBandProfileNotSignedIn = 3, kMetaBandProfileNotActive = 4, kMetaBandProfileActive = 5, kMetaBandInstructionSignIn = 6, kMetaBandInstructionNotActive = 7, kMetaBandName = 8, }; struct BandEntry { // total size: 0x18 enum BandEntryType mType; // offset 0x0, size 0x4 class BandUser * mBandUser; // offset 0x4, size 0x4 class BandData * mBandData; // offset 0x8, size 0x4 class RndTex * mLogoTex; // offset 0xC, size 0x4 class RndMat * mLogoMat; // offset 0x10, size 0x4 class RndTexRenderer * mLogoRnd; // offset 0x14, size 0x4 }; // Range: 0x800B7DA8 -> 0x800B7DC4 void * BandEntry::BandEntry() {} // Range: 0x800B7DC4 -> 0x800B7E80 void * BandEntry::~BandEntry(struct BandEntry * const this /* r30 */) {} // Range: 0x800B7E80 -> 0x800B7EF4 static unsigned char ListHasOnlineID(const class vector & list /* r29 */, const class OnlineID * element /* r30 */) { // Local variables const class OnlineID * const * it; // r31 } class BandProvider : public ListProvider, public Object { // total size: 0x50 class RndTex * mTemplateTex; // offset 0x2C, size 0x4 class RndMat * mTemplateMat; // offset 0x30, size 0x4 int mSelected; // offset 0x34, size 0x4 class vector mBands; // offset 0x38, size 0xC class list mPresenceResults; // offset 0x44, size 0x8 class PresenceResultList * mPresenceRequest; // offset 0x4C, size 0x4 }; // Range: 0x800B7EF4 -> 0x800B7F80 void * BandProvider::BandProvider(class BandProvider * const this /* r31 */) { // References // -> struct [anonymous] __vt__12BandProvider; // -> struct [anonymous] __vt__12ListProvider; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BandEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BandEntry * _M_start; // offset 0x0, size 0x4 struct BandEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class _List_node : public _List_node_base { // total size: 0x28 public: class PresenceResultRow _M_data; // offset 0x8, size 0x20 }; // Range: 0x800B7F80 -> 0x800B80A8 void * BandProvider::~BandProvider(class BandProvider * const this /* r30 */) { // References // -> struct [anonymous] __vt__12BandProvider; } // Range: 0x800B80A8 -> 0x800B80F8 void BandProvider::Init() { // References // -> class BandProvider * sBandProvider; } // Range: 0x800B80F8 -> 0x800B8118 class DataNode BandProvider::OnGetBandProvider() { // References // -> class BandProvider * sBandProvider; } // Range: 0x800B8118 -> 0x800B8170 class BandProvider * BandProvider::GetInstance() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandProvider * sBandProvider; } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x800B8170 -> 0x800B8E40 void BandProvider::Reload(class BandProvider * const this /* r27 */) { // Local variables struct BandEntry simpleEntry; // r1+0xE8 class vector unsortedProfiles; // r1+0xC0 class vector profiles; // r1+0xB4 int n; // r30 int n; // r30 int size; // r0 class Profile * * it; // r30 struct BandEntry be; // r1+0xD0 class Profile * pProfile; // r29 int iBand; // r26 int i; // r28 class vector remoteOwners; // r1+0xA8 struct BandEntry * it; // r28 class BandData * band; // r26 int n; // r28 class FilePath bitmap_path; // r1+0x9C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPC8OnlineID; // -> unsigned char gStlAllocNameLookup; // -> class RockCentralGateway RockCentral; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; // -> class GameMode * TheGameMode; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: const class OnlineID * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: const class OnlineID * * _M_start; // offset 0x0, size 0x4 const class OnlineID * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PPC8OnlineID; // size: 0x8, address: 0x8087EBB0 // Range: 0x800B8E40 -> 0x800B8F98 void BandProvider::Clear(class BandProvider * const this /* r30 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x800B8F98 -> 0x800B907C unsigned char BandProvider::ContainsLocalBand(class BandProvider * const this /* r28 */, const class HxGuid & guid /* r29 */) { // Local variables int n; // r30 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x800B907C -> 0x800B9140 class PresenceResultRow * BandProvider::GetPresenceInfo(const class BandProvider * const this /* r28 */, const class OnlineID * id /* r29 */) { // Local variables struct _List_iterator it; // r1+0x18 } // Range: 0x800B9140 -> 0x800B9220 void BandProvider::UpdateOwnerName(class BandProvider * const this /* r28 */, const class OnlineID * id /* r29 */, const char * name /* r30 */) { // Local variables int n; // r31 class RemoteBandData * bandData; // r0 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__14RemoteBandData; } static class Message uiMsg; // size: 0x8, address: 0x80977E00 // Range: 0x800B9220 -> 0x800B94BC class DataNode BandProvider::OnMsg(class BandProvider * const this /* r30 */) { // Local variables const class list * newResults; // r31 struct _List_iterator it; // r1+0x24 class OnlineID id; // r1+0x38 // References // -> class UIManager TheUI; // -> static class Message uiMsg; // -> struct [anonymous] __vt__7Message; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node<17PresenceResultRow>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std31_List_node<17PresenceResultRow>; // size: 0x8, address: 0x8087EC00 // Range: 0x800B94BC -> 0x800B9548 unsigned char BandProvider::IsBandLocal(const class BandProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B9548 -> 0x800B9608 unsigned char BandProvider::IsPosJoinBand(const class BandProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B9608 -> 0x800B96C8 unsigned char BandProvider::IsPosBand(const class BandProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B96C8 -> 0x800B9788 unsigned char BandProvider::IsPosSignInInstruction(const class BandProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B9788 -> 0x800B9848 unsigned char BandProvider::IsPosNotActiveInstruction(const class BandProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B9848 -> 0x800B98E0 void BandProvider::SetDefaultBandPos(class BandProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Tour * TheTour; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800B98E0 -> 0x800B9990 enum ShowGamercardResult BandProvider::ShowGamercard(class BandProvider * const this /* r29 */, int pos /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol start; // size: 0x4, address: 0x80A4A67C static class Symbol start_desc; // size: 0x4, address: 0x80A4A684 static class Symbol instrument; // size: 0x4, address: 0x80A4A68C static class Symbol padnum; // size: 0x4, address: 0x80A4A694 static class Symbol gamertag; // size: 0x4, address: 0x80A4A69C static class Symbol instruction; // size: 0x4, address: 0x80A4A6A4 static class Symbol instruction_desc; // size: 0x4, address: 0x80A4A6AC static class Symbol name; // size: 0x4, address: 0x80A4A6B4 static class Symbol owner_name; // size: 0x4, address: 0x80A4A6BC static class Symbol owner_online; // size: 0x4, address: 0x80A4A6C4 static class Symbol rating_stars; // size: 0x4, address: 0x80A4A6CC static class Symbol rating_diff; // size: 0x4, address: 0x80A4A6D4 static class Symbol band_chooser_create; // size: 0x4, address: 0x80A4A6DC static class Symbol band_chooser_create_desc; // size: 0x4, address: 0x80A4A6E4 static class Symbol band_chooser_join; // size: 0x4, address: 0x80A4A6EC static class Symbol band_chooser_join_desc; // size: 0x4, address: 0x80A4A6F4 static class Symbol band_chooser_not_connected; // size: 0x4, address: 0x80A4A6FC static class Symbol band_chooser_not_signed_in; // size: 0x4, address: 0x80A4A704 static class Symbol band_chooser_not_signed_in_desc; // size: 0x4, address: 0x80A4A70C static class Symbol band_chooser_not_active; // size: 0x4, address: 0x80A4A714 static class Symbol band_chooser_not_active_desc; // size: 0x4, address: 0x80A4A71C // Range: 0x800B9990 -> 0x800BA120 char * BandProvider::Text(const class BandProvider * const this /* r28 */, int data /* r30 */, class Symbol & slot /* r29 */) { // Local variables const char * bands; // r3 const class PresenceResultRow * presence; // r0 // References // -> const char * gNullStr; // -> static class Symbol band_chooser_not_active_desc; // -> static class Symbol band_chooser_not_active; // -> static class Symbol band_chooser_not_signed_in_desc; // -> static class Symbol band_chooser_not_signed_in; // -> static class Symbol band_chooser_not_connected; // -> static class Symbol band_chooser_join_desc; // -> static class Symbol band_chooser_join; // -> static class Symbol band_chooser_create_desc; // -> static class Symbol band_chooser_create; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol rating_diff; // -> static class Symbol rating_stars; // -> static class Symbol owner_online; // -> static class Symbol owner_name; // -> static class Symbol name; // -> static class Symbol instruction_desc; // -> static class Symbol instruction; // -> static class Symbol gamertag; // -> static class Symbol padnum; // -> static class Symbol instrument; // -> static class Symbol start_desc; // -> static class Symbol start; } static class Symbol logo; // size: 0x4, address: 0x80A4A724 // Range: 0x800BA120 -> 0x800BA220 class RndMat * BandProvider::Mat(const class BandProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol logo; } static class Symbol rating; // size: 0x4, address: 0x80A4A72C class ListAlphable { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class PlayerDiffIcon : public UIComponent, public ListAlphable { // total size: 0x1A0 class vector mPlayerMeshes; // offset 0x134, size 0xC class RndMat * mPlayerMat; // offset 0x140, size 0x4 class RndMat * mNoPlayerMat; // offset 0x144, size 0x4 class vector mDiffLabels; // offset 0x148, size 0xC int mNumPlayers; // offset 0x154, size 0x4 int mDiff; // offset 0x158, size 0x4 float mAlpha; // offset 0x15C, size 0x4 }; // Range: 0x800BA220 -> 0x800BA368 void BandProvider::Custom(const class BandProvider * const this /* r27 */, int data /* r28 */, class Symbol & slot /* r30 */, class Object * o /* r29 */) { // Local variables class PlayerDiffIcon * pdi; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14PlayerDiffIcon; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol rating; } // Range: 0x800BA368 -> 0x800BA390 int BandProvider::NumData() {} // Range: 0x800BA390 -> 0x800BA428 unsigned char BandProvider::IsActive() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800BA428 -> 0x800BA454 void BandProvider::PreDraw() { // Local variables class RndTexRenderer * r; // r3 } static class Symbol _s; // size: 0x4, address: 0x80A4A734 static class Symbol _s; // size: 0x4, address: 0x80A4A73C static class Symbol _s; // size: 0x4, address: 0x80A4A744 static class Symbol _s; // size: 0x4, address: 0x80A4A74C static class Symbol _s; // size: 0x4, address: 0x80A4A754 static class Symbol _s; // size: 0x4, address: 0x80A4A75C static class Symbol _s; // size: 0x4, address: 0x80A4A764 static class Symbol _s; // size: 0x4, address: 0x80A4A76C static class Symbol _s; // size: 0x4, address: 0x80A4A774 static class Symbol _s; // size: 0x4, address: 0x80A4A77C static class Symbol _s; // size: 0x4, address: 0x80A4A784 static class Symbol _s; // size: 0x4, address: 0x80A4A78C // Range: 0x800BA454 -> 0x800BB45C class DataNode BandProvider::Handle(class BandProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x58 class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class BandSelectPanel : public UIPanel { // total size: 0x5C }; // Range: 0x800BB45C -> 0x800BB54C void BandSelectPanel::Draw(class BandSelectPanel * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x800BB54C -> 0x800BB584 void BandSelectPanel::Unload(class BandSelectPanel * const this /* r31 */) {} struct { // total size: 0x8 } __RTTI__14RemoteBandData; // size: 0x8, address: 0x8087F118 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ListSlot * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ListSlot * * _M_start; // offset 0x0, size 0x4 class ListSlot * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ListElement : public RndTransformable { // total size: 0x100 class vector mSlots; // offset 0xB8, size 0xC float mFade; // offset 0xC4, size 0x4 }; struct { // total size: 0xAC } __vt__15BandSelectPanel; // size: 0xAC, address: 0x8087F160 struct { // total size: 0x8 } __RTTI__15BandSelectPanel; // size: 0x8, address: 0x8087F240 struct { // total size: 0x9C } __vt__12BandProvider; // size: 0x9C, address: 0x8087F248 struct { // total size: 0x8 } __RTTI__12BandProvider; // size: 0x8, address: 0x8087F310 struct { // total size: 0x8 } __RTTI__6RndTex; // size: 0x8, address: 0x8087F3C8 struct { // total size: 0x8 } __RTTI__14PlayerDiffIcon; // size: 0x8, address: 0x8087F4A0 struct { // total size: 0x8 } __RTTI__12ListAlphable; // size: 0x8, address: 0x8087F4B8 struct { // total size: 0x8 } __RTTI__PP7Profile; // size: 0x8, address: 0x8087F6B0 struct { // total size: 0x8 } __RTTI__PQ212BandProvider9BandEntry; // size: 0x8, address: 0x8087F6D8 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BB584 -> 0x800BBC28 */ // Range: 0x800BB584 -> 0x800BB694 class TourBand * BandProvider::GetBand(const class BandProvider * const this /* r29 */, int pos /* r30 */) { // Local variables class TourBandLocal * band; // r30 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800BB694 -> 0x800BB750 class BandData * BandProvider::GetBandData(class BandProvider * const this /* r29 */, int pos /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800BB750 -> 0x800BB808 unsigned char BandProvider::IsPosCreateBand(const class BandProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800BB808 -> 0x800BB920 void BandProvider::SelectRemoteBand(class BandProvider * const this /* r29 */, int pos /* r30 */) { // Local variables class RemoteBandData * band; // r30 // References // -> class Tour * TheTour; // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__14RemoteBandData; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800BB920 -> 0x800BBA58 int BandProvider::GetDefaultPos(class BandProvider * const this /* r27 */) { // Local variables int firstBandPos; // r31 int lastUsedBandPos; // r30 const class HxGuid * lastUsedBand; // r29 int n; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; } // Range: 0x800BBA58 -> 0x800BBBE4 void BandProvider::InitData(class BandProvider * const this /* r28 */, class RndDir * dir /* r29 */) { // References // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } // Range: 0x800BBBE4 -> 0x800BBC28 static char * ControllerTypeFont() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BBC28 -> 0x800BBC2C */ // Range: 0x800BBC28 -> 0x800BBC2C class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BBC2C -> 0x800BBD4C */ // Range: 0x800BBC2C -> 0x800BBC78 char * MakeString(const char * fmt /* r0 */, class String & t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BBD4C -> 0x800BBD64 */ // Range: 0x800BBD4C -> 0x800BBD64 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\net_band\LeaderboardResults.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BBD64 -> 0x800BBDA4 */ // Range: 0x800BBD64 -> 0x800BBDA4 class OnlineID PresenceResultRow::GetOnlineID(const class PresenceResultRow * const this /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\meta\BandProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BBDA4 -> 0x800BBF7C */ // Range: 0x800BBDA4 -> 0x800BBDE8 class Symbol BandSelectPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800BBDE8 -> 0x800BBF7C void BandSelectPanel::SetType(class BandSelectPanel * const this /* r29 */, class Symbol & BandSelectPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BBF7C -> 0x800BC018 */ // Range: 0x800BBF7C -> 0x800BC018 void _List_base::clear(class _List_base * const this /* r28 */) { // Local variables class _List_node * __cur; // r30 class _List_node * __tmp; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BC018 -> 0x800BC528 */ // Range: 0x800BC018 -> 0x800BC150 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Profile * * __pos /* r28 */, class Profile * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Profile * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Profile; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800BC150 -> 0x800BC3F0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BandEntry * __pos /* r26 */, const struct BandEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BandEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212BandProvider9BandEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800BC3F0 -> 0x800BC528 void vector::_M_insert_overflow(class vector * const this /* r27 */, const class OnlineID * * __pos /* r28 */, const class OnlineID * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 const class OnlineID * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPC8OnlineID; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\BandScreen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BC528 -> 0x800BD524 */ class DataArray * types; // size: 0x4, address: 0x80A4A790 class Symbol name; // size: 0x4, address: 0x80A4A798 class Symbol t; // size: 0x4, address: 0x80A4A7A0 class Symbol t; // size: 0x4, address: 0x80A4A7A8 class Symbol t; // size: 0x4, address: 0x80A4A7B0 static class Message msg; // size: 0x8, address: 0x80977E18 static class Symbol in_transition; // size: 0x4, address: 0x80A4A7B8 // Range: 0x800BC528 -> 0x800BC7E0 void BandScreen::Enter(class BandScreen * const this /* r28 */, class UIScreen * from /* r29 */) { // Local variables const class DataNode * transition; // r0 // References // -> static class Symbol in_transition; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUI * TheBandUI; } static class Message msg; // size: 0x8, address: 0x80977E30 // Range: 0x800BC7E0 -> 0x800BC994 void BandScreen::Exit(class BandScreen * const this /* r29 */, class UIScreen * to /* r30 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUI * TheBandUI; } // Range: 0x800BC994 -> 0x800BC9FC unsigned char BandScreen::InComponentSelect(const class BandScreen * const this /* r31 */) { // Local variables class UIComponent * c; // r0 // References // -> class BandUI * TheBandUI; } // Range: 0x800BC9FC -> 0x800BCA00 class DataNode BandScreen::OnMsg() {} // Range: 0x800BCA00 -> 0x800BCA04 class DataNode BandScreen::OnMsg() {} // Range: 0x800BCA04 -> 0x800BCA08 class DataNode BandScreen::OnMsg() {} // Range: 0x800BCA08 -> 0x800BCA0C class DataNode BandScreen::OnMsg() {} // Range: 0x800BCA0C -> 0x800BCB1C class DataNode BandScreen::OnEventMsgCommon(class BandScreen * const this /* r31 */, const class Message & msg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUI * TheBandUI; } // Range: 0x800BCB1C -> 0x800BCBCC unsigned char BandScreen::IsEventDialogOnTop(const class BandScreen * const this /* r29 */) { // References // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUI * TheBandUI; } // Range: 0x800BCBCC -> 0x800BD524 class DataNode BandScreen::Handle(class BandScreen * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__25UIComponentFocusChangeMsg; // -> class Symbol t; // -> struct [anonymous] __vt__24UIComponentSelectDoneMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0xC } __vt__25UIComponentFocusChangeMsg; // size: 0xC, address: 0x8087F82C struct { // total size: 0x8 } __RTTI__25UIComponentFocusChangeMsg; // size: 0x8, address: 0x8087F860 struct { // total size: 0xC } __vt__24UIComponentSelectDoneMsg; // size: 0xC, address: 0x8087F868 struct { // total size: 0x8 } __RTTI__24UIComponentSelectDoneMsg; // size: 0x8, address: 0x8087F8A0 struct { // total size: 0xC } __vt__20UIComponentSelectMsg; // size: 0xC, address: 0x8087F8A8 struct { // total size: 0x8 } __RTTI__20UIComponentSelectMsg; // size: 0x8, address: 0x8087F8D8 struct { // total size: 0x80 } __vt__10BandScreen; // size: 0x80, address: 0x8087F930 /* Compile unit: C:\rockband2\band2\src\meta\BandScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BD6B0 -> 0x800BD874 */ // Range: 0x800BD6B0 -> 0x800BD830 void BandScreen::SetType(class BandScreen * const this /* r29 */, class Symbol & BandScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x800BD830 -> 0x800BD874 class Symbol BandScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\BandUI.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800BD874 -> 0x800C172C */ class Symbol t; // size: 0x4, address: 0x80A4A7C4 class Symbol t; // size: 0x4, address: 0x80A4A7CC class Symbol t; // size: 0x4, address: 0x80A4A7D4 class Symbol t; // size: 0x4, address: 0x80A4A7DC class Symbol t; // size: 0x4, address: 0x80A4A7E4 class Symbol t; // size: 0x4, address: 0x80A4A7EC class BandUI * TheBandUI; // size: 0x4, address: 0x80A4A7F0 // Range: 0x800BD874 -> 0x800BDBB0 void * BandUI::BandUI(class BandUI * const this /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; // -> class ObjectDir * sMainDir; // -> const char * gNullStr; // -> struct [anonymous] __vt__6BandUI; // -> struct [anonymous] __vt__9MsgSource; // -> struct [anonymous] __vt__6UISink; } // Range: 0x800BDBB0 -> 0x800BDD08 void * BandUI::~BandUI(class BandUI * const this /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; // -> const char * gNullStr; // -> struct [anonymous] __vt__6BandUI; } // Range: 0x800BDD08 -> 0x800BDE50 static class UIPanel * FindPanel(const char * name /* r28 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; } // Range: 0x800BDE50 -> 0x800BDEDC void BandUI::InitPanels(class BandUI * const this /* r30 */) {} static class Timer * _t; // size: 0x4, address: 0x80A4A7F4 // Range: 0x800BDEDC -> 0x800BE1C0 void BandUI::Draw(class BandUI * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC int heightFrame; // r0 // References // -> class NetworkBusyPanel * sInstance; // -> class HelpBarPanel * sInstance; // -> class UIManager TheUI; // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A4A7FC static class Symbol is_faded_in; // size: 0x4, address: 0x80A4A804 static class Message msg; // size: 0x8, address: 0x80977E48 // Range: 0x800BE1C0 -> 0x800BE520 void BandUI::Poll(class BandUI * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0x14 unsigned char bFadedIn; // r0 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol is_faded_in; // -> class UIManager TheUI; // -> static class Timer * _t; } // Range: 0x800BE520 -> 0x800BE52C void BandUI::HideEvent() {} static class Message msg; // size: 0x8, address: 0x80977E60 // Range: 0x800BE52C -> 0x800BE710 unsigned char BandUI::ShowEvent() { // Local variables class DataNode n; // r1+0x20 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class UIManager TheUI; } // Range: 0x800BE710 -> 0x800BE718 unsigned char BandUI::IsBlockingTransition() { // References // -> class NetSync * TheNetSync; } static class Message init; // size: 0x8, address: 0x80977E78 static class Symbol data_error; // size: 0x4, address: 0x80A4A80C // Range: 0x800BE718 -> 0x800BEA10 class DataNode BandUI::OnContentFileReadFailed(class BandUI * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables unsigned char corrupt; // r0 // References // -> static class Symbol data_error; // -> const char * gNullStr; // -> static class Message init; // -> struct [anonymous] __vt__7Message; } static class Symbol disband; // size: 0x4, address: 0x80A4A814 static class Message init; // size: 0x8, address: 0x80977E90 // Range: 0x800BEA10 -> 0x800BEDF8 class DataNode BandUI::OnMsg(class BandUI * const this /* r29 */, const class RemotePlayerLeftMsg & msg /* r30 */) { // Local variables unsigned char in_transition; // r0 int leaderNum; // r25 // References // -> class GameMode * TheGameMode; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol disband; // -> class SessionMgr * TheSessionMgr; // -> class Net TheNet; // -> class NetSync * TheNetSync; } class BandEventDismissMsg : public Message { // total size: 0x8 }; static class BandEventDismissMsg dismiss_msg; // size: 0x8, address: 0x80977EA8 static class Message msg; // size: 0x8, address: 0x80977EC0 static class DataArrayPtr are_all_mics_connected; // size: 0x8, address: 0x80977ED8 static class Message on_mics_ok; // size: 0x8, address: 0x80977EF0 static class Symbol mic_lost; // size: 0x4, address: 0x80A4A820 static class Message on_controllers_ok; // size: 0x8, address: 0x80977F08 // Range: 0x800BEDF8 -> 0x800BF400 void BandUI::DismissEvent(class BandUI * const this /* r28 */) { // References // -> static class Message on_controllers_ok; // -> class InputMgr * TheInputMgr; // -> static class Symbol mic_lost; // -> static class Message on_mics_ok; // -> static class DataArrayPtr are_all_mics_connected; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class Game * TheGame; // -> class UIManager TheUI; // -> static class Message msg; // -> struct [anonymous] __vt__19BandEventDismissMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class BandEventDismissMsg dismiss_msg; } static class Message msg; // size: 0x8, address: 0x80977F20 static class Symbol allow_override; // size: 0x4, address: 0x80A4A828 static class Symbol events; // size: 0x4, address: 0x80A4A830 static class Message init_msg; // size: 0x8, address: 0x80977F38 class BandEventStartMsg : public Message { // total size: 0x8 }; static class BandEventStartMsg msg; // size: 0x8, address: 0x80977F50 // Range: 0x800BF400 -> 0x800BFA90 void BandUI::TriggerEvent(class BandUI * const this /* r26 */, class Symbol & event /* r27 */, class DataArray * custom_init /* r28 */) { // Local variables class UIScreen * screen; // r29 class DataNode n; // r1+0x78 class DataArray * t; // r0 // References // -> struct [anonymous] __vt__17BandEventStartMsg; // -> class Symbol t; // -> static class BandEventStartMsg msg; // -> static class Message init_msg; // -> static class Symbol events; // -> static class Symbol allow_override; // -> class NetSync * TheNetSync; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class UIManager TheUI; } // Range: 0x800BFA90 -> 0x800BFAA4 unsigned char BandUI::HasEvent() {} // Range: 0x800BFAA4 -> 0x800BFB0C class Symbol BandUI::CurrentEvent() { // References // -> const char * gNullStr; } // Range: 0x800BFB0C -> 0x800BFCA4 class DataNode BandUI::OnMsg(class BandUI * const this /* r28 */, const class UITransitionCompleteMsg & msg /* r29 */) { // Local variables const class DataNode * prop; // r0 // References // -> class UIManager TheUI; // -> class HelpBarPanel * sInstance; // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; } class VerifyBuildVersionMsg : public NetMessage { // total size: 0x10 class String mVersion; // offset 0x4, size 0xC }; // Range: 0x800BFCA4 -> 0x800BFD28 class DataNode BandUI::OnMsg() { // Local variables class VerifyBuildVersionMsg versionMsg; // r1+0x8 // References // -> class NetSession * TheNetSession; } static class Message init; // size: 0x8, address: 0x80977F68 static class Symbol lost_connection; // size: 0x4, address: 0x80A4A838 // Range: 0x800BFD88 -> 0x800C00A4 class DataNode BandUI::OnMsg(class BandUI * const this /* r30 */) { // References // -> class RockCentralGateway RockCentral; // -> static class Symbol lost_connection; // -> class PlatformMgr ThePlatformMgr; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; } static class Symbol disk_error; // size: 0x4, address: 0x80A4A840 // Range: 0x800C00A4 -> 0x800C0184 class DataNode BandUI::OnMsg(class BandUI * const this /* r30 */) { // References // -> static class Symbol disk_error; // -> class GameMode * TheGameMode; // -> class Net TheNet; } static class Message init; // size: 0x8, address: 0x80977F80 static class Symbol invite_accepted; // size: 0x4, address: 0x80A4A848 // Range: 0x800C0184 -> 0x800C04C4 class DataNode BandUI::OnMsg(class BandUI * const this /* r30 */, const class InviteAcceptedMsg & msg /* r31 */) { // Local variables class Profile * profile; // r28 // References // -> static class Symbol invite_accepted; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> class ProfileMgr TheProfileMgr; } // Range: 0x800C04C4 -> 0x800C0570 class DataNode BandUI::OnTriggerEvent(class BandUI * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables class Symbol t; // r1+0x14 class DataArray * init; // r5 } static class Symbol error_abandoned; // size: 0x4, address: 0x80A4A850 // Range: 0x800C0570 -> 0x800C05C4 void BandUI::ResetDisband(class BandUI * const this /* r31 */) { // References // -> static class Symbol error_abandoned; } static class Symbol is_tour; // size: 0x4, address: 0x80A4A858 static class Symbol sign_out; // size: 0x4, address: 0x80A4A860 static class Message init; // size: 0x8, address: 0x80977F98 static class Symbol disband; // size: 0x4, address: 0x80A4A868 static class Message init; // size: 0x8, address: 0x80977FB0 // Range: 0x800C05C4 -> 0x800C0AA4 void BandUI::TriggerDisbandIfNecessary(unsigned char leaderLeft /* r29 */, unsigned char signout /* r27 */) { // Local variables unsigned char triggerDisband; // r28 class TourBand * pBand; // r0 // References // -> static class Message init; // -> static class Symbol disband; // -> class BandUI * TheBandUI; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol sign_out; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> class Tour * TheTour; } static class Symbol _s; // size: 0x4, address: 0x80A4A870 static class Symbol _s; // size: 0x4, address: 0x80A4A878 static class Symbol _s; // size: 0x4, address: 0x80A4A880 static class Symbol _s; // size: 0x4, address: 0x80A4A888 static class Symbol _s; // size: 0x4, address: 0x80A4A890 static class Symbol _s; // size: 0x4, address: 0x80A4A898 static class Symbol _s; // size: 0x4, address: 0x80A4A8A0 static class Symbol _s; // size: 0x4, address: 0x80A4A8A8 // Range: 0x800C0AA4 -> 0x800C1394 class DataNode BandUI::Handle(class BandUI * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode _n; // r1+0x78 class DataNode _n; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class DebugNotifier TheDebugNotifier; // -> class InputMgr * TheInputMgr; // -> class NetSync * TheNetSync; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4A8B0 static class Symbol _s; // size: 0x4, address: 0x80A4A8B8 static class Symbol _s; // size: 0x4, address: 0x80A4A8C0 // Range: 0x800C1394 -> 0x800C172C unsigned char BandUI::SyncProperty(class BandUI * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xC } __vt__23ProcessedJoinRequestMsg; // size: 0xC, address: 0x8087FE98 struct { // total size: 0x8 } __RTTI__23ProcessedJoinRequestMsg; // size: 0x8, address: 0x8087FED0 struct { // total size: 0x84 } __vt__6BandUI; // size: 0x84, address: 0x8087FED8 struct { // total size: 0x8 } __RTTI__6BandUI; // size: 0x8, address: 0x8087FF88 struct { // total size: 0xC } __vt__19BandEventDismissMsg; // size: 0xC, address: 0x8087FF90 struct { // total size: 0x8 } __RTTI__19BandEventDismissMsg; // size: 0x8, address: 0x8087FFC0 struct { // total size: 0xC } __vt__17BandEventStartMsg; // size: 0xC, address: 0x8087FFC8 struct { // total size: 0x8 } __RTTI__17BandEventStartMsg; // size: 0x8, address: 0x8087FFF8 struct { // total size: 0xC } __vt__26ConnectionStatusChangedMsg; // size: 0xC, address: 0x80880000 struct { // total size: 0x8 } __RTTI__26ConnectionStatusChangedMsg; // size: 0x8, address: 0x80880038 struct { // total size: 0xC } __vt__17InviteAcceptedMsg; // size: 0xC, address: 0x80880040 struct { // total size: 0x8 } __RTTI__17InviteAcceptedMsg; // size: 0x8, address: 0x80880070 struct { // total size: 0xC } __vt__12DiskErrorMsg; // size: 0xC, address: 0x80880078 struct { // total size: 0x8 } __RTTI__12DiskErrorMsg; // size: 0x8, address: 0x808800A0 struct { // total size: 0x64 } __vt__6UISink; // size: 0x64, address: 0x808800A8 struct { // total size: 0x8 } __RTTI__6UISink; // size: 0x8, address: 0x80880128 class NetworkBusyPanel : public UIPanel { // total size: 0xA8 unsigned char mBusy; // offset 0x30, size 0x1 class Timer mTimer; // offset 0x38, size 0x38 int mMinDuration; // offset 0x70, size 0x4 class RndGroup * mHeightGroup; // offset 0x74, size 0x4 }; class HelpBarWidget { // total size: 0x48 protected: class RndGroup * mGroup; // offset 0x0, size 0x4 class UILabel * mText; // offset 0x4, size 0x4 class UILabel * mIcons[3]; // offset 0x8, size 0xC class RndAnimatable * mInAnim; // offset 0x14, size 0x4 class RndAnimatable * mUpdateAnim; // offset 0x18, size 0x4 int mDesInFrame; // offset 0x1C, size 0x4 int mCurInFrame; // offset 0x20, size 0x4 int mDesUpFrame; // offset 0x24, size 0x4 int mCurUpFrame; // offset 0x28, size 0x4 unsigned char mShowing; // offset 0x2C, size 0x1 class Symbol mCachedText; // offset 0x30, size 0x4 class Symbol mCachedAlt; // offset 0x34, size 0x4 class Symbol mUpdateText; // offset 0x38, size 0x4 class Symbol mAltText; // offset 0x3C, size 0x4 int mAltCountdown; // offset 0x40, size 0x4 unsigned char mHasIcons; // offset 0x44, size 0x1 }; class InputStatusChangedMsg : public Message { // total size: 0x8 }; enum WidgetId { kHBPCancel = 0, kHBPStateConfirm = 1, kHBPConfirm = 2, kHBPFirstFatBarWidget = 3, kHBPViewModify = 3, kHBPOption = 4, kHBPOption1 = 5, kHBPOption2 = 6, kHBPFirstNonBarWidget = 7, kHBPWaiting = 7, kHBPStart = 8, kHBPNumWidgets = 9, kHBPMinHeight = 9, kHBPNoDrum = 10, kHBPNoVocal = 11, kHBPNoGuitar = 12, }; class HelpBarPanel : public UIPanel { // total size: 0x34C public: unsigned char mConfigWasSet; // offset 0x30, size 0x1 private: class HelpBarWidget mWidgets[9]; // offset 0x34, size 0x288 float mWidgetXPos[9]; // offset 0x2BC, size 0x24 class RndGroup * mHeightGroup; // offset 0x2E0, size 0x4 int mDesiredHeightFrame; // offset 0x2E4, size 0x4 int mHeightFrame; // offset 0x2E8, size 0x4 unsigned char mConsiderHeight; // offset 0x2EC, size 0x1 unsigned char mUpdateIcons; // offset 0x2ED, size 0x1 int mMinHeight; // offset 0x2F0, size 0x4 unsigned char mFirstUsed; // offset 0x2F4, size 0x1 float mDesPanelAlpha; // offset 0x2F8, size 0x4 float mCurPanelAlpha; // offset 0x2FC, size 0x4 class RndAnimatable * mPanelAlphaAnim; // offset 0x300, size 0x4 unsigned char mAllowDrumIcon; // offset 0x304, size 0x1 unsigned char mAllowVocalIcon; // offset 0x305, size 0x1 unsigned char mAllowGuitarIcon; // offset 0x306, size 0x1 int mGuitarIconWidth; // offset 0x308, size 0x4 int mDrumIconWidth; // offset 0x30C, size 0x4 int mVocalIconWidth; // offset 0x310, size 0x4 int mStartIconWidth; // offset 0x314, size 0x4 int mOptionIconWidth; // offset 0x318, size 0x4 int mLabelSpace; // offset 0x31C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class NetSearchResult * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class NetSearchResult * * _M_start; // offset 0x0, size 0x4 class NetSearchResult * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SessionSearcher : public MsgSource { // total size: 0x60 protected: class NetSearchResult * mLastInviteResult; // offset 0x1C, size 0x4 private: unsigned char mSearching; // offset 0x20, size 0x1 class vector mSearchList; // offset 0x24, size 0xC int mNextResult; // offset 0x30, size 0x4 }; /* Compile unit: C:\rockband2\system\src\ui\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800C1AB8 -> 0x800C1B28 */ // Range: 0x800C1AB8 -> 0x800C1AFC class Symbol UITransitionCompleteMsg::Type() { // References // -> class Symbol t; } // Range: 0x800C1AFC -> 0x800C1B28 void * UITransitionCompleteMsg::UITransitionCompleteMsg() { // References // -> struct [anonymous] __vt__23UITransitionCompleteMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800C1B28 -> 0x800C1B98 */ // Range: 0x800C1B28 -> 0x800C1B6C class Symbol ProcessedJoinRequestMsg::Type() { // References // -> class Symbol t; } // Range: 0x800C1B6C -> 0x800C1B98 void * ProcessedJoinRequestMsg::ProcessedJoinRequestMsg() { // References // -> struct [anonymous] __vt__23ProcessedJoinRequestMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800C1B98 -> 0x800C1CE8 */ // Range: 0x800C1B98 -> 0x800C1BDC class Symbol InviteAcceptedMsg::Type() { // References // -> class Symbol t; } // Range: 0x800C1BDC -> 0x800C1C08 void * InviteAcceptedMsg::InviteAcceptedMsg() { // References // -> struct [anonymous] __vt__17InviteAcceptedMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800C1C08 -> 0x800C1C4C class Symbol ConnectionStatusChangedMsg::Type() { // References // -> class Symbol t; } // Range: 0x800C1C4C -> 0x800C1C78 void * ConnectionStatusChangedMsg::ConnectionStatusChangedMsg() { // References // -> struct [anonymous] __vt__26ConnectionStatusChangedMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800C1C78 -> 0x800C1CBC class Symbol DiskErrorMsg::Type() { // References // -> class Symbol t; } // Range: 0x800C1CBC -> 0x800C1CE8 void * DiskErrorMsg::DiskErrorMsg() { // References // -> struct [anonymous] __vt__12DiskErrorMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\ui\UI.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800C1CE8 -> 0x800C1CF0 */ // Range: 0x800C1CE8 -> 0x800C1CF0 unsigned char UISink::IsBlockingTransition() {} /* Compile unit: C:\rockband2\band2\src\meta\CalibrationPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800C1D78 -> 0x800C8088 */ class Symbol t; // size: 0x4, address: 0x80A4A8CC class DataArray * types; // size: 0x4, address: 0x80A4A8D0 class Symbol name; // size: 0x4, address: 0x80A4A8D8 float kAnimPerceptualOffset; // size: 0x4, address: 0x80A58AA0 float kLoopPerceptualOffset; // size: 0x4, address: 0x80A56440 enum TestState { tsIdle = 0, tsPreRoll = 1, tsTesting = 2, tsPostTest = 3, }; class CalibrationPanel : public UIPanel { // total size: 0x110 float mCycleTime; // offset 0x30, size 0x4 class Stream * mStream; // offset 0x34, size 0x4 class Fader * mFader; // offset 0x38, size 0x4 unsigned char mStartASAP; // offset 0x3C, size 0x1 class vector mTestSamples; // offset 0x40, size 0xC unsigned char mHalfOffAnim; // offset 0x4C, size 0x1 unsigned char mEnableVideo; // offset 0x4D, size 0x1 int mNumHits; // offset 0x50, size 0x4 unsigned char mEnableAudio; // offset 0x54, size 0x1 float mLastStreamMs; // offset 0x58, size 0x4 enum TestState mTestState; // offset 0x5C, size 0x4 float mPrevFrame; // offset 0x60, size 0x4 unsigned char mHardwareMode; // offset 0x64, size 0x1 float mAnimCycleFrames; // offset 0x68, size 0x4 int mAnimNumCycles; // offset 0x6C, size 0x4 int mMaxSlack; // offset 0x70, size 0x4 float mRestingFrame; // offset 0x74, size 0x4 int mStartRep; // offset 0x78, size 0x4 float mPostTestStartTime; // offset 0x7C, size 0x4 float mVolDb; // offset 0x80, size 0x4 int mShowNumTimes; // offset 0x84, size 0x4 float mAccel; // offset 0x88, size 0x4 int mTimeOutRep; // offset 0x8C, size 0x4 float mPrevLX; // offset 0x90, size 0x4 float mPrevLY; // offset 0x94, size 0x4 int mPad; // offset 0x98, size 0x4 int mUserNum; // offset 0x9C, size 0x4 unsigned char mAllowGreenButton; // offset 0xA0, size 0x1 float mXV[5]; // offset 0xA4, size 0x14 float mYV[5]; // offset 0xB8, size 0x14 unsigned char mVibrationEnabled; // offset 0xCC, size 0x1 float mLastTime; // offset 0xD0, size 0x4 float mSensorSigma; // offset 0xD4, size 0x4 float mSensorDeltaPeakFollow; // offset 0xD8, size 0x4 int mTopOutliers; // offset 0xDC, size 0x4 int mBottomOutliers; // offset 0xE0, size 0x4 }; // Range: 0x800C1D78 -> 0x800C1E90 void * CalibrationPanel::CalibrationPanel(class CalibrationPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__16CalibrationPanel; } // Range: 0x800C1E90 -> 0x800C1FC0 void * CalibrationPanel::~CalibrationPanel(class CalibrationPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__16CalibrationPanel; } // Range: 0x800C1FC0 -> 0x800C2080 void CalibrationPanel::Poll(class CalibrationPanel * const this /* r31 */) {} // Range: 0x800C2080 -> 0x800C243C void CalibrationPanel::UpdateAnimation(class CalibrationPanel * const this /* r31 */) { // Local variables float fAudioSyncTime; // f0 float fAudioSyncTime; // f0 float frame; // f31 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x800C243C -> 0x800C25D8 float CalibrationPanel::HandlePreAndPostTestAnim(class CalibrationPanel * const this /* r31 */, float frame /* f31 */) { // Local variables int i; // r5 float stopFrame; // f2 } // Range: 0x800C25D8 -> 0x800C2C94 void CalibrationPanel::UpdateLabel(class CalibrationPanel * const this /* r29 */) { // Local variables float audioCycleTime; // f0 int nRep; // r0 char str[512]; // r1+0x28 int countoff; // r0 // References // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; } // Range: 0x800C2C94 -> 0x800C2F90 void CalibrationPanel::UpdateProgress(class CalibrationPanel * const this /* r31 */, unsigned char bFilter /* r25 */) { // Local variables float progress; // r31 float fFilterOut; // f31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x800C2F90 -> 0x800C2F94 void CalibrationPanel::Draw() {} // Range: 0x800C2F94 -> 0x800C3048 void CalibrationPanel::UpdateStream(class CalibrationPanel * const this /* r31 */) {} static class Symbol G; // size: 0x4, address: 0x80A4A8E0 static class Symbol A; // size: 0x4, address: 0x80A4A8E8 static class Symbol cal_video_desc_guitar; // size: 0x4, address: 0x80A4A8F0 static class Symbol cal_video_desc_drum; // size: 0x4, address: 0x80A4A8F8 static class Symbol cal_video_desc_pad; // size: 0x4, address: 0x80A4A900 static class Symbol cal_video_desc_calbert; // size: 0x4, address: 0x80A4A908 static class Symbol cal_audio_desc_guitar; // size: 0x4, address: 0x80A4A910 static class Symbol cal_audio_desc_drum; // size: 0x4, address: 0x80A4A918 static class Symbol cal_audio_desc_pad; // size: 0x4, address: 0x80A4A920 static class Symbol cal_audio_desc_calbert; // size: 0x4, address: 0x80A4A928 static class Symbol cal_hw_audio_title; // size: 0x4, address: 0x80A4A930 static class Symbol cal_hw_video_title; // size: 0x4, address: 0x80A4A938 static class Symbol cal_audio_title; // size: 0x4, address: 0x80A4A940 static class Symbol cal_video_title; // size: 0x4, address: 0x80A4A948 static class Symbol one; // size: 0x4, address: 0x80A4A950 // Range: 0x800C3048 -> 0x800C4514 class DataNode CalibrationPanel::OnInitializeContent(class CalibrationPanel * const this /* r29 */) { // Local variables class BandUser * user; // r0 enum ControllerType controllerType; // r30 const char * streamFile; // r25 // References // -> class Synth * TheSynth; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> struct [anonymous] __RTTI__8RndGroup; // -> struct [anonymous] __RTTI__7UILabel; // -> static class Symbol one; // -> static class Symbol cal_video_title; // -> static class Symbol cal_audio_title; // -> static class Symbol cal_hw_video_title; // -> static class Symbol cal_hw_audio_title; // -> static class Symbol cal_audio_desc_calbert; // -> static class Symbol cal_audio_desc_pad; // -> static class Symbol cal_audio_desc_drum; // -> static class Symbol cal_audio_desc_guitar; // -> static class Symbol cal_video_desc_calbert; // -> static class Symbol cal_video_desc_pad; // -> static class Symbol cal_video_desc_drum; // -> static class Symbol cal_video_desc_guitar; // -> static class Symbol A; // -> static class Symbol G; // -> class InputMgr * TheInputMgr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x800C4514 -> 0x800C45BC void CalibrationPanel::StartAudio(class CalibrationPanel * const this /* r31 */) {} // Range: 0x800C45BC -> 0x800C45E4 void CalibrationPanel::StopAudio() {} static class DataNode & cal_num_hits; // size: 0x4, address: 0x80A4A958 static class DataNode & cal_num_outliers; // size: 0x4, address: 0x80A4A960 // Range: 0x800C45E4 -> 0x800C4910 class DataNode CalibrationPanel::OnStartTest(class CalibrationPanel * const this /* r31 */, class DataArray * msg /* r26 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> static class DataNode & cal_num_outliers; // -> static class DataNode & cal_num_hits; } // Range: 0x800C4910 -> 0x800C494C void CalibrationPanel::PrepareHwCalibrationState() {} // Range: 0x800C494C -> 0x800C4994 void CalibrationPanel::TerminateHwCalibrationState(class CalibrationPanel * const this /* r31 */) {} // Range: 0x800C4994 -> 0x800C59C0 void CalibrationPanel::InitializeVisuals(class CalibrationPanel * const this /* r29 */) { // Local variables class BandUser * user; // r0 enum ControllerType controllerType; // r30 // References // -> struct [anonymous] __RTTI__7RndMesh; // -> class InputMgr * TheInputMgr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x800C59C0 -> 0x800C5B48 void CalibrationPanel::EndTest(class CalibrationPanel * const this /* r31 */) { // Local variables int i; // r30 int i; // r30 // References // -> class Debug TheDebug; } // Range: 0x800C5B48 -> 0x800C5C20 class RndGroup * CalibrationPanel::GetAnimation() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x800C5C20 -> 0x800C5CB0 float CalibrationPanel::GetAudioTimeMs(const class CalibrationPanel * const this /* r31 */) { // Local variables float offset; // f31 // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x800C5CB0 -> 0x800C5D00 class DataNode CalibrationPanel::OnMsg(class CalibrationPanel * const this /* r31 */) {} // Range: 0x800C5D00 -> 0x800C5EA8 class DataNode CalibrationPanel::OnMsg(class CalibrationPanel * const this /* r26 */, const class ButtonDownMsg & msg /* r27 */) { // Local variables unsigned char bTestButton; // r28 } static class DataNode & trace_sensors; // size: 0x4, address: 0x80A4A968 // Range: 0x800C5EA8 -> 0x800C6064 void CalibrationPanel::ScanHardwareModeInputs(class CalibrationPanel * const this /* r30 */) { // Local variables float LX; // f31 float sensorDelta; // f30 float peakFollowDelta; // f0 // References // -> static class DataNode & trace_sensors; } // Range: 0x800C6064 -> 0x800C62E4 void CalibrationPanel::TriggerCalibration(class CalibrationPanel * const this /* r31 */, int nPadNum /* r29 */) { // Local variables float fTime; // r1+0xC float fRawTime; // f0 float fNeutral; // f31 class BandUser * user; // r0 enum ControllerType controllerType; // r4 // References // -> float kLoopPerceptualOffset; // -> float kAnimPerceptualOffset; // -> class InputMgr * TheInputMgr; // -> class ProfileMgr TheProfileMgr; } // Range: 0x800C62E4 -> 0x800C64B8 int CalibrationPanel::GetAverageTestTime(class CalibrationPanel * const this /* r30 */) { // Local variables float fAvg; // f31 int i; // r29 float fResult; // f31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800C64B8 -> 0x800C6508 int CalibrationPanel::GetTestRep(const class CalibrationPanel * const this /* r31 */) { // Local variables int nRawRep; // r3 } // Range: 0x800C6508 -> 0x800C65C4 float CalibrationPanel::GetSampleSpread(const class CalibrationPanel * const this /* r31 */) { // Local variables float fMin; // f0 float fMax; // f1 float fSpread; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800C65C4 -> 0x800C66BC unsigned char CalibrationPanel::GetTestQuality(const class CalibrationPanel * const this /* r31 */) { // Local variables unsigned char bGoodQuality; // r30 int i; // r29 // References // -> class Debug TheDebug; } // Range: 0x800C66BC -> 0x800C66D0 unsigned char CalibrationPanel::GetIsProcessingInput() {} // Range: 0x800C66D0 -> 0x800C6714 float CalibrationPanel::ReshapeTime() { // Local variables float x; // f3 float y; // f3 } // Range: 0x800C6714 -> 0x800C675C void CalibrationPanel::Enter(class CalibrationPanel * const this /* r31 */) { // References // -> class Rnd & TheRnd; } // Range: 0x800C675C -> 0x800C6818 void CalibrationPanel::Exit(class CalibrationPanel * const this /* r31 */) { // References // -> class Rnd & TheRnd; } static class Symbol _s; // size: 0x4, address: 0x80A4A970 static class Symbol _s; // size: 0x4, address: 0x80A4A978 static class Symbol _s; // size: 0x4, address: 0x80A4A980 static class Symbol _s; // size: 0x4, address: 0x80A4A988 static class Symbol _s; // size: 0x4, address: 0x80A4A990 // Range: 0x800C6818 -> 0x800C7374 class DataNode CalibrationPanel::Handle(class CalibrationPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x44 class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> class Symbol t; // -> struct [anonymous] __vt__19JoypadConnectionMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4A998 static class Symbol _s; // size: 0x4, address: 0x80A4A9A0 static class Symbol _s; // size: 0x4, address: 0x80A4A9A8 static class Symbol _s; // size: 0x4, address: 0x80A4A9B0 static class Symbol _s; // size: 0x4, address: 0x80A4A9B8 static class Symbol _s; // size: 0x4, address: 0x80A4A9C0 static class Symbol _s; // size: 0x4, address: 0x80A4A9C8 static class Symbol _s; // size: 0x4, address: 0x80A4A9D0 static class Symbol _s; // size: 0x4, address: 0x80A4A9D8 static class Symbol _s; // size: 0x4, address: 0x80A4A9E0 static class Symbol _s; // size: 0x4, address: 0x80A4A9E8 static class Symbol _s; // size: 0x4, address: 0x80A4A9F0 static class Symbol _s; // size: 0x4, address: 0x80A4A9F8 // Range: 0x800C7374 -> 0x800C8088 unsigned char CalibrationPanel::SyncProperty(class CalibrationPanel * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__12RndTransAnim; // size: 0x8, address: 0x80880AA0 struct { // total size: 0x8 } __RTTI__7UILabel; // size: 0x8, address: 0x80880AF0 struct { // total size: 0xB0 } __vt__16CalibrationPanel; // size: 0xB0, address: 0x80880CA0 struct { // total size: 0x8 } __RTTI__16CalibrationPanel; // size: 0x8, address: 0x80880D80 struct { // total size: 0xC } __vt__19JoypadConnectionMsg; // size: 0xC, address: 0x80880D88 struct { // total size: 0x8 } __RTTI__19JoypadConnectionMsg; // size: 0x8, address: 0x80880DB8 /* Compile unit: C:\rockband2\band2\src\meta\CalibrationPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800C81AC -> 0x800C8384 */ // Range: 0x800C81AC -> 0x800C81F0 class Symbol CalibrationPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800C81F0 -> 0x800C8384 void CalibrationPanel::SetType(class CalibrationPanel * const this /* r29 */, class Symbol & CalibrationPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\CharCache.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800C8384 -> 0x800CF38C */ class CharCache * TheCharCache; // size: 0x4, address: 0x80A4AA00 static class RndTex * sTexture; // size: 0x4, address: 0x80A4AA04 // Range: 0x800C8384 -> 0x800C83E0 unsigned char CharEntry::Match() {} class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class FileCacheEntry * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class FileCacheEntry * * _M_start; // offset 0x0, size 0x4 class FileCacheEntry * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class FileCache { // total size: 0x14 protected: int mMaxSize; // offset 0x0, size 0x4 unsigned char mTryClear; // offset 0x4, size 0x1 class vector mEntries; // offset 0x8, size 0xC }; // Range: 0x800C83E0 -> 0x800C8430 void CharCache::Init() { // References // -> class ObjectDir * sMainDir; // -> class CharCache * TheCharCache; } class FilePathTracker { // total size: 0xC protected: class FilePath mOldRoot; // offset 0x0, size 0xC }; // Range: 0x800C8430 -> 0x800C86B8 void * CharCache::CharCache(class CharCache * const this /* r28 */) { // Local variables int i; // r30 class FilePathTracker _fptracker; // r1+0x58 // References // -> struct [anonymous] __vt__9CharCache; } class _List_node : public _List_node_base { // total size: 0xC public: class RndTex * _M_data; // offset 0x8, size 0x4 }; // Range: 0x800C86B8 -> 0x800C92BC void * CharCache::~CharCache(class CharCache * const this /* r28 */) { // Local variables int i; // r30 // References // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> struct [anonymous] __vt__31ObjDirPtr<18CompositeCharacter>; // -> struct [anonymous] __vt__39ObjPtr<18CompositeCharacter,9ObjectDir>; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> struct [anonymous] __vt__9CharCache; } // Range: 0x800C92BC -> 0x800C937C void CharCache::CacheDefaults(class CharCache * const this /* r28 */, int priority /* r29 */) { // Local variables int gender; // r31 char * genders[2]; // r1+0x8 int instrument; // r30 char * insts[3]; // r1+0x10 } // Range: 0x800C937C -> 0x800C94A0 void CharCache::LoadingDraw(class CharCache * const this /* r30 */) { // Local variables class CompositeCharacter * c; // r31 class RndTex * t; // r31 // References // -> static class RndTex * sTexture; // -> class Debug TheDebug; } static class Symbol none; // size: 0x4, address: 0x80A4AA0C static class Symbol guitar; // size: 0x4, address: 0x80A4AA14 static class Symbol vocals; // size: 0x4, address: 0x80A4AA1C static class Symbol bass; // size: 0x4, address: 0x80A4AA24 static class Symbol drum; // size: 0x4, address: 0x80A4AA2C static class Symbol mic; // size: 0x4, address: 0x80A4AA34 static class Symbol feet; // size: 0x4, address: 0x80A4AA3C static class Symbol torso; // size: 0x4, address: 0x80A4AA44 static class Symbol legs; // size: 0x4, address: 0x80A4AA4C // Range: 0x800C94A0 -> 0x800C9A70 void CharCache::CachePrefab(class CharCache * const this /* r25 */, const class DataArray * prefab /* r28 */, class Symbol & inst /* r26 */, int priority /* r27 */) { // Local variables class DataArray * outfit; // r29 int i; // r28 class FilePath p; // r1+0x78 char buffer[256]; // r1+0x188 class FilePath p; // r1+0x6C char base[256]; // r1+0x88 class FilePath p; // r1+0x60 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol legs; // -> static class Symbol torso; // -> static class Symbol feet; // -> static class Symbol mic; // -> static class Symbol drum; // -> static class Symbol bass; // -> static class Symbol vocals; // -> static class Symbol guitar; // -> static class Symbol none; } // Range: 0x800C9A70 -> 0x800C9AE4 class Symbol CharCache::Singular() { // Local variables char buffer[256]; // r1+0x10 } // Range: 0x800C9AE4 -> 0x800C9BDC void CharCache::CacheBodyAndClips(class CharCache * const this /* r27 */, const char * gender /* r29 */, int priority /* r28 */) { // Local variables class Symbol instrument; // r1+0x14 class FilePath p; // r1+0x24 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } static class Symbol none; // size: 0x4, address: 0x80A4AA54 static class Symbol male; // size: 0x4, address: 0x80A4AA5C static class Symbol female; // size: 0x4, address: 0x80A4AA64 static class Symbol characters; // size: 0x4, address: 0x80A4AA6C static class Symbol creator; // size: 0x4, address: 0x80A4AA74 static class Symbol male; // size: 0x4, address: 0x80A4AA7C static class Symbol female; // size: 0x4, address: 0x80A4AA84 static class DataArray * cc; // size: 0x4, address: 0x80A4AA88 // Range: 0x800C9BDC -> 0x800CA174 unsigned char CharCache::CacheChar(class CharCache * const this /* r26 */, int player /* r27 */, const class DataArray * * chars /* r23 */, int numChars /* r24 */, int which /* r25 */, int priority /* r28 */) { // Local variables class BandUser * pUser; // r30 class Symbol inst; // r1+0x54 enum ControllerType ct; // r0 const char * name; // r29 struct CharEntry * e; // r29 class Symbol g; // r1+0x50 const class DataArray * fab; // r0 class DataArray * fab; // r0 class vector users; // r1+0x58 class CharData * cd; // r27 // References // -> const char * gNullStr; // -> class GameConfig * TheGameConfig; // -> static class DataArray * cc; // -> static class Symbol female; // -> static class Symbol male; // -> static class Symbol creator; // -> static class Symbol characters; // -> class CharCreatorPanel * TheCharCreatorPanel; // -> static class Symbol female; // -> static class Symbol male; // -> static class Symbol none; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800CA174 -> 0x800CA384 void CharCache::UpdateCache(class CharCache * const this /* r27 */) { // Local variables const class vector & users; // r0 int playerNum; // r30 class BandUser * const * it; // r29 const class BandUser * user; // r26 class Profile * p; // r25 int num; // r0 class DataArray * chars[32]; // r1+0x8 int numChars; // r28 int i; // r24 const class CharData * cd; // r3 const class DataArray * arr; // r0 int which; // r24 int last; // r0 int dir; // r0 int i; // r25 // References // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800CA384 -> 0x800CA38C class vector & CharCache::SavedPlayers() {} // Range: 0x800CA38C -> 0x800CAC8C void CharCache::Request(class CharCache * const this /* r27 */, int user_num /* r30 */, enum ControllerType ct /* r28 */, const class CharData * char_data /* r29 */, unsigned char force /* r26 */) { // Local variables class Symbol instrument; // r1+0x44 const class DataArray * prefab; // r25 struct CharEntry * e; // r30 class Symbol gender; // r1+0x40 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> const char * gNullStr; // -> struct [anonymous] __RTTI__10PrefabChar; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__14TourCharRemote; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800CAC8C -> 0x800CACF0 void CharCache::SetWorldNames(const char * worldName /* r30 */) {} // Range: 0x800CACF0 -> 0x800CAD08 void CharCache::SetTrack() {} // Range: 0x800CAD08 -> 0x800CAD1C class Symbol CharCache::GetTrack() {} // Range: 0x800CAD1C -> 0x800CAE14 void CharCache::Free(class CharCache * const this /* r30 */, int playerId /* r31 */) { // Local variables int * p; // r3 struct CharEntry * e; // r31 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800CAE14 -> 0x800CB248 void CharCache::ForceDelete(struct CharEntry * e /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class LoadMgr TheLoadMgr; } // Range: 0x800CB248 -> 0x800CB44C class CompositeCharacter * CharCache::Loaded() { // Local variables struct CharEntry * e; // r26 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class LoadMgr TheLoadMgr; } // Range: 0x800CB44C -> 0x800CB460 class CharData * CharCache::Requested() {} // Range: 0x800CB460 -> 0x800CB4C4 unsigned char CharCache::Loaded(class CharCache * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x800CB4C4 -> 0x800CB554 unsigned char CharCache::UsingCharacter(class CharCache * const this /* r29 */, class CompositeCharacter * d /* r30 */) { // Local variables int i; // r31 } // Range: 0x800CB554 -> 0x800CBB14 void CharCache::ChangeCharacters(class CharCache * const this /* r29 */, class ObjectDir * world /* r30 */) { // Local variables int i; // r31 class CompositeCharacter * to; // r0 class ObjDirItr dude; // r1+0x34 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800CBB14 -> 0x800CBB78 void CharCache::ClearDircuts(class CharCache * const this /* r30 */) { // Local variables int i; // r31 class CompositeCharacter * to; // r0 } static class Message msg; // size: 0x8, address: 0x80977FC8 class _List_node : public _List_node_base { // total size: 0x44 public: struct CharData _M_data; // offset 0x8, size 0x3C }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class WorldCrowd * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x800CBB78 -> 0x800CC59C unsigned char CharCache::LoadSongClips(class CharCache * const this /* r31 */) { // Local variables int i; // r29 class CompositeCharacter * to; // r0 class Symbol song; // r1+0x30 class ObjDirItr crowd; // r1+0x60 int i; // r29 class CompositeCharacter * c; // r0 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; // -> class WorldDir * TheWorld; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class SongMgr & TheSongMgr; } // Range: 0x800CC59C -> 0x800CCA9C void CharCache::LightCharacters(class CharCache * const this /* r26 */, class ObjectDir * world /* r27 */) { // Local variables class ObjDirItr dude; // r1+0x18 int i; // r28 class CompositeCharacter * to; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800CCA9C -> 0x800CCAE0 void CharCache::ReclaimCharacter() { // Local variables class Character * c; // r5 } // Range: 0x800CCAE0 -> 0x800CCC04 void CharCache::SwapPlayers(class CharCache * const this /* r28 */, int i /* r29 */, int j /* r30 */) { // Local variables struct CharEntry * tmp; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800CCC04 -> 0x800CCCD4 void CharCache::UpdateCharData(class CharCache * const this /* r27 */, class BandUser * pUser /* r29 */, class CharData * char_data /* r28 */) { // Local variables enum ControllerType ct; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800CCCD4 -> 0x800CCD80 int CharCache::FindIndex(const class CharCache * const this /* r29 */, class CompositeCharacter * c /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x800CCD80 -> 0x800CCDBC enum ControllerType CharCache::FindControllerType(class CharCache * const this /* r31 */) { // Local variables int userNum; // r0 } // Range: 0x800CCDBC -> 0x800CCDE0 class Symbol CharCache::FindControllerSym() {} // Range: 0x800CCDE0 -> 0x800CCF60 int CharCache::SortEntries() { // References // -> const char * gNullStr; } // Range: 0x800CCF60 -> 0x800CD050 void CharCache::SortExecute(class CharCache * const this /* r27 */, void (* CBack)(struct CharEntry *) /* r28 */, unsigned char fail /* r29 */) { // Local variables int count; // r31 struct CharEntry * entries[4]; // r1+0x8 int i; // r30 int i; // r30 // References // -> class Debug TheDebug; } static class Message msg; // size: 0x8, address: 0x80977FE0 // Range: 0x800CD050 -> 0x800CD294 void CharCache::WorldConfigureCBack(struct CharEntry * e /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80977FF8 // Range: 0x800CD294 -> 0x800CD420 void CharCache::LoadRealtimeClipsCBack(struct CharEntry * e /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80978010 // Range: 0x800CD420 -> 0x800CD5AC void CharCache::LoadSongsCBack(struct CharEntry * e /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80978028 // Range: 0x800CD5AC -> 0x800CD778 void CharCache::MetaConfigureCBack(struct CharEntry * e /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x80978040 // Range: 0x800CD778 -> 0x800CD904 void CharCache::LoadingScreenConfigureCBack(struct CharEntry * e /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800CD904 -> 0x800CDA54 void CharCache::CheckOutsideRefs(class CharCache * const this /* r31 */) { // Local variables int player; // r30 struct CharEntry * e; // r29 class CompositeCharacter * cc; // r28 struct _List_iterator i; // r1+0x18 class ObjRef * ref; // r27 class Object * owner; // r26 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800CDA54 -> 0x800CDB24 void CharCache::PrintRequested(class CharCache * const this /* r29 */) { // Local variables int player; // r31 const class CharData * cd; // r30 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A4AA94 static class Symbol _s; // size: 0x4, address: 0x80A4AA9C static class Symbol _s; // size: 0x4, address: 0x80A4AAA4 static class Symbol _s; // size: 0x4, address: 0x80A4AAAC static class Symbol _s; // size: 0x4, address: 0x80A4AAB4 static class Symbol _s; // size: 0x4, address: 0x80A4AABC static class Symbol _s; // size: 0x4, address: 0x80A4AAC4 static class Symbol _s; // size: 0x4, address: 0x80A4AACC static class Symbol _s; // size: 0x4, address: 0x80A4AAD4 static class Symbol _s; // size: 0x4, address: 0x80A4AADC static class Symbol _s; // size: 0x4, address: 0x80A4AAE4 static class Symbol _s; // size: 0x4, address: 0x80A4AAEC static class Symbol _s; // size: 0x4, address: 0x80A4AAF4 static class Symbol _s; // size: 0x4, address: 0x80A4AAFC static class Symbol _s; // size: 0x4, address: 0x80A4AB04 static class Symbol _s; // size: 0x4, address: 0x80A4AB0C static class Symbol _s; // size: 0x4, address: 0x80A4AB14 static class Symbol _s; // size: 0x4, address: 0x80A4AB1C static class Symbol _s; // size: 0x4, address: 0x80A4AB24 static class Symbol _s; // size: 0x4, address: 0x80A4AB2C static class Symbol _s; // size: 0x4, address: 0x80A4AB34 // Range: 0x800CDB24 -> 0x800CE6DC class DataNode CharCache::Handle(class CharCache * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x800CE6DC -> 0x800CE718 class DataNode CharCache::OnCacheClear() {} // Range: 0x800CE718 -> 0x800CE788 class DataNode CharCache::OnCacheEnable(class CharCache * const this /* r30 */, class DataArray * msg /* r31 */) {} // Range: 0x800CE788 -> 0x800CE824 class DataNode CharCache::OnLoaded(class CharCache * const this /* r30 */, class DataArray * msg /* r31 */) {} // Range: 0x800CE824 -> 0x800CE8D4 class DataNode CharCache::OnSetClipMode(class DataArray * msg /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800CE8D4 -> 0x800CE978 class DataNode CharCache::OnFindCharData(class CharCache * const this /* r30 */, class DataArray * msg /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800CE978 -> 0x800CE9C0 class DataNode CharCache::OnSetLoadingScreenMode() {} // Range: 0x800CE9C0 -> 0x800CEA8C class DataNode CharCache::OnWorldConfigureCharacters(class CharCache * const this /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x800CEA8C -> 0x800CEB34 class DataNode CharCache::OnReclaimCharacters(class CharCache * const this /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x80978058 // Range: 0x800CEB34 -> 0x800CEF1C class DataNode CharCache::OnMetaConfigureDone(class CharCache * const this /* r28 */) { // Local variables int i; // r29 class CompositeCharacter * c; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class LoadMgr TheLoadMgr; } // Range: 0x800CEF1C -> 0x800CEF58 class DataNode CharCache::OnLoadingScreenConfigureDone() {} // Range: 0x800CEF58 -> 0x800CF0DC class DataNode CharCache::OnIterate(class CharCache * const this /* r28 */, class DataArray * msg /* r29 */) { // Local variables class DataNode * var; // r31 class DataNode val; // r1+0x18 int i; // r30 class CompositeCharacter * c; // r3 int j; // r26 } // Range: 0x800CF0DC -> 0x800CF11C class DataNode CharCache::OnCompressionDone() { // References // -> static class RndTex * sTexture; } // Range: 0x800CF11C -> 0x800CF308 class DataNode CharCache::OnGetMatchingDude(class CharCache * const this /* r25 */, class DataArray * msg /* r23 */) { // Local variables class CompositeCharacter * me; // r0 int i; // r28 int j; // r27 class CompositeCharacter * c; // r26 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800CF308 -> 0x800CF38C unsigned char CharCache::AreAllCharsLoaded(class CharCache * const this /* r30 */) { // Local variables int i; // r31 class CompositeCharacter * c; // r0 } struct { // total size: 0x8 } __RTTI__10WorldCrowd; // size: 0x8, address: 0x80881990 class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharWeightable * mPtr; // offset 0x8, size 0x4 }; class CharWeightable : public virtual Object { // total size: 0x44 public: void * __vptr$; // offset 0x4, size 0x4 protected: float mWeight; // offset 0x8, size 0x4 class ObjOwnerPtr mWeightOwner; // offset 0xC, size 0xC }; class CharBonesObject : public CharBones, public virtual Object { // total size: 0x84 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharBonesObject * mPtr; // offset 0x8, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharClip * mPtr; // offset 0x8, size 0x4 }; class CharClipDriver { // total size: 0x3C public: int mPlayFlags; // offset 0x0, size 0x4 float mBlendWidth; // offset 0x4, size 0x4 float mTimeScale; // offset 0x8, size 0x4 float mRampIn; // offset 0xC, size 0x4 float mFrame; // offset 0x10, size 0x4 float mDFrame; // offset 0x14, size 0x4 float mBlendFrac; // offset 0x18, size 0x4 float mAdvanceFrame; // offset 0x1C, size 0x4 float mWeight; // offset 0x20, size 0x4 protected: class ObjOwnerPtr mClip; // offset 0x24, size 0xC class CharClipDriver * mNext; // offset 0x30, size 0x4 int mNextEvent; // offset 0x34, size 0x4 class DataArray * mEventData; // offset 0x38, size 0x4 }; enum ApplyMode { kApplyBlend = 0, kApplyAdd = 1, kApplyRotateTo = 2, }; class CharBonesAlloc : public CharBonesObject { // total size: 0x84 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjOwnerPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjOwnerPtr * _M_start; // offset 0x0, size 0x4 class ObjOwnerPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CharClipGroup : public virtual Object { // total size: 0x4C public: void * __vptr$; // offset 0x4, size 0x4 protected: class ObjVector mClips; // offset 0x8, size 0x10 int mWhich; // offset 0x18, size 0x4 int mFlags; // offset 0x1C, size 0x4 }; class CharDriver : public RndHighlightable, public CharWeightable, public CharPollable { // total size: 0x9C protected: class ObjPtr mBones; // offset 0x28, size 0xC class ObjDirPtr mClips; // offset 0x34, size 0xC class CharClipDriver * mFirst; // offset 0x40, size 0x4 class ObjPtr mTestClip; // offset 0x44, size 0xC class Symbol mStarvedHandler; // offset 0x50, size 0x4 class DataNode mLastNode; // offset 0x54, size 0x8 float mOldBeat; // offset 0x5C, size 0x4 unsigned char mRealign; // offset 0x60, size 0x1 float mBeatScale; // offset 0x64, size 0x4 enum ApplyMode mApply; // offset 0x68, size 0x4 class CharBonesAlloc * mInternalBones; // offset 0x6C, size 0x4 }; struct { // total size: 0x54 } __vt__9CharCache; // size: 0x54, address: 0x80881AE0 struct { // total size: 0x8 } __RTTI__9CharCache; // size: 0x8, address: 0x80881B58 struct { // total size: 0x18 } __vt__24ObjDirPtr<11CharClipSet>; // size: 0x18, address: 0x80881BA8 struct { // total size: 0x8 } __RTTI__24ObjDirPtr<11CharClipSet>; // size: 0x8, address: 0x80881BE8 struct { // total size: 0x18 } __vt__31ObjDirPtr<18CompositeCharacter>; // size: 0x18, address: 0x80881BF0 struct { // total size: 0x8 } __RTTI__31ObjDirPtr<18CompositeCharacter>; // size: 0x8, address: 0x80881C38 struct { // total size: 0x18 } __vt__39ObjPtr<18CompositeCharacter,9ObjectDir>; // size: 0x18, address: 0x80881CB8 struct { // total size: 0x8 } __RTTI__39ObjPtr<18CompositeCharacter,9ObjectDir>; // size: 0x8, address: 0x80881D08 struct { // total size: 0x8 } __RTTI__11CharClipSet; // size: 0x8, address: 0x80881D50 class OutfitChar : public UIPanel { // total size: 0x6C class String mShotRoot; // offset 0x30, size 0xC int mShotNumber; // offset 0x3C, size 0x4 }; class CharCreatorPanel : public OutfitChar { // total size: 0x88 class BandUser * mInputUser; // offset 0x40, size 0x4 class TourCharLocal * mNewChar; // offset 0x44, size 0x4 class DataArray * mNames; // offset 0x48, size 0x4 class DataLoader * mLoader; // offset 0x4C, size 0x4 class BandUser * mOwnerUser; // offset 0x50, size 0x4 int mNextRand; // offset 0x54, size 0x4 class Symbol mLastGender; // offset 0x58, size 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800CF38C -> 0x800CF3D4 */ // Range: 0x800CF38C -> 0x800CF390 void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x800CF390 -> 0x800CF394 void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x800CF394 -> 0x800CF3D4 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800CF3D4 -> 0x800CF3E8 */ // Range: 0x800CF3D4 -> 0x800CF3E8 void * vector::vector() {} /* Compile unit: C:\rockband2\band2\src\meta\CharCache.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800CF3E8 -> 0x800CF4A8 */ // Range: 0x800CF3E8 -> 0x800CF4A8 void * CharEntry::CharEntry(struct CharEntry * const this /* r30 */) { // References // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> struct [anonymous] __vt__39ObjPtr<18CompositeCharacter,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__31ObjDirPtr<18CompositeCharacter>; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800CF4A8 -> 0x800D07F4 */ // Range: 0x800CF4A8 -> 0x800CF700 void * ObjDirPtr::~ObjDirPtr(class ObjDirPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__31ObjDirPtr<18CompositeCharacter>; } // Range: 0x800CF700 -> 0x800CF950 class ObjDirPtr & ObjDirPtr::__as(class ObjDirPtr * const this /* r25 */, class CompositeCharacter * dir /* r26 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class LoadMgr TheLoadMgr; } // Range: 0x800CF950 -> 0x800CFBA8 void * ObjDirPtr::~ObjDirPtr(class ObjDirPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; } // Range: 0x800CFBA8 -> 0x800CFDF8 class ObjDirPtr & ObjDirPtr::__as(class ObjDirPtr * const this /* r25 */, class CharClipSet * dir /* r26 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; } // Range: 0x800CFDF8 -> 0x800CFE14 void * ObjDirPtr::ObjDirPtr() { // References // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; } // Range: 0x800CFE14 -> 0x800D0164 void ObjDirPtr::LoadFile(class ObjDirPtr * const this /* r31 */, const class FilePath & p /* r26 */, unsigned char async /* r27 */, unsigned char share /* r28 */, enum LoaderPos pos /* r29 */) { // Local variables class DirLoader * l; // r30 // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } // Range: 0x800D0164 -> 0x800D02D4 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; } // Range: 0x800D02D4 -> 0x800D02DC class Object * ObjDirPtr::RefOwner() {} // Range: 0x800D02DC -> 0x800D055C void ObjDirPtr::Replace(class ObjDirPtr * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800D055C -> 0x800D0564 unsigned char ObjDirPtr::IsDirPtr() {} // Range: 0x800D0564 -> 0x800D056C class Object * ObjDirPtr::RefOwner() {} // Range: 0x800D056C -> 0x800D07EC void ObjDirPtr::Replace(class ObjDirPtr * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } // Range: 0x800D07EC -> 0x800D07F4 unsigned char ObjDirPtr::IsDirPtr() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D07F4 -> 0x800D0914 */ // Range: 0x800D07F4 -> 0x800D0868 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__39ObjPtr<18CompositeCharacter,9ObjectDir>; } // Range: 0x800D0868 -> 0x800D0870 class Object * ObjPtr::RefOwner() {} // Range: 0x800D0870 -> 0x800D0914 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } /* Compile unit: C:\rockband2\system\src\utl\FilePath.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D0914 -> 0x800D0A60 */ // Range: 0x800D0914 -> 0x800D0988 void * FilePathTracker::FilePathTracker(class FilePathTracker * const this /* r29 */, const char * root /* r30 */) { // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x800D0988 -> 0x800D0A00 void * FilePathTracker::~FilePathTracker(class FilePathTracker * const this /* r30 */) { // References // -> class FilePath sRoot; } // Range: 0x800D0A00 -> 0x800D0A60 void * FilePath::FilePath(class FilePath * const this /* r30 */, const char * file /* r31 */) { // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D0A60 -> 0x800D0A88 */ // Range: 0x800D0A60 -> 0x800D0A88 void * list::list() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D0A88 -> 0x800D0DF0 */ // Range: 0x800D0A88 -> 0x800D0AFC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, char * t2 /* r30 */, char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800D0AFC -> 0x800D0B84 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, const char * t2 /* r29 */, char * t3 /* r30 */, char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800D0B84 -> 0x800D0BF8 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, const char * t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800D0BF8 -> 0x800D0C74 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, const char * t2 /* r30 */, class Symbol & t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x800D0C74 -> 0x800D0D00 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r29 */, class Symbol & t2 /* r30 */, class Symbol & t3 /* r31 */) { // Local variables class FormatString f; // r1+0x14 } // Range: 0x800D0D00 -> 0x800D0D74 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, const char * t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x800D0D74 -> 0x800D0DF0 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, const char * t2 /* r30 */, class Symbol & t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D0DF0 -> 0x800D0E90 */ // Range: 0x800D0DF0 -> 0x800D0E40 class CompositeCharacter * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x800D0E40 -> 0x800D0E90 class ObjectDir * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D0E90 -> 0x800D0EF0 */ // Range: 0x800D0E90 -> 0x800D0EF0 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\CharCreatorPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D0EF0 -> 0x800D30E8 */ class DataArray * types; // size: 0x4, address: 0x80A4AB40 class Symbol name; // size: 0x4, address: 0x80A4AB48 class CharCreatorPanel * TheCharCreatorPanel; // size: 0x4, address: 0x80A4AB4C // Range: 0x800D0EF0 -> 0x800D0FC8 void * CharCreatorPanel::CharCreatorPanel(class CharCreatorPanel * const this /* r31 */) { // References // -> class CharCreatorPanel * TheCharCreatorPanel; // -> const char * gNullStr; // -> struct [anonymous] __vt__16CharCreatorPanel; // -> struct [anonymous] __vt__10OutfitChar; } // Range: 0x800D1064 -> 0x800D10F4 void CharCreatorPanel::Enter(class CharCreatorPanel * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> class Symbol t; } // Range: 0x800D10F4 -> 0x800D1178 void CharCreatorPanel::Exit(class CharCreatorPanel * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class Symbol t; } static class Symbol tour; // size: 0x4, address: 0x80A4AB54 static class Symbol char_names; // size: 0x4, address: 0x80A4AB5C // Range: 0x800D1178 -> 0x800D13D0 void CharCreatorPanel::Load(class CharCreatorPanel * const this /* r31 */) { // Local variables class DataArray * names; // r30 const char * path; // r28 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol char_names; // -> static class Symbol tour; // -> class CharCache * TheCharCache; // -> class InputMgr * TheInputMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D13D0 -> 0x800D1458 unsigned char CharCreatorPanel::IsLoaded(class CharCreatorPanel * const this /* r29 */) {} // Range: 0x800D1458 -> 0x800D1500 void CharCreatorPanel::FinishLoad(class CharCreatorPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D1500 -> 0x800D1570 void CharCreatorPanel::Unload(class CharCreatorPanel * const this /* r31 */) {} // Range: 0x800D1570 -> 0x800D1800 void CharCreatorPanel::Poll(class CharCreatorPanel * const this /* r27 */) { // Local variables class CompositeCharacter * dude; // r27 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D1800 -> 0x800D1810 unsigned char CharCreatorPanel::IsCharLoaded() {} // Range: 0x800D1810 -> 0x800D1874 class TourCharLocal * CharCreatorPanel::GetTourChar(class CharCreatorPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D1874 -> 0x800D1928 class CompositeCharacter * CharCreatorPanel::GetChar(class CharCreatorPanel * const this /* r30 */) { // References // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D1928 -> 0x800D1A54 char * CharCreatorPanel::RandomCharName(class CharCreatorPanel * const this /* r28 */) { // Local variables class BandUser * pOwnerUser; // r4 class Profile * profile; // r30 class TourCharLocal * tc; // r0 class DataArray * n; // r29 int i; // r28 // References // -> class Debug TheDebug; // -> class ProfileMgr TheProfileMgr; } // Range: 0x800D1A54 -> 0x800D1B0C class DataArray * CharCreatorPanel::NextPrefab(class CharCreatorPanel * const this /* r29 */, unsigned char advance /* r30 */) { // Local variables const class DataArray * character_list; // r31 } // Range: 0x800D1B0C -> 0x800D1C60 void CharCreatorPanel::Request(class CharCreatorPanel * const this /* r29 */, class Symbol & gender /* r30 */) { // Local variables const class DataArray * character; // r31 // References // -> class CharCache * TheCharCache; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D1C60 -> 0x800D1CF8 void CharCreatorPanel::Free(class CharCreatorPanel * const this /* r31 */) { // References // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D1CF8 -> 0x800D1D18 unsigned char CharCreatorPanel::IsCharNameUnique() { // Local variables class BandUser * pOwnerUser; // r4 // References // -> class ProfileMgr TheProfileMgr; } static class Symbol outfit; // size: 0x4, address: 0x80A4AB64 struct Outfit { // total size: 0x10 class Symbol mOutfit; // offset 0x0, size 0x4 class Symbol mLocaleToken; // offset 0x4, size 0x4 unsigned char mCanAfford; // offset 0x8, size 0x1 int mCost; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Outfit * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Outfit * _M_start; // offset 0x0, size 0x4 struct Outfit * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class OutfitProvider : public ListProvider, public Object { // total size: 0x48 class Symbol mGender; // offset 0x2C, size 0x4 class Symbol mCategoryName; // offset 0x30, size 0x4 class DataArray * mCategory; // offset 0x34, size 0x4 unsigned char mShowText; // offset 0x38, size 0x1 class vector mOutfits; // offset 0x3C, size 0xC }; // Range: 0x800D1D18 -> 0x800D2050 void CharCreatorPanel::AddCharToProfile(class CharCreatorPanel * const this /* r30 */) { // Local variables class BandUser * pOwnerUser; // r28 class Profile * profile; // r31 class Symbol gender; // r1+0x54 class DataArrayPtr character; // r1+0x58 class DataArray * outfits; // r28 int i; // r27 class Symbol cat; // r1+0x50 class OutfitProvider * p; // r29 class Symbol none; // r1+0x4C class Symbol current; // r1+0x48 // References // -> const char * gNullStr; // -> class Shop * TheShop; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol outfit; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol sign_out; // size: 0x4, address: 0x80A4AB6C static class Symbol on_owner_user_signed_out; // size: 0x4, address: 0x80A4AB74 static class Message msg; // size: 0x8, address: 0x80978070 // Range: 0x800D2050 -> 0x800D2270 class DataNode CharCreatorPanel::OnMsg(class CharCreatorPanel * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol on_owner_user_signed_out; // -> class BandUI * TheBandUI; // -> static class Symbol sign_out; } // Range: 0x800D2270 -> 0x800D22A8 unsigned char CharCreatorPanel::IsCharFullyLoaded() { // References // -> class CharCache * TheCharCache; } // Range: 0x800D22A8 -> 0x800D22BC unsigned char CharCreatorPanel::HasCharLoadStarted() {} static class Symbol _s; // size: 0x4, address: 0x80A4AB7C static class Symbol _s; // size: 0x4, address: 0x80A4AB84 static class Symbol _s; // size: 0x4, address: 0x80A4AB8C static class Symbol _s; // size: 0x4, address: 0x80A4AB94 static class Symbol _s; // size: 0x4, address: 0x80A4AB9C static class Symbol _s; // size: 0x4, address: 0x80A4ABA4 static class Symbol _s; // size: 0x4, address: 0x80A4ABAC static class Symbol _s; // size: 0x4, address: 0x80A4ABB4 static class Symbol _s; // size: 0x4, address: 0x80A4ABBC // Range: 0x800D22BC -> 0x800D2F60 class DataNode CharCreatorPanel::Handle(class CharCreatorPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x54 class MessageTimer _mt; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__16SigninChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4ABC4 // Range: 0x800D2F60 -> 0x800D30E8 unsigned char CharCreatorPanel::SyncProperty(class CharCreatorPanel * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xC0 } __vt__16CharCreatorPanel; // size: 0xC0, address: 0x80882390 struct { // total size: 0x8 } __RTTI__16CharCreatorPanel; // size: 0x8, address: 0x80882488 struct { // total size: 0x8 } __RTTI__10OutfitChar; // size: 0x8, address: 0x808824F0 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class Shop : public Object { // total size: 0x30 class list mProviders; // offset 0x28, size 0x8 }; /* Compile unit: C:\rockband2\band2\src\meta\CharCreatorPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D3234 -> 0x800D3410 */ // Range: 0x800D3234 -> 0x800D3278 class Symbol CharCreatorPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800D3278 -> 0x800D340C void CharCreatorPanel::SetType(class CharCreatorPanel * const this /* r29 */, class Symbol & CharCreatorPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x800D340C -> 0x800D3410 void CharCreatorPanel::Save() {} /* Compile unit: C:\rockband2\band2\src\meta\CharData.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D3410 -> 0x800D5684 */ class DataArray * sTrackIcons; // size: 0x4, address: 0x80A4ABC8 // Range: 0x800D3410 -> 0x800D3464 void CharData::Init() { // References // -> class DataArray * sTrackIcons; } // Range: 0x800D3464 -> 0x800D3514 void * CharData::CharData(class CharData * const this /* r30 */, class DataArray * char_data /* r31 */) { // Local variables int i; // r5 // References // -> struct [anonymous] __vt__8CharData; } // Range: 0x800D3514 -> 0x800D359C void * CharData::~CharData(class CharData * const this /* r29 */) {} // Range: 0x800D359C -> 0x800D35C8 char * CharData::InstrumentIcon() {} // Range: 0x800D35C8 -> 0x800D3668 char * CharData::TrackIcon(const class CharData * const this /* r30 */, class Symbol & track /* r31 */) { // Local variables enum TrackType tt; // r0 enum ControllerType ct; // r0 // References // -> class DataArray * sTrackIcons; } // Range: 0x800D3668 -> 0x800D36F4 enum Difficulty CharData::TourWinDiff(const class CharData * const this /* r30 */, enum ControllerType ct /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol drum; // size: 0x4, address: 0x80A4ABD0 static class Symbol none; // size: 0x4, address: 0x80A4ABD8 class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class OutfitLoader * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x800D36F4 -> 0x800D3A4C void CharData::ConfigureChar(class CompositeCharacter * cc /* r30 */) { // Local variables class ObjDirItr ol; // r1+0x1C // References // -> struct [anonymous] __RTTI__6RndTex; // -> class Tour * TheTour; // -> struct [anonymous] __RTTI__6RndMat; // -> static class Symbol none; // -> static class Symbol drum; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> class CharCache * TheCharCache; } static class Symbol _s; // size: 0x4, address: 0x80A4ABE0 static class Symbol _s; // size: 0x4, address: 0x80A4ABE8 static class Symbol _s; // size: 0x4, address: 0x80A4ABF0 static class Symbol _s; // size: 0x4, address: 0x80A4ABF8 // Range: 0x800D3A4C -> 0x800D40EC class DataNode CharData::Handle(class CharData * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x44 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x800D40EC -> 0x800D4150 class PrefabChar * PrefabChar::Create(class DataArray * char_data /* r30 */) {} // Range: 0x800D4150 -> 0x800D41DC void * PrefabChar::PrefabChar(class PrefabChar * const this /* r30 */, class DataArray * char_data /* r31 */) { // References // -> struct [anonymous] __vt__10PrefabChar; } // Range: 0x800D41DC -> 0x800D425C void * PrefabChar::PrefabChar(class PrefabChar * const this /* r31 */) { // References // -> struct [anonymous] __vt__10PrefabChar; } // Range: 0x800D425C -> 0x800D42E4 void * PrefabChar::~PrefabChar(class PrefabChar * const this /* r29 */) {} // Range: 0x800D42E4 -> 0x800D46D0 class DataNode PrefabChar::Handle(class PrefabChar * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } class vector sPrefabs; // size: 0xC, address: 0x80978084 static class Rand sRand; // size: 0x410, address: 0x80978090 static int sNextRand[4]; // size: 0x10, address: 0x809784A0 // Range: 0x800D46D0 -> 0x800D481C static class DataNode OnAvailablePrefab(class DataArray * a /* r29 */) { // Local variables class Symbol gender; // r1+0x18 unsigned char only_selectable; // r30 class vector users; // r1+0x1C // References // -> class BandUserMgr * TheBandUserMgr; // -> const char * gNullStr; } // Range: 0x800D481C -> 0x800D488C static class DataNode OnFindPrefab(class DataArray * a /* r31 */) {} // Range: 0x800D488C -> 0x800D4A58 void PrefabChar::Init() { // Local variables class DataArray * prefabs; // r31 int i; // r28 // References // -> class vector sPrefabs; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; } // Range: 0x800D4A58 -> 0x800D4ADC void PrefabChar::Terminate() { // References // -> class vector sPrefabs; } // Range: 0x800D4ADC -> 0x800D4B3C unsigned char __eq(class Symbol & rhs /* r30 */) {} // Range: 0x800D4B3C -> 0x800D4BC0 class PrefabChar * PrefabChar::Find() { // Local variables class PrefabChar * * c; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class vector sPrefabs; } // Range: 0x800D4BC0 -> 0x800D4C30 class PrefabChar * PrefabChar::Get(int idx /* r31 */) { // References // -> class vector sPrefabs; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D4C30 -> 0x800D4DEC unsigned char PrefabChar::IsValid(const class PrefabChar * p /* r1+0x8 */, class Symbol & gender /* r26 */, class DataArray * group /* r31 */, class vector & users /* r27 */, class list * exclude /* r29 */, unsigned char only_selectable /* r28 */) { // Local variables unsigned char found; // r29 int j; // r28 // References // -> class ProfileMgr TheProfileMgr; // -> const char * gNullStr; } // Range: 0x800D4DEC -> 0x800D52A0 class PrefabChar * PrefabChar::Available(int user_num /* r22 */, class Symbol & gender /* r23 */, class DataArray * group /* r24 */, class vector & users /* r25 */, class list * exclude /* r26 */, unsigned char peek /* r27 */, unsigned char only_selectable /* r28 */) { // Local variables unsigned char * check; // r29 int i; // r4 class PrefabChar * * c; // r20 class PrefabChar * cd; // r19 int i; // r18 int i; // r18 class vector candidates; // r1+0x44 class PrefabChar * * c; // r29 class PrefabChar * cd; // r1+0x40 class PrefabChar * * c; // r18 class PrefabChar * cd; // r1+0x3C int which; // r18 // References // -> static class Rand sRand; // -> static int sNextRand[4]; // -> const char * kAssertStr; // -> const char * gNullStr; // -> class Debug TheDebug; // -> class vector sPrefabs; } static class Symbol selectable; // size: 0x4, address: 0x80A4AC00 // Range: 0x800D52A0 -> 0x800D5334 unsigned char PrefabChar::IsSelectable(const class PrefabChar * const this /* r31 */) { // Local variables class DataArray * pData; // r31 // References // -> static class Symbol selectable; } // Range: 0x800D5334 -> 0x800D54EC class PrefabChar * PrefabChar::GetRandomSelectablePrefab() { // Local variables class vector users; // r1+0x28 class vector candidates; // r1+0x1C class PrefabChar * * it; // r31 class PrefabChar * pPrefab; // r1+0x18 int iPrefab; // r0 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class vector sPrefabs; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800D54EC -> 0x800D550C int PrefabChar::Num() { // References // -> class vector sPrefabs; } // Range: 0x800D550C -> 0x800D5570 void PrefabChar::SetRandomSeed() { // Local variables int i; // r31 // References // -> static int sNextRand[4]; // -> static class Rand sRand; } // Range: 0x800D5570 -> 0x800D55D8 char * PrefabChar::CharName() {} struct { // total size: 0x8 } __RTTI__12OutfitLoader; // size: 0x8, address: 0x80882AA0 struct { // total size: 0x8 } __RTTI__11MergeFilter; // size: 0x8, address: 0x80882AB8 struct { // total size: 0x8 } __RTTI__Q29DirLoader8Callback; // size: 0x8, address: 0x80882B00 struct { // total size: 0x90 } __vt__10PrefabChar; // size: 0x90, address: 0x80882B08 struct { // total size: 0x90 } __vt__8CharData; // size: 0x90, address: 0x80882BD0 struct { // total size: 0x8 } __RTTI__PP10PrefabChar; // size: 0x8, address: 0x80882CF8 struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x800D55D8 -> 0x800D5634 static void __sinit_\CharData_cpp() { // References // -> static class Rand sRand; // -> class vector sPrefabs; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D5684 -> 0x800D56F8 */ // Range: 0x800D5684 -> 0x800D56F8 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, const char * t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D56F8 -> 0x800D5868 */ // Range: 0x800D56F8 -> 0x800D5868 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D5868 -> 0x800D58E8 */ // Range: 0x800D5868 -> 0x800D58E8 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D58E8 -> 0x800D5AD8 */ // Range: 0x800D58E8 -> 0x800D5A80 class PrefabChar * * find(class PrefabChar * * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x800D5A80 -> 0x800D5AD8 struct _List_iterator find() {} /* Compile unit: C:\rockband2\band2\src\meta\CharData.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D5AD8 -> 0x800D5C0C */ // Range: 0x800D5AD8 -> 0x800D5B20 void PrefabChar::SetTourWinDiff() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D5B20 -> 0x800D5B68 void PrefabChar::SaveRemote() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D5B68 -> 0x800D5BC0 class Symbol PrefabChar::Hometown() { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D5BC0 -> 0x800D5C0C int PrefabChar::Money() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D5C0C -> 0x800D5F64 */ // Range: 0x800D5C0C -> 0x800D5D44 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PrefabChar * * __pos /* r28 */, class PrefabChar * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PrefabChar * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10PrefabChar; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800D5D44 -> 0x800D5DB0 void vector::_M_fill_insert() {} // Range: 0x800D5DB0 -> 0x800D5F64 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class PrefabChar * * __pos /* r29 */, unsigned long __n /* r25 */, class PrefabChar * const & __x /* r30 */) { // Local variables class PrefabChar * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D5F64 -> 0x800D5F7C */ // Range: 0x800D5F64 -> 0x800D5F7C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\meta\CharDataProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D5F7C -> 0x800D6ED8 */ class CharDataProvider * TheCharDataProvider; // size: 0x4, address: 0x80A4AC08 char lhsName[256]; // size: 0x100, address: 0x809784B0 char rhsName[256]; // size: 0x100, address: 0x809785B0 class CharDataProvider : public ListProvider, public Object { // total size: 0x3C class Profile * mProfile; // offset 0x2C, size 0x4 class vector mChars; // offset 0x30, size 0xC }; // Range: 0x800D5F7C -> 0x800D6004 void * CharDataProvider::CharDataProvider(class CharDataProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__16CharDataProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800D6004 -> 0x800D609C void * CharDataProvider::~CharDataProvider(class CharDataProvider * const this /* r30 */) {} // Range: 0x800D609C -> 0x800D60D0 void CharDataProvider::Init() { // References // -> class CharDataProvider * TheCharDataProvider; } // Range: 0x800D60D0 -> 0x800D60D4 void CharDataProvider::InitData() {} static class Symbol name; // size: 0x4, address: 0x80A4AC10 static class Symbol instrument; // size: 0x4, address: 0x80A4AC18 // Range: 0x800D60D4 -> 0x800D61BC char * CharDataProvider::Text(const class CharDataProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables class TourCharLocal * tc; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol instrument; // -> static class Symbol name; } // Range: 0x800D61BC -> 0x800D6208 class RndMat * CharDataProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D6208 -> 0x800D6220 int CharDataProvider::NumData() {} // Range: 0x800D6220 -> 0x800D6228 unsigned char CharDataProvider::IsActive() {} // Range: 0x800D6228 -> 0x800D6270 void CharDataProvider::DeleteCharacter(class CharDataProvider * const this /* r31 */) { // Local variables class TourCharLocal * tc; // r0 // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x800D6270 -> 0x800D62D8 void CharDataProvider::SetCharacterName(class CharDataProvider * const this /* r29 */, class String & Name /* r30 */) { // Local variables class TourCharLocal * tc; // r31 // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x800D62D8 -> 0x800D6328 class String CharDataProvider::GetCharacterName() { // Local variables class TourCharLocal * tc; // r0 } // Range: 0x800D6328 -> 0x800D63F4 void CharDataProvider::Init(class CharDataProvider * const this /* r29 */) { // Local variables class User * pUser; // r30 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UserMgr * TheUserMgr; } // Range: 0x800D63F4 -> 0x800D640C int CharDataProvider::NumCharacters() {} // Range: 0x800D640C -> 0x800D64A4 class TourCharLocal * CharDataProvider::GetTourChar(const class CharDataProvider * const this /* r30 */, int num /* r31 */) { // Local variables class TourCharLocal * tc; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D64A4 -> 0x800D6614 void CharDataProvider::GatherCharacters(class CharDataProvider * const this /* r30 */) { // Local variables int i; // r31 class TourCharLocal * tc; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct CharSorter { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; static class Symbol _s; // size: 0x4, address: 0x80A4AC20 static class Symbol _s; // size: 0x4, address: 0x80A4AC28 static class Symbol _s; // size: 0x4, address: 0x80A4AC30 static class Symbol _s; // size: 0x4, address: 0x80A4AC38 static class Symbol _s; // size: 0x4, address: 0x80A4AC40 static class Symbol _s; // size: 0x4, address: 0x80A4AC48 // Range: 0x800D6614 -> 0x800D6ED8 class DataNode CharDataProvider::Handle(class CharDataProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x60 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__16CharDataProvider; // size: 0x9C, address: 0x80882E60 struct { // total size: 0x8 } __RTTI__16CharDataProvider; // size: 0x8, address: 0x80882F30 struct { // total size: 0x8 } __RTTI__PP13TourCharLocal; // size: 0x8, address: 0x80882FA0 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D6ED8 -> 0x800D6F14 */ // Range: 0x800D6ED8 -> 0x800D6F04 void _Vector_base::_M_throw_out_of_range() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D6F14 -> 0x800D7F24 */ // Range: 0x800D6F14 -> 0x800D6FB8 void sort(class TourCharLocal * * __first /* r29 */, class TourCharLocal * * __last /* r30 */, struct CharSorter & __comp /* r31 */) {} // Range: 0x800D6FB8 -> 0x800D7058 void __final_insertion_sort(class TourCharLocal * * __first /* r29 */, class TourCharLocal * * __last /* r30 */, struct CharSorter & __comp /* r31 */) {} // Range: 0x800D7058 -> 0x800D70C0 void __unguarded_insertion_sort_aux(class TourCharLocal * * __last /* r29 */, struct CharSorter & __comp /* r30 */) { // Local variables class TourCharLocal * * __i; // r31 } // Range: 0x800D70C0 -> 0x800D7238 void __unguarded_linear_insert(class TourCharLocal * * __last /* r29 */, class TourCharLocal * __val /* r30 */) { // Local variables class TourCharLocal * * __next; // r31 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800D7238 -> 0x800D73F4 void __insertion_sort(class TourCharLocal * * __first /* r27 */, class TourCharLocal * * __last /* r28 */, struct CharSorter & __comp /* r29 */) { // Local variables class TourCharLocal * * __i; // r30 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800D73F4 -> 0x800D7A4C void __introsort_loop(class TourCharLocal * * __first /* r27 */, class TourCharLocal * * __last /* r28 */, long __depth_limit /* r29 */, struct CharSorter & __comp /* r30 */) { // Local variables class TourCharLocal * * __cut; // r25 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800D7A4C -> 0x800D7D0C class TourCharLocal * * __unguarded_partition(class TourCharLocal * * __first /* r29 */, class TourCharLocal * * __last /* r30 */, class TourCharLocal * __pivot /* r31 */) { // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800D7D0C -> 0x800D7D3C void partial_sort() {} // Range: 0x800D7D3C -> 0x800D7F24 void __partial_sort(class TourCharLocal * * __first /* r27 */, class TourCharLocal * * __middle /* r28 */, class TourCharLocal * * __last /* r29 */, struct CharSorter & __comp /* r30 */) { // Local variables class TourCharLocal * * __i; // r31 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D7F24 -> 0x800D7F54 */ // Range: 0x800D7F24 -> 0x800D7F3C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x800D7F3C -> 0x800D7F54 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D7F54 -> 0x800D834C */ // Range: 0x800D7F54 -> 0x800D7FA8 void pop_heap(class TourCharLocal * * __last /* r7 */) {} // Range: 0x800D7FA8 -> 0x800D82B4 void __adjust_heap(class TourCharLocal * * __first /* r26 */, long __holeIndex /* r27 */, long __len /* r31 */, class TourCharLocal * __val /* r28 */) { // Local variables long __topIndex; // r29 long __secondChild; // r30 // References // -> char rhsName[256]; // -> struct __locale _current_locale; // -> char lhsName[256]; } // Range: 0x800D82B4 -> 0x800D834C void make_heap(class TourCharLocal * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D834C -> 0x800D8484 */ // Range: 0x800D834C -> 0x800D8484 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourCharLocal * * __pos /* r28 */, class TourCharLocal * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourCharLocal * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TourCharLocal; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\CharLoadingPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D8484 -> 0x800D84BC */ class DataArray * types; // size: 0x4, address: 0x80A4AC50 class Symbol name; // size: 0x4, address: 0x80A4AC58 class CharLoadingPanel : public UIPanel { // total size: 0x5C }; // Range: 0x800D8484 -> 0x800D84BC void CharLoadingPanel::Enter(class CharLoadingPanel * const this /* r31 */) { // References // -> class CharSelectPanel * sInstance; } struct { // total size: 0xAC } __vt__16CharLoadingPanel; // size: 0xAC, address: 0x80882FE0 struct { // total size: 0x8 } __RTTI__16CharLoadingPanel; // size: 0x8, address: 0x808830C0 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class UIProxy * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class UIProxy * * _M_start; // offset 0x0, size 0x4 class UIProxy * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class CharSelectPanel : public UIPanel { // total size: 0x88 class BandUser * mCreatorUser; // offset 0x30, size 0x4 class UIProxy * mCreatorProxy; // offset 0x34, size 0x4 class vector mProxies; // offset 0x38, size 0xC int mPreviousAttitude; // offset 0x44, size 0x4 class CharLoadingPanel * mLoadingPanel; // offset 0x48, size 0x4 class String mShotRoot; // offset 0x4C, size 0xC int mShotNumber; // offset 0x58, size 0x4 }; /* Compile unit: C:\rockband2\band2\src\meta\CharLoadingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D84BC -> 0x800D8694 */ // Range: 0x800D84BC -> 0x800D8500 class Symbol CharLoadingPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800D8500 -> 0x800D8694 void CharLoadingPanel::SetType(class CharLoadingPanel * const this /* r29 */, class Symbol & CharLoadingPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\CharOptions.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D8758 -> 0x800D944C */ // Range: 0x800D8758 -> 0x800D87E8 void * GameplayOptions::GameplayOptions(class GameplayOptions * const this /* r31 */) { // References // -> struct [anonymous] __vt__15GameplayOptions; } // Range: 0x800D87E8 -> 0x800D8880 class GameplayOptions & GameplayOptions::__as(class GameplayOptions * const this /* r30 */, const class GameplayOptions & rhs /* r31 */) {} // Range: 0x800D8880 -> 0x800D88EC void GameplayOptions::SetMicGain(class GameplayOptions * const this /* r30 */, int ixVol /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x800D88EC -> 0x800D8958 void GameplayOptions::SetVocalVolume(class GameplayOptions * const this /* r30 */, int ixVol /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x800D8958 -> 0x800D8974 void GameplayOptions::SetLefty() {} // Range: 0x800D8974 -> 0x800D8990 void GameplayOptions::SetVocalStyle() {} // Range: 0x800D8990 -> 0x800D8A44 void GameplayOptions::Save(class GameplayOptions * const this /* r30 */, class BinStream & s /* r31 */) {} // Range: 0x800D8A44 -> 0x800D8AF8 void GameplayOptions::Load(class GameplayOptions * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int ver; // r1+0x10 int i; // r1+0xC } // Range: 0x800D8AF8 -> 0x800D8B00 int GameplayOptions::SaveSize() {} static class Symbol _s; // size: 0x4, address: 0x80A4AC64 static class Symbol _s; // size: 0x4, address: 0x80A4AC6C static class Symbol _s; // size: 0x4, address: 0x80A4AC74 static class Symbol _s; // size: 0x4, address: 0x80A4AC7C static class Symbol _s; // size: 0x4, address: 0x80A4AC84 static class Symbol _s; // size: 0x4, address: 0x80A4AC8C static class Symbol _s; // size: 0x4, address: 0x80A4AC94 static class Symbol _s; // size: 0x4, address: 0x80A4AC9C // Range: 0x800D8B00 -> 0x800D944C class DataNode GameplayOptions::Handle(class GameplayOptions * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8C } __vt__15GameplayOptions; // size: 0x8C, address: 0x808831A0 struct { // total size: 0x8 } __RTTI__15GameplayOptions; // size: 0x8, address: 0x80883258 /* Compile unit: C:\rockband2\band2\src\meta\CharPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800D949C -> 0x800DA0E0 */ class DataArray * types; // size: 0x4, address: 0x80A4ACA0 class Symbol name; // size: 0x4, address: 0x80A4ACA8 class CharPanel : public OutfitChar { // total size: 0x98 class BandUser * mUser; // offset 0x40, size 0x4 class CompositeCharacter * mChar; // offset 0x44, size 0x4 class TourCharLocal * mTourChar; // offset 0x48, size 0x4 class MemStream mSavedTourChar; // offset 0x4C, size 0x20 }; // Range: 0x800D949C -> 0x800D9560 void * CharPanel::CharPanel(class CharPanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__9CharPanel; // -> struct [anonymous] __vt__10OutfitChar; } static class Symbol outfit; // size: 0x4, address: 0x80A4ACB0 static class Symbol select_instrument; // size: 0x4, address: 0x80A4ACB8 // Range: 0x800D9560 -> 0x800D9A64 void CharPanel::Unload(class CharPanel * const this /* r28 */) { // Local variables unsigned char dirty_save; // r30 unsigned char dirty_upload; // r29 class Symbol instrument; // r1+0x24 class ObjDirItr ol; // r1+0x50 class Message instrument_msg; // r1+0x48 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> class CharCache * TheCharCache; // -> static class Symbol select_instrument; // -> static class Symbol outfit; } // Range: 0x800D9A64 -> 0x800D9B08 void CharPanel::Enter(class CharPanel * const this /* r31 */) { // References // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800D9B08 -> 0x800D9B18 unsigned char CharPanel::IsCharLoaded() {} // Range: 0x800D9B18 -> 0x800D9B20 class TourCharLocal * CharPanel::GetTourChar() {} // Range: 0x800D9B20 -> 0x800D9B28 class CompositeCharacter * CharPanel::GetChar() {} // Range: 0x800D9B28 -> 0x800D9B70 void CharPanel::Save(class CharPanel * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4ACC0 static class Symbol _s; // size: 0x4, address: 0x80A4ACC8 // Range: 0x800D9B70 -> 0x800D9D30 unsigned char CharPanel::SyncProperty(class CharPanel * const this /* r27 */, class DataNode & _val /* r31 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4ACD0 // Range: 0x800D9D30 -> 0x800DA0E0 class DataNode CharPanel::Handle(class CharPanel * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xC0 } __vt__9CharPanel; // size: 0xC0, address: 0x80883588 struct { // total size: 0x8 } __RTTI__9CharPanel; // size: 0x8, address: 0x80883678 /* Compile unit: C:\rockband2\band2\src\meta\CharPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DA0E0 -> 0x800DA55C */ // Range: 0x800DA0E0 -> 0x800DA25C void CharPanel::Load(class CharPanel * const this /* r28 */) { // Local variables unsigned char all_chars; // r1+0x8 // References // -> class CharCache * TheCharCache; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class InputMgr * TheInputMgr; } // Range: 0x800DA25C -> 0x800DA384 unsigned char CharPanel::IsLoaded(class CharPanel * const this /* r30 */) { // Local variables class Character * c; // r0 // References // -> struct [anonymous] __RTTI__9Character; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class CharCache * TheCharCache; // -> class InputMgr * TheInputMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800DA384 -> 0x800DA3C8 class Symbol CharPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800DA3C8 -> 0x800DA55C void CharPanel::SetType(class CharPanel * const this /* r29 */, class Symbol & CharPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\CharProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DA6F0 -> 0x800DCA70 */ class CharProvider : public ListProvider, public Object { // total size: 0x54 class vector mCharList; // offset 0x2C, size 0xC int mSlotNum; // offset 0x38, size 0x4 class Profile * mProfile; // offset 0x3C, size 0x4 class vector mSavedList; // offset 0x40, size 0xC class PrefabChar * mPrefabRandom; // offset 0x4C, size 0x4 int mLastPos; // offset 0x50, size 0x4 }; // Range: 0x800DA6F0 -> 0x800DA784 void * CharProvider::CharProvider(class CharProvider * const this /* r30 */, int slotNum /* r31 */) { // References // -> struct [anonymous] __vt__12CharProvider; // -> struct [anonymous] __vt__12ListProvider; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct CharEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct CharEntry * _M_start; // offset 0x0, size 0x4 struct CharEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x800DA784 -> 0x800DA924 void * CharProvider::~CharProvider(class CharProvider * const this /* r30 */) {} // Range: 0x800DA924 -> 0x800DA928 void CharProvider::Reload() {} // Range: 0x800DA928 -> 0x800DA94C unsigned char CharProvider::IsCreateNew() {} // Range: 0x800DA94C -> 0x800DA988 unsigned char CharProvider::IsChar() {} enum EntryType { kT_Heading = 0, kT_Character = 1, kT_Prefab = 2, kT_Create = 3, kT_RandomPrefab = 4, }; static class Symbol is_tour; // size: 0x4, address: 0x80A4ACDC // Range: 0x800DA988 -> 0x800DAA78 int CharProvider::FindPosFromChar(const class CharProvider * const this /* r31 */) { // Local variables int cEntry; // r7 int iEntry; // r3 unsigned char isTour; // r0 // References // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; } // Range: 0x800DAA78 -> 0x800DAD38 void CharProvider::SaveRelativePos(class CharProvider * const this /* r29 */, int pos /* r30 */) { // Local variables int cEntry; // r3 int iEntry; // r5 } // Range: 0x800DAD38 -> 0x800DADAC unsigned char __eq() {} static class Symbol is_tour; // size: 0x4, address: 0x80A4ACE4 // Range: 0x800DADAC -> 0x800DAEBC int CharProvider::GetRelativePos(const class CharProvider * const this /* r31 */) { // Local variables int cEntry; // r30 const struct CharEntry * itSaved; // [invalid] const struct CharEntry & entrySaved; // r29 int iEntry; // r28 unsigned char isTour; // r0 // References // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; } // Range: 0x800DAEBC -> 0x800DAEC0 void CharProvider::InitData() {} static class Symbol character; // size: 0x4, address: 0x80A4ACEC static class Symbol option; // size: 0x4, address: 0x80A4ACF4 static class Symbol heading; // size: 0x4, address: 0x80A4ACFC // Range: 0x800DAEC0 -> 0x800DB06C char * CharProvider::Text(const class CharProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> static class Symbol heading; // -> static class Symbol option; // -> static class Symbol character; } // Range: 0x800DB06C -> 0x800DB0B8 class RndMat * CharProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800DB0B8 -> 0x800DB0E0 int CharProvider::NumData() {} // Range: 0x800DB0E0 -> 0x800DB100 unsigned char CharProvider::IsActive() { // Local variables enum EntryType t; // r3 } // Range: 0x800DB100 -> 0x800DB168 unsigned char CharNameCmp(const class TourCharLocal * lhs /* r30 */) {} // Range: 0x800DB168 -> 0x800DB1D0 unsigned char CharEntryNameCmp(const struct CharEntry & lhs /* r30 */) {} struct CharEntry { // total size: 0x14 class String mStr; // offset 0x0, size 0xC class CharData * mChar; // offset 0xC, size 0x4 enum EntryType mType; // offset 0x10, size 0x4 }; // Range: 0x800DB1D0 -> 0x800DB3B8 void CharProvider::AddToCharList(class CharProvider * const this /* r30 */, const char * strHeading /* r28 */, const class vector & chars /* r31 */) { // Local variables struct CharEntry entry; // r1+0x18 class TourCharLocal * const * it; // r28 class TourCharLocal * pChar; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800DB3B8 -> 0x800DB4A4 void CharProvider::AddToCharList(class CharProvider * const this /* r29 */, const class vector & chars /* r30 */) { // Local variables const struct CharEntry * it; // r31 } static class Symbol is_tour; // size: 0x4, address: 0x80A4AD04 static class Symbol char_provider_create_new; // size: 0x4, address: 0x80A4AD0C static class Symbol char_provider_my_members; // size: 0x4, address: 0x80A4AD14 static class Symbol char_provider_my_chars; // size: 0x4, address: 0x80A4AD1C static class Symbol char_provider_profile_possessive; // size: 0x4, address: 0x80A4AD24 static class Symbol char_provider_profile_members; // size: 0x4, address: 0x80A4AD2C static class Symbol char_provider_profile_chars; // size: 0x4, address: 0x80A4AD34 static class Symbol char_provider_prefabs; // size: 0x4, address: 0x80A4AD3C static class Symbol char_provider_prefab_random; // size: 0x4, address: 0x80A4AD44 // Range: 0x800DB4A4 -> 0x800DC3D0 void CharProvider::GenerateCharEntryList(class CharProvider * const this /* r26 */) { // Local variables class BandUser * pUser; // r29 struct CharEntry entry; // r1+0x140 unsigned char isTour; // r0 class vector users; // r1+0x134 class Profile * pProfile; // r29 class vector memberChars; // r1+0x128 class TourBand * pBand; // r25 class vector roster; // r1+0x11C struct BandMember * it; // r25 class TourCharLocal * pChar; // r1+0xDC const char * strHeading; // r0 class vector chars; // r1+0x110 class TourCharLocal * * itMember; // r25 class TourCharLocal * pCharMember; // r27 class TourCharLocal * * it; // r28 class TourCharLocal * pChar; // r29 const char * strHeading; // r0 class BandUser * * it; // r28 class BandUser * pUserOther; // r25 class Profile * pProfileOther; // r27 class vector chars; // r1+0x104 const char * strHeadingFmt; // r24 const char * strHeading; // r0 class vector memberChars; // r1+0xF8 class TourBand * pBand; // r24 class vector roster; // r1+0xEC struct BandMember * it; // r24 class TourCharLocal * pChar; // r1+0xD8 const char * strHeading; // r0 class TourCharLocal * * itMember; // r24 class TourCharLocal * pCharMember; // r25 class TourCharLocal * * it; // r27 class TourCharLocal * pChar; // r23 const char * strHeading; // r0 class vector prefabs; // r1+0xE0 int cChar; // r0 int iChar; // r23 class PrefabChar * pPrefab; // r24 // References // -> const char * gNullStr; // -> static class Symbol char_provider_prefab_random; // -> static class Symbol char_provider_prefabs; // -> static class Symbol char_provider_profile_chars; // -> static class Symbol char_provider_profile_members; // -> class PlatformMgr ThePlatformMgr; // -> static class Symbol char_provider_profile_possessive; // -> static class Symbol char_provider_my_chars; // -> static class Symbol char_provider_my_members; // -> class Tour * TheTour; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol char_provider_create_new; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> class BandUserMgr * TheBandUserMgr; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x800DC3D0 -> 0x800DC3DC void CharProvider::ClearRandomPrefab() {} static class Symbol _s; // size: 0x4, address: 0x80A4AD4C static class Symbol _s; // size: 0x4, address: 0x80A4AD54 static class Symbol _s; // size: 0x4, address: 0x80A4AD5C static class Symbol _s; // size: 0x4, address: 0x80A4AD64 // Range: 0x800DC3DC -> 0x800DCA70 class DataNode CharProvider::Handle(class CharProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__12CharProvider; // size: 0x9C, address: 0x80883B6C struct { // total size: 0x8 } __RTTI__12CharProvider; // size: 0x8, address: 0x80883C38 struct { // total size: 0x8 } __RTTI__PQ212CharProvider9CharEntry; // size: 0x8, address: 0x80883CB0 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DCA70 -> 0x800DCC0C */ // Range: 0x800DCA70 -> 0x800DCB38 class CharData * CharProvider::GetCharData(class CharProvider * const this /* r30 */) { // Local variables enum EntryType t; // r0 int oldPos; // r7 // References // -> class Debug TheDebug; } // Range: 0x800DCB38 -> 0x800DCC0C int CharProvider::FindNthPos(const class CharProvider * const this /* r30 */, int n /* r31 */) { // Local variables int validEntries; // r6 int lastEntry; // r7 int cEntry; // r8 int iEntry; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DCC0C -> 0x800DCC48 */ // Range: 0x800DCC0C -> 0x800DCC38 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DCC48 -> 0x800DDA08 */ // Range: 0x800DCC48 -> 0x800DCCEC void sort(struct CharEntry * __first /* r29 */, struct CharEntry * __last /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) {} // Range: 0x800DCCEC -> 0x800DCD84 void __final_insertion_sort(struct CharEntry * __first /* r29 */, struct CharEntry * __last /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) {} // Range: 0x800DCD84 -> 0x800DCE10 void __unguarded_insertion_sort_aux(struct CharEntry * __last /* r29 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r30 */) { // Local variables struct CharEntry * __i; // r31 } // Range: 0x800DCE10 -> 0x800DCEBC void __unguarded_linear_insert(struct CharEntry * __last /* r28 */, struct CharEntry & __val /* r29 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r30 */) { // Local variables struct CharEntry * __next; // r31 } // Range: 0x800DCEBC -> 0x800DCF60 void __insertion_sort(struct CharEntry * __first /* r28 */, struct CharEntry * __last /* r29 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r30 */) { // Local variables struct CharEntry * __i; // r31 } // Range: 0x800DCF60 -> 0x800DD078 void __linear_insert(struct CharEntry * __first /* r27 */, struct CharEntry * __last /* r28 */, struct CharEntry & __val /* r29 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r30 */) {} // Range: 0x800DD078 -> 0x800DD220 void __introsort_loop(struct CharEntry * __first /* r28 */, struct CharEntry * __last /* r29 */, long __depth_limit /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) { // Local variables struct CharEntry * __cut; // r27 } // Range: 0x800DD220 -> 0x800DD348 struct CharEntry * __unguarded_partition(struct CharEntry * __first /* r28 */, struct CharEntry * __last /* r29 */, struct CharEntry & __pivot /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) {} // Range: 0x800DD348 -> 0x800DD354 void partial_sort() {} // Range: 0x800DD354 -> 0x800DD44C void __partial_sort(struct CharEntry * __first /* r27 */, struct CharEntry * __middle /* r28 */, struct CharEntry * __last /* r29 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r30 */) { // Local variables struct CharEntry * __i; // r31 } // Range: 0x800DD44C -> 0x800DD4E0 void sort(class TourCharLocal * * __first /* r29 */, class TourCharLocal * * __last /* r30 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r31 */) {} // Range: 0x800DD4E0 -> 0x800DD568 void __final_insertion_sort(class TourCharLocal * * __first /* r29 */, class TourCharLocal * * __last /* r30 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r31 */) {} // Range: 0x800DD568 -> 0x800DD5C8 void __unguarded_insertion_sort_aux(class TourCharLocal * * __last /* r29 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r30 */) { // Local variables class TourCharLocal * * __i; // r31 } // Range: 0x800DD5C8 -> 0x800DD648 void __unguarded_linear_insert(class TourCharLocal * * __last /* r28 */, class TourCharLocal * __val /* r29 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r30 */) { // Local variables class TourCharLocal * * __next; // r31 } // Range: 0x800DD648 -> 0x800DD6FC void __insertion_sort(class TourCharLocal * * __first /* r27 */, class TourCharLocal * * __last /* r28 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r29 */) { // Local variables class TourCharLocal * * __i; // r30 } // Range: 0x800DD6FC -> 0x800DD860 void __introsort_loop(class TourCharLocal * * __first /* r27 */, class TourCharLocal * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r30 */) { // Local variables class TourCharLocal * * __cut; // r31 } // Range: 0x800DD860 -> 0x800DD934 class TourCharLocal * * __unguarded_partition(class TourCharLocal * * __first /* r28 */, class TourCharLocal * * __last /* r29 */, class TourCharLocal * __pivot /* r30 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r31 */) {} // Range: 0x800DD934 -> 0x800DD940 void partial_sort() {} // Range: 0x800DD940 -> 0x800DDA08 void __partial_sort(class TourCharLocal * * __first /* r27 */, class TourCharLocal * * __middle /* r28 */, class TourCharLocal * * __last /* r29 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r30 */) { // Local variables class TourCharLocal * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DDA08 -> 0x800DDA38 */ // Range: 0x800DDA08 -> 0x800DDA20 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x800DDA20 -> 0x800DDA38 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DDA38 -> 0x800DDF80 */ // Range: 0x800DDA38 -> 0x800DDAC0 void pop_heap(struct CharEntry * __first /* r29 */, struct CharEntry * __last /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) {} // Range: 0x800DDAC0 -> 0x800DDBFC void __adjust_heap(struct CharEntry * __first /* r27 */, long __holeIndex /* r25 */, long __len /* r24 */, struct CharEntry & __val /* r28 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x800DDBFC -> 0x800DDCE0 void __push_heap(struct CharEntry * __first /* r28 */, long __holeIndex /* r25 */, long __topIndex /* r29 */, struct CharEntry & __val /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) { // Local variables long __parent; // r24 } // Range: 0x800DDCE0 -> 0x800DDDA4 void make_heap(struct CharEntry * __first /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) {} // Range: 0x800DDDA4 -> 0x800DDDD0 void pop_heap(class TourCharLocal * * __last /* r8 */) {} // Range: 0x800DDDD0 -> 0x800DDEEC void __adjust_heap(class TourCharLocal * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class TourCharLocal * __val /* r29 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 } // Range: 0x800DDEEC -> 0x800DDF80 void make_heap(class TourCharLocal * * __first /* r28 */, unsigned char (* __comp)(class TourCharLocal *, class TourCharLocal *) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DDF80 -> 0x800DE038 */ // Range: 0x800DDF80 -> 0x800DE038 void __pop_heap(struct CharEntry * __first /* r27 */, struct CharEntry * __last /* r28 */, struct CharEntry * __result /* r29 */, struct CharEntry & __val /* r30 */, unsigned char (* __comp)(struct CharEntry &, struct CharEntry &) /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DE038 -> 0x800DE46C */ // Range: 0x800DE038 -> 0x800DE28C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct CharEntry * __pos /* r26 */, const struct CharEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct CharEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212CharProvider9CharEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800DE28C -> 0x800DE46C void vector::reserve(class vector * const this /* r27 */, unsigned long __n /* r28 */) { // Local variables struct CharEntry * __tmp; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212CharProvider9CharEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\CharSelectPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DE46C -> 0x800DFDF4 */ class DataArray * types; // size: 0x4, address: 0x80A4AD68 class Symbol name; // size: 0x4, address: 0x80A4AD70 class CharSelectPanel * sInstance; // size: 0x4, address: 0x80A4AD74 // Range: 0x800DE46C -> 0x800DE54C void * CharSelectPanel::CharSelectPanel(class CharSelectPanel * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class CharSelectPanel * sInstance; // -> struct [anonymous] __vt__15CharSelectPanel; } // Range: 0x800DE54C -> 0x800DE680 void CharSelectPanel::SelectCam(class CharSelectPanel * const this /* r28 */, const char * name /* r29 */) { // Local variables class WorldDir * dir; // r30 const char * shot_name; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__8WorldDir; } // Range: 0x800DE680 -> 0x800DE990 void CharSelectPanel::SelectNextCam(class CharSelectPanel * const this /* r24 */) { // Local variables class WorldDir * dir; // r27 const char * shot_name; // r26 class CamShot * s; // r25 const char * shot_name; // r25 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__8WorldDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x800DE990 -> 0x800DE998 void CharSelectPanel::SetCreatorUser() {} // Range: 0x800DE998 -> 0x800DEAE0 void CharSelectPanel::PlayAttitudeGroup(class CharSelectPanel * const this /* r28 */) { // Local variables class CompositeCharacter * c; // r29 // References // -> const char * gNullStr; // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800DEAE0 -> 0x800DEAE8 void CharSelectPanel::SetLoadingPanel() {} // Range: 0x800DEAE8 -> 0x800DEB28 void CharSelectPanel::Enter(class CharSelectPanel * const this /* r31 */) {} static class Symbol show_char; // size: 0x4, address: 0x80A4AD7C static class Message msg; // size: 0x8, address: 0x809786C0 // Range: 0x800DEB28 -> 0x800DF030 void CharSelectPanel::Poll(class CharSelectPanel * const this /* r23 */) { // Local variables int slot; // r29 class UIProxy * proxy; // r28 int player_num; // r27 unsigned char is_showing; // r26 class CompositeCharacter * c; // r25 class UIScreen * s; // r30 class DataNode n; // r1+0x38 class vector & cats; // r0 int cat_index; // r24 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol show_char; // -> class UIManager TheUI; // -> class CharCache * TheCharCache; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800DF030 -> 0x800DF29C void CharSelectPanel::FinishLoad(class CharSelectPanel * const this /* r31 */) { // Local variables class Symbol mode; // r1+0x28 int max_players; // r0 int i; // r25 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIProxy; // -> class GameMode * TheGameMode; } // Range: 0x800DF29C -> 0x800DF35C class Symbol CharSelectPanel::Mode() { // Local variables int max_players; // r0 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class UIProxy * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x800DF35C -> 0x800DF69C void CharSelectPanel::HookupProxy(class UIProxy * p /* r30 */, class CompositeCharacter * c /* r31 */) { // Local variables class ObjDirItr i; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIProxy; } static class Symbol _s; // size: 0x4, address: 0x80A4AD84 static class Symbol _s; // size: 0x4, address: 0x80A4AD8C static class Symbol _s; // size: 0x4, address: 0x80A4AD94 static class Symbol _s; // size: 0x4, address: 0x80A4AD9C static class Symbol _s; // size: 0x4, address: 0x80A4ADA4 // Range: 0x800DF69C -> 0x800DFDF4 class DataNode CharSelectPanel::Handle(class CharSelectPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__8WorldDir; // size: 0x8, address: 0x80883EF8 struct { // total size: 0x8 } __RTTI__7UIProxy; // size: 0x8, address: 0x80884038 class ObjDirPtr : public ObjRef { // total size: 0xC protected: class RndDir * mDir; // offset 0x4, size 0x4 class DirLoader * mLoader; // offset 0x8, size 0x4 }; class UIProxy : public UIComponent { // total size: 0x1D0 class ObjDirPtr mDir; // offset 0x130, size 0xC class ObjPtr mEnv; // offset 0x13C, size 0xC class RndTransformable * mMainTrans; // offset 0x148, size 0x4 class Transform mOldXfm; // offset 0x150, size 0x40 unsigned char mSyncOnMove; // offset 0x190, size 0x1 unsigned char mPolled; // offset 0x191, size 0x1 }; struct { // total size: 0xAC } __vt__15CharSelectPanel; // size: 0xAC, address: 0x80884268 struct { // total size: 0x8 } __RTTI__15CharSelectPanel; // size: 0x8, address: 0x80884348 struct { // total size: 0x8 } __RTTI__PP7UIProxy; // size: 0x8, address: 0x808843E0 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DFDF4 -> 0x800DFF78 */ // Range: 0x800DFDF4 -> 0x800DFE54 char * MakeString(const char * fmt /* r0 */, class String & t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800DFF78 -> 0x800E00E8 */ // Range: 0x800DFF78 -> 0x800E00E8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIProxy; } /* Compile unit: C:\rockband2\band2\src\meta\CharSelectPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E00E8 -> 0x800E02C0 */ // Range: 0x800E00E8 -> 0x800E012C class Symbol CharSelectPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800E012C -> 0x800E02C0 void CharSelectPanel::SetType(class CharSelectPanel * const this /* r29 */, class Symbol & CharSelectPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E02C0 -> 0x800E03F8 */ // Range: 0x800E02C0 -> 0x800E03F8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class UIProxy * * __pos /* r28 */, class UIProxy * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class UIProxy * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7UIProxy; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\ContentLoadingPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E03F8 -> 0x800E09F0 */ class DataArray * types; // size: 0x4, address: 0x80A4ADA8 class Symbol name; // size: 0x4, address: 0x80A4ADB0 class ContentLoadingPanel : public UIPanel, public Callback { // total size: 0x6C unsigned char mAllowedToShow; // offset 0x34, size 0x1 int mCount; // offset 0x38, size 0x4 int mCurrent; // offset 0x3C, size 0x4 }; // Range: 0x800E03F8 -> 0x800E04A0 void * ContentLoadingPanel::ContentLoadingPanel(class ContentLoadingPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__19ContentLoadingPanel; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; } // Range: 0x800E04A0 -> 0x800E0560 void * ContentLoadingPanel::~ContentLoadingPanel(class ContentLoadingPanel * const this /* r29 */) { // References // -> class ContentMgr & TheContentMgr; // -> struct [anonymous] __vt__19ContentLoadingPanel; } // Range: 0x800E0560 -> 0x800E0570 void ContentLoadingPanel::ContentMounted() {} // Range: 0x800E0570 -> 0x800E0580 void ContentLoadingPanel::ContentFailed() {} // Range: 0x800E0580 -> 0x800E05EC void ContentLoadingPanel::ContentDone(class ContentLoadingPanel * const this /* r30 */) {} // Range: 0x800E05EC -> 0x800E05F4 char * ContentLoadingPanel::ContentDir() {} // Range: 0x800E05F4 -> 0x800E0614 unsigned char ContentLoadingPanel::HasDataToShow() {} // Range: 0x800E0614 -> 0x800E0628 void ContentLoadingPanel::AllowedToShow() {} static class Symbol _s; // size: 0x4, address: 0x80A4ADB8 // Range: 0x800E0628 -> 0x800E09F0 class DataNode ContentLoadingPanel::Handle(class ContentLoadingPanel * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x100 } __vt__19ContentLoadingPanel; // size: 0x100, address: 0x808845D0 struct { // total size: 0x8 } __RTTI__19ContentLoadingPanel; // size: 0x8, address: 0x80884708 /* Compile unit: C:\rockband2\band2\src\meta\ContentLoadingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E09F0 -> 0x800E0F8C */ // Range: 0x800E09F0 -> 0x800E0AFC void ContentLoadingPanel::ContentMountBegun(class ContentLoadingPanel * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x800E0AFC -> 0x800E0D10 void ContentLoadingPanel::Poll(class ContentLoadingPanel * const this /* r28 */) { // Local variables float currentFrame; // f1 float targetFrame; // f30 float percentage; // f1 // References // -> class TaskMgr TheTaskMgr; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E0D10 -> 0x800E0DB4 void ContentLoadingPanel::ShowIfPossible(class ContentLoadingPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E0DB4 -> 0x800E0DF8 class Symbol ContentLoadingPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800E0DF8 -> 0x800E0F8C void ContentLoadingPanel::SetType(class ContentLoadingPanel * const this /* r29 */, class Symbol & ContentLoadingPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\ContextChecker.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E1048 -> 0x800E1DC0 */ static int gContextWeight; // size: 0x4, address: 0x80A465A0 // Range: 0x800E1048 -> 0x800E10BC static unsigned char CheckContextAnd(const class DataArray * arr /* r30 */) { // Local variables int i; // r31 } // Range: 0x800E10BC -> 0x800E1130 static unsigned char CheckContextOr(const class DataArray * arr /* r30 */) { // Local variables int i; // r31 } // Range: 0x800E1130 -> 0x800E11B0 static unsigned char CheckContextNot(const class DataArray * arr /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E11B0 -> 0x800E1258 static unsigned char CheckContextModeProperty(const class DataArray * arr /* r31 */) { // References // -> class GameMode * TheGameMode; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E1258 -> 0x800E12EC static unsigned char CheckContextDiff(const class DataArray * arr /* r29 */) { // Local variables int diff; // r0 int i; // r30 // References // -> class GameConfig * TheGameConfig; } // Range: 0x800E12EC -> 0x800E1370 static unsigned char CheckContextInstrument(const class DataArray * arr /* r30 */) { // Local variables int i; // r31 // References // -> class GameConfig * TheGameConfig; } // Range: 0x800E1370 -> 0x800E140C static unsigned char CheckContextSong(const class DataArray * arr /* r29 */) { // Local variables int i; // r30 } // Range: 0x800E140C -> 0x800E14B8 static unsigned char CheckContextArtist(const class DataArray * arr /* r29 */) { // Local variables const char * artist; // r31 int i; // r30 // References // -> class SongMgr & TheSongMgr; } // Range: 0x800E14B8 -> 0x800E156C static unsigned char CheckContextCity(const class DataArray * arr /* r29 */) { // Local variables int i; // r30 // References // -> class GameConfig * TheGameConfig; // -> class Tour * TheTour; } // Range: 0x800E156C -> 0x800E15FC static unsigned char CheckContextVenue(const class DataArray * arr /* r29 */) { // Local variables int i; // r30 // References // -> class GameConfig * TheGameConfig; } class TourWorldEvent : public TourEvent { // total size: 0xC0 protected: class Symbol mTown; // offset 0x90, size 0x4 class Symbol mVenue; // offset 0x94, size 0x4 unsigned char mDisplaySong; // offset 0x98, size 0x1 int mTownFameRequired; // offset 0x9C, size 0x4 int mWorldFameRequired; // offset 0xA0, size 0x4 int mBuzzRequired; // offset 0xA4, size 0x4 class Symbol mItemRequired; // offset 0xA8, size 0x4 class Symbol mAwardItem; // offset 0xAC, size 0x4 class Symbol mWarningScreen; // offset 0xB0, size 0x4 class Symbol mVenueVariant; // offset 0xB4, size 0x4 class Symbol mBuzzVenue; // offset 0xB8, size 0x4 unsigned char mAllowMoments; // offset 0xBC, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class vector * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class vector * _M_start; // offset 0x0, size 0x4 class vector * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourTier { // total size: 0x10 public: class Symbol mName; // offset 0x0, size 0x4 class vector mVenueTiers; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourTier * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourTier * * _M_start; // offset 0x0, size 0x4 class TourTier * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourVenue { // total size: 0x14 public: class Symbol mName; // offset 0x0, size 0x4 class Symbol mVariant; // offset 0x4, size 0x4 class vector mEvents; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourVenue * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourVenue * * _M_start; // offset 0x0, size 0x4 class TourVenue * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct TownUnlock { // total size: 0x8 class Symbol mMaleTorso; // offset 0x0, size 0x4 class Symbol mFemaleTorso; // offset 0x4, size 0x4 }; class TourTown { // total size: 0x28 public: class Symbol mName; // offset 0x0, size 0x4 int mOrder; // offset 0x4, size 0x4 class Symbol mContinent; // offset 0x8, size 0x4 class vector mVenues; // offset 0xC, size 0xC struct TownUnlock mPlayedUnlock; // offset 0x18, size 0x8 struct TownUnlock mCompletedUnlock; // offset 0x20, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourTown * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourTown * * _M_start; // offset 0x0, size 0x4 class TourTown * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourStaff : public Object { // total size: 0x58 class Symbol mStaffName; // offset 0x28, size 0x4 int mStarsRequired; // offset 0x2C, size 0x4 int mBuzzRequired; // offset 0x30, size 0x4 class Symbol mItemRequired; // offset 0x34, size 0x4 class DataArray * mBuzzModifier; // offset 0x38, size 0x4 float mBuzzLostModifier; // offset 0x3C, size 0x4 class DataArray * mMoneyPerStarModifier; // offset 0x40, size 0x4 float mBuzzRequiredModifier; // offset 0x44, size 0x4 class list mBuzzRequiredTowns; // offset 0x48, size 0x8 int mMinMomentFreq; // offset 0x50, size 0x4 int mMaxMomentFreq; // offset 0x54, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourStaff * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourStaff * * _M_start; // offset 0x0, size 0x4 class TourStaff * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourMoment : public Object { // total size: 0x5C class Symbol mMomentName; // offset 0x28, size 0x4 class DataArray * mCfg; // offset 0x2C, size 0x4 int mMinVehicle; // offset 0x30, size 0x4 int mMaxVehicle; // offset 0x34, size 0x4 class String mLoadingScreen; // offset 0x38, size 0xC unsigned char mDisableStaff; // offset 0x44, size 0x1 unsigned char mDisableOverdrive; // offset 0x45, size 0x1 class EventSong * mAdditionalSong; // offset 0x48, size 0x4 class EventSong * mReplaceSong; // offset 0x4C, size 0x4 class TourWorldEvent * mOpportunity; // offset 0x50, size 0x4 int mStarsRequired; // offset 0x54, size 0x4 int mBuzzRequired; // offset 0x58, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TourMoment * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TourMoment * * _M_start; // offset 0x0, size 0x4 class TourMoment * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct VehicleTown { // total size: 0xC int mVehicleLevel; // offset 0x0, size 0x4 const class TourTown * mTown; // offset 0x4, size 0x4 const class TourTier * mTier; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct VehicleTown * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct VehicleTown * _M_start; // offset 0x0, size 0x4 struct VehicleTown * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct MappedTowns { // total size: 0x10 class Symbol mHometown; // offset 0x0, size 0x4 class vector mTowns; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct MappedTowns * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct MappedTowns * _M_start; // offset 0x0, size 0x4 struct MappedTowns * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TourWorld { // total size: 0x4C public: void * __vptr$; // offset 0x0, size 0x4 protected: class vector mTiers; // offset 0x4, size 0xC class vector mTowns; // offset 0x10, size 0xC class vector mStaff; // offset 0x1C, size 0xC class vector mMoments; // offset 0x28, size 0xC class vector mDisabledBattles; // offset 0x34, size 0xC class vector mTownsByHometown; // offset 0x40, size 0xC }; // Range: 0x800E15FC -> 0x800E16A4 static unsigned char CheckContextUnlocked(const class DataArray * arr /* r29 */) { // Local variables class TourBand * band; // r31 int i; // r30 // References // -> class Tour * TheTour; } static class Symbol sym_and; // size: 0x4, address: 0x80A4ADC4 static class Symbol sym_or; // size: 0x4, address: 0x80A4ADCC static class Symbol sym_not; // size: 0x4, address: 0x80A4ADD4 static class Symbol mode_property; // size: 0x4, address: 0x80A4ADDC static class Symbol diff; // size: 0x4, address: 0x80A4ADE4 static class Symbol instrument; // size: 0x4, address: 0x80A4ADEC static class Symbol song; // size: 0x4, address: 0x80A4ADF4 static class Symbol artist; // size: 0x4, address: 0x80A4ADFC static class Symbol city; // size: 0x4, address: 0x80A4AE04 static class Symbol venue; // size: 0x4, address: 0x80A4AE0C static class Symbol unlocked; // size: 0x4, address: 0x80A4AE14 static class Symbol weight; // size: 0x4, address: 0x80A4AE1C // Range: 0x800E16A4 -> 0x800E19D0 static unsigned char InternalCheckContext(const class DataArray * arr /* r30 */) { // References // -> class Debug TheDebug; // -> static int gContextWeight; // -> static class Symbol weight; // -> static class Symbol unlocked; // -> static class Symbol venue; // -> static class Symbol city; // -> static class Symbol artist; // -> static class Symbol song; // -> static class Symbol instrument; // -> static class Symbol diff; // -> static class Symbol mode_property; // -> static class Symbol sym_not; // -> static class Symbol sym_or; // -> static class Symbol sym_and; } static class Rand gContextRand; // size: 0x410, address: 0x809786C8 // Range: 0x800E19D0 -> 0x800E1A0C int CheckContext() { // References // -> static int gContextWeight; } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x800E1A0C -> 0x800E1C80 class Symbol RandomContextSensitiveItem(const class DataArray * arr /* r28 */) { // Local variables class vector tips; // r1+0x58 int total_weight; // r30 int i; // r29 int weight; // r0 int val; // r0 int i; // r5 // References // -> class Debug TheDebug; // -> static class Rand gContextRand; } class StlNodeAlloc { // total size: 0x1 }; struct WeightedTip { // total size: 0x8 int mWeightAccum; // offset 0x0, size 0x4 class Symbol mTip; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct WeightedTip * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct WeightedTip * _M_start; // offset 0x0, size 0x4 struct WeightedTip * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x800E1C80 -> 0x800E1CDC class DataNode OnRandomContext(class DataArray * args /* r31 */) {} // Range: 0x800E1CDC -> 0x800E1CEC void SeedRandomContext() { // References // -> static class Rand gContextRand; } // Range: 0x800E1CEC -> 0x800E1D48 class DataNode OnSeedRandomContext(class DataArray * args /* r31 */) {} // Range: 0x800E1D48 -> 0x800E1DB0 void ContextCheckerInit() { // References // -> static class Rand gContextRand; } struct { // total size: 0x8 } __RTTI__P11WeightedTip; // size: 0x8, address: 0x80884940 // Range: 0x800E1DB0 -> 0x800E1DC0 static void __sinit_\ContextChecker_cpp() { // References // -> static class Rand gContextRand; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E1DC0 -> 0x800E1FAC */ // Range: 0x800E1DC0 -> 0x800E1FAC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct WeightedTip * __pos /* r26 */, const struct WeightedTip & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct WeightedTip * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11WeightedTip; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\CreditsPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E1FAC -> 0x800E2880 */ class DataArray * types; // size: 0x4, address: 0x80A4AE20 class Symbol name; // size: 0x4, address: 0x80A4AE28 class CreditsPanel : public ListProvider, public UIPanel { // total size: 0x70 class DataLoader * mLoader; // offset 0x34, size 0x4 class DataArray * mNames; // offset 0x38, size 0x4 class UIList * mList; // offset 0x3C, size 0x4 class Stream * mStream; // offset 0x40, size 0x4 }; // Range: 0x800E1FAC -> 0x800E2050 void * CreditsPanel::CreditsPanel(class CreditsPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__12CreditsPanel; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800E2050 -> 0x800E20DC void * CreditsPanel::~CreditsPanel(class CreditsPanel * const this /* r29 */) {} // Range: 0x800E20DC -> 0x800E2144 unsigned char CreditsPanel::IsLoaded(class CreditsPanel * const this /* r30 */) {} // Range: 0x800E2144 -> 0x800E21EC unsigned char CreditsPanel::Exiting(class CreditsPanel * const this /* r28 */) {} // Range: 0x800E21EC -> 0x800E227C void CreditsPanel::Unload(class CreditsPanel * const this /* r31 */) {} // Range: 0x800E227C -> 0x800E22EC void CreditsPanel::Enter(class CreditsPanel * const this /* r31 */) { // References // -> unsigned char gCreditsPanelLoaded; } // Range: 0x800E22EC -> 0x800E23A0 class DataNode CreditsPanel::OnMsg(const class ButtonDownMsg & msg /* r30 */) {} static class Symbol heading; // size: 0x4, address: 0x80A4AE30 static class Symbol slot_heading; // size: 0x4, address: 0x80A4AE38 static class Symbol slot_left; // size: 0x4, address: 0x80A4AE40 static class Symbol slot_right; // size: 0x4, address: 0x80A4AE48 static class Symbol slot_centered; // size: 0x4, address: 0x80A4AE50 static class Symbol image; // size: 0x4, address: 0x80A4AE58 static class Symbol blank; // size: 0x4, address: 0x80A4AE60 static class Symbol heading2; // size: 0x4, address: 0x80A4AE68 static class Symbol title_name; // size: 0x4, address: 0x80A4AE70 static class Symbol centered; // size: 0x4, address: 0x80A4AE78 // Range: 0x800E23A0 -> 0x800E26D8 char * CreditsPanel::Text(const class CreditsPanel * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol centered; // -> static class Symbol title_name; // -> static class Symbol heading2; // -> static class Symbol blank; // -> static class Symbol image; // -> static class Symbol slot_centered; // -> static class Symbol slot_right; // -> static class Symbol slot_left; // -> static class Symbol slot_heading; // -> static class Symbol heading; } static class Symbol image; // size: 0x4, address: 0x80A4AE80 static class Symbol blank; // size: 0x4, address: 0x80A4AE88 // Range: 0x800E26D8 -> 0x800E2874 class RndMat * CreditsPanel::Mat(const class CreditsPanel * const this /* r28 */, int data /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> static class Symbol blank; // -> static class Symbol image; } // Range: 0x800E2874 -> 0x800E2880 int CreditsPanel::NumData() {} struct { // total size: 0x11C } __vt__12CreditsPanel; // size: 0x11C, address: 0x80884A88 struct { // total size: 0x8 } __RTTI__12CreditsPanel; // size: 0x8, address: 0x80884BD8 /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E2880 -> 0x800E30E0 */ // Range: 0x800E2880 -> 0x800E295C void CreditsPanel::Load(class CreditsPanel * const this /* r29 */) { // Local variables char path[256]; // r1+0x18 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x800E295C -> 0x800E2ACC void CreditsPanel::FinishLoad(class CreditsPanel * const this /* r28 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E2ACC -> 0x800E2B48 void CreditsPanel::Exit(class CreditsPanel * const this /* r30 */) { // References // -> unsigned char gCreditsPanelLoaded; } // Range: 0x800E2B48 -> 0x800E2C70 void CreditsPanel::Poll(class CreditsPanel * const this /* r31 */) { // References // -> float kStreamEnd; // -> class Synth * TheSynth; } // Range: 0x800E2C70 -> 0x800E30E0 class DataNode CreditsPanel::Handle(class CreditsPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\band2\src\meta\CreditsPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E3190 -> 0x800E3368 */ // Range: 0x800E3190 -> 0x800E31D4 class Symbol CreditsPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800E31D4 -> 0x800E3368 void CreditsPanel::SetType(class CreditsPanel * const this /* r29 */, class Symbol & CreditsPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\DrumTutorialPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E3368 -> 0x800E4108 */ class DataArray * types; // size: 0x4, address: 0x80A4AE90 class Symbol name; // size: 0x4, address: 0x80A4AE98 class DrumTutorialPanel * TheDrumTutorialPanel; // size: 0x4, address: 0x80A4AE9C struct FileData { // total size: 0x4 const char * file; // offset 0x0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct FileData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct FileData * _M_start; // offset 0x0, size 0x4 struct FileData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct EventData { // total size: 0x14 class Symbol name; // offset 0x0, size 0x4 int next; // offset 0x4, size 0x4 class vector files; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EventData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EventData * _M_start; // offset 0x0, size 0x4 struct EventData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class VoiceMgr { // total size: 0x18 class vector mEventList; // offset 0x0, size 0xC float mVolume; // offset 0xC, size 0x4 const char * mDirectory; // offset 0x10, size 0x4 class StreamPlayer * mStreamPlayer; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct Flasher { // total size: 0x8 class RndDrawable * mDrawable; // offset 0x0, size 0x4 int mFrames; // offset 0x4, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class TutorialPanel : public UIPanel, public BeatMatchControllerSink { // total size: 0xF0 protected: class VoiceMgr * mVoiceMgr; // offset 0x34, size 0x4 const char * mPanelName; // offset 0x38, size 0x4 private: float mTutorialSeconds; // offset 0x3C, size 0x4 int mTutorialPlayer; // offset 0x40, size 0x4 int mTotalAutoplayBRE; // offset 0x44, size 0x4 unsigned char mAutoplayingBRE; // offset 0x48, size 0x1 unsigned char mAutoplayingDrumsBRE; // offset 0x49, size 0x1 float mAutoplayBREWindow; // offset 0x4C, size 0x4 float mAutoplayBRETimes[5]; // offset 0x50, size 0x14 class GemPlayer * mGemAutoplayerBRE; // offset 0x64, size 0x4 class MasterAudio * mAudioAutoplayerBRE; // offset 0x68, size 0x4 unsigned char mAmbientLoopStarted; // offset 0x6C, size 0x1 class Sfx * mAmbientLoop; // offset 0x70, size 0x4 class list mFlashList; // offset 0x74, size 0x8 class Timer mTimer; // offset 0x80, size 0x38 class BeatMatchController * mController; // offset 0xB8, size 0x4 class Fader * mFader; // offset 0xBC, size 0x4 }; class DrumTutorialPanel : public TutorialPanel { // total size: 0xF8 class list mCallbackList; // offset 0xC0, size 0x8 }; // Range: 0x800E3368 -> 0x800E3420 void * DrumTutorialPanel::DrumTutorialPanel(class DrumTutorialPanel * const this /* r30 */) { // References // -> class DrumTutorialPanel * TheDrumTutorialPanel; // -> struct [anonymous] __vt__17DrumTutorialPanel; } class _List_node : public _List_node_base { // total size: 0xC public: class Object * _M_data; // offset 0x8, size 0x4 }; // Range: 0x800E3420 -> 0x800E34C4 void * DrumTutorialPanel::~DrumTutorialPanel(class DrumTutorialPanel * const this /* r29 */) { // References // -> class DrumTutorialPanel * TheDrumTutorialPanel; } // Range: 0x800E34C4 -> 0x800E34FC void DrumTutorialPanel::Enter(class DrumTutorialPanel * const this /* r31 */) {} // Range: 0x800E34FC -> 0x800E353C void DrumTutorialPanel::Exit(class DrumTutorialPanel * const this /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x800E353C -> 0x800E3728 unsigned char DrumTutorialPanel::Swing(class DrumTutorialPanel * const this /* r31 */) { // Local variables class Message msgOut; // r1+0x38 struct _List_iterator j; // r1+0x18 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x800E3728 -> 0x800E37FC class DataNode DrumTutorialPanel::OnAddDrumHitCallback(class DrumTutorialPanel * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables class Object * callback; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node; // size: 0x8, address: 0x80884F18 // Range: 0x800E37FC -> 0x800E38EC class DataNode DrumTutorialPanel::OnRemoveDrumHitCallback(class DrumTutorialPanel * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables class Object * callback; // r31 } // Range: 0x800E38EC -> 0x800E3958 int DrumTutorialPanel::Get16th() { // Local variables struct MBT mbt; // r1+0x8 // References // -> class SongDB * TheSongDB; // -> class TaskMgr TheTaskMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4AEA4 static class Symbol _s; // size: 0x4, address: 0x80A4AEAC static class Symbol _s; // size: 0x4, address: 0x80A4AEB4 // Range: 0x800E3958 -> 0x800E4108 class DataNode DrumTutorialPanel::Handle(class DrumTutorialPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xE8 } __vt__17DrumTutorialPanel; // size: 0xE8, address: 0x80884F98 struct { // total size: 0x8 } __RTTI__17DrumTutorialPanel; // size: 0x8, address: 0x808850C0 struct { // total size: 0x8 } __RTTI__13TutorialPanel; // size: 0x8, address: 0x80885100 struct { // total size: 0x8 } __RTTI__23BeatMatchControllerSink; // size: 0x8, address: 0x80885120 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E4108 -> 0x800E4160 */ // Range: 0x800E4108 -> 0x800E4160 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\DrumTutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E41FC -> 0x800E43D4 */ // Range: 0x800E41FC -> 0x800E4240 class Symbol DrumTutorialPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800E4240 -> 0x800E43D4 void DrumTutorialPanel::SetType(class DrumTutorialPanel * const this /* r29 */, class Symbol & DrumTutorialPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchControllerSink.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E43D4 -> 0x800E43FC */ // Range: 0x800E43D4 -> 0x800E43D8 void BeatMatchControllerSink::Sweep() {} // Range: 0x800E43D8 -> 0x800E43DC void BeatMatchControllerSink::SetController() {} // Range: 0x800E43DC -> 0x800E43E0 void BeatMatchControllerSink::FretButtonUp() {} // Range: 0x800E43E0 -> 0x800E43E4 void BeatMatchControllerSink::FretButtonDown() {} // Range: 0x800E43E4 -> 0x800E43E8 void BeatMatchControllerSink::SetTrack() {} // Range: 0x800E43E8 -> 0x800E43EC void BeatMatchControllerSink::ChangeTrack() {} // Range: 0x800E43EC -> 0x800E43F0 void BeatMatchControllerSink::ForceMercurySwitch() {} // Range: 0x800E43F0 -> 0x800E43F4 void BeatMatchControllerSink::MercurySwitch() {} // Range: 0x800E43F4 -> 0x800E43F8 void BeatMatchControllerSink::NonStrumSwing() {} // Range: 0x800E43F8 -> 0x800E43FC void BeatMatchControllerSink::ReleaseSwing() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E43FC -> 0x800E445C */ // Range: 0x800E43FC -> 0x800E445C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\DrumTrainerPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E445C -> 0x800E88F8 */ class DataArray * types; // size: 0x4, address: 0x80A4AEB8 class Symbol name; // size: 0x4, address: 0x80A4AEC0 class DrumTrainerPanel * TheDrumTrainerPanel; // size: 0x4, address: 0x80A4AEC4 // Range: 0x800E445C -> 0x800E4570 void * DrumTrainerPanel::DrumTrainerPanel(class DrumTrainerPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__16DrumTrainerPanel; } // Range: 0x800E4570 -> 0x800E4704 void * DrumTrainerPanel::~DrumTrainerPanel(class DrumTrainerPanel * const this /* r30 */) {} // Range: 0x800E4704 -> 0x800E4F70 void DrumTrainerPanel::Enter(class DrumTrainerPanel * const this /* r30 */) { // Local variables class vector list; // r1+0xC int i; // r27 class BandUser * user; // r28 // References // -> struct [anonymous] __RTTI__13RndAnimatable; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class TaskMgr TheTaskMgr; // -> struct [anonymous] __RTTI__8FillInfo; // -> struct [anonymous] __RTTI__12DrumFillInfo; // -> class SongDB * TheSongDB; // -> struct [anonymous] __RTTI__5Track; // -> struct [anonymous] __RTTI__8GemTrack; // -> struct [anonymous] __RTTI__6Player; // -> struct [anonymous] __RTTI__9GemPlayer; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8TempoMap; // -> struct [anonymous] __RTTI__18MultiTempoTempoMap; // -> class TempoMap * TheTempoMap; // -> class DrumTrainerPanel * TheDrumTrainerPanel; } // Range: 0x800E4F70 -> 0x800E5140 void DrumTrainerPanel::Exit(class DrumTrainerPanel * const this /* r31 */) { // References // -> class DrumTrainerPanel * TheDrumTrainerPanel; } // Range: 0x800E5140 -> 0x800E5334 void DrumTrainerPanel::Draw(class DrumTrainerPanel * const this /* r31 */) { // Local variables class GameplayOptions * options; // r0 unsigned char lefty; // r0 const struct TabData * it; // r29 const struct TabData * it; // r29 float slot; // f31 } static class Message change_bpm; // size: 0x8, address: 0x80978AE8 // Range: 0x800E5334 -> 0x800E5AAC void DrumTrainerPanel::Poll(class DrumTrainerPanel * const this /* r26 */) { // Local variables int tick; // r29 struct MBT mbt; // r1+0x80 float ms; // f0 int jumpOffset; // r24 class Message msg; // r1+0x78 int beatsPerMeasure; // r0 class Message msg; // r1+0x70 int bottomTick; // r0 class GemTrackDir * gemTrackDir; // r28 class FillInfo * fillInfo; // r0 const class vector & vec; // r0 unsigned long i; // r27 class Symbol crashSymbol; // r1+0x20 // References // -> struct [anonymous] __RTTI__8TrackDir; // -> struct [anonymous] __RTTI__11GemTrackDir; // -> static class Message change_bpm; // -> struct [anonymous] __vt__7Message; // -> class SongDB * TheSongDB; } static class Message sMsg; // size: 0x8, address: 0x80978B00 // Range: 0x800E5AAC -> 0x800E5C2C void DrumTrainerPanel::UpdateScore(class DrumTrainerPanel * const this /* r31 */) { // References // -> static class Message sMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x800E5C2C -> 0x800E5E18 void DrumTrainerPanel::AddBeatMask(class DrumTrainerPanel * const this /* r26 */, int tick /* r27 */, int index /* r28 */) { // Local variables float startTime; // f31 float duration; // f30 class Transform xform; // r1+0x10 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E5E18 -> 0x800E5E34 int DrumTrainerPanel::GetBeatLengthTick() {} // Range: 0x800E5E34 -> 0x800E5ED0 class DataNode DrumTrainerPanel::OnSetDrumKit(class DrumTrainerPanel * const this /* r30 */, class DataArray * msg /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E5ED0 -> 0x800E5F4C int DrumTrainerPanel::SlotToSample() { // Local variables int sample; // r4 } // Range: 0x800E5F4C -> 0x800E6108 void DrumTrainerPanel::EncounterGem(class DrumTrainerPanel * const this /* r27 */, int gem_id /* r28 */) { // Local variables unsigned char last_gem; // r30 const class GameGemList & gems; // r0 int id; // r29 int loopTicks; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } // Range: 0x800E6108 -> 0x800E6158 int DrumTrainerPanel::LoopJumpTick(class DrumTrainerPanel * const this /* r31 */) { // Local variables int beatLength; // r0 int numPatterns; // r0 } // Range: 0x800E6158 -> 0x800E61C0 unsigned char DrumTrainerPanel::GetCanFreestyle(const class DrumTrainerPanel * const this /* r31 */) {} // Range: 0x800E61C0 -> 0x800E61C8 void DrumTrainerPanel::SetMetronome() {} // Range: 0x800E61C8 -> 0x800E61D0 unsigned char DrumTrainerPanel::GetMetronome() {} // Range: 0x800E61D0 -> 0x800E61F4 int DrumTrainerPanel::GetTick() { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x800E61F4 -> 0x800E61FC class GemTrack * DrumTrainerPanel::GetTrack() {} static class Message force_fill; // size: 0x8, address: 0x80978B18 // Range: 0x800E61FC -> 0x800E651C void DrumTrainerPanel::JumpToTick(class DrumTrainerPanel * const this /* r30 */, int tick /* r29 */) { // References // -> static class Message force_fill; // -> struct [anonymous] __vt__7Message; // -> class TaskMgr TheTaskMgr; // -> class Game * TheGame; } // Range: 0x800E651C -> 0x800E66CC void DrumTrainerPanel::RebuildGems(class DrumTrainerPanel * const this /* r28 */) { // Local variables int endTick; // r0 class GameGemList & gameGemList; // r0 struct FillExtent e; // r1+0x8 int id; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } // Range: 0x800E66CC -> 0x800E66DC int DrumTrainerPanel::BPMToTempo() {} // Range: 0x800E66DC -> 0x800E6770 void DrumTrainerPanel::SetBPM(class DrumTrainerPanel * const this /* r30 */, int bpm /* r31 */) {} // Range: 0x800E6770 -> 0x800E6798 int DrumTrainerPanel::GetNumBeats() {} // Range: 0x800E6798 -> 0x800E6830 class Symbol DrumTrainerPanel::GetBeatName(const class DrumTrainerPanel * const this /* r29 */, int index /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E6830 -> 0x800E68CC int DrumTrainerPanel::GetNumNotes(const class DrumTrainerPanel * const this /* r29 */, int index /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E68CC -> 0x800E6968 int DrumTrainerPanel::GetNumFillNotes(const class DrumTrainerPanel * const this /* r29 */, int index /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E6968 -> 0x800E6B54 void DrumTrainerPanel::CopyBeat(class DrumTrainerPanel * const this /* r29 */, int index /* r30 */, int loops /* r26 */, int dest_tick /* r31 */) { // Local variables const struct BeatData & bd; // r0 unsigned char beatPatternStarted; // r0 struct FillExtent inFill; // r1+0x10 int i; // r28 int tick; // r3 int fillStartTick; // r4 int fillEndTick; // r5 // References // -> class SongDB * TheSongDB; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E6B54 -> 0x800E6C34 void DrumTrainerPanel::LoopBeat(class DrumTrainerPanel * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E6C34 -> 0x800E6DD4 void DrumTrainerPanel::StartBeat(class DrumTrainerPanel * const this /* r30 */, int bpm /* r27 */, int index /* r31 */) { // Local variables int horizonTick; // r28 struct MBT mbt; // r1+0x8 int beatsPerMeasure; // r0 int destTick; // r27 // References // -> class SongDB * TheSongDB; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E6DD4 -> 0x800E6E4C int DrumTrainerPanel::LastGemBefore(int tick /* r31 */) { // Local variables const class GameGemList & gems; // r0 int id; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongDB * TheSongDB; } // Range: 0x800E6E4C -> 0x800E6E68 void DrumTrainerPanel::SetHasBeats() {} // Range: 0x800E6E68 -> 0x800E6EDC float DrumTrainerPanel::GetHorizonMs(const class DrumTrainerPanel * const this /* r31 */) {} // Range: 0x800E6EDC -> 0x800E6F2C int DrumTrainerPanel::GetBottomTick(int tick /* r31 */) {} // Range: 0x800E6F2C -> 0x800E6F5C int DrumTrainerPanel::GetHorizonTick() {} // Range: 0x800E6F5C -> 0x800E6FC0 int DrumTrainerPanel::GetHorizonBeatTick() {} // Range: 0x800E6FC0 -> 0x800E6FC8 void DrumTrainerPanel::WipeDrumFills() {} // Range: 0x800E6FC8 -> 0x800E7050 void DrumTrainerPanel::InsertDrumFill() { // Local variables int duration; // r5 unsigned char ok; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E7050 -> 0x800E73E4 void DrumTrainerPanel::PopulateTabData(class DrumTrainerPanel * const this /* r28 */, int index /* r30 */, unsigned char fillOnly /* r29 */) { // Local variables int i; // r29 int j; // r27 float startTick; // f31 float endTick; // f30 float tick; // f2 int slots; // r0 float frame; // f29 struct TabData tabData; // r1+0x34 struct TabData tabData; // r1+0x28 // References // -> class SongDB * TheSongDB; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E73E4 -> 0x800E7428 void DrumTrainerPanel::ClearGems(class DrumTrainerPanel * const this /* r31 */) {} // Range: 0x800E7428 -> 0x800E747C unsigned char DrumTrainerPanel::IsInFill(int tick /* r31 */) { // Local variables class FillInfo * fillInfo; // r0 // References // -> class SongDB * TheSongDB; } static float bpm_min; // size: 0x4, address: 0x80A465C8 static float bpm_max; // size: 0x4, address: 0x80A465CC // Range: 0x800E747C -> 0x800E74FC void DrumTrainerPanel::UpdateTrackSpeed() { // Local variables float fbpm; // f0 float t; // f2 float modifier; // f1 float final; // f1 // References // -> static float bpm_max; // -> static float bpm_min; } static class Symbol start_drum_trainer_fill; // size: 0x4, address: 0x80A4AECC static class Symbol end_drum_trainer_fill; // size: 0x4, address: 0x80A4AED4 static class Symbol start_drum_trainer_beat; // size: 0x4, address: 0x80A4AEDC static class Symbol end_drum_trainer_beat; // size: 0x4, address: 0x80A4AEE4 static class Symbol drum_trainer_gems; // size: 0x4, address: 0x80A4AEEC static class Symbol drum_trainer_begin; // size: 0x4, address: 0x80A4AEF4 static class Symbol drum_trainer_track_speed; // size: 0x4, address: 0x80A4AEFC static class Symbol disco_beat; // size: 0x4, address: 0x80A4AF04 static class Symbol tom_beat; // size: 0x4, address: 0x80A4AF0C // Range: 0x800E74FC -> 0x800E7890 void DrumTrainerPanel::InitBeatData(class DrumTrainerPanel * const this /* r28 */) { // Local variables struct BeatData temp; // r1+0x20 const class DataEventList * events; // r31 int i; // r30 const class DataEvent & d; // r0 unsigned char beatDone; // r29 // References // -> class Game * TheGame; // -> static class Symbol tom_beat; // -> static class Symbol disco_beat; // -> static class Symbol drum_trainer_track_speed; // -> static class Symbol drum_trainer_begin; // -> static class Symbol drum_trainer_gems; // -> static class Symbol end_drum_trainer_beat; // -> static class Symbol start_drum_trainer_beat; // -> static class Symbol end_drum_trainer_fill; // -> static class Symbol start_drum_trainer_fill; } // Range: 0x800E7890 -> 0x800E7B78 void DrumTrainerPanel::GetNoteCount(class DrumTrainerPanel * const this /* r27 */) { // Local variables class GameGemList gemList; // r1+0x24 int i; // r31 int count; // r30 int fillCount; // r29 int start_id; // r3 int j; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7GameGem; // -> unsigned char gStlAllocNameLookup; // -> class SongDB * TheSongDB; } static class Symbol _s; // size: 0x4, address: 0x80A4AF14 static class Symbol _s; // size: 0x4, address: 0x80A4AF1C static class Symbol _s; // size: 0x4, address: 0x80A4AF24 static class Symbol _s; // size: 0x4, address: 0x80A4AF2C static class Symbol _s; // size: 0x4, address: 0x80A4AF34 static class Symbol _s; // size: 0x4, address: 0x80A4AF3C static class Symbol _s; // size: 0x4, address: 0x80A4AF44 static class Symbol _s; // size: 0x4, address: 0x80A4AF4C static class Symbol _s; // size: 0x4, address: 0x80A4AF54 static class Symbol _s; // size: 0x4, address: 0x80A4AF5C static class Symbol _s; // size: 0x4, address: 0x80A4AF64 static class Symbol _s; // size: 0x4, address: 0x80A4AF6C static class Symbol _s; // size: 0x4, address: 0x80A4AF74 static class Symbol _s; // size: 0x4, address: 0x80A4AF7C static class Symbol _s; // size: 0x4, address: 0x80A4AF84 static class Symbol _s; // size: 0x4, address: 0x80A4AF8C static class Symbol _s; // size: 0x4, address: 0x80A4AF94 static class Symbol _s; // size: 0x4, address: 0x80A4AF9C static class Symbol _s; // size: 0x4, address: 0x80A4AFA4 static class Symbol _s; // size: 0x4, address: 0x80A4AFAC static class Symbol _s; // size: 0x4, address: 0x80A4AFB4 // Range: 0x800E7B78 -> 0x800E8668 class DataNode DrumTrainerPanel::Handle(class DrumTrainerPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x800E8668 -> 0x800E86CC void * BeatData::BeatData(struct BeatData * const this /* r31 */) {} // Range: 0x800E86CC -> 0x800E874C void BeatData::Clear(struct BeatData * const this /* r31 */) {} // Range: 0x800E874C -> 0x800E8780 void BeatData::Finalize() {} // Range: 0x800E8780 -> 0x800E88E4 void BeatData::SanityCheck(struct BeatData * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800E88E4 -> 0x800E88F8 unsigned char BeatData::HasFill() {} struct { // total size: 0x8 } __RTTI__18MultiTempoTempoMap; // size: 0x8, address: 0x808856D0 struct { // total size: 0x8 } __RTTI__8TempoMap; // size: 0x8, address: 0x808856E8 struct { // total size: 0x8 } __RTTI__12DrumFillInfo; // size: 0x8, address: 0x80885938 struct { // total size: 0x8 } __RTTI__8FillInfo; // size: 0x8, address: 0x80885950 struct { // total size: 0xAC } __vt__16DrumTrainerPanel; // size: 0xAC, address: 0x80885C18 struct { // total size: 0x8 } __RTTI__16DrumTrainerPanel; // size: 0x8, address: 0x80885CF8 struct { // total size: 0x8 } __RTTI__PQ216DrumTrainerPanel7TabData; // size: 0x8, address: 0x80885DA0 struct { // total size: 0x8 } __RTTI__PQ216DrumTrainerPanel8BeatData; // size: 0x8, address: 0x80885DC8 /* Compile unit: C:\rockband2\band2\src\meta\DrumTrainerPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E8948 -> 0x800E8B20 */ // Range: 0x800E8948 -> 0x800E898C class Symbol DrumTrainerPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800E898C -> 0x800E8B20 void DrumTrainerPanel::SetType(class DrumTrainerPanel * const this /* r29 */, class Symbol & DrumTrainerPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E8B20 -> 0x800E9058 */ // Range: 0x800E8B20 -> 0x800E8D4C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct TabData * __pos /* r26 */, const struct TabData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct TabData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ216DrumTrainerPanel7TabData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800E8D4C -> 0x800E9058 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BeatData * __pos /* r26 */, const struct BeatData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BeatData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ216DrumTrainerPanel8BeatData; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\JukeboxPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800E9058 -> 0x800EA0E8 */ class DataArray * types; // size: 0x4, address: 0x80A4AFB8 class Symbol name; // size: 0x4, address: 0x80A4AFC0 class JukeboxPanel * TheJukeboxPanel; // size: 0x4, address: 0x80A4AFC4 class JukeboxBandProvider * TheJukeboxBandProvider; // size: 0x4, address: 0x80A4AFC8 // Range: 0x800E9058 -> 0x800E90CC void * JukeboxBandProvider::JukeboxBandProvider(class JukeboxBandProvider * const this /* r31 */) { // References // -> class JukeboxBandProvider * TheJukeboxBandProvider; // -> struct [anonymous] __vt__19JukeboxBandProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800E90CC -> 0x800E9130 void * JukeboxBandProvider::~JukeboxBandProvider(class JukeboxBandProvider * const this /* r30 */) { // References // -> class JukeboxBandProvider * TheJukeboxBandProvider; } // Range: 0x800E9130 -> 0x800E9134 void JukeboxBandProvider::InitData() {} static class Symbol name; // size: 0x4, address: 0x80A4AFD0 // Range: 0x800E9134 -> 0x800E91E0 char * JukeboxBandProvider::Text(const class JukeboxBandProvider * const this /* r29 */, int data /* r30 */, class Symbol & slot /* r31 */) { // References // -> const char * gNullStr; // -> static class Symbol name; } static class Symbol rating; // size: 0x4, address: 0x80A4AFD8 // Range: 0x800E91E0 -> 0x800E9344 void JukeboxBandProvider::Custom(int data /* r28 */, class Symbol & slot /* r30 */, class Object * o /* r29 */) { // Local variables class PlayerDiffIcon * pdi; // r30 class BandUser * user; // r0 class Profile * profile; // r0 class TourBandLocal * band; // r29 // References // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class SessionMgr * TheSessionMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14PlayerDiffIcon; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol rating; } // Range: 0x800E9344 -> 0x800E934C class RndMat * JukeboxBandProvider::Mat() {} // Range: 0x800E934C -> 0x800E93A4 int JukeboxBandProvider::NumData() { // Local variables class BandUser * user; // r0 class Profile * profile; // r0 // References // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class SessionMgr * TheSessionMgr; } // Range: 0x800E93A4 -> 0x800E93AC unsigned char JukeboxBandProvider::IsActive() {} // Range: 0x800E93AC -> 0x800E93CC class DataNode JukeboxBandProvider::OnGetJukeboxBandProvider() { // References // -> class JukeboxBandProvider * TheJukeboxBandProvider; } // Range: 0x800E93CC -> 0x800E9440 char * JukeboxBandProvider::GetBandName(int index /* r31 */) { // Local variables class BandUser * user; // r0 class Profile * profile; // r0 class TourBandLocal * band; // r0 // References // -> const char * gNullStr; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class SessionMgr * TheSessionMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4AFE0 // Range: 0x800E9440 -> 0x800E9800 class DataNode JukeboxBandProvider::Handle(class JukeboxBandProvider * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x800E9800 -> 0x800E98AC void * JukeboxPanel::JukeboxPanel(class JukeboxPanel * const this /* r30 */) { // References // -> class JukeboxPanel * TheJukeboxPanel; // -> struct [anonymous] __vt__12JukeboxPanel; } // Range: 0x800E98AC -> 0x800E997C void * JukeboxPanel::~JukeboxPanel(class JukeboxPanel * const this /* r29 */) { // References // -> class JukeboxPanel * TheJukeboxPanel; // -> struct [anonymous] __vt__12JukeboxPanel; } // Range: 0x800E997C -> 0x800E99B4 void JukeboxPanel::Enter(class JukeboxPanel * const this /* r31 */) {} // Range: 0x800E99B4 -> 0x800E99EC void JukeboxPanel::Exit(class JukeboxPanel * const this /* r31 */) {} // Range: 0x800E99EC -> 0x800E99F4 int JukeboxPanel::GetBand() {} // Range: 0x800E99F4 -> 0x800E99FC void JukeboxPanel::SetBand() {} // Range: 0x800E99FC -> 0x800E9AEC void JukeboxPanel::SetAutoplay(unsigned char on /* r29 */) { // Local variables class vector users; // r1+0xC class BandUser * * it; // r31 class BandUser * pUser; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4AFE8 static class Symbol _s; // size: 0x4, address: 0x80A4AFF0 // Range: 0x800E9AEC -> 0x800EA0E8 class DataNode JukeboxPanel::Handle(class JukeboxPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__12JukeboxPanel; // size: 0xAC, address: 0x808860C8 struct { // total size: 0x8 } __RTTI__12JukeboxPanel; // size: 0x8, address: 0x808861A0 struct { // total size: 0x9C } __vt__19JukeboxBandProvider; // size: 0x9C, address: 0x808861A8 struct { // total size: 0x8 } __RTTI__19JukeboxBandProvider; // size: 0x8, address: 0x80886278 /* Compile unit: C:\rockband2\band2\src\meta\JukeboxPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EA184 -> 0x800EA35C */ // Range: 0x800EA184 -> 0x800EA1C8 class Symbol JukeboxPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800EA1C8 -> 0x800EA35C void JukeboxPanel::SetType(class JukeboxPanel * const this /* r29 */, class Symbol & JukeboxPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\EventDialogPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EA35C -> 0x800EACF0 */ class DataArray * types; // size: 0x4, address: 0x80A4AFF8 class Symbol name; // size: 0x4, address: 0x80A4B000 class EventDialogPanel : public UIPanel { // total size: 0x5C }; // Range: 0x800EA35C -> 0x800EA428 void * EventDialogPanel::~EventDialogPanel(class EventDialogPanel * const this /* r29 */) { // References // -> class BandUI * TheBandUI; // -> const char * gNullStr; // -> struct [anonymous] __vt__16EventDialogPanel; } static class Symbol helpbar; // size: 0x4, address: 0x80A4B008 // Range: 0x800EA428 -> 0x800EA524 void EventDialogPanel::Draw(class EventDialogPanel * const this /* r30 */) { // Local variables class DataArray * cfg; // r31 // References // -> class HelpBarPanel * sInstance; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol helpbar; } // Range: 0x800EA524 -> 0x800EA658 class DataNode EventDialogPanel::OnMsg(class EventDialogPanel * const this /* r29 */, const class BandEventStartMsg & msg /* r30 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800EA658 -> 0x800EA6D4 class DataNode EventDialogPanel::OnMsg(class EventDialogPanel * const this /* r31 */) {} // Range: 0x800EA6D4 -> 0x800EACF0 class DataNode EventDialogPanel::Handle(class EventDialogPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__19BandEventDismissMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__17BandEventStartMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__16EventDialogPanel; // size: 0xAC, address: 0x80886498 struct { // total size: 0x8 } __RTTI__16EventDialogPanel; // size: 0x8, address: 0x80886578 /* Compile unit: C:\rockband2\band2\src\meta\BandUI.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EACF0 -> 0x800EAE90 */ // Range: 0x800EACF0 -> 0x800EAE90 void * EventDialogPanel::EventDialogPanel(class EventDialogPanel * const this /* r31 */) { // References // -> class InputMgr * TheInputMgr; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUI * TheBandUI; // -> struct [anonymous] __vt__16EventDialogPanel; } /* Compile unit: C:\rockband2\band2\src\meta\EventDialogPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EAEE0 -> 0x800EB0B8 */ // Range: 0x800EAEE0 -> 0x800EAF24 class Symbol EventDialogPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800EAF24 -> 0x800EB0B8 void EventDialogPanel::SetType(class EventDialogPanel * const this /* r29 */, class Symbol & EventDialogPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\FriendsProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EB0B8 -> 0x800EC598 */ class FriendsProvider * sFriendsProvider; // size: 0x4, address: 0x80A4B010 class FriendsProvider : public ListProvider, public Object { // total size: 0x38 class vector mFriends; // offset 0x2C, size 0xC }; // Range: 0x800EB0B8 -> 0x800EB0EC void FriendsProvider::Init() { // References // -> class FriendsProvider * sFriendsProvider; } // Range: 0x800EB0EC -> 0x800EB170 void * FriendsProvider::FriendsProvider(class FriendsProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__15FriendsProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800EB170 -> 0x800EB220 void * FriendsProvider::~FriendsProvider(class FriendsProvider * const this /* r30 */) { // References // -> struct [anonymous] __vt__15FriendsProvider; } // Range: 0x800EB220 -> 0x800EB2F4 void FriendsProvider::CleanUp(class FriendsProvider * const this /* r28 */) { // Local variables int n; // r29 } // Range: 0x800EB2F4 -> 0x800EB344 void FriendsProvider::EnumerateFriends(class FriendsProvider * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x800EB344 -> 0x800EB398 void FriendsProvider::EnumeratePending(class FriendsProvider * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x800EB398 -> 0x800EB3EC void FriendsProvider::EnumerateOnline(class FriendsProvider * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x800EB3EC -> 0x800EB538 void FriendsProvider::InviteFriend(class FriendsProvider * const this /* r29 */, int selectedPos /* r30 */) { // Local variables char subject[256]; // r1+0x128 char body[256]; // r1+0x28 // References // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800EB538 -> 0x800EB660 char * FriendsProvider::Text(const class FriendsProvider * const this /* r28 */, int data /* r29 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800EB660 -> 0x800EB668 class RndMat * FriendsProvider::Mat() {} // Range: 0x800EB668 -> 0x800EB680 int FriendsProvider::NumData() {} // Range: 0x800EB680 -> 0x800EB694 class DataNode FriendsProvider::OnMsg() {} // Range: 0x800EB694 -> 0x800EB720 char * FriendsProvider::GetFriendNickname(class FriendsProvider * const this /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x800EB720 -> 0x800EB734 char * FriendsProvider::GetFriendId() {} // Range: 0x800EB734 -> 0x800EB78C unsigned char FriendsProvider::CanAddFriend() {} // Range: 0x800EB78C -> 0x800EB818 unsigned char FriendsProvider::DoesFriendExist(class FriendsProvider * const this /* r29 */, const char * key /* r30 */) { // Local variables int i; // r31 } static class Symbol _s; // size: 0x4, address: 0x80A4B018 static class Symbol _s; // size: 0x4, address: 0x80A4B020 static class Symbol _s; // size: 0x4, address: 0x80A4B028 static class Symbol _s; // size: 0x4, address: 0x80A4B030 static class Symbol _s; // size: 0x4, address: 0x80A4B038 static class Symbol _s; // size: 0x4, address: 0x80A4B040 static class Symbol _s; // size: 0x4, address: 0x80A4B048 static class Symbol _s; // size: 0x4, address: 0x80A4B050 static class Symbol _s; // size: 0x4, address: 0x80A4B058 static class Symbol _s; // size: 0x4, address: 0x80A4B060 // Range: 0x800EB818 -> 0x800EC598 class DataNode FriendsProvider::Handle(class FriendsProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x50 class MessageTimer _mt; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__24PlatformMgrOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__15FriendsProvider; // size: 0x9C, address: 0x80886830 struct { // total size: 0x8 } __RTTI__15FriendsProvider; // size: 0x8, address: 0x80886900 /* Compile unit: C:\rockband2\system\src\net\NetSession.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EC598 -> 0x800EC59C */ // Range: 0x800EC598 -> 0x800EC59C void NetSession::InviteFriend() {} /* Compile unit: C:\rockband2\system\src\os\Friend.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EC5AC -> 0x800EC5B4 */ // Range: 0x800EC5AC -> 0x800EC5B4 class String Friend::GetUsername() {} /* Compile unit: C:\rockband2\band2\src\meta\GameTimePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EC5B4 -> 0x800EC874 */ class DataArray * types; // size: 0x4, address: 0x80A4B068 class Symbol name; // size: 0x4, address: 0x80A4B070 class GameTimePanel : public UIPanel { // total size: 0x98 class Timer mTimer; // offset 0x30, size 0x38 float mTempo; // offset 0x68, size 0x4 }; // Range: 0x800EC5B4 -> 0x800EC640 void * GameTimePanel::GameTimePanel(class GameTimePanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__13GameTimePanel; } // Range: 0x800EC640 -> 0x800EC670 void GameTimePanel::Load() { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x800EC670 -> 0x800EC6AC void GameTimePanel::Unload() { // References // -> class GamePanel * TheGamePanel; // -> class LoadMgr TheLoadMgr; } // Range: 0x800EC6AC -> 0x800EC6B0 void GameTimePanel::Exit() {} // Range: 0x800EC6B0 -> 0x800EC728 void GameTimePanel::Enter(class GameTimePanel * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> class GamePanel * TheGamePanel; } // Range: 0x800EC728 -> 0x800EC874 void GameTimePanel::Poll(class GameTimePanel * const this /* r31 */) { // Local variables float dt; // f31 float newSeconds; // f30 float beat; // f2 // References // -> class TaskMgr TheTaskMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class GamePanel * TheGamePanel; } struct { // total size: 0xAC } __vt__13GameTimePanel; // size: 0xAC, address: 0x808869A0 struct { // total size: 0x8 } __RTTI__13GameTimePanel; // size: 0x8, address: 0x80886A78 /* Compile unit: C:\rockband2\band2\src\meta\GameTimePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EC874 -> 0x800ECA4C */ // Range: 0x800EC874 -> 0x800EC8B8 class Symbol GameTimePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800EC8B8 -> 0x800ECA4C void GameTimePanel::SetType(class GameTimePanel * const this /* r29 */, class Symbol & GameTimePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\GuitarTutorialPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800ECB24 -> 0x800EF9C4 */ class DataArray * types; // size: 0x4, address: 0x80A4B078 class Symbol name; // size: 0x4, address: 0x80A4B080 class GuitarTutorialPanel * TheGuitarTutorialPanel; // size: 0x4, address: 0x80A4B084 // Range: 0x800ECB24 -> 0x800ECB60 static unsigned char StrumBarPressed() {} class GuitarTutorialPanel : public TutorialPanel { // total size: 0x1C8 unsigned char mFretPressed[5]; // offset 0xC0, size 0x5 unsigned char mStrum; // offset 0xC5, size 0x1 class RndMesh * mFretChecks[5]; // offset 0xC8, size 0x14 class RndMesh * mFrets[5]; // offset 0xDC, size 0x14 unsigned char mAllFretsOff[5]; // offset 0xF0, size 0x5 unsigned char mInTuningMode; // offset 0xF5, size 0x1 int mFretTuneCount[5]; // offset 0xF8, size 0x14 class Object * mTuneCallback; // offset 0x10C, size 0x4 class vector mTuneSfx; // offset 0x110, size 0xC unsigned char mFretChecksFading[5]; // offset 0x11C, size 0x5 unsigned char mInHopoTraining; // offset 0x121, size 0x1 unsigned char mInHopo; // offset 0x122, size 0x1 unsigned char mInValidHopo; // offset 0x123, size 0x1 int mHighFret; // offset 0x124, size 0x4 int mHopoSteps; // offset 0x128, size 0x4 int mHoposHit; // offset 0x12C, size 0x4 class Timer mLastHitMs; // offset 0x130, size 0x38 class RndMatAnim * mFretCheckAnims[5]; // offset 0x168, size 0x14 class vector mHopoSfx; // offset 0x17C, size 0xC class Object * mHopoCallback; // offset 0x188, size 0x4 class ObjDirPtr mBank; // offset 0x18C, size 0xC }; // Range: 0x800ECB60 -> 0x800ECC88 void * GuitarTutorialPanel::GuitarTutorialPanel(class GuitarTutorialPanel * const this /* r31 */) { // Local variables int i; // r5 // References // -> class GuitarTutorialPanel * TheGuitarTutorialPanel; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__19GuitarTutorialPanel; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Sfx * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Sfx * * _M_start; // offset 0x0, size 0x4 class Sfx * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x800ECC88 -> 0x800ECF50 void * GuitarTutorialPanel::~GuitarTutorialPanel(class GuitarTutorialPanel * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; } // Range: 0x800ECF50 -> 0x800EDD04 void GuitarTutorialPanel::Enter(class GuitarTutorialPanel * const this /* r30 */) { // Local variables char * tune_strums[15]; // r1+0x5C char * hopo_strums[5]; // r1+0x48 int i; // r31 // References // -> struct [anonymous] __RTTI__3Sfx; // -> class Synth * TheSynth; // -> struct [anonymous] __RTTI__10RndMatAnim; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class GuitarTutorialPanel * TheGuitarTutorialPanel; } // Range: 0x800EDD04 -> 0x800EDD14 void GuitarTutorialPanel::Exit() {} // Range: 0x800EDD14 -> 0x800EDDBC void GuitarTutorialPanel::Poll(class GuitarTutorialPanel * const this /* r31 */) { // Local variables unsigned char done; // r1+0x8 } // Range: 0x800EDDBC -> 0x800EDFDC void GuitarTutorialPanel::PollTune(class GuitarTutorialPanel * const this /* r29 */, class JoypadData * joyData /* r31 */, class VoiceMgr * voiceMgr /* r28 */, unsigned char & done /* r30 */) { // Local variables int fret; // r1+0x14 int count; // r1+0x10 unsigned char newStrum; // r0 class Message miss_tune_msg; // r1+0x28 int i; // r4 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x800EDFDC -> 0x800EE32C unsigned char GuitarTutorialPanel::PollHopos(class GuitarTutorialPanel * const this /* r29 */, class JoypadData * joyData /* r27 */, class VoiceMgr * voiceMgr /* r30 */) { // Local variables int fret; // r1+0x14 int count; // r1+0x10 unsigned char newStrum; // r0 unsigned char fretChange; // r27 class Message hopo_hit_msg; // r1+0x28 // References // -> struct [anonymous] __vt__7Message; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x800EE32C -> 0x800EE34C void GuitarTutorialPanel::FretOff() {} // Range: 0x800EE34C -> 0x800EE36C void GuitarTutorialPanel::FretOn() {} // Range: 0x800EE36C -> 0x800EE3E4 void GuitarTutorialPanel::ForceFrets(class GuitarTutorialPanel * const this /* r29 */, unsigned char * fretPressed /* r30 */) { // Local variables int i; // r31 } // Range: 0x800EE3E4 -> 0x800EE3EC void GuitarTutorialPanel::OnAllFretsOff() {} // Range: 0x800EE3EC -> 0x800EE498 void GuitarTutorialPanel::AnimateFrets(class GuitarTutorialPanel * const this /* r27 */, class JoypadData * joyData /* r28 */, int & fretPressed /* r29 */, int & numFretsPressed /* r30 */) { // Local variables int i; // r31 } // Range: 0x800EE498 -> 0x800EE514 void GuitarTutorialPanel::AddCheck(class GuitarTutorialPanel * const this /* r29 */, int fret /* r30 */) {} // Range: 0x800EE514 -> 0x800EE550 void GuitarTutorialPanel::RemoveChecks() { // Local variables int i; // r5 } // Range: 0x800EE550 -> 0x800EE60C void GuitarTutorialPanel::FadeChecks(class GuitarTutorialPanel * const this /* r30 */) { // Local variables int i; // r31 float animFrame; // f1 } // Range: 0x800EE60C -> 0x800EE6A4 void GuitarTutorialPanel::Init(class GuitarTutorialPanel * const this /* r30 */) { // Local variables int i; // r6 class JoypadData * joyData; // r0 } // Range: 0x800EE6A4 -> 0x800EE6A8 void GuitarTutorialPanel::InitTuningMode() {} // Range: 0x800EE6A8 -> 0x800EE708 void GuitarTutorialPanel::SetTuningMode(class GuitarTutorialPanel * const this /* r29 */, unsigned char inTuningMode /* r30 */, class Object * callback /* r31 */) {} // Range: 0x800EE708 -> 0x800EE710 unsigned char GuitarTutorialPanel::IsTuning() {} // Range: 0x800EE710 -> 0x800EE794 class DataNode GuitarTutorialPanel::OnStartTuningMode(class GuitarTutorialPanel * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables class Object * callback; // r6 } // Range: 0x800EE794 -> 0x800EE894 void GuitarTutorialPanel::PlayTuneSfx(class GuitarTutorialPanel * const this /* r27 */) { // Local variables int fretIdx; // r29 int i; // r28 int fretSfxId; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int kMaxTuningCount; } // Range: 0x800EE894 -> 0x800EEAA0 void GuitarTutorialPanel::StringTuned(class GuitarTutorialPanel * const this /* r29 */, int fret /* r28 */) { // Local variables class Message msg; // r1+0x28 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x800EEAA0 -> 0x800EEAA4 void GuitarTutorialPanel::InitHopoMode() {} // Range: 0x800EEAA4 -> 0x800EEB20 void GuitarTutorialPanel::SetHopoTraining(class GuitarTutorialPanel * const this /* r29 */, unsigned char inHopoTraining /* r30 */, class Object * callback /* r31 */) {} // Range: 0x800EEB20 -> 0x800EEB28 unsigned char GuitarTutorialPanel::IsHopoTraining() {} // Range: 0x800EEB28 -> 0x800EEBAC class DataNode GuitarTutorialPanel::OnSetHopoTraining(class GuitarTutorialPanel * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables class Object * callback; // r6 } // Range: 0x800EEBAC -> 0x800EEDBC void GuitarTutorialPanel::PlayFret(class GuitarTutorialPanel * const this /* r30 */, int fret /* r31 */) { // Local variables class Message msg; // r1+0x28 int i; // r28 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x800EEDBC -> 0x800EEE30 void GuitarTutorialPanel::UpdateHopoFret(class GuitarTutorialPanel * const this /* r30 */, int highFret /* r31 */) {} // Range: 0x800EEE30 -> 0x800EEE3C void GuitarTutorialPanel::InvalidateHopo() {} // Range: 0x800EEE3C -> 0x800EEE40 void GuitarTutorialPanel::HopoHit() {} // Range: 0x800EEE40 -> 0x800EEE94 void GuitarTutorialPanel::StopNotes(class GuitarTutorialPanel * const this /* r30 */) { // Local variables int i; // r31 } static class Symbol _s; // size: 0x4, address: 0x80A4B08C static class Symbol _s; // size: 0x4, address: 0x80A4B094 static class Symbol _s; // size: 0x4, address: 0x80A4B09C static class Symbol _s; // size: 0x4, address: 0x80A4B0A4 static class Symbol _s; // size: 0x4, address: 0x80A4B0AC static class Symbol _s; // size: 0x4, address: 0x80A4B0B4 static class Symbol _s; // size: 0x4, address: 0x80A4B0BC // Range: 0x800EEE94 -> 0x800EF9C4 class DataNode GuitarTutorialPanel::Handle(class GuitarTutorialPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__10RndMatAnim; // size: 0x8, address: 0x80886DD8 struct { // total size: 0xE4 } __vt__19GuitarTutorialPanel; // size: 0xE4, address: 0x80886EE8 struct { // total size: 0x8 } __RTTI__19GuitarTutorialPanel; // size: 0x8, address: 0x80887010 struct { // total size: 0x8 } __RTTI__3Sfx; // size: 0x8, address: 0x808870E8 struct { // total size: 0x8 } __RTTI__PP3Sfx; // size: 0x8, address: 0x808871F8 struct _OKToMemCpy { // total size: 0x1 }; static int kMaxTuningCount; // size: 0x4, address: 0x80A56534 /* Compile unit: C:\rockband2\band2\src\meta\GuitarTutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EF9C4 -> 0x800EFB9C */ // Range: 0x800EF9C4 -> 0x800EFA08 class Symbol GuitarTutorialPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800EFA08 -> 0x800EFB9C void GuitarTutorialPanel::SetType(class GuitarTutorialPanel * const this /* r29 */, class Symbol & GuitarTutorialPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchControllerSink.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EFB9C -> 0x800EFBA4 */ // Range: 0x800EFB9C -> 0x800EFBA4 unsigned char BeatMatchControllerSink::Swing() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EFBA4 -> 0x800EFEFC */ // Range: 0x800EFBA4 -> 0x800EFC10 void vector::_M_fill_insert() {} // Range: 0x800EFC10 -> 0x800EFD48 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Sfx * * __pos /* r28 */, class Sfx * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Sfx * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP3Sfx; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800EFD48 -> 0x800EFEFC void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class Sfx * * __pos /* r29 */, unsigned long __n /* r25 */, class Sfx * const & __x /* r30 */) { // Local variables class Sfx * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EFEFC -> 0x800EFFA8 */ // Range: 0x800EFEFC -> 0x800EFF14 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\meta\HeldButtonPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800EFFA8 -> 0x800F1858 */ struct { // total size: 0x8 } __RTTI__PQ215HeldButtonPanel8PressRec; // size: 0x8, address: 0x808872A8 class DataArray * types; // size: 0x4, address: 0x80A4B0C0 class Symbol name; // size: 0x4, address: 0x80A4B0C8 // Range: 0x800EFFA8 -> 0x800F0038 void * HeldButtonPanel::HeldButtonPanel(class HeldButtonPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__15HeldButtonPanel; } // Range: 0x800F0038 -> 0x800F016C class DataNode HeldButtonPanel::OnMsg(class HeldButtonPanel * const this /* r30 */, const class ButtonDownMsg & msg /* r29 */) { // Local variables struct StrActionRec * it; // r0 // References // -> class TaskMgr TheTaskMgr; } static class Symbol held_buttons; // size: 0x4, address: 0x80A4B0D0 // Range: 0x800F016C -> 0x800F0630 void HeldButtonPanel::UpdateHeldButtons(class HeldButtonPanel * const this /* r28 */) { // Local variables class DataArray * elements; // r30 int i; // r31 float hold_time; // f0 struct StrActionRec action; // r1+0x70 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ215HeldButtonPanel8PressRec; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol held_buttons; } // Range: 0x800F0630 -> 0x800F0798 void HeldButtonPanel::Exit(class HeldButtonPanel * const this /* r28 */) {} static class Symbol on_button_held; // size: 0x4, address: 0x80A4B0D8 static class Message msg; // size: 0x8, address: 0x80978B30 static class ButtonDownMsg msgButtonDown; // size: 0x8, address: 0x80978B48 // Range: 0x800F0798 -> 0x800F1308 void HeldButtonPanel::Poll(class HeldButtonPanel * const this /* r24 */) { // Local variables class vector actionRecs; // r1+0xEC class vector users; // r1+0xE0 class BandUser * * itUser; // r26 class BandUser * pUser; // r23 class JoypadData * joy; // r0 struct StrActionRec * it; // r25 enum JoypadButton button; // r0 int i; // r25 enum JoypadAction act; // r1+0x4C struct StrActionRec * it; // r0 // References // -> static class ButtonDownMsg msgButtonDown; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> struct [anonymous] __RTTI__PQ215HeldButtonPanel8PressRec; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ215HeldButtonPanel12StrActionRec; // -> unsigned char gStlAllocNameLookup; // -> class UIManager TheUI; // -> static class Symbol on_button_held; } struct { // total size: 0x8 } __RTTI__PQ215HeldButtonPanel12StrActionRec; // size: 0x8, address: 0x80887320 static class Symbol _s; // size: 0x4, address: 0x80A4B0E0 // Range: 0x800F1308 -> 0x800F1858 class DataNode HeldButtonPanel::Handle(class HeldButtonPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__15HeldButtonPanel; // size: 0xAC, address: 0x80887354 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F1858 -> 0x800F1860 */ // Range: 0x800F1858 -> 0x800F185C class StlNodeAlloc vector::get_allocator() {} // Range: 0x800F185C -> 0x800F1860 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F1860 -> 0x800F1960 */ // Range: 0x800F1860 -> 0x800F1960 struct StrActionRec * find() {} /* Compile unit: C:\rockband2\band2\src\meta\HeldButtonPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F1960 -> 0x800F1BAC */ // Range: 0x800F1960 -> 0x800F19D4 void HeldButtonPanel::Enter(class HeldButtonPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800F19D4 -> 0x800F1A18 class Symbol HeldButtonPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800F1A18 -> 0x800F1BAC void HeldButtonPanel::SetType(class HeldButtonPanel * const this /* r29 */, class Symbol & HeldButtonPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F1BFC -> 0x800F2550 */ // Range: 0x800F1BFC -> 0x800F2204 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct StrActionRec * __pos /* r25 */, const struct StrActionRec & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 struct StrActionRec * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PQ215HeldButtonPanel8PressRec; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ215HeldButtonPanel12StrActionRec; // -> unsigned char gStlAllocNameLookup; } // Range: 0x800F2204 -> 0x800F2550 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ215HeldButtonPanel8PressRec; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\HelpBarPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F2550 -> 0x800F6E54 */ class Symbol t; // size: 0x4, address: 0x80A4B0EC class DataArray * types; // size: 0x4, address: 0x80A4B0F0 class Symbol name; // size: 0x4, address: 0x80A4B0F8 static int gAnimSpeed; // size: 0x4, address: 0x80A4B0FC static int gSwitchFrames; // size: 0x4, address: 0x80A4B100 // Range: 0x800F2550 -> 0x800F25EC void * HelpBarWidget::HelpBarWidget(class HelpBarWidget * const this /* r30 */) { // References // -> const char * gNullStr; } // Range: 0x800F25EC -> 0x800F2740 void * HelpBarWidget::HelpBarWidget(class HelpBarWidget * const this /* r28 */, class UILabel * icon1 /* r29 */, class UILabel * icon2 /* r30 */, class UILabel * icon3 /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x800F2740 -> 0x800F2884 void HelpBarWidget::RefreshAnim(class HelpBarWidget * const this /* r31 */) { // Local variables float curInFrame; // f1 float alpha; // f0 } static class Symbol symNullStr; // size: 0x4, address: 0x80A4B108 // Range: 0x800F2884 -> 0x800F2A48 void HelpBarWidget::UpdateAnim(class HelpBarWidget * const this /* r31 */) { // Local variables int desInFrame; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gAnimSpeed; // -> static class Symbol symNullStr; } // Range: 0x800F2A48 -> 0x800F2BE0 void HelpBarWidget::Update(class HelpBarWidget * const this /* r28 */, class Symbol & text /* r29 */, unsigned char cacheState /* r30 */, class Symbol & altText /* r31 */) { // References // -> static int gSwitchFrames; // -> const char * gNullStr; // -> class BandUI * TheBandUI; } class HelpBarPanel * sInstance; // size: 0x4, address: 0x80A4B10C // Range: 0x800F2BE0 -> 0x800F2F08 void * HelpBarPanel::HelpBarPanel(class HelpBarPanel * const this /* r30 */) { // Local variables const class DataArray * config; // r28 // References // -> static int gSwitchFrames; // -> static int gAnimSpeed; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUI * TheBandUI; // -> class HelpBarPanel * sInstance; // -> struct [anonymous] __vt__12HelpBarPanel; } // Range: 0x800F2F08 -> 0x800F2FDC void * HelpBarPanel::~HelpBarPanel(class HelpBarPanel * const this /* r29 */) { // References // -> class BandUI * TheBandUI; // -> const char * gNullStr; // -> class HelpBarPanel * sInstance; // -> struct [anonymous] __vt__12HelpBarPanel; } // Range: 0x800F2FDC -> 0x800F3210 void HelpBarPanel::FinishLoad(class HelpBarPanel * const this /* r24 */) { // Local variables class Symbol types[3]; // r1+0x1C int i; // r25 class String cancel_str; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class PlatformMgr ThePlatformMgr; } static class Symbol input_status_changed; // size: 0x4, address: 0x80A4B114 // Range: 0x800F3210 -> 0x800F44C4 void HelpBarPanel::Enter(class HelpBarPanel * const this /* r25 */) { // Local variables class ObjectDir * dir; // r26 // References // -> const char * gNullStr; // -> const char * kAssertStr; // -> class InputMgr * TheInputMgr; // -> static class Symbol input_status_changed; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> struct [anonymous] __RTTI__7UILabel; // -> class Rnd & TheRnd; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x800F44C4 -> 0x800F4538 void HelpBarPanel::SetTypeDef(class DataArray * data /* r31 */) { // References // -> static int gSwitchFrames; // -> static int gAnimSpeed; } // Range: 0x800F4538 -> 0x800F458C void HelpBarPanel::Exit(class HelpBarPanel * const this /* r31 */) { // References // -> class InputMgr * TheInputMgr; // -> const char * gNullStr; } // Range: 0x800F458C -> 0x800F4618 void HelpBarPanel::FadeOut(class HelpBarPanel * const this /* r29 */) { // Local variables int i; // r30 // References // -> const char * gNullStr; } // Range: 0x800F4618 -> 0x800F4624 void HelpBarPanel::FadeIn() {} // Range: 0x800F4624 -> 0x800F4650 void HelpBarPanel::Draw() {} // Range: 0x800F4650 -> 0x800F4940 void HelpBarPanel::Poll(class HelpBarPanel * const this /* r31 */) { // Local variables int i; // r5 int i; // r30 } // Range: 0x800F4940 -> 0x800F4948 int HelpBarPanel::GetHeightFrame() {} // Range: 0x800F4948 -> 0x800F4954 void HelpBarPanel::SetConfig() {} // Range: 0x800F4954 -> 0x800F495C void HelpBarPanel::BandEventStartHelpbar() {} // Range: 0x800F495C -> 0x800F4A44 void HelpBarPanel::ShowIcon(const char * icon /* r30 */, unsigned char val /* r31 */, float xpos /* f31 */) { // Local variables class Vector3 v; // r1+0x10 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; } // Range: 0x800F4A44 -> 0x800F5064 void HelpBarPanel::UpdateIcons(class HelpBarPanel * const this /* r27 */) { // Local variables unsigned char showGuitar; // r30 unsigned char showDrum; // r29 unsigned char showVocals; // r28 float xpos; // f31 unsigned char hasIcons; // r5 int i; // r6 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class InputMgr * TheInputMgr; } static class Symbol cancel; // size: 0x4, address: 0x80A4B11C static class Symbol endgame_hb_leave_session; // size: 0x4, address: 0x80A4B124 static class Symbol waiting; // size: 0x4, address: 0x80A4B12C static class Symbol helpbar_waiting_for; // size: 0x4, address: 0x80A4B134 // Range: 0x800F5064 -> 0x800F56F8 void HelpBarPanel::UpdateConfig(class HelpBarPanel * const this /* r28 */, class DataArray * elements /* r27 */, unsigned char cacheState /* r29 */) { // Local variables class DataArray * cfg; // r30 class DataArray * c; // r0 class BandUser * u; // r27 class Symbol waiting_for; // r1+0x30 class DataArray * w; // r27 // References // -> static class Symbol helpbar_waiting_for; // -> static class Symbol waiting; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol endgame_hb_leave_session; // -> static class Symbol cancel; // -> class InputMgr * TheInputMgr; } static class Message msg; // size: 0x8, address: 0x80978B60 // Range: 0x800F56F8 -> 0x800F5FA0 void HelpBarPanel::DoUpdateConfig(class HelpBarPanel * const this /* r26 */, class DataArray * elements /* r27 */, unsigned char cacheState /* r28 */) { // Local variables unsigned char updated[9]; // r1+0xC0 int i; // r6 int i; // r29 int i; // r24 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800F5FA0 -> 0x800F5FF0 class DataNode HelpBarPanel::OnMsg() { // References // -> class UIManager TheUI; } static class Symbol helpbar; // size: 0x4, address: 0x80A4B13C // Range: 0x800F5FF0 -> 0x800F60D0 class DataNode HelpBarPanel::OnMsg(class HelpBarPanel * const this /* r30 */) { // Local variables class DataArray * cfg; // r31 // References // -> class UIManager TheUI; // -> static class Symbol helpbar; } // Range: 0x800F60D0 -> 0x800F6168 class DataNode HelpBarPanel::OnMsg(class HelpBarPanel * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x800F6168 -> 0x800F6424 void HelpBarPanel::OnUpdateWidget(class HelpBarPanel * const this /* r29 */, enum WidgetId widget /* r30 */, class DataArray * msg /* r28 */) { // Local variables class Symbol token; // r1+0x2C unsigned char cacheState; // r31 class Symbol altToken; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol _s; // size: 0x4, address: 0x80A4B144 static class Symbol _s; // size: 0x4, address: 0x80A4B14C static class Symbol _s; // size: 0x4, address: 0x80A4B154 static class Symbol _s; // size: 0x4, address: 0x80A4B15C static class Symbol _s; // size: 0x4, address: 0x80A4B164 static class Symbol _s; // size: 0x4, address: 0x80A4B16C static class Symbol _s; // size: 0x4, address: 0x80A4B174 static class Symbol _s; // size: 0x4, address: 0x80A4B17C static class Symbol _s; // size: 0x4, address: 0x80A4B184 static class Symbol _s; // size: 0x4, address: 0x80A4B18C static class Symbol _s; // size: 0x4, address: 0x80A4B194 static class Symbol _s; // size: 0x4, address: 0x80A4B19C static class Symbol _s; // size: 0x4, address: 0x80A4B1A4 static class Symbol _s; // size: 0x4, address: 0x80A4B1AC static class Symbol _s; // size: 0x4, address: 0x80A4B1B4 static class Symbol _s; // size: 0x4, address: 0x80A4B1BC static class Symbol _s; // size: 0x4, address: 0x80A4B1C4 // Range: 0x800F6424 -> 0x800F6DD4 class DataNode HelpBarPanel::Handle(class HelpBarPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x800F6DD4 -> 0x800F6E54 unsigned char HelpBarPanel::SyncProperty(class HelpBarPanel * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xB0 } __vt__12HelpBarPanel; // size: 0xB0, address: 0x80887E10 struct { // total size: 0x8 } __RTTI__12HelpBarPanel; // size: 0x8, address: 0x80887EF0 struct { // total size: 0xC } __vt__21InputStatusChangedMsg; // size: 0xC, address: 0x80887EF8 struct { // total size: 0x8 } __RTTI__21InputStatusChangedMsg; // size: 0x8, address: 0x80887F28 /* Compile unit: C:\rockband2\band2\src\meta\InputMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F6F78 -> 0x800F6FE8 */ // Range: 0x800F6F78 -> 0x800F6FBC class Symbol InputStatusChangedMsg::Type() { // References // -> class Symbol t; } // Range: 0x800F6FBC -> 0x800F6FE8 void * InputStatusChangedMsg::InputStatusChangedMsg() { // References // -> struct [anonymous] __vt__21InputStatusChangedMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\band2\src\meta\BandUI.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F6FE8 -> 0x800F7058 */ // Range: 0x800F6FE8 -> 0x800F702C class Symbol BandEventDismissMsg::Type() { // References // -> class Symbol t; } // Range: 0x800F702C -> 0x800F7058 void * BandEventDismissMsg::BandEventDismissMsg() { // References // -> struct [anonymous] __vt__19BandEventDismissMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\band2\src\meta\HelpBarPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F7058 -> 0x800F7230 */ // Range: 0x800F7058 -> 0x800F709C class Symbol HelpBarPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800F709C -> 0x800F7230 void HelpBarPanel::SetType(class HelpBarPanel * const this /* r29 */, class Symbol & HelpBarPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\InputMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800F7230 -> 0x800FA9D4 */ class Symbol t; // size: 0x4, address: 0x80A4B1CC class Symbol t; // size: 0x4, address: 0x80A4B1D4 class InputMgr * TheInputMgr; // size: 0x4, address: 0x80A4B1D8 // Range: 0x800F7230 -> 0x800F7314 void InputMgr::Init() { // References // -> class BandUI * TheBandUI; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class InputMgr * TheInputMgr; } // Range: 0x800F7314 -> 0x800F735C void InputMgr::Terminate() { // References // -> class InputMgr * TheInputMgr; } static class Symbol session_busy; // size: 0x4, address: 0x80A4B1E0 // Range: 0x800F735C -> 0x800F7538 void * InputMgr::InputMgr(class InputMgr * const this /* r29 */, class BandUserMgr & bum /* r30 */, class BandUI * bu /* r31 */) { // Local variables int i; // r4 // References // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> static class Symbol session_busy; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__8InputMgr; // -> struct [anonymous] __vt__9MsgSource; } static class Symbol session_busy; // size: 0x4, address: 0x80A4B1E8 // Range: 0x800F7538 -> 0x800F7624 void * InputMgr::~InputMgr(class InputMgr * const this /* r29 */) { // References // -> class NetSession * TheNetSession; // -> static class Symbol session_busy; // -> struct [anonymous] __vt__8InputMgr; } // Range: 0x800F7624 -> 0x800F77E4 unsigned char InputMgr::IsActiveAndConnected(const class InputMgr * const this /* r25 */, enum ControllerType ct /* r26 */) { // Local variables unsigned char allow_remote_exit; // r0 class vector & users; // r0 class BandUser * * u; // r28 class BandUser * user; // r27 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800F77E4 -> 0x800F77EC class BandUser * InputMgr::GetUser() {} // Range: 0x800F77EC -> 0x800F77FC void InputMgr::Reset() {} // Range: 0x800F77FC -> 0x800F7804 void InputMgr::SetNetworkBusy() {} // Range: 0x800F7804 -> 0x800F7824 class DataNode InputMgr::OnMsg() { // References // -> class NetSession * TheNetSession; } // Range: 0x800F7824 -> 0x800F78BC void InputMgr::SetLimit(class InputMgr * const this /* r30 */, enum InputLimitType t /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800F78BC -> 0x800F78F8 void InputMgr::SetUser(class InputMgr * const this /* r31 */) {} static class Symbol fake_controllers; // size: 0x4, address: 0x80A4B1F0 static class Symbol pad_lost; // size: 0x4, address: 0x80A4B1F8 static class Message init; // size: 0x8, address: 0x80978B78 // Range: 0x800F78F8 -> 0x800F7E2C unsigned char InputMgr::CheckControllers(class InputMgr * const this /* r29 */, unsigned char tryReconnect /* r25 */) { // Local variables class vector & users; // r0 class BandUser * * u; // r26 class BandUser * user; // r30 int padNum; // r26 // References // -> class PlatformMgr ThePlatformMgr; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> class GameMode * TheGameMode; // -> static class Symbol pad_lost; // -> static class Symbol fake_controllers; } // Range: 0x800F7E2C -> 0x800F7E34 void InputMgr::SetInvalidMessageSink() {} // Range: 0x800F7E34 -> 0x800F7E40 void InputMgr::ClearInvalidMessageSink() {} // Range: 0x800F7E40 -> 0x800F7F50 unsigned char InputMgr::AllowRemoteExit(const class InputMgr * const this /* r28 */) { // References // -> class NetSync * TheNetSync; // -> const char * gNullStr; } // Range: 0x800F7F50 -> 0x800F7FA8 class DataNode InputMgr::OnMsg(class InputMgr * const this /* r31 */) {} static class Message msg; // size: 0x8, address: 0x80978B90 static class Symbol remote_exit; // size: 0x4, address: 0x80A4B200 static class Message msg; // size: 0x8, address: 0x80978BA8 static class ButtonDownMsg new_msg; // size: 0x8, address: 0x80978BC0 // Range: 0x800F7FA8 -> 0x800F8840 class DataNode InputMgr::OnMsg(class InputMgr * const this /* r27 */, const class ButtonDownMsg & msg /* r28 */) { // Local variables class DataNode res; // r1+0x68 class BandUser * bu; // r0 class BandUser * user; // r25 class DataNode ret; // r1+0x60 enum JoypadAction filtered; // r0 // References // -> static class ButtonDownMsg new_msg; // -> static class Message msg; // -> class BandUI * TheBandUI; // -> static class Symbol remote_exit; // -> class BandUserMgr * TheBandUserMgr; // -> class UIManager TheUI; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class ButtonUpMsg new_msg; // size: 0x8, address: 0x80978BD8 // Range: 0x800F8840 -> 0x800F8C24 class DataNode InputMgr::OnMsg(class InputMgr * const this /* r29 */, const class ButtonUpMsg & msg /* r30 */) { // Local variables enum JoypadAction filtered; // r0 // References // -> class UIManager TheUI; // -> static class ButtonUpMsg new_msg; } // Range: 0x800F8C24 -> 0x800F8C2C enum JoypadAction InputMgr::FilterAction() {} // Range: 0x800F8C2C -> 0x800F8D90 unsigned char InputMgr::IsDoubleStrum(class InputMgr * const this /* r31 */, int user /* r27 */) { // Local variables float dt; // f31 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } class InputLimitChangedMsg : public Message { // total size: 0x8 }; static class InputLimitChangedMsg msg; // size: 0x8, address: 0x80978BF0 // Range: 0x800F8D90 -> 0x800F8EDC void InputMgr::ExportLimitChangedMsg(class InputMgr * const this /* r31 */) { // References // -> struct [anonymous] __vt__20InputLimitChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class InputLimitChangedMsg msg; } static class InputStatusChangedMsg msg; // size: 0x8, address: 0x80978C08 // Range: 0x800F8F60 -> 0x800F90AC void InputMgr::ExportStatusChangedMsg(class InputMgr * const this /* r31 */) { // References // -> struct [anonymous] __vt__21InputStatusChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class InputStatusChangedMsg msg; } static class Symbol wii_roguitar; // size: 0x4, address: 0x80A4B20C static class Symbol wii_rodrums; // size: 0x4, address: 0x80A4B214 static class Symbol joypad; // size: 0x4, address: 0x80A4B21C static class Symbol instrument_mapping; // size: 0x4, address: 0x80A4B224 // Range: 0x800F90AC -> 0x800F9614 unsigned char InputMgr::HasValidController(const class InputMgr * const this /* r25 */, class BandUser * user /* r23 */, enum ControllerType t /* r24 */, unsigned char tryReconnect /* r22 */) { // Local variables enum ControllerType user_type; // r0 unsigned char swapped; // r28 unsigned char hasRemotePlayers; // r27 class vector & users; // r0 class BandUser * * u; // r26 class BandUser * newUser; // r25 class Symbol controller; // r1+0x34 class DataArray * cfg; // r0 class DataArray * data; // r22 enum ControllerType remoteControllerType; // r0 int i; // r25 class JoypadData * padData; // r0 class Symbol controller; // r1+0x30 class DataArray * cfg; // r0 class DataArray * data; // r22 enum ControllerType unclaimedControllerType; // r0 // References // -> static class Symbol instrument_mapping; // -> static class Symbol joypad; // -> static class Symbol wii_rodrums; // -> static class Symbol wii_roguitar; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800F9614 -> 0x800F9778 unsigned char InputMgr::AllowInput(const class InputMgr * const this /* r28 */, int user_num /* r29 */, unsigned char allow_invalid_user /* r30 */) { // Local variables class BandUser * user; // r4 // References // -> class GameMode * TheGameMode; // -> const char * gNullStr; } // Range: 0x800F9778 -> 0x800F9840 unsigned char InputMgr::AllowInSession(const class InputMgr * const this /* r30 */, class BandUser * user /* r31 */) { // Local variables int leaderNum; // r4 // References // -> class SessionMgr * TheSessionMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4B22C static class Symbol _s; // size: 0x4, address: 0x80A4B234 static class Symbol _s; // size: 0x4, address: 0x80A4B23C static class Symbol _s; // size: 0x4, address: 0x80A4B244 static class Symbol _s; // size: 0x4, address: 0x80A4B24C static class Symbol _s; // size: 0x4, address: 0x80A4B254 static class Symbol _s; // size: 0x4, address: 0x80A4B25C static class Symbol _s; // size: 0x4, address: 0x80A4B264 static class Symbol _s; // size: 0x4, address: 0x80A4B26C // Range: 0x800F9840 -> 0x800FA9D4 class DataNode InputMgr::Handle(class InputMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x64 class MessageTimer _mt; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode _n; // r1+0x88 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __vt__14SessionBusyMsg; // -> class Symbol t; // -> struct [anonymous] __vt__11ButtonUpMsg; // -> class Symbol t; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__19JoypadConnectionMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0xC } __vt__14SessionBusyMsg; // size: 0xC, address: 0x80888364 struct { // total size: 0x8 } __RTTI__14SessionBusyMsg; // size: 0x8, address: 0x80888390 struct { // total size: 0x6C } __vt__8InputMgr; // size: 0x6C, address: 0x80888488 struct { // total size: 0x8 } __RTTI__8InputMgr; // size: 0x8, address: 0x80888520 struct { // total size: 0xC } __vt__20InputLimitChangedMsg; // size: 0xC, address: 0x80888528 struct { // total size: 0x8 } __RTTI__20InputLimitChangedMsg; // size: 0x8, address: 0x80888558 /* Compile unit: C:\rockband2\band2\src\meta\InkPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FAAA8 -> 0x800FAF8C */ class DataArray * types; // size: 0x4, address: 0x80A4B270 class Symbol name; // size: 0x4, address: 0x80A4B278 class InkProvider : public ListProvider, public Object { // total size: 0x30 class DataArray * mInkList; // offset 0x2C, size 0x4 }; class InkPanel : public UIPanel { // total size: 0x90 class InkProvider mInkProvider; // offset 0x30, size 0x30 class Symbol mGender; // offset 0x60, size 0x4 }; // Range: 0x800FAAA8 -> 0x800FAADC void InkPanel::Enter(class InkPanel * const this /* r31 */) {} // Range: 0x800FAADC -> 0x800FAAE0 void InkPanel::Exit() {} // Range: 0x800FAAE0 -> 0x800FAAEC void InkPanel::SetGender() {} static class Symbol _s; // size: 0x4, address: 0x80A4B280 static class Symbol _s; // size: 0x4, address: 0x80A4B288 // Range: 0x800FAAEC -> 0x800FAF8C class DataNode InkPanel::Handle(class InkPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__8InkPanel; // size: 0xAC, address: 0x80888734 struct { // total size: 0x8 } __RTTI__8InkPanel; // size: 0x8, address: 0x80888808 struct { // total size: 0x8 } __RTTI__8BandList; // size: 0x8, address: 0x80888898 struct { // total size: 0x8 } __RTTI__9BandLabel; // size: 0x8, address: 0x80888988 struct { // total size: 0x8 } __RTTI__12BandTextComp; // size: 0x8, address: 0x808889F0 /* Compile unit: C:\rockband2\band2\src\meta\InkPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FAF8C -> 0x800FB660 */ // Range: 0x800FAF8C -> 0x800FB020 void * InkPanel::InkPanel(class InkPanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__8InkPanel; } // Range: 0x800FB080 -> 0x800FB21C void InkPanel::Refresh(class InkPanel * const this /* r28 */) { // Local variables class Symbol ink_type; // r1+0x14 class DataArray * ink_list; // r29 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandList; // -> const char * gNullStr; } // Range: 0x800FB21C -> 0x800FB488 void InkPanel::Update(class InkPanel * const this /* r27 */) { // Local variables class Symbol ink; // r1+0x18 // References // -> struct [anonymous] __RTTI__9BandLabel; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandList; } // Range: 0x800FB488 -> 0x800FB4CC class Symbol InkPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800FB4CC -> 0x800FB660 void InkPanel::SetType(class InkPanel * const this /* r29 */, class Symbol & InkPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FB660 -> 0x800FB664 */ // Range: 0x800FB660 -> 0x800FB664 class ObjectDir * ObjectDir::DataDir() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FB664 -> 0x800FB7FC */ // Range: 0x800FB664 -> 0x800FB6CC char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r30 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\band2\src\meta\InkProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FB7FC -> 0x800FB87C */ // Range: 0x800FB7FC -> 0x800FB858 void * InkProvider::InkProvider(class InkProvider * const this /* r31 */) { // References // -> struct [anonymous] __vt__11InkProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800FB858 -> 0x800FB874 int InkProvider::NumData() {} // Range: 0x800FB874 -> 0x800FB87C void InkProvider::SetList() {} struct { // total size: 0x9C } __vt__11InkProvider; // size: 0x9C, address: 0x80888BC4 struct { // total size: 0x8 } __RTTI__11InkProvider; // size: 0x8, address: 0x80888C88 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FB87C -> 0x800FBCC8 */ // Range: 0x800FB87C -> 0x800FB904 class Symbol InkProvider::DataSymbol(const class InkProvider * const this /* r31 */, int data /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FB904 -> 0x800FB9B8 char * InkProvider::Text(const class InkProvider * const this /* r30 */, int data /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FB9B8 -> 0x800FBA04 class RndMat * InkProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FBA04 -> 0x800FBCC8 class DataNode InkProvider::Handle(class InkProvider * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\band2\src\meta\LoadingPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FBCD8 -> 0x800FBD34 */ class DataArray * types; // size: 0x4, address: 0x80A4B290 class Symbol name; // size: 0x4, address: 0x80A4B298 class LoadingPanel : public UIPanel { // total size: 0x5C }; // Range: 0x800FBCD8 -> 0x800FBCEC void LoadingPanel::Poll() {} class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CamShot * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x800FBCEC -> 0x800FBD34 void LoadingPanel::Unload(class LoadingPanel * const this /* r31 */) { // References // -> class Rnd & TheRnd; } struct { // total size: 0xAC } __vt__12LoadingPanel; // size: 0xAC, address: 0x808890B8 struct { // total size: 0x8 } __RTTI__12LoadingPanel; // size: 0x8, address: 0x80889190 /* Compile unit: C:\rockband2\band2\src\meta\LoadingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FBD34 -> 0x800FC39C */ // Range: 0x800FBD34 -> 0x800FBF3C void LoadingPanel::Load(class LoadingPanel * const this /* r27 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r28 class BandUser * pUser; // r27 class Symbol track; // r1+0x14 int slot; // r27 // References // -> class GameMode * TheGameMode; // -> const char * gNullStr; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class CharCache * TheCharCache; } // Range: 0x800FBF3C -> 0x800FC1C4 void LoadingPanel::Enter(class LoadingPanel * const this /* r31 */) { // Local variables class ObjDirItr shot; // r1+0x14 class WorldDir * d; // r0 // References // -> class GameMode * TheGameMode; // -> struct [anonymous] __RTTI__7UILabel; // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__8WorldDir; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; // -> class Rnd & TheRnd; // -> class CharCache * TheCharCache; } // Range: 0x800FC1C4 -> 0x800FC208 class Symbol LoadingPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x800FC208 -> 0x800FC39C void LoadingPanel::SetType(class LoadingPanel * const this /* r29 */, class Symbol & LoadingPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FC460 -> 0x800FC5D0 */ // Range: 0x800FC460 -> 0x800FC5D0 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; } /* Compile unit: C:\rockband2\band2\src\meta\LockStepMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FC5D0 -> 0x800FE02C */ class StartLockMsg : public NetMessage { // total size: 0x8 int mLockUserID; // offset 0x4, size 0x4 }; class LockResponseMsg : public NetMessage { // total size: 0x14 unsigned char mLocked; // offset 0x4, size 0x1 class vector mLockedIDs; // offset 0x8, size 0xC }; class EndLockMsg : public NetMessage { // total size: 0x4 }; class LockStepMgr * TheLockStepMgr; // size: 0x4, address: 0x80A4B2A0 class LockStepMgr : public Object { // total size: 0x3C class vector mWaitList; // offset 0x28, size 0xC unsigned char mLockSuccess; // offset 0x34, size 0x1 class BandUser * mLockUser; // offset 0x38, size 0x4 }; // Range: 0x800FC5D0 -> 0x800FC74C void * LockStepMgr::LockStepMgr(class LockStepMgr * const this /* r29 */) { // References // -> class NetMessageFactory TheNetMessageFactory; // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LockStepMgr * TheLockStepMgr; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__11LockStepMgr; } // Range: 0x800FC74C -> 0x800FC850 void * LockStepMgr::~LockStepMgr(class LockStepMgr * const this /* r29 */) { // References // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LockStepMgr * TheLockStepMgr; // -> struct [anonymous] __vt__11LockStepMgr; } // Range: 0x800FC850 -> 0x800FC884 unsigned char LockStepMgr::InLock() {} // Range: 0x800FC884 -> 0x800FCABC void LockStepMgr::StartLock(class LockStepMgr * const this /* r29 */) { // Local variables class vector & users; // r0 int n; // r30 class vector locals; // r1+0x18 class StartLockMsg msg; // r1+0x10 // References // -> class NetSession * TheNetSession; // -> class BandUserMgr * TheBandUserMgr; // -> class InputMgr * TheInputMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message ilsr; // size: 0x8, address: 0x80978C20 // Range: 0x800FCAFC -> 0x800FCE74 void LockStepMgr::OnStartLockMsg(class LockStepMgr * const this /* r30 */, class BandUser * lockUser /* r29 */) { // Local variables unsigned char ready; // r30 class DataNode res; // r1+0x28 class vector localUsers; // r1+0x30 int n; // r28 class LockResponseMsg msg; // r1+0x3C // References // -> class BandUserMgr * TheBandUserMgr; // -> class NetSession * TheNetSession; // -> class InputMgr * TheInputMgr; // -> static class Message ilsr; // -> struct [anonymous] __vt__7Message; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FCE74 -> 0x800FCEF8 void LockStepMgr::OnLockResponseMsg(class LockStepMgr * const this /* r29 */, class vector & users /* r30 */) { // Local variables int n; // r31 } // Range: 0x800FCEF8 -> 0x800FD03C void LockStepMgr::RemoveUserFromWaitList(class LockStepMgr * const this /* r31 */, class BandUser * user /* r29 */) { // Local variables unsigned char found; // r5 int m; // r6 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message lsc; // size: 0x8, address: 0x80978C38 // Range: 0x800FD03C -> 0x800FD310 void LockStepMgr::ReleaseLock(class LockStepMgr * const this /* r30 */) { // Local variables class EndLockMsg msg; // r1+0x10 // References // -> class NetSession * TheNetSession; // -> struct [anonymous] __vt__10EndLockMsg; // -> class InputMgr * TheInputMgr; // -> static class Message lsc; // -> struct [anonymous] __vt__7Message; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FD350 -> 0x800FD354 void LockStepMgr::OnEndLockMsg() {} // Range: 0x800FD354 -> 0x800FD3D8 class DataNode LockStepMgr::OnMsg() { // References // -> class Debug TheDebug; } // Range: 0x800FD3D8 -> 0x800FD448 void LockStepMgr::ReleaseLockFromUser(class LockStepMgr * const this /* r31 */) { // References // -> class InputMgr * TheInputMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FD448 -> 0x800FD4FC class DataNode LockStepMgr::OnMsg(class LockStepMgr * const this /* r30 */) { // Local variables class BandUser * user; // r4 // References // -> class BandUserMgr * TheBandUserMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4B2A8 static class Symbol _s; // size: 0x4, address: 0x80A4B2B0 // Range: 0x800FD4FC -> 0x800FDCB8 class DataNode LockStepMgr::Handle(class LockStepMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__19RemotePlayerLeftMsg; // -> class Symbol t; // -> struct [anonymous] __vt__18NewRemotePlayerMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x800FDCB8 -> 0x800FDCD0 void * StartLockMsg::StartLockMsg() { // References // -> struct [anonymous] __vt__12StartLockMsg; } // Range: 0x800FDCD0 -> 0x800FDD08 void StartLockMsg::Save(const class StartLockMsg * const this /* r5 */) {} // Range: 0x800FDD08 -> 0x800FDD48 void StartLockMsg::Load(class StartLockMsg * const this /* r31 */) { // Local variables unsigned char id; // r1+0x8 } // Range: 0x800FDD48 -> 0x800FDD80 void StartLockMsg::Dispatch(class StartLockMsg * const this /* r4 */) { // Local variables class BandUser * user; // r0 // References // -> class LockStepMgr * TheLockStepMgr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800FDD80 -> 0x800FDE64 void * LockResponseMsg::LockResponseMsg(class LockResponseMsg * const this /* r29 */, class vector & users /* r30 */) { // Local variables int n; // r31 // References // -> struct [anonymous] __vt__15LockResponseMsg; } // Range: 0x800FDE64 -> 0x800FDEBC void LockResponseMsg::Save(const class LockResponseMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x800FDEBC -> 0x800FDF20 void LockResponseMsg::Load(class LockResponseMsg * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x800FDF20 -> 0x800FE024 void LockResponseMsg::Dispatch(class LockResponseMsg * const this /* r30 */) { // Local variables class vector users; // r1+0x14 int n; // r31 // References // -> class LockStepMgr * TheLockStepMgr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x800FE024 -> 0x800FE02C void EndLockMsg::Dispatch() { // References // -> class LockStepMgr * TheLockStepMgr; } struct { // total size: 0x28 } __vt__10EndLockMsg; // size: 0x28, address: 0x80889420 struct { // total size: 0x8 } __RTTI__10EndLockMsg; // size: 0x8, address: 0x80889460 struct { // total size: 0x28 } __vt__15LockResponseMsg; // size: 0x28, address: 0x80889468 struct { // total size: 0x8 } __RTTI__15LockResponseMsg; // size: 0x8, address: 0x808894B0 struct { // total size: 0x28 } __vt__12StartLockMsg; // size: 0x28, address: 0x808894B8 struct { // total size: 0x8 } __RTTI__12StartLockMsg; // size: 0x8, address: 0x80889500 struct { // total size: 0x54 } __vt__11LockStepMgr; // size: 0x54, address: 0x80889508 struct { // total size: 0x8 } __RTTI__11LockStepMgr; // size: 0x8, address: 0x80889580 /* Compile unit: C:\rockband2\band2\src\meta\LockStepMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FE02C -> 0x800FE29C */ // Range: 0x800FE02C -> 0x800FE064 class NetMessage * StartLockMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__12StartLockMsg; } // Range: 0x800FE064 -> 0x800FE0AC class NetMessage * LockResponseMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__15LockResponseMsg; } // Range: 0x800FE0AC -> 0x800FE0E4 class NetMessage * EndLockMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__10EndLockMsg; } // Range: 0x800FE0E4 -> 0x800FE0E8 void EndLockMsg::Load() {} // Range: 0x800FE0E8 -> 0x800FE0EC void EndLockMsg::Save() {} // Range: 0x800FE0EC -> 0x800FE120 char * EndLockMsg::Name() {} // Range: 0x800FE120 -> 0x800FE17C unsigned char EndLockMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x800FE17C -> 0x800FE1B0 char * LockResponseMsg::Name() {} // Range: 0x800FE1B0 -> 0x800FE20C unsigned char LockResponseMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x800FE20C -> 0x800FE240 char * StartLockMsg::Name() {} // Range: 0x800FE240 -> 0x800FE29C unsigned char StartLockMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\band2\src\meta\LogoProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FE324 -> 0x800FECE4 */ class LogoProvider * sLogoProvider; // size: 0x4, address: 0x80A4B2B8 class LogoProvider : public ListProvider, public Object { // total size: 0x38 class DataArray * mLogoList; // offset 0x2C, size 0x4 class RndMat * mMat; // offset 0x30, size 0x4 class RndTex * mTex; // offset 0x34, size 0x4 }; // Range: 0x800FE324 -> 0x800FE540 void * LogoProvider::LogoProvider(class LogoProvider * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Symbol name; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__12LogoProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x800FE540 -> 0x800FE574 void LogoProvider::Init() { // References // -> class LogoProvider * sLogoProvider; } // Range: 0x800FE574 -> 0x800FE610 class Symbol LogoProvider::DataSymbol(const class LogoProvider * const this /* r31 */, int data /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FE610 -> 0x800FE664 int LogoProvider::NumData() {} // Range: 0x800FE664 -> 0x800FE6D0 char * LogoProvider::Text(int data /* r30 */) {} // Range: 0x800FE6D0 -> 0x800FE870 class RndMat * LogoProvider::Mat(const class LogoProvider * const this /* r27 */, int data /* r28 */) { // Local variables class String logo; // r1+0x2C class FilePath bandlogo_path; // r1+0x20 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x800FE870 -> 0x800FE924 char * LogoProvider::GetLogoName(class LogoProvider * const this /* r29 */, int index /* r30 */) { // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A4B2C0 // Range: 0x800FE924 -> 0x800FECE4 class DataNode LogoProvider::Handle(class LogoProvider * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__12LogoProvider; // size: 0x9C, address: 0x808897E8 struct { // total size: 0x8 } __RTTI__12LogoProvider; // size: 0x8, address: 0x808898B0 /* Compile unit: C:\rockband2\band2\src\meta\MainPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x800FED54 -> 0x80101E34 */ class DataArray * types; // size: 0x4, address: 0x80A4B2C8 class Symbol name; // size: 0x4, address: 0x80A4B2D0 class MainPanel * TheMainPanel; // size: 0x4, address: 0x80A4B2D4 class MainPanelWidget { // total size: 0x20 protected: class RndAnimatable * mShot; // offset 0x0, size 0x4 class UILabel * mLabel; // offset 0x4, size 0x4 const char * mCascade; // offset 0x8, size 0x4 unsigned char mCascadeDown; // offset 0xC, size 0x1 float mCurFrame; // offset 0x10, size 0x4 float mDesFrame; // offset 0x14, size 0x4 float mCurAlpha; // offset 0x18, size 0x4 float mDesAlpha; // offset 0x1C, size 0x4 }; // Range: 0x800FED54 -> 0x800FEDE0 void * MainPanelWidget::MainPanelWidget(class MainPanelWidget * const this /* r31 */) {} // Range: 0x800FEDE0 -> 0x800FEE28 void MainPanelWidget::PlayForward(class MainPanelWidget * const this /* r31 */) {} // Range: 0x800FEE28 -> 0x800FEE70 void MainPanelWidget::PlayBackward(class MainPanelWidget * const this /* r31 */) {} // Range: 0x800FEE70 -> 0x800FF07C void MainPanelWidget::CascadeDown(class UIPanel * panel /* r31 */) { // Local variables class Message msg; // r1+0x30 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x800FF07C -> 0x800FF40C void MainPanelWidget::CascadeUp(class MainPanelWidget * const this /* r30 */, class UIPanel * panel /* r31 */) { // Local variables class Message msg; // r1+0x50 class Message msg; // r1+0x48 // References // -> struct [anonymous] __vt__7Message; // -> class MainPanel * TheMainPanel; } // Range: 0x800FF40C -> 0x800FF4F8 unsigned char MainPanelWidget::UpdateAnim(class MainPanelWidget * const this /* r31 */) {} // Range: 0x800FF4F8 -> 0x800FF504 void MainPanelWidget::Show() {} // Range: 0x800FF504 -> 0x800FF510 void MainPanelWidget::Hide() {} // Range: 0x800FF510 -> 0x800FF590 void MainPanelWidget::UpdateAlpha() {} class MainPanel : public UIPanel { // total size: 0x1FC protected: class MainPanelWidget mWidget[12]; // offset 0x30, size 0x180 class MainPanelWidget * mCurAnim; // offset 0x1B0, size 0x4 class MainPanelWidget * mNextAnim; // offset 0x1B4, size 0x4 class MainPanelWidget * mCascadedWidget; // offset 0x1B8, size 0x4 class vector mFocusStack; // offset 0x1BC, size 0xC unsigned char mEntered; // offset 0x1C8, size 0x1 const char * mDelayedScreen; // offset 0x1CC, size 0x4 }; // Range: 0x800FF590 -> 0x800FF690 void * MainPanel::MainPanel(class MainPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class MainPanel * TheMainPanel; // -> struct [anonymous] __vt__9MainPanel; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct FocusEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct FocusEntry * _M_start; // offset 0x0, size 0x4 struct FocusEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x800FF690 -> 0x800FF6BC unsigned char MainPanel::IsMainScreen() {} // Range: 0x800FF6BC -> 0x800FF720 void MainPanel::Exit(class MainPanel * const this /* r31 */) { // Local variables class UIComponent * f; // r0 } // Range: 0x800FF720 -> 0x801000B0 void MainPanel::Enter(class MainPanel * const this /* r26 */) { // Local variables class ObjectDir * dir; // r27 int i; // r27 class ObjectDir * dir; // r0 int widIdx; // r30 class MainPanelWidget & wid; // r31 // References // -> class Rnd & TheRnd; // -> const char * kNotObjectMsg; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__13BandHighlight; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__7UILabel; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class UIManager TheUI; } // Range: 0x801000B0 -> 0x801001C8 void MainPanel::ResetStoredFocus(class MainPanel * const this /* r31 */) {} struct FocusEntry { // total size: 0x8 class Symbol mFocus; // offset 0x0, size 0x4 int mWidget; // offset 0x4, size 0x4 }; // Range: 0x801001C8 -> 0x80100274 void MainPanel::PollAnim(class MainPanel * const this /* r29 */, unsigned char force /* r30 */) { // Local variables int i; // r31 } // Range: 0x80100274 -> 0x801002AC void MainPanel::Poll(class MainPanel * const this /* r31 */) {} // Range: 0x801002AC -> 0x8010035C void MainPanel::SetNextAnim(class MainPanel * const this /* r31 */) {} // Range: 0x8010035C -> 0x8010050C int MainPanel::FindWidget() {} // Range: 0x8010050C -> 0x80100728 void MainPanel::OnPushFocus(class MainPanel * const this /* r31 */) { // Local variables class UIComponent * f; // r28 int widIdx; // r28 class MainPanelWidget & wid; // r29 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x80100728 -> 0x801008D4 class DataNode MainPanel::OnPopFocus(class MainPanel * const this /* r31 */) { // Local variables int i; // r29 int widIdx; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x801008D4 -> 0x80100950 void MainPanel::ShowOnly(class MainPanel * const this /* r29 */, int widget /* r30 */) { // Local variables int i; // r31 } // Range: 0x80100950 -> 0x801011F0 void MainPanel::SetFocusForScreen(class MainPanel * const this /* r29 */, const char * screen /* r30 */) {} // Range: 0x801011F0 -> 0x80101244 class DataNode MainPanel::OnIsPlayingAnim() {} // Range: 0x80101244 -> 0x801012A8 class DataNode MainPanel::OnAnimFramesLeft() {} static char buffer[64]; // size: 0x40, address: 0x80978C40 // Range: 0x801012A8 -> 0x8010152C class DataNode MainPanel::IsFocusedComponent(class MainPanel * const this /* r27 */, class RndDrawable * component /* r31 */) { // Local variables class vector draws; // r1+0x20 class RndDrawable * const * d; // r3 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11RndDrawable; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> static char buffer[64]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UIManager TheUI; } struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PP11RndDrawable; // size: 0x8, address: 0x80889EA0 static class Symbol _s; // size: 0x4, address: 0x80A4B2DC static class Symbol _s; // size: 0x4, address: 0x80A4B2E4 static class Symbol _s; // size: 0x4, address: 0x80A4B2EC static class Symbol _s; // size: 0x4, address: 0x80A4B2F4 static class Symbol _s; // size: 0x4, address: 0x80A4B2FC static class Symbol _s; // size: 0x4, address: 0x80A4B304 static class Symbol _s; // size: 0x4, address: 0x80A4B30C // Range: 0x8010152C -> 0x80101E34 class DataNode MainPanel::Handle(class MainPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__13BandHighlight; // size: 0x8, address: 0x80889FD0 struct { // total size: 0xAC } __vt__9MainPanel; // size: 0xAC, address: 0x8088A008 struct { // total size: 0x8 } __RTTI__9MainPanel; // size: 0x8, address: 0x8088A0E0 struct { // total size: 0x8 } __RTTI__P10FocusEntry; // size: 0x8, address: 0x8088A2C8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80101E34 -> 0x8010200C */ // Range: 0x80101E34 -> 0x80101E80 char * MakeString(const char * fmt /* r0 */, char * t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\rndobj\Anim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010200C -> 0x8010201C */ // Range: 0x8010200C -> 0x80102014 float RndAnimatable::StartFrame() {} // Range: 0x80102014 -> 0x8010201C float RndAnimatable::EndFrame() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010201C -> 0x80102148 */ // Range: 0x8010201C -> 0x80102034 unsigned long vector::size() {} // Range: 0x80102034 -> 0x80102044 struct FocusEntry & vector::__vc() {} // Range: 0x80102044 -> 0x801020CC void vector::clear() {} // Range: 0x801020CC -> 0x80102144 void vector::push_back() {} // Range: 0x80102144 -> 0x80102148 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\band2\src\meta\MainPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80102148 -> 0x80102360 */ // Range: 0x80102148 -> 0x80102188 void * FocusEntry::FocusEntry(struct FocusEntry * const this /* r30 */, int widget /* r31 */) {} // Range: 0x80102188 -> 0x801021CC class Symbol MainPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801021CC -> 0x80102360 void MainPanel::SetType(class MainPanel * const this /* r29 */, class Symbol & MainPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\Symbol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80102360 -> 0x801023B4 */ // Range: 0x80102360 -> 0x801023B4 unsigned char Symbol::__ne() { // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801023B4 -> 0x801023CC */ // Range: 0x801023B4 -> 0x801023CC struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801023CC -> 0x801025B8 */ // Range: 0x801023CC -> 0x801025B8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct FocusEntry * __pos /* r26 */, const struct FocusEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct FocusEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10FocusEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\Matchmaker.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801025B8 -> 0x80104B80 */ class Symbol t; // size: 0x4, address: 0x80A4B314 static class Symbol join_result; // size: 0x4, address: 0x80A4B31C static class Symbol mode_changed; // size: 0x4, address: 0x80A4B324 static class Symbol search_finished; // size: 0x4, address: 0x80A4B32C // Range: 0x801025B8 -> 0x80102814 void * Matchmaker::Matchmaker(class Matchmaker * const this /* r30 */) { // Local variables class DataArray * config; // r29 // References // -> class Net TheNet; // -> static class Symbol search_finished; // -> class GameMode * TheGameMode; // -> static class Symbol mode_changed; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSession * TheNetSession; // -> static class Symbol join_result; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__10Matchmaker; } static class Symbol join_result; // size: 0x4, address: 0x80A4B334 static class Symbol mode_changed; // size: 0x4, address: 0x80A4B33C static class Symbol search_finished; // size: 0x4, address: 0x80A4B344 // Range: 0x80102814 -> 0x8010295C void * Matchmaker::~Matchmaker(class Matchmaker * const this /* r30 */) { // References // -> class ObjectDir * sMainDir; // -> class Net TheNet; // -> static class Symbol search_finished; // -> class GameMode * TheGameMode; // -> static class Symbol mode_changed; // -> class NetSession * TheNetSession; // -> static class Symbol join_result; // -> struct [anonymous] __vt__10Matchmaker; } // Range: 0x8010295C -> 0x80102B54 void Matchmaker::Poll(class Matchmaker * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Net TheNet; // -> class NetSession * TheNetSession; } // Range: 0x80102B54 -> 0x80102C9C void Matchmaker::FindPlayers(class Matchmaker * const this /* r28 */, unsigned char forceLeader /* r29 */, unsigned char forceNonLeader /* r30 */) { // References // -> class NetSession * TheNetSession; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80102C9C -> 0x80102D98 class DataNode Matchmaker::OnFindPlayers(class Matchmaker * const this /* r29 */, class DataArray * a /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80102D98 -> 0x80102DC8 unsigned char Matchmaker::IsFinding() { // References // -> class NetSession * TheNetSession; } // Range: 0x80102DC8 -> 0x80102E8C void Matchmaker::CancelFind(class Matchmaker * const this /* r31 */) { // References // -> class Net TheNet; // -> class NetSession * TheNetSession; } // Range: 0x80102E8C -> 0x80102E94 void Matchmaker::SetChannel() {} class NetSearchResult : public Object { // total size: 0x40 protected: class SessionData * mSessionData; // offset 0x28, size 0x4 class MatchmakingSettings * mSettings; // offset 0x2C, size 0x4 int mNumOpenSlots; // offset 0x30, size 0x4 class String mHostName; // offset 0x34, size 0xC }; // Range: 0x80102E94 -> 0x80103000 class DataNode Matchmaker::OnSearchFinished(class Matchmaker * const this /* r30 */) { // Local variables class NetSearchResult * nextResult; // r4 float waitTime; // f31 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Net TheNet; // -> class NetSession * TheNetSession; } // Range: 0x80103000 -> 0x80103130 class DataNode Matchmaker::OnMsg(class Matchmaker * const this /* r29 */, const class JoinResultMsg & msg /* r30 */) { // References // -> class SessionMgr * TheSessionMgr; // -> class BandUI * TheBandUI; } // Range: 0x80103130 -> 0x80103200 class DataNode Matchmaker::OnMsg(class Matchmaker * const this /* r30 */) { // References // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> class NetSession * TheNetSession; } // Range: 0x80103200 -> 0x801032C4 void Matchmaker::UpdateMatchmakingSettings(class Matchmaker * const this /* r30 */) { // References // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> class NetSession * TheNetSession; } class SearchSettings : public MatchmakingSettings { // total size: 0x2C int mQueryID; // offset 0x28, size 0x4 }; // Range: 0x801032C4 -> 0x80103410 void Matchmaker::StartSearch(class Matchmaker * const this /* r29 */) { // Local variables int queryID; // r30 class SearchSettings settings; // r1+0x10 // References // -> class NetSession * TheNetSession; // -> class Net TheNet; // -> class Tour * TheTour; // -> class GameConfig * TheGameConfig; } static class Symbol difficulty; // size: 0x4, address: 0x80A4B34C static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B354 static class Symbol is_tour; // size: 0x4, address: 0x80A4B35C // Range: 0x801034D4 -> 0x80103A14 void Matchmaker::AddCustomSettings(class Matchmaker * const this /* r24 */, class MatchmakingSettings * settings /* r29 */, unsigned char searching /* r30 */) { // Local variables class Symbol diff; // r1+0x18 int needDrummer; // r27 int needVocalist; // r26 int needGuitarist; // r25 int increment; // r28 enum ControllerType instrument; // r0 int n; // r24 enum ControllerType instrument; // r0 const class HxGuid * guid; // r31 class HxGuid nullGuid; // r1+0x20 unsigned char addGuid; // r24 enum TourMode tMode; // r0 class TourBand * band; // r25 // References // -> const char * kAssertStr; // -> class Tour * TheTour; // -> static class Symbol is_tour; // -> class NetSession * TheNetSession; // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> class ObjectDir * sMainDir; // -> static class Symbol difficulty; } static class Symbol online_mode; // size: 0x4, address: 0x80A4B364 static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B36C static class Symbol separate_parts; // size: 0x4, address: 0x80A4B374 // Range: 0x80103A14 -> 0x80103C30 int Matchmaker::CurrentModeFilter() { // Local variables int mode; // r0 unsigned char pro; // r0 enum TrackType trackType; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol separate_parts; // -> class GameConfig * TheGameConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol is_h2h_arrangement; // -> class GameMode * TheGameMode; // -> static class Symbol online_mode; } static class Message matchmaker_update; // size: 0x8, address: 0x80978C90 // Range: 0x80103C30 -> 0x80103E28 void Matchmaker::UpdateUI() { // References // -> static class Message matchmaker_update; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__8UIScreen; // -> class UIManager TheUI; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17MatchmakingScreen; // -> class ObjectDir * sMainDir; } static class Symbol _s; // size: 0x4, address: 0x80A4B37C static class Symbol _s; // size: 0x4, address: 0x80A4B384 static class Symbol _s; // size: 0x4, address: 0x80A4B38C static class Symbol _s; // size: 0x4, address: 0x80A4B394 static class Symbol _s; // size: 0x4, address: 0x80A4B39C static class Symbol _s; // size: 0x4, address: 0x80A4B3A4 // Range: 0x80103E28 -> 0x80104A18 class DataNode Matchmaker::Handle(class Matchmaker * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x48 class MessageTimer _mt; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__14ModeChangedMsg; // -> class Symbol t; // -> struct [anonymous] __vt__13JoinResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4B3AC // Range: 0x80104A18 -> 0x80104B80 unsigned char Matchmaker::SyncProperty(class Matchmaker * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__17MatchmakingScreen; // size: 0x8, address: 0x8088A618 struct { // total size: 0xC } __vt__13JoinResultMsg; // size: 0xC, address: 0x8088A6C0 struct { // total size: 0x8 } __RTTI__13JoinResultMsg; // size: 0x8, address: 0x8088A6E8 struct { // total size: 0x54 } __vt__10Matchmaker; // size: 0x54, address: 0x8088A738 struct { // total size: 0x8 } __RTTI__10Matchmaker; // size: 0x8, address: 0x8088A7B0 /* Compile unit: C:\rockband2\band2\src\meta\MatchmakingScreen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80104C04 -> 0x8010AF7C */ class DataArray * types; // size: 0x4, address: 0x80A4B3B0 class Symbol name; // size: 0x4, address: 0x80A4B3B8 class Symbol t; // size: 0x4, address: 0x80A4B3C0 class Symbol t; // size: 0x4, address: 0x80A4B3C8 class Symbol t; // size: 0x4, address: 0x80A4B3D0 class MatchmakingScreen : public AutoloadScreen { // total size: 0x70 class DataArray * mOptions; // offset 0x4C, size 0x4 class vector mSlots; // offset 0x50, size 0xC class vector mAutoJoinPadNums; // offset 0x5C, size 0xC int mAutoJoinSlotNum; // offset 0x68, size 0x4 unsigned char mTriggerAutoJoinFailMsg; // offset 0x6C, size 0x1 unsigned char mPendingAbandonSession; // offset 0x6D, size 0x1 }; // Range: 0x80104C04 -> 0x80104C6C void * MatchmakingScreen::MatchmakingScreen(class MatchmakingScreen * const this /* r31 */) { // References // -> struct [anonymous] __vt__17MatchmakingScreen; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class MatchmakingSlot * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class MatchmakingSlot * * _M_start; // offset 0x0, size 0x4 class MatchmakingSlot * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80104C6C -> 0x80104D4C void * MatchmakingScreen::~MatchmakingScreen(class MatchmakingScreen * const this /* r30 */) { // References // -> struct [anonymous] __vt__17MatchmakingScreen; } static class Message ready; // size: 0x8, address: 0x80978CA8 static class Symbol is_tour; // size: 0x4, address: 0x80A4B3D8 struct FakeBandUser { // total size: 0x14 class BandUser * mUser; // offset 0x0, size 0x4 int mPadNum; // offset 0x4, size 0x4 class String mStrName; // offset 0x8, size 0xC }; enum JoinState { kMetaJoinNeedsOnline = 0, kMetaJoinGuestNotFirst = 1, kMetaJoinOK = 2, }; struct UserJoinEntry { // total size: 0x18 struct FakeBandUser mUser; // offset 0x0, size 0x14 enum JoinState mState; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct UserJoinEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct UserJoinEntry * _M_start; // offset 0x0, size 0x4 struct UserJoinEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct FakeBandUser * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct FakeBandUser * _M_start; // offset 0x0, size 0x4 struct FakeBandUser * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class MatchmakingSlot : public Object { // total size: 0x100 class Symbol mSymOption; // offset 0x28, size 0x4 class MatchmakingScreen * mMMScreen; // offset 0x2C, size 0x4 int mSlotNum; // offset 0x30, size 0x4 class PanelDir * mPanelDir; // offset 0x34, size 0x4 class CharProvider mCharProvider; // offset 0x38, size 0x54 unsigned char mSendFocusMsg; // offset 0x8C, size 0x1 class UserNameProvider * mUserNameProvider; // offset 0x90, size 0x4 class vector mUserJoinList; // offset 0x94, size 0xC unsigned char mAllowedActions[16]; // offset 0xA0, size 0x10 class CharData * mPrevChar; // offset 0xB0, size 0x4 unsigned char mHasChars; // offset 0xB4, size 0x1 int mLastButtonPadNum; // offset 0xB8, size 0x4 int mLastButtonUserNum; // offset 0xBC, size 0x4 enum JoypadButton mLastButtonRawButton; // offset 0xC0, size 0x4 enum JoypadAction mLastButtonAction; // offset 0xC4, size 0x4 class RndGroup * mSingleInstGrp; // offset 0xC8, size 0x4 class RndGroup * mMultiInstGrp; // offset 0xCC, size 0x4 class RndGroup * mTopGrp; // offset 0xD0, size 0x4 class RndGroup * mBottomGrp; // offset 0xD4, size 0x4 class RndGroup * mRemoteOnlyGrp; // offset 0xD8, size 0x4 class RndGroup * mNoInstGrp; // offset 0xDC, size 0x4 class RndGroup * mUserNameGrp; // offset 0xE0, size 0x4 class RndGroup * mSignInGrp; // offset 0xE4, size 0x4 class RndGroup * mGuestNotFirstGrp; // offset 0xE8, size 0x4 class RndGroup * mJoinGrp; // offset 0xEC, size 0x4 class RndGroup * mUserNameJoinedGrp; // offset 0xF0, size 0x4 class RndGroup * mBottomChoosePartGrp; // offset 0xF4, size 0x4 class RndGroup * mBottomChooseCharGrp; // offset 0xF8, size 0x4 class RndGroup * mFindingGrp; // offset 0xFC, size 0x4 }; // Range: 0x80104D4C -> 0x80105088 unsigned char MatchmakingScreen::IsEveryoneReady(class MatchmakingScreen * const this /* r30 */) { // Local variables class MatchmakingSlot * * it; // r28 class MatchmakingSlot * pSlot; // r29 class DataNode n; // r1+0x28 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> static class Message ready; // -> struct [anonymous] __vt__7Message; } static class Message msgIsReady; // size: 0x8, address: 0x80978CC0 static class Symbol ready; // size: 0x4, address: 0x80A4B3E0 // Range: 0x80105088 -> 0x8010527C unsigned char MatchmakingScreen::IsEveryLocalSlotReady(class MatchmakingScreen * const this /* r30 */) { // Local variables class MatchmakingSlot * * it; // r27 class MatchmakingSlot * pSlot; // r26 int slotNum; // r0 class BandUser * pUser; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol ready; // -> static class Message msgIsReady; // -> struct [anonymous] __vt__7Message; } // Range: 0x8010527C -> 0x80105288 unsigned char MatchmakingScreen::IsSessionBusy() { // References // -> class NetSession * TheNetSession; } // Range: 0x80105288 -> 0x80105294 unsigned char MatchmakingScreen::IsSearching() { // References // -> class SessionMgr * TheSessionMgr; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B3E8 // Range: 0x80105294 -> 0x80105344 unsigned char MatchmakingScreen::IsFull() { // Local variables unsigned char isH2h; // r0 int userCount; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; } // Range: 0x80105344 -> 0x801053F4 class MatchmakingSlot * MatchmakingScreen::GetSlotObj(class MatchmakingScreen * const this /* r28 */, int slotNum /* r29 */) { // Local variables class MatchmakingSlot * * it; // r31 class MatchmakingSlot * pSlot; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x80978CD8 static class Symbol back; // size: 0x4, address: 0x80A4B3F0 // Range: 0x801053F4 -> 0x8010561C void MatchmakingScreen::GoBack(class MatchmakingScreen * const this /* r31 */) { // Local variables class vector users; // r1+0x28 // References // -> class UIManager TheUI; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> static class Symbol back; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B3F8 static class Symbol slot; // size: 0x4, address: 0x80A4B400 // Range: 0x8010561C -> 0x801057B0 void MatchmakingScreen::UpdateH2hSlotNames(class MatchmakingScreen * const this /* r30 */, enum ControllerType ct /* r28 */) { // Local variables unsigned char isH2h; // r0 class Symbol symCt; // r1+0x18 class MatchmakingSlot * * it; // r29 class MatchmakingSlot * pSlot; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol slot; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; } static class Symbol update; // size: 0x4, address: 0x80A4B408 static class Message msgUpdate; // size: 0x8, address: 0x80978CF0 // Range: 0x801057B0 -> 0x80105974 void MatchmakingScreen::UpdateAll(class MatchmakingScreen * const this /* r31 */) { // Local variables class MatchmakingSlot * * it; // r30 // References // -> static class Message msgUpdate; // -> struct [anonymous] __vt__7Message; // -> class SessionMgr * TheSessionMgr; // -> static class Symbol update; } static class Symbol update; // size: 0x4, address: 0x80A4B410 // Range: 0x80105974 -> 0x80105AC8 void MatchmakingScreen::ExportAll(class MatchmakingScreen * const this /* r27 */, const class Message & msg /* r28 */) { // Local variables class MatchmakingSlot * * it; // r30 class MatchmakingSlot * pSlot; // r29 // References // -> const char * gNullStr; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> static class Symbol update; } static class Symbol slot; // size: 0x4, address: 0x80A4B418 static class Symbol is_tour; // size: 0x4, address: 0x80A4B420 static class Symbol cancel; // size: 0x4, address: 0x80A4B428 static class Symbol helpbar_back; // size: 0x4, address: 0x80A4B430 static class Symbol option1; // size: 0x4, address: 0x80A4B438 static class Symbol mm_hb_fmp_cancel; // size: 0x4, address: 0x80A4B440 static class Symbol mm_hb_fmp; // size: 0x4, address: 0x80A4B448 static class Symbol start; // size: 0x4, address: 0x80A4B450 static class Symbol matchmaking_pressstart; // size: 0x4, address: 0x80A4B458 static class Symbol option2; // size: 0x4, address: 0x80A4B460 static class Symbol mm_hb_net_options; // size: 0x4, address: 0x80A4B468 static class Symbol confirm; // size: 0x4, address: 0x80A4B470 static class Symbol helpbar_select; // size: 0x4, address: 0x80A4B478 static class Symbol no_guitar_icon; // size: 0x4, address: 0x80A4B480 static class Symbol no_drum_icon; // size: 0x4, address: 0x80A4B488 static class Symbol no_vocal_icon; // size: 0x4, address: 0x80A4B490 static class Symbol waiting; // size: 0x4, address: 0x80A4B498 static class Symbol helpbar_waiting_for; // size: 0x4, address: 0x80A4B4A0 // Range: 0x80105AC8 -> 0x80106E24 void MatchmakingScreen::UpdateHelpbar(class MatchmakingScreen * const this /* r18 */) { // Local variables class DataArrayPtr pDataHelpbar; // r1+0x188 int i; // r28 unsigned char hasCancel; // r27 unsigned char hasConfirm; // r26 unsigned char hasStart; // r25 unsigned char hasOption1; // r24 unsigned char hasOption2; // r23 unsigned char hasGuitar; // r22 unsigned char hasDrum; // r21 unsigned char hasVocals; // r20 unsigned char isEveryoneReady; // r0 class MatchmakingSlot * * it; // r29 class MatchmakingSlot * pSlot; // r19 unsigned char anyButton; // r17 enum ControllerType ctSlot; // r0 unsigned char isLeaderLocal; // r19 int leaderNum; // r0 class BandUser * pUserLeader; // r0 class BandUser * pUserLeader; // r17 class Symbol waiting_for; // r1+0x5C // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12HelpBarPanel; // -> class ObjectDir * sMainDir; // -> static class Symbol helpbar_waiting_for; // -> static class Symbol waiting; // -> static class Symbol no_vocal_icon; // -> static class Symbol no_drum_icon; // -> static class Symbol no_guitar_icon; // -> static class Symbol helpbar_select; // -> static class Symbol confirm; // -> static class Symbol mm_hb_net_options; // -> static class Symbol option2; // -> static class Symbol matchmaking_pressstart; // -> static class Symbol start; // -> static class Symbol mm_hb_fmp; // -> static class Symbol mm_hb_fmp_cancel; // -> static class Symbol option1; // -> static class Symbol helpbar_back; // -> static class Symbol cancel; // -> class Tour * TheTour; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> class BandUserMgr * TheBandUserMgr; // -> class SessionMgr * TheSessionMgr; // -> static class Symbol slot; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class UIManager TheUI; } // Range: 0x80106E24 -> 0x80106E8C void MatchmakingScreen::SetTypeDef(class MatchmakingScreen * const this /* r30 */, class DataArray * data /* r31 */) {} static class Symbol panel; // size: 0x4, address: 0x80A4B4A8 // Range: 0x80106E8C -> 0x80107368 void MatchmakingScreen::Enter(class MatchmakingScreen * const this /* r24 */, class UIScreen * from /* r25 */) { // Local variables class DataArray * pDataPanels; // r27 class UIPanel * pPanelMain; // r0 class DataArray * pDataType; // r28 class DataArray * slots; // r27 int numSlots; // r0 int i; // r26 const char * dir_name; // r21 class MatchmakingSlot * pSlot; // r1+0x44 // References // -> class BandUI * TheBandUI; // -> class InputMgr * TheInputMgr; // -> class SessionMgr * TheSessionMgr; // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> struct [anonymous] __RTTI__8PanelDir; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> static class Symbol panel; } static class Message exit; // size: 0x8, address: 0x80978D08 static class Symbol matchmaking_pad_lost; // size: 0x4, address: 0x80A4B4B0 // Range: 0x80107368 -> 0x80107564 void MatchmakingScreen::Exit(class MatchmakingScreen * const this /* r30 */, class UIScreen * to /* r31 */) { // References // -> static class Symbol matchmaking_pad_lost; // -> class BandUI * TheBandUI; // -> static class Message exit; // -> struct [anonymous] __vt__7Message; // -> class SessionMgr * TheSessionMgr; // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> class InputMgr * TheInputMgr; } // Range: 0x80107564 -> 0x80107598 void MatchmakingScreen::UnloadPanels(class MatchmakingScreen * const this /* r31 */) {} static class Message poll; // size: 0x8, address: 0x80978D20 // Range: 0x80107598 -> 0x801076A8 void MatchmakingScreen::Poll(class MatchmakingScreen * const this /* r31 */) { // References // -> static class Message poll; // -> struct [anonymous] __vt__7Message; } // Range: 0x801076A8 -> 0x80107B44 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r30 */, const class ButtonDownMsg & msg /* r31 */) { // Local variables class vector users; // r1+0x28 int firstFreePadNum; // r25 class ButtonDownMsg msgNew; // r1+0x20 class BandUser * pUser; // r26 unsigned char useExtendedOptions; // r28 enum JoypadButton button; // r0 int slotNum; // r4 class MatchmakingSlot * pSlot; // r27 enum JoypadButton option1; // r28 enum JoypadButton option2; // r24 class JoypadData * data; // r0 class ButtonDownMsg msgExtended; // r1+0x18 class ButtonDownMsg msgExtended; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; // -> class BandUserMgr * TheBandUserMgr; // -> class UIManager TheUI; // -> class BandUI * TheBandUI; } // Range: 0x80107B44 -> 0x80107BDC class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r29 */, const class UIComponentScrollMsg & msg /* r30 */) { // References // -> class BandUI * TheBandUI; } // Range: 0x80107BDC -> 0x80107C74 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r29 */, const class UIComponentSelectMsg & msg /* r30 */) { // References // -> class BandUI * TheBandUI; } // Range: 0x80107C74 -> 0x80107D0C class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r29 */, const class UIComponentSelectDoneMsg & msg /* r30 */) { // References // -> class BandUI * TheBandUI; } // Range: 0x80107D0C -> 0x80107DD4 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r29 */, const class UIComponentFocusChangeMsg & msg /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8PanelDir; // -> class BandUI * TheBandUI; } // Range: 0x80107DD4 -> 0x80107EF8 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r29 */) { // Local variables class MatchmakingSlot * * it; // r31 class MatchmakingSlot * pSlot; // r30 // References // -> class SessionMgr * TheSessionMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol join; // size: 0x4, address: 0x80A4B4B8 static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B4C0 static class Symbol local_network; // size: 0x4, address: 0x80A4B4C8 // Range: 0x80107EF8 -> 0x8010827C void MatchmakingScreen::AutoJoinProcessNext(class MatchmakingScreen * const this /* r27 */) { // Local variables unsigned char isFinding; // r0 unsigned char isH2h; // r0 unsigned char isLocal; // r0 int padNum; // r29 class MatchmakingSlot * * it; // r28 class MatchmakingSlot * pSlot; // r25 class BandUser * pUserForSlot; // r0 int userNum; // r24 class vector users; // r1+0x28 int firstFreePadNum; // r0 // References // -> class PassiveMessenger * ThePassiveMessenger; // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> static class Symbol local_network; // -> static class Symbol is_h2h_arrangement; // -> static class Symbol join; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; // -> class NetSession * TheNetSession; // -> class UIManager TheUI; } // Range: 0x8010827C -> 0x801083BC class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r29 */, const class NetComponentFocusMsg & msg /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message playerNum; // size: 0x8, address: 0x80978D38 // Range: 0x801083BC -> 0x8010865C class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r26 */, const class NetComponentSelectMsg & msg /* r27 */) { // Local variables class MatchmakingSlot * * it; // r29 class MatchmakingSlot * pSlot; // r28 class UIComponent * c; // r0 // References // -> static class Message playerNum; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } static class Message playerNum; // size: 0x8, address: 0x80978D50 // Range: 0x8010865C -> 0x801089B4 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r26 */, const class NetComponentScrollMsg & msg /* r27 */) { // Local variables class User * u; // r0 class MatchmakingSlot * * it; // r29 class MatchmakingSlot * pSlot; // r28 class UIComponent * c; // r24 class UIList * list; // r29 class UISlider * slider; // r26 // References // -> struct [anonymous] __RTTI__8UISlider; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; // -> static class Message playerNum; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } static class Symbol ranked; // size: 0x4, address: 0x80A4B4D0 static class Symbol disband; // size: 0x4, address: 0x80A4B4D8 static class Message init; // size: 0x8, address: 0x80978D68 // Range: 0x801089B4 -> 0x80108CCC class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r30 */, const class RemotePlayerLeftMsg & msg /* r28 */) { // Local variables unsigned char isRanked; // r0 // References // -> class BandUI * TheBandUI; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol disband; // -> class GameMode * TheGameMode; // -> static class Symbol ranked; // -> class Tour * TheTour; // -> class SessionMgr * TheSessionMgr; // -> class NetSession * TheNetSession; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80108CCC -> 0x80108D54 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80108D54 -> 0x80109094 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r31 */) { // Local variables class vector users; // r1+0x24 class vector usersToRemove; // r1+0x18 class BandUser * * it; // r27 class BandUser * pUser; // r1+0x14 unsigned char removeUser; // r26 class BandUser * pUserOwner; // r4 class BandUser * pUserLeader; // r26 class BandUser * pUser; // r25 class MatchmakingSlot * pSlot; // r25 class MatchmakingSlot * pSlot; // r25 // References // -> class NetSession * TheNetSession; // -> class ProfileMgr TheProfileMgr; // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80109094 -> 0x8010913C class DataNode MatchmakingScreen::OnUpdate(class MatchmakingScreen * const this /* r31 */) { // Local variables const class DataNode & n; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15MatchmakingSlot; } static class Message msgPlayerNum; // size: 0x8, address: 0x80978D80 // Range: 0x8010913C -> 0x8010931C void MatchmakingScreen::Update(class MatchmakingScreen * const this /* r26 */, int userNum /* r27 */) { // Local variables class MatchmakingSlot * pSlot; // r30 class MatchmakingSlot * * it; // r29 class MatchmakingSlot * pSlotCur; // r28 // References // -> static class Message msgPlayerNum; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8010931C -> 0x80109330 void MatchmakingScreen::Update() {} // Range: 0x80109330 -> 0x801094D0 class DataNode MatchmakingScreen::OnExportAll(class MatchmakingScreen * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables class DataNode & n; // r0 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x801094D0 -> 0x801097AC class DataNode MatchmakingScreen::ExportButtonDown(class MatchmakingScreen * const this /* r29 */, const class Message & msg /* r30 */, class BandUser * pUser /* r31 */) { // Local variables class DataNode result; // r1+0x18 class MatchmakingSlot * pSlot; // r25 class MatchmakingSlot * * it; // r24 class MatchmakingSlot * pSlotCur; // r23 class MatchmakingSlot * * it; // r23 class MatchmakingSlot * pSlotCur; // r24 class UIComponent * c; // r0 // References // -> const char * gNullStr; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801097AC -> 0x80109888 class DataNode MatchmakingScreen::ExportToPlayer(class MatchmakingScreen * const this /* r28 */, const class Message & msg /* r29 */, int player /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UIManager TheUI; } static class Message player_num; // size: 0x8, address: 0x80978D98 // Range: 0x80109888 -> 0x80109AE0 class DataNode MatchmakingScreen::DoExportToPlayer(class DataNode * result /* r24 */, class MatchmakingScreen * const this /* r25 */, const class Message & msg /* r26 */, int player /* r27 */) { // Local variables class MatchmakingSlot * pSlot; // r30 class MatchmakingSlot * * it; // r29 class MatchmakingSlot * pSlotCur; // r28 // References // -> const char * gNullStr; // -> static class Message player_num; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80109AE0 -> 0x80109BB0 class DataNode MatchmakingScreen::OptionHandle(class MatchmakingScreen * const this /* r26 */, class PanelDir * pDir /* r27 */, const class Message & msg /* r28 */, class Symbol & opt /* r29 */) { // Local variables class MatchmakingSlot * * it; // r31 class MatchmakingSlot * pSlot; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80109BB0 -> 0x80109DAC class DataNode MatchmakingScreen::OptionHandle(class DataNode * ret /* r29 */, class MatchmakingScreen * const this /* r26 */, class MatchmakingSlot * pSlot /* r30 */, const class Message & msg /* r31 */, class Symbol & opt /* r27 */) { // Local variables class DataArray * h; // r4 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80109DAC -> 0x80109F90 class DataNode MatchmakingScreen::OnShowChar(class MatchmakingScreen * const this /* r27 */, class DataArray * a /* r28 */) { // Local variables class BandUser * pUser; // r29 // References // -> struct [anonymous] __vt__7Message; // -> class GameConfig * TheGameConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80109F90 -> 0x8010A080 class DataNode MatchmakingScreen::OnMsg(class MatchmakingScreen * const this /* r29 */, const class AddLocalUserResultMsg & msg /* r30 */) { // Local variables class MatchmakingSlot * pSlot; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8010A080 -> 0x8010A160 class DataNode MatchmakingScreen::OnSessionBusy(class MatchmakingScreen * const this /* r29 */) { // Local variables class MatchmakingSlot * * it; // r31 class MatchmakingSlot * pSlot; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSession * TheNetSession; } static class Symbol matchmaking_pad_lost; // size: 0x4, address: 0x80A4B4E0 static class Symbol disband; // size: 0x4, address: 0x80A4B4E8 // Range: 0x8010A160 -> 0x8010A300 void MatchmakingScreen::AbandonSession(class MatchmakingScreen * const this /* r27 */) { // Local variables class MatchmakingSlot * * it; // r30 class MatchmakingSlot * pSlot; // r29 class BandUser * pUser; // r28 // References // -> class BandUI * TheBandUI; // -> static class Symbol disband; // -> static class Symbol matchmaking_pad_lost; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSession * TheNetSession; } static class Symbol _s; // size: 0x4, address: 0x80A4B4F0 static class Symbol _s; // size: 0x4, address: 0x80A4B4F8 static class Symbol _s; // size: 0x4, address: 0x80A4B500 static class Symbol _s; // size: 0x4, address: 0x80A4B508 static class Symbol _s; // size: 0x4, address: 0x80A4B510 static class Symbol _s; // size: 0x4, address: 0x80A4B518 static class Symbol _s; // size: 0x4, address: 0x80A4B520 static class Symbol _s; // size: 0x4, address: 0x80A4B528 static class Symbol _s; // size: 0x4, address: 0x80A4B530 // Range: 0x8010A300 -> 0x8010AF7C class DataNode MatchmakingScreen::Handle(class MatchmakingScreen * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x48 class MessageTimer _mt; // r1+0x148 class DataNode r; // r1+0x140 class DataNode r; // r1+0x138 class DataNode r; // r1+0x130 class DataNode r; // r1+0x128 class DataNode r; // r1+0x120 class DataNode r; // r1+0x118 class DataNode r; // r1+0x110 class DataNode r; // r1+0x108 class DataNode r; // r1+0x100 class DataNode r; // r1+0xF8 class DataNode r; // r1+0xF0 class DataNode r; // r1+0xE8 class DataNode r; // r1+0xE0 class DataNode r; // r1+0xD8 class DataNode r; // r1+0xD0 class DataNode r; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode _n; // r1+0xB8 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } class RemotePlayerChangedMsg : public Message { // total size: 0x8 }; class AddLocalUserResultMsg : public Message { // total size: 0x8 }; struct { // total size: 0xC } __vt__21AddLocalUserResultMsg; // size: 0xC, address: 0x8088AC20 struct { // total size: 0x8 } __RTTI__21AddLocalUserResultMsg; // size: 0x8, address: 0x8088AC50 struct { // total size: 0x8 } __RTTI__15MatchmakingSlot; // size: 0x8, address: 0x8088AD28 struct { // total size: 0xC } __vt__22RemotePlayerChangedMsg; // size: 0xC, address: 0x8088AD60 struct { // total size: 0x8 } __RTTI__22RemotePlayerChangedMsg; // size: 0x8, address: 0x8088AD90 struct { // total size: 0xC } __vt__20UIComponentScrollMsg; // size: 0xC, address: 0x8088AF38 struct { // total size: 0x8 } __RTTI__20UIComponentScrollMsg; // size: 0x8, address: 0x8088AF68 struct { // total size: 0x80 } __vt__17MatchmakingScreen; // size: 0x80, address: 0x8088B270 struct { // total size: 0x8 } __RTTI__PP15MatchmakingSlot; // size: 0x8, address: 0x8088B4D0 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\band2\src\meta\SessionMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010AF7C -> 0x8010B0D0 */ // Range: 0x8010AF7C -> 0x8010B060 void MatchmakingScreen::ClearSlots(class MatchmakingScreen * const this /* r29 */) { // Local variables class MatchmakingSlot * * it; // r31 class MatchmakingSlot * pSlot; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8010B060 -> 0x8010B0A4 class Symbol AddLocalUserResultMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B0A4 -> 0x8010B0D0 void * AddLocalUserResultMsg::AddLocalUserResultMsg() { // References // -> struct [anonymous] __vt__21AddLocalUserResultMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B0D0 -> 0x8010B288 */ // Range: 0x8010B25C -> 0x8010B288 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\ui\PanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B288 -> 0x8010B290 */ // Range: 0x8010B288 -> 0x8010B290 class UIComponent * PanelDir::FocusComponent() {} /* Compile unit: C:\rockband2\system\src\ui\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B290 -> 0x8010B450 */ // Range: 0x8010B290 -> 0x8010B2D4 class Symbol UIComponentScrollMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B2D4 -> 0x8010B300 void * UIComponentScrollMsg::UIComponentScrollMsg() { // References // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8010B300 -> 0x8010B344 class Symbol UIComponentSelectMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B344 -> 0x8010B370 void * UIComponentSelectMsg::UIComponentSelectMsg() { // References // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8010B370 -> 0x8010B3B4 class Symbol UIComponentSelectDoneMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B3B4 -> 0x8010B3E0 void * UIComponentSelectDoneMsg::UIComponentSelectDoneMsg() { // References // -> struct [anonymous] __vt__24UIComponentSelectDoneMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8010B3E0 -> 0x8010B424 class Symbol UIComponentFocusChangeMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B424 -> 0x8010B450 void * UIComponentFocusChangeMsg::UIComponentFocusChangeMsg() { // References // -> struct [anonymous] __vt__25UIComponentFocusChangeMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B450 -> 0x8010B4C0 */ // Range: 0x8010B450 -> 0x8010B494 class Symbol RemotePlayerChangedMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B494 -> 0x8010B4C0 void * RemotePlayerChangedMsg::RemotePlayerChangedMsg() { // References // -> struct [anonymous] __vt__22RemotePlayerChangedMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\band2\src\game\UISyncNetMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B4C0 -> 0x8010B610 */ // Range: 0x8010B4C0 -> 0x8010B504 class Symbol NetComponentFocusMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B504 -> 0x8010B530 void * NetComponentFocusMsg::NetComponentFocusMsg() { // References // -> struct [anonymous] __vt__20NetComponentFocusMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8010B530 -> 0x8010B574 class Symbol NetComponentSelectMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B574 -> 0x8010B5A0 void * NetComponentSelectMsg::NetComponentSelectMsg() { // References // -> struct [anonymous] __vt__21NetComponentSelectMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8010B5A0 -> 0x8010B5E4 class Symbol NetComponentScrollMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B5E4 -> 0x8010B610 void * NetComponentScrollMsg::NetComponentScrollMsg() { // References // -> struct [anonymous] __vt__21NetComponentScrollMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B610 -> 0x8010B680 */ // Range: 0x8010B610 -> 0x8010B654 class Symbol SigninChangedMsg::Type() { // References // -> class Symbol t; } // Range: 0x8010B654 -> 0x8010B680 void * SigninChangedMsg::SigninChangedMsg() { // References // -> struct [anonymous] __vt__16SigninChangedMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\band2\src\meta\MatchmakingScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B680 -> 0x8010B844 */ // Range: 0x8010B680 -> 0x8010B800 void MatchmakingScreen::SetType(class MatchmakingScreen * const this /* r29 */, class Symbol & MatchmakingScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8010B800 -> 0x8010B844 class Symbol MatchmakingScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010B844 -> 0x8010BAC4 */ // Range: 0x8010B844 -> 0x8010B97C void vector::_M_insert_overflow(class vector * const this /* r27 */, class MatchmakingSlot * * __pos /* r28 */, class MatchmakingSlot * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class MatchmakingSlot * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15MatchmakingSlot; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8010B97C -> 0x8010BAC4 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class MatchmakingSlot * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15MatchmakingSlot; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010BAC4 -> 0x8010BADC */ // Range: 0x8010BAC4 -> 0x8010BADC struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\meta\MatchmakingSlot.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8010BADC -> 0x801148E0 */ static class Symbol joypad; // size: 0x4, address: 0x80A4B53C static class Symbol instrument_mapping; // size: 0x4, address: 0x80A4B544 // Range: 0x8010BADC -> 0x8010BC0C enum ControllerType GetConnectedControllerType(int padNum /* r30 */) { // Local variables enum ControllerType ctOverride; // r0 class Symbol controller; // r1+0x18 class DataArray * cfg; // r0 class DataArray * data; // r30 enum ControllerType ct; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol instrument_mapping; // -> static class Symbol joypad; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010BC0C -> 0x8010BD40 void GetPadsWithoutUsers(class vector * pFakeUsers /* r29 */, enum ControllerType ct /* r30 */) { // Local variables int i; // r31 class JoypadData * pData; // r0 // References // -> class PlatformMgr ThePlatformMgr; // -> int kNonUser; } // Range: 0x8010BD40 -> 0x8010BD84 void * FakeBandUser::FakeBandUser(struct FakeBandUser * const this /* r31 */) {} // Range: 0x8010BD84 -> 0x8010BDC4 void * FakeBandUser::FakeBandUser(struct FakeBandUser * const this /* r31 */) {} // Range: 0x8010BDC4 -> 0x8010BE0C void * FakeBandUser::FakeBandUser(struct FakeBandUser * const this /* r31 */, int pad /* r6 */) {} // Range: 0x8010BE0C -> 0x8010BE28 int FakeBandUser::GetPadNum() {} // Range: 0x8010BE28 -> 0x8010BE70 char * FakeBandUser::GetUserName() { // Local variables int padNum; // r0 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x8010BE70 -> 0x8010BE98 enum ControllerType FakeBandUser::ConnectedControllerType() {} // Range: 0x8010BE98 -> 0x8010BEBC unsigned char FakeBandUser::IsParticipating() {} // Range: 0x8010BEBC -> 0x8010BEE0 unsigned char FakeBandUser::IsLocalPlayer() {} // Range: 0x8010BEE0 -> 0x8010BF04 unsigned char FakeBandUser::IsJoypadConnected() {} struct UserName { // total size: 0x10 class String mUserName; // offset 0x0, size 0xC int mPadNum; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct UserName * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct UserName * _M_start; // offset 0x0, size 0x4 struct UserName * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class UserNameProvider : public ListProvider, public Object { // total size: 0x3C class vector mUserNames; // offset 0x2C, size 0xC class MatchmakingSlot * mMMSlot; // offset 0x38, size 0x4 }; // Range: 0x8010BF04 -> 0x8010C020 void * MatchmakingSlot::MatchmakingSlot(class MatchmakingSlot * const this /* r28 */, class MatchmakingScreen * pMMScreen /* r29 */, int slotNum /* r30 */, class PanelDir * pDir /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__15MatchmakingSlot; } // Range: 0x8010C020 -> 0x8010C170 void * MatchmakingSlot::~MatchmakingSlot(class MatchmakingSlot * const this /* r30 */) { // References // -> struct [anonymous] __vt__15MatchmakingSlot; } // Range: 0x8010C170 -> 0x8010C178 class ObjectDir * MatchmakingSlot::DataDir() {} static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B54C static class Symbol slot; // size: 0x4, address: 0x80A4B554 static class Message msgEnter; // size: 0x8, address: 0x80978DB0 // Range: 0x8010C178 -> 0x8010CE90 void MatchmakingSlot::Enter(class MatchmakingSlot * const this /* r30 */) { // Local variables class BandUser * pUser; // r27 unsigned char isH2h; // r0 // References // -> static class Message msgEnter; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> static class Symbol slot; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010CE90 -> 0x8010CE98 int MatchmakingSlot::GetSlotNum() {} // Range: 0x8010CE98 -> 0x8010CEA0 class PanelDir * MatchmakingSlot::GetPanelDir() {} // Range: 0x8010CEA0 -> 0x8010CF1C unsigned char MatchmakingSlot::IsReady(class MatchmakingSlot * const this /* r4 */) { // Local variables class BandUser * pUser; // r30 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010CF1C -> 0x8010CFB4 unsigned char MatchmakingSlot::IsLeader(const class MatchmakingSlot * const this /* r4 */) { // Local variables class BandUser * pUser; // r29 // References // -> class SessionMgr * TheSessionMgr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010CFB4 -> 0x8010D03C unsigned char MatchmakingSlot::IsLocal(const class MatchmakingSlot * const this /* r4 */) { // Local variables class BandUser * pUser; // r30 // References // -> class BandUserMgr * TheBandUserMgr; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B55C static class Symbol local_network; // size: 0x4, address: 0x80A4B564 static class Symbol slot; // size: 0x4, address: 0x80A4B56C // Range: 0x8010D03C -> 0x8010D780 void MatchmakingSlot::PopulateUserNameList(class MatchmakingSlot * const this /* r26 */, class vector * pFakeUsers /* r27 */) { // Local variables unsigned char isH2h; // r0 unsigned char isOnline; // r0 class vector users; // r1+0x60 enum ControllerType ctSlot; // r28 class BandUser * * it; // r29 class BandUser * * it; // r29 class BandUser * pUserOther; // r0 struct FakeBandUser * itHighestPad; // r28 struct FakeBandUser * it; // r29 struct FakeBandUser * it; // r28 struct FakeBandUser userHighest; // r1+0x94 // References // -> class BandUserMgr * TheBandUserMgr; // -> const char * kAssertStr; // -> static class Symbol slot; // -> static class Symbol local_network; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; // -> class Debug TheDebug; } static class Symbol online_play_required; // size: 0x4, address: 0x80A4B574 static class Symbol guest_not_first; // size: 0x4, address: 0x80A4B57C // Range: 0x8010D780 -> 0x8010DB70 void MatchmakingSlot::PopulateUserJoinFromUserNames(class MatchmakingSlot * const this /* r24 */, class vector * pFakeUsers /* r25 */) { // Local variables unsigned char onlineRequired; // r0 unsigned char guestNotFirst; // r0 class vector usersLocalParticipants; // r1+0x2C unsigned char isFirst; // r26 struct FakeBandUser * it; // r27 struct UserJoinEntry entry; // r1+0x38 int padNum; // r22 unsigned char hasOnline; // r0 unsigned char isGuest; // r0 // References // -> class PlatformMgr ThePlatformMgr; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol guest_not_first; // -> class GameMode * TheGameMode; // -> static class Symbol online_play_required; // -> class Debug TheDebug; } // Range: 0x8010DB70 -> 0x8010DBB4 unsigned char MatchmakingSlot::LookupUserInJoinList() { // Local variables struct UserJoinEntry * it; // r6 } // Range: 0x8010DBB4 -> 0x8010DC34 unsigned char MatchmakingSlot::CanPadJoin(class MatchmakingSlot * const this /* r29 */, int padNum /* r30 */) { // Local variables struct UserJoinEntry * it; // r31 } static class Symbol local_network; // size: 0x4, address: 0x80A4B584 static class Symbol ready; // size: 0x4, address: 0x80A4B58C static class Symbol is_tour; // size: 0x4, address: 0x80A4B594 static class Symbol ranked; // size: 0x4, address: 0x80A4B59C // Range: 0x8010DC34 -> 0x8010DF28 void MatchmakingSlot::PopulateAllowableActionsList(class MatchmakingSlot * const this /* r25 */) { // Local variables class BandUser * pUser; // r0 unsigned char enabled; // r0 unsigned char isLocal; // r0 unsigned char isOnline; // r0 unsigned char isLeaderLocal; // r26 int leaderNum; // r0 class BandUser * pUserLeader; // r0 unsigned char isRanked; // r0 unsigned char isBrowsing; // r3 unsigned char isFull; // r0 // References // -> static class Symbol ranked; // -> class Tour * TheTour; // -> static class Symbol is_tour; // -> static class Symbol ready; // -> class SessionMgr * TheSessionMgr; // -> class GameMode * TheGameMode; // -> static class Symbol local_network; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010DF28 -> 0x8010DF34 unsigned char MatchmakingSlot::IsAllowed() {} // Range: 0x8010DF34 -> 0x8010DF3C class Symbol MatchmakingSlot::GetOption() {} static class Symbol ready; // size: 0x4, address: 0x80A4B5A4 static class Symbol choose_part; // size: 0x4, address: 0x80A4B5AC static class Symbol choose_char; // size: 0x4, address: 0x80A4B5B4 static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B5BC static class Symbol local_network; // size: 0x4, address: 0x80A4B5C4 static class Symbol remote_only; // size: 0x4, address: 0x80A4B5CC static class Symbol no_instrument; // size: 0x4, address: 0x80A4B5D4 static class Symbol join; // size: 0x4, address: 0x80A4B5DC static class Symbol sign_in; // size: 0x4, address: 0x80A4B5E4 static class Symbol guest_not_first; // size: 0x4, address: 0x80A4B5EC // Range: 0x8010DF3C -> 0x8010E5F4 class Symbol MatchmakingSlot::GenerateCurrentOption(class MatchmakingSlot * const this /* r30 */) { // Local variables class BandUser * pUser; // r28 unsigned char isH2h; // r0 unsigned char isOnline; // r0 class vector fakeUsers; // r1+0x8C unsigned char anyUserNeedsOnline; // r3 unsigned char anyUserGuestNotFirst; // r4 struct UserJoinEntry * it; // r5 // References // -> static class Symbol guest_not_first; // -> static class Symbol sign_in; // -> static class Symbol join; // -> static class Symbol no_instrument; // -> static class Symbol remote_only; // -> static class Symbol local_network; // -> static class Symbol is_h2h_arrangement; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol choose_char; // -> static class Symbol choose_part; // -> class GameMode * TheGameMode; // -> static class Symbol ready; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010E5F4 -> 0x8010E6C8 void MatchmakingSlot::RemovePlayer(class MatchmakingSlot * const this /* r28 */) { // Local variables class BandUser * pUser; // r0 int leaderNum; // r0 // References // -> class SessionMgr * TheSessionMgr; // -> class Tour * TheTour; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol choose_part; // size: 0x4, address: 0x80A4B5F4 static class Symbol choose_char; // size: 0x4, address: 0x80A4B5FC // Range: 0x8010E6C8 -> 0x8010E768 unsigned char MatchmakingSlot::UseButtonExtendedOptions(class MatchmakingSlot * const this /* r31 */) { // References // -> static class Symbol choose_char; // -> static class Symbol choose_part; } // Range: 0x8010E768 -> 0x8010E808 unsigned char MatchmakingSlot::AllowButtonMsg(class MatchmakingSlot * const this /* r30 */, class BandUser * pUser /* r31 */) { // Local variables class BandUser * pUserSlot; // r0 struct UserJoinEntry * it; // r3 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010E808 -> 0x8010E9D0 void MatchmakingSlot::InitCharProvider(class MatchmakingSlot * const this /* r28 */) { // Local variables class BandUser * pUser; // r29 int pos; // r0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010E9D0 -> 0x8010EBB4 void MatchmakingSlot::UpdateCharProvider(class MatchmakingSlot * const this /* r28 */) { // Local variables class BandUser * pUser; // r29 int pos; // r0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol slot; // size: 0x4, address: 0x80A4B604 static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B60C static class Symbol local_network; // size: 0x4, address: 0x80A4B614 // Range: 0x8010EBB4 -> 0x8010ED88 void MatchmakingSlot::UpdateUserNameProvider(class MatchmakingSlot * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class GameMode * TheGameMode; // -> static class Symbol local_network; // -> static class Symbol is_h2h_arrangement; // -> static class Symbol slot; } // Range: 0x8010ED88 -> 0x8010EDA4 void MatchmakingSlot::PreserveLastButton(class MatchmakingSlot * const this /* r7 */) {} // Range: 0x8010EDA4 -> 0x8010EE48 void MatchmakingSlot::LoadChar(class MatchmakingSlot * const this /* r5 */, const class CharData * pChar /* r29 */) { // Local variables class BandUser * pUser; // r30 // References // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010EE48 -> 0x8010EF90 void MatchmakingSlot::LoadCharFromList(class MatchmakingSlot * const this /* r27 */) { // Local variables int pos; // r28 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x8010EF90 -> 0x8010F030 void MatchmakingSlot::ReleaseChar(class MatchmakingSlot * const this /* r30 */) { // Local variables class BandUser * pUser; // r31 // References // -> class SessionMgr * TheSessionMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010F030 -> 0x8010F1D0 unsigned char MatchmakingSlot::ShowChar(class MatchmakingSlot * const this /* r27 */) { // Local variables class BandUser * pUser; // r0 int cChar; // r0 int iChar; // r4 // References // -> const char * kAssertStr; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8010F1D0 -> 0x8010F22C void MatchmakingSlot::VerifyControllerTypes() {} static class Symbol choose_char; // size: 0x4, address: 0x80A4B61C static class Message msg; // size: 0x8, address: 0x80978DC8 static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B624 static class Symbol slot; // size: 0x4, address: 0x80A4B62C static class Symbol remote_only; // size: 0x4, address: 0x80A4B634 static class Symbol no_instrument; // size: 0x4, address: 0x80A4B63C static class Symbol sign_in; // size: 0x4, address: 0x80A4B644 static class Symbol guest_not_first; // size: 0x4, address: 0x80A4B64C static class Symbol join; // size: 0x4, address: 0x80A4B654 static class Symbol choose_part; // size: 0x4, address: 0x80A4B65C static class Symbol choose_char; // size: 0x4, address: 0x80A4B664 static class Symbol ready; // size: 0x4, address: 0x80A4B66C static unsigned char map[11][13]; // size: 0x8F, address: 0x80848238 static class Symbol slot; // size: 0x4, address: 0x80A4B674 static class Message msg; // size: 0x8, address: 0x80978DE0 static class Message msg; // size: 0x8, address: 0x80978DF8 static class Message msgUpdate; // size: 0x8, address: 0x80978E10 static class Message msg; // size: 0x8, address: 0x80978E28 static class Message msgUpdate; // size: 0x8, address: 0x80978E40 static class Message msgUpdateNames; // size: 0x8, address: 0x80978E58 static class Message msgUpdateOnlineEnabled; // size: 0x8, address: 0x80978E70 // Range: 0x8010F22C -> 0x80111180 void MatchmakingSlot::Update(class MatchmakingSlot * const this /* r25 */) { // Local variables class Symbol symNewState; // r1+0x84 unsigned char isH2h; // r0 class BandUser * pUser0; // r24 class BandUser * pUser1; // r3 class BandUser * pUser; // r28 unsigned char row[13]; // r1+0x240 class Symbol symSlot; // r1+0x80 enum ControllerType ctSlot; // r27 class Symbol symIcon; // r1+0x7C unsigned char isGuitar; // r27 unsigned char isDrum; // r31 unsigned char isVocals; // r26 struct UserJoinEntry * it; // r24 enum ControllerType ct; // r0 // References // -> static class Message msgUpdateOnlineEnabled; // -> const char * gNullStr; // -> class PlatformMgr ThePlatformMgr; // -> static class Message msgUpdateNames; // -> static class Message msgUpdate; // -> static class Message msg; // -> static class Message msgUpdate; // -> static class Message msg; // -> static class Message msg; // -> static class Symbol slot; // -> static unsigned char map[11][13]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; // -> static class Symbol ready; // -> static class Symbol choose_char; // -> static class Symbol choose_part; // -> static class Symbol join; // -> static class Symbol guest_not_first; // -> static class Symbol sign_in; // -> static class Symbol no_instrument; // -> static class Symbol remote_only; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol slot; // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; // -> class NetSync * TheNetSync; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol choose_char; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B680 static class Symbol ranked; // size: 0x4, address: 0x80A4B688 // Range: 0x80111180 -> 0x80111408 class DataNode MatchmakingSlot::OnMsg(class MatchmakingSlot * const this /* r30 */, const class AddLocalUserResultMsg & msg /* r27 */) { // Local variables unsigned char isH2h; // r0 unsigned char isRanked; // r0 enum ControllerType ct; // r0 enum TrackType tt; // r4 // References // -> class GameMode * TheGameMode; // -> static class Symbol ranked; // -> static class Symbol is_h2h_arrangement; // -> class GameConfig * TheGameConfig; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; // -> class Symbol t; } static class Symbol wii_roguitar; // size: 0x4, address: 0x80A4B690 static class Symbol wii_rodrums; // size: 0x4, address: 0x80A4B698 static class Symbol joypad; // size: 0x4, address: 0x80A4B6A0 static class Symbol instrument_mapping; // size: 0x4, address: 0x80A4B6A8 static class Message init; // size: 0x8, address: 0x80978E88 static class Symbol matchmaking_pad_lost; // size: 0x4, address: 0x80A4B6B0 // Range: 0x80111408 -> 0x80111C7C class DataNode MatchmakingSlot::OnVerifyControllerTypes(class MatchmakingSlot * const this /* r23 */) { // Local variables class BandUser * pUser; // r29 enum ControllerType ctOld; // r28 unsigned char swapped; // r27 unsigned char hasRemotePlayers; // r26 class vector & users; // r0 class BandUser * * u; // r25 class BandUser * newUser; // r24 class Symbol controller; // r1+0x40 class DataArray * cfg; // r0 class DataArray * data; // r21 enum ControllerType remoteControllerType; // r0 int i; // r24 class JoypadData * padData; // r0 class Symbol controller; // r1+0x3C class DataArray * cfg; // r0 class DataArray * data; // r21 enum ControllerType unclaimedControllerType; // r0 enum ControllerType ctNew; // r0 int padNum; // r21 // References // -> class BandUI * TheBandUI; // -> static class Symbol matchmaking_pad_lost; // -> class PlatformMgr ThePlatformMgr; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol instrument_mapping; // -> static class Symbol joypad; // -> static class Symbol wii_rodrums; // -> static class Symbol wii_roguitar; // -> class BandUserMgr * TheBandUserMgr; // -> class NetSession * TheNetSession; } static class Symbol online_play_required; // size: 0x4, address: 0x80A4B6B8 // Range: 0x80111C7C -> 0x80111DB0 unsigned char MatchmakingSlot::WarnRemovePlayer(const class MatchmakingSlot * const this /* r28 */) { // Local variables unsigned char onlineRequired; // r0 class BandUser * pUser; // r28 // References // -> class NetSession * TheNetSession; // -> class SessionMgr * TheSessionMgr; // -> class Tour * TheTour; // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> static class Symbol online_play_required; } // Range: 0x80111DB0 -> 0x80111E60 class DataNode MatchmakingSlot::OnMsg(const class UIComponentFocusChangeMsg & msg /* r31 */) { // Local variables class BandUser * pUser; // r0 // References // -> class NetSync * TheNetSync; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80111E60 -> 0x80111F84 class DataNode MatchmakingSlot::OnMsg(class MatchmakingSlot * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } static class Message msgButtonPulse; // size: 0x8, address: 0x80978EA0 static class Symbol remote_only; // size: 0x4, address: 0x80A4B6C0 static class Symbol no_instrument; // size: 0x4, address: 0x80A4B6C8 static class Symbol sign_in; // size: 0x4, address: 0x80A4B6D0 static class Symbol guest_not_first; // size: 0x4, address: 0x80A4B6D8 static class Symbol join; // size: 0x4, address: 0x80A4B6E0 static class Symbol choose_char; // size: 0x4, address: 0x80A4B6E8 static class Symbol choose_part; // size: 0x4, address: 0x80A4B6F0 static class Symbol ready; // size: 0x4, address: 0x80A4B6F8 static class Symbol ranked; // size: 0x4, address: 0x80A4B700 static class Symbol invite_accepted; // size: 0x4, address: 0x80A4B708 static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4B710 static class Symbol local_network; // size: 0x4, address: 0x80A4B718 static class Message msg; // size: 0x8, address: 0x80978EB8 static class Message msg; // size: 0x8, address: 0x80978ED0 static class Message msg; // size: 0x8, address: 0x80978EE8 static class Message msg; // size: 0x8, address: 0x80978F00 static class Message msg; // size: 0x8, address: 0x80978F18 static class Message msg; // size: 0x8, address: 0x80978F30 static class Symbol local_network; // size: 0x4, address: 0x80A4B724 static class Message msg; // size: 0x8, address: 0x80978F48 static class Symbol is_tour; // size: 0x4, address: 0x80A4B72C static class Message msg; // size: 0x8, address: 0x80978F60 // Range: 0x80111F84 -> 0x80113528 class DataNode MatchmakingSlot::OnMsg(class MatchmakingSlot * const this /* r25 */, const class ButtonDownMsg & msgButtonDown /* r26 */) { // Local variables unsigned char isRanked; // r0 class BandUser * pUser; // r27 enum JoinState joinStateUser; // r1+0x74 unsigned char isH2h; // r0 unsigned char isLocal; // r0 unsigned char isOnline; // r0 unsigned char isOnline; // r0 enum TourMode mode; // r0 unsigned char isOnline; // r0 // References // -> static class Message msg; // -> class Tour * TheTour; // -> static class Symbol is_tour; // -> static class Message msg; // -> static class Symbol local_network; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> class GameConfig * TheGameConfig; // -> static class Symbol local_network; // -> static class Symbol is_h2h_arrangement; // -> class BandUI * TheBandUI; // -> static class Symbol invite_accepted; // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> static class Symbol ranked; // -> static class Symbol ready; // -> static class Symbol choose_part; // -> static class Symbol choose_char; // -> static class Symbol join; // -> static class Symbol guest_not_first; // -> static class Symbol sign_in; // -> static class Symbol no_instrument; // -> static class Symbol remote_only; // -> static class Message msgButtonPulse; // -> struct [anonymous] __vt__7Message; // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; } static class Symbol choose_part; // size: 0x4, address: 0x80A4B734 static class Symbol choose_char; // size: 0x4, address: 0x80A4B73C static class Message msg; // size: 0x8, address: 0x80978F78 static class Message msg; // size: 0x8, address: 0x80978F90 static class Message msg; // size: 0x8, address: 0x80978FA8 static class Message msg; // size: 0x8, address: 0x80978FC0 // Range: 0x80113528 -> 0x80113DE0 class DataNode MatchmakingSlot::OnMsg(class MatchmakingSlot * const this /* r28 */, const class UIComponentSelectMsg & msg /* r29 */) { // Local variables class BandUser * pUser; // r25 enum TrackType track; // r24 class UIList * pList; // r24 int pos; // r24 class BandUser * pUser; // r23 class CharData * pChar; // r24 // References // -> class SessionMgr * TheSessionMgr; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> class ProfileMgr TheProfileMgr; // -> struct [anonymous] __RTTI__8BandUser; // -> struct [anonymous] __RTTI__4User; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol choose_char; // -> static class Symbol choose_part; } static class Symbol choose_part; // size: 0x4, address: 0x80A4B748 static class Symbol choose_char; // size: 0x4, address: 0x80A4B750 static class Symbol ready; // size: 0x4, address: 0x80A4B758 // Range: 0x80113DE0 -> 0x80113EB8 unsigned char MatchmakingSlot::IsUserState(class Symbol & symOpt /* r30 */) { // References // -> static class Symbol ready; // -> static class Symbol choose_char; // -> static class Symbol choose_part; } static class Symbol _s; // size: 0x4, address: 0x80A4B760 static class Symbol _s; // size: 0x4, address: 0x80A4B768 static class Symbol _s; // size: 0x4, address: 0x80A4B770 static class Symbol _s; // size: 0x4, address: 0x80A4B778 static class Symbol _s; // size: 0x4, address: 0x80A4B780 static class Symbol _s; // size: 0x4, address: 0x80A4B788 static class Symbol _s; // size: 0x4, address: 0x80A4B790 static class Symbol _s; // size: 0x4, address: 0x80A4B798 static class Symbol _s; // size: 0x4, address: 0x80A4B7A0 static class Symbol _s; // size: 0x4, address: 0x80A4B7A8 static class Symbol _s; // size: 0x4, address: 0x80A4B7B0 static class Symbol _s; // size: 0x4, address: 0x80A4B7B8 static class Symbol _s; // size: 0x4, address: 0x80A4B7C0 static class Symbol _s; // size: 0x4, address: 0x80A4B7C8 static class Symbol _s; // size: 0x4, address: 0x80A4B7D0 // Range: 0x80113EB8 -> 0x801148E0 class DataNode MatchmakingSlot::Handle(class MatchmakingSlot * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x54 } __vt__15MatchmakingSlot; // size: 0x54, address: 0x8088BE54 struct { // total size: 0x8 } __RTTI__P13UserJoinEntry; // size: 0x8, address: 0x8088C338 struct { // total size: 0x8 } __RTTI__P12FakeBandUser; // size: 0x8, address: 0x8088C350 /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801148E0 -> 0x80114930 */ // Range: 0x801148E0 -> 0x80114930 class CharData * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharData; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80114930 -> 0x80114E04 */ // Range: 0x80114930 -> 0x80114BAC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct UserJoinEntry * __pos /* r26 */, const struct UserJoinEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct UserJoinEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13UserJoinEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80114BAC -> 0x80114E04 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct FakeBandUser * __pos /* r26 */, const struct FakeBandUser & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct FakeBandUser * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12FakeBandUser; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\MetaNetMsgs.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80114E04 -> 0x801154D8 */ class CoattailsAchievementMsg : public NetMessage { // total size: 0x4 }; // Range: 0x80114E04 -> 0x80114E08 void CoattailsAchievementMsg::Dispatch() {} class BandEventPreviewMsg : public NetMessage { // total size: 0x8 unsigned char mOn; // offset 0x4, size 0x1 }; // Range: 0x80114E08 -> 0x80114E40 void BandEventPreviewMsg::Save(const class BandEventPreviewMsg * const this /* r5 */) {} // Range: 0x80114E40 -> 0x80114E8C void BandEventPreviewMsg::Load(class BandEventPreviewMsg * const this /* r31 */) {} static class Symbol play_preview; // size: 0x4, address: 0x80A4B7DC static class Message playMsg; // size: 0x8, address: 0x80978FD8 // Range: 0x80114E8C -> 0x80115168 void BandEventPreviewMsg::Dispatch(class BandEventPreviewMsg * const this /* r30 */) { // References // -> static class Message playMsg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol play_preview; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; } static class Symbol synth; // size: 0x4, address: 0x80A4B7E4 static class Symbol play; // size: 0x4, address: 0x80A4B7EC class TriggerBackSoundMsg : public NetMessage { // total size: 0x4 }; // Range: 0x80115168 -> 0x8011536C void TriggerBackSoundMsg::Dispatch() { // Local variables class DataArrayPtr backSound; // r1+0x30 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol play; // -> static class Symbol synth; } // Range: 0x8011536C -> 0x801153DC void * VerifyBuildVersionMsg::VerifyBuildVersionMsg(class VerifyBuildVersionMsg * const this /* r30 */) { // References // -> struct [anonymous] __vt__21VerifyBuildVersionMsg; } // Range: 0x801153DC -> 0x801153EC void VerifyBuildVersionMsg::Save(const class VerifyBuildVersionMsg * const this /* r5 */) {} // Range: 0x801153EC -> 0x801153FC void VerifyBuildVersionMsg::Load(class VerifyBuildVersionMsg * const this /* r5 */) {} // Range: 0x801153FC -> 0x801154D8 void VerifyBuildVersionMsg::Dispatch(class VerifyBuildVersionMsg * const this /* r30 */) { // Local variables class String localVersion; // r1+0x24 // References // -> class Debug TheDebug; } struct { // total size: 0x28 } __vt__21VerifyBuildVersionMsg; // size: 0x28, address: 0x8088C580 struct { // total size: 0x8 } __RTTI__21VerifyBuildVersionMsg; // size: 0x8, address: 0x8088C5D0 struct { // total size: 0x28 } __vt__19TriggerBackSoundMsg; // size: 0x28, address: 0x8088C5D8 struct { // total size: 0x8 } __RTTI__19TriggerBackSoundMsg; // size: 0x8, address: 0x8088C620 struct { // total size: 0x28 } __vt__19BandEventPreviewMsg; // size: 0x28, address: 0x8088C628 struct { // total size: 0x8 } __RTTI__19BandEventPreviewMsg; // size: 0x8, address: 0x8088C670 struct { // total size: 0x28 } __vt__23CoattailsAchievementMsg; // size: 0x28, address: 0x8088C678 struct { // total size: 0x8 } __RTTI__23CoattailsAchievementMsg; // size: 0x8, address: 0x8088C6C8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801154D8 -> 0x801155F8 */ // Range: 0x801154D8 -> 0x80115538 char * MakeString(const char * fmt /* r0 */, class String & t1 /* r30 */, class String & t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\MetaNetMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801155F8 -> 0x80115848 */ // Range: 0x801155F8 -> 0x8011562C char * VerifyBuildVersionMsg::Name() {} // Range: 0x8011562C -> 0x80115688 unsigned char VerifyBuildVersionMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80115688 -> 0x8011568C void TriggerBackSoundMsg::Load() {} // Range: 0x8011568C -> 0x80115690 void TriggerBackSoundMsg::Save() {} // Range: 0x80115690 -> 0x801156C4 char * TriggerBackSoundMsg::Name() {} // Range: 0x801156C4 -> 0x80115720 unsigned char TriggerBackSoundMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80115720 -> 0x80115754 char * BandEventPreviewMsg::Name() {} // Range: 0x80115754 -> 0x801157B0 unsigned char BandEventPreviewMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x801157B0 -> 0x801157B4 void CoattailsAchievementMsg::Load() {} // Range: 0x801157B4 -> 0x801157B8 void CoattailsAchievementMsg::Save() {} // Range: 0x801157B8 -> 0x801157EC char * CoattailsAchievementMsg::Name() {} // Range: 0x801157EC -> 0x80115848 unsigned char CoattailsAchievementMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\band2\src\meta\MetaPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80115848 -> 0x80118218 */ class DataArray * types; // size: 0x4, address: 0x80A4B7F0 class Symbol name; // size: 0x4, address: 0x80A4B7F8 class Symbol name; // size: 0x4, address: 0x80A4B800 class Symbol name; // size: 0x4, address: 0x80A4B808 class Symbol name; // size: 0x4, address: 0x80A4B810 class Symbol name; // size: 0x4, address: 0x80A4B818 class Symbol name; // size: 0x4, address: 0x80A4B820 class Symbol name; // size: 0x4, address: 0x80A4B828 class Symbol name; // size: 0x4, address: 0x80A4B830 class Symbol name; // size: 0x4, address: 0x80A4B838 class Symbol name; // size: 0x4, address: 0x80A4B840 class Symbol name; // size: 0x4, address: 0x80A4B848 class Symbol name; // size: 0x4, address: 0x80A4B850 class Symbol name; // size: 0x4, address: 0x80A4B858 class Symbol name; // size: 0x4, address: 0x80A4B860 class Symbol name; // size: 0x4, address: 0x80A4B868 class Symbol name; // size: 0x4, address: 0x80A4B870 class Symbol name; // size: 0x4, address: 0x80A4B878 class Symbol name; // size: 0x4, address: 0x80A4B880 class Symbol name; // size: 0x4, address: 0x80A4B888 class Symbol name; // size: 0x4, address: 0x80A4B890 class Symbol name; // size: 0x4, address: 0x80A4B898 class Symbol name; // size: 0x4, address: 0x80A4B8A0 class Symbol name; // size: 0x4, address: 0x80A4B8A8 class Symbol name; // size: 0x4, address: 0x80A4B8B0 class Symbol name; // size: 0x4, address: 0x80A4B8B8 class Symbol name; // size: 0x4, address: 0x80A4B8C0 class Symbol name; // size: 0x4, address: 0x80A4B8C8 class Symbol name; // size: 0x4, address: 0x80A4B8D0 class Symbol name; // size: 0x4, address: 0x80A4B8D8 class Symbol name; // size: 0x4, address: 0x80A4B8E0 class Symbol name; // size: 0x4, address: 0x80A4B8E8 class Symbol name; // size: 0x4, address: 0x80A4B8F0 class Symbol name; // size: 0x4, address: 0x80A4B8F8 class Symbol name; // size: 0x4, address: 0x80A4B900 class Symbol name; // size: 0x4, address: 0x80A4B908 class Symbol name; // size: 0x4, address: 0x80A4B910 class Symbol name; // size: 0x4, address: 0x80A4B918 unsigned char sUnlockAll; // size: 0x1, address: 0x80A4B91C class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct ChallengePrereq { // total size: 0xC unsigned char mAll; // offset 0x0, size 0x1 class list mChallenges; // offset 0x4, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum ChallengeEventType { kChallengeAuthored = 0, kChallengeAlbum = 1, kChallengeArtist = 2, kChallengePack = 3, }; class TourChallengeEvent : public TourEvent { // total size: 0xD8 int mDiffTier; // offset 0x90, size 0x4 class list mPrereqs; // offset 0x94, size 0x8 int mMinPlayers; // offset 0x9C, size 0x4 class vector mVenues; // offset 0xA0, size 0xC class String mCoverArt; // offset 0xAC, size 0xC class String mBackArt; // offset 0xB8, size 0xC unsigned char mShowListName; // offset 0xC4, size 0x1 enum ChallengeEventType mType; // offset 0xC8, size 0x4 class Symbol mAutoGenre; // offset 0xCC, size 0x4 int mAutoDecade; // offset 0xD0, size 0x4 class Symbol mAchievement; // offset 0xD4, size 0x4 }; class TourChallenge { // total size: 0x20 const class SongMgr & mSongMgr; // offset 0x0, size 0x4 class vector mChallenges; // offset 0x4, size 0xC class vector mDisabledBattles; // offset 0x10, size 0xC int mAutoMinSongs; // offset 0x1C, size 0x4 }; class DOFOverrideParams { // total size: 0x1C protected: float mDepthScale; // offset 0x0, size 0x4 float mDepthOffset; // offset 0x4, size 0x4 float mMinBlurScale; // offset 0x8, size 0x4 float mMinBlurOffset; // offset 0xC, size 0x4 float mMaxBlurScale; // offset 0x10, size 0x4 float mMaxBlurOffset; // offset 0x14, size 0x4 float mBlurWidthScale; // offset 0x18, size 0x4 }; class RndPostProc : public Object, public PostProcessor { // total size: 0x1B0 protected: class Color mBloomColor; // offset 0x30, size 0x10 float mBloomThreshold; // offset 0x40, size 0x4 float mBloomSize; // offset 0x44, size 0x4 float mBloomIntensity; // offset 0x48, size 0x4 class ObjPtr mLuminanceMap; // offset 0x4C, size 0xC class RndColorXfm mColorXfm; // offset 0x60, size 0xA0 float mPosterLevels; // offset 0x100, size 0x4 float mPosterMin; // offset 0x104, size 0x4 float mMirror; // offset 0x108, size 0x4 class Vector2 mModBounds; // offset 0x10C, size 0x8 class Vector2 mTimeBounds; // offset 0x114, size 0x8 class Vector2 mSeconds; // offset 0x11C, size 0x8 class Vector2 mModulate; // offset 0x124, size 0x8 float mColorModulation; // offset 0x12C, size 0x4 class Vector2 mNoiseBaseScale; // offset 0x130, size 0x8 float mNoiseTopScale; // offset 0x138, size 0x4 float mNoiseIntensity; // offset 0x13C, size 0x4 unsigned char mNoiseStationary; // offset 0x140, size 0x1 class ObjPtr mNoiseMap; // offset 0x144, size 0xC float mTrailThreshold; // offset 0x150, size 0x4 float mTrailDuration; // offset 0x154, size 0x4 class Vector3 mBlendVec; // offset 0x160, size 0x10 float mEmulateFPS; // offset 0x170, size 0x4 float mLastRender; // offset 0x174, size 0x4 float mDeltaSecs; // offset 0x178, size 0x4 unsigned char mHallOfTimeSolidRings; // offset 0x17C, size 0x1 float mHallOfTimeRate; // offset 0x180, size 0x4 class Color mHallOfTimeColor; // offset 0x190, size 0x10 float mHallOfTimeMix; // offset 0x1A0, size 0x4 float mDistortionScale; // offset 0x1A4, size 0x4 int mDistortionWidth; // offset 0x1A8, size 0x4 int mDistortionHeight; // offset 0x1AC, size 0x4 }; // Range: 0x80115848 -> 0x80115868 class DataNode MetaPanel::ToggleUnlockAll() { // References // -> unsigned char sUnlockAll; } // Range: 0x80115868 -> 0x801167D4 void MetaPanel::Init() { // References // -> class NetMessageFactory TheNetMessageFactory; // -> class BotbChallengeLoader TheBotbChallengeLoader; // -> class ProfileMgr TheProfileMgr; // -> class MemcardMgr TheMemcardMgr; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; } enum BotbNetProgress { BotbNetUninitialized = 0, BotbNetClientDetailsState = 1, BotbNetClientWaitingForHost = 2, BotbNetDetailsState = 3, BotbNetNewsState = 4, BotbNetResultsState = 5, BotbNetBandResultsState = 6, BotbNetFriendsState = 7, BotbNetOverallState = 8, BotbNetTryToPlay = 9, BotbNetRequestProfile = 10, BotbNetOverallNextPage = 11, BotbNetDone = 12, }; struct BotbSetListItem { // total size: 0x10 const char * mSongName; // offset 0x0, size 0x4 class Symbol mSongShortName; // offset 0x4, size 0x4 const char * mArtist; // offset 0x8, size 0x4 unsigned char mAvailable; // offset 0xC, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BotbSetListItem * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BotbSetListItem * _M_start; // offset 0x0, size 0x4 struct BotbSetListItem * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BotbEntryCondition { // total size: 0x8 char mType; // offset 0x0, size 0x1 unsigned char mSecondGuitar; // offset 0x1, size 0x1 int mParam; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BotbEntryCondition * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BotbEntryCondition * _M_start; // offset 0x0, size 0x4 class BotbEntryCondition * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BotbPerformanceModifier { // total size: 0x8 char mType; // offset 0x0, size 0x1 int mParam; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BotbPerformanceModifier * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BotbPerformanceModifier * _M_start; // offset 0x0, size 0x4 class BotbPerformanceModifier * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BotbBattleResultsRow * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BotbBattleResultsRow * * _M_start; // offset 0x0, size 0x4 class BotbBattleResultsRow * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class BotbScoresProvider : public ListProvider, public Object { // total size: 0x68 class vector mList; // offset 0x2C, size 0xC class map mListMap; // offset 0x38, size 0x18 class list mListLru; // offset 0x50, size 0x8 enum WinMetric mWinMetric; // offset 0x58, size 0x4 int mSize; // offset 0x5C, size 0x4 int mRank; // offset 0x60, size 0x4 void (* mQueryCallback)(int); // offset 0x64, size 0x4 }; class BotbSetListProvider : public ListProvider, public Object { // total size: 0x30 class vector * mItems; // offset 0x2C, size 0x4 }; class BotbRulesListProvider : public ListProvider, public Object { // total size: 0x38 class vector & mEntryConditions; // offset 0x2C, size 0x4 class vector & mPerformanceModifiers; // offset 0x30, size 0x4 class BandData * mBandData; // offset 0x34, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class UIScreenChangeMsg : public Message { // total size: 0x8 }; class BotbPanel : public TabInterfacePanel, public Synchronizable { // total size: 0x218 unsigned char mGotDetails; // offset 0x70, size 0x1 unsigned char mRockCentralFailed; // offset 0x71, size 0x1 unsigned int mQueryTimeSeconds; // offset 0x74, size 0x4 unsigned int mTimeLeftSeconds; // offset 0x78, size 0x4 class UILabel * mTimeLeftLabel; // offset 0x7C, size 0x4 class BandData * mBandData; // offset 0x80, size 0x4 enum BotbNetProgress mNetProgress; // offset 0x84, size 0x4 enum BotbNetProgress mPendingNetRequest; // offset 0x88, size 0x4 class HxGuid mNetBandGuid; // offset 0x8C, size 0x10 unsigned int mBattleId; // offset 0x9C, size 0x4 class HxGuid mBandId; // offset 0xA0, size 0x10 class Timer mValidCacheTimer; // offset 0xB0, size 0x38 int mFocusTabIdx; // offset 0xE8, size 0x4 class String mFocusName; // offset 0xEC, size 0xC unsigned char mRequestedFocus; // offset 0xF8, size 0x1 int mFocusFirstShowing; // offset 0xFC, size 0x4 int mFocusSelected; // offset 0x100, size 0x4 unsigned char mBackingOut; // offset 0x104, size 0x1 class vector mSetList; // offset 0x108, size 0xC unsigned char mHasAllSongs; // offset 0x114, size 0x1 unsigned char mBattleClosed; // offset 0x115, size 0x1 class vector mEntryConditions; // offset 0x118, size 0xC class vector mPerformanceModifiers; // offset 0x124, size 0xC class FileLoader * mAlbumArtLoader; // offset 0x130, size 0x4 class BotbBattleDetails mNetDetails; // offset 0x134, size 0xC class BotbBattleResultsList mNetResults; // offset 0x140, size 0x18 class BotbBattleResultsList mNetFriendsResults; // offset 0x158, size 0x18 class BotbBattleResultsList mNetOverallResults; // offset 0x170, size 0x18 class BotbBattleResultsByBandInfo mNetBandResults; // offset 0x188, size 0x4 class BotbPlayBattleResponse mNetBattleResponse; // offset 0x18C, size 0x14 int mDirtySyncFlags; // offset 0x1A0, size 0x4 unsigned char mClientReceivedHostData; // offset 0x1A4, size 0x1 unsigned char mClientReceivedRockCentralData; // offset 0x1A5, size 0x1 class BotbScoresProvider * mFriendsResultsProvider; // offset 0x1A8, size 0x4 class BotbScoresProvider * mOverallResultsProvider; // offset 0x1AC, size 0x4 unsigned char mDirtyOverallResults; // offset 0x1B0, size 0x1 class BotbSetListProvider * mSetListProvider; // offset 0x1B4, size 0x4 class BotbRulesListProvider * mRulesListProvider; // offset 0x1B8, size 0x4 unsigned char mCreatedNetBandProfile; // offset 0x1BC, size 0x1 class RemoteBandData * mNetBandProfile; // offset 0x1C0, size 0x4 class UILabel * mDebugNetworkLabel; // offset 0x1C4, size 0x4 class UILabel * mNetworkFailedLabel; // offset 0x1C8, size 0x4 class RndGroup * mLoadingGroup; // offset 0x1CC, size 0x4 class map mResultsCache; // offset 0x1D0, size 0x18 }; enum BotbNewsNetProgress { BotbNewsNetGetNews = 0, BotbNewsNetDone = 1, }; class BotbNewsProvider : public ListProvider, public Object { // total size: 0x3C class vector & mItems; // offset 0x2C, size 0x4 const class vector & mCovers; // offset 0x30, size 0x4 class RndMat * mDefaultMat; // offset 0x34, size 0x4 class RndMat * mTrimMat; // offset 0x38, size 0x4 }; class BotbNewsFeedPanel : public TexLoadPanel { // total size: 0xC8 protected: class vector mItems; // offset 0x40, size 0xC unsigned char mHasNews; // offset 0x4C, size 0x1 class HxGuid mBandId; // offset 0x50, size 0x10 enum BotbNewsNetProgress mNetState; // offset 0x60, size 0x4 class BotbNewsList mNewsList; // offset 0x64, size 0x34 class BotbNewsProvider * mNewsProvider; // offset 0x98, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class BotbNewsItem { // total size: 0x118 char mType; // offset 0x0, size 0x1 int mNum1; // offset 0x4, size 0x4 int mNum2; // offset 0x8, size 0x4 int mSeconds; // offset 0xC, size 0x4 int mBattleName; // offset 0x10, size 0x4 char mParseBuf[255]; // offset 0x14, size 0xFF const char * mIcon; // offset 0x114, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BotbNewsItem * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BotbNewsItem * _M_start; // offset 0x0, size 0x4 class BotbNewsItem * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class list { // total size: 0x0 }; class Movie { // total size: 0x4 struct Impl * mImpl; // offset 0x0, size 0x4 }; class MoviePanel : public UIPanel { // total size: 0x84 protected: unsigned char mPreload; // offset 0x30, size 0x1 unsigned char mAudio; // offset 0x31, size 0x1 unsigned char mLoop; // offset 0x32, size 0x1 unsigned char mUpdatePresence; // offset 0x33, size 0x1 unsigned char mFillWidth; // offset 0x34, size 0x1 const char * mCurrentMovie; // offset 0x38, size 0x4 class vector mMovies; // offset 0x3C, size 0xC class list mRecent; // offset 0x48, size 0x8 class Movie mMovie; // offset 0x50, size 0x4 unsigned char mAnamorphic; // offset 0x54, size 0x1 }; class _List_node : public _List_node_base { // total size: 0xC public: const char * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class MultiFocusScreen : public BandScreen { // total size: 0x4C class DataArray * mOptions; // offset 0x3C, size 0x4 class vector mPanels; // offset 0x40, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PanelDir * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PanelDir * * _M_start; // offset 0x0, size 0x4 class PanelDir * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class MultiSelectListPanel : public UIPanel { // total size: 0x90 class RndMesh * mSelectionMesh; // offset 0x30, size 0x4 class UIList * mScrollList; // offset 0x34, size 0x4 int mStartSection; // offset 0x38, size 0x4 int mDrawStart; // offset 0x3C, size 0x4 int mDrawEnd; // offset 0x40, size 0x4 float mSpacing; // offset 0x44, size 0x4 float mHeightMultiplier; // offset 0x48, size 0x4 class Vector3 mSelectionStart; // offset 0x50, size 0x10 }; class NextSongPanel : public UIPanel { // total size: 0x60 float mEnterTime; // offset 0x30, size 0x4 }; class OutfitConfigPanel : public UIPanel { // total size: 0x80 int mColorIdx; // offset 0x30, size 0x4 class vector mSelectedColors; // offset 0x34, size 0xC class vector mInitialColors; // offset 0x40, size 0xC class OutfitPanel * mOutfitPanel; // offset 0x4C, size 0x4 unsigned char mConfirm; // offset 0x50, size 0x1 }; class OutfitGroupPanel : public UIPanel, public ListProvider { // total size: 0x74 class OutfitPanel * mOutfitPanel; // offset 0x34, size 0x4 class vector mOutfits; // offset 0x38, size 0xC class Symbol mSelectedOutfit; // offset 0x44, size 0x4 }; class OutfitPanel : public UIPanel { // total size: 0x68 class Symbol mSelectedOutfit; // offset 0x30, size 0x4 class OutfitLoader * mOutfitLoader; // offset 0x34, size 0x4 unsigned char mUsedUnlockAll; // offset 0x38, size 0x1 }; class PassiveMessagesPanel : public UIPanel { // total size: 0xA8 class list mMsgQueue; // offset 0x30, size 0x8 class Timer mTimer; // offset 0x38, size 0x38 int mMsgDuration; // offset 0x70, size 0x4 class PassiveMessenger * mMessenger; // offset 0x74, size 0x4 class RndAnimatable * mMsgAnim; // offset 0x78, size 0x4 }; class PracticeBackgroundPanel : public UIPanel { // total size: 0x5C }; class PracticePanel : public UIPanel { // total size: 0x68 unsigned char mInVocalMode; // offset 0x30, size 0x1 class Fader * mFader; // offset 0x34, size 0x4 float mSpeedRatio; // offset 0x38, size 0x4 }; class PreloadPanel : public UIPanel, public Callback { // total size: 0x46C unsigned char mPreloadOK; // offset 0x34, size 0x1 unsigned char mMounted; // offset 0x35, size 0x1 class Symbol mSongContent; // offset 0x38, size 0x4 char mLipSyncPath[256]; // offset 0x3C, size 0x100 char mWeightsPath[256]; // offset 0x13C, size 0x100 char mPanPath[256]; // offset 0x23C, size 0x100 char mMidiPath[256]; // offset 0x33C, size 0x100 unsigned char mLipSyncBackup; // offset 0x43C, size 0x1 }; enum PresenceInfo { kSearching = 0, kFailed = 1, kJoining = 2, kSuccess = 3, kNoInstrument = 4, kNoMultiplayerPrivilege = 5, }; class SessionFindingPanel : public UIPanel { // total size: 0x74 class BandUser * mJoiningUser; // offset 0x30, size 0x4 class vector mJoiningPads; // offset 0x34, size 0xC class CharData * mJoiningChar; // offset 0x40, size 0x4 enum TrackType mJoiningTrackType; // offset 0x44, size 0x4 }; class SessionPanel : public UIPanel { // total size: 0x60 unsigned char mWaitingForSessionReady; // offset 0x30, size 0x1 }; class SigninScreen : public BandScreen { // total size: 0x40 unsigned char mMustNotBeAGuest; // offset 0x3A, size 0x1 unsigned char mMustBeOnline; // offset 0x3B, size 0x1 unsigned char mMustBeMultiplayerCapable; // offset 0x3C, size 0x1 unsigned char mHandleSignOuts; // offset 0x3D, size 0x1 unsigned char mLimitUserSignin; // offset 0x3E, size 0x1 unsigned char mSigninMsgDuringGuide; // offset 0x3F, size 0x1 }; class SongSyncPanel : public UIPanel { // total size: 0x68 unsigned char mDiskError; // offset 0x30, size 0x1 unsigned char mSentSongData; // offset 0x31, size 0x1 unsigned char mLeaderIsReady; // offset 0x32, size 0x1 unsigned char mSyncComplete; // offset 0x33, size 0x1 class list mRemoteUsers; // offset 0x34, size 0x8 }; struct ArtEntry { // total size: 0x14 class String mStrName; // offset 0x0, size 0xC class NetCacheLoader * mLoader; // offset 0xC, size 0x4 class RndBitmap * mBmp; // offset 0x10, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ArtEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ArtEntry * _M_start; // offset 0x0, size 0x4 struct ArtEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct NewReleaseEntry { // total size: 0x28 class String mStrName; // offset 0x0, size 0xC class String mText1; // offset 0xC, size 0xC class String mText2; // offset 0x18, size 0xC int mReleaseNum; // offset 0x24, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct NewReleaseEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct NewReleaseEntry * _M_start; // offset 0x0, size 0x4 struct NewReleaseEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StoreMainPanel : public StoreUIPanel { // total size: 0xD0 class DataArray * mDataConfig; // offset 0x30, size 0x4 float mTimeNextEvent; // offset 0x34, size 0x4 int mCurrentEntry; // offset 0x38, size 0x4 unsigned char mIsCrossfading; // offset 0x3C, size 0x1 float mDtDisplay; // offset 0x40, size 0x4 float mDtCrossfade; // offset 0x44, size 0x4 unsigned char mIsFirst; // offset 0x48, size 0x1 class RndTex * mTexArtA; // offset 0x4C, size 0x4 class RndTex * mTexArtB; // offset 0x50, size 0x4 class RndMat * mMatArtA; // offset 0x54, size 0x4 class RndMat * mMatArtB; // offset 0x58, size 0x4 class RndMesh * mMeshArtA; // offset 0x5C, size 0x4 class RndMesh * mMeshArtB; // offset 0x60, size 0x4 class RndMat * mMatArtNone; // offset 0x64, size 0x4 class RndMesh * mMeshArtNone; // offset 0x68, size 0x4 class RndMat * mMatTextFade; // offset 0x6C, size 0x4 class RndMesh * mMeshTextFade; // offset 0x70, size 0x4 class BandLabel * mLabelText1; // offset 0x74, size 0x4 class BandLabel * mLabelText2; // offset 0x78, size 0x4 class vector mArtList; // offset 0x7C, size 0xC class vector mNewReleaseList; // offset 0x88, size 0xC const char * mStrText1Prev; // offset 0x94, size 0x4 const char * mStrText1Next; // offset 0x98, size 0x4 const char * mStrText2Prev; // offset 0x9C, size 0x4 const char * mStrText2Next; // offset 0xA0, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class StoreFilter * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class StoreFilter * _M_start; // offset 0x0, size 0x4 class StoreFilter * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SelectedFilter : public Object { // total size: 0x34 public: class vector mSelected; // offset 0x28, size 0xC }; class StoreOffer : public Offer { // total size: 0x50 unsigned char mPurchased; // offset 0x2C, size 0x1 unsigned char mAvailable; // offset 0x2D, size 0x1 class String mContentIndex; // offset 0x30, size 0xC class String mGameCode; // offset 0x3C, size 0xC unsigned short mPointsPrice; // offset 0x48, size 0x2 unsigned short mContentId; // offset 0x4A, size 0x2 unsigned char mDownloaded; // offset 0x4C, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class StoreOffer * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class StoreOffer * _M_start; // offset 0x0, size 0x4 class StoreOffer * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum StoreError { kStoreErrorSuccess = 0, kStoreErrorNoContent = 1, kStoreErrorCacheNoSpace = 2, kStoreErrorCacheRemoved = 3, kStoreErrorLiveServer = 4, kStoreErrorStoreServer = 5, kStoreErrorSignedOut = 6, kStoreErrorEcommerce = 7, }; class StorePanel : public UIPanel { // total size: 0xD0 class FilterProvider * mFilterProvider; // offset 0x30, size 0x4 class StoreOfferProvider * mStoreOfferProvider; // offset 0x34, size 0x4 class InfoProvider * mInfoProvider; // offset 0x38, size 0x4 class GroupProvider * mGroupProvider; // offset 0x3C, size 0x4 class InfoSongProvider * mInfoSongProvider; // offset 0x40, size 0x4 class vector mFilters; // offset 0x44, size 0xC int mCurFilterDepth; // offset 0x50, size 0x4 class SelectedFilter * mSelectedFilter; // offset 0x54, size 0x4 class UILabel * mFilterCrumb; // offset 0x58, size 0x4 class vector mOffers; // offset 0x5C, size 0xC class DataArray * mDecadeOptions; // offset 0x68, size 0x4 class DataArray * mGenreOptions; // offset 0x6C, size 0x4 unsigned char mLoadOK; // offset 0x70, size 0x1 unsigned char mShowTestOffers; // offset 0x71, size 0x1 class DataNetLoader * mMetadataLoader; // offset 0x74, size 0x4 class DataArray * mMetadata; // offset 0x78, size 0x4 class list mLoaders; // offset 0x7C, size 0x8 class NetCacheLoader * mPendingArtLoader; // offset 0x84, size 0x4 class RndTex * mPendingArtTex; // offset 0x88, size 0x4 class Object * mPendingArtCallback; // offset 0x8C, size 0x4 class StorePreviewMgrWii * mStorePreviewMgr; // offset 0x90, size 0x4 class StoreEnumeration * mEnum; // offset 0x94, size 0x4 unsigned char mSessionCreated; // offset 0x98, size 0x1 unsigned char mNeedToEnumerate; // offset 0x99, size 0x1 unsigned char mInCheckout; // offset 0x9A, size 0x1 class StoreOffer * mCurrentOffer; // offset 0x9C, size 0x4 unsigned char mCommerceStarted; // offset 0xA0, size 0x1 }; class StoreHeldButtonPanel : public HeldButtonPanel { // total size: 0x68 }; class StoreUIPanel : public UIPanel { // total size: 0x5C }; class StoreUnloadPanel : public StoreUIPanel { // total size: 0x5C }; struct /* @class$46408MetaPanel_cpp */ { // total size: 0x1C int mBattleID; // offset 0x0, size 0x4 int mAccumScore; // offset 0x4, size 0x4 int mTotalStars; // offset 0x8, size 0x4 class HxGuid mBandGuid; // offset 0xC, size 0x10 }; class TourChallengeCompletePanel : public UIPanel { // total size: 0x80 class BotbRecordBattleResponse mBotbResponse; // offset 0x30, size 0x4 unsigned char mNeedsUnpack; // offset 0x34, size 0x1 unsigned char mNetDone; // offset 0x35, size 0x1 struct /* @class$46408MetaPanel_cpp */ { // total size: 0x1C int mBattleID; // offset 0x0, size 0x4 int mAccumScore; // offset 0x4, size 0x4 int mTotalStars; // offset 0x8, size 0x4 class HxGuid mBandGuid; // offset 0xC, size 0x10 } mSubmittedData; // offset 0x38, size 0x1C }; class TourChallengeDetailsPanel : public TexLoadPanel { // total size: 0x74 class ChallengeSongProvider * mSongProvider; // offset 0x40, size 0x4 unsigned char mHasBackArt; // offset 0x44, size 0x1 }; class TourChallengePanel : public TexLoadPanel { // total size: 0x70 class ChallengeProvider * mChallengeProvider; // offset 0x40, size 0x4 }; class TourChallengeTierPanel : public UIPanel { // total size: 0x60 class ChallengeTierProvider * mTierProvider; // offset 0x30, size 0x4 }; class TutorialDrawPanel : public UIPanel { // total size: 0x60 protected: class TutorialPanel * mActivePanel; // offset 0x30, size 0x4 }; class TutorialBackgroundPanel : public TutorialDrawPanel { // total size: 0x60 }; class TutorialTVOverlayPanel : public TutorialDrawPanel { // total size: 0x60 }; class TutorialTVScreenPanel : public TutorialDrawPanel { // total size: 0x60 }; class VocalsTutorialPanel : public TutorialPanel { // total size: 0xF8 class list mCallbackList; // offset 0xC0, size 0x8 }; // Range: 0x801167D4 -> 0x80116AC4 void * MetaPanel::MetaPanel(class MetaPanel * const this /* r30 */) { // Local variables int i; // r28 class DataArray * backSfxArray; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> class SongMgr & TheSongMgr; // -> struct [anonymous] __vt__9MetaPanel; } // Range: 0x80116AC4 -> 0x80116DF8 void * MetaPanel::~MetaPanel(class MetaPanel * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__9MetaPanel; } // Range: 0x80116E68 -> 0x80116E70 class MetaMusic * MetaPanel::GetMetaMusic() {} // Range: 0x80116E70 -> 0x801173C4 void MetaPanel::Load(class MetaPanel * const this /* r31 */) { // Local variables class DataArray * loopArray; // r29 int idx; // r0 const char * filename; // r29 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8FilePath; // -> class SongPreview TheSongPreview; } // Range: 0x801173C4 -> 0x80117470 unsigned char MetaPanel::IsLoaded(class MetaPanel * const this /* r29 */) {} // Range: 0x80117470 -> 0x80117664 void MetaPanel::FinishLoad(class MetaPanel * const this /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Synth * TheSynth; // -> class LoadMgr TheLoadMgr; } // Range: 0x80117664 -> 0x801178B4 void MetaPanel::Unload(class MetaPanel * const this /* r28 */) { // References // -> class LoadMgr TheLoadMgr; // -> class SongPreview TheSongPreview; } // Range: 0x801178B4 -> 0x801178B8 void MetaPanel::Draw() {} // Range: 0x801178B8 -> 0x801179F8 void MetaPanel::Poll(class MetaPanel * const this /* r29 */) { // Local variables unsigned char playing; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Synth * TheSynth; // -> class TaskMgr TheTaskMgr; // -> class SessionMgr * TheSessionMgr; // -> class SongPreview TheSongPreview; } // Range: 0x801179F8 -> 0x80117A38 void MetaPanel::Enter() { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80117A38 -> 0x80117A78 void MetaPanel::Exit(class MetaPanel * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80117A78 -> 0x80117AE4 unsigned char MetaPanel::Exiting(class MetaPanel * const this /* r30 */) {} // Range: 0x80117AE4 -> 0x80117B40 void MetaPanel::CalcSfxPlayTime(class MetaPanel * const this /* r31 */) { // Local variables float delaySec; // f0 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80117B40 -> 0x80117C08 int MetaPanel::PickLoopIndex(class MetaPanel * const this /* r31 */, int size /* r29 */) { // Local variables int memSize; // r30 int idx; // r3 int i; // r5 } static class Symbol postprocess; // size: 0x4, address: 0x80A4B920 // Range: 0x80117C08 -> 0x80117D60 void MetaPanel::UpdatePostProc() { // Local variables class RndPostProc * pp; // r29 class UIScreen * s; // r0 const class list & panels; // r0 struct _List_iterator itr; // r1+0x1C const class DataNode * prop; // r28 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPostProc; // -> static class Symbol postprocess; // -> class UIManager TheUI; } // Range: 0x80117D60 -> 0x80117D98 void MetaPanel::OnSendBackSoundMsgToAll() { // Local variables class TriggerBackSoundMsg msg; // r1+0x8 // References // -> class NetSession * TheNetSession; // -> struct [anonymous] __vt__19TriggerBackSoundMsg; } static class Symbol _s; // size: 0x4, address: 0x80A4B928 static class Symbol _s; // size: 0x4, address: 0x80A4B930 // Range: 0x80117D98 -> 0x80118218 class DataNode MetaPanel::Handle(class MetaPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__11RndPostProc; // size: 0x8, address: 0x8088C968 struct { // total size: 0x8 } __RTTI__13PostProcessor; // size: 0x8, address: 0x8088C980 struct { // total size: 0xAC } __vt__9MetaPanel; // size: 0xAC, address: 0x8088CA98 class _List_node : public _List_node_base { // total size: 0xC public: class OutfitProvider * _M_data; // offset 0x8, size 0x4 }; class _DDL_TextMessage : public UserMessage { // total size: 0x38 public: class String m_strTextBody; // offset 0x30, size 0x4 }; class TextMessage : public _DDL_TextMessage { // total size: 0x38 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TextMessage * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TextMessage * * _M_start; // offset 0x0, size 0x4 class TextMessage * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class _DDL_FriendData : public RootObject { // total size: 0x18 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int m_pid; // offset 0x4, size 0x4 class String m_strName; // offset 0x8, size 0x4 unsigned char m_byRelationship; // offset 0xC, size 0x1 unsigned int m_uiDetails; // offset 0x10, size 0x4 class String m_strStatus; // offset 0x14, size 0x4 }; class FriendData : public _DDL_FriendData { // total size: 0x18 }; class _List_node : public _List_node_base { // total size: 0x20 public: class FriendData _M_data; // offset 0x8, size 0x18 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; enum State { kIdle = 0, kMountingSong = 1, kPreparingSong = 2, kPlayingSong = 3, kFadingOutSong = 4, }; class SongPreview : public Callback { // total size: 0x54 class Stream * mStream; // offset 0x4, size 0x4 class Fader * mFader; // offset 0x8, size 0x4 class Fader * mForegroundFader; // offset 0xC, size 0x4 class Fader * mBackgroundFader; // offset 0x10, size 0x4 class Fader * mCrowdFader; // offset 0x14, size 0x4 class Fader * mCrowdSingFader; // offset 0x18, size 0x4 class Fader * mVocalsFader; // offset 0x1C, size 0x4 class Symbol mForegroundInstr; // offset 0x20, size 0x4 int mNumChannels; // offset 0x24, size 0x4 float mAtten; // offset 0x28, size 0x4 float mFadeMs; // offset 0x2C, size 0x4 unsigned char mRestart; // offset 0x30, size 0x1 unsigned char mLoopForever; // offset 0x31, size 0x1 enum State mState; // offset 0x34, size 0x4 class Symbol mSong; // offset 0x38, size 0x4 class Symbol mSongContent; // offset 0x3C, size 0x4 float mStartMs; // offset 0x40, size 0x4 float mEndMs; // offset 0x44, size 0x4 float mStartPreviewMs; // offset 0x48, size 0x4 float mEndPreviewMs; // offset 0x4C, size 0x4 unsigned char mRegisteredWithCM; // offset 0x50, size 0x1 }; enum BotbChallengeNetState { BotbChalNetStart = 0, BotbChalNetQueryBattles = 1, BotbChalNetBattleListDone = 2, }; struct OpenBattleRecord { // total size: 0xC int mBattleId; // offset 0x0, size 0x4 class TourEvent * mChallengeEvent; // offset 0x4, size 0x4 class TourEvent * mWorldEvent; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct OpenBattleRecord * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct OpenBattleRecord * _M_start; // offset 0x0, size 0x4 struct OpenBattleRecord * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BotbChallengeLoader : public Object { // total size: 0xC8 protected: class vector mChallengeEvents; // offset 0x28, size 0xC class vector mWorldEvents; // offset 0x34, size 0xC unsigned char mLoaded; // offset 0x40, size 0x1 unsigned char mCancelRockCentralRequest; // offset 0x41, size 0x1 unsigned char mFailed; // offset 0x42, size 0x1 class Timer mFailedTimer; // offset 0x48, size 0x38 class HxGuid mBandId; // offset 0x80, size 0x10 enum BotbChallengeNetState mNetState; // offset 0x90, size 0x4 int mNetBattleQueryIndex; // offset 0x94, size 0x4 class BotbBattleDetails mBattleDetails; // offset 0x98, size 0xC class BotbOpenBattlesList mOpenBattlesList; // offset 0xA4, size 0x18 class vector mOpenBattleRecords; // offset 0xBC, size 0xC }; /* Compile unit: C:\rockband2\band2\src\meta\MetaNetMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118218 -> 0x801182F8 */ // Range: 0x80118218 -> 0x80118250 class NetMessage * CoattailsAchievementMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__23CoattailsAchievementMsg; } // Range: 0x80118250 -> 0x80118290 class NetMessage * BandEventPreviewMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__19BandEventPreviewMsg; } // Range: 0x80118290 -> 0x801182C8 class NetMessage * TriggerBackSoundMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__19TriggerBackSoundMsg; } // Range: 0x801182C8 -> 0x801182F8 class NetMessage * VerifyBuildVersionMsg::NewNetMessage() {} /* Compile unit: C:\rockband2\band2\src\meta\AutoloadScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801182F8 -> 0x80118328 */ // Range: 0x801182F8 -> 0x80118328 class Object * AutoloadScreen::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\BandCreatePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118328 -> 0x8011836C */ // Range: 0x80118328 -> 0x8011836C class Object * BandCreatePanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\BandProfilePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011836C -> 0x801183B0 */ // Range: 0x8011836C -> 0x801183B0 class Object * BandProfilePanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\BandScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801183B0 -> 0x801183FC */ // Range: 0x801183B0 -> 0x801183FC class Object * BandScreen::NewObject() { // References // -> struct [anonymous] __vt__10BandScreen; } /* Compile unit: C:\rockband2\band2\src\meta\BandProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801183FC -> 0x8011848C */ // Range: 0x801183FC -> 0x8011848C class Object * BandSelectPanel::NewObject() { // References // -> struct [anonymous] __vt__15BandSelectPanel; } /* Compile unit: C:\rockband2\band2\src\meta\BotbPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011848C -> 0x801184D0 */ // Range: 0x8011848C -> 0x801184D0 class Object * BotbPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\BotbnewsFeedPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801184D0 -> 0x801185E8 */ // Range: 0x801184D0 -> 0x801185E8 class Object * BotbNewsFeedPanel::NewObject() { // References // -> struct [anonymous] __vt__17BotbNewsFeedPanel; // -> struct [anonymous] __vt__12TexLoadPanel; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801185E8 -> 0x8011872C */ // Range: 0x801186AC -> 0x8011872C void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\CalibrationPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011872C -> 0x80118770 */ // Range: 0x8011872C -> 0x80118770 class Object * CalibrationPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\CharCreatorPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118770 -> 0x801187B4 */ // Range: 0x80118770 -> 0x801187B4 class Object * CharCreatorPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\CharLoadingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801187B4 -> 0x80118844 */ // Range: 0x801187B4 -> 0x80118844 class Object * CharLoadingPanel::NewObject() { // References // -> struct [anonymous] __vt__16CharLoadingPanel; } /* Compile unit: C:\rockband2\band2\src\meta\CharPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118844 -> 0x80118888 */ // Range: 0x80118844 -> 0x80118888 class Object * CharPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\CharSelectPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118888 -> 0x801188CC */ // Range: 0x80118888 -> 0x801188CC class Object * CharSelectPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\ContentLoadingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801188CC -> 0x80118910 */ // Range: 0x801188CC -> 0x80118910 class Object * ContentLoadingPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\CreditsPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118910 -> 0x80118954 */ // Range: 0x80118910 -> 0x80118954 class Object * CreditsPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\DrumTrainerPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118954 -> 0x80118998 */ // Range: 0x80118954 -> 0x80118998 class Object * DrumTrainerPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\DrumTutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118998 -> 0x801189DC */ // Range: 0x80118998 -> 0x801189DC class Object * DrumTutorialPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\EventDialogPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801189DC -> 0x80118A20 */ // Range: 0x801189DC -> 0x80118A20 class Object * EventDialogPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\GameTimePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118A20 -> 0x80118A64 */ // Range: 0x80118A20 -> 0x80118A64 class Object * GameTimePanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\GuitarTutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118A64 -> 0x80118AA8 */ // Range: 0x80118A64 -> 0x80118AA8 class Object * GuitarTutorialPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\HeldButtonPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118AA8 -> 0x80118AEC */ // Range: 0x80118AA8 -> 0x80118AEC class Object * HeldButtonPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\HelpBarPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118AEC -> 0x80118B30 */ // Range: 0x80118AEC -> 0x80118B30 class Object * HelpBarPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\InkPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118B30 -> 0x80118B74 */ // Range: 0x80118B30 -> 0x80118B74 class Object * InkPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\LoadingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118B74 -> 0x80118C04 */ // Range: 0x80118B74 -> 0x80118C04 class Object * LoadingPanel::NewObject() { // References // -> struct [anonymous] __vt__12LoadingPanel; } /* Compile unit: C:\rockband2\band2\src\meta\MainPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118C04 -> 0x80118C48 */ // Range: 0x80118C04 -> 0x80118C48 class Object * MainPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\MatchmakingScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118C48 -> 0x80118C78 */ // Range: 0x80118C48 -> 0x80118C78 class Object * MatchmakingScreen::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\MetaPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118C78 -> 0x80118E94 */ // Range: 0x80118C78 -> 0x80118CBC class Object * MetaPanel::NewObject() {} // Range: 0x80118CBC -> 0x80118D00 class Symbol MetaPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80118D00 -> 0x80118E94 void MetaPanel::SetType(class MetaPanel * const this /* r29 */, class Symbol & MetaPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\MoviePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118E94 -> 0x80118F5C */ // Range: 0x80118E94 -> 0x80118F5C class Object * MoviePanel::NewObject() { // References // -> struct [anonymous] __vt__10MoviePanel; } /* Compile unit: C:\rockband2\band2\src\meta\MultiFocusScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118F5C -> 0x80118FB8 */ // Range: 0x80118F5C -> 0x80118FB8 class Object * MultiFocusScreen::NewObject() { // References // -> struct [anonymous] __vt__16MultiFocusScreen; } /* Compile unit: C:\rockband2\band2\src\meta\MultiSelectListPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118FB8 -> 0x80118FFC */ // Range: 0x80118FB8 -> 0x80118FFC class Object * MultiSelectListPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\NetworkBusyPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80118FFC -> 0x80119040 */ // Range: 0x80118FFC -> 0x80119040 class Object * NetworkBusyPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\NextSongPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119040 -> 0x801190D0 */ // Range: 0x80119040 -> 0x801190D0 class Object * NextSongPanel::NewObject() { // References // -> struct [anonymous] __vt__13NextSongPanel; } /* Compile unit: C:\rockband2\band2\src\meta\OutfitConfigPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801190D0 -> 0x80119114 */ // Range: 0x801190D0 -> 0x80119114 class Object * OutfitConfigPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\OutfitGroupPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119114 -> 0x80119158 */ // Range: 0x80119114 -> 0x80119158 class Object * OutfitGroupPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\OutfitPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119158 -> 0x8011919C */ // Range: 0x80119158 -> 0x8011919C class Object * OutfitPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\PassiveMessagesPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011919C -> 0x801191E0 */ // Range: 0x8011919C -> 0x801191E0 class Object * PassiveMessagesPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\PracticePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801191E0 -> 0x80119268 */ // Range: 0x801191E0 -> 0x80119224 class Object * PracticeBackgroundPanel::NewObject() {} // Range: 0x80119224 -> 0x80119268 class Object * PracticePanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\PreloadPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119268 -> 0x801192AC */ // Range: 0x80119268 -> 0x801192AC class Object * PreloadPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\SaveScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801192AC -> 0x801192DC */ // Range: 0x801192AC -> 0x801192DC class Object * SaveScreen::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\SessionFindingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801192DC -> 0x80119320 */ // Range: 0x801192DC -> 0x80119320 class Object * SessionFindingPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\SessionPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119320 -> 0x80119364 */ // Range: 0x80119320 -> 0x80119364 class Object * SessionPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\SigninScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119364 -> 0x80119394 */ // Range: 0x80119364 -> 0x80119394 class Object * SigninScreen::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\SongSyncPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119394 -> 0x801193D8 */ // Range: 0x80119394 -> 0x801193D8 class Object * SongSyncPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\StoreMainPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801193D8 -> 0x8011941C */ // Range: 0x801193D8 -> 0x8011941C class Object * StoreMainPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\StorePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011941C -> 0x80119460 */ // Range: 0x8011941C -> 0x80119460 class Object * StorePanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\StoreUIPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119460 -> 0x80119580 */ // Range: 0x80119460 -> 0x801194F0 class Object * StoreHeldButtonPanel::NewObject() { // References // -> struct [anonymous] __vt__20StoreHeldButtonPanel; } // Range: 0x801194F0 -> 0x80119580 class Object * StoreUIPanel::NewObject() { // References // -> struct [anonymous] __vt__12StoreUIPanel; } /* Compile unit: C:\rockband2\band2\src\meta\StoreUnloadPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119580 -> 0x801195C4 */ // Range: 0x80119580 -> 0x801195C4 class Object * StoreUnloadPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\TabInterfacePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801195C4 -> 0x80119608 */ // Range: 0x801195C4 -> 0x80119608 class Object * TabInterfacePanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\TexLoadPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119608 -> 0x801196C0 */ // Range: 0x80119608 -> 0x801196C0 class Object * TexLoadPanel::NewObject() { // References // -> struct [anonymous] __vt__12TexLoadPanel; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeCompletePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801196C0 -> 0x80119770 */ // Range: 0x801196C0 -> 0x80119770 class Object * TourChallengeCompletePanel::NewObject() { // References // -> struct [anonymous] __vt__26TourChallengeCompletePanel; } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeDetailsPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119770 -> 0x801197B4 */ // Range: 0x80119770 -> 0x801197B4 class Object * TourChallengeDetailsPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\TourChallengePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801197B4 -> 0x801197F8 */ // Range: 0x801197B4 -> 0x801197F8 class Object * TourChallengePanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeTierPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801197F8 -> 0x8011983C */ // Range: 0x801197F8 -> 0x8011983C class Object * TourChallengeTierPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\TutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011983C -> 0x8011994C */ // Range: 0x8011983C -> 0x80119880 class Object * TutorialBackgroundPanel::NewObject() {} // Range: 0x80119880 -> 0x801198C4 class Object * TutorialPanel::NewObject() {} // Range: 0x801198C4 -> 0x80119908 class Object * TutorialTVOverlayPanel::NewObject() {} // Range: 0x80119908 -> 0x8011994C class Object * TutorialTVScreenPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\VocalsTutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011994C -> 0x80119990 */ // Range: 0x8011994C -> 0x80119990 class Object * VocalsTutorialPanel::NewObject() {} /* Compile unit: C:\rockband2\band2\src\meta\JukeboxPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119990 -> 0x801199D4 */ // Range: 0x80119990 -> 0x801199D4 class Object * JukeboxPanel::NewObject() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801199D4 -> 0x80119A94 */ // Range: 0x801199D4 -> 0x80119A34 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80119A34 -> 0x80119A94 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\MetaPerformer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80119AE4 -> 0x8011CFB0 */ // Range: 0x80119AE4 -> 0x80119B40 class Symbol QuickplayPerformer::Song() { // References // -> const char * gNullStr; } // Range: 0x80119B40 -> 0x80119B44 unsigned char QuickplayPerformer::IsWinning() {} // Range: 0x80119B44 -> 0x80119B4C class PersistentGameData * QuickplayPerformer::GetPersistentGameData() {} // Range: 0x80119B4C -> 0x80119B54 float QuickplayPerformer::GetBotbTargetStartAccumScore() {} // Range: 0x80119B54 -> 0x80119B5C float QuickplayPerformer::GetBotbTargetEndAccumScore() {} // Range: 0x80119B5C -> 0x80119B64 char * QuickplayPerformer::GetBotbRivalBandName() {} // Range: 0x80119B64 -> 0x80119B6C int QuickplayPerformer::GetBotbRivalBandScore() {} // Range: 0x80119B6C -> 0x80119B74 int QuickplayPerformer::GetBotbRivalBandStars() {} // Range: 0x80119B74 -> 0x80119B7C unsigned char QuickplayPerformer::GetBotbBattleIsBrandNew() {} // Range: 0x80119B7C -> 0x80119B84 class String QuickplayPerformer::GetBandIcon() {} // Range: 0x80119B84 -> 0x80119B8C class String QuickplayPerformer::GetBotbRivalBandIcon() {} // Range: 0x80119B8C -> 0x80119B94 class String QuickplayPerformer::GetBotbRivalBandIconPath() {} // Range: 0x80119B94 -> 0x80119B9C enum Difficulty QuickplayPerformer::MinDifficultySelect() {} // Range: 0x80119B9C -> 0x80119BA4 unsigned char QuickplayPerformer::GetNoOverdrive() {} // Range: 0x80119BA4 -> 0x80119BAC unsigned char QuickplayPerformer::GetNoCrowdMeter() {} // Range: 0x80119BAC -> 0x80119BB4 unsigned char QuickplayPerformer::GetNoBackFromBrink() {} // Range: 0x80119BB4 -> 0x80119BBC enum WinMetric QuickplayPerformer::GetWinMetric() {} // Range: 0x80119BBC -> 0x80119CB8 class BandUser * QuickplayPerformer::SongSelectUser(const class QuickplayPerformer * const this /* r29 */) { // Local variables int i; // r31 class BandUser * u; // r30 int i; // r30 class BandUser * u; // r31 // References // -> class BandUserMgr * TheBandUserMgr; // -> class Net TheNet; } static class Symbol any; // size: 0x4, address: 0x80A4B93C // Range: 0x80119CB8 -> 0x80119D3C int QuickplayPerformer::PreviousSongSelection(const class QuickplayPerformer * const this /* r31 */) { // Local variables int i; // r3 // References // -> static class Symbol any; } // Range: 0x80119D3C -> 0x80119E24 class DataNode QuickplayPerformer::OnSetSong(class QuickplayPerformer * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x80119E24 -> 0x80119F2C void QuickplayPerformer::SelectSong(class QuickplayPerformer * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x80119F2C -> 0x8011A044 void QuickplayPerformer::SetSongs(class QuickplayPerformer * const this /* r29 */, class DataArray * songs /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011A044 -> 0x8011A150 void QuickplayPerformer::Restart(class QuickplayPerformer * const this /* r29 */) { // References // -> class SyncStore * TheSyncStore; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011A150 -> 0x8011A2CC void QuickplayPerformer::OnFinalizeSetlist(class QuickplayPerformer * const this /* r31 */) { // Local variables int i; // r0 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol any; // size: 0x4, address: 0x80A4B944 // Range: 0x8011A2CC -> 0x8011A3C0 class Symbol QuickplayPerformer::RevertSongSelection(class QuickplayPerformer * const this /* r30 */) { // Local variables int i; // r0 class Symbol reverted; // r1+0x8 // References // -> class SyncStore * TheSyncStore; // -> const char * gNullStr; // -> static class Symbol any; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011A3C0 -> 0x8011A3F4 void QuickplayPerformer::Clear(class QuickplayPerformer * const this /* r31 */) {} // Range: 0x8011A3F4 -> 0x8011A42C void QuickplayPerformer::AdvanceSong(class QuickplayPerformer * const this /* r31 */) {} // Range: 0x8011A42C -> 0x8011A4E0 void QuickplayPerformer::AdvanceSongSelectUser(class QuickplayPerformer * const this /* r31 */) { // Local variables class BandUser * u; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011A4E0 -> 0x8011A4E8 void QuickplayPerformer::SetSongSelectSync() {} // Range: 0x8011A4E8 -> 0x8011A538 void QuickplayPerformer::SyncSave(const class QuickplayPerformer * const this /* r31 */) {} // Range: 0x8011A538 -> 0x8011A580 void QuickplayPerformer::SyncLoad(class QuickplayPerformer * const this /* r31 */) {} // Range: 0x8011A580 -> 0x8011A5D8 unsigned char QuickplayPerformer::HasSyncPermission() { // Local variables class BandUser * u; // r0 } static class Symbol _s; // size: 0x4, address: 0x80A4B94C static class Symbol _s; // size: 0x4, address: 0x80A4B954 static class Symbol _s; // size: 0x4, address: 0x80A4B95C static class Symbol _s; // size: 0x4, address: 0x80A4B964 // Range: 0x8011A5D8 -> 0x8011ADC8 class DataNode QuickplayPerformer::Handle(class QuickplayPerformer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> class SyncStore * TheSyncStore; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class MetaPerformerHook * sScriptHook; // size: 0x4, address: 0x80A4B968 unsigned char sCheatFinale; // size: 0x1, address: 0x80A4B96C class Symbol is_tour; // size: 0x4, address: 0x80A4B970 class MetaPerformerHook : public Object { // total size: 0x2C class QuickplayPerformer * mQuickplayPerformer; // offset 0x28, size 0x4 }; // Range: 0x8011ADC8 -> 0x8011B2F4 class DataNode MetaPerformerHook::Handle(class MetaPerformerHook * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> class Symbol is_tour; // -> class Tour * TheTour; // -> unsigned char sActive; } // Range: 0x8011B2F4 -> 0x8011B3C8 void MetaPerformer::Init() { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__17MetaPerformerHook; // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class MetaPerformerHook * sScriptHook; } // Range: 0x8011B3C8 -> 0x8011B458 void * MetaPerformerHook::~MetaPerformerHook(class MetaPerformerHook * const this /* r30 */) { // References // -> struct [anonymous] __vt__17MetaPerformerHook; } // Range: 0x8011B5A0 -> 0x8011B668 void * MetaPerformer::MetaPerformer(class MetaPerformer * const this /* r29 */, const class SongMgr & sm /* r30 */, const char * uniqueTag /* r31 */) { // References // -> struct [anonymous] __vt__13MetaPerformer; } // Range: 0x8011B668 -> 0x8011B740 class MetaPerformer * MetaPerformer::Current() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> class Symbol is_tour; // -> class Tour * TheTour; // -> class MetaPerformerHook * sScriptHook; } // Range: 0x8011B740 -> 0x8011B7A4 unsigned char MetaPerformer::SongEndsWithEndgameSequence(const class MetaPerformer * const this /* r30 */) {} // Range: 0x8011B7A4 -> 0x8011B7BC int MetaPerformer::NumSongs() {} // Range: 0x8011B7BC -> 0x8011B7D4 int MetaPerformer::NumCompleted() {} static class Symbol any; // size: 0x4, address: 0x80A4B978 // Range: 0x8011B7D4 -> 0x8011B860 int MetaPerformer::NextAnyIndex(const class MetaPerformer * const this /* r31 */) { // Local variables int i; // r3 // References // -> static class Symbol any; } // Range: 0x8011B860 -> 0x8011B8FC void MetaPerformer::SetAnySong(class MetaPerformer * const this /* r29 */, class Symbol & song /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011B8FC -> 0x8011B9D4 class Symbol MetaPerformer::CompletedSong(const class MetaPerformer * const this /* r29 */) { // Local variables int idx; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011B9D4 -> 0x8011BA1C unsigned char MetaPerformer::SongInSet() {} // Range: 0x8011BA1C -> 0x8011BA34 unsigned char MetaPerformer::IsFirstSong() {} // Range: 0x8011BA34 -> 0x8011BAC0 unsigned char MetaPerformer::IsLastSong(const class MetaPerformer * const this /* r30 */) { // Local variables int num_complete; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011BAC0 -> 0x8011BB54 unsigned char MetaPerformer::IsSetComplete(const class MetaPerformer * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol any; // size: 0x4, address: 0x80A4B980 static class Symbol random; // size: 0x4, address: 0x80A4B988 static class Symbol guitar; // size: 0x4, address: 0x80A4B990 static class Symbol bass; // size: 0x4, address: 0x80A4B998 // Range: 0x8011BB54 -> 0x8011BD28 class Symbol MetaPerformer::RequiredSetPart(const class MetaPerformer * const this /* r30 */) { // Local variables const class Symbol * s; // r31 // References // -> const char * gNullStr; // -> static class Symbol bass; // -> static class Symbol guitar; // -> static class Symbol random; // -> static class Symbol any; } // Range: 0x8011BD28 -> 0x8011BD2C class Symbol MetaPerformer::RequiredPart() {} // Range: 0x8011BD2C -> 0x8011BD34 class BandUser * MetaPerformer::SongSelectUser() {} static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4B9A0 // Range: 0x8011BD34 -> 0x8011BE20 unsigned char MetaPerformer::CanUpdateScoreLeaderboards(class MetaPerformer * const this /* r31 */) { // References // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_saving_feature; // -> class GameMode * TheGameMode; } // Range: 0x8011BE20 -> 0x8011BE24 void MetaPerformer::Clear() {} // Range: 0x8011BE24 -> 0x8011BF04 void MetaPerformer::ResetSongs(class MetaPerformer * const this /* r30 */) {} // Range: 0x8011BF04 -> 0x8011C1A0 void MetaPerformer::CompleteSong(class MetaPerformer * const this /* r27 */, int num_stars /* r29 */, int score /* r30 */, unsigned char cheat /* r26 */) { // Local variables class Symbol song; // r1+0x20 class vector users; // r1+0x24 class Profile * pProfile; // r26 int n; // r26 class Profile * pProfile; // r27 // References // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011C1A0 -> 0x8011C2B0 void MetaPerformer::AdvanceSong(class MetaPerformer * const this /* r29 */, int num_stars /* r1+0x8 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011C2B0 -> 0x8011C2B4 void MetaPerformer::AdvanceSongSelectUser() {} // Range: 0x8011C2B4 -> 0x8011C2B8 void MetaPerformer::SetSongSelectSync() {} static class Symbol update_meta_performer; // size: 0x4, address: 0x80A4B9A8 // Range: 0x8011C2B8 -> 0x8011C3EC void MetaPerformer::OnSynchronized() { // Local variables class DataArrayPtr update; // r1+0x20 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol update_meta_performer; } // Range: 0x8011C3EC -> 0x8011C434 unsigned char MetaPerformer::IsCheatWinning() { // References // -> unsigned char sCheatFinale; } // Range: 0x8011C434 -> 0x8011C448 unsigned char MetaPerformer::CheatToggleFinale() { // References // -> unsigned char sCheatFinale; } static class Symbol _s; // size: 0x4, address: 0x80A4B9B0 static class Symbol _s; // size: 0x4, address: 0x80A4B9B8 static class Symbol _s; // size: 0x4, address: 0x80A4B9C0 static class Symbol _s; // size: 0x4, address: 0x80A4B9C8 static class Symbol _s; // size: 0x4, address: 0x80A4B9D0 static class Symbol _s; // size: 0x4, address: 0x80A4B9D8 static class Symbol _s; // size: 0x4, address: 0x80A4B9E0 static class Symbol _s; // size: 0x4, address: 0x80A4B9E8 static class Symbol _s; // size: 0x4, address: 0x80A4B9F0 static class Symbol _s; // size: 0x4, address: 0x80A4B9F8 static class Symbol _s; // size: 0x4, address: 0x80A4BA00 static class Symbol _s; // size: 0x4, address: 0x80A4BA08 static class Symbol _s; // size: 0x4, address: 0x80A4BA10 static class Symbol _s; // size: 0x4, address: 0x80A4BA18 static class Symbol _s; // size: 0x4, address: 0x80A4BA20 static class Symbol _s; // size: 0x4, address: 0x80A4BA28 static class Symbol _s; // size: 0x4, address: 0x80A4BA30 static class Symbol _s; // size: 0x4, address: 0x80A4BA38 static class Symbol _s; // size: 0x4, address: 0x80A4BA40 static class Symbol _s; // size: 0x4, address: 0x80A4BA48 static class Symbol _s; // size: 0x4, address: 0x80A4BA50 static class Symbol _s; // size: 0x4, address: 0x80A4BA58 static class Symbol _s; // size: 0x4, address: 0x80A4BA60 static class Symbol _s; // size: 0x4, address: 0x80A4BA68 static class Symbol _s; // size: 0x4, address: 0x80A4BA70 // Range: 0x8011C448 -> 0x8011CFB0 class DataNode MetaPerformer::Handle(class MetaPerformer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x30 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x54 } __vt__17MetaPerformerHook; // size: 0x54, address: 0x8088D5D8 struct { // total size: 0x8 } __RTTI__17MetaPerformerHook; // size: 0x8, address: 0x8088D658 struct { // total size: 0xEC } __vt__18QuickplayPerformer; // size: 0xEC, address: 0x8088D660 struct { // total size: 0xE8 } __vt__13MetaPerformer; // size: 0xE8, address: 0x8088D790 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Synchronizable * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Synchronizable * * _M_start; // offset 0x0, size 0x4 class Synchronizable * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SyncStore { // total size: 0xC class vector mSyncObjs; // offset 0x0, size 0xC }; /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011CFB0 -> 0x8011D18C */ // Range: 0x8011CFB0 -> 0x8011D054 void * QuickplayPerformer::QuickplayPerformer(class QuickplayPerformer * const this /* r29 */, const class SongMgr & sm /* r30 */) { // References // -> struct [anonymous] __vt__18QuickplayPerformer; } /* Compile unit: C:\rockband2\band2\src\meta\MetaPerformer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011D18C -> 0x8011D244 */ // Range: 0x8011D18C -> 0x8011D1D4 int MetaPerformer::PreviousSongSelection() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011D1D4 -> 0x8011D228 class Symbol MetaPerformer::RevertSongSelection() { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011D228 -> 0x8011D22C void MetaPerformer::OnFinalizeSetlist() {} // Range: 0x8011D22C -> 0x8011D244 int QuickplayPerformer::GetSongCount() {} /* Compile unit: C:\rockband2\band2\src\meta\Modifier.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011D294 -> 0x8011D7C4 */ class Modifier { // total size: 0x4 class DataArray * mData; // offset 0x0, size 0x4 }; // Range: 0x8011D294 -> 0x8011D2F8 void * Modifier::Modifier(class Modifier * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011D2F8 -> 0x8011D340 class Symbol Modifier::GetSymbol() { // Local variables class Symbol sym; // r1+0x10 } // Range: 0x8011D340 -> 0x8011D3B0 char * Modifier::GetName() { // Local variables const char * str; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011D3B0 -> 0x8011D444 char * Modifier::GetDescription() { // Local variables class Symbol sym; // r1+0x10 const char * str; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011D444 -> 0x8011D4D8 char * Modifier::GetHowToObtain() { // Local variables class Symbol sym; // r1+0x10 const char * str; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol hidden; // size: 0x4, address: 0x80A4BA7C // Range: 0x8011D4D8 -> 0x8011D57C unsigned char Modifier::IsHidden(const class Modifier * const this /* r31 */) { // Local variables unsigned char bFound; // r31 // References // -> static class Symbol hidden; } static class Symbol unlocked; // size: 0x4, address: 0x80A4BA84 // Range: 0x8011D57C -> 0x8011D620 unsigned char Modifier::AlwaysUnlocked(const class Modifier * const this /* r31 */) { // Local variables unsigned char bFound; // r31 // References // -> static class Symbol unlocked; } // Range: 0x8011D620 -> 0x8011D68C class DataArray * Modifier::GetDisabledFeatures(const class Modifier * const this /* r31 */) { // Local variables class DataArray * disabled; // r31 } // Range: 0x8011D68C -> 0x8011D728 void Modifier::ExecuteActivateScript(const class Modifier * const this /* r31 */) { // Local variables class DataArray * script; // r4 } // Range: 0x8011D728 -> 0x8011D7C4 void Modifier::ExecuteDeactivateScript(const class Modifier * const this /* r31 */) { // Local variables class DataArray * script; // r4 } /* Compile unit: C:\rockband2\band2\src\meta\ModifierMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011D7C4 -> 0x8011FC68 */ class ModifierMgr * TheModifierMgr; // size: 0x4, address: 0x80A4BA88 static class Symbol modifiers; // size: 0x4, address: 0x80A4BA90 static class Symbol features; // size: 0x4, address: 0x80A4BA98 // Range: 0x8011D7C4 -> 0x8011DC00 void * ModifierMgr::ModifierMgr(class ModifierMgr * const this /* r30 */) { // Local variables class DataArray * root; // r29 class DataArray * featuresArray; // r28 int i; // r27 class Symbol feature; // r1+0x3C class DataArray * allModifiersArray; // r27 int i; // r28 class Modifier * pModifier; // r1+0x38 const class DataArray * features; // r29 int featureIndex; // r26 class Symbol feature; // r1+0x34 // References // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol features; // -> static class Symbol modifiers; // -> struct [anonymous] __vt__11ModifierMgr; } struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 int second; // offset 0x4, size 0x4 }; // Range: 0x8011DC00 -> 0x8011DDBC void * ModifierMgr::~ModifierMgr(class ModifierMgr * const this /* r30 */) { // Local variables class Modifier * * iter; // r29 class Modifier * pModifier; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__11ModifierMgr; } // Range: 0x8011DDBC -> 0x8011DE44 class Symbol ModifierMgr::DataSymbol(const class ModifierMgr * const this /* r31 */) { // Local variables class Modifier * pModifier; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x8011DE44 -> 0x8011DE60 int ModifierMgr::NumData() {} static class Symbol entermodifier; // size: 0x4, address: 0x80A4BAA0 static class Symbol name; // size: 0x4, address: 0x80A4BAA8 static class Symbol description; // size: 0x4, address: 0x80A4BAB0 static class Symbol active; // size: 0x4, address: 0x80A4BAB8 static class Symbol locked; // size: 0x4, address: 0x80A4BAC0 static class Symbol modifier_locked_name; // size: 0x4, address: 0x80A4BAC8 static class Symbol modifier_enter_entry_name; // size: 0x4, address: 0x80A4BAD0 // Range: 0x8011DE60 -> 0x8011E150 char * ModifierMgr::Text(const class ModifierMgr * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables class Modifier * pModifier; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol modifier_enter_entry_name; // -> static class Symbol modifier_locked_name; // -> static class Symbol locked; // -> static class Symbol active; // -> static class Symbol description; // -> static class Symbol name; // -> static class Symbol entermodifier; } static class Symbol check_bg; // size: 0x4, address: 0x80A4BAD8 // Range: 0x8011E150 -> 0x8011E238 class RndMat * ModifierMgr::Mat(const class ModifierMgr * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol check_bg; } // Range: 0x8011E238 -> 0x8011E2EC unsigned char ModifierMgr::IsHidden(const class ModifierMgr * const this /* r30 */) { // Local variables class Modifier * pModifier; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011E2EC -> 0x8011E41C void ModifierMgr::InitData(class ModifierMgr * const this /* r27 */, class RndDir * dir /* r28 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011E41C -> 0x8011E4B4 void ModifierMgr::UnlockModifier(class Symbol & modifier /* r30 */) { // Local variables class BandUser * pUser; // r0 class Profile * data; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8011E4B4 -> 0x8011E63C unsigned char ModifierMgr::IsModifierUnlocked(const class ModifierMgr * const this /* r28 */, class Symbol & modifier /* r29 */) { // Local variables class vector profiles; // r1+0x1C class Profile * const * iter; // r31 class Profile * data; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; // -> unsigned char sUnlockAll; } // Range: 0x8011E63C -> 0x8011E66C unsigned char ModifierMgr::IsModifierAlwaysUnlocked() { // Local variables const class Modifier * pModifier; // r0 } // Range: 0x8011E66C -> 0x8011E748 void ModifierMgr::ActivateModifier(class ModifierMgr * const this /* r30 */, class Symbol & modifier /* r31 */) { // Local variables const class Modifier * pModifier; // r31 const class DataArray * disabledFeatures; // r4 // References // -> class Debug TheDebug; } // Range: 0x8011E748 -> 0x8011E86C void ModifierMgr::DeactivateModifier(class ModifierMgr * const this /* r30 */, class Symbol & modifier /* r31 */) { // Local variables const class Modifier * pModifier; // r31 const class DataArray * disabledFeatures; // r4 } // Range: 0x8011E86C -> 0x8011E8E4 void ModifierMgr::ToggleModifierActive(class ModifierMgr * const this /* r30 */, class Symbol & modifier /* r31 */) {} // Range: 0x8011E8E4 -> 0x8011E968 unsigned char ModifierMgr::IsModifierActive() {} struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8011E968 -> 0x8011EA64 unsigned char ModifierMgr::IsFeatureEnabled(const class ModifierMgr * const this /* r30 */, class Symbol & feature /* r31 */) { // Local variables struct _Rb_tree_iterator iter; // r1+0x20 // References // -> class Debug TheDebug; } // Range: 0x8011EA64 -> 0x8011EAA0 unsigned char ModifierMgr::DoesDisableFeatures() { // Local variables const class Modifier * pModifier; // r0 } // Range: 0x8011EAA0 -> 0x8011EAD0 class DataArray * ModifierMgr::GetDisabledFeatures() { // Local variables const class Modifier * pModifier; // r0 } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8011EAD0 -> 0x8011EB7C class Modifier * ModifierMgr::GetModifier(const class ModifierMgr * const this /* r28 */, class Symbol & modifier /* r29 */) { // Local variables class Modifier * const * iter; // r31 const class Modifier * pModifier; // r30 // References // -> class Debug TheDebug; } // Range: 0x8011EB7C -> 0x8011EC30 int ModifierMgr::UIListIndexToModifierIndex(const class ModifierMgr * const this /* r29 */, int uiindex /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011EC30 -> 0x8011ECB4 unsigned char ModifierMgr::KnownFeature() {} struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8011ECB4 -> 0x8011EE24 void ModifierMgr::AddDisabledFeatures(class ModifierMgr * const this /* r29 */, const class DataArray * pFeatures /* r30 */) { // Local variables int i; // r31 class Symbol feature; // r1+0x24 struct _Rb_tree_iterator entry; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8011EE24 -> 0x8011EFAC void ModifierMgr::RemoveDisabledFeatures(class ModifierMgr * const this /* r29 */, const class DataArray * pFeatures /* r30 */) { // Local variables int i; // r31 class Symbol feature; // r1+0x24 struct _Rb_tree_iterator entry; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol modifier_online_feature; // size: 0x4, address: 0x80A4BAE0 static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4BAE8 // Range: 0x8011EFAC -> 0x8011F054 void ModifierMgr::OnFeatureDisabled(class Symbol & feature /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; // -> class RockCentralGateway RockCentral; // -> static class Symbol modifier_saving_feature; // -> static class Symbol modifier_online_feature; } static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4BAF0 // Range: 0x8011F054 -> 0x8011F0BC void ModifierMgr::OnFeatureEnabled(class Symbol & feature /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; // -> static class Symbol modifier_saving_feature; } static class Symbol _s; // size: 0x4, address: 0x80A4BAF8 static class Symbol _s; // size: 0x4, address: 0x80A4BB00 static class Symbol _s; // size: 0x4, address: 0x80A4BB08 static class Symbol _s; // size: 0x4, address: 0x80A4BB10 static class Symbol _s; // size: 0x4, address: 0x80A4BB18 static class Symbol _s; // size: 0x4, address: 0x80A4BB20 static class Symbol _s; // size: 0x4, address: 0x80A4BB28 static class Symbol _s; // size: 0x4, address: 0x80A4BB30 static class Symbol _s; // size: 0x4, address: 0x80A4BB38 // Range: 0x8011F0BC -> 0x8011FC68 class DataNode ModifierMgr::Handle(class ModifierMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x8C class MessageTimer _mt; // r1+0x98 class DataNode _n; // r1+0x90 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xB0 } __vt__11ModifierMgr; // size: 0xB0, address: 0x8088DE58 struct { // total size: 0x8 } __RTTI__11ModifierMgr; // size: 0x8, address: 0x8088DF30 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PP8Modifier; // size: 0x8, address: 0x8088DF98 struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_Rb_tree_node<6Symbol>; // size: 0x8, address: 0x8088DFE0 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std48_Rb_tree_node>; // size: 0x8, address: 0x8088E030 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011FC68 -> 0x8011FCD8 */ // Range: 0x8011FC68 -> 0x8011FCD8 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r30 */, class Symbol & t2 /* r31 */) { // Local variables class FormatString f; // r1+0x10 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8011FD10 -> 0x801207B8 */ // Range: 0x8011FD10 -> 0x8011FD80 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x8011FD80 -> 0x8011FEAC struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x8011FEAC -> 0x8011FF1C void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x8011FF1C -> 0x80120048 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const class Symbol & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x80120048 -> 0x8012043C struct _Rb_tree_node_base * _Rb_global::_Rebalance_for_erase(struct _Rb_tree_node_base * & __root /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 struct _Rb_tree_node_base * __x; // r30 struct _Rb_tree_node_base * __x_parent; // r29 struct _Rb_tree_node_base * __w; // r3 struct _Rb_tree_node_base * __w; // r3 } // Range: 0x8012043C -> 0x80120468 void _Vector_base::_M_throw_length_error() {} // Range: 0x80120468 -> 0x8012061C struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std48_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8012061C -> 0x801207B8 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r30 */, struct _Rb_tree_node_base * __parent /* r31 */, const class Symbol & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_Rb_tree_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801207B8 -> 0x80120A38 */ // Range: 0x801207B8 -> 0x801208F0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Modifier * * __pos /* r28 */, class Modifier * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Modifier * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8Modifier; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801208F0 -> 0x80120A38 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class Modifier * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8Modifier; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80120A38 -> 0x80120A50 */ // Range: 0x80120A38 -> 0x80120A50 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\meta\MoviePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80120A50 -> 0x80120F54 */ class DataArray * types; // size: 0x4, address: 0x80A4BB40 // Range: 0x80120A50 -> 0x80120A54 unsigned char MoviePanel::IsLoaded() {} // Range: 0x80120A54 -> 0x80120A94 void MoviePanel::Enter(class MoviePanel * const this /* r31 */) {} // Range: 0x80120A94 -> 0x80120AD4 void MoviePanel::Exit(class MoviePanel * const this /* r31 */) {} // Range: 0x80120AD4 -> 0x80120B14 void MoviePanel::Unload(class MoviePanel * const this /* r31 */) {} static class Message movie_done; // size: 0x8, address: 0x80978FF0 // Range: 0x80120B14 -> 0x80120D0C void MoviePanel::Poll(class MoviePanel * const this /* r31 */) { // Local variables class DataNode ret; // r1+0x20 // References // -> static class Message movie_done; // -> struct [anonymous] __vt__7Message; // -> class UIManager TheUI; } // Range: 0x80120D0C -> 0x80120D38 void MoviePanel::Draw() {} // Range: 0x80120D38 -> 0x80120F54 void MoviePanel::ChooseMovie(class MoviePanel * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std15_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std15_List_node; // size: 0x8, address: 0x8088E120 struct { // total size: 0xAC } __vt__10MoviePanel; // size: 0xAC, address: 0x8088E150 struct { // total size: 0x8 } __RTTI__10MoviePanel; // size: 0x8, address: 0x8088E228 struct { // total size: 0x8 } __RTTI__PPCc; // size: 0x8, address: 0x8088E298 /* Compile unit: C:\rockband2\band2\src\meta\MoviePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80120F54 -> 0x801213C0 */ // Range: 0x80120F54 -> 0x8012101C void MoviePanel::SetTypeDef(class MoviePanel * const this /* r29 */, class DataArray * t /* r30 */) {} // Range: 0x8012101C -> 0x801211E8 void MoviePanel::Load(class MoviePanel * const this /* r27 */) { // Local variables class DataArray * videos; // r29 class DataArray * files; // r31 int i; // r28 } // Range: 0x801211E8 -> 0x8012122C class Symbol MoviePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8012122C -> 0x801213C0 void MoviePanel::SetType(class MoviePanel * const this /* r29 */, class Symbol & MoviePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801213C0 -> 0x80121418 */ // Range: 0x801213C0 -> 0x80121418 struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801214FC -> 0x8012155C */ // Range: 0x801214FC -> 0x8012155C void MoviePanel::PlayMovie(class MoviePanel * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012155C -> 0x80121694 */ // Range: 0x8012155C -> 0x80121694 void vector::_M_insert_overflow(class vector * const this /* r27 */, const char * * __pos /* r28 */, const char * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 const char * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPCc; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\MultiFocusScreen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80121720 -> 0x80124F00 */ class DataArray * types; // size: 0x4, address: 0x80A4BB48 static class Message ready; // size: 0x8, address: 0x80979008 // Range: 0x80121720 -> 0x801219A4 unsigned char MultiFocusScreen::AllReady(class MultiFocusScreen * const this /* r31 */) { // Local variables class PanelDir * * it; // r28 class DataNode n; // r1+0x28 // References // -> const char * gNullStr; // -> static class Message ready; // -> struct [anonymous] __vt__7Message; } // Range: 0x801219A4 -> 0x80121A0C void MultiFocusScreen::SetTypeDef(class MultiFocusScreen * const this /* r30 */, class DataArray * data /* r31 */) {} static class Message enter; // size: 0x8, address: 0x80979020 // Range: 0x80121A0C -> 0x80121F80 void MultiFocusScreen::Enter(class MultiFocusScreen * const this /* r24 */, class UIScreen * from /* r25 */) { // Local variables class DataArray * pp; // r29 class UIPanel * main; // r0 class DataArray * panel_dir_type; // r28 class DataArray * slots; // r29 int numSlots; // r27 int i; // r26 const char * dir_name; // r21 class PanelDir * p; // r1+0x48 // References // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> struct [anonymous] __RTTI__8PanelDir; // -> const char * kAssertStr; // -> static class Message enter; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; } static class Message exit; // size: 0x8, address: 0x80979038 // Range: 0x80121F80 -> 0x801220C0 void MultiFocusScreen::Exit(class MultiFocusScreen * const this /* r30 */, class UIScreen * to /* r31 */) { // References // -> static class Message exit; // -> struct [anonymous] __vt__7Message; // -> class NetSession * TheNetSession; // -> const char * gNullStr; } // Range: 0x801220C0 -> 0x80122134 void MultiFocusScreen::UnloadPanels(class MultiFocusScreen * const this /* r30 */) {} static class Message poll; // size: 0x8, address: 0x80979050 // Range: 0x80122134 -> 0x80122244 void MultiFocusScreen::Poll(class MultiFocusScreen * const this /* r31 */) { // References // -> static class Message poll; // -> struct [anonymous] __vt__7Message; } // Range: 0x80122244 -> 0x801222DC class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r29 */, const class ButtonDownMsg & msg /* r30 */) { // References // -> class BandUI * TheBandUI; } // Range: 0x801222DC -> 0x80122374 class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r29 */, const class UIComponentScrollMsg & msg /* r30 */) { // References // -> class BandUI * TheBandUI; } // Range: 0x80122374 -> 0x8012240C class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r29 */, const class UIComponentSelectMsg & msg /* r30 */) { // References // -> class BandUI * TheBandUI; } // Range: 0x8012240C -> 0x801224A4 class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r29 */, const class UIComponentSelectDoneMsg & msg /* r30 */) { // References // -> class BandUI * TheBandUI; } // Range: 0x801224A4 -> 0x8012256C class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r29 */, const class UIComponentFocusChangeMsg & msg /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8PanelDir; // -> class BandUI * TheBandUI; } // Range: 0x8012256C -> 0x801226AC class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r29 */, const class NetComponentFocusMsg & msg /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message playerNum; // size: 0x8, address: 0x80979068 // Range: 0x801226AC -> 0x80122914 class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r28 */, const class NetComponentSelectMsg & msg /* r29 */) { // Local variables class PanelDir * * it; // r30 class UIComponent * c; // r0 // References // -> static class Message playerNum; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } static class Message playerNum; // size: 0x8, address: 0x80979080 // Range: 0x80122914 -> 0x80122C34 class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r28 */, const class NetComponentScrollMsg & msg /* r29 */) { // Local variables class User * u; // r0 class PanelDir * * it; // r30 class UIComponent * c; // r26 class UIList * list; // r31 class UISlider * slider; // r28 // References // -> struct [anonymous] __RTTI__8UISlider; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; // -> static class Message playerNum; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } static class Symbol update; // size: 0x4, address: 0x80A4BB54 static class Message updateMsg; // size: 0x8, address: 0x80979098 // Range: 0x80122C34 -> 0x80122DB8 class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r31 */) { // References // -> static class Message updateMsg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol update; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol update; // size: 0x4, address: 0x80A4BB5C static class Message updateMsg; // size: 0x8, address: 0x809790B0 // Range: 0x80122DB8 -> 0x80122F3C class DataNode MultiFocusScreen::OnMsg(class MultiFocusScreen * const this /* r31 */) { // References // -> static class Message updateMsg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol update; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80122F3C -> 0x80122FDC class DataNode MultiFocusScreen::OnUpdate(class MultiFocusScreen * const this /* r31 */) { // Local variables const class DataNode & n; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8PanelDir; } static class Message playerNum; // size: 0x8, address: 0x809790C8 // Range: 0x80122FDC -> 0x801231CC class DataNode MultiFocusScreen::Update(class MultiFocusScreen * const this /* r28 */, int player_num /* r29 */) { // Local variables class PanelDir * p; // r31 class PanelDir * * it; // r30 // References // -> static class Message playerNum; // -> struct [anonymous] __vt__7Message; } static class Message current_option; // size: 0x8, address: 0x809790E0 static class Message init; // size: 0x8, address: 0x809790F8 static class Message update; // size: 0x8, address: 0x80979110 // Range: 0x801231CC -> 0x801235F8 class DataNode MultiFocusScreen::Update(class MultiFocusScreen * const this /* r28 */, class PanelDir * p /* r29 */) { // Local variables class Symbol newOpt; // r1+0x3C // References // -> static class Message update; // -> const char * gNullStr; // -> static class Message init; // -> static class Message current_option; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801235F8 -> 0x80123798 class DataNode MultiFocusScreen::OnExportAll(class MultiFocusScreen * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables class DataNode & n; // r0 // References // -> struct [anonymous] __vt__7Message; } static class Symbol update; // size: 0x4, address: 0x80A4BB68 // Range: 0x80123798 -> 0x801238DC void MultiFocusScreen::ExportAll(class MultiFocusScreen * const this /* r29 */, const class Message & msg /* r30 */) { // Local variables class PanelDir * * it; // r31 // References // -> const char * gNullStr; // -> static class Symbol update; } static class Message playerNum; // size: 0x8, address: 0x80979128 static class Message playerNum; // size: 0x8, address: 0x80979140 static class Message msg; // size: 0x8, address: 0x80979158 // Range: 0x801238DC -> 0x80123F6C class DataNode MultiFocusScreen::ExportButtonDown(class MultiFocusScreen * const this /* r25 */, const class Message & msg /* r26 */, int player /* r27 */) { // Local variables class DataNode result; // r1+0x70 class PanelDir * pPanelDir; // r29 class PanelDir * * it; // r28 class PanelDir * * it; // r28 class DataNode n; // r1+0x68 class UIComponent * c; // r0 // References // -> const char * gNullStr; // -> static class Message msg; // -> static class Message playerNum; // -> static class Message playerNum; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UIManager TheUI; } // Range: 0x80123F6C -> 0x80124048 class DataNode MultiFocusScreen::ExportToPlayer(class MultiFocusScreen * const this /* r28 */, const class Message & msg /* r29 */, int player /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UIManager TheUI; } static class Message playerNum; // size: 0x8, address: 0x80979170 // Range: 0x80124048 -> 0x8012426C class DataNode MultiFocusScreen::DoExportToPlayer(class DataNode * result /* r26 */, class MultiFocusScreen * const this /* r27 */, const class Message & msg /* r28 */, int player /* r29 */) { // Local variables class PanelDir * pPanelDir; // r31 class PanelDir * * it; // r30 // References // -> const char * gNullStr; // -> static class Message playerNum; // -> struct [anonymous] __vt__7Message; } // Range: 0x8012426C -> 0x80124490 class DataNode MultiFocusScreen::OptionHandle(class DataNode * ret /* r29 */, class MultiFocusScreen * const this /* r26 */, class PanelDir * p /* r30 */, const class Message & msg /* r31 */, class Symbol & opt /* r27 */) { // Local variables class DataArray * h; // r4 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80124490 -> 0x80124638 class DataNode MultiFocusScreen::OnShowChar(class MultiFocusScreen * const this /* r28 */, class DataArray * a /* r29 */) { // References // -> struct [anonymous] __vt__7Message; // -> class GameConfig * TheGameConfig; } static class Symbol _s; // size: 0x4, address: 0x80A4BB74 static class Symbol _s; // size: 0x4, address: 0x80A4BB7C static class Symbol _s; // size: 0x4, address: 0x80A4BB84 static class Symbol _s; // size: 0x4, address: 0x80A4BB8C // Range: 0x80124638 -> 0x80124F00 class DataNode MultiFocusScreen::Handle(class MultiFocusScreen * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x100 class DataNode r; // r1+0xF8 class DataNode r; // r1+0xF0 class DataNode r; // r1+0xE8 class DataNode r; // r1+0xE0 class DataNode r; // r1+0xD8 class DataNode r; // r1+0xD0 class DataNode r; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode _n; // r1+0x90 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x80 } __vt__16MultiFocusScreen; // size: 0x80, address: 0x8088E9D0 struct { // total size: 0x8 } __RTTI__16MultiFocusScreen; // size: 0x8, address: 0x8088EA88 struct { // total size: 0x8 } __RTTI__PP8PanelDir; // size: 0x8, address: 0x8088EB98 /* Compile unit: C:\rockband2\band2\src\meta\MultiFocusScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80124F00 -> 0x80125178 */ // Range: 0x80124F00 -> 0x80124FB4 void * MultiFocusScreen::~MultiFocusScreen(class MultiFocusScreen * const this /* r30 */) {} // Range: 0x80124FB4 -> 0x80125134 void MultiFocusScreen::SetType(class MultiFocusScreen * const this /* r29 */, class Symbol & MultiFocusScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80125134 -> 0x80125178 class Symbol MultiFocusScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80125178 -> 0x801252B0 */ // Range: 0x80125178 -> 0x801252B0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PanelDir * * __pos /* r28 */, class PanelDir * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PanelDir * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8PanelDir; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\MultiSelectListPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801252B0 -> 0x801260C0 */ class DataArray * types; // size: 0x4, address: 0x80A4BB90 // Range: 0x801252B0 -> 0x80125358 void * MultiSelectListPanel::MultiSelectListPanel(class MultiSelectListPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__20MultiSelectListPanel; } // Range: 0x80125358 -> 0x80125390 void MultiSelectListPanel::Unload(class MultiSelectListPanel * const this /* r31 */) {} // Range: 0x80125390 -> 0x801254CC void MultiSelectListPanel::ResetSelectRect(class MultiSelectListPanel * const this /* r30 */, float height /* f31 */) { // Local variables float bottomZ; // f31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801254CC -> 0x801255F4 class DataNode MultiSelectListPanel::OnMsg(class MultiSelectListPanel * const this /* r31 */) { // Local variables class Vector3 v; // r1+0x10 } // Range: 0x801255F4 -> 0x80125788 class DataNode MultiSelectListPanel::OnMsg(class MultiSelectListPanel * const this /* r31 */) { // Local variables class Vector3 v; // r1+0x10 } // Range: 0x80125788 -> 0x8012579C class DataNode MultiSelectListPanel::OnMsg() {} // Range: 0x8012579C -> 0x80125818 void MultiSelectListPanel::UnChoose(class MultiSelectListPanel * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4BB98 // Range: 0x80125818 -> 0x801260C0 class DataNode MultiSelectListPanel::Handle(class MultiSelectListPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__20MultiSelectListPanel; // size: 0xAC, address: 0x8088ED24 struct { // total size: 0x8 } __RTTI__20MultiSelectListPanel; // size: 0x8, address: 0x8088EE08 /* Compile unit: C:\rockband2\system\src\ui\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801260C0 -> 0x80126310 */ // Range: 0x801260C0 -> 0x80126310 void MultiSelectListPanel::FinishLoad(class MultiSelectListPanel * const this /* r28 */) { // Local variables class Transform t; // r1+0x10 // References // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } /* Compile unit: C:\rockband2\band2\src\meta\MultiSelectListPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80126424 -> 0x801265FC */ // Range: 0x80126424 -> 0x80126468 class Symbol MultiSelectListPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80126468 -> 0x801265FC void MultiSelectListPanel::SetType(class MultiSelectListPanel * const this /* r29 */, class Symbol & MultiSelectListPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\NetSync.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801265FC -> 0x8012AC54 */ class NetPushScreenMsg : public StartTransitionMsg { // total size: 0x10 }; class NetPopScreenMsg : public StartTransitionMsg { // total size: 0x10 }; class NetResetScreenMsg : public StartTransitionMsg { // total size: 0x10 }; class NetForceResetScreenMsg : public StartTransitionMsg { // total size: 0x10 }; class NetSync * TheNetSync; // size: 0x4, address: 0x80A4BBA0 // Range: 0x801265FC -> 0x80126840 static void RegisterNetMessages() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80126840 -> 0x801268D0 void NetSync::Init() { // References // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSync * TheNetSync; } // Range: 0x801268D0 -> 0x80126950 void NetSync::Terminate() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSync * TheNetSync; } static class Symbol session_disabled; // size: 0x4, address: 0x80A4BBA8 static class Symbol session_busy; // size: 0x4, address: 0x80A4BBB0 // Range: 0x80126950 -> 0x80126AA0 void * NetSync::NetSync(class NetSync * const this /* r31 */) { // Local variables int i; // r5 // References // -> static class Symbol session_busy; // -> class Net TheNet; // -> const char * gNullStr; // -> static class Symbol session_disabled; // -> struct [anonymous] __vt__7NetSync; } // Range: 0x80126AA0 -> 0x80126B54 void * NetSync::~NetSync(class NetSync * const this /* r30 */) { // References // -> class Net TheNet; // -> const char * gNullStr; // -> struct [anonymous] __vt__7NetSync; } // Range: 0x80126B54 -> 0x80126B5C unsigned char NetSync::IsForcedTransitionActive() {} // Range: 0x80126B5C -> 0x80126B94 unsigned char NetSync::IsBlockingTransition() { // Local variables int i; // r5 } static class Message msg; // size: 0x8, address: 0x80979188 static class Message msg; // size: 0x8, address: 0x809791A0 class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class UIPanel * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80126B94 -> 0x80127498 unsigned char NetSync::IsBlockingEvent(class Symbol & event /* r30 */) { // Local variables class DataNode ret; // r1+0x80 class ObjDirItr p; // r1+0x88 class DataNode ret; // r1+0x78 // References // -> static class Message msg; // -> class UIManager TheUI; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; } // Range: 0x80127498 -> 0x801274C8 unsigned char NetSync::IsEnabled() {} // Range: 0x801274C8 -> 0x80127594 enum NetUIState NetSync::GetUIState() { // Local variables class vector & users; // r0 class BandUser * * it; // r28 class BandUser * pUser; // r27 // References // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80127594 -> 0x80127664 unsigned char NetSync::AllUsersReady() { // Local variables class vector & users; // r0 class BandUser * * it; // r30 class BandUser * pUser; // r29 enum NetUIState state; // r0 // References // -> class NetSession * TheNetSession; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80127664 -> 0x80127678 unsigned char NetSync::HasDestinationScreen() {} // Range: 0x80127678 -> 0x801277CC void NetSync::Poll(class NetSync * const this /* r27 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r28 class BandUser * pUser; // r29 // References // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> class UIManager TheUI; } static class Symbol max_block_mode; // size: 0x4, address: 0x80A4BBB8 // Range: 0x801277CC -> 0x80127A14 unsigned char NetSync::AttemptTransition(class NetSync * const this /* r31 */, class UIScreen * destination /* r26 */, int destination_depth /* r27 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> class RockCentralGateway RockCentral; // -> class BandUI * TheBandUI; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol max_block_mode; } // Range: 0x80127A14 -> 0x80127A1C void NetSync::Enable() {} // Range: 0x80127A1C -> 0x80127A24 void NetSync::Disable() {} // Range: 0x80127A24 -> 0x80127AF8 void NetSync::SetUIState(enum NetUIState s /* r26 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r28 class BandUser * pUser; // r27 // References // -> class InputMgr * TheInputMgr; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80127AF8 -> 0x80127B90 void NetSync::SetWaiting(class NetSync * const this /* r29 */, int player /* r30 */, enum WaitType w /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80127B90 -> 0x80127C4C void NetSync::SendNetFocus(class NetSync * const this /* r29 */, int player /* r30 */, class UIComponent * c /* r31 */) { // Local variables class ComponentFocusNetMsg msg; // r1+0x8 // References // -> class Net TheNet; // -> class NetSession * TheNetSession; } // Range: 0x80127C4C -> 0x80127D94 void NetSync::StartNetWaiting(class NetSync * const this /* r26 */, enum WaitType w /* r27 */, unsigned char waitForAll /* r28 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r29 class BandUser * pUser; // r25 // References // -> class Net TheNet; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80127D94 -> 0x8012808C void NetSync::SendNetTransitionComplete(class NetSync * const this /* r27 */) { // Local variables class vector localPlayers; // r1+0x50 class vector & users; // r0 class BandUser * * it; // r28 class BandUser * pUser; // r29 int i; // r1+0x2C int leaderNum; // r31 class AllTransitionCompleteMsg msg; // r1+0x28 class LocalTransitionCompleteMsg msg; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__24AllTransitionCompleteMsg; // -> class SessionMgr * TheSessionMgr; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x801280CC -> 0x80128124 void NetSync::CheckNetAllComplete() { // Local variables class AllTransitionCompleteMsg msg; // r1+0x8 // References // -> class UIManager TheUI; // -> class Net TheNet; // -> struct [anonymous] __vt__24AllTransitionCompleteMsg; } // Range: 0x80128124 -> 0x801281C8 void NetSync::SyncScreen(class NetSync * const this /* r29 */, class DataArray * a /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; } // Range: 0x801281C8 -> 0x80128238 void NetSync::ForceResetScreen(class DataArray * a /* r31 */) { // References // -> class UIManager TheUI; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; } // Range: 0x80128238 -> 0x801282B8 unsigned char NetSync::DisableAndGoto(class NetSync * const this /* r30 */, class UIScreen * destination /* r31 */) { // Local variables int i; // r6 } static class Symbol sync_screen; // size: 0x4, address: 0x80A4BBC0 static class Symbol force_reset_screen; // size: 0x4, address: 0x80A4BBC8 static class Symbol ui; // size: 0x4, address: 0x80A4BBD0 static class Symbol goto_screen; // size: 0x4, address: 0x80A4BBD8 static class Symbol push_screen; // size: 0x4, address: 0x80A4BBE0 static class Symbol pop_screen; // size: 0x4, address: 0x80A4BBE8 static class Symbol reset_screen; // size: 0x4, address: 0x80A4BBF0 static class Symbol force_reset_screen; // size: 0x4, address: 0x80A4BBF8 // Range: 0x801282B8 -> 0x80128A88 class DataNode NetSync::OnTransition(class NetSync * const this /* r27 */, class DataArray * msg /* r28 */) { // Local variables unsigned char blocking_event; // r0 class Symbol type; // r1+0x18 const class DataNode & n; // r0 int leader; // r25 enum WaitType t; // r29 unsigned char force; // r31 unsigned char back; // r24 class NetGotoScreenMsg gotoScreen; // r1+0x7C class NetPushScreenMsg pushScreen; // r1+0x58 class UIScreen * screen; // r24 class NetPopScreenMsg popScreen; // r1+0x48 class NetResetScreenMsg resetScreen; // r1+0x38 class NetForceResetScreenMsg forceScreen; // r1+0x28 class NetSyncScreenMsg syncScreen; // r1+0x68 // References // -> struct [anonymous] __vt__22NetForceResetScreenMsg; // -> struct [anonymous] __vt__17NetResetScreenMsg; // -> struct [anonymous] __vt__15NetPopScreenMsg; // -> struct [anonymous] __vt__16NetPushScreenMsg; // -> static class Symbol force_reset_screen; // -> static class Symbol reset_screen; // -> static class Symbol pop_screen; // -> static class Symbol push_screen; // -> static class Symbol goto_screen; // -> static class Symbol ui; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; // -> class SessionMgr * TheSessionMgr; // -> static class Symbol force_reset_screen; // -> static class Symbol sync_screen; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class BandUI * TheBandUI; } // Range: 0x80128A88 -> 0x80128AD0 void NetSync::SendTransitionMsg(class NetTransitionMsg & msg /* r31 */) { // References // -> class Net TheNet; // -> class SyncStore * TheSyncStore; } // Range: 0x80128AD0 -> 0x80128BF0 class DataNode NetSync::OnMsg(class NetSync * const this /* r27 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r28 class BandUser * pUser; // r29 // References // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80128BF0 -> 0x80128D38 class DataNode NetSync::OnMsg(class NetSync * const this /* r28 */, const class UIComponentFocusChangeMsg & msg /* r29 */) { // Local variables class MultiFocusScreen * screen; // r0 int leaderNum; // r30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class Net TheNet; // -> class SessionMgr * TheSessionMgr; // -> struct [anonymous] __RTTI__8UIScreen; // -> struct [anonymous] __RTTI__16MultiFocusScreen; // -> class UIManager TheUI; // -> class BandUI * TheBandUI; } // Range: 0x80128D38 -> 0x80128ED0 class DataNode NetSync::OnMsg(class NetSync * const this /* r26 */, const class UIComponentSelectMsg & msg /* r25 */) { // Local variables class ComponentSelectNetMsg selectMsg; // r1+0x10 // References // -> class Net TheNet; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class UIManager TheUI; // -> class BandUI * TheBandUI; } static class Message msg; // size: 0x8, address: 0x809791B8 // Range: 0x80128ED0 -> 0x801291EC class DataNode NetSync::OnMsg(const class UIComponentScrollMsg & msg /* r31 */) { // Local variables class DataNode n; // r1+0x20 class ComponentScrollNetMsg remoteScroll; // r1+0x28 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class Net TheNet; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class UIManager TheUI; } // Range: 0x801291EC -> 0x80129320 class DataNode NetSync::OnMsg(class NetSync * const this /* r28 */) { // Local variables class vector players; // r1+0xC int n; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80129320 -> 0x801293EC class DataNode NetSync::OnMsg(class NetSync * const this /* r31 */) { // Local variables int leaderNum; // r4 int i; // r5 // References // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; // -> class SessionMgr * TheSessionMgr; } // Range: 0x801293EC -> 0x80129724 void NetSync::HandleNetTransitionMsg(class NetSync * const this /* r31 */, class NetTransitionMsg * msg /* r25 */) { // Local variables int byteCode; // r26 class StartTransitionMsg * transitionMsg; // r26 int leader; // r4 enum WaitType t; // r26 // References // -> class Net TheNet; // -> class BandUserMgr * TheBandUserMgr; // -> class SessionMgr * TheSessionMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__18StartTransitionMsg; // -> struct [anonymous] __RTTI__24AllTransitionCompleteMsg; // -> struct [anonymous] __RTTI__16NetTransitionMsg; // -> struct [anonymous] __RTTI__26LocalTransitionCompleteMsg; // -> class NetMessageFactory TheNetMessageFactory; } static class Symbol reset_screen; // size: 0x4, address: 0x80A4BC00 static class Message resetScreen; // size: 0x8, address: 0x809791D0 static class Symbol sync_screen; // size: 0x4, address: 0x80A4BC08 static class Message syncScreen; // size: 0x8, address: 0x809791E8 // Range: 0x80129724 -> 0x80129EA4 enum WaitType NetSync::StartNetTransition(class NetSync * const this /* r25 */, class StartTransitionMsg * msg /* r26 */) { // Local variables enum WaitType t; // r27 class NetGotoScreenMsg * gotoMsg; // r0 class UIScreen * s; // r24 class NetSyncScreenMsg * syncMsg; // r30 // References // -> static class Message syncScreen; // -> static class Symbol sync_screen; // -> struct [anonymous] __RTTI__16NetSyncScreenMsg; // -> static class Message resetScreen; // -> struct [anonymous] __vt__7Message; // -> static class Symbol reset_screen; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__18StartTransitionMsg; // -> struct [anonymous] __RTTI__16NetGotoScreenMsg; // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80129EA4 -> 0x80129EDC class DataNode NetSync::OnSessionDisabled() { // Local variables int i; // r7 } // Range: 0x80129EDC -> 0x80129EFC class DataNode NetSync::OnMsg() { // References // -> class NetSession * TheNetSession; } static class Symbol _s; // size: 0x4, address: 0x80A4BC10 static class Symbol _s; // size: 0x4, address: 0x80A4BC18 static class Symbol _s; // size: 0x4, address: 0x80A4BC20 static class Symbol _s; // size: 0x4, address: 0x80A4BC28 static class Symbol _s; // size: 0x4, address: 0x80A4BC30 static class Symbol _s; // size: 0x4, address: 0x80A4BC38 static class Symbol _s; // size: 0x4, address: 0x80A4BC40 static class Symbol _s; // size: 0x4, address: 0x80A4BC48 static class Symbol _s; // size: 0x4, address: 0x80A4BC50 static class Symbol _s; // size: 0x4, address: 0x80A4BC58 static class Symbol _s; // size: 0x4, address: 0x80A4BC60 static class Symbol _s; // size: 0x4, address: 0x80A4BC68 static class Symbol _s; // size: 0x4, address: 0x80A4BC70 static class Symbol _s; // size: 0x4, address: 0x80A4BC78 static class Symbol _s; // size: 0x4, address: 0x80A4BC80 static class Symbol _s; // size: 0x4, address: 0x80A4BC88 static class Symbol _s; // size: 0x4, address: 0x80A4BC90 // Range: 0x80129EFC -> 0x8012AAC8 class DataNode NetSync::Handle(class NetSync * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4BC98 // Range: 0x8012AAC8 -> 0x8012AC54 unsigned char NetSync::SyncProperty(class NetSync * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x28 } __vt__22NetForceResetScreenMsg; // size: 0x28, address: 0x8088F400 struct { // total size: 0x8 } __RTTI__22NetForceResetScreenMsg; // size: 0x8, address: 0x8088F460 struct { // total size: 0x28 } __vt__17NetResetScreenMsg; // size: 0x28, address: 0x8088F468 struct { // total size: 0x8 } __RTTI__17NetResetScreenMsg; // size: 0x8, address: 0x8088F4C0 struct { // total size: 0x28 } __vt__15NetPopScreenMsg; // size: 0x28, address: 0x8088F4C8 struct { // total size: 0x8 } __RTTI__15NetPopScreenMsg; // size: 0x8, address: 0x8088F520 struct { // total size: 0x28 } __vt__16NetPushScreenMsg; // size: 0x28, address: 0x8088F528 struct { // total size: 0x8 } __RTTI__16NetPushScreenMsg; // size: 0x8, address: 0x8088F580 struct { // total size: 0x28 } __vt__24AllTransitionCompleteMsg; // size: 0x28, address: 0x8088F5F0 struct { // total size: 0x8 } __RTTI__24AllTransitionCompleteMsg; // size: 0x8, address: 0x8088F648 struct { // total size: 0x54 } __vt__7NetSync; // size: 0x54, address: 0x8088F7D0 struct { // total size: 0x8 } __RTTI__7NetSync; // size: 0x8, address: 0x8088F848 /* Compile unit: C:\rockband2\band2\src\game\UISyncNetMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012AC54 -> 0x8012AD44 */ // Range: 0x8012AC54 -> 0x8012ACA4 class NetMessage * ComponentFocusNetMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__20ComponentFocusNetMsg; } // Range: 0x8012ACA4 -> 0x8012ACF4 class NetMessage * ComponentSelectNetMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__21ComponentSelectNetMsg; } // Range: 0x8012ACF4 -> 0x8012AD44 class NetMessage * ComponentScrollNetMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__21ComponentScrollNetMsg; } /* Compile unit: C:\rockband2\band2\src\game\UITransitionNetMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012AD44 -> 0x8012B2B8 */ // Range: 0x8012AD44 -> 0x8012AD8C class NetMessage * LocalTransitionCompleteMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__26LocalTransitionCompleteMsg; } // Range: 0x8012AD8C -> 0x8012ADC4 class NetMessage * AllTransitionCompleteMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__24AllTransitionCompleteMsg; } // Range: 0x8012ADC4 -> 0x8012AE20 class NetMessage * NetGotoScreenMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__16NetGotoScreenMsg; // -> struct [anonymous] __vt__18StartTransitionMsg; } // Range: 0x8012AE20 -> 0x8012AE7C class NetMessage * NetPushScreenMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__16NetPushScreenMsg; // -> struct [anonymous] __vt__18StartTransitionMsg; } // Range: 0x8012AE7C -> 0x8012AECC class NetMessage * NetPopScreenMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__15NetPopScreenMsg; } // Range: 0x8012AECC -> 0x8012AF28 class NetMessage * NetResetScreenMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__17NetResetScreenMsg; // -> struct [anonymous] __vt__18StartTransitionMsg; } // Range: 0x8012AF28 -> 0x8012AF84 class NetMessage * NetForceResetScreenMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__22NetForceResetScreenMsg; // -> struct [anonymous] __vt__18StartTransitionMsg; } // Range: 0x8012AF84 -> 0x8012AFE0 class NetMessage * NetSyncScreenMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__16NetSyncScreenMsg; // -> struct [anonymous] __vt__18StartTransitionMsg; } // Range: 0x8012AFE0 -> 0x8012B014 char * NetForceResetScreenMsg::Name() {} // Range: 0x8012B014 -> 0x8012B070 unsigned char NetForceResetScreenMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8012B070 -> 0x8012B0A4 char * NetResetScreenMsg::Name() {} // Range: 0x8012B0A4 -> 0x8012B100 unsigned char NetResetScreenMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8012B100 -> 0x8012B134 char * NetPopScreenMsg::Name() {} // Range: 0x8012B134 -> 0x8012B190 unsigned char NetPopScreenMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8012B190 -> 0x8012B1C4 char * NetPushScreenMsg::Name() {} // Range: 0x8012B1C4 -> 0x8012B220 unsigned char NetPushScreenMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8012B220 -> 0x8012B224 void AllTransitionCompleteMsg::Load() {} // Range: 0x8012B224 -> 0x8012B228 void AllTransitionCompleteMsg::Save() {} // Range: 0x8012B228 -> 0x8012B25C char * AllTransitionCompleteMsg::Name() {} // Range: 0x8012B25C -> 0x8012B2B8 unsigned char AllTransitionCompleteMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012B448 -> 0x8012B4E8 */ // Range: 0x8012B448 -> 0x8012B498 class UIScreen * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; } // Range: 0x8012B498 -> 0x8012B4E8 class UIComponent * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012B4E8 -> 0x8012B658 */ // Range: 0x8012B4E8 -> 0x8012B658 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; } /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012B658 -> 0x8012B6C8 */ // Range: 0x8012B658 -> 0x8012B69C class Symbol SessionBusyMsg::Type() { // References // -> class Symbol t; } // Range: 0x8012B69C -> 0x8012B6C8 void * SessionBusyMsg::SessionBusyMsg() { // References // -> struct [anonymous] __vt__14SessionBusyMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\band2\src\meta\NextSongPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012B6C8 -> 0x8012B704 */ class DataArray * types; // size: 0x4, address: 0x80A4BCA0 // Range: 0x8012B6C8 -> 0x8012B704 void NextSongPanel::Enter(class NextSongPanel * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } struct { // total size: 0xAC } __vt__13NextSongPanel; // size: 0xAC, address: 0x8088FB8C struct { // total size: 0x8 } __RTTI__13NextSongPanel; // size: 0x8, address: 0x8088FC68 /* Compile unit: C:\rockband2\band2\src\meta\NextSongPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012B704 -> 0x8012B97C */ // Range: 0x8012B704 -> 0x8012B7A4 unsigned char NextSongPanel::Exiting(class NextSongPanel * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8012B7A4 -> 0x8012B7E8 class Symbol NextSongPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8012B7E8 -> 0x8012B97C void NextSongPanel::SetType(class NextSongPanel * const this /* r29 */, class Symbol & NextSongPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\Offer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012BA90 -> 0x8012C3F4 */ class Symbol song; // size: 0x4, address: 0x80A4BCAC // Range: 0x8012BA90 -> 0x8012BADC void * Offer::Offer(class Offer * const this /* r30 */, const class DataArray * data /* r31 */) { // References // -> struct [anonymous] __vt__5Offer; } // Range: 0x8012BADC -> 0x8012BB6C class DataNode & Offer::GetData(class DataArray * fields /* r29 */) { // Local variables const class DataArray * a; // r31 int i; // r30 } // Range: 0x8012BB6C -> 0x8012BBAC unsigned char Offer::HasData() {} // Range: 0x8012BBAC -> 0x8012BCAC class DataNode Offer::ExecuteScript(class DataArray * script /* r31 */) { // Local variables class DataArrayPtr offer; // r1+0x10 // References // -> struct [anonymous] __vt__12DataArrayPtr; } static class Symbol store_nonalpha_group; // size: 0x4, address: 0x80A4BCB4 // Range: 0x8012BCAC -> 0x8012BDE0 class Symbol Offer::FirstChar(unsigned char skip_the /* r30 */) { // Local variables char buf[256]; // r1+0x20 class String strResult; // r1+0x14 // References // -> static class Symbol store_nonalpha_group; // -> struct __locale _current_locale; } static class Symbol _s; // size: 0x4, address: 0x80A4BCBC static class Symbol _s; // size: 0x4, address: 0x80A4BCC4 static class Symbol _s; // size: 0x4, address: 0x80A4BCCC // Range: 0x8012BDE0 -> 0x8012C3A8 class DataNode Offer::Handle(class Offer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8012C3A8 -> 0x8012C3F4 unsigned char __eq(class Symbol & rhs /* r31 */) {} struct { // total size: 0x68 } __vt__5Offer; // size: 0x68, address: 0x8088FCF8 struct { // total size: 0x8 } __RTTI__5Offer; // size: 0x8, address: 0x8088FD80 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012C3F4 -> 0x8012C49C */ // Range: 0x8012C3F4 -> 0x8012C440 char * MakeString(const char * fmt /* r0 */, char t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\Offer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012C49C -> 0x8012C50C */ // Range: 0x8012C49C -> 0x8012C4E0 class Symbol Offer::OfferType() { // References // -> class Symbol song; } // Range: 0x8012C4E0 -> 0x8012C50C class Symbol Offer::GetIcon() { // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\band2\src\meta\OfferProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012C50C -> 0x8012D5F8 */ // Range: 0x8012C50C -> 0x8012C63C void * OfferProvider::OfferProvider(class OfferProvider * const this /* r27 */, class DataArray * sorts /* r28 */) { // Local variables int i; // r29 // References // -> struct [anonymous] __vt__9StoreSort; // -> struct [anonymous] __vt__13OfferProvider; } // Range: 0x8012C63C -> 0x8012C7B0 void * OfferProvider::~OfferProvider(class OfferProvider * const this /* r30 */) { // References // -> struct [anonymous] __vt__13OfferProvider; } // Range: 0x8012C80C -> 0x8012C85C class Symbol OfferProvider::CurrentSort() {} // Range: 0x8012C85C -> 0x8012C898 void OfferProvider::OnNextSort() {} // Range: 0x8012C898 -> 0x8012C954 void OfferProvider::SetSort(class OfferProvider * const this /* r28 */, class Symbol & sort /* r29 */) { // Local variables int i; // r30 } static class Symbol shortcut_groups; // size: 0x4, address: 0x80A4BCD4 // Range: 0x8012C954 -> 0x8012CC98 void OfferProvider::GetShortcuts(const class OfferProvider * const this /* r29 */, class vector & all /* r30 */, class vector & active /* r31 */) { // Local variables class vector represented; // r1+0x5C class DataArray * g; // r28 int i; // r27 int i; // r27 // References // -> static class Symbol shortcut_groups; } // Range: 0x8012CC98 -> 0x8012CDF0 void OfferProvider::GetSorts(const class OfferProvider * const this /* r30 */, class vector & all /* r31 */) { // Local variables int i; // r28 } static class Symbol _s; // size: 0x4, address: 0x80A4BCDC static class Symbol _s; // size: 0x4, address: 0x80A4BCE4 static class Symbol _s; // size: 0x4, address: 0x80A4BCEC // Range: 0x8012CDF0 -> 0x8012D358 class DataNode OfferProvider::Handle(class OfferProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4BCF4 // Range: 0x8012D358 -> 0x8012D5F8 class DataNode GroupProvider::Handle(class GroupProvider * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__13GroupProvider; // size: 0x9C, address: 0x8088FE8C struct { // total size: 0x8 } __RTTI__13GroupProvider; // size: 0x8, address: 0x8088FF58 struct { // total size: 0xA8 } __vt__13OfferProvider; // size: 0xA8, address: 0x8088FF60 struct { // total size: 0x8 } __RTTI__13OfferProvider; // size: 0x8, address: 0x80890038 struct { // total size: 0x8 } __RTTI__PP9StoreSort; // size: 0x8, address: 0x80890098 /* Compile unit: C:\rockband2\band2\src\meta\OfferProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012D5F8 -> 0x8012D734 */ // Range: 0x8012D5F8 -> 0x8012D600 unsigned char OfferProvider::AllowActiveShortcut() {} // Range: 0x8012D600 -> 0x8012D66C unsigned char GroupProvider::IsActive(const class GroupProvider * const this /* r30 */) { // Local variables class Symbol g; // r1+0xC } // Range: 0x8012D66C -> 0x8012D67C class Symbol GroupProvider::DataSymbol() {} // Range: 0x8012D67C -> 0x8012D6C8 class RndMat * GroupProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8012D6C8 -> 0x8012D708 char * GroupProvider::Text() {} // Range: 0x8012D708 -> 0x8012D720 int GroupProvider::NumData() {} // Range: 0x8012D720 -> 0x8012D734 void GroupProvider::InitData(class GroupProvider * const this /* r5 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012D894 -> 0x8012D9CC */ // Range: 0x8012D894 -> 0x8012D9CC void vector::_M_insert_overflow(class vector * const this /* r27 */, class StoreSort * * __pos /* r28 */, class StoreSort * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class StoreSort * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9StoreSort; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\OutfitConfigPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012D9CC -> 0x8012F468 */ class DataArray * types; // size: 0x4, address: 0x80A4BCF8 // Range: 0x8012D9CC -> 0x8012DA90 void * OutfitConfigPanel::OutfitConfigPanel(class OutfitConfigPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__17OutfitConfigPanel; } // Range: 0x8012DA90 -> 0x8012DB14 void OutfitConfigPanel::Unload(class OutfitConfigPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8012DB14 -> 0x8012DB54 int OutfitConfigPanel::NumColors() {} // Range: 0x8012DB54 -> 0x8012DC70 class DataNode OutfitConfigPanel::OnMsg(class OutfitConfigPanel * const this /* r30 */, const class UIComponentScrollMsg & msg /* r31 */) { // Local variables class UIList * l; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6UIList; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class UIManager TheUI; } // Range: 0x8012DC70 -> 0x8012E020 class DataNode OutfitConfigPanel::OnMsg(class OutfitConfigPanel * const this /* r31 */) { // Local variables class OutfitConfig * oc; // r26 class TourCharLocal * tc; // r25 class Symbol category; // r1+0x44 class Symbol charCategory; // r1+0x40 class Symbol selected; // r1+0x3C unsigned char hasOutfit; // r0 unsigned char change; // r24 int i; // r23 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8012E020 -> 0x8012E0A4 void OutfitConfigPanel::Confirm(class OutfitConfigPanel * const this /* r30 */) { // References // -> class UIManager TheUI; } static class Message on_color_select; // size: 0x8, address: 0x80979200 // Range: 0x8012E0A4 -> 0x8012E4D8 void OutfitConfigPanel::SetColor(class OutfitConfigPanel * const this /* r30 */, int color /* r31 */) { // Local variables class TourCharLocal * tc; // r29 class CompositeCharacter * cc; // r28 class Symbol category; // r1+0x34 class Symbol selected; // r1+0x30 // References // -> static class Message on_color_select; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitConfig; } static class Message on_pop; // size: 0x8, address: 0x80979218 // Range: 0x8012E4D8 -> 0x8012E7DC class DataNode OutfitConfigPanel::OnMsg(class OutfitConfigPanel * const this /* r31 */) { // Local variables class TourCharLocal * tc; // r28 class Symbol category; // r1+0x24 // References // -> static class Message on_pop; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; // -> class UIManager TheUI; } static class Symbol _s; // size: 0x4, address: 0x80A4BD00 static class Symbol _s; // size: 0x4, address: 0x80A4BD08 // Range: 0x8012E7DC -> 0x8012F1C8 class DataNode OutfitConfigPanel::Handle(class OutfitConfigPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11OutfitPanel; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4BD10 static class Symbol _s; // size: 0x4, address: 0x80A4BD18 // Range: 0x8012F1C8 -> 0x8012F468 unsigned char OutfitConfigPanel::SyncProperty(class OutfitConfigPanel * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11OutfitPanel; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__12OutfitConfig; // size: 0x8, address: 0x808902A0 struct { // total size: 0x8 } __RTTI__10BandSwatch; // size: 0x8, address: 0x80890308 struct { // total size: 0x8 } __RTTI__11OutfitPanel; // size: 0x8, address: 0x808903C8 struct { // total size: 0xB0 } __vt__17OutfitConfigPanel; // size: 0xB0, address: 0x808903D0 struct { // total size: 0x8 } __RTTI__17OutfitConfigPanel; // size: 0x8, address: 0x808904B0 /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012F468 -> 0x8012F96C */ // Range: 0x8012F468 -> 0x8012F610 void OutfitConfigPanel::Init(class OutfitConfigPanel * const this /* r28 */, class OutfitPanel * p /* r29 */) { // Local variables class OutfitConfig * oc; // r31 class TourCharLocal * tc; // r30 class Symbol category; // r1+0x38 class Symbol selected; // r1+0x34 int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8012F610 -> 0x8012F96C void OutfitConfigPanel::Enter(class OutfitConfigPanel * const this /* r29 */) { // Local variables class OutfitConfig * oc; // r30 class TourCharLocal * tc; // r27 class Symbol category; // r1+0x34 class Symbol selected; // r1+0x30 int selected_color; // r1+0x2C class ColorPalette * cp; // r27 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10BandSwatch; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\band2\src\meta\OutfitConfigPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012F96C -> 0x8012FB44 */ // Range: 0x8012F96C -> 0x8012F9B0 class Symbol OutfitConfigPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8012F9B0 -> 0x8012FB44 void OutfitConfigPanel::SetType(class OutfitConfigPanel * const this /* r29 */, class Symbol & OutfitConfigPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\OutfitGroupPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8012FCE0 -> 0x801308C8 */ class DataArray * types; // size: 0x4, address: 0x80A4BD20 // Range: 0x8012FCE0 -> 0x8012FD90 void * OutfitGroupPanel::OutfitGroupPanel(class OutfitGroupPanel * const this /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__16OutfitGroupPanel; // -> struct [anonymous] __vt__12ListProvider; } struct AlphaCmp { // total size: 0x1 }; // Range: 0x8012FD90 -> 0x8012FDC8 char * OutfitGroupPanel::Text() {} // Range: 0x8012FDC8 -> 0x8012FDE0 int OutfitGroupPanel::NumData() {} // Range: 0x8012FDE0 -> 0x8012FDF0 class Symbol OutfitGroupPanel::DataSymbol() {} // Range: 0x8012FDF0 -> 0x8012FE70 class DataNode OutfitGroupPanel::OnMsg(class OutfitGroupPanel * const this /* r30 */) {} // Range: 0x8012FE70 -> 0x8012FF14 void OutfitGroupPanel::SelectOutfit(class OutfitGroupPanel * const this /* r30 */, class Symbol & outfit /* r29 */) { // Local variables class Symbol category; // r1+0x1C class CompositeCharacter * cc; // r31 class TourCharLocal * tc; // r30 } static class Symbol _s; // size: 0x4, address: 0x80A4BD28 static class Symbol _s; // size: 0x4, address: 0x80A4BD30 // Range: 0x8012FF14 -> 0x80130720 class DataNode OutfitGroupPanel::Handle(class OutfitGroupPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11OutfitPanel; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4BD38 // Range: 0x80130720 -> 0x801308C8 unsigned char OutfitGroupPanel::SyncProperty(class OutfitGroupPanel * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11OutfitPanel; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x104 } __vt__16OutfitGroupPanel; // size: 0x104, address: 0x808909B0 struct { // total size: 0x8 } __RTTI__16OutfitGroupPanel; // size: 0x8, address: 0x80890AF0 /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801308C8 -> 0x80130F3C */ // Range: 0x801308C8 -> 0x8013095C void OutfitGroupPanel::Init(class OutfitGroupPanel * const this /* r30 */, class OutfitPanel * p /* r31 */) { // Local variables class Symbol category; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8013095C -> 0x80130D1C void OutfitGroupPanel::Enter(class OutfitGroupPanel * const this /* r29 */) { // Local variables class Symbol category; // r1+0x54 class String group_search; // r1+0x58 class TourCharLocal * tc; // r30 class DataArray * outfits; // r27 int i; // r28 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80130D1C -> 0x80130D68 class RndMat * OutfitGroupPanel::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80130D68 -> 0x80130E54 class DataNode OutfitGroupPanel::OnMsg(class OutfitGroupPanel * const this /* r30 */) { // Local variables class UIList * l; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6UIList; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x80130E54 -> 0x80130F3C unsigned char OutfitGroupPanel::IsLoading(const class OutfitGroupPanel * const this /* r31 */) { // Local variables class CompositeCharacter * cc; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80131104 -> 0x8013196C */ // Range: 0x80131104 -> 0x801311A8 void sort(class Symbol * __first /* r29 */, class Symbol * __last /* r30 */, struct AlphaCmp & __comp /* r31 */) {} // Range: 0x801311A8 -> 0x80131248 void __final_insertion_sort(class Symbol * __first /* r29 */, class Symbol * __last /* r30 */, struct AlphaCmp & __comp /* r31 */) {} // Range: 0x80131248 -> 0x801312B8 void __unguarded_insertion_sort_aux(class Symbol * __last /* r29 */, struct AlphaCmp & __comp /* r30 */) { // Local variables class Symbol * __i; // r31 } // Range: 0x801312B8 -> 0x80131368 void __unguarded_linear_insert(class Symbol * __last /* r28 */, class Symbol & __val /* r29 */) { // Local variables class Symbol * __next; // r30 } // Range: 0x80131368 -> 0x80131478 void __insertion_sort(class Symbol * __first /* r28 */, class Symbol * __last /* r29 */, struct AlphaCmp & __comp /* r30 */) { // Local variables class Symbol * __i; // r31 } // Range: 0x80131478 -> 0x801316F4 void __introsort_loop(class Symbol * __first /* r26 */, class Symbol * __last /* r27 */, long __depth_limit /* r28 */, struct AlphaCmp & __comp /* r29 */) { // Local variables class Symbol * __cut; // r25 } // Range: 0x801316F4 -> 0x80131814 class Symbol * __unguarded_partition(class Symbol * __first /* r27 */, class Symbol * __last /* r28 */, class Symbol & __pivot /* r29 */) {} // Range: 0x80131814 -> 0x80131844 void partial_sort() {} // Range: 0x80131844 -> 0x8013196C void __partial_sort(class Symbol * __first /* r30 */, class Symbol * __middle /* r31 */, class Symbol * __last /* r26 */, struct AlphaCmp & __comp /* r27 */) { // Local variables class Symbol * __i; // r28 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013196C -> 0x80131C08 */ // Range: 0x8013196C -> 0x801319CC void pop_heap(class Symbol * __last /* r7 */) {} // Range: 0x801319CC -> 0x80131B64 void __adjust_heap(class Symbol * __first /* r26 */, long __holeIndex /* r27 */, long __len /* r28 */, class Symbol & __val /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x80131B64 -> 0x80131C08 void make_heap(class Symbol * __first /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\meta\OutfitGroupPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80131C08 -> 0x80131DE0 */ // Range: 0x80131C08 -> 0x80131C4C class Symbol OutfitGroupPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80131C4C -> 0x80131DE0 void OutfitGroupPanel::SetType(class OutfitGroupPanel * const this /* r29 */, class Symbol & OutfitGroupPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\OutfitPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80131DE0 -> 0x80136BF0 */ class DataArray * types; // size: 0x4, address: 0x80A4BD40 // Range: 0x80131DE0 -> 0x80131E38 unsigned char OutfitChar::HasMultipleCameras() {} static class Symbol _s; // size: 0x4, address: 0x80A4BD48 static class Symbol _s; // size: 0x4, address: 0x80A4BD50 static class Symbol _s; // size: 0x4, address: 0x80A4BD58 // Range: 0x80131E38 -> 0x801323AC class DataNode OutfitChar::Handle(class OutfitChar * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801323AC -> 0x80132440 void * OutfitPanel::OutfitPanel(class OutfitPanel * const this /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__11OutfitPanel; } static class Symbol bandanas; // size: 0x4, address: 0x80A4BD60 static class Symbol facehair; // size: 0x4, address: 0x80A4BD68 // Range: 0x80132440 -> 0x801324CC class Symbol ComponentToCharCategory(class Symbol & cat /* r31 */) { // References // -> static class Symbol facehair; // -> static class Symbol bandanas; } // Range: 0x801324CC -> 0x80132530 class Symbol OutfitPanel::FocusCategory(class OutfitPanel * const this /* r31 */) { // Local variables class UIComponent * c; // r4 // References // -> const char * gNullStr; } static class Symbol female; // size: 0x4, address: 0x80A4BD70 static class Symbol head_10; // size: 0x4, address: 0x80A4BD78 // Range: 0x80132530 -> 0x8013265C class Symbol OutfitPanel::FocusOutfit(class OutfitPanel * const this /* r30 */) { // Local variables class UIList * l; // r31 // References // -> static class Symbol head_10; // -> static class Symbol female; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; // -> const char * gNullStr; } // Range: 0x8013265C -> 0x801326F8 class OutfitProvider * OutfitPanel::FocusProvider(class OutfitPanel * const this /* r31 */) { // References // -> class Shop * TheShop; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801326F8 -> 0x80132744 class OutfitConfig * OutfitPanel::FindOutfitConfig(class OutfitPanel * const this /* r31 */) {} // Range: 0x80132744 -> 0x80132774 class CompositeCharacter * OutfitPanel::GetChar() {} // Range: 0x80132774 -> 0x801327A4 class TourCharLocal * OutfitPanel::GetTourChar() {} static class Symbol outfit_char; // size: 0x4, address: 0x80A4BD80 // Range: 0x801327A4 -> 0x8013282C class OutfitChar * OutfitPanel::GetOutfitChar(class OutfitPanel * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10OutfitChar; // -> static class Symbol outfit_char; } // Range: 0x8013282C -> 0x80132888 unsigned char OutfitPanel::InShop() { // Local variables unsigned char in_shop; // r1+0x8 } // Range: 0x80132888 -> 0x80132890 class Symbol OutfitPanel::SelectedOutfit() {} // Range: 0x80132890 -> 0x801328D4 char * OutfitPanel::CamBaseName() { // Local variables class OutfitProvider * p; // r0 // References // -> class Shop * TheShop; } // Range: 0x801328D4 -> 0x8013293C unsigned char OutfitPanel::IsLoaded(class OutfitPanel * const this /* r30 */) {} // Range: 0x8013293C -> 0x80132B1C void OutfitPanel::FinishLoad(class OutfitPanel * const this /* r31 */) { // Local variables class ObjDirItr ol; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } static class Symbol outfit; // size: 0x4, address: 0x80A4BD88 class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class UIList * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80132B1C -> 0x80132FBC void OutfitPanel::RefreshLists(class OutfitPanel * const this /* r28 */) { // Local variables class TourCharLocal * tc; // r30 unsigned char show_outfit_text; // r1+0x8 class Symbol genre; // r1+0x44 const class DataNode * g; // r0 unsigned char is_closet; // r29 unsigned char in_shop; // r0 class ObjDirItr l; // r1+0x48 class Symbol category; // r1+0x40 class OutfitProvider * p; // r27 // References // -> unsigned char sUnlockAll; // -> class Shop * TheShop; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> static class Symbol outfit; // -> const char * gNullStr; } // Range: 0x80132FBC -> 0x80132FF0 void OutfitPanel::Enter(class OutfitPanel * const this /* r31 */) {} // Range: 0x80132FF0 -> 0x8013308C void OutfitPanel::Exit(class OutfitPanel * const this /* r31 */) { // Local variables class Symbol category; // r1+0x18 // References // -> const char * gNullStr; } // Range: 0x8013308C -> 0x801331D0 void OutfitPanel::StoreOutfit(class OutfitPanel * const this /* r30 */) { // Local variables class Symbol category; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Message msg; // size: 0x8, address: 0x80979230 // Range: 0x801331D0 -> 0x80133428 void OutfitPanel::ConfirmOutfit(class OutfitPanel * const this /* r30 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Message msg; // size: 0x8, address: 0x80979248 // Range: 0x80133428 -> 0x80133650 class DataNode OutfitPanel::UndoOutfit(class OutfitPanel * const this /* r31 */) { // Local variables class Symbol category; // r1+0x24 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x80133650 -> 0x8013374C void OutfitPanel::ManualSetCategory(class OutfitPanel * const this /* r30 */, class Symbol & category /* r31 */) {} // Range: 0x8013374C -> 0x80133B44 class DataNode OutfitPanel::SetCategory(class DataNode * ret /* r24 */, class OutfitPanel * const this /* r25 */, class Symbol & category /* r26 */, unsigned char selected /* r27 */, unsigned char undo /* r28 */) { // Local variables class Symbol char_category; // r1+0x38 unsigned char select_cam; // r1+0x9 unsigned char skip_buttons; // r1+0x8 const char * name; // r23 class UIComponent * c; // r4 // References // -> struct [anonymous] __RTTI__11UIComponent; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x80133B44 -> 0x80133BE0 class Symbol OutfitPanel::SelectedOutfit(class OutfitPanel * const this /* r31 */, class Symbol & category /* r30 */) { // Local variables class TourCharLocal * tc; // r31 } // Range: 0x80133BE0 -> 0x80133E30 void OutfitPanel::SelectOutfit(class OutfitPanel * const this /* r27 */, class Symbol & category /* r28 */, class Symbol & outfit /* r29 */) { // Local variables class TourCharLocal * tc; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x80133E30 -> 0x80133F34 class DataNode OutfitPanel::OnMsg(class OutfitPanel * const this /* r30 */) { // Local variables enum JoypadAction action; // r0 class UIList * l; // r3 // References // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x80133F34 -> 0x80133FB8 class DataNode OutfitPanel::OnMsg(class OutfitPanel * const this /* r31 */) { // Local variables class Symbol category; // r1+0x14 // References // -> const char * gNullStr; } // Range: 0x80133FB8 -> 0x80133FF8 unsigned char __eq(class Symbol & rhs /* r31 */) {} // Range: 0x80133FF8 -> 0x801340C8 class Symbol OutfitPanel::ComponentCategory(class OutfitPanel * const this /* r30 */, class UIComponent * c /* r31 */) { // Local variables class Symbol category; // r1+0x18 class Symbol char_cat; // r1+0x14 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol cancel; // size: 0x4, address: 0x80A4BD90 static class Symbol helpbar_back; // size: 0x4, address: 0x80A4BD98 static class Symbol confirm; // size: 0x4, address: 0x80A4BDA0 static class Symbol shop_hb_category; // size: 0x4, address: 0x80A4BDA8 static class Symbol view_modify; // size: 0x4, address: 0x80A4BDB0 static class Symbol shop_hb_change_camera; // size: 0x4, address: 0x80A4BDB8 static class Symbol shop_hb_choosegroup; // size: 0x4, address: 0x80A4BDC0 static class Symbol shop_hb_choosecolor; // size: 0x4, address: 0x80A4BDC8 static class Symbol shop_hb_select; // size: 0x4, address: 0x80A4BDD0 static class Symbol shop_hb_purchase; // size: 0x4, address: 0x80A4BDD8 static class Symbol waiting; // size: 0x4, address: 0x80A4BDE0 static class Symbol shop_unlock_all; // size: 0x4, address: 0x80A4BDE8 static class Symbol shop_cant_afford_text; // size: 0x4, address: 0x80A4BDF0 class UIButton : public UILabel { // total size: 0x1E0 }; struct AnimPlayer { // total size: 0x18 class String mName; // offset 0x0, size 0xC float mStartTime; // offset 0xC, size 0x4 unsigned char mLoop; // offset 0x10, size 0x1 unsigned char mPlaying; // offset 0x11, size 0x1 class RndAnimatable * mAnim; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct AnimPlayer * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct AnimPlayer * _M_start; // offset 0x0, size 0x4 struct AnimPlayer * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BandButton : public UIButton, public BandTextComp { // total size: 0x230 float mAnimTime; // offset 0x1C4, size 0x4 float mLastJitterTime; // offset 0x1C8, size 0x4 class ObjPtr mTextMesh; // offset 0x1CC, size 0xC class RndTransAnim * mSelectingAnim; // offset 0x1D8, size 0x4 class RndEnviron * mTextEnv; // offset 0x1DC, size 0x4 class vector mAnims; // offset 0x1E0, size 0xC unsigned char mIsSelected; // offset 0x1EC, size 0x1 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class BandButton * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x801340C8 -> 0x801356E4 void OutfitPanel::Update(class OutfitPanel * const this /* r20 */) { // Local variables class Symbol selected; // r1+0x98 class ObjDirItr b; // r1+0x184 class Symbol category; // r1+0x94 class TourCharLocal * tcl; // r24 unsigned char has_outfit; // r0 class OutfitProvider * focus_provider; // r23 int cost; // r22 unsigned char can_afford; // r21 class DataArrayPtr helpbar; // r1+0x168 class Symbol confirm_sym; // r1+0x90 class ObjDirItr b; // r1+0x170 class Symbol token; // r1+0x8C unsigned char disabled; // r3 // References // -> static class Symbol shop_cant_afford_text; // -> static class Symbol shop_unlock_all; // -> static class Symbol waiting; // -> static class Symbol shop_hb_purchase; // -> static class Symbol shop_hb_select; // -> static class Symbol shop_hb_choosecolor; // -> static class Symbol shop_hb_choosegroup; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__9BandLabel; // -> static class Symbol shop_hb_change_camera; // -> static class Symbol view_modify; // -> class HelpBarPanel * sInstance; // -> struct [anonymous] __vt__12DataArrayPtr; // -> struct [anonymous] __RTTI__10BandButton; // -> static class Symbol shop_hb_category; // -> const char * gNullStr; // -> static class Symbol confirm; // -> static class Symbol helpbar_back; // -> static class Symbol cancel; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } static class Symbol closet; // size: 0x4, address: 0x80A4BDF8 // Range: 0x801356E4 -> 0x80135758 unsigned char OutfitPanel::IsCloset(class OutfitPanel * const this /* r31 */) { // Local variables unsigned char is_closet; // r1+0x8 // References // -> static class Symbol closet; } static class Symbol _s; // size: 0x4, address: 0x80A4BE00 static class Symbol _s; // size: 0x4, address: 0x80A4BE08 static class Symbol _s; // size: 0x4, address: 0x80A4BE10 static class Symbol _s; // size: 0x4, address: 0x80A4BE18 static class Symbol _s; // size: 0x4, address: 0x80A4BE20 static class Symbol _s; // size: 0x4, address: 0x80A4BE28 static class Symbol _s; // size: 0x4, address: 0x80A4BE30 static class Symbol _s; // size: 0x4, address: 0x80A4BE38 static class Symbol _s; // size: 0x4, address: 0x80A4BE40 static class Symbol _s; // size: 0x4, address: 0x80A4BE48 static class Symbol _s; // size: 0x4, address: 0x80A4BE50 static class Symbol _s; // size: 0x4, address: 0x80A4BE58 static class Symbol _s; // size: 0x4, address: 0x80A4BE60 static class Symbol _s; // size: 0x4, address: 0x80A4BE68 static class Symbol _s; // size: 0x4, address: 0x80A4BE70 static class Symbol _s; // size: 0x4, address: 0x80A4BE78 // Range: 0x80135758 -> 0x80136BF0 class DataNode OutfitPanel::Handle(class OutfitPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x90 class MessageTimer _mt; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode _n; // r1+0xA8 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> class Symbol t; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> const char * gNullStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__10BandButton; // size: 0x8, address: 0x80891498 struct { // total size: 0x8 } __RTTI__8UIButton; // size: 0x8, address: 0x808914F0 struct { // total size: 0xAC } __vt__11OutfitPanel; // size: 0xAC, address: 0x80891578 struct { // total size: 0xBC } __vt__10OutfitChar; // size: 0xBC, address: 0x80891658 /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80136BF0 -> 0x80137140 */ // Range: 0x80136BF0 -> 0x80136D78 void OutfitChar::SelectCam(class OutfitChar * const this /* r28 */, const char * name /* r29 */) { // Local variables class WorldDir * dir; // r30 const char * shot_name; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__8WorldDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x80136D78 -> 0x80136F34 void OutfitChar::SelectNextCam(class OutfitChar * const this /* r28 */) { // Local variables class WorldDir * dir; // r30 class BandCamShot * s; // r29 const char * shot_name; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__8WorldDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x80136F34 -> 0x80137140 class BandCamShot * OutfitChar::FindNthShot(class OutfitChar * const this /* r24 */, int inN /* r25 */) { // Local variables class WorldDir * dir; // r27 const char * shot_name; // r26 class BandCamShot * s; // r3 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__8WorldDir; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80137268 -> 0x80137548 */ // Range: 0x80137268 -> 0x801373D8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x801373D8 -> 0x80137548 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10BandButton; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80137548 -> 0x80137700 */ // Range: 0x80137548 -> 0x80137700 struct Category * find(struct Category * __last /* r29 */, const class Symbol & __val /* r30 */) {} /* Compile unit: C:\rockband2\system\src\ui\Component.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80137700 -> 0x80137708 */ // Range: 0x80137700 -> 0x80137708 void UIComponent::SetState() {} /* Compile unit: C:\rockband2\band2\src\meta\OutfitPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80137708 -> 0x801378E0 */ // Range: 0x80137708 -> 0x8013774C class Symbol OutfitPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8013774C -> 0x801378E0 void OutfitPanel::SetType(class OutfitPanel * const this /* r29 */, class Symbol & OutfitPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\OutfitProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801378E0 -> 0x80138D70 */ // Range: 0x801378E0 -> 0x8013798C void * OutfitProvider::OutfitProvider(class OutfitProvider * const this /* r28 */, class Symbol & gender /* r29 */, class DataArray * category /* r30 */, class Symbol & catName /* r31 */) { // References // -> struct [anonymous] __vt__14OutfitProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x8013798C -> 0x801379A4 int OutfitProvider::NumData() {} static class Symbol disabled; // size: 0x4, address: 0x80A4BE84 // Range: 0x801379A4 -> 0x80137A2C class Symbol OutfitProvider::State(const class OutfitProvider * const this /* r29 */, int data /* r30 */, class Symbol & component_state /* r31 */) { // References // -> static class Symbol disabled; } // Range: 0x80137A2C -> 0x80137A34 class Symbol OutfitProvider::Gender() {} // Range: 0x80137A34 -> 0x80137A3C class Symbol OutfitProvider::Category() {} // Range: 0x80137A3C -> 0x80137A7C class Symbol OutfitProvider::CharCategory() {} // Range: 0x80137A7C -> 0x80137B1C int OutfitProvider::Cost(const class OutfitProvider * const this /* r30 */, class Symbol & outfit /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80137B1C -> 0x80137BBC class Symbol OutfitProvider::Token(const class OutfitProvider * const this /* r30 */, class Symbol & outfit /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol closet; // size: 0x4, address: 0x80A4BE8C // Range: 0x80137BBC -> 0x80137C40 unsigned char OutfitProvider::IsClosetCategory(const class OutfitProvider * const this /* r31 */) { // References // -> static class Symbol closet; } static class Symbol none; // size: 0x4, address: 0x80A4BE94 // Range: 0x80137C40 -> 0x80137CB4 class Symbol OutfitProvider::NoneOutfit(const class OutfitProvider * const this /* r31 */) { // Local variables class Symbol noneOutfit; // r1+0xC // References // -> const char * gNullStr; // -> static class Symbol none; } static class Symbol cam; // size: 0x4, address: 0x80A4BE9C // Range: 0x80137CB4 -> 0x80137D2C char * OutfitProvider::CamBaseName(const class OutfitProvider * const this /* r31 */) { // Local variables const char * base_name; // r1+0x10 // References // -> static class Symbol cam; } // Range: 0x80137D2C -> 0x801386D8 void OutfitProvider::SetOutfits(class OutfitProvider * const this /* r18 */, class Symbol & genre /* r19 */, class TourCharLocal * tc /* r20 */, unsigned char closet /* r21 */, unsigned char creator /* r22 */) { // Local variables class DataArray * outfits; // r27 int money; // r0 class DataArray * groups; // r28 int i; // r27 struct Outfit o; // r1+0xF0 unsigned char has_outfit; // r0 unsigned char allow_none; // r1+0x3A unsigned char has_unlocks; // r1+0x39 const char * filter; // r26 class DataArray * f; // r24 int i; // r25 class DataArray * outfit_genre; // r24 class DataArray * exclude; // r23 class DataArray * shop_category_data; // r28 class DataArray * c; // r23 class Symbol name; // r1+0xD8 unsigned char has_outfit; // r23 unsigned char doFilter; // r24 class DataArray * f; // r17 struct Outfit o; // r1+0xE0 class DataArray * cost; // r17 class DataArray * token; // r17 unsigned char sort; // r1+0x38 // References // -> unsigned char sUnlockAll; // -> const char * gNullStr; } struct OutfitCmp { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801386D8 -> 0x801386E0 void OutfitProvider::SetShowText() {} static class Symbol _s; // size: 0x4, address: 0x80A4BEA4 static class Symbol _s; // size: 0x4, address: 0x80A4BEAC static class Symbol _s; // size: 0x4, address: 0x80A4BEB4 static class Symbol _s; // size: 0x4, address: 0x80A4BEBC // Range: 0x801386E0 -> 0x80138D70 class DataNode OutfitProvider::Handle(class OutfitProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x44 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__14OutfitProvider; // size: 0x9C, address: 0x80891C70 struct { // total size: 0x8 } __RTTI__14OutfitProvider; // size: 0x8, address: 0x80891D38 struct { // total size: 0x8 } __RTTI__PQ214OutfitProvider6Outfit; // size: 0x8, address: 0x80891DB0 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80138D70 -> 0x80138EA0 */ // Range: 0x80138D70 -> 0x80138DEC class Symbol OutfitProvider::DataSymbol(const class OutfitProvider * const this /* r30 */, int data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80138DEC -> 0x80138E54 char * OutfitProvider::Text() {} // Range: 0x80138E54 -> 0x80138EA0 class RndMat * OutfitProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80138EA0 -> 0x80138FB0 */ // Range: 0x80138EA0 -> 0x80138ECC void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80138FB0 -> 0x80139AF4 */ // Range: 0x80138FB0 -> 0x80139054 void sort(struct Outfit * __first /* r29 */, struct Outfit * __last /* r30 */, struct OutfitCmp & __comp /* r31 */) {} // Range: 0x80139054 -> 0x801390F4 void __final_insertion_sort(struct Outfit * __first /* r29 */, struct Outfit * __last /* r30 */, struct OutfitCmp & __comp /* r31 */) {} // Range: 0x801390F4 -> 0x8013917C void __unguarded_insertion_sort_aux(struct Outfit * __last /* r29 */, struct OutfitCmp & __comp /* r30 */) { // Local variables struct Outfit * __i; // r31 } // Range: 0x8013917C -> 0x80139280 void __unguarded_linear_insert(struct Outfit * __last /* r29 */, struct Outfit & __val /* r30 */) { // Local variables struct Outfit * __next; // r31 } // Range: 0x80139280 -> 0x80139420 void __insertion_sort(struct Outfit * __first /* r28 */, struct Outfit * __last /* r29 */, struct OutfitCmp & __comp /* r30 */) { // Local variables struct Outfit * __i; // r31 } // Range: 0x80139420 -> 0x80139780 void __introsort_loop(struct Outfit * __first /* r26 */, struct Outfit * __last /* r27 */, long __depth_limit /* r28 */, struct OutfitCmp & __comp /* r29 */) { // Local variables struct Outfit * __cut; // r25 } // Range: 0x80139780 -> 0x80139938 struct Outfit * __unguarded_partition(struct Outfit * __first /* r29 */, struct Outfit * __last /* r30 */, struct Outfit & __pivot /* r31 */) {} // Range: 0x80139938 -> 0x80139968 void partial_sort() {} // Range: 0x80139968 -> 0x80139AF4 void __partial_sort(struct Outfit * __first /* r27 */, struct Outfit * __middle /* r28 */, struct Outfit * __last /* r29 */, struct OutfitCmp & __comp /* r30 */) { // Local variables struct Outfit * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80139AF4 -> 0x80139B24 */ // Range: 0x80139AF4 -> 0x80139B0C struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80139B0C -> 0x80139B24 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80139B24 -> 0x80139EF4 */ // Range: 0x80139B24 -> 0x80139BC4 void pop_heap(struct Outfit * __last /* r9 */) {} // Range: 0x80139BC4 -> 0x80139E24 void __adjust_heap(struct Outfit * __first /* r26 */, long __holeIndex /* r27 */, long __len /* r28 */, struct Outfit & __val /* r29 */) { // Local variables long __topIndex; // r30 long __secondChild; // r31 } // Range: 0x80139E24 -> 0x80139EF4 void make_heap(struct Outfit * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80139EF4 -> 0x8013A2BC */ // Range: 0x80139EF4 -> 0x8013A120 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Outfit * __pos /* r26 */, const struct Outfit & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Outfit * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214OutfitProvider6Outfit; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8013A120 -> 0x8013A2BC void vector::reserve(class vector * const this /* r29 */, unsigned long __n /* r30 */) { // Local variables struct Outfit * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214OutfitProvider6Outfit; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\PassiveMessagesPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013A2BC -> 0x8013B480 */ class DataArray * types; // size: 0x4, address: 0x80A4BEC0 // Range: 0x8013A2BC -> 0x8013A380 void * PassiveMessagesPanel::PassiveMessagesPanel(class PassiveMessagesPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__20PassiveMessagesPanel; } class _List_node : public _List_node_base { // total size: 0x14 public: class String _M_data; // offset 0x8, size 0xC }; // Range: 0x8013A380 -> 0x8013A458 void * PassiveMessagesPanel::~PassiveMessagesPanel(class PassiveMessagesPanel * const this /* r29 */) { // References // -> struct [anonymous] __vt__20PassiveMessagesPanel; } static class Symbol msg_duration; // size: 0x4, address: 0x80A4BEC8 // Range: 0x8013A458 -> 0x8013A4D0 void PassiveMessagesPanel::SetTypeDef(class PassiveMessagesPanel * const this /* r30 */, class DataArray * data /* r31 */) { // References // -> static class Symbol msg_duration; } // Range: 0x8013A4D0 -> 0x8013A5C8 void PassiveMessagesPanel::Enter(class PassiveMessagesPanel * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } // Range: 0x8013A5C8 -> 0x8013A5D4 void PassiveMessagesPanel::Exit() {} static class Message setMsgText; // size: 0x8, address: 0x80979260 // Range: 0x8013A5D4 -> 0x8013AB90 void PassiveMessagesPanel::Poll(class PassiveMessagesPanel * const this /* r30 */) { // References // -> static class Message setMsgText; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x8013AB90 -> 0x8013AC78 void PassiveMessagesPanel::QueueMessage(class PassiveMessagesPanel * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6String>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std19_List_node<6String>; // size: 0x8, address: 0x80891E80 static class RndAnimatable * anim; // size: 0x4, address: 0x80A4BED0 static class UILabel * label; // size: 0x4, address: 0x80A4BED8 static class Symbol game; // size: 0x4, address: 0x80A4BEE0 // Range: 0x8013AC78 -> 0x8013AE94 void PassiveMessagesPanel::SetupMessage(class PassiveMessagesPanel * const this /* r30 */, const char * msg /* r28 */) { // Local variables unsigned char inGame; // r29 const class list & panels; // r0 struct _List_iterator itr; // r1+0x18 // References // -> const char * gNullStr; // -> static class Symbol game; // -> class UIManager TheUI; // -> static class UILabel * label; // -> struct [anonymous] __RTTI__7UILabel; // -> static class RndAnimatable * anim; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } static class Symbol _s; // size: 0x4, address: 0x80A4BEE8 static class Symbol _s; // size: 0x4, address: 0x80A4BEF0 // Range: 0x8013AE94 -> 0x8013B480 class DataNode PassiveMessagesPanel::Handle(class PassiveMessagesPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__20PassiveMessagesPanel; // size: 0xAC, address: 0x80892058 struct { // total size: 0x8 } __RTTI__20PassiveMessagesPanel; // size: 0x8, address: 0x80892138 /* Compile unit: C:\rockband2\band2\src\meta\PassiveMessagesPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013B50C -> 0x8013B6E4 */ // Range: 0x8013B50C -> 0x8013B550 class Symbol PassiveMessagesPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8013B550 -> 0x8013B6E4 void PassiveMessagesPanel::SetType(class PassiveMessagesPanel * const this /* r29 */, class Symbol & PassiveMessagesPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013B6E4 -> 0x8013B76C */ // Range: 0x8013B6E4 -> 0x8013B76C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\band2\src\meta\PassiveMessenger.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013B76C -> 0x8013C4FC */ class ReadyForTourMsg : public NetMessage { // total size: 0x14 enum NetUIState mReadyState; // offset 0x4, size 0x4 class String mName; // offset 0x8, size 0xC }; // Range: 0x8013B76C -> 0x8013B7BC static class NetMessage * ReadyForTourMsg::NewNetMessage() { // References // -> static struct [anonymous] __vt__Q230@unnamed@PassiveMessenger_cpp@15ReadyForTourMsg; } // Range: 0x8013B7BC -> 0x8013B814 static void ReadyForTourMsg::Save(const class ReadyForTourMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8013B814 -> 0x8013B86C static void ReadyForTourMsg::Load(class ReadyForTourMsg * const this /* r30 */, class BinStream & src /* r31 */) { // Local variables int ready; // r1+0x8 } static class Symbol passive_message_ready_world_tour; // size: 0x4, address: 0x80A4BEFC static class Symbol passive_message_ready_set_challenges; // size: 0x4, address: 0x80A4BF04 static class Symbol passive_message_ready_battle_of_the_bands; // size: 0x4, address: 0x80A4BF0C // Range: 0x8013B86C -> 0x8013BA08 static void ReadyForTourMsg::Dispatch(class ReadyForTourMsg * const this /* r31 */) { // Local variables const char * waiting_screen; // r29 class Symbol token; // r1+0xC const char * msg; // r29 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> static class Symbol passive_message_ready_battle_of_the_bands; // -> static class Symbol passive_message_ready_set_challenges; // -> static class Symbol passive_message_ready_world_tour; // -> class UIManager TheUI; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4BF14 // Range: 0x8013BA08 -> 0x8013BB10 static unsigned char ShouldDisplaySessionMessages() { // References // -> class GameMode * TheGameMode; // -> static class Symbol is_h2h_arrangement; // -> struct [anonymous] __RTTI__8UIScreen; // -> struct [anonymous] __RTTI__17MatchmakingScreen; // -> class UIManager TheUI; // -> class NetSession * TheNetSession; } class PassiveMessenger * ThePassiveMessenger; // size: 0x4, address: 0x80A4BF18 // Range: 0x8013BB10 -> 0x8013BBCC void * PassiveMessenger::PassiveMessenger(class PassiveMessenger * const this /* r30 */) { // References // -> class NetMessageFactory TheNetMessageFactory; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class PassiveMessenger * ThePassiveMessenger; // -> struct [anonymous] __vt__16PassiveMessenger; } // Range: 0x8013BBCC -> 0x8013BC74 void * PassiveMessenger::~PassiveMessenger(class PassiveMessenger * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class PassiveMessenger * ThePassiveMessenger; // -> struct [anonymous] __vt__16PassiveMessenger; } // Range: 0x8013BC74 -> 0x8013BDA4 void PassiveMessenger::Poll(class PassiveMessenger * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x8013BDA4 -> 0x8013BE78 void PassiveMessenger::BroadcastReadyForTourMsg(class PassiveMessenger * const this /* r29 */) { // Local variables enum NetUIState state; // r30 class ReadyForTourMsg msg; // r1+0x8 // References // -> class NetSession * TheNetSession; // -> class Debug TheDebug; // -> class NetSync * TheNetSync; } static class Symbol passive_message_member_join_failed; // size: 0x4, address: 0x80A4BF20 // Range: 0x8013BED8 -> 0x8013BF44 void PassiveMessenger::TriggerMemberJoinFailedMsg() { // Local variables const char * msg; // r31 // References // -> static class Symbol passive_message_member_join_failed; } static class Symbol passive_message_auto_join_failed; // size: 0x4, address: 0x80A4BF28 // Range: 0x8013BF44 -> 0x8013BFB0 void PassiveMessenger::TriggerAutoJoinFailedMsg() { // Local variables const char * msg; // r31 // References // -> static class Symbol passive_message_auto_join_failed; } // Range: 0x8013BFB0 -> 0x8013C024 void PassiveMessenger::ProcessNewRemotePlayerMsg(class PassiveMessenger * const this /* r30 */, const class NewRemotePlayerMsg & msg /* r31 */) { // Local variables class BandUser * user; // r0 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8013C024 -> 0x8013C098 void PassiveMessenger::ProcessRemotePlayerLeftMsg(class PassiveMessenger * const this /* r30 */, const class RemotePlayerLeftMsg & msg /* r31 */) { // Local variables class BandUser * user; // r0 // References // -> class BandUserMgr * TheBandUserMgr; } static class Symbol passive_message_new_remote_user; // size: 0x4, address: 0x80A4BF30 // Range: 0x8013C098 -> 0x8013C114 void PassiveMessenger::TriggerNewRemoteUserMsg(const char * userName /* r31 */) { // Local variables class Symbol token; // r1+0xC const char * msg; // r31 // References // -> static class Symbol passive_message_new_remote_user; } static class Symbol passive_message_remote_user_left; // size: 0x4, address: 0x80A4BF38 // Range: 0x8013C114 -> 0x8013C190 void PassiveMessenger::TriggerRemoteUserLeftMsg(const char * userName /* r31 */) { // Local variables class Symbol token; // r1+0xC const char * msg; // r31 // References // -> static class Symbol passive_message_remote_user_left; } static class Symbol passive_message_game_invite_received; // size: 0x4, address: 0x80A4BF40 // Range: 0x8013C190 -> 0x8013C1FC void PassiveMessenger::TriggerGameInviteReceivedMsg() { // References // -> static class Symbol passive_message_game_invite_received; } static class Symbol _s; // size: 0x4, address: 0x80A4BF48 // Range: 0x8013C1FC -> 0x8013C46C class DataNode PassiveMessenger::Handle(class PassiveMessenger * const this /* r29 */, class DataArray * _msg /* r31 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8013C46C -> 0x8013C4A0 static char * ReadyForTourMsg::Name() {} // Range: 0x8013C4A0 -> 0x8013C4FC static unsigned char ReadyForTourMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } static struct { // total size: 0x28 } __vt__Q230@unnamed@PassiveMessenger_cpp@15ReadyForTourMsg; // size: 0x28, address: 0x80892488 struct { // total size: 0x8 } __RTTI__Q230@unnamed@PassiveMessenger_cpp@15ReadyForTourMsg; // size: 0x8, address: 0x808924F0 struct { // total size: 0x54 } __vt__16PassiveMessenger; // size: 0x54, address: 0x80892680 struct { // total size: 0x8 } __RTTI__16PassiveMessenger; // size: 0x8, address: 0x80892700 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013C4FC -> 0x8013C6C4 */ // Range: 0x8013C4FC -> 0x8013C5D4 static class PassiveMessagesPanel * GetPMPanel() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__20PassiveMessagesPanel; // -> class ObjectDir * sMainDir; } // Range: 0x8013C5D4 -> 0x8013C6C4 static void * ReadyForTourMsg::ReadyForTourMsg(class ReadyForTourMsg * const this /* r30 */, enum NetUIState state /* r31 */) { // Local variables class vector users; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> static struct [anonymous] __vt__Q230@unnamed@PassiveMessenger_cpp@15ReadyForTourMsg; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013C6C4 -> 0x8013C710 */ // Range: 0x8013C6C4 -> 0x8013C710 char * MakeString(const char * fmt /* r0 */, enum NetUIState t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\PendingBattleScore.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013C710 -> 0x8013CA98 */ class PendingBattleScore : public Object { // total size: 0x4C int mBattleID; // offset 0x28, size 0x4 int mAccumScore; // offset 0x2C, size 0x4 int mTotalStars; // offset 0x30, size 0x4 class HxGuid mBandGuid; // offset 0x34, size 0x10 class BotbRecordBattleResponse * mResponse; // offset 0x44, size 0x4 unsigned char mDirty; // offset 0x48, size 0x1 }; // Range: 0x8013C710 -> 0x8013C760 void * PendingBattleScore::PendingBattleScore(class PendingBattleScore * const this /* r31 */) { // References // -> struct [anonymous] __vt__18PendingBattleScore; } // Range: 0x8013C760 -> 0x8013C7F8 void * PendingBattleScore::~PendingBattleScore(class PendingBattleScore * const this /* r30 */) { // References // -> class RockCentralGateway RockCentral; // -> struct [anonymous] __vt__18PendingBattleScore; } // Range: 0x8013C7F8 -> 0x8013C8A0 void PendingBattleScore::SetNewPendingBattleScore(class PendingBattleScore * const this /* r27 */, int battleID /* r28 */, int accumScore /* r29 */, int totalStars /* r30 */, class HxGuid & bandGuid /* r31 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x8013C8A0 -> 0x8013C93C void PendingBattleScore::SubmitScoreIfDirty(class PendingBattleScore * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x8013C93C -> 0x8013C9F4 class BinStream & __ls(class BinStream & dest /* r30 */, const class PendingBattleScore & pbs /* r31 */) {} // Range: 0x8013C9F4 -> 0x8013CA98 class BinStream & __rs(class BinStream & src /* r30 */, class PendingBattleScore & pbs /* r31 */) { // Local variables int version; // r1+0xC } struct { // total size: 0x54 } __vt__18PendingBattleScore; // size: 0x54, address: 0x808927BC struct { // total size: 0x8 } __RTTI__18PendingBattleScore; // size: 0x8, address: 0x80892838 /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013CA98 -> 0x8013CEBC */ // Range: 0x8013CA98 -> 0x8013CB90 class DataNode PendingBattleScore::OnMsg(class PendingBattleScore * const this /* r29 */, const class RockCentralOpCompleteMsg & msg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8013CB90 -> 0x8013CEBC class DataNode PendingBattleScore::Handle(class PendingBattleScore * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\band2\src\meta\PracticePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013CEBC -> 0x8013E4D4 */ class DataArray * types; // size: 0x4, address: 0x80A4BF50 class DataArray * types; // size: 0x4, address: 0x80A4BF58 // Range: 0x8013CEBC -> 0x8013CFCC void * PracticePanel::PracticePanel(class PracticePanel * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> struct [anonymous] __vt__13PracticePanel; } // Range: 0x8013CFCC -> 0x8013D094 void * PracticePanel::~PracticePanel(class PracticePanel * const this /* r29 */) { // References // -> struct [anonymous] __vt__13PracticePanel; } // Range: 0x8013D094 -> 0x8013D1A0 void PracticePanel::Exit(class PracticePanel * const this /* r28 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10MidiParser; // -> class ObjectDir * sMainDir; } // Range: 0x8013D1A0 -> 0x8013D1A4 void PracticePanel::Poll() {} // Range: 0x8013D1A4 -> 0x8013D214 void PracticePanel::SetPitchShiftRatio(float ratio /* f31 */) { // Local variables class GemPlayer * player; // r0 float speed; // f0 // References // -> struct [anonymous] __RTTI__6Player; // -> struct [anonymous] __RTTI__9GemPlayer; // -> class Game * TheGame; } // Range: 0x8013D214 -> 0x8013D21C unsigned char PracticePanel::InVocalMode() {} // Range: 0x8013D21C -> 0x8013D234 void PracticePanel::OnFadeSongOut(float seconds /* f2 */) {} // Range: 0x8013D234 -> 0x8013D24C void PracticePanel::OnFadeSongIn(float seconds /* f2 */) {} // Range: 0x8013D24C -> 0x8013D2B4 void PracticePanel::StopMics() { // Local variables unsigned int i; // r31 // References // -> class Synth * TheSynth; } static class Symbol _s; // size: 0x4, address: 0x80A4BF60 static class Symbol _s; // size: 0x4, address: 0x80A4BF68 static class Symbol _s; // size: 0x4, address: 0x80A4BF70 static class Symbol _s; // size: 0x4, address: 0x80A4BF78 static class Symbol _s; // size: 0x4, address: 0x80A4BF80 static class Symbol _s; // size: 0x4, address: 0x80A4BF88 static class Symbol _s; // size: 0x4, address: 0x80A4BF90 // Range: 0x8013D2B4 -> 0x8013DDB4 class DataNode PracticePanel::Handle(class PracticePanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8013DDB4 -> 0x8013DE30 void * PracticeBackgroundPanel::PracticeBackgroundPanel(class PracticeBackgroundPanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__23PracticeBackgroundPanel; } // Range: 0x8013DE30 -> 0x8013DEB8 void * PracticeBackgroundPanel::~PracticeBackgroundPanel(class PracticeBackgroundPanel * const this /* r29 */) {} // Range: 0x8013DEB8 -> 0x8013DFB4 void PracticeBackgroundPanel::SelectCam(const char * name /* r30 */) { // Local variables class WorldDir * dir; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8PanelDir; // -> struct [anonymous] __RTTI__8WorldDir; } static class Symbol _s; // size: 0x4, address: 0x80A4BF98 // Range: 0x8013DFB4 -> 0x8013E4D4 class DataNode PracticeBackgroundPanel::Handle(class PracticeBackgroundPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__23PracticeBackgroundPanel; // size: 0xAC, address: 0x80892E80 struct { // total size: 0x8 } __RTTI__23PracticeBackgroundPanel; // size: 0x8, address: 0x80892F68 struct { // total size: 0xAC } __vt__13PracticePanel; // size: 0xAC, address: 0x80892F70 struct { // total size: 0x8 } __RTTI__13PracticePanel; // size: 0x8, address: 0x80893048 /* Compile unit: C:\rockband2\system\src\synth\Faders.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013E574 -> 0x8013E93C */ // Range: 0x8013E574 -> 0x8013E6A8 void PracticePanel::Enter(class PracticePanel * const this /* r28 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10MidiParser; // -> class ObjectDir * sMainDir; // -> class Game * TheGame; } // Range: 0x8013E6A8 -> 0x8013E93C class DataNode PracticePanel::OnPracticeMetronome(class PracticePanel * const this /* r30 */, class DataArray * d /* r28 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } /* Compile unit: C:\rockband2\band2\src\meta\PracticePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013E93C -> 0x8013ECEC */ // Range: 0x8013E93C -> 0x8013E980 class Symbol PracticeBackgroundPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8013E980 -> 0x8013EB14 void PracticeBackgroundPanel::SetType(class PracticeBackgroundPanel * const this /* r29 */, class Symbol & PracticeBackgroundPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8013EB14 -> 0x8013EB58 class Symbol PracticePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8013EB58 -> 0x8013ECEC void PracticePanel::SetType(class PracticePanel * const this /* r29 */, class Symbol & PracticePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\PreloadPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013ECEC -> 0x8013FE6C */ class DataArray * types; // size: 0x4, address: 0x80A4BFA0 static class FileCache * gCache; // size: 0x4, address: 0x80A4BFA8 // Range: 0x8013ECEC -> 0x8013EDE0 void * PreloadPanel::PreloadPanel(class PreloadPanel * const this /* r30 */) { // References // -> class ContentMgr & TheContentMgr; // -> static class FileCache * gCache; // -> struct [anonymous] __vt__12PreloadPanel; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; } // Range: 0x8013EDE0 -> 0x8013EEA0 void * PreloadPanel::~PreloadPanel(class PreloadPanel * const this /* r29 */) { // References // -> class ContentMgr & TheContentMgr; // -> struct [anonymous] __vt__12PreloadPanel; } // Range: 0x8013EEA0 -> 0x8013EFFC void PreloadPanel::Load(class PreloadPanel * const this /* r29 */) { // Local variables class Symbol song; // r1+0x20 unsigned char needMount; // r30 const char * c; // r4 // References // -> class ContentMgr & TheContentMgr; // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x8013EFFC -> 0x8013F3DC void PreloadPanel::StartCache(class PreloadPanel * const this /* r31 */) { // Local variables class Symbol song; // r1+0x2C class FilePath path; // r1+0x90 const char * root; // r25 class DataArray * songData; // r25 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class FileCache * gCache; } // Range: 0x8013F3DC -> 0x8013F48C void PreloadPanel::ContentMounted(class PreloadPanel * const this /* r30 */, const char * contentName /* r31 */) { // Local variables class Symbol s; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol wii_dlc_failed; // size: 0x4, address: 0x80A4BFB0 static class Message init; // size: 0x8, address: 0x80979278 // Range: 0x8013F48C -> 0x8013F728 void PreloadPanel::ContentFailed(class PreloadPanel * const this /* r31 */, const char * contentName /* r29 */) { // Local variables class Symbol s; // r1+0x1C // References // -> class BandUI * TheBandUI; // -> class SongMgr & TheSongMgr; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol wii_dlc_failed; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x8013F728 -> 0x8013F7A0 void PreloadPanel::CheckFileCached(class PreloadPanel * const this /* r30 */, const char * file /* r31 */) { // References // -> class Debug TheDebug; // -> static class FileCache * gCache; } // Range: 0x8013F7A0 -> 0x8013F934 unsigned char PreloadPanel::IsLoaded(class PreloadPanel * const this /* r29 */) { // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class FileCache * gCache; // -> const char * gNullStr; } // Range: 0x8013F934 -> 0x8013F93C void PreloadPanel::ClearCache() { // References // -> static class FileCache * gCache; } static class Symbol _s; // size: 0x4, address: 0x80A4BFB8 // Range: 0x8013F93C -> 0x8013FCE0 class DataNode PreloadPanel::Handle(class PreloadPanel * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4BFC0 // Range: 0x8013FCE0 -> 0x8013FE6C unsigned char PreloadPanel::SyncProperty(class PreloadPanel * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xFC } __vt__12PreloadPanel; // size: 0xFC, address: 0x808932E8 struct { // total size: 0x8 } __RTTI__12PreloadPanel; // size: 0x8, address: 0x80893418 /* Compile unit: C:\rockband2\system\src\os\ContentMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013FE6C -> 0x8013FE74 */ // Range: 0x8013FE6C -> 0x8013FE74 unsigned char ContentMgr::MountContent() {} /* Compile unit: C:\rockband2\band2\src\meta\PreloadPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8013FF34 -> 0x80140114 */ // Range: 0x8013FF34 -> 0x8013FF3C char * PreloadPanel::ContentDir() {} // Range: 0x8013FF3C -> 0x8013FF80 class Symbol PreloadPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8013FF80 -> 0x80140114 void PreloadPanel::SetType(class PreloadPanel * const this /* r29 */, class Symbol & PreloadPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\Profile.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80140114 -> 0x801457F0 */ class Symbol t; // size: 0x4, address: 0x80A4BFCC // Range: 0x80140114 -> 0x80140328 void * Profile::Profile(class Profile * const this /* r31 */) { // References // -> struct [anonymous] __vt__7Profile; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x80140328 -> 0x801407A8 void * Profile::~Profile(class Profile * const this /* r30 */) { // References // -> struct [anonymous] __vt__7Profile; } // Range: 0x80140818 -> 0x80140820 class vector & Profile::GetAllChars() {} // Range: 0x80140820 -> 0x801408AC class TourCharLocal * Profile::GetCharFromGuid(class Profile * const this /* r27 */, const class HxGuid & guid /* r28 */) { // Local variables int size; // r30 int i; // r29 } // Range: 0x801408AC -> 0x801408C4 int Profile::NumChars() {} // Range: 0x801408C4 -> 0x801408F8 unsigned char Profile::HasChar() { // Local variables class TourCharLocal * const * it; // r5 } static char buf1[100]; // size: 0x64, address: 0x80979280 // Range: 0x801408F8 -> 0x80140A74 unsigned char Profile::IsCharNameUnique(class Profile * const this /* r31 */, const char * charName /* r28 */) { // Local variables int len1; // r0 int i; // r6 class TourCharLocal * const * it; // r29 const char * charName2; // r28 int len2; // r0 char buf2[100]; // r1+0x8 // References // -> static char buf1[100]; // -> struct __locale _current_locale; } // Range: 0x80140A74 -> 0x80140AF8 unsigned char Profile::IsBandNameUnique(class Profile * const this /* r29 */, const char * bandName /* r30 */) { // Local variables class TourBandLocal * const * it; // r31 } // Range: 0x80140AF8 -> 0x80140DB4 void Profile::DeleteChar(class Profile * const this /* r30 */, const class HxGuid & charGuid /* r31 */) { // Local variables class TourBandLocal * * bandIter; // r28 class TourBandLocal * localBand; // r27 class vector remoteBandsToDelete; // r1+0x20 class RemoteBandData * * remoteIter; // r27 class RemoteBandData * remoteBand; // r1+0x1C class RemoteBandData * * remoteIter; // r27 class TourCharLocal * * charIter; // r27 class TourCharLocal * tourChar; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80140DB4 -> 0x80140F88 void Profile::FindAllBandsForCharacterGuid(const class Profile * const this /* r28 */, const class HxGuid & charGuid /* r29 */, class vector & bands /* r30 */) { // Local variables class TourBandLocal * const * bandIter; // r27 class TourBandLocal * localBand; // r1+0x14 class RemoteBandData * const * remoteIter; // r27 class RemoteBandData * remoteBand; // r1+0x10 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80140F88 -> 0x8014111C void Profile::RemoveCharFromBand(class Profile * const this /* r26 */, const class HxGuid & charGuid /* r27 */, const class HxGuid & bandGuid /* r28 */) { // Local variables class TourBandLocal * const * bandIter; // r30 class TourBandLocal * localBand; // r29 class RemoteBandData * const * remoteIter; // r29 class RemoteBandData * remoteBand; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8014111C -> 0x801412E8 unsigned char Profile::HasAdditionalMembersFromProfile(class Profile * const this /* r29 */, const class HxGuid & charGuid /* r30 */) { // Local variables class vector remoteRoster; // r1+0x40 const struct BandMember * rosterIter; // r31 class HxGuid remoteBandMemberGuid; // r1+0x30 } // Range: 0x801412E8 -> 0x80141408 void Profile::AddNewBand(class Profile * const this /* r29 */, class TourBandLocal * pBand /* r1+0x8 */) { // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80141408 -> 0x80141420 int Profile::NumBands() {} // Range: 0x80141420 -> 0x80141430 class TourBandLocal * Profile::GetBand() {} // Range: 0x80141430 -> 0x80141624 void Profile::DeleteBand(class Profile * const this /* r31 */, const class HxGuid & bandGuid /* r27 */) { // Local variables class TourBandLocal * * bandIter; // r29 class TourBandLocal * localBand; // r28 class RemoteBandData * * remoteIter; // r28 class RemoteBandData * remoteBand; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80141624 -> 0x80141658 unsigned char Profile::OwnsBand() { // Local variables class TourBandLocal * const * it; // r5 } // Range: 0x80141658 -> 0x80141810 void Profile::FindAllBands(const class Profile * const this /* r29 */, class vector & bands /* r30 */) { // Local variables class TourBandLocal * const * bandIter; // r28 class TourBandLocal * localBand; // r1+0x14 class RemoteBandData * const * remoteIter; // r28 class RemoteBandData * remoteBand; // r1+0x10 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80141810 -> 0x80141964 void Profile::AddNewRemoteBand(class Profile * const this /* r30 */, class RemoteBandData * pRemoteBand /* r1+0x8 */) { // Local variables int maxRemoteBands; // r0 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80141964 -> 0x80141B04 void Profile::DeleteRemoteBand(class Profile * const this /* r29 */, class RemoteBandData * pRemoteBand /* r1+0x8 */) { // Local variables class RemoteBandData * * it; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80141B04 -> 0x80141B88 class RemoteBandData * Profile::GetRemoteBand(class Profile * const this /* r29 */, const class HxGuid & guid /* r30 */) { // Local variables class RemoteBandData * * it; // r31 } // Range: 0x80141B88 -> 0x80141C28 class RemoteBandData * Profile::GetRemoteBand(class Profile * const this /* r30 */, int i /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80141C28 -> 0x80141C9C void Profile::SetComebackTarget(class Profile * const this /* r31 */, class User * target /* r30 */) {} // Range: 0x80141C9C -> 0x80141CB8 unsigned char Profile::IsComebackTarget() {} // Range: 0x80141CB8 -> 0x80141D0C void Profile::UpdateSoloScore(class Profile * const this /* r31 */) {} // Range: 0x80141D0C -> 0x80141D4C void Profile::SetPendingBattleScore(class Profile * const this /* r31 */) {} // Range: 0x80141D4C -> 0x80141DAC void Profile::UpdateLeaderboards(class Profile * const this /* r30 */) { // Local variables class TourBandLocal * * it; // r31 } static class Symbol career; // size: 0x4, address: 0x80A4BFD4 // Range: 0x80141DAC -> 0x80141EAC int Profile::GetSongHighScore(const class Profile * const this /* r29 */, class Symbol & songName /* r30 */, enum TrackType type /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol career; } // Range: 0x80141EAC -> 0x80141EF8 void Profile::RecordHighScore(class Profile * const this /* r31 */) {} // Range: 0x80141EF8 -> 0x80141F40 unsigned char Profile::IsSongUnlocked() {} // Range: 0x80141F40 -> 0x80142040 void Profile::UnlockSong(class Profile * const this /* r29 */, class Symbol & song /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongMgr & TheSongMgr; } // Range: 0x80142040 -> 0x8014212C void Profile::ResyncBandName(class Profile * const this /* r27 */, class TourBandLocal * pBand /* r28 */) { // Local variables class RemoteBandData * * remoteIter; // r30 class RemoteBandData * remoteBand; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8014212C -> 0x80142240 void Profile::ResyncCharName(class Profile * const this /* r29 */, class CharData * pChar /* r28 */, unsigned char charNameUnchecked /* r27 */) { // Local variables const class HxGuid & charGuid; // r31 const char * charName; // r30 class vector bands; // r1+0xC class BandData * * it; // r29 class BandData * pBand; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80142240 -> 0x801422C4 unsigned char Profile::IsModifierUnlocked() {} // Range: 0x801422C4 -> 0x80142310 void Profile::UnlockModifier(class Profile * const this /* r31 */) { // Local variables struct pair result; // r1+0x8 } // Range: 0x80142310 -> 0x8014239C void Profile::Init(class Profile * const this /* r30 */, int padNum /* r31 */) { // References // -> class SongMgr & TheSongMgr; } // Range: 0x8014239C -> 0x801423C0 unsigned char Profile::HasValidSaveData() {} // Range: 0x801423C0 -> 0x801423C8 unsigned char Profile::HasCheated() {} // Range: 0x801423C8 -> 0x801423D4 void Profile::MarkSaveDataAsCheated() {} // Range: 0x801423D4 -> 0x8014248C void Profile::SortDirtyRemoteBandsToFront(class Profile * const this /* r24 */) { // Local variables int countMinusOne; // r29 int i; // r28 int j; // r27 class RemoteBandData * pBandA; // r26 class RemoteBandData * pBandB; // r25 } // Range: 0x8014248C -> 0x80142494 int Profile::GetPadNum() {} // Range: 0x80142494 -> 0x8014249C int Profile::GetPlayerNum() {} // Range: 0x8014249C -> 0x801424A4 enum ProfileSaveState Profile::GetSaveState() {} // Range: 0x801424A4 -> 0x801425BC void Profile::SetSaveState(class Profile * const this /* r29 */, enum ProfileSaveState state /* r30 */) { // References // -> class CharCache * TheCharCache; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801425BC -> 0x801425C4 unsigned char Profile::IsActive() {} static struct DateTime defaultTimestamp; // size: 0x6, address: 0x809792E4 // Range: 0x801425C4 -> 0x80142674 struct DateTime & Profile::GetBotbNewsTimestamp(const class Profile * const this /* r28 */, class HxGuid & bandId /* r29 */) { // Local variables int i; // r30 // References // -> static struct DateTime defaultTimestamp; } static class String defaultCookies; // size: 0xC, address: 0x809792F8 // Range: 0x80142674 -> 0x80142734 class String & Profile::GetBotbNewsCookies(const class Profile * const this /* r28 */, class HxGuid & bandId /* r29 */) { // Local variables int i; // r30 // References // -> static class String defaultCookies; } // Range: 0x80142734 -> 0x801428F8 void Profile::SetBotbNewsCreds(class Profile * const this /* r27 */, class HxGuid & bandId /* r28 */, struct DateTime & t /* r29 */, class String & newCookies /* r30 */) { // Local variables int earlyIdx; // r25 struct DateTime earliest; // r1+0x8 int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x801428F8 -> 0x8014297C void Profile::SetBotbNewsCredsCookiesOnly(class Profile * const this /* r27 */, class HxGuid & bandId /* r28 */, class String & newCookies /* r29 */) { // Local variables int i; // r30 } // Range: 0x8014297C -> 0x80142984 int Profile::GetUploadFriendsToken() {} // Range: 0x80142984 -> 0x8014298C void Profile::SetUploadFriendsToken() {} // Range: 0x8014298C -> 0x80142D78 void Profile::Save(class Profile * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int count; // r28 int i; // r27 struct _Rb_tree_iterator iter; // r1+0x40 class Symbol sym; // r1+0x3C unsigned char hasComebackTarget; // r27 int i; // r27 int i; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4BFDC // Range: 0x80142D78 -> 0x8014344C void Profile::Load(class Profile * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int version; // r1+0x4C int count; // r1+0x48 int i; // r31 class TourBandLocal * band; // r1+0x44 class RemoteBandData * remoteBand; // r1+0x40 class Symbol lesson; // r1+0x3C int ignore; // r1+0x38 struct BeatData bd; // r1+0x60 class Symbol sym; // r1+0x34 struct DateTime t; // r1+0x58 int i; // r28 int i; // r28 int i; // r27 // References // -> class ProfileMgr TheProfileMgr; // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_saving_feature; // -> const char * gNullStr; // -> class BandUserMgr * TheBandUserMgr; // -> class SongMgr & TheSongMgr; // -> class Tour * TheTour; } // Range: 0x8014344C -> 0x80143598 unsigned char Profile::IsUnsaved(const class Profile * const this /* r30 */) { // Local variables int i; // r31 // References // -> class ProfileMgr TheProfileMgr; } static class ProfileChangedMsg msg; // size: 0x8, address: 0x80979310 // Range: 0x80143598 -> 0x801438B8 void Profile::SaveLoadComplete(class Profile * const this /* r30 */, enum ProfileSaveState saveState /* r31 */) { // Local variables int count; // r29 int i; // r28 // References // -> class ProfileMgr TheProfileMgr; // -> struct [anonymous] __vt__17ProfileChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class ProfileChangedMsg msg; } // Range: 0x801438B8 -> 0x801439D0 unsigned char Profile::HasSomethingToUpload(class Profile * const this /* r31 */) { // Local variables int count; // r29 int i; // r28 int padNum; // r0 // References // -> class PlatformMgr ThePlatformMgr; } static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4BFE4 // Range: 0x801439D0 -> 0x80143DA0 void Profile::DeleteAll(class Profile * const this /* r31 */) { // Local variables class TourCharLocal * * it; // r30 class TourBandLocal * * it; // r30 class RemoteBandData * * it; // r30 // References // -> class ProfileMgr TheProfileMgr; // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_saving_feature; } // Range: 0x80143DA0 -> 0x80143E2C class DataNode Profile::IsLessonComplete(class Profile * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x80143E2C -> 0x80143EEC class DataNode Profile::SetLessonComplete(class Profile * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x80143EEC -> 0x80143F1C unsigned char __eq() {} // Range: 0x80143F1C -> 0x80143F78 unsigned char Profile::IsBeatComplete() { // Local variables struct BeatData bd; // r1+0x8 unsigned char complete; // r0 // References // -> const char * gNullStr; } // Range: 0x80143F78 -> 0x8014403C void Profile::SetBeatComplete(class Profile * const this /* r30 */) { // Local variables struct BeatData bd; // r1+0x10 // References // -> const char * gNullStr; } static class ProfileActivatedMsg msgActivated; // size: 0x8, address: 0x80979328 // Range: 0x8014403C -> 0x8014454C class DataNode Profile::OnButtonDownMsg(class Profile * const this /* r31 */, const class ButtonDownMsg & msg /* r30 */) { // Local variables class DataNode ret; // r1+0x58 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__19ProfileActivatedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class ProfileActivatedMsg msgActivated; } static class ProfileActivatedMsg msgActivated; // size: 0x8, address: 0x80979340 // Range: 0x8014454C -> 0x80144868 void Profile::Activate(class Profile * const this /* r30 */) { // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__19ProfileActivatedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class ProfileActivatedMsg msgActivated; } static class Symbol _s; // size: 0x4, address: 0x80A4BFEC static class Symbol _s; // size: 0x4, address: 0x80A4BFF4 static class Symbol _s; // size: 0x4, address: 0x80A4BFFC static class Symbol _s; // size: 0x4, address: 0x80A4C004 static class Symbol _s; // size: 0x4, address: 0x80A4C00C static class Symbol _s; // size: 0x4, address: 0x80A4C014 static class Symbol _s; // size: 0x4, address: 0x80A4C01C static class Symbol _s; // size: 0x4, address: 0x80A4C024 static class Symbol _s; // size: 0x4, address: 0x80A4C02C static class Symbol _s; // size: 0x4, address: 0x80A4C034 static class Symbol _s; // size: 0x4, address: 0x80A4C03C // Range: 0x80144868 -> 0x801457F0 class DataNode Profile::Handle(class Profile * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x60 class MessageTimer _mt; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode _n; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xC } __vt__17ProfileChangedMsg; // size: 0xC, address: 0x80893984 struct { // total size: 0x8 } __RTTI__17ProfileChangedMsg; // size: 0x8, address: 0x808939B0 struct { // total size: 0x84 } __vt__7Profile; // size: 0x84, address: 0x808939F0 class _List_node : public _List_node_base { // total size: 0x30 public: struct SoloSongStatus _M_data; // offset 0x8, size 0x28 }; struct { // total size: 0x8 } __RTTI__P8BeatData; // size: 0x8, address: 0x80893B58 struct { // total size: 0x8 } __RTTI__PP14RemoteBandData; // size: 0x8, address: 0x80893B78 struct { // total size: 0x8 } __RTTI__PP13TourBandLocal; // size: 0x8, address: 0x80893B98 struct { // total size: 0x8 } __RTTI__PP8BandData; // size: 0x8, address: 0x80893BB0 /* Compile unit: C:\rockband2\band2\src\meta\ProfileMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014594C -> 0x80145B9C */ // Range: 0x8014594C -> 0x80145A98 void Profile::GetAvailableCharList(const class Profile * const this /* r28 */, class vector * pCharList /* r29 */) { // Local variables class vector users; // r1+0x14 class TourCharLocal * const * it; // r30 class TourCharLocal * const pChar; // r1+0x10 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80145A98 -> 0x80145B9C void Profile::AddNewChar(class Profile * const this /* r29 */, class TourCharLocal * pChar /* r1+0x8 */) { // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80145B9C -> 0x8014601C */ // Range: 0x80145B9C -> 0x80145C7C class TourBandLocal * * find() {} // Range: 0x80145C7C -> 0x80145D5C class RemoteBandData * * find() {} // Range: 0x80145D5C -> 0x80145EBC struct BeatData * find(const struct BeatData * __last /* r28 */, const struct BeatData & __val /* r29 */) {} // Range: 0x80145EBC -> 0x8014601C struct BeatData * find(struct BeatData * __last /* r28 */, const struct BeatData & __val /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801460A0 -> 0x80146100 */ // Range: 0x801460A0 -> 0x80146100 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80146100 -> 0x80146694 */ // Range: 0x80146100 -> 0x801462EC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BeatData * __pos /* r26 */, const struct BeatData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BeatData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8BeatData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801462EC -> 0x80146424 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RemoteBandData * * __pos /* r28 */, class RemoteBandData * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RemoteBandData * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14RemoteBandData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80146424 -> 0x8014655C void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourBandLocal * * __pos /* r28 */, class TourBandLocal * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourBandLocal * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TourBandLocal; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014655C -> 0x80146694 void vector::_M_insert_overflow(class vector * const this /* r27 */, class BandData * * __pos /* r28 */, class BandData * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BandData * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8BandData; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\ProfileMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80146694 -> 0x8014C9BC */ class Symbol t; // size: 0x4, address: 0x80A4C044 // Range: 0x80146694 -> 0x801466C8 static void SetVolume() { // References // -> class Game * TheGame; } // Range: 0x801466C8 -> 0x80146784 class vector ProfileMgr::GetAll(class vector * profiles /* r30 */, class ProfileMgr * const this /* r31 */) { // Local variables class Profile * it; // r1+0xC } // Range: 0x80146784 -> 0x8014685C class vector ProfileMgr::GetSignedIn(class vector * profiles /* r30 */, class ProfileMgr * const this /* r31 */) { // Local variables class Profile * it; // r1+0xC int pad; // r0 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x8014685C -> 0x801468C4 class Profile * ProfileMgr::GetProfile(class ProfileMgr * const this /* r30 */, const class User * pUser /* r31 */) {} // Range: 0x801468C4 -> 0x801469CC class DataNode ProfileMgr::OnGetProfile(class ProfileMgr * const this /* r31 */) { // Local variables class User * pUser; // r4 class DataNode node; // r1+0x8 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; // -> class UserMgr * TheUserMgr; } static class Symbol is_h2h_arrangement; // size: 0x4, address: 0x80A4C04C static class Symbol is_practice; // size: 0x4, address: 0x80A4C054 static class Symbol is_drum_trainer; // size: 0x4, address: 0x80A4C05C static class Symbol is_tutorial; // size: 0x4, address: 0x80A4C064 // Range: 0x801469CC -> 0x80146D00 class GameplayOptions * ProfileMgr::GetGameplayOptionsFromUser(class ProfileMgr * const this /* r28 */, class BandUser * user /* r26 */) { // Local variables enum ControllerType type; // r0 int slot; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol is_tutorial; // -> static class Symbol is_drum_trainer; // -> static class Symbol is_practice; // -> static class Symbol is_h2h_arrangement; } // Range: 0x80146D00 -> 0x80146DA8 class Profile * ProfileMgr::GetSaveData(class ProfileMgr * const this /* r29 */, class BandUser * pUser /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80146DA8 -> 0x80146E1C unsigned char ProfileMgr::CanSave(class ProfileMgr * const this /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80146E1C -> 0x80146F30 class vector ProfileMgr::GetNewlySignedIn(class vector * profiles /* r27 */, class ProfileMgr * const this /* r28 */) { // Local variables class Profile * it; // r1+0xC int pad; // r29 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80146F30 -> 0x80147044 class vector ProfileMgr::GetShouldAutosave(class vector * profiles /* r27 */, class ProfileMgr * const this /* r28 */) { // Local variables class Profile * it; // r30 class Profile & profile; // r1+0xC int pad; // r0 unsigned char b1; // r0 unsigned char b2; // r29 unsigned char b3; // r0 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80147044 -> 0x801470C0 unsigned char ProfileMgr::HasUnsavedData(class ProfileMgr * const this /* r30 */) { // Local variables int padNum; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801470C0 -> 0x80147194 unsigned char ProfileMgr::HasUnsavedDataForPad(class ProfileMgr * const this /* r30 */, int padNum /* r29 */) { // Local variables class Profile * pData; // r30 // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class ProfileChangedMsg msg; // size: 0x8, address: 0x80979358 // Range: 0x80147194 -> 0x80147428 void ProfileMgr::PurgeOldData(class ProfileMgr * const this /* r29 */) { // Local variables class Profile * it; // r30 // References // -> struct [anonymous] __vt__17ProfileChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class ProfileChangedMsg msg; } // Range: 0x80147428 -> 0x80147488 void ProfileMgr::MarkAllSaveDataAsCheated(class ProfileMgr * const this /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80147488 -> 0x801474EC void ProfileMgr::MarkCheatersForPurge(class ProfileMgr * const this /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x801474EC -> 0x801475E4 void ProfileMgr::GetUsersWhoCanOwnCharacters(const class ProfileMgr * const this /* r27 */, class vector & users /* r28 */, unsigned char includeFull /* r29 */) { // Local variables const class Profile * it; // r30 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x801475E4 -> 0x80147678 unsigned char ProfileMgr::CanAnyProfileOwnANewChar() { // Local variables class vector users; // r1+0xC } // Range: 0x80147678 -> 0x80147770 void ProfileMgr::GetUsersWhoCanOwnBands(const class ProfileMgr * const this /* r27 */, class vector & users /* r28 */, unsigned char includeFull /* r29 */) { // Local variables const class Profile * it; // r30 // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80147770 -> 0x80147804 unsigned char ProfileMgr::CanAnyProfileOwnANewBand() { // Local variables class vector users; // r1+0xC } // Range: 0x80147804 -> 0x8014787C unsigned char ProfileMgr::IsCharNameUnique(const char * charName /* r30 */) { // Local variables class Profile * pProfile; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8014787C -> 0x80147944 class DataNode ProfileMgr::OnIsCharNameUnique(class ProfileMgr * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables class String strCharName; // r1+0x8 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } // Range: 0x80147944 -> 0x801479BC unsigned char ProfileMgr::IsBandNameUnique(const char * bandName /* r30 */) { // Local variables class Profile * pProfile; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801479BC -> 0x80147A84 class DataNode ProfileMgr::OnIsBandNameUnique(class ProfileMgr * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables class String strBandName; // r1+0x8 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } // Range: 0x80147A84 -> 0x80147B34 unsigned char ProfileMgr::IsCharAvailable(const class CharData * c /* r28 */, class vector & users /* r29 */) { // Local variables class BandUser * * it; // r31 class BandUser * pUser; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80147B34 -> 0x80147BC8 class Profile * ProfileMgr::FindCharOwnerFromGuid(class ProfileMgr * const this /* r29 */, const class HxGuid & guidChar /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80147BC8 -> 0x80147C64 class TourCharLocal * ProfileMgr::FindCharFromGuid(class ProfileMgr * const this /* r29 */, const class HxGuid & guidChar /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80147C64 -> 0x80147CF8 class Profile * ProfileMgr::FindBandOwner(class ProfileMgr * const this /* r29 */, const class TourBandLocal * band /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80147CF8 -> 0x80147DEC void ProfileMgr::FindBandMembers(class ProfileMgr * const this /* r27 */, const class TourBand * band /* r28 */, class vector & members /* r29 */) { // Local variables class Profile * it; // [invalid] class Profile & profile; // r31 int n; // r30 class TourCharLocal * c; // r1+0xC } // Range: 0x80147DEC -> 0x80147E80 class Profile * ProfileMgr::FindRemoteBandOwner(class ProfileMgr * const this /* r29 */, const class HxGuid & guidBand /* r30 */) { // Local variables class Profile * it; // r31 class RemoteBandData * pBand; // r0 } // Range: 0x80147E80 -> 0x80147F04 void ProfileMgr::DeleteCharFromAllProfiles(class ProfileMgr * const this /* r30 */) { // Local variables class HxGuid charGuidCopy; // r1+0x8 class Profile * it; // r31 } // Range: 0x80147F04 -> 0x80147F88 void ProfileMgr::DeleteBandFromAllProfiles(class ProfileMgr * const this /* r30 */) { // Local variables class HxGuid bandGuidCopy; // r1+0x8 class Profile * it; // r31 } // Range: 0x80147F88 -> 0x80148000 int ProfileMgr::FindPlayerNumFromTourchar(class ProfileMgr * const this /* r29 */, class TourCharLocal * pChar /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80148000 -> 0x801480B0 class BandUser * ProfileMgr::GetUserFromCharData(class ProfileMgr * const this /* r29 */) { // Local variables class TourCharLocal * pCharLocal; // r31 class Profile * it; // r30 // References // -> class BandUserMgr * TheBandUserMgr; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x801480B0 -> 0x80148128 int ProfileMgr::FindPlayerNumFromTourBand(class ProfileMgr * const this /* r29 */, class TourBand * pBand /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80148128 -> 0x80148198 void ProfileMgr::ResyncBandName(class ProfileMgr * const this /* r29 */, class TourBandLocal * pBand /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80148198 -> 0x8014824C void ProfileMgr::ResyncCharName(class ProfileMgr * const this /* r28 */, class CharData * pChar /* r29 */, unsigned char charNameUnchecked /* r30 */) { // Local variables class Profile * it; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8014824C -> 0x80148320 void ProfileMgr::ResyncAllBandsAndChars(class ProfileMgr * const this /* r27 */) { // Local variables class Profile * it; // [invalid] class Profile & profile; // r29 int bandCount; // r0 int iBand; // r30 class TourBandLocal * pBand; // r0 int charCount; // r0 int iChar; // r28 } // Range: 0x80148320 -> 0x8014857C void ProfileMgr::CacheBandData(class ProfileMgr * const this /* r28 */, class TourBand * band /* r29 */) { // Local variables class Profile * it; // r30 unsigned char shouldCache; // r27 class vector members; // r1+0x1C int n; // r26 class RemoteBandData * bandCache; // r26 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8014857C -> 0x8014861C class DataNode ProfileMgr::OnMsg() { // Local variables class vector profiles; // r1+0xC class Profile * * it; // r31 } // Range: 0x8014861C -> 0x80148694 unsigned char ProfileMgr::NeedsUpload(class ProfileMgr * const this /* r30 */) { // Local variables class Profile * it; // r31 } // Range: 0x80148694 -> 0x801486FC unsigned char ProfileMgr::IsPadActive() { // Local variables class Profile * pProfile; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801486FC -> 0x80148704 int ProfileMgr::GetMaxChars() {} // Range: 0x80148704 -> 0x8014870C int ProfileMgr::GetMaxBands() {} // Range: 0x8014870C -> 0x80148714 int ProfileMgr::GetMaxRemoteBands() {} // Range: 0x80148714 -> 0x801487A8 unsigned char ProfileMgr::CanCreateChar(class ProfileMgr * const this /* r31 */) { // Local variables class Profile * pProfile; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801487A8 -> 0x801487C0 unsigned char ProfileMgr::UnlockAllSongs() { // Local variables unsigned char t; // r4 } // Range: 0x801487C0 -> 0x801487CC void ProfileMgr::RelockSongs() {} // Range: 0x801487CC -> 0x80148858 unsigned char ProfileMgr::IsSongUnlocked(class ProfileMgr * const this /* r29 */, class Symbol & song /* r30 */) { // Local variables class Profile * p; // r31 } // Range: 0x80148858 -> 0x801488FC void ProfileMgr::UnlockSong(class Symbol & song /* r30 */) { // Local variables class vector profiles; // r1+0x10 class Profile * * p; // r31 } // Range: 0x801488FC -> 0x80148990 void ProfileMgr::RemoveCharFromBand(class ProfileMgr * const this /* r29 */, const class HxGuid & charGuid /* r30 */) { // Local variables class HxGuid bandGuidCopy; // r1+0x8 class Profile * iter; // r31 } // Range: 0x80148990 -> 0x80148B58 void ProfileMgr::GetUniqueProfiles(class vector & profiles /* r28 */, unsigned char only_particpating /* r29 */) { // Local variables class vector bul; // r1+0x20 class BandUser * * u; // r30 class Profile * p; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80148B58 -> 0x80148B60 enum ProfileSaveState ProfileMgr::GetGlobalOptionsSaveState() {} // Range: 0x80148B60 -> 0x80148BD8 void ProfileMgr::SetGlobalOptionsSaveState(class ProfileMgr * const this /* r30 */, enum ProfileSaveState state /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80148BD8 -> 0x80148CA8 unsigned char ProfileMgr::GlobalOptionsNeedsSave(class ProfileMgr * const this /* r31 */) { // Local variables int i; // r4 int i; // r4 int i; // r4 } // Range: 0x80148CA8 -> 0x80148CFC int ProfileMgr::GetGlobalOptionsSize(class ProfileMgr * const this /* r30 */) { // Local variables int size; // r31 } // Range: 0x80148CFC -> 0x80148F68 void ProfileMgr::SaveGlobalOptions(class ProfileMgr * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int i; // r29 int i; // r29 int i; // r29 } // Range: 0x80148F68 -> 0x80149268 void ProfileMgr::LoadGlobalOptions(class ProfileMgr * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int version; // r1+0x10 int i; // r29 int i; // r29 int i; // r29 // References // -> class Net TheNet; // -> class Debug TheDebug; } // Range: 0x80149268 -> 0x80149310 void ProfileMgr::InitSliders(class ProfileMgr * const this /* r29 */) {} // Range: 0x80149310 -> 0x801493EC float ProfileMgr::SliderIxToDb(const class ProfileMgr * const this /* r29 */, int ixVol /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801493EC -> 0x801494C8 float ProfileMgr::SliderIxToRatio(const class ProfileMgr * const this /* r29 */, int ixVol /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801494C8 -> 0x80149534 int ProfileMgr::GetSliderStepCount(const class ProfileMgr * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80149534 -> 0x80149BF4 void ProfileMgr::PushAllOptions(class ProfileMgr * const this /* r29 */) { // Local variables class vector & players; // r0 class Player * * it; // r28 // References // -> class Rnd & TheRnd; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6FxSend; // -> class Game * TheGame; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Synth * TheSynth; } // Range: 0x80149BF4 -> 0x80149C04 void ProfileMgr::SetBackgroundVolume() {} // Range: 0x80149C04 -> 0x80149C14 void ProfileMgr::SetForegroundVolume() {} // Range: 0x80149C14 -> 0x80149C24 void ProfileMgr::SetFxVolume() {} // Range: 0x80149C24 -> 0x80149C40 int ProfileMgr::GetFxVolume() {} // Range: 0x80149C40 -> 0x80149C50 void ProfileMgr::SetCrowdVolume() {} // Range: 0x80149C50 -> 0x80149CB0 void ProfileMgr::SetVocalCueVolume(class ProfileMgr * const this /* r30 */, int ixVol /* r31 */) {} // Range: 0x80149CB0 -> 0x80149CC0 void ProfileMgr::SetBassBoost() {} // Range: 0x80149CC0 -> 0x80149CD0 void ProfileMgr::SetDolby() {} // Range: 0x80149CD0 -> 0x80149D30 void ProfileMgr::SetOverscan(class ProfileMgr * const this /* r31 */) { // References // -> class Rnd & TheRnd; } // Range: 0x80149D30 -> 0x80149D40 void ProfileMgr::SetMono() {} // Range: 0x80149D40 -> 0x80149D50 void ProfileMgr::SetSyncPresetIx() {} // Range: 0x80149D50 -> 0x80149D60 float ProfileMgr::GetSongToTaskMgrMs() {} // Range: 0x80149D60 -> 0x80149D68 float ProfileMgr::GetSongToTaskMgrMsRaw() {} // Range: 0x80149D68 -> 0x80149D84 void ProfileMgr::SetSongToTaskMgrMsRaw() {} static class Symbol wii_guitar; // size: 0x4, address: 0x80A4C06C static class Symbol wii_roguitar; // size: 0x4, address: 0x80A4C074 static class Symbol wii_drums; // size: 0x4, address: 0x80A4C07C static class Symbol wii_rodrums; // size: 0x4, address: 0x80A4C084 static class Symbol wii_remote; // size: 0x4, address: 0x80A4C08C static class Symbol wii_classic; // size: 0x4, address: 0x80A4C094 // Range: 0x80149D84 -> 0x80149F14 float ProfileMgr::GetPadExtraLag(int padNum /* r30 */) { // Local variables float controllerExtraLag; // f31 // References // -> static class Symbol wii_classic; // -> static class Symbol wii_remote; // -> static class Symbol wii_rodrums; // -> static class Symbol wii_drums; // -> static class Symbol wii_roguitar; // -> static class Symbol wii_guitar; } // Range: 0x80149F14 -> 0x80149F74 float ProfileMgr::GetSyncOffset(const class ProfileMgr * const this /* r31 */) { // Local variables float controllerExtraLag; // f31 } // Range: 0x80149F74 -> 0x80149F7C float ProfileMgr::GetSyncOffsetRaw() {} // Range: 0x80149F7C -> 0x80149F9C void ProfileMgr::SetSyncOffsetRaw() {} // Range: 0x80149F9C -> 0x80149FD4 float ProfileMgr::GetExcessVideoLag(const class ProfileMgr * const this /* r31 */) {} // Range: 0x80149FD4 -> 0x8014A048 void ProfileMgr::SetExcessVideoLag(class ProfileMgr * const this /* r31 */, float ms /* f30 */) { // Local variables float fOldAudioLag; // f31 } // Range: 0x8014A048 -> 0x8014A07C float ProfileMgr::GetExcessAudioLagNeutral(const class ProfileMgr * const this /* r31 */) {} // Range: 0x8014A07C -> 0x8014A0B0 float ProfileMgr::GetExcessVideoLagNeutral(const class ProfileMgr * const this /* r31 */) {} // Range: 0x8014A0B0 -> 0x8014A108 float ProfileMgr::GetExcessAudioLag(const class ProfileMgr * const this /* r31 */) {} // Range: 0x8014A108 -> 0x8014A160 void ProfileMgr::SetExcessAudioLag(class ProfileMgr * const this /* r31 */, float ms /* f31 */) {} // Range: 0x8014A160 -> 0x8014A21C void ProfileMgr::SetPlayedBefore() { // References // -> class Debug TheDebug; } // Range: 0x8014A21C -> 0x8014A29C unsigned char ProfileMgr::GetPlayedBefore() { // References // -> class Debug TheDebug; } // Range: 0x8014A29C -> 0x8014A2A4 float ProfileMgr::GetBackgroundVolumeDb() {} // Range: 0x8014A2A4 -> 0x8014A2AC float ProfileMgr::GetForegroundVolumeDb() {} // Range: 0x8014A2AC -> 0x8014A2E4 float ProfileMgr::GetFxVolumeDb(const class ProfileMgr * const this /* r31 */) {} // Range: 0x8014A2E4 -> 0x8014A2EC float ProfileMgr::GetVocalCueVolumeDb() {} // Range: 0x8014A2EC -> 0x8014A2F4 float ProfileMgr::GetCrowdVolumeDb() {} // Range: 0x8014A2F4 -> 0x8014A3A0 void ProfileMgr::UpdateVocalVolue(class ProfileMgr * const this /* r29 */) { // Local variables class BandUser * user; // r31 int padNum; // r4 class Mic * mic; // r30 int ixVol; // r0 // References // -> class Synth * TheSynth; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8014A3A0 -> 0x8014A44C void ProfileMgr::UpdateMicGain(class ProfileMgr * const this /* r29 */) { // Local variables class BandUser * user; // r31 int padNum; // r4 class Mic * mic; // r30 int ixVol; // r0 // References // -> class Synth * TheSynth; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8014A44C -> 0x8014A4B4 void ProfileMgr::SetUsername(class ProfileMgr * const this /* r31 */) { // References // -> class Net TheNet; } // Range: 0x8014A4B4 -> 0x8014A4C0 void ProfileMgr::OnEnableSigninActivation() {} static class Symbol is_tour; // size: 0x4, address: 0x80A4C09C static class Symbol sign_out; // size: 0x4, address: 0x80A4C0A4 static class Message init; // size: 0x8, address: 0x80979370 enum SignoutError { kLocalUserSignedOut = 0, kBandOwnerSignedOut = 1, kProfileOwnerSignedOut = 2, }; // Range: 0x8014A4C0 -> 0x8014AAA0 class DataNode ProfileMgr::OnMsg(class ProfileMgr * const this /* r24 */) { // Local variables unsigned char isSignout; // r30 unsigned char isBadState; // r29 enum SignoutError errorReason; // r28 unsigned long signinChangeMask; // r27 int padCur; // r26 unsigned char isMatchmaking; // r25 enum TransitionState ts; // r0 class Profile * pProfile; // r21 int playerNum; // r20 class TourBandLocal * band; // r0 class BandUser * pSignedOutUser; // r0 class vector users; // r1+0x38 class BandUser * * it; // r20 class BandUser * pOtherUser; // r19 const char * tour_band_sel_screen; // r19 class UIScreen * screen; // r0 // References // -> class BandUI * TheBandUI; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol sign_out; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> class BandUserMgr * TheBandUserMgr; // -> struct [anonymous] __RTTI__8TourBand; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Tour * TheTour; // -> class NetSession * TheNetSession; // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8UIScreen; // -> struct [anonymous] __RTTI__17MatchmakingScreen; // -> class UIManager TheUI; } // Range: 0x8014AAA0 -> 0x8014ABA8 class DataNode ProfileMgr::OnMsg(class ProfileMgr * const this /* r27 */, const class ButtonDownMsg & msg /* r28 */) { // Local variables unsigned char isButtonHandled; // r30 class Profile * it; // r29 class DataNode ret; // r1+0x8 } static class Symbol _s; // size: 0x4, address: 0x80A4C0AC static class Symbol _s; // size: 0x4, address: 0x80A4C0B4 static class Symbol _s; // size: 0x4, address: 0x80A4C0BC static class Symbol _s; // size: 0x4, address: 0x80A4C0C4 static class Symbol _s; // size: 0x4, address: 0x80A4C0CC static class Symbol _s; // size: 0x4, address: 0x80A4C0D4 static class Symbol _s; // size: 0x4, address: 0x80A4C0DC static class Symbol _s; // size: 0x4, address: 0x80A4C0E4 static class Symbol _s; // size: 0x4, address: 0x80A4C0EC static class Symbol _s; // size: 0x4, address: 0x80A4C0F4 static class Symbol _s; // size: 0x4, address: 0x80A4C0FC static class Symbol _s; // size: 0x4, address: 0x80A4C104 static class Symbol _s; // size: 0x4, address: 0x80A4C10C static class Symbol _s; // size: 0x4, address: 0x80A4C114 static class Symbol _s; // size: 0x4, address: 0x80A4C11C static class Symbol _s; // size: 0x4, address: 0x80A4C124 static class Symbol _s; // size: 0x4, address: 0x80A4C12C static class Symbol _s; // size: 0x4, address: 0x80A4C134 static class Symbol _s; // size: 0x4, address: 0x80A4C13C static class Symbol _s; // size: 0x4, address: 0x80A4C144 static class Symbol _s; // size: 0x4, address: 0x80A4C14C static class Symbol _s; // size: 0x4, address: 0x80A4C154 static class Symbol _s; // size: 0x4, address: 0x80A4C15C static class Symbol _s; // size: 0x4, address: 0x80A4C164 static class Symbol _s; // size: 0x4, address: 0x80A4C16C static class Symbol _s; // size: 0x4, address: 0x80A4C174 static class Symbol _s; // size: 0x4, address: 0x80A4C17C static class Symbol _s; // size: 0x4, address: 0x80A4C184 static class Symbol _s; // size: 0x4, address: 0x80A4C18C static class Symbol _s; // size: 0x4, address: 0x80A4C194 static class Symbol _s; // size: 0x4, address: 0x80A4C19C static class Symbol _s; // size: 0x4, address: 0x80A4C1A4 static class Symbol _s; // size: 0x4, address: 0x80A4C1AC static class Symbol _s; // size: 0x4, address: 0x80A4C1B4 static class Symbol _s; // size: 0x4, address: 0x80A4C1BC static class Symbol _s; // size: 0x4, address: 0x80A4C1C4 static class Symbol _s; // size: 0x4, address: 0x80A4C1CC static class Symbol _s; // size: 0x4, address: 0x80A4C1D4 static class Symbol _s; // size: 0x4, address: 0x80A4C1DC static class Symbol _s; // size: 0x4, address: 0x80A4C1E4 static class Symbol _s; // size: 0x4, address: 0x80A4C1EC static class Symbol _s; // size: 0x4, address: 0x80A4C1F4 static class Symbol _s; // size: 0x4, address: 0x80A4C1FC static class Symbol _s; // size: 0x4, address: 0x80A4C204 static class Symbol _s; // size: 0x4, address: 0x80A4C20C static class Symbol _s; // size: 0x4, address: 0x80A4C214 static class Symbol _s; // size: 0x4, address: 0x80A4C21C static class Symbol _s; // size: 0x4, address: 0x80A4C224 static class Symbol _s; // size: 0x4, address: 0x80A4C22C static class Symbol _s; // size: 0x4, address: 0x80A4C234 static class Symbol _s; // size: 0x4, address: 0x80A4C23C static class Symbol _s; // size: 0x4, address: 0x80A4C244 static class Symbol _s; // size: 0x4, address: 0x80A4C24C static class Symbol _s; // size: 0x4, address: 0x80A4C254 static class Symbol _s; // size: 0x4, address: 0x80A4C25C static class Symbol _s; // size: 0x4, address: 0x80A4C264 static class Symbol _s; // size: 0x4, address: 0x80A4C26C static class Symbol _s; // size: 0x4, address: 0x80A4C274 static class Symbol _s; // size: 0x4, address: 0x80A4C27C static class Symbol _s; // size: 0x4, address: 0x80A4C284 static class Symbol _s; // size: 0x4, address: 0x80A4C28C static class Symbol _s; // size: 0x4, address: 0x80A4C294 static class Symbol _s; // size: 0x4, address: 0x80A4C29C static class Symbol _s; // size: 0x4, address: 0x80A4C2A4 static class Symbol _s; // size: 0x4, address: 0x80A4C2AC // Range: 0x8014ABA8 -> 0x8014C91C class DataNode ProfileMgr::Handle(class ProfileMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0xA8 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } class ProfileMgr TheProfileMgr; // size: 0x278, address: 0x80979388 struct { // total size: 0x6C } __vt__10ProfileMgr; // size: 0x6C, address: 0x80894848 struct { // total size: 0x8 } __RTTI__10ProfileMgr; // size: 0x8, address: 0x808948E0 struct { // total size: 0xC } __vt__22ServerStatusChangedMsg; // size: 0xC, address: 0x80894AD0 struct { // total size: 0x8 } __RTTI__22ServerStatusChangedMsg; // size: 0x8, address: 0x80894B00 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_List_node; // size: 0x8, address: 0x80894CA0 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std39_List_node; // size: 0x8, address: 0x80894CE0 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std34_List_node; // size: 0x8, address: 0x80894D18 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__P7Profile; // size: 0x8, address: 0x80894DA0 // Range: 0x8014C91C -> 0x8014C96C static void __sinit_\ProfileMgr_cpp() { // References // -> class ProfileMgr TheProfileMgr; } /* Compile unit: C:\rockband2\band2\src\meta\ProfileMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014C9BC -> 0x8014D1BC */ // Range: 0x8014C9BC -> 0x8014CBB4 void * ProfileMgr::ProfileMgr(class ProfileMgr * const this /* r31 */) { // References // -> struct [anonymous] __vt__10ProfileMgr; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x8014CBB4 -> 0x8014D0DC void ProfileMgr::Init(class ProfileMgr * const this /* r27 */) { // Local variables class DataArray * data; // r23 int count; // r23 class Profile * it; // r24 // References // -> class RockCentralGateway RockCentral; // -> class NetSession * TheNetSession; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x8014D0DC -> 0x8014D164 class Profile * ProfileMgr::GetProfileFromPad(class ProfileMgr * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8014D164 -> 0x8014D16C unsigned char ProfileMgr::GetAllUnlocked() {} // Range: 0x8014D16C -> 0x8014D174 unsigned char ProfileMgr::GetBassBoost() {} // Range: 0x8014D174 -> 0x8014D17C int ProfileMgr::GetBackgroundVolume() {} // Range: 0x8014D17C -> 0x8014D184 int ProfileMgr::GetForegroundVolume() {} // Range: 0x8014D184 -> 0x8014D18C int ProfileMgr::GetVocalCueVolume() {} // Range: 0x8014D18C -> 0x8014D194 int ProfileMgr::GetCrowdVolume() {} // Range: 0x8014D194 -> 0x8014D19C unsigned char ProfileMgr::GetDolby() {} // Range: 0x8014D19C -> 0x8014D1A4 unsigned char ProfileMgr::GetOverscan() {} // Range: 0x8014D1A4 -> 0x8014D1AC unsigned char ProfileMgr::GetMono() {} // Range: 0x8014D1AC -> 0x8014D1B4 int ProfileMgr::GetSyncPresetIx() {} // Range: 0x8014D1B4 -> 0x8014D1BC class String ProfileMgr::GetUsername() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014D494 -> 0x8014D4A0 */ // Range: 0x8014D494 -> 0x8014D498 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x8014D498 -> 0x8014D49C class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x8014D49C -> 0x8014D4A0 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014D4A0 -> 0x8014D9A4 */ // Range: 0x8014D4A0 -> 0x8014D584 void * vector::vector(class vector * const this /* r27 */, const class vector & __x /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TourCharLocal; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014D584 -> 0x8014D588 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8014D588 -> 0x8014D66C void * vector::vector(class vector * const this /* r27 */, const class vector & __x /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TourBandLocal; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014D66C -> 0x8014D670 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8014D670 -> 0x8014D754 void * vector::vector(class vector * const this /* r27 */, const class vector & __x /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14RemoteBandData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014D754 -> 0x8014D758 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8014D758 -> 0x8014D834 void * vector::vector(class vector * const this /* r29 */, const class vector & __x /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014D834 -> 0x8014D918 void * vector::vector(class vector * const this /* r29 */, const class vector & __x /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8BeatData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014D918 -> 0x8014D91C class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014D9A4 -> 0x8014DAC8 */ // Range: 0x8014D9A4 -> 0x8014D9F4 class User * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } // Range: 0x8014D9F4 -> 0x8014DA44 class TourCharLocal * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourCharLocal; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014DAC8 -> 0x8014DBA8 */ // Range: 0x8014DAC8 -> 0x8014DBA8 class Profile * * find() {} /* Compile unit: C:\rockband2\system\src\utl\Str.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014DBA8 -> 0x8014DBB0 */ // Range: 0x8014DBA8 -> 0x8014DBB0 unsigned int String::size() {} /* Compile unit: C:\rockband2\system\src\rndobj\rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014DBB0 -> 0x8014DBB8 */ // Range: 0x8014DBB0 -> 0x8014DBB8 void Rnd::SetShrinkToSafeArea() {} /* Compile unit: C:\rockband2\system\src\synth\synth.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014DBB8 -> 0x8014DBBC */ // Range: 0x8014DBB8 -> 0x8014DBBC void Synth::SetMono() {} /* Compile unit: C:\rockband2\system\src\synth\Mic.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014DBBC -> 0x8014DBC0 */ // Range: 0x8014DBBC -> 0x8014DBC0 void Mic::SetVolume() {} /* Compile unit: C:\rockband2\system\src\net\Server.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014DBC0 -> 0x8014DC30 */ // Range: 0x8014DBC0 -> 0x8014DC04 class Symbol ServerStatusChangedMsg::Type() { // References // -> class Symbol t; } // Range: 0x8014DC04 -> 0x8014DC30 void * ServerStatusChangedMsg::ServerStatusChangedMsg() { // References // -> struct [anonymous] __vt__22ServerStatusChangedMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014E044 -> 0x8014E250 */ // Range: 0x8014E044 -> 0x8014E11C class _Rb_tree & _Rb_tree::__as(class _Rb_tree * const this /* r30 */, const class _Rb_tree & __x /* r31 */) {} // Range: 0x8014E11C -> 0x8014E250 struct _Rb_tree_node_base * _Rb_tree::_M_copy(class _Rb_tree * const this /* r27 */, struct _Rb_tree_node_base * __x /* r28 */, struct _Rb_tree_node_base * __p /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_Rb_tree_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014E250 -> 0x8014EAA4 */ // Range: 0x8014E250 -> 0x8014E5BC class list & list::__as(class list * const this /* r30 */) { // Local variables struct _List_iterator __first1; // r1+0xA8 struct _List_iterator __last1; // r1+0xA4 struct _List_iterator __first2; // r1+0xA0 struct _List_iterator __last2; // r1+0x9C // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014E5BC -> 0x8014E828 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014E828 -> 0x8014EAA4 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8014EAA4 -> 0x80150920 */ // Range: 0x8014EAA4 -> 0x8014EB28 void vector::_M_fill_insert() {} // Range: 0x8014EB28 -> 0x8014ED9C class vector & vector::__as(class vector * const this /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8BeatData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014ED9C -> 0x8014EF6C class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14RemoteBandData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014EF6C -> 0x8014F13C class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TourBandLocal; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014F13C -> 0x8014F30C class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TourCharLocal; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014F30C -> 0x8014FB20 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class Profile * __pos /* r25 */, const class Profile & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r29 class Profile * __new_finish; // r28 // References // -> struct [anonymous] __vt__7Profile; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Profile; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8014FB20 -> 0x80150920 void vector::_M_fill_insert_aux(class vector * const this /* r23 */, class Profile * __pos /* r24 */, unsigned long __n /* r29 */, const class Profile & __x /* r25 */) { // Local variables class Profile __x_copy; // r1+0x20 unsigned long __elems_after; // r26 // References // -> struct [anonymous] __vt__7Profile; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80150920 -> 0x80150950 */ // Range: 0x80150920 -> 0x80150938 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x80150938 -> 0x80150950 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_set.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80150950 -> 0x80150A28 */ // Range: 0x80150950 -> 0x80150A28 void * set::set(class set * const this /* r30 */, const class set & __x /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80150A28 -> 0x80150BEC */ // Range: 0x80150A28 -> 0x80150A2C class StlNodeAlloc _Rb_tree_base::get_allocator() {} /* Compile unit: C:\rockband2\band2\src\meta\RemoteBandData.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80150BEC -> 0x801519E8 */ // Range: 0x80150BEC -> 0x80150D04 void * RemoteBandData::RemoteBandData(class RemoteBandData * const this /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__14RemoteBandData; // -> struct [anonymous] __vt__8BandData; } // Range: 0x80150D04 -> 0x80150F18 void * RemoteBandData::~RemoteBandData(class RemoteBandData * const this /* r30 */) {} // Range: 0x80150F18 -> 0x80151084 void RemoteBandData::Save(const class RemoteBandData * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x80151084 -> 0x80151320 void RemoteBandData::Load(class RemoteBandData * const this /* r29 */, class BandData * src /* r30 */) {} // Range: 0x80151320 -> 0x80151328 unsigned char RemoteBandData::IsDirty() {} // Range: 0x80151328 -> 0x8015133C void RemoteBandData::SaveLoadComplete() {} // Range: 0x8015133C -> 0x80151344 unsigned char RemoteBandData::HasWritePermission() {} // Range: 0x80151344 -> 0x8015134C char * RemoteBandData::BandName() {} // Range: 0x8015134C -> 0x80151354 class HxGuid & RemoteBandData::Guid() {} // Range: 0x80151354 -> 0x80151548 void RemoteBandData::GetRoster(const class RemoteBandData * const this /* r29 */, class vector & members /* r30 */) { // Local variables int n; // r31 struct BandMember rosterMember; // r1+0x20 } // Range: 0x80151548 -> 0x80151550 int RemoteBandData::Fans() {} // Range: 0x80151550 -> 0x80151568 int RemoteBandData::TourScore() {} // Range: 0x80151568 -> 0x80151570 int RemoteBandData::WorldFame() {} // Range: 0x80151570 -> 0x80151580 int RemoteBandData::GetBandLogoPos() {} // Range: 0x80151580 -> 0x80151588 char * RemoteBandData::GetMotto() {} // Range: 0x80151588 -> 0x80151590 int RemoteBandData::StarRating() {} // Range: 0x80151590 -> 0x80151598 enum Difficulty RemoteBandData::DifficultyRating() {} // Range: 0x80151598 -> 0x801515A0 class OnlineID * RemoteBandData::OwnerID() {} // Range: 0x801515A0 -> 0x801515A8 char * RemoteBandData::OwnerName() {} // Range: 0x801515A8 -> 0x80151628 class String RemoteBandData::GetLogoPatchDir(const class RemoteBandData * const this /* r31 */) { // References // -> class String sDefaultLogo; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80151628 -> 0x8015163C struct DateTime RemoteBandData::GetCreationDate(const class RemoteBandData * const this /* r4 */) {} // Range: 0x8015163C -> 0x80151644 class Symbol RemoteBandData::Hometown() {} // Range: 0x80151644 -> 0x801517F0 void RemoteBandData::GetTopSongs(const class RemoteBandData * const this /* r28 */, class vector & songs /* r29 */, int numSongs /* r30 */) { // Local variables int n; // r31 } // Range: 0x801517F0 -> 0x801518B0 void RemoteBandData::UpdateCharName(class RemoteBandData * const this /* r27 */, const class HxGuid & charGuid /* r28 */, const char * charName /* r29 */) { // Local variables int n; // r30 } // Range: 0x801518B0 -> 0x80151938 unsigned char RemoteBandData::IsMember(class RemoteBandData * const this /* r29 */, const class HxGuid & charGuid /* r30 */) { // Local variables int n; // r31 } // Range: 0x80151938 -> 0x80151990 void RemoteBandData::SetBandName(class RemoteBandData * const this /* r30 */, const char * name /* r31 */) {} // Range: 0x80151990 -> 0x801519E8 void RemoteBandData::UpdateOwnerName(class RemoteBandData * const this /* r30 */, const char * name /* r31 */) {} struct { // total size: 0xBC } __vt__14RemoteBandData; // size: 0xBC, address: 0x80894EEC struct { // total size: 0x8 } __RTTI__P10BandMember; // size: 0x8, address: 0x80894FB8 struct { // total size: 0x8 } __RTTI__P10SongStatus; // size: 0x8, address: 0x80894FD0 /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801519E8 -> 0x80151E08 */ // Range: 0x801519E8 -> 0x80151A80 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct SongStatus * t; // r31 } // Range: 0x80151A80 -> 0x80151B08 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct BandMember * t; // r31 } // Range: 0x80151B08 -> 0x80151C94 class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x18 struct SongStatus * t; // r27 // References // -> const char * gNullStr; } // Range: 0x80151C94 -> 0x80151E08 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct BandMember * t; // r27 } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80151E08 -> 0x801521D8 */ // Range: 0x80151E08 -> 0x80151FA4 void RemoteBandData::Load(class RemoteBandData * const this /* r30 */, class BinStream & src /* r31 */) { // Local variables int version; // r1+0xC unsigned char diff; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80151FA4 -> 0x80152064 class String RemoteBandData::GetBandLogo(const class RemoteBandData * const this /* r31 */) { // References // -> class String sDefaultLogo; } // Range: 0x80152064 -> 0x801521D8 void RemoteBandData::RemoveMember(class RemoteBandData * const this /* r31 */, const class HxGuid & charGuid /* r30 */) { // Local variables unsigned char found; // r28 int n; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801521D8 -> 0x80152E04 */ // Range: 0x801521D8 -> 0x80152470 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BandMember * __pos /* r26 */, const struct BandMember & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BandMember * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10BandMember; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80152470 -> 0x801524E0 void vector::_M_fill_insert() {} // Range: 0x801524E0 -> 0x80152758 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct SongStatus * __pos /* r26 */, const struct SongStatus & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct SongStatus * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10SongStatus; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80152758 -> 0x801527D8 void vector::_M_fill_insert() {} // Range: 0x801527D8 -> 0x80152AF8 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, struct BandMember * __pos /* r26 */, unsigned long __n /* r27 */, const struct BandMember & __x /* r28 */) { // Local variables struct BandMember __x_copy; // r1+0x20 unsigned long __elems_after; // r29 struct BandMember * __old_finish; // r0 } // Range: 0x80152AF8 -> 0x80152DC8 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, struct SongStatus * __pos /* r27 */, unsigned long __n /* r28 */, const struct SongStatus & __x /* r29 */) { // Local variables struct SongStatus __x_copy; // r1+0x20 unsigned long __elems_after; // r30 struct SongStatus * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\SaveScreen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80152E04 -> 0x8015D8B4 */ class Symbol t; // size: 0x4, address: 0x80A4C2B4 class Symbol t; // size: 0x4, address: 0x80A4C2BC class Symbol t; // size: 0x4, address: 0x80A4C2C4 class Symbol t; // size: 0x4, address: 0x80A4C2CC class Symbol t; // size: 0x4, address: 0x80A4C2D4 class DataArray * types; // size: 0x4, address: 0x80A4C2D8 static const char * kStrGlobalCacheName; // size: 0x4, address: 0x80A466F8 // Range: 0x80152E04 -> 0x80152F60 void * SaveScreen::SaveScreen(class SaveScreen * const this /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> struct [anonymous] __vt__10SaveScreen; } // Range: 0x80152F60 -> 0x80153094 void * SaveScreen::~SaveScreen(class SaveScreen * const this /* r30 */) { // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> struct [anonymous] __vt__10SaveScreen; } static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4C2E0 // Range: 0x80153094 -> 0x80153118 unsigned char SaveScreen::AutosaveIsEnabled() { // Local variables unsigned char isSavingEnabled; // r0 // References // -> class ProfileMgr TheProfileMgr; // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_saving_feature; } // Range: 0x80153118 -> 0x80153160 unsigned char SaveScreen::IsReasonToAutoload() {} // Range: 0x80153160 -> 0x801531C4 unsigned char SaveScreen::SongCacheNeedsWrite(class SaveScreen * const this /* r30 */) { // References // -> class SongMgr & TheSongMgr; } static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4C2E8 // Range: 0x801531C4 -> 0x801532F0 unsigned char SaveScreen::IsReasonToAutosave(class SaveScreen * const this /* r26 */, unsigned char checkUpload /* r27 */) { // Local variables unsigned char isSavingEnabled; // r0 unsigned char b2; // r28 unsigned char b4; // r0 // References // -> class ProfileMgr TheProfileMgr; // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_saving_feature; } static class Symbol saveload_skip_upload; // size: 0x4, address: 0x80A4C2F0 static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4C2F8 static class Symbol modifier_online_feature; // size: 0x4, address: 0x80A4C300 // Range: 0x801532F0 -> 0x80153458 unsigned char SaveScreen::IsReasonToUpload() { // Local variables unsigned char skipUpload; // r0 unsigned char isConnected; // r0 unsigned char needsUpload; // r0 // References // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_online_feature; // -> static class Symbol modifier_saving_feature; // -> class ProfileMgr TheProfileMgr; // -> class Net TheNet; // -> static class Symbol saveload_skip_upload; } // Range: 0x80153458 -> 0x80153460 void SaveScreen::SetDialogTitle() {} // Range: 0x80153460 -> 0x80153468 char * SaveScreen::GetDialogTitle() {} static class Message init; // size: 0x8, address: 0x80979610 static class Symbol saveload_pad_lost; // size: 0x4, address: 0x80A4C308 // Range: 0x80153468 -> 0x801538BC void SaveScreen::UpdateJoypadConnectionState(class SaveScreen * const this /* r30 */) { // Local variables unsigned char oldState; // r4 int padNum; // r29 // References // -> class BandUI * TheBandUI; // -> static class Symbol saveload_pad_lost; // -> class PlatformMgr ThePlatformMgr; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> class NetSession * TheNetSession; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801538BC -> 0x80153918 void SaveScreen::LockToCurrentUser(class SaveScreen * const this /* r31 */) { // References // -> class InputMgr * TheInputMgr; } // Range: 0x80153918 -> 0x80153968 void SaveScreen::RestoreUserLock(class SaveScreen * const this /* r31 */) { // References // -> class InputMgr * TheInputMgr; } // Range: 0x80153968 -> 0x80153B08 void SaveScreen::MessageHelperInit(class SaveScreen * const this /* r30 */, class Symbol & symShortMessage /* r31 */) { // Local variables class Message msg; // r1+0x20 // References // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; } // Range: 0x80153B08 -> 0x80153BF8 void SaveScreen::MessageHelperPoll(class SaveScreen * const this /* r31 */) { // Local variables float elapsed; // f0 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x80153BF8 -> 0x80155038 void SaveScreen::Poll(class SaveScreen * const this /* r30 */) { // Local variables float elapsed; // f0 enum CacheResult result; // r4 enum CacheResult result; // r4 enum CacheResult result; // r4 enum CacheResult result; // r0 enum CacheResult result; // r0 class BufStream stream; // r1+0x40 enum CacheResult result; // r0 enum CacheResult result; // r4 enum CacheResult result; // r4 enum CacheResult result; // r4 enum CacheResult result; // r0 int size; // r0 class BufStream stream; // r1+0x1C enum CacheResult result; // r4 enum CacheResult result; // r4 enum CacheResult result; // r0 // References // -> class SynthWii * TheWiiSynth; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; // -> static const char * kStrGlobalCacheName; // -> class SongMgr & TheSongMgr; // -> class PlatformMgr ThePlatformMgr; // -> class CacheMgr * TheCacheMgr; // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class NetSession * TheNetSession; } static class Symbol mode; // size: 0x4, address: 0x80A4C310 // Range: 0x80155038 -> 0x8015523C void SaveScreen::Enter(class SaveScreen * const this /* r30 */, class UIScreen * from /* r31 */) { // References // -> class Symbol t; // -> static class Symbol mode; // -> class Net TheNet; // -> class Symbol t; // -> class Symbol t; // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> class Symbol t; // -> class Rnd & TheRnd; } // Range: 0x8015523C -> 0x8015543C void SaveScreen::Exit(class SaveScreen * const this /* r30 */, class UIScreen * to /* r31 */) { // References // -> class BandUI * TheBandUI; // -> class Net TheNet; // -> class Symbol t; // -> class Symbol t; // -> class PlatformMgr ThePlatformMgr; // -> class Symbol t; // -> class Symbol t; // -> class Rnd & TheRnd; } // Range: 0x8015543C -> 0x80155458 unsigned char SaveScreen::Exiting() {} // Range: 0x80155458 -> 0x8015550C int SaveScreen::GetNewSigninPlayerNum() { // Local variables int playerNum; // r31 class vector profiles; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } // Range: 0x8015550C -> 0x801555C0 int SaveScreen::GetAutosavablePlayerNum() { // Local variables int playerNum; // r31 class vector profiles; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } // Range: 0x801555C0 -> 0x801557E4 void SaveScreen::InitFirstTimeFlags(class SaveScreen * const this /* r28 */) { // Local variables enum ControllerType ct; // r4 // References // -> class ProfileMgr TheProfileMgr; // -> struct [anonymous] __RTTI__8BandUser; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; } // Range: 0x801557E4 -> 0x80155948 void SaveScreen::LoadFirstTimeFlags(class SaveScreen * const this /* r29 */) { // References // -> class ProfileMgr TheProfileMgr; } static class Symbol modifier_saving_feature; // size: 0x4, address: 0x80A4C318 static class Message msgClear; // size: 0x8, address: 0x80979628 static class Message msg; // size: 0x8, address: 0x80979640 static class Message msg; // size: 0x8, address: 0x80979658 static class Message msg; // size: 0x8, address: 0x80979670 static class Message msg; // size: 0x8, address: 0x80979688 static class Message msg; // size: 0x8, address: 0x809796A0 static class Message msg; // size: 0x8, address: 0x809796B8 static class Message msg; // size: 0x8, address: 0x809796D0 static class Message msg; // size: 0x8, address: 0x809796E8 static class Message msg; // size: 0x8, address: 0x80979700 static class Message msg; // size: 0x8, address: 0x80979718 static class Message msg; // size: 0x8, address: 0x80979730 static class Symbol song_info_cache_name; // size: 0x4, address: 0x80A4C32C static class Message msgUpdateRead; // size: 0x8, address: 0x80979748 static class Symbol update_song_cache_write; // size: 0x4, address: 0x80A4C334 static class Symbol update_song_cache_write_long; // size: 0x4, address: 0x80A4C33C static class Message msgUpdateCorrupt; // size: 0x8, address: 0x80979760 static class Message msg; // size: 0x8, address: 0x80979778 static class Message msg; // size: 0x8, address: 0x80979790 static class Message msg; // size: 0x8, address: 0x809797A8 static class Symbol global_options_cache_name; // size: 0x4, address: 0x80A4C348 static class Message msgUpdateRead; // size: 0x8, address: 0x809797C0 static class Symbol update_global_options_write; // size: 0x4, address: 0x80A4C350 static class Symbol update_global_options_write_long; // size: 0x4, address: 0x80A4C358 static class Message msgUpdateCorrupt; // size: 0x8, address: 0x809797D8 static class Message msg; // size: 0x8, address: 0x809797F0 static class Message msg; // size: 0x8, address: 0x80979808 static class Message msg; // size: 0x8, address: 0x80979820 static class Message msg; // size: 0x8, address: 0x80979838 static class Message msg; // size: 0x8, address: 0x80979850 static class Message msg; // size: 0x8, address: 0x80979868 static class Message msg; // size: 0x8, address: 0x80979880 static class Message msg; // size: 0x8, address: 0x80979898 static class Message msg; // size: 0x8, address: 0x809798B0 static class Message msg; // size: 0x8, address: 0x809798C8 static class Message msg; // size: 0x8, address: 0x809798E0 static class Message msg; // size: 0x8, address: 0x809798F8 static class Message msg; // size: 0x8, address: 0x80979910 static class Message msg; // size: 0x8, address: 0x80979928 static class Symbol update_song_cache_write; // size: 0x4, address: 0x80A4C36C static class Symbol update_song_cache_write_long; // size: 0x4, address: 0x80A4C374 static class Message msg; // size: 0x8, address: 0x80979940 static class Message msg; // size: 0x8, address: 0x80979958 static class Message msg; // size: 0x8, address: 0x80979970 static class Message msg; // size: 0x8, address: 0x80979988 static class Message msg; // size: 0x8, address: 0x809799A0 static class Message msg; // size: 0x8, address: 0x809799B8 static class Message msg; // size: 0x8, address: 0x809799D0 static class Message msg; // size: 0x8, address: 0x809799E8 static class Message msg; // size: 0x8, address: 0x80979A00 static class Message msg; // size: 0x8, address: 0x80979A18 static class Message msg; // size: 0x8, address: 0x80979A30 static class Message msg; // size: 0x8, address: 0x80979A48 static class Message msg; // size: 0x8, address: 0x80979A60 static class Message msg; // size: 0x8, address: 0x80979A78 static class Message msg; // size: 0x8, address: 0x80979A90 static class Message msg; // size: 0x8, address: 0x80979AA8 static class Message msg; // size: 0x8, address: 0x80979AC0 static class Message msgClear; // size: 0x8, address: 0x80979AD8 static class Message msg; // size: 0x8, address: 0x80979AF0 static class Message msg; // size: 0x8, address: 0x80979B08 // Range: 0x80155948 -> 0x8015AAB8 void SaveScreen::SetState(class SaveScreen * const this /* r28 */, enum State state /* r31 */) { // Local variables unsigned char isSavingEnabled; // r0 int userNum; // r4 unsigned char ret; // r0 unsigned char ret; // r0 unsigned char ret; // r0 unsigned char ret; // r0 unsigned char ret; // r0 unsigned char ret; // r0 unsigned char ret; // r0 int size; // r29 unsigned char ret; // r0 class BufStream stream; // r1+0x5C8 unsigned char ret; // r0 unsigned char ret; // r0 int optionsSize; // r29 unsigned char ret; // r0 unsigned char ret; // r0 unsigned char ret; // r0 unsigned char ret; // r0 int size; // r29 unsigned char ret; // r0 int size; // r31 class BufStream stream; // r1+0x5A4 unsigned char ret; // r0 unsigned char ret; // r0 int userNum; // r4 int userNum; // r4 int userNum; // r4 enum ProfileSaveState stateComplete; // r0 int userNum; // r4 class Profile * pProfile; // r29 int userNum; // r4 int padNum; // r4 int userNum; // r4 unsigned char wasDisabled; // r0 // References // -> static class Message msg; // -> static class Message msg; // -> class NetSync * TheNetSync; // -> static class Message msgClear; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> class InputMgr * TheInputMgr; // -> static class Message msg; // -> static class Message msg; // -> class EntityUploader & TheEntityUploader; // -> const char * kAssertStr; // -> static class Message msg; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol update_song_cache_write_long; // -> static class Symbol update_song_cache_write; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> class Rnd & TheRnd; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msgUpdateCorrupt; // -> static class Symbol update_global_options_write_long; // -> static class Symbol update_global_options_write; // -> static class Message msgUpdateRead; // -> static class Symbol global_options_cache_name; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static const char * kStrGlobalCacheName; // -> static class Message msgUpdateCorrupt; // -> static class Symbol update_song_cache_write_long; // -> static class Symbol update_song_cache_write; // -> static class Message msgUpdateRead; // -> static class Symbol song_info_cache_name; // -> static class Message msg; // -> static class Message msg; // -> class Debug TheDebug; // -> static class Message msg; // -> class CacheMgr * TheCacheMgr; // -> class SongMgr & TheSongMgr; // -> class ProfileMgr TheProfileMgr; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> class MemcardMgr TheMemcardMgr; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msgClear; // -> struct [anonymous] __vt__7Message; // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_saving_feature; } // Range: 0x8015AAB8 -> 0x8015AB08 void SaveScreen::SaveLoadErrorSetState() {} // Range: 0x8015AB08 -> 0x8015ABC0 unsigned char SaveScreen::IgnoreInput() {} // Range: 0x8015ABC0 -> 0x8015AC48 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r30 */, const class ButtonDownMsg & msg /* r31 */) {} // Range: 0x8015AC48 -> 0x8015AD1C class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r31 */) { // Local variables class DataNode node; // r1+0x8 } // Range: 0x8015AD1C -> 0x8015BA64 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r29 */, const class UIComponentSelectDoneMsg & msg /* r30 */) { // Local variables unsigned char isEventDialogOnTop; // r0 class DataNode node; // r1+0x8 enum State prevState; // r25 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class Debug TheDebug; } // Range: 0x8015BA64 -> 0x8015BBA4 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8015BBA4 -> 0x8015BD08 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8015BD08 -> 0x8015C060 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r29 */, const class MCResultMsg & msg /* r30 */) { // Local variables enum MCResult result; // r0 // References // -> class Rnd & TheRnd; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol is_meta_loading; // size: 0x4, address: 0x80A4C390 // Range: 0x8015C060 -> 0x8015C440 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r28 */, const class RockCentralOpCompleteMsg & msg /* r29 */) { // Local variables int sizeArg2; // r30 class DataArray * srcArray; // r30 int dstIndex; // r24 int srcIndex; // r23 unsigned char isMetaLoading; // r0 // References // -> static class Symbol is_meta_loading; // -> class UploadErrorMgr * TheUploadErrorMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8015C440 -> 0x8015C4D0 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x8015C4D0 -> 0x8015C5A8 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r31 */) {} // Range: 0x8015C5A8 -> 0x8015C654 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r29 */, const class JoypadReassignMsg & msg /* r30 */) {} // Range: 0x8015C654 -> 0x8015C6DC class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r30 */) {} // Range: 0x8015C6DC -> 0x8015C724 class DataNode SaveScreen::OnPadLostDismissed() {} // Range: 0x8015C724 -> 0x8015C844 class DataNode SaveScreen::OnPadLostDisableAutosave(class SaveScreen * const this /* r5 */) { // References // -> class Debug TheDebug; } // Range: 0x8015C844 -> 0x8015CAD4 class DataNode SaveScreen::OnMsg(class SaveScreen * const this /* r30 */, const class InviteAcceptedMsg & msg /* r25 */) { // References // -> struct [anonymous] __vt__17InviteAcceptedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } static class Symbol _s; // size: 0x4, address: 0x80A4C398 static class Symbol _s; // size: 0x4, address: 0x80A4C3A0 static class Symbol _s; // size: 0x4, address: 0x80A4C3A8 static class Symbol _s; // size: 0x4, address: 0x80A4C3B0 static class Symbol _s; // size: 0x4, address: 0x80A4C3B8 static class Symbol _s; // size: 0x4, address: 0x80A4C3C0 static class Symbol _s; // size: 0x4, address: 0x80A4C3C8 static class Symbol _s; // size: 0x4, address: 0x80A4C3D0 static class Symbol _s; // size: 0x4, address: 0x80A4C3D8 static class Symbol _s; // size: 0x4, address: 0x80A4C3E0 static class Symbol _s; // size: 0x4, address: 0x80A4C3E8 static class Symbol _s; // size: 0x4, address: 0x80A4C3F0 static class Symbol _s; // size: 0x4, address: 0x80A4C3F8 static class Symbol _s; // size: 0x4, address: 0x80A4C400 static class Symbol _s; // size: 0x4, address: 0x80A4C408 static class Symbol _s; // size: 0x4, address: 0x80A4C410 // Range: 0x8015CAD4 -> 0x8015D8B4 class DataNode SaveScreen::Handle(class SaveScreen * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x44 class MessageTimer _mt; // r1+0x120 class DataNode r; // r1+0x118 class DataNode r; // r1+0x110 class DataNode r; // r1+0x108 class DataNode r; // r1+0x100 class DataNode r; // r1+0xF8 class DataNode r; // r1+0xF0 class DataNode r; // r1+0xE8 class DataNode r; // r1+0xE0 class DataNode r; // r1+0xD8 class DataNode r; // r1+0xD0 class DataNode r; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode _n; // r1+0xA8 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x80 } __vt__10SaveScreen; // size: 0x80, address: 0x80896550 struct { // total size: 0x10 } __vt__11MCResultMsg; // size: 0x10, address: 0x80896638 struct { // total size: 0x8 } __RTTI__11MCResultMsg; // size: 0x8, address: 0x80896660 struct { // total size: 0xC } __vt__15DeviceChosenMsg; // size: 0xC, address: 0x80896668 struct { // total size: 0x8 } __RTTI__15DeviceChosenMsg; // size: 0x8, address: 0x80896698 struct { // total size: 0xC } __vt__17NoDeviceChosenMsg; // size: 0xC, address: 0x808966A0 struct { // total size: 0x8 } __RTTI__17NoDeviceChosenMsg; // size: 0x8, address: 0x808966D0 struct { // total size: 0xC } __vt__17StorageChangedMsg; // size: 0xC, address: 0x80896710 struct { // total size: 0x8 } __RTTI__17StorageChangedMsg; // size: 0x8, address: 0x80896740 struct { // total size: 0xC } __vt__17JoypadReassignMsg; // size: 0xC, address: 0x808969F8 struct { // total size: 0x8 } __RTTI__17JoypadReassignMsg; // size: 0x8, address: 0x80896A28 struct _OKToMemCpy { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class set { // total size: 0x18 class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class UploadErrorMgr : public Object { // total size: 0x40 class set mDisplayedErrors; // offset 0x28, size 0x18 }; struct CacheIDStoreEntry { // total size: 0x8 class Symbol mName; // offset 0x0, size 0x4 class CacheID * mCacheID; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct CacheIDStoreEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct CacheIDStoreEntry * _M_start; // offset 0x0, size 0x4 struct CacheIDStoreEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; enum OpType { kOpNone = 0, kOpSearch = 1, kOpChoose = 2, kOpMount = 3, kOpUnmount = 4, kOpDelete = 5, }; class CacheMgr { // total size: 0x18 public: void * __vptr$; // offset 0x0, size 0x4 protected: class vector mCacheIDStore; // offset 0x4, size 0xC private: enum OpType mOpCur; // offset 0x10, size 0x4 enum CacheResult mLastResult; // offset 0x14, size 0x4 }; enum quitType { none = 0, shutdown = 1, restart = 2, menu = 3, datamanager = 4, }; /* Compile unit: C:\rockband2\system\src\os\System_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015D8B4 -> 0x8015D8CC */ // Range: 0x8015D8B4 -> 0x8015D8C0 void WiiPowerCallback() { // References // -> enum quitType gPowerCallback; } // Range: 0x8015D8C0 -> 0x8015D8CC void WiiResetCallback() { // References // -> enum quitType gPowerCallback; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015D8CC -> 0x8015DCF8 */ // Range: 0x8015D8CC -> 0x8015D918 char * MakeString(const char * fmt /* r0 */, enum SaveScreenMode t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8015D918 -> 0x8015D964 char * MakeString(const char * fmt /* r0 */, enum CacheResult t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8015D964 -> 0x8015D9D8 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, int t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8015D9D8 -> 0x8015DA38 char * MakeString(const char * fmt /* r0 */, enum State t1 /* r30 */, enum State t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8015DCCC -> 0x8015DCF8 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015DCF8 -> 0x8015DD68 */ // Range: 0x8015DCF8 -> 0x8015DD3C class Symbol StorageChangedMsg::Type() { // References // -> class Symbol t; } // Range: 0x8015DD3C -> 0x8015DD68 void * StorageChangedMsg::StorageChangedMsg() { // References // -> struct [anonymous] __vt__17StorageChangedMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015DD68 -> 0x8015DE48 */ // Range: 0x8015DD68 -> 0x8015DDAC class Symbol JoypadReassignMsg::Type() { // References // -> class Symbol t; } // Range: 0x8015DDAC -> 0x8015DDD8 void * JoypadReassignMsg::JoypadReassignMsg() { // References // -> struct [anonymous] __vt__17JoypadReassignMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8015DDD8 -> 0x8015DE1C class Symbol JoypadConnectionMsg::Type() { // References // -> class Symbol t; } // Range: 0x8015DE1C -> 0x8015DE48 void * JoypadConnectionMsg::JoypadConnectionMsg() { // References // -> struct [anonymous] __vt__19JoypadConnectionMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\utl\Cache.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015DE48 -> 0x8015DE88 */ // Range: 0x8015DE48 -> 0x8015DE88 void * CacheID::~CacheID(class CacheID * const this /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015DE88 -> 0x8015DF38 */ // Range: 0x8015DE88 -> 0x8015DEC8 class DataNode RockCentralOpCompleteMsg::Arg2() {} // Range: 0x8015DEC8 -> 0x8015DF0C class Symbol RockCentralOpCompleteMsg::Type() { // References // -> class Symbol t; } // Range: 0x8015DF0C -> 0x8015DF38 void * RockCentralOpCompleteMsg::RockCentralOpCompleteMsg() { // References // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\os\Memcard.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015DF38 -> 0x8015E0EC */ // Range: 0x8015DF38 -> 0x8015DF7C class Symbol DeviceChosenMsg::Type() { // References // -> class Symbol t; } // Range: 0x8015DF7C -> 0x8015DFA8 void * DeviceChosenMsg::DeviceChosenMsg() { // References // -> struct [anonymous] __vt__15DeviceChosenMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8015DFA8 -> 0x8015DFEC class Symbol NoDeviceChosenMsg::Type() { // References // -> class Symbol t; } // Range: 0x8015DFEC -> 0x8015E018 void * NoDeviceChosenMsg::NoDeviceChosenMsg() { // References // -> struct [anonymous] __vt__17NoDeviceChosenMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8015E018 -> 0x8015E05C class Symbol MCResultMsg::Type() { // References // -> class Symbol t; } // Range: 0x8015E05C -> 0x8015E088 void * MCResultMsg::MCResultMsg() { // References // -> struct [anonymous] __vt__11MCResultMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x8015E088 -> 0x8015E0EC void MCResultMsg::PrintExtra(class TextStream & s /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\SaveScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015E0EC -> 0x8015E2B0 */ // Range: 0x8015E0EC -> 0x8015E26C void SaveScreen::SetType(class SaveScreen * const this /* r29 */, class Symbol & SaveScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8015E26C -> 0x8015E2B0 class Symbol SaveScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015E2B0 -> 0x8015E5C8 */ // Range: 0x8015E2B0 -> 0x8015E480 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Profile; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8015E480 -> 0x8015E5C8 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class Profile * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Profile; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015E5C8 -> 0x8015E5E0 */ // Range: 0x8015E5C8 -> 0x8015E5E0 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\band2\src\meta\SessionFindingPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8015E5E0 -> 0x80160F94 */ class DataArray * types; // size: 0x4, address: 0x80A4C418 // Range: 0x8015E5E0 -> 0x8015E680 void * SessionFindingPanel::SessionFindingPanel(class SessionFindingPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__19SessionFindingPanel; } // Range: 0x8015E680 -> 0x8015E68C void SessionFindingPanel::SetJoiningPresence() {} static class Symbol join_result; // size: 0x4, address: 0x80A4C420 static class Symbol processed_join_request; // size: 0x4, address: 0x80A4C428 static class Message check_disconnect; // size: 0x8, address: 0x80979B20 // Range: 0x8015E68C -> 0x8015E930 void SessionFindingPanel::Enter(class SessionFindingPanel * const this /* r30 */) { // References // -> class NetSync * TheNetSync; // -> static class Message check_disconnect; // -> struct [anonymous] __vt__7Message; // -> static class Symbol processed_join_request; // -> class NetSession * TheNetSession; // -> static class Symbol join_result; // -> class SessionMgr * TheSessionMgr; // -> const char * gNullStr; // -> class Symbol t; } static class Symbol join_result; // size: 0x4, address: 0x80A4C430 static class Symbol processed_join_request; // size: 0x4, address: 0x80A4C438 // Range: 0x8015E930 -> 0x8015EA8C void SessionFindingPanel::Exit(class SessionFindingPanel * const this /* r30 */) { // References // -> static class Symbol processed_join_request; // -> class NetSession * TheNetSession; // -> static class Symbol join_result; // -> class Symbol t; // -> class SessionMgr * TheSessionMgr; } static class Message set_presence; // size: 0x8, address: 0x80979B38 // Range: 0x8015EA8C -> 0x8015EFC4 void SessionFindingPanel::SetPresenceInfo(class SessionFindingPanel * const this /* r28 */, enum PresenceInfo presence /* r29 */, const class JoinResultMsg * msg /* r30 */) { // Local variables class Symbol token; // r1+0x48 // References // -> class GameMode * TheGameMode; // -> const char * gNullStr; // -> static class Message set_presence; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message manual_retry; // size: 0x8, address: 0x80979B50 static class Message enable_retry; // size: 0x8, address: 0x80979B68 static class Message exit_due_to_error; // size: 0x8, address: 0x80979B80 // Range: 0x8015EFC4 -> 0x8015F4D8 void SessionFindingPanel::StartBuildingSession(class SessionFindingPanel * const this /* r27 */) { // Local variables unsigned char validController; // r28 enum ControllerType controller; // r26 // References // -> static class Message exit_due_to_error; // -> static class Message enable_retry; // -> static class Message manual_retry; // -> struct [anonymous] __vt__7Message; // -> class SessionMgr * TheSessionMgr; // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSession * TheNetSession; } static class Message save_user_settings; // size: 0x8, address: 0x80979B98 static class Message join_invited_session; // size: 0x8, address: 0x80979BB0 static class Message exit_due_to_error; // size: 0x8, address: 0x80979BC8 // Range: 0x8015F4D8 -> 0x8015F8E4 void SessionFindingPanel::OnSessionBuilt(class SessionFindingPanel * const this /* r29 */) { // References // -> static class Message exit_due_to_error; // -> static class Message join_invited_session; // -> static class Message save_user_settings; // -> struct [anonymous] __vt__7Message; // -> class BandUserMgr * TheBandUserMgr; } static class Message forceNonLeader; // size: 0x8, address: 0x80979BE0 // Range: 0x8015F8E4 -> 0x8015FA7C void SessionFindingPanel::StartSearching(class SessionFindingPanel * const this /* r31 */) { // References // -> static class Message forceNonLeader; // -> struct [anonymous] __vt__7Message; // -> class SessionMgr * TheSessionMgr; } static class Message matchmaker_update; // size: 0x8, address: 0x80979BF8 // Range: 0x8015FA7C -> 0x8015FC00 void SessionFindingPanel::JoinInvite(class SessionFindingPanel * const this /* r31 */) { // References // -> static class Message matchmaker_update; // -> struct [anonymous] __vt__7Message; // -> class NetSession * TheNetSession; // -> class Net TheNet; // -> class SessionMgr * TheSessionMgr; } static class Message manual_retry; // size: 0x8, address: 0x80979C10 static class Message advance_when_joined; // size: 0x8, address: 0x80979C28 static class Message advance; // size: 0x8, address: 0x80979C40 static class Message enable_retry; // size: 0x8, address: 0x80979C58 // Range: 0x8015FC00 -> 0x80160120 class DataNode SessionFindingPanel::OnMsg(class SessionFindingPanel * const this /* r28 */, const class JoinResultMsg & msg /* r29 */) { // References // -> static class Message enable_retry; // -> static class Message advance; // -> static class Message advance_when_joined; // -> static class Message manual_retry; // -> struct [anonymous] __vt__7Message; } static class Message advance_when_joined; // size: 0x8, address: 0x80979C70 static class Message advance; // size: 0x8, address: 0x80979C88 // Range: 0x80160120 -> 0x801603F4 class DataNode SessionFindingPanel::OnMsg(class SessionFindingPanel * const this /* r29 */, const class ProcessedJoinRequestMsg & msg /* r30 */) { // References // -> static class Message advance; // -> static class Message advance_when_joined; // -> struct [anonymous] __vt__7Message; } static class Symbol _s; // size: 0x4, address: 0x80A4C44C static class Symbol _s; // size: 0x4, address: 0x80A4C454 static class Symbol _s; // size: 0x4, address: 0x80A4C45C static class Symbol _s; // size: 0x4, address: 0x80A4C464 static class Symbol _s; // size: 0x4, address: 0x80A4C46C static class Symbol _s; // size: 0x4, address: 0x80A4C474 // Range: 0x801603F4 -> 0x80160F94 class DataNode SessionFindingPanel::Handle(class SessionFindingPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x48 class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __vt__23ProcessedJoinRequestMsg; // -> class Symbol t; // -> struct [anonymous] __vt__13JoinResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__19SessionFindingPanel; // size: 0xAC, address: 0x808971D0 struct { // total size: 0x8 } __RTTI__19SessionFindingPanel; // size: 0x8, address: 0x808972B0 /* Compile unit: C:\rockband2\band2\src\meta\SessionMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80160F94 -> 0x801612D8 */ // Range: 0x80160F94 -> 0x80161018 void SessionFindingPanel::SetJoiningUser(class SessionFindingPanel * const this /* r30 */, class BandUser * user /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80161018 -> 0x80161184 void SessionFindingPanel::SetJoiningPadsFromSession(class SessionFindingPanel * const this /* r30 */) { // Local variables class vector locals; // r1+0x20 int n; // r31 int padNum; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x80161184 -> 0x801612D8 void SessionFindingPanel::SetSessionMgrAutoJoinCandidates(class SessionFindingPanel * const this /* r28 */) { // Local variables class vector autoJoinPads; // r1+0x10 int n; // r29 // References // -> class SessionMgr * TheSessionMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801612D8 -> 0x80161370 */ // Range: 0x801612D8 -> 0x80161324 char * MakeString(const char * fmt /* r0 */, enum PresenceInfo t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80161324 -> 0x80161370 char * MakeString(const char * fmt /* r0 */, enum JoinResponseError t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\SessionFindingPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80161370 -> 0x8016160C */ // Range: 0x80161370 -> 0x801613B4 class Symbol SessionFindingPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801613B4 -> 0x80161548 void SessionFindingPanel::SetType(class SessionFindingPanel * const this /* r29 */, class Symbol & SessionFindingPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80161548 -> 0x8016160C void * SessionFindingPanel::~SessionFindingPanel(class SessionFindingPanel * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\meta\SessionMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8016165C -> 0x801665F4 */ class Symbol t; // size: 0x4, address: 0x80A4C47C class Symbol t; // size: 0x4, address: 0x80A4C484 class Symbol t; // size: 0x4, address: 0x80A4C48C class SessionMgr * TheSessionMgr; // size: 0x4, address: 0x80A4C490 // Range: 0x8016165C -> 0x80161698 void SessionMgr::Init() { // References // -> class SessionMgr * TheSessionMgr; } // Range: 0x80161698 -> 0x80161814 void * SessionMgr::SessionMgr(class SessionMgr * const this /* r31 */) { // References // -> class NetSession * TheNetSession; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__10SessionMgr; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x80161814 -> 0x801619EC void * SessionMgr::~SessionMgr(class SessionMgr * const this /* r30 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__10SessionMgr; } // Range: 0x80161A84 -> 0x80161A8C void SessionMgr::Poll() {} static class Symbol session_ready; // size: 0x4, address: 0x80A4C498 static class Symbol wii_roguitar; // size: 0x4, address: 0x80A4C4A0 static class Symbol wii_rodrums; // size: 0x4, address: 0x80A4C4A8 static class Symbol is_tour; // size: 0x4, address: 0x80A4C4B0 static class Symbol wii_roguitar; // size: 0x4, address: 0x80A4C4B8 static class Symbol wii_rodrums; // size: 0x4, address: 0x80A4C4C0 // Range: 0x80161A8C -> 0x80161FEC void SessionMgr::AddLocalUser(class SessionMgr * const this /* r29 */, class BandUser * pUser /* r30 */) { // Local variables class Message msg; // r1+0x60 // References // -> class GameConfig * TheGameConfig; // -> class Symbol t; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol wii_rodrums; // -> static class Symbol wii_roguitar; // -> struct [anonymous] __vt__7Message; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> class Rnd & TheRnd; // -> static class Symbol wii_rodrums; // -> static class Symbol wii_roguitar; // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> class Symbol t; // -> static class Symbol session_ready; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol session_ready; // size: 0x4, address: 0x80A4C4C8 static class Symbol is_tour; // size: 0x4, address: 0x80A4C4D0 static class Symbol guest_not_first; // size: 0x4, address: 0x80A4C4D8 // Range: 0x80161FEC -> 0x80162878 void SessionMgr::RemoveLocalPlayer(class SessionMgr * const this /* r23 */, int playerNum /* r24 */) { // Local variables unsigned char isTour; // r0 int leaderNum; // r0 unsigned char isLocalHost; // r30 unsigned char isLastLocalPlayer; // r31 class list users; // r1+0x78 class BandUser * pUser; // r0 int guestCount; // r31 struct _List_iterator it; // r1+0x64 class BandUser * pUserCur; // r24 struct SavePlayer sp; // r1+0x80 unsigned char isGuestNotFirst; // r0 struct SavePlayer * it; // r24 unsigned char isAnyoneLeftToSave; // r0 unsigned char useLeaderAsNewHost; // r5 struct SavePlayer * it; // r6 class BandUser * pUserNewLeader; // r25 struct SavePlayer * it; // r24 struct SavePlayer * spIt; // r24 // References // -> class GameConfig * TheGameConfig; // -> const char * gNullStr; // -> class Symbol t; // -> class CharCache * TheCharCache; // -> static class Symbol guest_not_first; // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __RTTI__4User; // -> struct [anonymous] __RTTI__8BandUser; // -> class BandUserMgr * TheBandUserMgr; // -> class BandUI * TheBandUI; // -> class Rnd & TheRnd; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> static class Symbol session_ready; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol is_tour; // size: 0x4, address: 0x80A4C4E0 static class Symbol choose_leader_from_band; // size: 0x4, address: 0x80A4C4E8 // Range: 0x80162878 -> 0x801629E0 void SessionMgr::UpdateBandLeader(class SessionMgr * const this /* r29 */) { // Local variables int localHost; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol choose_leader_from_band; // -> static class Symbol is_tour; } // Range: 0x801629E0 -> 0x801629E8 int SessionMgr::GetLeaderNum() {} // Range: 0x801629E8 -> 0x801629F8 class BandUser * SessionMgr::GetLeaderUser(class SessionMgr * const this /* r4 */) { // References // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x801629F8 -> 0x80162A00 void SessionMgr::ClearLeaderNum() {} class LocalLeaderChangedMsg : public Message { // total size: 0x8 }; static class LocalLeaderChangedMsg msg; // size: 0x8, address: 0x80979CA0 // Range: 0x80162A00 -> 0x80162CBC void SessionMgr::SetLeaderNum(class SessionMgr * const this /* r29 */, int leaderNum /* r30 */) { // References // -> struct [anonymous] __vt__21LocalLeaderChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class LocalLeaderChangedMsg msg; } static class Message completeMsg; // size: 0x8, address: 0x80979CB8 static class Symbol session_ready; // size: 0x4, address: 0x80A4C4F0 static class AddLocalUserResultMsg msgResultMsg; // size: 0x8, address: 0x80979CD0 static class Symbol is_tour; // size: 0x4, address: 0x80A4C4F8 // Range: 0x80162D40 -> 0x801636F0 class DataNode SessionMgr::OnMsg(class SessionMgr * const this /* r27 */, const class SessionReadyMsg & msg /* r28 */) { // Local variables class BandUser * user; // r25 class BandUser * user; // r25 struct SavePlayer * it; // r25 class BandUser * user; // r28 // References // -> class UIManager TheUI; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17MatchmakingScreen; // -> class ObjectDir * sMainDir; // -> class GameConfig * TheGameConfig; // -> class GameMode * TheGameMode; // -> class Rnd & TheRnd; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol is_tour; // -> struct [anonymous] __vt__21AddLocalUserResultMsg; // -> class Symbol t; // -> static class AddLocalUserResultMsg msgResultMsg; // -> static class Symbol session_ready; // -> static class Message completeMsg; // -> struct [anonymous] __vt__7Message; // -> class PlatformMgr ThePlatformMgr; // -> class Symbol t; } static class AddLocalUserResultMsg msgAddLocalResult; // size: 0x8, address: 0x80979CE8 // Range: 0x801636F0 -> 0x80163B54 class DataNode SessionMgr::OnMsg(class SessionMgr * const this /* r29 */, const class AddPlayerResultMsg & msg /* r30 */) { // References // -> struct [anonymous] __vt__21AddLocalUserResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class AddLocalUserResultMsg msgAddLocalResult; // -> class PlatformMgr ThePlatformMgr; // -> class Symbol t; // -> class Symbol t; } // Range: 0x80163B54 -> 0x80163DAC class DataNode SessionMgr::OnMsg(class SessionMgr * const this /* r29 */) { // Local variables struct SavePlayer * spIt; // r30 // References // -> class PlatformMgr ThePlatformMgr; // -> class Symbol t; } // Range: 0x80163DAC -> 0x80163DB4 void SessionMgr::SetPossibleAutoJoinPads() {} // Range: 0x80163DB4 -> 0x80163DD0 unsigned char SessionMgr::HasPossibleAutoJoinPads() {} // Range: 0x80163DD0 -> 0x80163DE0 void SessionMgr::GetPossibleAutoJoinPads(const class SessionMgr * const this /* r5 */) {} // Range: 0x80163DE0 -> 0x80163E4C void SessionMgr::ClearPossibleAutoJoinPads(class SessionMgr * const this /* r30 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4C500 static class Symbol _s; // size: 0x4, address: 0x80A4C508 static class Symbol _s; // size: 0x4, address: 0x80A4C510 static class Symbol _s; // size: 0x4, address: 0x80A4C518 static class Symbol _s; // size: 0x4, address: 0x80A4C520 static class Symbol _s; // size: 0x4, address: 0x80A4C528 // Range: 0x80163E4C -> 0x80164CD0 class DataNode SessionMgr::Handle(class SessionMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x54 class MessageTimer _mt; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode _n; // r1+0x78 class DataNode _n; // r1+0x70 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__16SigninChangedMsg; // -> class Symbol t; // -> struct [anonymous] __vt__18AddPlayerResultMsg; // -> class Symbol t; // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; // -> static class Symbol _s; // -> unsigned char sActive; } class Symbol disband; // size: 0x4, address: 0x80A4C530 class Message init; // size: 0x8, address: 0x80979D00 class KickPlayerMsg : public NetMessage { // total size: 0x4 }; // Range: 0x80164CD0 -> 0x80164D08 static class NetMessage * KickPlayerMsg::NewNetMessage() { // References // -> static struct [anonymous] __vt__Q224@unnamed@SessionMgr_cpp@13KickPlayerMsg; } // Range: 0x80164D08 -> 0x80164DC8 void * RemotePlayersProvider::RemotePlayersProvider(class RemotePlayersProvider * const this /* r31 */) { // References // -> class NetMessageFactory TheNetMessageFactory; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__21RemotePlayersProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x80164DC8 -> 0x80164E40 void RemotePlayersProvider::Cleanup(class RemotePlayersProvider * const this /* r30 */) {} // Range: 0x80164E40 -> 0x80164F00 void RemotePlayersProvider::KickPlayer(class RemotePlayersProvider * const this /* r30 */, int selected /* r31 */) { // Local variables class KickPlayerMsg msg; // r1+0x8 // References // -> class NetSession * TheNetSession; // -> static struct [anonymous] __vt__Q224@unnamed@SessionMgr_cpp@13KickPlayerMsg; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80164F40 -> 0x80164F44 void RemotePlayersProvider::ToggleMuteStatus() {} // Range: 0x80164F44 -> 0x80164F4C unsigned char RemotePlayersProvider::IsMuted() {} // Range: 0x80164F4C -> 0x80164F54 void RemotePlayersProvider::SetShowMuteStatus() {} // Range: 0x80164F54 -> 0x801650E0 void RemotePlayersProvider::InitData(class RemotePlayersProvider * const this /* r28 */, class RndDir * dir /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x801650E0 -> 0x80165244 void RemotePlayersProvider::RefreshUserList(class RemotePlayersProvider * const this /* r28 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r29 class BandUser * pUser; // r30 // References // -> class Net TheNet; // -> class NetSession * TheNetSession; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } static class Symbol name; // size: 0x4, address: 0x80A4C538 // Range: 0x80165244 -> 0x80165350 char * RemotePlayersProvider::Text(const class RemotePlayersProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> static class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol check; // size: 0x4, address: 0x80A4C540 // Range: 0x80165350 -> 0x80165480 class RndMat * RemotePlayersProvider::Mat(const class RemotePlayersProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> static class Symbol check; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80165480 -> 0x80165498 int RemotePlayersProvider::NumData() {} static class Symbol _s; // size: 0x4, address: 0x80A4C548 static class Symbol _s; // size: 0x4, address: 0x80A4C550 static class Symbol _s; // size: 0x4, address: 0x80A4C558 static class Symbol _s; // size: 0x4, address: 0x80A4C560 static class Symbol _s; // size: 0x4, address: 0x80A4C568 static class Symbol _s; // size: 0x4, address: 0x80A4C570 // Range: 0x80165498 -> 0x80165BC0 class DataNode RemotePlayersProvider::Handle(class RemotePlayersProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80165BC0 -> 0x80165C44 void * SessionPlayersProvider::SessionPlayersProvider(class SessionPlayersProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__22SessionPlayersProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x80165C44 -> 0x80165CB0 void SessionPlayersProvider::Cleanup(class SessionPlayersProvider * const this /* r30 */) {} // Range: 0x80165CB0 -> 0x80165D30 enum ShowGamercardResult SessionPlayersProvider::ShowGamercard() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80165D30 -> 0x80165D34 void SessionPlayersProvider::InitData() {} // Range: 0x80165D34 -> 0x80165EA0 void SessionPlayersProvider::RefreshUserList(class SessionPlayersProvider * const this /* r28 */) { // Local variables class NetSession * session; // r30 class vector & users; // r0 class BandUser * * it; // r29 class BandUser * pUser; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; // -> class Net TheNet; } // Range: 0x80165EA0 -> 0x80165F44 char * SessionPlayersProvider::Text(const class SessionPlayersProvider * const this /* r30 */, int data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80165F44 -> 0x80165F4C class RndMat * SessionPlayersProvider::Mat() {} // Range: 0x80165F4C -> 0x80165F64 int SessionPlayersProvider::NumData() {} static class Symbol _s; // size: 0x4, address: 0x80A4C578 static class Symbol _s; // size: 0x4, address: 0x80A4C580 static class Symbol _s; // size: 0x4, address: 0x80A4C588 // Range: 0x80165F64 -> 0x801663CC class DataNode SessionPlayersProvider::Handle(class SessionPlayersProvider * const this /* r29 */, class DataArray * _msg /* r26 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801663CC -> 0x8016655C static void KickPlayerMsg::Dispatch() { // References // -> class BandUI * TheBandUI; // -> class Message init; // -> struct [anonymous] __vt__7Message; // -> class Symbol disband; } // Range: 0x8016655C -> 0x80166560 static void KickPlayerMsg::Load() {} // Range: 0x80166560 -> 0x80166564 static void KickPlayerMsg::Save() {} // Range: 0x80166564 -> 0x80166598 static char * KickPlayerMsg::Name() {} // Range: 0x80166598 -> 0x801665F4 static unsigned char KickPlayerMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } static struct { // total size: 0x28 } __vt__Q224@unnamed@SessionMgr_cpp@13KickPlayerMsg; // size: 0x28, address: 0x808977D0 struct { // total size: 0x8 } __RTTI__Q224@unnamed@SessionMgr_cpp@13KickPlayerMsg; // size: 0x8, address: 0x80897830 struct { // total size: 0x9C } __vt__22SessionPlayersProvider; // size: 0x9C, address: 0x808978F0 struct { // total size: 0x8 } __RTTI__22SessionPlayersProvider; // size: 0x8, address: 0x808979C0 struct { // total size: 0x9C } __vt__21RemotePlayersProvider; // size: 0x9C, address: 0x808979C8 struct { // total size: 0x8 } __RTTI__21RemotePlayersProvider; // size: 0x8, address: 0x80897A98 struct { // total size: 0x6C } __vt__10SessionMgr; // size: 0x6C, address: 0x80897AA0 struct { // total size: 0x8 } __RTTI__10SessionMgr; // size: 0x8, address: 0x80897B38 struct { // total size: 0xC } __vt__21LocalLeaderChangedMsg; // size: 0xC, address: 0x80897B40 struct { // total size: 0x8 } __RTTI__21LocalLeaderChangedMsg; // size: 0x8, address: 0x80897B70 struct { // total size: 0xC } __vt__18AddPlayerResultMsg; // size: 0xC, address: 0x80897C48 struct { // total size: 0x8 } __RTTI__18AddPlayerResultMsg; // size: 0x8, address: 0x80897C78 struct { // total size: 0xC } __vt__15SessionReadyMsg; // size: 0xC, address: 0x80897C80 struct { // total size: 0x8 } __RTTI__15SessionReadyMsg; // size: 0x8, address: 0x80897CB0 struct { // total size: 0x8 } __RTTI__P10SavePlayer; // size: 0x8, address: 0x80897DE0 struct { // total size: 0x8 } __RTTI__PP4User; // size: 0x8, address: 0x80897DF0 /* Compile unit: C:\rockband2\band2\src\game\BandUser.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80166794 -> 0x8016679C */ // Range: 0x80166794 -> 0x8016679C unsigned char BandUser::IsWiiRemoteController() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8016680C -> 0x80166D40 */ // Range: 0x8016680C -> 0x80166944 void vector::_M_insert_overflow(class vector * const this /* r27 */, class User * * __pos /* r28 */, class User * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class User * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP4User; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80166944 -> 0x80166B70 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct SavePlayer * __pos /* r26 */, const struct SavePlayer & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct SavePlayer * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10SavePlayer; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80166B70 -> 0x80166D40 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\SessionPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80166D40 -> 0x8016766C */ class DataArray * types; // size: 0x4, address: 0x80A4C590 // Range: 0x80166D40 -> 0x80166DC8 void * SessionPanel::SessionPanel(class SessionPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__12SessionPanel; } // Range: 0x80166DC8 -> 0x80166DFC void SessionPanel::Enter(class SessionPanel * const this /* r31 */) {} static class Symbol session_ready_complete_msg; // size: 0x4, address: 0x80A4C598 // Range: 0x80166DFC -> 0x80166E70 void SessionPanel::Exit(class SessionPanel * const this /* r31 */) { // References // -> class SessionMgr * TheSessionMgr; // -> static class Symbol session_ready_complete_msg; } static class Symbol session_ready_complete_msg; // size: 0x4, address: 0x80A4C5A0 // Range: 0x80166E70 -> 0x80166F04 class DataNode SessionPanel::OnSessionReadyComplete(class SessionPanel * const this /* r31 */) { // References // -> class SessionMgr * TheSessionMgr; // -> static class Symbol session_ready_complete_msg; } // Range: 0x80166F04 -> 0x80166F38 class DataNode SessionPanel::OnMsg() {} static class Symbol session_ready_complete_msg; // size: 0x4, address: 0x80A4C5A8 // Range: 0x80166F38 -> 0x80166FC8 void SessionPanel::WaitForSessionReady(class SessionPanel * const this /* r30 */) { // References // -> class SessionMgr * TheSessionMgr; // -> const char * gNullStr; // -> static class Symbol session_ready_complete_msg; } static class Symbol _s; // size: 0x4, address: 0x80A4C5B0 static class Symbol _s; // size: 0x4, address: 0x80A4C5B8 // Range: 0x80166FC8 -> 0x8016766C class DataNode SessionPanel::Handle(class SessionPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__12SessionPanel; // size: 0xAC, address: 0x80897F68 struct { // total size: 0x8 } __RTTI__12SessionPanel; // size: 0x8, address: 0x80898040 /* Compile unit: C:\rockband2\band2\src\meta\SessionPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80167744 -> 0x8016791C */ // Range: 0x80167744 -> 0x80167788 class Symbol SessionPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80167788 -> 0x8016791C void SessionPanel::SetType(class SessionPanel * const this /* r29 */, class Symbol & SessionPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\Shop.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8016791C -> 0x801681A0 */ class Shop * TheShop; // size: 0x4, address: 0x80A4C5C0 // Range: 0x8016791C -> 0x80167C00 void * Shop::Shop(class Shop * const this /* r23 */) { // Local variables class DataArray * genders; // r30 int i; // r29 class Symbol gender; // r1+0x44 class DataArray * cats; // r28 int j; // r27 class DataArray * cat; // r26 class DataArray * shop_cats; // r25 int k; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; // -> class ObjectDir * sMainDir; // -> class Shop * TheShop; // -> struct [anonymous] __vt__4Shop; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_List_node; // size: 0x8, address: 0x80898160 // Range: 0x80167C00 -> 0x80167C84 unsigned char __eq(const class OutfitProvider * lhs /* r29 */, const struct ProviderSearch & rhs /* r30 */) {} struct ProviderSearch { // total size: 0x8 class Symbol mGender; // offset 0x0, size 0x4 class Symbol mCategory; // offset 0x4, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; static class Symbol _s; // size: 0x4, address: 0x80A4C5C8 static class Symbol _s; // size: 0x4, address: 0x80A4C5D0 // Range: 0x80167C84 -> 0x801681A0 class DataNode Shop::Handle(class Shop * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x54 class MessageTimer _mt; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__4Shop; // size: 0x54, address: 0x808981DC struct { // total size: 0x8 } __RTTI__4Shop; // size: 0x8, address: 0x80898250 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801681A0 -> 0x80168410 */ // Range: 0x801681A0 -> 0x8016825C class OutfitProvider * Shop::FindProvider(class Shop * const this /* r31 */) { // Local variables struct ProviderSearch s; // r1+0x28 struct _List_iterator p; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016825C -> 0x80168410 class Symbol Shop::FindToken(class Symbol & gender /* r24 */, class Symbol & category /* r25 */, class Symbol & outfit /* r31 */) { // Local variables class DataArray * temp; // r0 class DataArray * o; // r27 class DataArray * ui; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80168410 -> 0x80168494 */ // Range: 0x80168410 -> 0x80168494 struct _List_iterator find(const struct ProviderSearch & __val /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\meta\SigninScreen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80168494 -> 0x80169974 */ class Symbol t; // size: 0x4, address: 0x80A4C5DC class DataArray * types; // size: 0x4, address: 0x80A4C5E0 // Range: 0x80168494 -> 0x801684EC void * SigninScreen::SigninScreen(class SigninScreen * const this /* r31 */) { // References // -> struct [anonymous] __vt__12SigninScreen; } // Range: 0x801684EC -> 0x80168564 void * SigninScreen::~SigninScreen(class SigninScreen * const this /* r30 */) {} // Range: 0x80168564 -> 0x80168568 void SigninScreen::Poll() {} static class Symbol limit_user_signin; // size: 0x4, address: 0x80A4C5E8 static class Symbol must_not_be_a_guest; // size: 0x4, address: 0x80A4C5F0 static class Symbol must_be_online; // size: 0x4, address: 0x80A4C5F8 static class Symbol must_be_multiplayer_capable; // size: 0x4, address: 0x80A4C600 static class Symbol handle_sign_outs; // size: 0x4, address: 0x80A4C608 // Range: 0x80168568 -> 0x801687D4 void SigninScreen::Enter(class SigninScreen * const this /* r30 */) { // Local variables class BandUser * pUser; // r0 // References // -> static class Symbol handle_sign_outs; // -> static class Symbol must_be_multiplayer_capable; // -> static class Symbol must_be_online; // -> static class Symbol must_not_be_a_guest; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> class InputMgr * TheInputMgr; // -> static class Symbol limit_user_signin; // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; } // Range: 0x801687D4 -> 0x80168834 void SigninScreen::Exit(class SigninScreen * const this /* r30 */, class UIScreen * to /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; } static class Message msg; // size: 0x8, address: 0x80979D18 // Range: 0x80168834 -> 0x80168A80 void SigninScreen::ReEvaluateState(class SigninScreen * const this /* r31 */) { // Local variables class BandUser * pUser; // r29 unsigned char triggerSignedIn; // r28 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class PlatformMgr ThePlatformMgr; // -> class InputMgr * TheInputMgr; } static class Message msg; // size: 0x8, address: 0x80979D30 static class Message msg; // size: 0x8, address: 0x80979D48 static class Message msg; // size: 0x8, address: 0x80979D60 static class Message msg; // size: 0x8, address: 0x80979D78 // Range: 0x80168A80 -> 0x80169194 class DataNode SigninScreen::OnMsg(class SigninScreen * const this /* r25 */, const class SigninChangedMsg & msg /* r26 */) { // Local variables int bestState; // r1+0x28 const class vector & users; // r0 class BandUser * const * it; // r28 const class BandUser * pUser; // r27 unsigned long userMask; // r22 unsigned char isSignedIn; // r0 // References // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class PlatformMgr ThePlatformMgr; // -> class InputMgr * TheInputMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } static class Message msg; // size: 0x8, address: 0x80979D90 // Range: 0x80169194 -> 0x80169374 class DataNode SigninScreen::OnMsg(class SigninScreen * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class PlatformMgr ThePlatformMgr; // -> class InputMgr * TheInputMgr; } // Range: 0x80169374 -> 0x80169974 class DataNode SigninScreen::Handle(class SigninScreen * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__12UIChangedMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__16SigninChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0x80 } __vt__12SigninScreen; // size: 0x80, address: 0x80898448 struct { // total size: 0x8 } __RTTI__12SigninScreen; // size: 0x8, address: 0x80898500 struct { // total size: 0xC } __vt__12UIChangedMsg; // size: 0xC, address: 0x80898538 struct { // total size: 0x8 } __RTTI__12UIChangedMsg; // size: 0x8, address: 0x80898560 /* Compile unit: C:\rockband2\band2\src\meta\SigninScreen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801699F8 -> 0x80169BBC */ // Range: 0x801699F8 -> 0x80169B78 void SigninScreen::SetType(class SigninScreen * const this /* r29 */, class Symbol & SigninScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80169B78 -> 0x80169BBC class Symbol SigninScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\SongOffer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80169BBC -> 0x8016B064 */ class Symbol song; // size: 0x4, address: 0x80A4C61C static class Symbol missing_part_type; // size: 0x4, address: 0x80A4C624 // Range: 0x80169BBC -> 0x80169D7C void * SongOffer::SongOffer(class SongOffer * const this /* r30 */) { // Local variables enum MissingPartType mpt; // r31 // References // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> static class Symbol missing_part_type; // -> class SongMgr & TheSongMgr; // -> const char * gNullStr; // -> struct [anonymous] __vt__9SongOffer; } static class Symbol name; // size: 0x4, address: 0x80A4C62C static class Symbol song; // size: 0x4, address: 0x80A4C634 // Range: 0x80169D7C -> 0x80169E98 char * SongOffer::OfferName(const class SongOffer * const this /* r29 */) { // References // -> static class Symbol song; // -> static class Symbol name; } static class Symbol master; // size: 0x4, address: 0x80A4C63C // Range: 0x80169E98 -> 0x80169F40 unsigned char SongOffer::IsCover(const class SongOffer * const this /* r31 */) { // References // -> static class Symbol master; } static class Symbol download; // size: 0x4, address: 0x80A4C644 static class Symbol rb1_icon; // size: 0x4, address: 0x80A4C64C static class Symbol rb2_icon; // size: 0x4, address: 0x80A4C654 // Range: 0x80169F40 -> 0x8016A010 class Symbol SongOffer::GetIcon(const class SongOffer * const this /* r30 */) { // References // -> static class Symbol rb2_icon; // -> static class Symbol rb1_icon; // -> static class Symbol download; } static class Symbol genre; // size: 0x4, address: 0x80A4C65C // Range: 0x8016A010 -> 0x8016A08C class Symbol SongOffer::Genre(const class SongOffer * const this /* r31 */) { // References // -> static class Symbol genre; } static class Symbol decade; // size: 0x4, address: 0x80A4C664 // Range: 0x8016A08C -> 0x8016A108 class Symbol SongOffer::Decade(const class SongOffer * const this /* r31 */) { // References // -> static class Symbol decade; } static class Symbol artist; // size: 0x4, address: 0x80A4C66C // Range: 0x8016A108 -> 0x8016A180 char * SongOffer::Artist(const class SongOffer * const this /* r31 */) { // References // -> static class Symbol artist; } static class Symbol year_released; // size: 0x4, address: 0x80A4C674 // Range: 0x8016A180 -> 0x8016A1F8 int SongOffer::YearReleased(const class SongOffer * const this /* r31 */) { // References // -> static class Symbol year_released; } static class Symbol album_track_number; // size: 0x4, address: 0x80A4C67C // Range: 0x8016A1F8 -> 0x8016A2D0 int SongOffer::AlbumTrackNum(const class SongOffer * const this /* r31 */) { // Local variables class DataArray * atn; // r0 // References // -> class Debug TheDebug; // -> static class Symbol album_track_number; } static class Symbol album_name; // size: 0x4, address: 0x80A4C684 // Range: 0x8016A2D0 -> 0x8016A370 char * SongOffer::AlbumName(const class SongOffer * const this /* r31 */) { // References // -> static class Symbol album_name; } // Range: 0x8016A370 -> 0x8016A3C8 class String SongOffer::AlbumArtPath() { // References // -> class SongMgr & TheSongMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4C68C static class Symbol _s; // size: 0x4, address: 0x80A4C694 static class Symbol _s; // size: 0x4, address: 0x80A4C69C static class Symbol _s; // size: 0x4, address: 0x80A4C6A4 static class Symbol _s; // size: 0x4, address: 0x80A4C6AC static class Symbol _s; // size: 0x4, address: 0x80A4C6B4 static class Symbol _s; // size: 0x4, address: 0x80A4C6BC static class Symbol _s; // size: 0x4, address: 0x80A4C6C4 static class Symbol _s; // size: 0x4, address: 0x80A4C6CC static class Symbol _s; // size: 0x4, address: 0x80A4C6D4 static class Symbol _s; // size: 0x4, address: 0x80A4C6DC // Range: 0x8016A3C8 -> 0x8016B064 class DataNode SongOffer::Handle(class SongOffer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x60 class MessageTimer _mt; // r1+0x80 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x68 } __vt__9SongOffer; // size: 0x68, address: 0x808987C0 struct { // total size: 0x8 } __RTTI__9SongOffer; // size: 0x8, address: 0x80898850 /* Compile unit: C:\rockband2\band2\src\meta\SongOffer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8016B064 -> 0x8016B0B8 */ // Range: 0x8016B064 -> 0x8016B06C class Symbol SongOffer::ShortName() {} // Range: 0x8016B06C -> 0x8016B0B0 class Symbol SongOffer::OfferType() { // References // -> class Symbol song; } // Range: 0x8016B0B0 -> 0x8016B0B8 unsigned char SongOffer::IsAvailable() {} /* Compile unit: C:\rockband2\band2\src\meta\SongOfferProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8016B118 -> 0x80172444 */ // Range: 0x8016B118 -> 0x8016B158 void * Element::Element(class Element * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x8016B158 -> 0x8016B1C8 void * Element::Element(class Element * const this /* r29 */, class SongOffer * o /* r30 */, unsigned char is_cover /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x8016B1C8 -> 0x8016B23C void Element::Clear(class Element * const this /* r30 */) { // References // -> const char * gNullStr; } // Range: 0x8016B23C -> 0x8016B268 void Element::__as() {} // Range: 0x8016B268 -> 0x8016B2B8 unsigned char Element::__eq() {} // Range: 0x8016B2B8 -> 0x8016B460 class DataArrayPtr Element::ToDataArray(class DataArrayPtr * result /* r31 */) { // References // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x8016B460 -> 0x8016B584 void Element::FromDataArray(class Element * const this /* r29 */, class DataArray * a /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongOfferProvider * TheSongOfferProvider; } class SongOfferProvider * TheSongOfferProvider; // size: 0x4, address: 0x80A4C6E0 static class Symbol song_select; // size: 0x4, address: 0x80A4C6E8 static class Symbol sorts; // size: 0x4, address: 0x80A4C6F0 // Range: 0x8016B584 -> 0x8016B67C void SongOfferProvider::Init() { // Local variables class DataArray * cfg; // r30 // References // -> static class Symbol sorts; // -> static class Symbol song_select; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongOfferProvider * TheSongOfferProvider; } // Range: 0x8016B67C -> 0x8016B84C void * SongOfferProvider::SongOfferProvider(class SongOfferProvider * const this /* r31 */) { // References // -> struct [anonymous] __vt__12SortProvider; // -> struct [anonymous] __vt__13GroupProvider; // -> struct [anonymous] __vt__15SetlistProvider; // -> struct [anonymous] __vt__12ListProvider; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__17SongOfferProvider; } // Range: 0x8016B84C -> 0x8016BB64 void * SongOfferProvider::~SongOfferProvider(class SongOfferProvider * const this /* r30 */) { // References // -> class ContentMgr & TheContentMgr; // -> struct [anonymous] __vt__17SongOfferProvider; } // Range: 0x8016BC98 -> 0x8016BD34 void SongOfferProvider::OnUnload(class SongOfferProvider * const this /* r29 */) {} // Range: 0x8016BD34 -> 0x8016BDB8 class SongOffer * SongOfferProvider::GetSongOffer(class SongOfferProvider * const this /* r29 */, class Symbol & shortname /* r30 */) { // Local variables class SongOffer * it; // r31 } // Range: 0x8016BDB8 -> 0x8016BF1C void SongOfferProvider::GetRepresentedShortcuts(const class SongOfferProvider * const this /* r30 */, class vector & rep /* r31 */) { // Local variables int i; // r28 class Symbol shortcut; // r1+0x24 } // Range: 0x8016BF1C -> 0x8016C018 unsigned char SongOfferProvider::AllowActiveShortcut(const class SongOfferProvider * const this /* r30 */, class Symbol & shortcut /* r31 */) { // Local variables int i; // r28 } // Range: 0x8016C018 -> 0x8016C0F8 void SongOfferProvider::getSorts(const class vector & all /* r29 */, class vector & available /* r30 */) { // Local variables class StoreSort * const * it; // r31 } static class Symbol bass; // size: 0x4, address: 0x80A4C6F8 static class Symbol career; // size: 0x4, address: 0x80A4C700 static class Symbol song_select_mode; // size: 0x4, address: 0x80A4C708 static class Symbol song_select_tour; // size: 0x4, address: 0x80A4C710 static class Symbol random_song; // size: 0x4, address: 0x80A4C718 static class Symbol make_a_setlist; // size: 0x4, address: 0x80A4C720 static class Symbol play_setlist; // size: 0x4, address: 0x80A4C728 static class Symbol browser_group; // size: 0x4, address: 0x80A4C730 static class Symbol browser_cover; // size: 0x4, address: 0x80A4C738 static class Symbol browser_subgroup; // size: 0x4, address: 0x80A4C740 struct SortCmp { // total size: 0x4 class StoreSort * mSort; // offset 0x0, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8016C0F8 -> 0x8016CF20 void SongOfferProvider::applySort(class SongOfferProvider * const this /* r22 */) { // Local variables struct SortCmp cmp; // r1+0xDC class Element * elem; // r1+0xD8 class Element * elem; // r1+0xD4 class Element * e; // r1+0xD0 class Element * e; // r1+0xCC class vector subgroups; // r1+0x120 class DataArray * groupScript; // r30 class DataArray * subgroup_script; // r29 class DataArray * coverScript; // r28 int HdrSongCount; // r27 int HdrDiscSongCount; // r26 int HdrDownloadSongCount; // r25 int ixCurrentGroup; // r24 class SongOffer * s; // r23 class Element * offer_element; // r1+0xC8 class DataArrayPtr args; // r1+0x100 class Symbol group; // r1+0xC4 unsigned char cover; // r31 class Element * group_element; // r1+0xC0 class vector * insert; // r31 class vector newAlbum; // r1+0x114 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> const char * kAssertStr; // -> static class Symbol browser_subgroup; // -> static class Symbol browser_cover; // -> static class Symbol browser_group; // -> static class Symbol play_setlist; // -> class GameMode * TheGameMode; // -> static class Symbol make_a_setlist; // -> static class Symbol random_song; // -> static class Symbol song_select_tour; // -> static class Symbol song_select_mode; // -> static class Symbol career; // -> class LeaderboardsMgr * TheLeaderboards; // -> static class Symbol bass; // -> class Debug TheDebug; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class vector * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class vector * _M_start; // offset 0x0, size 0x4 class vector * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PP7Element; // size: 0x8, address: 0x80898A88 // Range: 0x8016CF20 -> 0x8016D3F0 void SongOfferProvider::AddSubs(class SongOfferProvider * const this /* r31 */, class vector & subgroups /* r28 */) { // Local variables class vector * vit; // r30 class Element * pElem; // r1+0x94 class Element * * eit; // r27 class Symbol subHeader; // r1+0x90 class Element * pSub; // r1+0x8C } struct _OKToSwap { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct _IsPOD { // total size: 0x1 }; static class Symbol song_select_gap; // size: 0x4, address: 0x80A4C748 static class Symbol bass; // size: 0x4, address: 0x80A4C750 static class Symbol guitar; // size: 0x4, address: 0x80A4C758 static class Symbol band; // size: 0x4, address: 0x80A4C760 // Range: 0x8016D3F0 -> 0x8016DC8C void SongOfferProvider::InitData(class SongOfferProvider * const this /* r29 */, class RndDir * dir /* r27 */) { // Local variables class vector allowed_parts; // r1+0xB4 class Symbol part; // r1+0x90 class vector songs; // r1+0xA8 class Symbol * songIt; // r31 const class DataArray * pSongData; // r4 // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; // -> class SongMgr & TheSongMgr; // -> static class Symbol band; // -> static class Symbol guitar; // -> static class Symbol bass; // -> static class Symbol song_select_gap; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x8016DC8C -> 0x8016DD08 int SongOfferProvider::GetHeadingSongCount(const class SongOfferProvider * const this /* r30 */, int data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016DD08 -> 0x8016DD84 int SongOfferProvider::GetHeadingDiscSongCount(const class SongOfferProvider * const this /* r30 */, int data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016DD84 -> 0x8016DE00 int SongOfferProvider::GetHeadingDownloadSongCount(const class SongOfferProvider * const this /* r30 */, int data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol group; // size: 0x4, address: 0x80A4C768 static class Symbol store_famous_by; // size: 0x4, address: 0x80A4C770 static class Symbol famousby; // size: 0x4, address: 0x80A4C778 static class Symbol famousby_group; // size: 0x4, address: 0x80A4C780 static class Symbol album; // size: 0x4, address: 0x80A4C788 static class Symbol rb1_icon; // size: 0x4, address: 0x80A4C790 static class Symbol rb2_icon; // size: 0x4, address: 0x80A4C798 static class Symbol song_count; // size: 0x4, address: 0x80A4C7A0 static class Symbol song; // size: 0x4, address: 0x80A4C7A8 static class Symbol score; // size: 0x4, address: 0x80A4C7B0 static class Symbol details; // size: 0x4, address: 0x80A4C7B8 static class Symbol bonus; // size: 0x4, address: 0x80A4C7C0 static class Symbol random_song; // size: 0x4, address: 0x80A4C7C8 static class Symbol career; // size: 0x4, address: 0x80A4C7D0 static class Symbol song_select_play_all; // size: 0x4, address: 0x80A4C7D8 static class Symbol song_select_song; // size: 0x4, address: 0x80A4C7E0 static class Symbol song_select_songs; // size: 0x4, address: 0x80A4C7E8 static class Symbol song_select_practice; // size: 0x4, address: 0x80A4C7F0 static class Symbol song_select_jukebox; // size: 0x4, address: 0x80A4C7F8 static class Symbol song_select_mode; // size: 0x4, address: 0x80A4C800 static class Symbol is_tour; // size: 0x4, address: 0x80A4C808 // Range: 0x8016DE00 -> 0x8016E5F0 char * SongOfferProvider::Text(const class SongOfferProvider * const this /* r26 */, int data /* r27 */, class Symbol & slot /* r28 */) { // Local variables const class Element * e; // r29 const class SongOffer * offer; // r3 int songCount; // r26 class Symbol heading; // r1+0x7C class Symbol song; // r1+0x78 int score; // r29 class TourBand * band; // r0 class list users; // r1+0x90 struct _List_iterator it; // r1+0x74 class Profile * profile; // r0 int temp; // r3 class BandUser * user; // r26 enum ControllerType ct; // r0 enum TrackType tt; // r27 class Profile * profile; // r0 // References // -> class SessionMgr * TheSessionMgr; // -> class ProfileMgr TheProfileMgr; // -> class NetSession * TheNetSession; // -> class Tour * TheTour; // -> const char * gNullStr; // -> class GameMode * TheGameMode; // -> static class Symbol is_tour; // -> static class Symbol song_select_mode; // -> static class Symbol song_select_jukebox; // -> static class Symbol song_select_practice; // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol song_select_songs; // -> static class Symbol song_select_song; // -> static class Symbol song_select_play_all; // -> static class Symbol career; // -> static class Symbol random_song; // -> static class Symbol bonus; // -> static class Symbol details; // -> static class Symbol score; // -> static class Symbol song; // -> static class Symbol song_count; // -> static class Symbol rb2_icon; // -> static class Symbol rb1_icon; // -> static class Symbol album; // -> static class Symbol famousby_group; // -> static class Symbol famousby; // -> static class Symbol store_famous_by; // -> static class Symbol group; } static class Symbol group_bg; // size: 0x4, address: 0x80A4C810 static class Symbol album_bg; // size: 0x4, address: 0x80A4C818 static class Symbol song_bg; // size: 0x4, address: 0x80A4C820 static class Symbol download; // size: 0x4, address: 0x80A4C828 // Range: 0x8016E5F0 -> 0x8016E76C class RndMat * SongOfferProvider::Mat(const class SongOfferProvider * const this /* r29 */, int data /* r30 */, class Symbol & slot /* r31 */) { // Local variables class Element * e; // r4 // References // -> static class Symbol download; // -> static class Symbol song_bg; // -> static class Symbol album_bg; // -> static class Symbol group_bg; } static class Symbol download; // size: 0x4, address: 0x80A4C830 static class Symbol rb1_icon; // size: 0x4, address: 0x80A4C838 static class Symbol rb2_icon; // size: 0x4, address: 0x80A4C840 // Range: 0x8016E76C -> 0x8016E84C class Symbol SongOfferProvider::getIcon(const class SongOfferProvider * const this /* r29 */, int ixData /* r30 */) { // Local variables class Element * e; // r3 // References // -> const char * gNullStr; // -> static class Symbol rb2_icon; // -> static class Symbol rb1_icon; // -> static class Symbol download; } // Range: 0x8016E84C -> 0x8016E8D8 class Symbol SongOfferProvider::DataSymbol(const class SongOfferProvider * const this /* r30 */, int data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016E8D8 -> 0x8016E8F0 int SongOfferProvider::NumData() {} static class Symbol song_select_mode; // size: 0x4, address: 0x80A4C848 static class Symbol song_select_practice; // size: 0x4, address: 0x80A4C850 // Range: 0x8016E8F0 -> 0x8016EBE0 unsigned char SongOfferProvider::IsActive(const class SongOfferProvider * const this /* r29 */, int data /* r30 */) { // Local variables class MetaPerformer * mp; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol song_select_practice; // -> static class Symbol song_select_mode; } static class Symbol song_data_mounted; // size: 0x4, address: 0x80A4C858 static class Message msg; // size: 0x8, address: 0x80979DA8 // Range: 0x8016EBE0 -> 0x8016EF1C void SongOfferProvider::ContentMounted(class SongOfferProvider * const this /* r29 */, const char * contentName /* r30 */) { // Local variables class Element & preview; // r31 int ix; // r0 const char * selectedContentName; // r4 // References // -> class UIManager TheUI; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> class SongMgr & TheSongMgr; // -> class ContentMgr & TheContentMgr; // -> static class Symbol song_data_mounted; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol random_song; // size: 0x4, address: 0x80A4C860 static class Symbol career; // size: 0x4, address: 0x80A4C868 static class Symbol song_select_practice; // size: 0x4, address: 0x80A4C870 static class Symbol song_select_mode; // size: 0x4, address: 0x80A4C878 static class Symbol missing_part_type; // size: 0x4, address: 0x80A4C880 // Range: 0x8016EF1C -> 0x8016F388 unsigned char SongOfferProvider::IsDisabled(const class SongOfferProvider * const this /* r29 */, int data /* r30 */) { // Local variables const class SongOffer * offer; // r30 class Symbol song; // r1+0x44 const class SongOffer * offer; // r26 class Symbol song; // r1+0x40 const class SongOffer * offer; // r26 class Symbol song; // r1+0x3C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol missing_part_type; // -> static class Symbol song_select_mode; // -> static class Symbol song_select_practice; // -> static class Symbol career; // -> static class Symbol random_song; } static class Symbol disabled; // size: 0x4, address: 0x80A4C888 // Range: 0x8016F388 -> 0x8016F40C class Symbol SongOfferProvider::State(const class SongOfferProvider * const this /* r29 */, int data /* r30 */, class Symbol & component_state /* r31 */) { // References // -> static class Symbol disabled; } // Range: 0x8016F40C -> 0x8016F518 unsigned char SongOfferProvider::OnIsSong(const class SongOfferProvider * const this /* r31 */) { // Local variables class DataNode n; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016F518 -> 0x8016F5D4 unsigned char SongOfferProvider::IsHeader(const class SongOfferProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016F5D4 -> 0x8016F688 unsigned char SongOfferProvider::IsSubHeader(const class SongOfferProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016F688 -> 0x8016F73C unsigned char SongOfferProvider::IsFunction(const class SongOfferProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol browser_shortcut; // size: 0x4, address: 0x80A4C890 static class Symbol browser_group; // size: 0x4, address: 0x80A4C898 // Range: 0x8016F73C -> 0x8016F994 class Symbol SongOfferProvider::PosToShortcut(const class SongOfferProvider * const this /* r30 */, int pos /* r28 */) { // Local variables class DataArray * c; // r28 class DataArrayPtr args; // r1+0x28 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol browser_group; // -> static class Symbol browser_shortcut; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016F994 -> 0x8016FA4C class Symbol SongOfferProvider::GetCurrentShortcut(const class SongOfferProvider * const this /* r30 */, int pos /* r31 */) { // Local variables class Symbol shortcut; // r1+0x10 // References // -> const char * gNullStr; } static class Symbol browser_shortcut; // size: 0x4, address: 0x80A4C8A0 // Range: 0x8016FA4C -> 0x8016FCF0 int SongOfferProvider::ShortcutToPos(const class SongOfferProvider * const this /* r27 */, class Symbol & shortcut /* r28 */) { // Local variables class DataArray * c; // r30 int num_data; // r0 int i; // r29 int x; // r5 class DataArrayPtr args; // r1+0x28 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol browser_shortcut; } // Range: 0x8016FCF0 -> 0x8016FD70 int SongOfferProvider::ShortcutToSelectablePos(const class SongOfferProvider * const this /* r31 */) { // Local variables int pos; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016FD70 -> 0x8016FF0C int SongOfferProvider::GetNextHeader(const class SongOfferProvider * const this /* r28 */, int data /* r29 */) { // Local variables int max; // r25 int ix; // r30 enum ElementType type; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8016FF0C -> 0x8016FFD8 int SongOfferProvider::PosToSelectablePos(const class SongOfferProvider * const this /* r29 */, int data /* r30 */) { // Local variables int ix; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol random_song; // size: 0x4, address: 0x80A4C8A8 static class Symbol career; // size: 0x4, address: 0x80A4C8B0 static class Symbol missing_part_type; // size: 0x4, address: 0x80A4C8B8 // Range: 0x8016FFD8 -> 0x80170150 class Symbol SongOfferProvider::GetSelectedSong(class SongOfferProvider * const this /* r30 */) { // Local variables enum MissingPartType mpt; // r29 // References // -> class BandUserMgr * TheBandUserMgr; // -> class SongMgr & TheSongMgr; // -> static class Symbol missing_part_type; // -> static class Symbol career; // -> static class Symbol random_song; // -> class GameMode * TheGameMode; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol missing_part_type; // size: 0x4, address: 0x80A4C8C0 // Range: 0x80170150 -> 0x8017040C int SongOfferProvider::OnSelectHeader(class SongOfferProvider * const this /* r26 */, int ixData /* r27 */) { // Local variables class QuickplayPerformer * qpp; // r31 enum MissingPartType mpt; // r30 unsigned char bSkipSubs; // r29 int result; // r28 const class SongOffer * offer; // r22 class Symbol song; // r1+0x18 // References // -> class BandUserMgr * TheBandUserMgr; // -> class SongMgr & TheSongMgr; // -> class GameMode * TheGameMode; // -> static class Symbol missing_part_type; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol song_select_mode; // size: 0x4, address: 0x80A4C8C8 static class Symbol song_select_tour; // size: 0x4, address: 0x80A4C8D0 // Range: 0x8017040C -> 0x80170480 unsigned char SongOfferProvider::IsSetlistMode(const class SongOfferProvider * const this /* r31 */) { // References // -> static class Symbol song_select_tour; // -> static class Symbol song_select_mode; } static class Symbol song_select_mode; // size: 0x4, address: 0x80A4C8D8 static class Symbol song_select_tour; // size: 0x4, address: 0x80A4C8E0 static class Symbol any; // size: 0x4, address: 0x80A4C8E8 static class Symbol missing_part_type; // size: 0x4, address: 0x80A4C8F0 // Range: 0x80170480 -> 0x8017072C void SongOfferProvider::SetSetlistMode(class SongOfferProvider * const this /* r29 */, unsigned char bSet /* r30 */) { // Local variables enum MissingPartType mpt; // r28 class vector valid_songs; // r1+0x30 int i; // r28 int valid_size; // r1+0x2C // References // -> class BandUserMgr * TheBandUserMgr; // -> class SongMgr & TheSongMgr; // -> static class Symbol missing_part_type; // -> class GameMode * TheGameMode; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol any; // -> static class Symbol song_select_tour; // -> static class Symbol song_select_mode; } static class Symbol band; // size: 0x4, address: 0x80A4C8F8 static class Symbol none; // size: 0x4, address: 0x80A4C900 // Range: 0x8017072C -> 0x801709A0 class Symbol SongOfferProvider::findRelevantPart(class SongOfferProvider * const this /* r28 */) { // Local variables unsigned char coop; // r0 unsigned char solo; // r0 class list configs; // r1+0x48 class BandUser * pUser; // r28 class Symbol part; // r1+0x34 // References // -> static class Symbol none; // -> class BandUserMgr * TheBandUserMgr; // -> class GameMode * TheGameMode; // -> class LeaderboardsMgr * TheLeaderboards; // -> static class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; } static class Symbol song_select_mode; // size: 0x4, address: 0x80A4C908 static class Symbol song_select_tour; // size: 0x4, address: 0x80A4C910 static class Symbol song_select_practice; // size: 0x4, address: 0x80A4C918 static class Symbol player_arrangement; // size: 0x4, address: 0x80A4C920 // Range: 0x801709A0 -> 0x80170B54 unsigned char SongOfferProvider::HeadersSelectable(const class SongOfferProvider * const this /* r31 */) { // References // -> class GameMode * TheGameMode; // -> static class Symbol player_arrangement; // -> static class Symbol song_select_practice; // -> static class Symbol song_select_tour; // -> static class Symbol song_select_mode; } // Range: 0x80170B54 -> 0x80170C3C void SongOfferProvider::PlayPreview(class SongOfferProvider * const this /* r30 */, int ix /* r31 */) { // Local variables class Symbol song_name; // r1+0x14 // References // -> const char * gNullStr; // -> class ContentMgr & TheContentMgr; // -> class SongPreview TheSongPreview; } // Range: 0x80170C3C -> 0x80170C98 void SongOfferProvider::SetHighlighted(class SongOfferProvider * const this /* r5 */) { // References // -> class LeaderboardsMgr * TheLeaderboards; } // Range: 0x80170C98 -> 0x80170D40 int SongOfferProvider::GetHighlightedIx(class SongOfferProvider * const this /* r29 */) { // Local variables class Element & highlight; // r31 int i; // r30 // References // -> class LeaderboardsMgr * TheLeaderboards; } // Range: 0x80170D40 -> 0x80170DB0 class DataNode SongOfferProvider::GetRemoteHighlight() { // References // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x80170DB0 -> 0x80170E38 class DataNode SongOfferProvider::SetRemoteHighlight(class SongOfferProvider * const this /* r30 */, class DataArray * d /* r31 */) {} // Range: 0x80170E38 -> 0x80170EB8 int SongOfferProvider::InitHighlight(class SongOfferProvider * const this /* r30 */) { // Local variables int ix; // r31 // References // -> class LeaderboardsMgr * TheLeaderboards; } static class Symbol _s; // size: 0x4, address: 0x80A4C928 static class Symbol _s; // size: 0x4, address: 0x80A4C930 static class Symbol _s; // size: 0x4, address: 0x80A4C938 static class Symbol _s; // size: 0x4, address: 0x80A4C940 static class Symbol _s; // size: 0x4, address: 0x80A4C948 static class Symbol _s; // size: 0x4, address: 0x80A4C950 static class Symbol _s; // size: 0x4, address: 0x80A4C958 static class Symbol _s; // size: 0x4, address: 0x80A4C960 static class Symbol _s; // size: 0x4, address: 0x80A4C968 static class Symbol _s; // size: 0x4, address: 0x80A4C970 static class Symbol _s; // size: 0x4, address: 0x80A4C978 static class Symbol _s; // size: 0x4, address: 0x80A4C980 static class Symbol _s; // size: 0x4, address: 0x80A4C988 static class Symbol _s; // size: 0x4, address: 0x80A4C990 static class Symbol _s; // size: 0x4, address: 0x80A4C998 static class Symbol _s; // size: 0x4, address: 0x80A4C9A0 static class Symbol _s; // size: 0x4, address: 0x80A4C9A8 static class Symbol _s; // size: 0x4, address: 0x80A4C9B0 static class Symbol _s; // size: 0x4, address: 0x80A4C9B8 static class Symbol _s; // size: 0x4, address: 0x80A4C9C0 static class Symbol _s; // size: 0x4, address: 0x80A4C9C8 static class Symbol _s; // size: 0x4, address: 0x80A4C9D0 static class Symbol _s; // size: 0x4, address: 0x80A4C9D8 static class Symbol _s; // size: 0x4, address: 0x80A4C9E0 static class Symbol _s; // size: 0x4, address: 0x80A4C9E8 static class Symbol _s; // size: 0x4, address: 0x80A4C9F0 static class Symbol _s; // size: 0x4, address: 0x80A4C9F8 static class Symbol _s; // size: 0x4, address: 0x80A4CA00 static class Symbol _s; // size: 0x4, address: 0x80A4CA08 static class Symbol _s; // size: 0x4, address: 0x80A4CA10 // Range: 0x80170EB8 -> 0x80171CB0 class DataNode SongOfferProvider::Handle(class SongOfferProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4CA18 static class Symbol _s; // size: 0x4, address: 0x80A4CA20 static class Symbol _s; // size: 0x4, address: 0x80A4CA28 static class Symbol _s; // size: 0x4, address: 0x80A4CA30 // Range: 0x80171CB0 -> 0x80172180 unsigned char SongOfferProvider::SyncProperty(class SongOfferProvider * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> struct [anonymous] __RTTI__12SortProvider; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__13GroupProvider; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15SetlistProvider; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol song; // size: 0x4, address: 0x80A4CA38 static class Symbol any; // size: 0x4, address: 0x80A4CA40 static class Symbol random; // size: 0x4, address: 0x80A4CA48 static class Symbol choosing; // size: 0x4, address: 0x80A4CA50 static class Symbol tour_random_song; // size: 0x4, address: 0x80A4CA58 // Range: 0x80172180 -> 0x801723BC char * SetlistProvider::Text(int data /* r30 */, class Symbol & slot /* r29 */) { // Local variables class String strResult; // r1+0x30 class Symbol songSym; // r1+0x20 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongMgr & TheSongMgr; // -> static class Symbol tour_random_song; // -> static class Symbol choosing; // -> static class Symbol random; // -> static class Symbol any; // -> static class Symbol song; } // Range: 0x801723BC -> 0x801723F4 class Symbol SetlistProvider::DataSymbol(int data /* r31 */) {} // Range: 0x801723F4 -> 0x80172418 int SetlistProvider::NumData() {} struct { // total size: 0x98 } __vt__15SetlistProvider; // size: 0x98, address: 0x80899188 struct { // total size: 0x8 } __RTTI__15SetlistProvider; // size: 0x8, address: 0x80899250 struct { // total size: 0x10C } __vt__17SongOfferProvider; // size: 0x10C, address: 0x80899258 struct { // total size: 0x8 } __RTTI__17SongOfferProvider; // size: 0x8, address: 0x808993A8 struct { // total size: 0x98 } __vt__12SortProvider; // size: 0x98, address: 0x80899410 struct { // total size: 0x8 } __RTTI__12SortProvider; // size: 0x8, address: 0x808994D8 // Range: 0x80172418 -> 0x80172444 void _Vector_base::_M_throw_length_error() {} struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std58vector>; // size: 0x8, address: 0x80899628 struct { // total size: 0x8 } __RTTI__P9SongOffer; // size: 0x8, address: 0x80899640 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80172444 -> 0x80172504 */ // Range: 0x80172444 -> 0x801724A4 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, unsigned long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x801724A4 -> 0x80172504 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, class String & t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80172504 -> 0x801726B8 */ // Range: 0x80172504 -> 0x80172608 unsigned char SongOfferProvider::AlbumLessThan(const class vector & lhs /* r29 */, const class vector & rhs /* r30 */) { // Local variables class Symbol lAlbum; // r1+0xC class Symbol rAlbum; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80172608 -> 0x801726B8 unsigned char SongOfferProvider::ElementsByTrack(const class Element * lhs /* r31 */, const class Element * rhs /* r30 */) { // Local variables int nLHS; // r0 int nRHS; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801726B8 -> 0x801726CC */ // Range: 0x801726B8 -> 0x801726C8 class Element * & vector::__vc() {} // Range: 0x801726C8 -> 0x801726CC class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801726CC -> 0x80174990 */ // Range: 0x801726CC -> 0x80172784 void sort(class SongOffer * __first /* r29 */, class SongOffer * __last /* r30 */, struct SortCmp & __comp /* r31 */) {} // Range: 0x80172784 -> 0x80172838 void __final_insertion_sort(class SongOffer * __first /* r29 */, class SongOffer * __last /* r30 */, struct SortCmp & __comp /* r31 */) {} // Range: 0x80172838 -> 0x80172A1C void __unguarded_insertion_sort_aux(class SongOffer * __last /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class SongOffer * __i; // r31 // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80172A1C -> 0x80172B6C void __unguarded_linear_insert(class SongOffer * __last /* r30 */, class SongOffer & __val /* r31 */, struct SortCmp & __comp /* r28 */) { // Local variables class SongOffer * __next; // r29 } // Range: 0x80172B6C -> 0x80172D50 void __insertion_sort(class SongOffer * __first /* r28 */, class SongOffer * __last /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class SongOffer * __i; // r31 // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80172D50 -> 0x80173060 void __linear_insert(class SongOffer * __first /* r28 */, class SongOffer * __last /* r29 */, class SongOffer & __val /* r30 */, struct SortCmp & __comp /* r31 */) { // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80173060 -> 0x8017335C void __introsort_loop(class SongOffer * __first /* r27 */, class SongOffer * __last /* r28 */, long __depth_limit /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class SongOffer * __cut; // r26 // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x8017335C -> 0x80173658 class SongOffer * __unguarded_partition(class SongOffer * __first /* r28 */, class SongOffer * __last /* r29 */, class SongOffer & __pivot /* r30 */, struct SortCmp & __comp /* r31 */) { // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80173658 -> 0x80173688 void partial_sort() {} // Range: 0x80173688 -> 0x801738E8 void __partial_sort(class SongOffer * __first /* r27 */, class SongOffer * __middle /* r28 */, class SongOffer * __last /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class SongOffer * __i; // r31 // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x801738E8 -> 0x8017397C void sort(class Element * * __first /* r29 */, class Element * * __last /* r30 */, unsigned char (* __comp)(class Element *) /* r31 */) {} // Range: 0x8017397C -> 0x80173A04 void __final_insertion_sort(class Element * * __first /* r29 */, class Element * * __last /* r30 */, unsigned char (* __comp)(class Element *) /* r31 */) {} // Range: 0x80173A04 -> 0x80173A64 void __unguarded_insertion_sort_aux(class Element * * __last /* r29 */, unsigned char (* __comp)(class Element *) /* r30 */) { // Local variables class Element * * __i; // r31 } // Range: 0x80173A64 -> 0x80173AE4 void __unguarded_linear_insert(class Element * * __last /* r28 */, class Element * __val /* r29 */, unsigned char (* __comp)(class Element *) /* r30 */) { // Local variables class Element * * __next; // r31 } // Range: 0x80173AE4 -> 0x80173B98 void __insertion_sort(class Element * * __first /* r27 */, class Element * * __last /* r28 */, unsigned char (* __comp)(class Element *) /* r29 */) { // Local variables class Element * * __i; // r30 } // Range: 0x80173B98 -> 0x80173CFC void __introsort_loop(class Element * * __first /* r27 */, class Element * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class Element *) /* r30 */) { // Local variables class Element * * __cut; // r31 } // Range: 0x80173CFC -> 0x80173DD0 class Element * * __unguarded_partition(class Element * * __first /* r28 */, class Element * * __last /* r29 */, class Element * __pivot /* r30 */, unsigned char (* __comp)(class Element *) /* r31 */) {} // Range: 0x80173DD0 -> 0x80173DDC void partial_sort() {} // Range: 0x80173DDC -> 0x80173EA4 void __partial_sort(class Element * * __first /* r27 */, class Element * * __middle /* r28 */, class Element * * __last /* r29 */, unsigned char (* __comp)(class Element *) /* r30 */) { // Local variables class Element * * __i; // r31 } // Range: 0x80173EA4 -> 0x80173F48 void sort(class vector * __first /* r29 */, class vector * __last /* r30 */, unsigned char (* __comp)(class vector &) /* r31 */) {} // Range: 0x80173F48 -> 0x80173FE0 void __final_insertion_sort(class vector * __first /* r29 */, class vector * __last /* r30 */, unsigned char (* __comp)(class vector &) /* r31 */) {} // Range: 0x80173FE0 -> 0x80174114 void __unguarded_insertion_sort_aux(class vector * __last /* r29 */, unsigned char (* __comp)(class vector &) /* r30 */) { // Local variables class vector * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80174114 -> 0x801741A0 void __unguarded_linear_insert(class vector * __last /* r28 */, class vector & __val /* r29 */, unsigned char (* __comp)(class vector &) /* r30 */) { // Local variables class vector * __next; // r31 } // Range: 0x801741A0 -> 0x801742E4 void __insertion_sort(class vector * __first /* r28 */, class vector * __last /* r29 */, unsigned char (* __comp)(class vector &) /* r30 */) { // Local variables class vector * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801742E4 -> 0x8017448C void __linear_insert(class vector * __first /* r27 */, class vector * __last /* r29 */, class vector & __val /* r30 */, unsigned char (* __comp)(class vector &) /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8017448C -> 0x801746E4 void __introsort_loop(class vector * __first /* r28 */, class vector * __last /* r29 */, long __depth_limit /* r30 */, unsigned char (* __comp)(class vector &) /* r31 */) { // Local variables class vector * __cut; // r25 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801746E4 -> 0x801747DC class vector * __unguarded_partition(class vector * __first /* r28 */, class vector * __last /* r29 */, class vector & __pivot /* r30 */, unsigned char (* __comp)(class vector &) /* r31 */) {} // Range: 0x801747DC -> 0x801747E8 void partial_sort() {} // Range: 0x801747E8 -> 0x80174990 void __partial_sort(class vector * __first /* r27 */, class vector * __middle /* r28 */, class vector * __last /* r29 */, unsigned char (* __comp)(class vector &) /* r30 */) { // Local variables class vector * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80174990 -> 0x80174A38 */ // Range: 0x80174990 -> 0x801749A8 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801749A8 -> 0x801749C0 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801749C0 -> 0x801749D8 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x801749D8 -> 0x801749F0 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801749F0 -> 0x80174A08 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80174A08 -> 0x80174A20 struct __true_type _OKToSwap::_Answer() {} // Range: 0x80174A20 -> 0x80174A38 struct __false_type _IsPOD::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80174A38 -> 0x801759F0 */ // Range: 0x80174A38 -> 0x80174C1C void pop_heap(class SongOffer * __first /* r30 */, class SongOffer * __last /* r31 */) { // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80174C1C -> 0x80174F54 void __adjust_heap(class SongOffer * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, class SongOffer & __val /* r28 */, struct SortCmp & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80174F54 -> 0x801750D8 void __push_heap(class SongOffer * __first /* r27 */, long __holeIndex /* r23 */, long __topIndex /* r28 */, class SongOffer & __val /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables long __parent; // r31 } // Range: 0x801750D8 -> 0x80175300 void make_heap(class SongOffer * __first /* r29 */) { // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80175300 -> 0x8017532C void pop_heap(class Element * * __last /* r8 */) {} // Range: 0x8017532C -> 0x80175448 void __adjust_heap(class Element * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class Element * __val /* r29 */, unsigned char (* __comp)(class Element *) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 } // Range: 0x80175448 -> 0x801754DC void make_heap(class Element * * __first /* r28 */, unsigned char (* __comp)(class Element *) /* r29 */) {} // Range: 0x801754DC -> 0x8017560C void pop_heap(class vector * __first /* r29 */, class vector * __last /* r30 */, unsigned char (* __comp)(class vector &) /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8017560C -> 0x801757C4 void __adjust_heap(class vector * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class vector & __val /* r29 */, unsigned char (* __comp)(class vector &) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801757C4 -> 0x80175878 void __push_heap(class vector * __first /* r25 */, long __holeIndex /* r26 */, long __topIndex /* r27 */, class vector & __val /* r28 */, unsigned char (* __comp)(class vector &) /* r29 */) { // Local variables long __parent; // r30 } // Range: 0x80175878 -> 0x801759F0 void make_heap(class vector * __first /* r27 */, unsigned char (* __comp)(class vector &) /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801759F0 -> 0x80175DA4 */ // Range: 0x801759F0 -> 0x80175C50 void __pop_heap(class SongOffer * __first /* r28 */, class SongOffer * __last /* r29 */, class SongOffer * __result /* r27 */, class SongOffer & __val /* r30 */, struct SortCmp & __comp /* r31 */) { // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80175C50 -> 0x80175DA4 void __pop_heap(class vector * __first /* r29 */, class vector * __last /* r30 */, class vector & __val /* r25 */, unsigned char (* __comp)(class vector &) /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\SongOfferProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80175DA4 -> 0x80175DC0 */ // Range: 0x80175DA4 -> 0x80175DAC unsigned char SetlistProvider::IsActive() {} // Range: 0x80175DAC -> 0x80175DB4 class RndMat * SetlistProvider::Mat() {} // Range: 0x80175DB4 -> 0x80175DB8 void SetlistProvider::InitData() {} // Range: 0x80175DB8 -> 0x80175DC0 char * SongOfferProvider::ContentDir() {} /* Compile unit: C:\rockband2\band2\src\meta\OfferProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80175DC0 -> 0x80175E84 */ // Range: 0x80175DC0 -> 0x80175DD0 class Symbol SortProvider::DataSymbol() {} // Range: 0x80175DD0 -> 0x80175E1C class RndMat * SortProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80175E1C -> 0x80175E5C char * SortProvider::Text() {} // Range: 0x80175E5C -> 0x80175E74 int SortProvider::NumData() {} // Range: 0x80175E74 -> 0x80175E84 void SortProvider::InitData(class SortProvider * const this /* r4 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80175EEC -> 0x80176EC8 */ // Range: 0x80175EEC -> 0x801762E8 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class vector * __pos /* r25 */, const class vector & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x90 unsigned long __len; // r29 class vector * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PP7Element; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std58vector>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801762E8 -> 0x80176420 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Element * * __pos /* r28 */, class Element * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Element * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80176420 -> 0x801765F0 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801765F0 -> 0x80176738 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class Element * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80176738 -> 0x80176EC8 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class SongOffer * __pos /* r25 */, const class SongOffer & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0xD4 unsigned long __len; // r29 class SongOffer * __new_finish; // r28 // References // -> struct [anonymous] __vt__9SongOffer; // -> struct [anonymous] __vt__5Offer; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9SongOffer; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\SongPreview.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80176EC8 -> 0x801784F4 */ class SongPreview TheSongPreview; // size: 0x54, address: 0x80979DBC // Range: 0x80176EC8 -> 0x80176F08 static class DataNode OnSongPreviewStart() { // References // -> class SongPreview TheSongPreview; } // Range: 0x80176F08 -> 0x80176F74 static class DataNode OnSongPreviewFgInstr(class DataArray * args /* r31 */) { // References // -> class SongPreview TheSongPreview; } // Range: 0x80176F74 -> 0x80176FD4 static class DataNode OnSongPreviewFg(class DataArray * args /* r31 */) { // References // -> class SongPreview TheSongPreview; } // Range: 0x80176FD4 -> 0x80177034 static class DataNode OnSongPreviewBg(class DataArray * args /* r31 */) { // References // -> class SongPreview TheSongPreview; } // Range: 0x80177034 -> 0x80177094 static class DataNode OnSongPreviewCrowd(class DataArray * args /* r31 */) { // References // -> class SongPreview TheSongPreview; } // Range: 0x80177094 -> 0x801770F4 static class DataNode OnSongPreviewVocals(class DataArray * args /* r31 */) { // References // -> class SongPreview TheSongPreview; } // Range: 0x801770F4 -> 0x80177160 void * SongPreview::SongPreview() { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__11SongPreview; } // Range: 0x80177160 -> 0x80177668 void SongPreview::Init(class SongPreview * const this /* r31 */) { // Local variables class DataArray * cfg; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; } // Range: 0x80177668 -> 0x80177814 void SongPreview::Terminate(class SongPreview * const this /* r31 */) { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x80177814 -> 0x8017796C void SongPreview::Start(class SongPreview * const this /* r29 */, class Symbol & song /* r30 */) { // References // -> class ContentMgr & TheContentMgr; // -> class SongMgr & TheSongMgr; // -> const char * gNullStr; } // Range: 0x8017796C -> 0x80177A04 void SongPreview::ContentMounted(class SongPreview * const this /* r30 */, const char * contentName /* r31 */) { // Local variables class Symbol s; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80177A04 -> 0x80177AB8 void SongPreview::ContentFailed(class SongPreview * const this /* r30 */, const char * contentName /* r31 */) { // Local variables class Symbol s; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80177AB8 -> 0x80177B70 void SongPreview::PreparePreview(class SongPreview * const this /* r31 */) { // Local variables float startMs; // r1+0x14 float endMs; // r1+0x10 // References // -> class SongMgr & TheSongMgr; } // Range: 0x80177B70 -> 0x80177DF0 void SongPreview::Poll(class SongPreview * const this /* r31 */) { // Local variables const char * c; // r4 // References // -> class PlatformMgr ThePlatformMgr; // -> class ContentMgr & TheContentMgr; // -> class GameMode * TheGameMode; // -> class UIManager TheUI; // -> class SongMgr & TheSongMgr; // -> const char * gNullStr; } // Range: 0x80177DF0 -> 0x80177ED4 void SongPreview::OnStart(class SongPreview * const this /* r30 */, class DataArray * args /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x80177ED4 -> 0x80177EE0 void SongPreview::OnFgInstr() {} // Range: 0x80177EE0 -> 0x80177EEC void SongPreview::OnFg() {} // Range: 0x80177EEC -> 0x80177EF8 void SongPreview::OnBg() {} // Range: 0x80177EF8 -> 0x80177F04 void SongPreview::OnCrowd() {} // Range: 0x80177F04 -> 0x80177F10 void SongPreview::OnVocals() {} // Range: 0x80177F10 -> 0x80177F98 void SongPreview::DetachFader(class SongPreview * const this /* r29 */, class Fader * fader /* r30 */) { // Local variables int ch; // r31 class FaderGroup & faders; // r0 } // Range: 0x80177F98 -> 0x80177FF8 void SongPreview::DetachFaders(class SongPreview * const this /* r31 */) {} // Range: 0x80177FF8 -> 0x801781D0 void SongPreview::PrepareFaders(class SongPreview * const this /* r25 */, const class DataArray * song_data /* r26 */) { // Local variables class DataArray * crowd_sing_array; // r29 class DataArray * fg_array; // r28 class DataArray * crowd_array; // r27 class DataArray * vocals_array; // r30 int ch; // r31 class FaderGroup & faders; // r26 } // Range: 0x801781D0 -> 0x801784AC void SongPreview::PrepareSong(class SongPreview * const this /* r31 */, class Symbol & song /* r26 */) { // Local variables const class DataArray * songData; // r26 class String filePrev; // r1+0x28 class DataArray * pans; // r27 class DataArray * volumes; // r28 int i; // r29 // References // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> int sHeap; // -> class SongMgr & TheSongMgr; } struct { // total size: 0x40 } __vt__11SongPreview; // size: 0x40, address: 0x80899998 struct { // total size: 0x8 } __RTTI__11SongPreview; // size: 0x8, address: 0x808999F0 // Range: 0x801784AC -> 0x801784F4 static void __sinit_\SongPreview_cpp() { // References // -> class SongPreview TheSongPreview; } class StreamReader { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; /* Compile unit: C:\rockband2\band2\src\meta\SongPreview.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80178534 -> 0x8017853C */ // Range: 0x80178534 -> 0x8017853C char * SongPreview::ContentDir() {} /* Compile unit: C:\rockband2\band2\src\meta\SongStatusMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017853C -> 0x80179BB0 */ // Range: 0x8017853C -> 0x80178554 unsigned char __eq() {} // Range: 0x80178554 -> 0x80178574 unsigned char HasHigherSongScore() {} // Range: 0x80178574 -> 0x80178608 class BinStream & __ls(class BinStream & dest /* r30 */, const struct SongStatus & ss /* r31 */) {} // Range: 0x80178608 -> 0x80178690 class BinStream & __rs(class BinStream & src /* r30 */, struct SongStatus & ss /* r31 */) { // Local variables int ver; // r1+0x8 } // Range: 0x80178690 -> 0x801786A8 unsigned char __eq() {} // Range: 0x801786A8 -> 0x8017877C class BinStream & __ls(class BinStream & s /* r28 */, const struct SoloSongStatus & ss /* r29 */) { // Local variables int n; // r30 } // Range: 0x8017877C -> 0x801787FC void * SoloSongStatusMgr::SoloSongStatusMgr(class SoloSongStatusMgr * const this /* r29 */, int padNum /* r30 */, const class SongMgr & sm /* r31 */) { // References // -> struct [anonymous] __vt__17SoloSongStatusMgr; } // Range: 0x801787FC -> 0x80178848 void SoloSongStatusMgr::Clear(class SoloSongStatusMgr * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80178848 -> 0x80178A74 unsigned char SoloSongStatusMgr::UpdateSong(class SoloSongStatusMgr * const this /* r28 */, class Symbol & songName /* r27 */, enum TrackType trackType /* r29 */, enum Difficulty diff /* r30 */, int score /* r31 */) { // Local variables struct _List_iterator it; // r1+0x24 struct SoloSongStatus songStatus; // r1+0x28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14SoloSongStatus>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class RockCentralGateway RockCentral; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node<14SoloSongStatus>; // size: 0x8, address: 0x80899B00 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80178A74 -> 0x80178B04 int SoloSongStatusMgr::GetScore(const class SoloSongStatusMgr * const this /* r30 */, class Symbol & songName /* r6 */, enum TrackType trackType /* r31 */) { // Local variables struct _List_iterator it; // r1+0x24 } // Range: 0x80178B04 -> 0x80178BE0 int SoloSongStatusMgr::GetTotalScore(const class SoloSongStatusMgr * const this /* r27 */, enum TrackType track /* r28 */, unsigned char includeDLC /* r29 */) { // Local variables int ret; // r30 struct _List_iterator it; // r1+0x1C } // Range: 0x80178BE0 -> 0x80178CE8 void SoloSongStatusMgr::UpdateLeaderboards(class SoloSongStatusMgr * const this /* r28 */) { // Local variables struct _List_iterator it; // r1+0x14 int n; // r30 int userNum; // r29 int total; // r0 // References // -> class RockCentralGateway RockCentral; } // Range: 0x80178CE8 -> 0x80178D40 class BinStream & __ls(class BinStream & s /* r30 */, const class SoloSongStatusMgr & ssm /* r31 */) {} // Range: 0x80178D40 -> 0x80178D58 unsigned char __eq() {} // Range: 0x80178D58 -> 0x80178E10 class BinStream & __ls(class BinStream & s /* r30 */, const struct BandSongStatus & ss /* r31 */) {} // Range: 0x80178E10 -> 0x80178E84 void * BandSongStatusMgr::BandSongStatusMgr(class BandSongStatusMgr * const this /* r30 */, const class SongMgr & sm /* r31 */) { // References // -> struct [anonymous] __vt__17BandSongStatusMgr; } class _List_node : public _List_node_base { // total size: 0x1C public: struct BandSongStatus _M_data; // offset 0x8, size 0x14 }; // Range: 0x80178E84 -> 0x80178E94 void BandSongStatusMgr::Init() {} // Range: 0x80178E94 -> 0x80178F2C void * BandSongStatusMgr::~BandSongStatusMgr(class BandSongStatusMgr * const this /* r30 */) { // References // -> class RockCentralGateway RockCentral; // -> struct [anonymous] __vt__17BandSongStatusMgr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80178F2C -> 0x801790C0 unsigned char BandSongStatusMgr::UpdateSong(class BandSongStatusMgr * const this /* r31 */, class Symbol & songName /* r26 */, int stars /* r27 */, int score /* r28 */, int fans /* r29 */) { // Local variables struct _List_iterator it; // r1+0x20 unsigned char changed; // r30 struct BandSongStatus songStatus; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14BandSongStatus>; // -> unsigned char gStlAllocNameLookup; // -> class RockCentralGateway RockCentral; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node<14BandSongStatus>; // size: 0x8, address: 0x80899B98 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801790C0 -> 0x80179138 int BandSongStatusMgr::GetScore(const class BandSongStatusMgr * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x24 } // Range: 0x80179138 -> 0x80179218 int BandSongStatusMgr::GetTotalScore(const class BandSongStatusMgr * const this /* r28 */, unsigned char includeDLC /* r29 */) { // Local variables int ret; // r30 struct _List_iterator it; // r1+0x1C } // Range: 0x80179218 -> 0x801792FC class DataNode BandSongStatusMgr::OnMsg(class BandSongStatusMgr * const this /* r29 */, const class RockCentralOpCompleteMsg & msg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801792FC -> 0x80179630 void BandSongStatusMgr::GetTopScores(const class BandSongStatusMgr * const this /* r28 */, class vector & songs /* r29 */, int numSongs /* r30 */) { // Local variables struct _List_iterator it; // r1+0x44 // References // -> const char * gNullStr; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x80179630 -> 0x80179688 class BinStream & __ls(class BinStream & s /* r30 */, const class BandSongStatusMgr & ssm /* r31 */) {} // Range: 0x80179688 -> 0x801799B4 class DataNode BandSongStatusMgr::Handle(class BandSongStatusMgr * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } // Range: 0x801799B4 -> 0x801799CC void * HighScoreSongStatusMgr::HighScoreSongStatusMgr() {} // Range: 0x801799CC -> 0x80179B00 unsigned char HighScoreSongStatusMgr::UpdateSong(class HighScoreSongStatusMgr * const this /* r28 */, class Symbol & songName /* r29 */, int stars /* r30 */, int score /* r31 */) { // Local variables struct SongStatus * it; // r0 struct SongStatus songStatus; // r1+0x18 // References // -> const char * gNullStr; } // Range: 0x80179B00 -> 0x80179B50 int HighScoreSongStatusMgr::GetScore(const class HighScoreSongStatusMgr * const this /* r31 */) { // Local variables const struct SongStatus * it; // r0 } // Range: 0x80179B50 -> 0x80179B80 class BinStream & __ls(class BinStream & dest /* r31 */) {} // Range: 0x80179B80 -> 0x80179BB0 class BinStream & __rs(class BinStream & src /* r31 */) {} struct { // total size: 0x54 } __vt__17BandSongStatusMgr; // size: 0x54, address: 0x80899BCC struct { // total size: 0x8 } __RTTI__17BandSongStatusMgr; // size: 0x8, address: 0x80899C48 struct { // total size: 0x54 } __vt__17SoloSongStatusMgr; // size: 0x54, address: 0x80899C50 struct { // total size: 0x8 } __RTTI__17SoloSongStatusMgr; // size: 0x8, address: 0x80899CD0 /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80179BB0 -> 0x80179CB8 */ // Range: 0x80179BB0 -> 0x80179CB8 class BinStream & __rs(class BinStream & s /* r28 */, struct SoloSongStatus & ss /* r29 */) { // Local variables int ver; // r1+0xC int n; // r30 unsigned char diff; // r1+0x9 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80179CB8 -> 0x8017A408 */ // Range: 0x80179CB8 -> 0x80179DA4 class DataNode SoloSongStatusMgr::OnMsg(class SoloSongStatusMgr * const this /* r29 */, const class RockCentralOpCompleteMsg & msg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80179DA4 -> 0x80179E2C class BinStream & __rs(class BinStream & s /* r30 */, class SoloSongStatusMgr & ssm /* r31 */) { // Local variables int ver; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80179E2C -> 0x8017A158 class DataNode SoloSongStatusMgr::Handle(class SoloSongStatusMgr * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } // Range: 0x8017A158 -> 0x8017A254 class BinStream & __rs(class BinStream & s /* r30 */, struct BandSongStatus & ss /* r31 */) { // Local variables int ver; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8017A254 -> 0x8017A380 void BandSongStatusMgr::UpdateLeaderboards(class BandSongStatusMgr * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 int total; // r29 // References // -> class RockCentralGateway RockCentral; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8017A380 -> 0x8017A408 class BinStream & __rs(class BinStream & s /* r30 */, class BandSongStatusMgr & ssm /* r31 */) { // Local variables int ver; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017A408 -> 0x8017A940 */ // Range: 0x8017A408 -> 0x8017A48C struct _List_iterator find(const class Symbol & __val /* r31 */) {} // Range: 0x8017A48C -> 0x8017A524 struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x8017A524 -> 0x8017A5A8 struct _List_iterator find(const class Symbol & __val /* r31 */) {} // Range: 0x8017A5A8 -> 0x8017A640 struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x8017A640 -> 0x8017A7C0 struct SongStatus * find(struct SongStatus * __last /* r30 */, const class Symbol & __val /* r31 */) {} // Range: 0x8017A7C0 -> 0x8017A940 struct SongStatus * find(const struct SongStatus * __last /* r30 */, const class Symbol & __val /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017A940 -> 0x8017AC80 */ // Range: 0x8017A940 -> 0x8017AA14 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x8017AA14 -> 0x8017AAF0 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct _List_iterator t; // r1+0x14 // References // -> const char * gNullStr; } // Range: 0x8017AAF0 -> 0x8017ABC4 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x8017ABC4 -> 0x8017AC80 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct _List_iterator t; // r1+0x14 // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017AC80 -> 0x8017B4E4 */ // Range: 0x8017AC80 -> 0x8017AD24 void sort(struct SongStatus * __first /* r29 */, struct SongStatus * __last /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) {} // Range: 0x8017AD24 -> 0x8017ADBC void __final_insertion_sort(struct SongStatus * __first /* r29 */, struct SongStatus * __last /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) {} // Range: 0x8017ADBC -> 0x8017AE50 void __unguarded_insertion_sort_aux(struct SongStatus * __last /* r29 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r30 */) { // Local variables struct SongStatus * __i; // r31 } // Range: 0x8017AE50 -> 0x8017AF0C void __unguarded_linear_insert(struct SongStatus * __last /* r28 */, struct SongStatus & __val /* r29 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r30 */) { // Local variables struct SongStatus * __next; // r31 } // Range: 0x8017AF0C -> 0x8017AFB8 void __insertion_sort(struct SongStatus * __first /* r28 */, struct SongStatus * __last /* r29 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r30 */) { // Local variables struct SongStatus * __i; // r31 } // Range: 0x8017AFB8 -> 0x8017B0E8 void __linear_insert(struct SongStatus * __first /* r29 */, struct SongStatus * __last /* r30 */, struct SongStatus & __val /* r31 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r27 */) {} // Range: 0x8017B0E8 -> 0x8017B298 void __introsort_loop(struct SongStatus * __first /* r28 */, struct SongStatus * __last /* r29 */, long __depth_limit /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) { // Local variables struct SongStatus * __cut; // r27 } // Range: 0x8017B298 -> 0x8017B3D8 struct SongStatus * __unguarded_partition(struct SongStatus * __first /* r28 */, struct SongStatus * __last /* r29 */, struct SongStatus & __pivot /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) {} // Range: 0x8017B3D8 -> 0x8017B3E4 void partial_sort() {} // Range: 0x8017B3E4 -> 0x8017B4E4 void __partial_sort(struct SongStatus * __first /* r27 */, struct SongStatus * __middle /* r28 */, struct SongStatus * __last /* r29 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r30 */) { // Local variables struct SongStatus * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017B4E4 -> 0x8017B514 */ // Range: 0x8017B4E4 -> 0x8017B4FC struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8017B4FC -> 0x8017B514 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017B514 -> 0x8017B8D8 */ // Range: 0x8017B514 -> 0x8017B5A4 void pop_heap(struct SongStatus * __first /* r29 */, struct SongStatus * __last /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) {} // Range: 0x8017B5A4 -> 0x8017B70C void __adjust_heap(struct SongStatus * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, struct SongStatus & __val /* r28 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x8017B70C -> 0x8017B808 void __push_heap(struct SongStatus * __first /* r28 */, long __holeIndex /* r26 */, long __topIndex /* r29 */, struct SongStatus & __val /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) { // Local variables long __parent; // r25 } // Range: 0x8017B808 -> 0x8017B8D8 void make_heap(struct SongStatus * __first /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017B8D8 -> 0x8017B9A0 */ // Range: 0x8017B8D8 -> 0x8017B9A0 void __pop_heap(struct SongStatus * __first /* r27 */, struct SongStatus * __last /* r28 */, struct SongStatus * __result /* r29 */, struct SongStatus & __val /* r30 */, unsigned char (* __comp)(struct SongStatus &, struct SongStatus &) /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017B9A0 -> 0x8017BD00 */ // Range: 0x8017B9A0 -> 0x8017BB00 void list::resize(const struct BandSongStatus & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14BandSongStatus>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8017BB00 -> 0x8017BCA0 void list::resize(const struct SoloSongStatus & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14SoloSongStatus>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8017BCA0 -> 0x8017BD00 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\SongSyncPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017BD00 -> 0x8017CD00 */ class DataArray * types; // size: 0x4, address: 0x80A4CA60 class SongSyncPanel * sInstance; // size: 0x4, address: 0x80A4CA68 // Range: 0x8017BD00 -> 0x8017BDEC void * SongSyncPanel::SongSyncPanel(class SongSyncPanel * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongSyncPanel * sInstance; // -> struct [anonymous] __vt__13SongSyncPanel; } // Range: 0x8017BDEC -> 0x8017BEE0 void * SongSyncPanel::~SongSyncPanel(class SongSyncPanel * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SongSyncPanel * sInstance; // -> struct [anonymous] __vt__13SongSyncPanel; } static class Symbol remote_player_left; // size: 0x4, address: 0x80A4CA70 // Range: 0x8017BEE0 -> 0x8017C124 void SongSyncPanel::Load(class SongSyncPanel * const this /* r31 */) { // Local variables class vector users; // r1+0x1C class BandUser * * u; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class BandUserMgr * TheBandUserMgr; // -> class Net TheNet; // -> const char * gNullStr; // -> static class Symbol remote_player_left; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__19ContentLoadingPanel; // -> class ObjectDir * sMainDir; // -> class ContentMgr & TheContentMgr; } // Range: 0x8017C124 -> 0x8017C208 void SongSyncPanel::FinishLoad() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__19ContentLoadingPanel; // -> class ObjectDir * sMainDir; } // Range: 0x8017C208 -> 0x8017C280 void SongSyncPanel::Unload(class SongSyncPanel * const this /* r31 */) { // References // -> class Net TheNet; // -> const char * gNullStr; } static class ReadyForSongsMsg ready_msg; // size: 0x4, address: 0x80A4CA78 // Range: 0x8017C280 -> 0x8017C3B0 unsigned char SongSyncPanel::IsLoaded(class SongSyncPanel * const this /* r30 */) { // References // -> class Net TheNet; // -> static class ReadyForSongsMsg ready_msg; // -> struct [anonymous] __vt__16ReadyForSongsMsg; // -> class SongMgr & TheSongMgr; // -> class ContentMgr & TheContentMgr; } // Range: 0x8017C3B0 -> 0x8017C3B8 class SongSyncPanel * SongSyncPanel::Instance() { // References // -> class SongSyncPanel * sInstance; } // Range: 0x8017C3B8 -> 0x8017C464 void SongSyncPanel::ReadyForSongs(class SongSyncPanel * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8017C464 -> 0x8017C568 void SongSyncPanel::ProcessedSongs(class SongSyncPanel * const this /* r29 */, const class vector & users /* r30 */) { // Local variables const int * it; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8017C568 -> 0x8017C5DC void SongSyncPanel::SyncedSongs(class SongSyncPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8017C5DC -> 0x8017C704 class DataNode SongSyncPanel::OnMsg(class SongSyncPanel * const this /* r29 */, const class RemotePlayerLeftMsg & msg /* r30 */) { // References // -> class SessionMgr * TheSessionMgr; } // Range: 0x8017C704 -> 0x8017C784 void SongSyncPanel::CheckForAdvance(class SongSyncPanel * const this /* r31 */) { // References // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8017C784 -> 0x8017C78C void SongSyncPanel::OnDiskError() {} static class Symbol _s; // size: 0x4, address: 0x80A4CA80 // Range: 0x8017C78C -> 0x8017CD00 class DataNode SongSyncPanel::Handle(class SongSyncPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__19RemotePlayerLeftMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__13SongSyncPanel; // size: 0xAC, address: 0x80899DB4 struct { // total size: 0x8 } __RTTI__13SongSyncPanel; // size: 0x8, address: 0x80899E90 /* Compile unit: C:\rockband2\band2\src\meta\SongSyncPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017CD50 -> 0x8017CF28 */ // Range: 0x8017CD50 -> 0x8017CD94 class Symbol SongSyncPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8017CD94 -> 0x8017CF28 void SongSyncPanel::SetType(class SongSyncPanel * const this /* r29 */, class Symbol & SongSyncPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\StoreFilterProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017CF28 -> 0x8017EF74 */ static class Symbol sub; // size: 0x4, address: 0x80A4CA8C static class Symbol options; // size: 0x4, address: 0x80A4CA94 class StoreFilter : public Object { // total size: 0x38 class DataArray * mData; // offset 0x28, size 0x4 class vector mSubFilters; // offset 0x2C, size 0xC }; class SubStoreFilter { // total size: 0x10 public: class Symbol mFilterName; // offset 0x0, size 0x4 class vector mOptions; // offset 0x4, size 0xC }; // Range: 0x8017CF28 -> 0x8017D24C void * StoreFilter::StoreFilter(class StoreFilter * const this /* r29 */, class DataArray * d /* r30 */) { // Local variables class SubStoreFilter ssf; // r1+0x50 int i; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> static class Symbol options; // -> static class Symbol sub; // -> struct [anonymous] __vt__11StoreFilter; } class StlNodeAlloc { // total size: 0x1 }; class vector : protected _Vector_base { // total size: 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SubStoreFilter * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SubStoreFilter * _M_start; // offset 0x0, size 0x4 class SubStoreFilter * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x8017D24C -> 0x8017D28C class Symbol StoreFilter::FilterName() {} // Range: 0x8017D28C -> 0x8017D2A0 class vector & StoreFilter::SubOptions() {} // Range: 0x8017D2A0 -> 0x8017D2B8 int StoreFilter::NumSubFilters() {} // Range: 0x8017D2B8 -> 0x8017D600 void StoreFilter::Filter(const class StoreFilter * const this /* r26 */, const class vector & all_offers /* r27 */, const class SelectedFilter & selected /* r28 */, class vector & filtered /* r29 */) { // Local variables const class StoreOffer * s; // r31 // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } static class Symbol sorts; // size: 0x4, address: 0x80A4CA9C // Range: 0x8017D68C -> 0x8017D80C void StoreFilter::GetSorts(const class StoreFilter * const this /* r26 */, const class vector & all /* r30 */, class vector & available /* r31 */) { // Local variables class DataArray * s; // r28 int i; // r27 class StoreSort * const * it; // r26 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol sorts; } static class Symbol sorts; // size: 0x4, address: 0x80A4CAA4 // Range: 0x8017D80C -> 0x8017D88C unsigned char StoreFilter::AllowSortToggle(const class StoreFilter * const this /* r31 */) { // References // -> static class Symbol sorts; } static class Symbol allow_shortcut; // size: 0x4, address: 0x80A4CAAC // Range: 0x8017D88C -> 0x8017D910 unsigned char StoreFilter::AllowShortcut(const class StoreFilter * const this /* r31 */) { // References // -> static class Symbol allow_shortcut; } static class Symbol sort_difficulty_part; // size: 0x4, address: 0x80A4CAB4 // Range: 0x8017D910 -> 0x8017D98C class Symbol StoreFilter::SortDifficultyPart(const class StoreFilter * const this /* r31 */) { // References // -> static class Symbol sort_difficulty_part; } static class Symbol show_new_release; // size: 0x4, address: 0x80A4CABC // Range: 0x8017D98C -> 0x8017DA10 unsigned char StoreFilter::ShowNewRelease(const class StoreFilter * const this /* r31 */) { // References // -> static class Symbol show_new_release; } static class Symbol include; // size: 0x4, address: 0x80A4CAC4 // Range: 0x8017DA10 -> 0x8017DC14 unsigned char StoreFilter::IncludeOffer(const class StoreFilter * const this /* r31 */, const class StoreOffer & offer /* r29 */, const class SelectedFilter & selected /* r30 */) { // Local variables class DataArrayPtr args; // r1+0x28 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol include; } // Range: 0x8017DC14 -> 0x8017DC54 unsigned char __eq(class Symbol & rhs /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4CACC static class Symbol _s; // size: 0x4, address: 0x80A4CAD4 // Range: 0x8017DC54 -> 0x8017E0B8 class DataNode StoreFilter::Handle(class StoreFilter * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class FilterProvider : public ListProvider, public Object { // total size: 0x4C const class vector & mAllOffers; // offset 0x2C, size 0x4 class vector mListFilters; // offset 0x30, size 0xC const class vector & mFilters; // offset 0x3C, size 0x4 const class SelectedFilter & mSelectedFilter; // offset 0x40, size 0x4 int mDepth; // offset 0x44, size 0x4 class RndMat * mBgMat; // offset 0x48, size 0x4 }; // Range: 0x8017E0B8 -> 0x8017E0EC class StoreFilter & FilterProvider::CurFilter() {} // Range: 0x8017E0EC -> 0x8017E238 void FilterProvider::SetDepth(class FilterProvider * const this /* r31 */, int depth /* r30 */) { // Local variables const class StoreFilter * i; // r30 } // Range: 0x8017E238 -> 0x8017E31C void FilterProvider::InitData(class FilterProvider * const this /* r28 */, class RndDir * dir /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } static class Symbol filter; // size: 0x4, address: 0x80A4CADC static class Symbol store_coming_soon; // size: 0x4, address: 0x80A4CAE4 // Range: 0x8017E31C -> 0x8017E460 char * FilterProvider::Text(const class FilterProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables const char * filter; // r30 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol store_coming_soon; // -> static class Symbol filter; } static class Symbol bg; // size: 0x4, address: 0x80A4CAEC // Range: 0x8017E460 -> 0x8017E4FC class RndMat * FilterProvider::Mat(const class FilterProvider * const this /* r30 */, class Symbol & slot /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol bg; } // Range: 0x8017E4FC -> 0x8017E50C class Symbol FilterProvider::DataSymbol() {} // Range: 0x8017E50C -> 0x8017E938 unsigned char FilterProvider::IsActive(const class FilterProvider * const this /* r30 */, int data /* r28 */) { // Local variables class Symbol filter; // r1+0x68 class SelectedFilter potential; // r1+0x8C class vector filtered; // r1+0x80 // References // -> struct [anonymous] __RTTI__P6Symbol; // -> struct [anonymous] __vt__14SelectedFilter; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8017EA0C -> 0x8017EA24 int FilterProvider::NumData() {} // Range: 0x8017EA24 -> 0x8017EAAC class StoreFilter & FilterProvider::FindFilter(const class FilterProvider * const this /* r30 */) { // Local variables const class StoreFilter * f; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4CAF4 static class Symbol _s; // size: 0x4, address: 0x80A4CAFC // Range: 0x8017EAAC -> 0x8017EF74 class DataNode FilterProvider::Handle(class FilterProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xA0 } __vt__14FilterProvider; // size: 0xA0, address: 0x8089A1B8 struct { // total size: 0x8 } __RTTI__14FilterProvider; // size: 0x8, address: 0x8089A288 struct { // total size: 0x54 } __vt__11StoreFilter; // size: 0x54, address: 0x8089A290 struct { // total size: 0x8 } __RTTI__11StoreFilter; // size: 0x8, address: 0x8089A308 struct { // total size: 0x8 } __RTTI__P14SubStoreFilter; // size: 0x8, address: 0x8089A3D8 struct { // total size: 0x8 } __RTTI__P10StoreOffer; // size: 0x8, address: 0x8089A408 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017F048 -> 0x8017F3A0 */ // Range: 0x8017F048 -> 0x8017F1E0 class StoreSort * const * find(class StoreSort * const * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x8017F1E0 -> 0x8017F3A0 class StoreFilter * find(const class StoreFilter * __last /* r29 */, const class Symbol & __val /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\StoreOffer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017F3A0 -> 0x8017F3E8 */ // Range: 0x8017F3A0 -> 0x8017F3E8 unsigned char StoreOffer::IsAvailable() {} /* Compile unit: C:\rockband2\band2\src\meta\StoreFilterProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017F3E8 -> 0x8017F540 */ // Range: 0x8017F3E8 -> 0x8017F540 void * StoreFilter::~StoreFilter(class StoreFilter * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8017F550 -> 0x801801F0 */ // Range: 0x8017F550 -> 0x8017FA28 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class SubStoreFilter * __pos /* r25 */, const class SubStoreFilter & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 class SubStoreFilter * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__P6Symbol; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P14SubStoreFilter; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8017FA28 -> 0x801801F0 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class StoreOffer * __pos /* r25 */, const class StoreOffer & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0xD4 unsigned long __len; // r29 class StoreOffer * __new_finish; // r28 // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10StoreOffer; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\StoreMainPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801801F0 -> 0x80181410 */ class DataArray * types; // size: 0x4, address: 0x80A4CB00 enum NetCacheMgrFailType { kNCMFT_Unknown = 0, kNCMFT_StoreServer = 1, kNCMFT_NoSpace = 2, kNCMFT_StorageDeviceMissing = 3, kNCMFT_Max = 4, }; // Range: 0x801801F0 -> 0x80180750 void StoreMainPanel::Poll(class StoreMainPanel * const this /* r28 */) { // Local variables struct ArtEntry * it; // r30 int size; // r27 void * pBuffer; // r26 class BufStream stream; // r1+0xC enum NetCacheMgrFailType failType; // r26 unsigned char isArtLoaded; // r29 int nextEntry; // r26 float timeToNextEvent; // f1 float rawAlpha; // r1+0x8 float unitAlpha; // f1 float overlayAlpha; // f31 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class TaskMgr TheTaskMgr; // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x80180750 -> 0x801807E4 void StoreMainPanel::Unload(class StoreMainPanel * const this /* r31 */) { // References // -> class Debug TheDebug; } static class Symbol display_rate; // size: 0x4, address: 0x80A4CB08 static class Symbol crossfade_duration; // size: 0x4, address: 0x80A4CB10 static class Symbol content; // size: 0x4, address: 0x80A4CB18 static class Symbol require; // size: 0x4, address: 0x80A4CB20 static class Symbol release_num; // size: 0x4, address: 0x80A4CB28 // Range: 0x801807E4 -> 0x80180CAC void StoreMainPanel::SetConfigData(class StoreMainPanel * const this /* r27 */, class DataArray * pData /* r24 */) { // Local variables class DataArray * pDataContent; // r30 int max_release_num; // r29 int i; // r28 class DataArray * r; // r26 class StoreOffer * o; // r0 int new_release_num; // r24 class DataArray * r; // r26 struct NewReleaseEntry entry; // r1+0x38 struct NewReleaseEntry * n; // r28 // References // -> static class Symbol release_num; // -> static class Symbol require; // -> static class Symbol content; // -> static class Symbol crossfade_duration; // -> static class Symbol display_rate; // -> class Debug TheDebug; } // Range: 0x80180CAC -> 0x80181028 void StoreMainPanel::ClearConfigData(class StoreMainPanel * const this /* r30 */) { // Local variables struct ArtEntry * it; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214StoreMainPanel8ArtEntry; // -> unsigned char gStlAllocNameLookup; // -> class NetCacheMgr * TheNetCacheMgr; // -> class Debug TheDebug; } struct { // total size: 0x8 } __RTTI__PQ214StoreMainPanel8ArtEntry; // size: 0x8, address: 0x8089A748 enum State { kS_LoadFromCache = 0, kS_PreDownload = 1, kS_Download = 2, kS_PreWrite = 3, kS_WriteToCache = 4, kS_DataReady = 5, kS_Failure = 6, kS_Max = 7, kS_Nil = -1, }; class NetCacheLoader { // total size: 0x20 enum State mState; // offset 0x0, size 0x4 class Cache * mCache; // offset 0x4, size 0x4 class String mStrRemotePath; // offset 0x8, size 0xC class NetCacheFileLoader * mCacheLoader; // offset 0x14, size 0x4 class NetLoader * mNetLoader; // offset 0x18, size 0x4 enum NetCacheMgrFailType mFailType; // offset 0x1C, size 0x4 }; // Range: 0x80181028 -> 0x80181054 unsigned char StoreMainPanel::IsArtLoaded() {} static class Symbol _s; // size: 0x4, address: 0x80A4CB30 // Range: 0x80181054 -> 0x80181410 class DataNode StoreMainPanel::Handle(class StoreMainPanel * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__14StoreMainPanel; // size: 0xAC, address: 0x8089AAB8 struct { // total size: 0x8 } __RTTI__14StoreMainPanel; // size: 0x8, address: 0x8089AB98 struct { // total size: 0x8 } __RTTI__12StoreUIPanel; // size: 0x8, address: 0x8089ABD0 struct { // total size: 0x8 } __RTTI__PQ214StoreMainPanel15NewReleaseEntry; // size: 0x8, address: 0x8089AC60 enum NetCacheMgrState { kNCMS_Load = 0, kNCMS_Ready = 1, kNCMS_UnloadWaitForWrite = 2, kNCMS_UnloadUnmount = 3, kNCMS_Failure = 4, kNCMS_Max = 5, kNCMS_Nil = -1, }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct ServerData { // total size: 0x24 class Symbol mType; // offset 0x0, size 0x4 class String mServer; // offset 0x4, size 0xC unsigned short mPort; // offset 0x10, size 0x2 class String mServerRoot; // offset 0x14, size 0xC unsigned char mVerifySSL; // offset 0x20, size 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct NetCacheLoaderRef { // total size: 0x14 class String mName; // offset 0x0, size 0xC int mCount; // offset 0xC, size 0x4 class NetCacheLoader * mLoader; // offset 0x10, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct NetCacheEntry { // total size: 0x20 class String mStrRemotePath; // offset 0x0, size 0xC struct DateTime mTimeLastNetAccess; // offset 0xC, size 0x6 unsigned char mIsCached; // offset 0x12, size 0x1 struct DateTime mTimeLastLocalAccess; // offset 0x13, size 0x6 int mFileSize; // offset 0x1C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct NetCacheEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct NetCacheEntry * _M_start; // offset 0x0, size 0x4 struct NetCacheEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; enum LoadState { kLS_None = 0, kLS_Mount = 1, kLS_Delete = 2, kLS_ReMount = 3, kLS_Resync = 4, }; class NetCacheMgr : public Object { // total size: 0x94 protected: class String mStrLocal; // offset 0x28, size 0xC enum NetCacheMgrFailType mFailType; // offset 0x34, size 0x4 private: enum NetCacheMgrState mState; // offset 0x38, size 0x4 class Symbol mSymNameToken; // offset 0x3C, size 0x4 int mMinSize; // offset 0x40, size 0x4 int mMaxSize; // offset 0x44, size 0x4 class String mStrFilter; // offset 0x48, size 0xC unsigned int mServiceId; // offset 0x54, size 0x4 class list mServers; // offset 0x58, size 0x8 class Symbol mServerType; // offset 0x60, size 0x4 protected: class CacheID * mCacheID; // offset 0x64, size 0x4 class Cache * mCache; // offset 0x68, size 0x4 private: class list mLoaders; // offset 0x6C, size 0x8 class vector mIndex; // offset 0x74, size 0xC class list mLoaderQueue; // offset 0x80, size 0x8 enum LoadState mLoadState; // offset 0x88, size 0x4 class vector * mDirList; // offset 0x8C, size 0x4 unsigned char mIsUnmounting; // offset 0x90, size 0x1 }; /* Compile unit: C:\rockband2\band2\src\meta\StoreMainPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80181410 -> 0x80182298 */ // Range: 0x80181410 -> 0x80181574 void * StoreMainPanel::StoreMainPanel(class StoreMainPanel * const this /* r30 */) { // References // -> class Debug TheDebug; // -> class TaskMgr TheTaskMgr; // -> struct [anonymous] __vt__14StoreMainPanel; // -> struct [anonymous] __vt__12StoreUIPanel; } // Range: 0x801815FC -> 0x80181838 void * StoreMainPanel::~StoreMainPanel(class StoreMainPanel * const this /* r30 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__14StoreMainPanel; } // Range: 0x80181838 -> 0x801820C0 void StoreMainPanel::FinishLoad(class StoreMainPanel * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__9BandLabel; // -> struct [anonymous] __RTTI__7RndMesh; // -> struct [anonymous] __RTTI__6RndMat; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Debug TheDebug; } // Range: 0x801820C0 -> 0x80182104 class Symbol StoreMainPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80182104 -> 0x80182298 void StoreMainPanel::SetType(class StoreMainPanel * const this /* r29 */, class Symbol & StoreMainPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80182298 -> 0x801824F0 */ // Range: 0x80182298 -> 0x8018245C void StoreMainPanel::EnsureArtLoader(class StoreMainPanel * const this /* r28 */, const class String & strName /* r29 */) { // Local variables struct ArtEntry * it; // r30 struct ArtEntry entry; // r1+0x34 // References // -> class NetCacheMgr * TheNetCacheMgr; // -> class Debug TheDebug; } // Range: 0x8018245C -> 0x801824F0 class RndBitmap * StoreMainPanel::GetBmp(class StoreMainPanel * const this /* r29 */, const class String & strName /* r30 */) { // Local variables struct ArtEntry * it; // r31 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801824F0 -> 0x801824F4 */ // Range: 0x801824F0 -> 0x801824F4 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801824F4 -> 0x801825AC */ // Range: 0x801824F4 -> 0x80182520 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801825AC -> 0x80182CBC */ // Range: 0x801825AC -> 0x8018285C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct NewReleaseEntry * __pos /* r26 */, const struct NewReleaseEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct NewReleaseEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214StoreMainPanel15NewReleaseEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8018285C -> 0x80182A68 void vector::reserve(class vector * const this /* r27 */, unsigned long __n /* r28 */) { // Local variables struct NewReleaseEntry * __tmp; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214StoreMainPanel15NewReleaseEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80182A68 -> 0x80182CBC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct ArtEntry * __pos /* r26 */, const struct ArtEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct ArtEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214StoreMainPanel8ArtEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\StoreOffer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80182CBC -> 0x801845B0 */ class Symbol type; // size: 0x4, address: 0x80A4CB3C static class Symbol id; // size: 0x4, address: 0x80A4CB44 static class Symbol index; // size: 0x4, address: 0x80A4CB4C static class Symbol game_code; // size: 0x4, address: 0x80A4CB54 static class Symbol price; // size: 0x4, address: 0x80A4CB5C // Range: 0x80182CBC -> 0x80182E90 void * StoreOffer::StoreOffer(class StoreOffer * const this /* r30 */, class DataArray * data /* r31 */) { // References // -> static class Symbol price; // -> static class Symbol game_code; // -> static class Symbol index; // -> static class Symbol id; // -> struct [anonymous] __vt__10StoreOffer; } static class Symbol name; // size: 0x4, address: 0x80A4CB64 static class Symbol song; // size: 0x4, address: 0x80A4CB6C // Range: 0x80182E90 -> 0x80182FAC char * StoreOffer::OfferName(const class StoreOffer * const this /* r29 */) { // References // -> static class Symbol song; // -> static class Symbol name; } static class Symbol description; // size: 0x4, address: 0x80A4CB74 // Range: 0x80182FAC -> 0x80183024 char * StoreOffer::Description(const class StoreOffer * const this /* r31 */) { // References // -> static class Symbol description; } static class Symbol new_release; // size: 0x4, address: 0x80A4CB7C // Range: 0x80183024 -> 0x801830A8 unsigned char StoreOffer::IsNewRelease(const class StoreOffer * const this /* r31 */) { // References // -> static class Symbol new_release; } static class Symbol cover; // size: 0x4, address: 0x80A4CB84 // Range: 0x801830A8 -> 0x80183154 unsigned char StoreOffer::IsCover(const class StoreOffer * const this /* r31 */) { // References // -> static class Symbol cover; } static class Symbol test; // size: 0x4, address: 0x80A4CB8C // Range: 0x80183154 -> 0x801831E8 unsigned char StoreOffer::IsTest(const class StoreOffer * const this /* r31 */) { // Local variables class DataArray * t; // r31 // References // -> static class Symbol test; } static class Symbol year_released; // size: 0x4, address: 0x80A4CB94 // Range: 0x801831E8 -> 0x80183260 int StoreOffer::YearReleased(const class StoreOffer * const this /* r31 */) { // References // -> static class Symbol year_released; } static class Symbol genre; // size: 0x4, address: 0x80A4CB9C // Range: 0x80183260 -> 0x801832D8 char * StoreOffer::Genre(const class StoreOffer * const this /* r31 */) { // References // -> static class Symbol genre; } // Range: 0x801832D8 -> 0x801832E8 char * StoreOffer::CostStr(const class StoreOffer * const this /* r4 */) {} static class Symbol songs; // size: 0x4, address: 0x80A4CBA4 // Range: 0x801832E8 -> 0x80183410 int StoreOffer::NumSongs(const class StoreOffer * const this /* r30 */) { // References // -> static class Symbol songs; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol songs; // size: 0x4, address: 0x80A4CBAC // Range: 0x80183410 -> 0x80183488 class DataNode & StoreOffer::Song(const class StoreOffer * const this /* r30 */, int i /* r31 */) { // References // -> static class Symbol songs; } static class Symbol songs; // size: 0x4, address: 0x80A4CBB4 // Range: 0x80183488 -> 0x801836B0 unsigned char StoreOffer::HasSong(const class StoreOffer * const this /* r29 */, const class StoreOffer * o /* r30 */) { // Local variables class DataArray * s; // r29 int i; // r31 class DataNode & song; // r27 // References // -> static class Symbol songs; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol titles; // size: 0x4, address: 0x80A4CBBC // Range: 0x801836B0 -> 0x80183788 unsigned char StoreOffer::ValidTitle(const class StoreOffer * const this /* r30 */) { // Local variables class DataArray * t; // r31 int i; // r30 // References // -> static class Symbol titles; } static class Symbol _s; // size: 0x4, address: 0x80A4CBC4 static class Symbol _s; // size: 0x4, address: 0x80A4CBCC static class Symbol _s; // size: 0x4, address: 0x80A4CBD4 static class Symbol _s; // size: 0x4, address: 0x80A4CBDC static class Symbol _s; // size: 0x4, address: 0x80A4CBE4 static class Symbol _s; // size: 0x4, address: 0x80A4CBEC static class Symbol _s; // size: 0x4, address: 0x80A4CBF4 static class Symbol _s; // size: 0x4, address: 0x80A4CBFC static class Symbol _s; // size: 0x4, address: 0x80A4CC04 static class Symbol _s; // size: 0x4, address: 0x80A4CC0C static class Symbol _s; // size: 0x4, address: 0x80A4CC14 static class Symbol _s; // size: 0x4, address: 0x80A4CC1C static class Symbol _s; // size: 0x4, address: 0x80A4CC24 // Range: 0x80183788 -> 0x801845B0 class DataNode StoreOffer::Handle(class StoreOffer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x5C class MessageTimer _mt; // r1+0x78 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x6C } __vt__10StoreOffer; // size: 0x6C, address: 0x8089AE58 struct { // total size: 0x8 } __RTTI__10StoreOffer; // size: 0x8, address: 0x8089AEF0 /* Compile unit: C:\rockband2\band2\src\meta\StoreOffer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801845B0 -> 0x8018467C */ // Range: 0x801845B0 -> 0x8018462C class Symbol StoreOffer::OfferType(const class StoreOffer * const this /* r31 */) { // References // -> class Symbol type; } // Range: 0x8018462C -> 0x8018466C class Symbol StoreOffer::ShortName() {} // Range: 0x8018466C -> 0x80184674 class String StoreOffer::ContentIndex() {} // Range: 0x80184674 -> 0x8018467C void StoreOffer::SetAvailable() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018467C -> 0x801846C8 */ // Range: 0x8018467C -> 0x801846C8 char * MakeString(const char * fmt /* r0 */, unsigned short t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\StoreOfferProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801846C8 -> 0x80186BA4 */ class StoreOfferProvider : public OfferProvider { // total size: 0x74 class vector & mAllOffers; // offset 0x48, size 0x4 class FilterProvider & mFilterProvider; // offset 0x4C, size 0x4 const class SelectedFilter & mSelectedFilter; // offset 0x50, size 0x4 class vector mFilteredOffers; // offset 0x54, size 0xC class vector mElements; // offset 0x60, size 0xC class RndMat * mGroupBgMat; // offset 0x6C, size 0x4 class RndMat * mSongBgMat; // offset 0x70, size 0x4 }; // Range: 0x801846C8 -> 0x80184764 void * StoreOfferProvider::StoreOfferProvider(class StoreOfferProvider * const this /* r28 */, class vector & all_offers /* r29 */, class FilterProvider & filter_provider /* r30 */, const class SelectedFilter & selected_filter /* r31 */) { // References // -> struct [anonymous] __vt__18StoreOfferProvider; } class StlNodeAlloc { // total size: 0x1 }; struct Element { // total size: 0xC const class StoreOffer * mOffer; // offset 0x0, size 0x4 class Symbol mGroupHeading; // offset 0x4, size 0x4 unsigned char mCover; // offset 0x8, size 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Element * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Element * * _M_start; // offset 0x0, size 0x4 struct Element * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80184764 -> 0x80184924 void * StoreOfferProvider::~StoreOfferProvider(class StoreOfferProvider * const this /* r30 */) { // References // -> struct [anonymous] __vt__18StoreOfferProvider; } static class Symbol group; // size: 0x4, address: 0x80A4CC2C static class Symbol famousby; // size: 0x4, address: 0x80A4CC34 static class Symbol famousby_group; // size: 0x4, address: 0x80A4CC3C static class Symbol album; // size: 0x4, address: 0x80A4CC44 static class Symbol song; // size: 0x4, address: 0x80A4CC4C static class Symbol cost; // size: 0x4, address: 0x80A4CC54 static class Symbol new_sym; // size: 0x4, address: 0x80A4CC5C static class Symbol purchased; // size: 0x4, address: 0x80A4CC64 static class Symbol pack; // size: 0x4, address: 0x80A4CC6C static class Symbol store_famous_by; // size: 0x4, address: 0x80A4CC74 static class Symbol new_release; // size: 0x4, address: 0x80A4CC7C static class Symbol store_new; // size: 0x4, address: 0x80A4CC84 static class Symbol store_purchased; // size: 0x4, address: 0x80A4CC8C static class Symbol store_downloaded; // size: 0x4, address: 0x80A4CC94 // Range: 0x80184924 -> 0x80184E00 char * StoreOfferProvider::Text(const class StoreOfferProvider * const this /* r28 */, int data /* r30 */, class Symbol & slot /* r29 */) { // Local variables const struct Element * e; // r27 const class StoreOffer * offer; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol store_downloaded; // -> static class Symbol store_purchased; // -> const char * gNullStr; // -> static class Symbol store_new; // -> static class Symbol new_release; // -> static class Symbol store_famous_by; // -> static class Symbol pack; // -> static class Symbol purchased; // -> static class Symbol new_sym; // -> static class Symbol cost; // -> static class Symbol song; // -> static class Symbol album; // -> static class Symbol famousby_group; // -> static class Symbol famousby; // -> static class Symbol group; } // Range: 0x80184E00 -> 0x80184E20 unsigned char StoreOfferProvider::IsActive() {} // Range: 0x80184E20 -> 0x80184E88 class Symbol StoreOfferProvider::DataSymbol() { // References // -> const char * gNullStr; } static class Symbol group_bg; // size: 0x4, address: 0x80A4CC9C static class Symbol album_bg; // size: 0x4, address: 0x80A4CCA4 static class Symbol song_bg; // size: 0x4, address: 0x80A4CCAC static class Symbol album; // size: 0x4, address: 0x80A4CCB4 static class Symbol pack; // size: 0x4, address: 0x80A4CCBC static class Symbol song; // size: 0x4, address: 0x80A4CCC4 // Range: 0x80184E88 -> 0x801850D4 class RndMat * StoreOfferProvider::Mat(const class StoreOfferProvider * const this /* r30 */, int data /* r28 */, class Symbol & slot /* r29 */) { // Local variables const struct Element * e; // r4 const class StoreOffer * o; // r29 const class StoreOffer * o; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol song; // -> static class Symbol pack; // -> static class Symbol album; // -> static class Symbol song_bg; // -> static class Symbol album_bg; // -> static class Symbol group_bg; } static class Symbol shortcut_group; // size: 0x4, address: 0x80A4CCCC // Range: 0x801850D4 -> 0x80185364 void StoreOfferProvider::GetRepresentedShortcuts(const class StoreOfferProvider * const this /* r30 */, class vector & rep /* r31 */) { // Local variables class DataArray * a; // r28 const class StoreOffer * s; // r27 class Symbol shortcut; // r1+0x30 int i; // r27 struct Element * e; // r28 // References // -> const char * gNullStr; // -> static class Symbol shortcut_group; } // Range: 0x80185364 -> 0x801853AC void StoreOfferProvider::getSorts(const class vector & all /* r30 */, class vector & available /* r31 */) { // Local variables const class StoreFilter & f; // r0 } static class Symbol shortcut_group; // size: 0x4, address: 0x80A4CCD4 // Range: 0x801853AC -> 0x80185528 class Symbol StoreOfferProvider::PosToShortcut(const class StoreOfferProvider * const this /* r30 */, int pos /* r31 */) { // Local variables struct Element * e; // r29 class DataArray * a; // r5 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol shortcut_group; } static class Symbol shortcut_group; // size: 0x4, address: 0x80A4CCDC // Range: 0x80185528 -> 0x801856A8 int StoreOfferProvider::ShortcutToPos(const class StoreOfferProvider * const this /* r28 */, class Symbol & group /* r29 */) { // Local variables class DataArray * a; // r31 class Symbol shortcut; // r1+0x10 int i; // r30 const class Offer * offer; // r4 // References // -> const char * gNullStr; // -> static class Symbol shortcut_group; } // Range: 0x801856A8 -> 0x801856F8 class StoreOffer * StoreOfferProvider::FindOffer(const class StoreOfferProvider * const this /* r31 */) { // Local variables class StoreOffer * i; // r0 } static class Symbol pack; // size: 0x4, address: 0x80A4CCE4 // Range: 0x801856F8 -> 0x80185854 class StoreOffer * StoreOfferProvider::FindPack(const class StoreOfferProvider * const this /* r30 */, const class StoreOffer * song /* r31 */) { // Local variables class StoreOffer * i; // r29 // References // -> static class Symbol pack; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol album; // size: 0x4, address: 0x80A4CCEC // Range: 0x80185854 -> 0x801859B0 class StoreOffer * StoreOfferProvider::FindAlbum(const class StoreOfferProvider * const this /* r30 */, const class StoreOffer * song /* r31 */) { // Local variables class StoreOffer * i; // r29 // References // -> static class Symbol album; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol song; // size: 0x4, address: 0x80A4CCF4 static class Symbol album; // size: 0x4, address: 0x80A4CCFC static class Symbol pack; // size: 0x4, address: 0x80A4CD04 // Range: 0x801859B0 -> 0x80185C44 unsigned char StoreOfferProvider::ShowBrowserPurchased(const class StoreOfferProvider * const this /* r29 */, const class StoreOffer * o /* r30 */) { // Local variables class StoreOffer * a; // r28 class StoreOffer * p; // r28 int i; // r27 class DataNode & song; // r0 class StoreOffer * s; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol pack; // -> static class Symbol album; // -> static class Symbol song; } static class Symbol browser_group; // size: 0x4, address: 0x80A4CD0C static class Symbol browser_cover; // size: 0x4, address: 0x80A4CD14 static class Symbol album; // size: 0x4, address: 0x80A4CD1C static class Symbol pack; // size: 0x4, address: 0x80A4CD24 // Range: 0x80185C44 -> 0x8018630C void StoreOfferProvider::applySort(class StoreOfferProvider * const this /* r27 */) { // Local variables struct SortCmp cmp; // r1+0x70 struct Element * cur_group; // r30 class StoreOffer * s; // r29 class DataArrayPtr args; // r1+0x90 class DataArray * a; // r0 class Symbol group; // r1+0x6C unsigned char cover; // r28 class DataArray * c; // r4 struct Element * group_element; // r1+0x68 struct Element * offer_element; // r1+0x64 struct Element * * e; // r28 const class StoreOffer * o; // r29 int i; // r26 class DataNode & song; // r30 const class StoreOffer * sit; // r25 struct Element * s; // r1+0x60 // References // -> static class Symbol pack; // -> static class Symbol album; // -> const char * gNullStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol browser_cover; // -> static class Symbol browser_group; // -> class Debug TheDebug; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; static class Symbol _s; // size: 0x4, address: 0x80A4CD2C static class Symbol _s; // size: 0x4, address: 0x80A4CD34 static class Symbol _s; // size: 0x4, address: 0x80A4CD3C static class Symbol _s; // size: 0x4, address: 0x80A4CD44 static class Symbol _s; // size: 0x4, address: 0x80A4CD4C static class Symbol _s; // size: 0x4, address: 0x80A4CD54 // Range: 0x8018630C -> 0x80186BA4 class DataNode StoreOfferProvider::Handle(class StoreOfferProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x48 class MessageTimer _mt; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10StoreOffer; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xC0 } __vt__18StoreOfferProvider; // size: 0xC0, address: 0x8089B258 struct { // total size: 0x8 } __RTTI__18StoreOfferProvider; // size: 0x8, address: 0x8089B350 struct { // total size: 0x8 } __RTTI__PPQ218StoreOfferProvider7Element; // size: 0x8, address: 0x8089B490 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\band2\src\meta\StoreOffer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80186BA4 -> 0x80186D78 */ // Range: 0x80186BA4 -> 0x80186D78 void StoreOfferProvider::InitData(class StoreOfferProvider * const this /* r28 */, class RndDir * dir /* r29 */) { // Local variables const class StoreFilter & f; // r0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80186D78 -> 0x80186F30 */ // Range: 0x80186D78 -> 0x80186F30 class StoreOffer * find(class StoreOffer * __last /* r29 */, const class Symbol & __val /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80186F30 -> 0x801882A0 */ // Range: 0x80186F30 -> 0x80186FE4 void sort(class StoreOffer * __first /* r29 */, class StoreOffer * __last /* r30 */, struct SortCmp & __comp /* r31 */) {} // Range: 0x80186FE4 -> 0x80187094 void __final_insertion_sort(class StoreOffer * __first /* r29 */, class StoreOffer * __last /* r30 */, struct SortCmp & __comp /* r31 */) {} // Range: 0x80187094 -> 0x801872A4 void __unguarded_insertion_sort_aux(class StoreOffer * __last /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class StoreOffer * __i; // r31 // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x801872A4 -> 0x80187414 void __unguarded_linear_insert(class StoreOffer * __last /* r30 */, class StoreOffer & __val /* r31 */, struct SortCmp & __comp /* r28 */) { // Local variables class StoreOffer * __next; // r29 } // Range: 0x80187414 -> 0x80187624 void __insertion_sort(class StoreOffer * __first /* r28 */, class StoreOffer * __last /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class StoreOffer * __i; // r31 // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80187624 -> 0x8018797C void __linear_insert(class StoreOffer * __first /* r28 */, class StoreOffer * __last /* r29 */, class StoreOffer & __val /* r30 */, struct SortCmp & __comp /* r31 */) { // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x8018797C -> 0x80187CA0 void __introsort_loop(class StoreOffer * __first /* r27 */, class StoreOffer * __last /* r28 */, long __depth_limit /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class StoreOffer * __cut; // r26 // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80187CA0 -> 0x80187FE8 class StoreOffer * __unguarded_partition(class StoreOffer * __first /* r28 */, class StoreOffer * __last /* r29 */, class StoreOffer & __pivot /* r30 */, struct SortCmp & __comp /* r31 */) { // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80187FE8 -> 0x80188018 void partial_sort() {} // Range: 0x80188018 -> 0x801882A0 void __partial_sort(class StoreOffer * __first /* r27 */, class StoreOffer * __middle /* r28 */, class StoreOffer * __last /* r29 */, struct SortCmp & __comp /* r30 */) { // Local variables class StoreOffer * __i; // r31 // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801882A0 -> 0x80188320 */ // Range: 0x801882A0 -> 0x801882B8 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801882B8 -> 0x801882D0 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801882D0 -> 0x801882E8 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80188320 -> 0x80188CAC */ // Range: 0x80188320 -> 0x80188530 void pop_heap(class StoreOffer * __first /* r30 */, class StoreOffer * __last /* r31 */) { // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80188530 -> 0x801888B8 void __adjust_heap(class StoreOffer * __first /* r22 */, long __holeIndex /* r28 */, long __len /* r23 */, class StoreOffer & __val /* r24 */, struct SortCmp & __comp /* r25 */) { // Local variables long __topIndex; // r27 long __secondChild; // r26 // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x801888B8 -> 0x80188A5C void __push_heap(class StoreOffer * __first /* r23 */, long __holeIndex /* r28 */, long __topIndex /* r24 */, class StoreOffer & __val /* r25 */, struct SortCmp & __comp /* r26 */) { // Local variables long __parent; // r27 } // Range: 0x80188A5C -> 0x80188CAC void make_heap(class StoreOffer * __first /* r29 */) { // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80188CAC -> 0x80188F44 */ // Range: 0x80188CAC -> 0x80188F44 void __pop_heap(class StoreOffer * __first /* r28 */, class StoreOffer * __last /* r29 */, class StoreOffer * __result /* r27 */, class StoreOffer & __val /* r30 */, struct SortCmp & __comp /* r31 */) { // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } /* Compile unit: C:\rockband2\band2\src\meta\StoreOfferProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80188F44 -> 0x80188F5C */ // Range: 0x80188F44 -> 0x80188F5C int StoreOfferProvider::NumData() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80188F5C -> 0x8018930C */ // Range: 0x80188F5C -> 0x80189094 void vector::_M_insert_overflow(class vector * const this /* r27 */, struct Element * * __pos /* r28 */, struct Element * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct Element * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ218StoreOfferProvider7Element; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80189094 -> 0x801890EC struct Element * * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x801890EC -> 0x80189158 void vector::_M_fill_insert() {} // Range: 0x80189158 -> 0x8018930C void vector::_M_fill_insert_aux(class vector * const this /* r28 */, struct Element * * __pos /* r29 */, unsigned long __n /* r25 */, struct Element * const & __x /* r30 */) { // Local variables struct Element * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\band2\src\meta\StorePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018930C -> 0x8018EB28 */ class Symbol t; // size: 0x4, address: 0x80A4CD5C class DataArray * types; // size: 0x4, address: 0x80A4CD60 static class Symbol _s; // size: 0x4, address: 0x80A4CD68 // Range: 0x8018930C -> 0x801896B4 class DataNode SelectedFilter::Handle(class SelectedFilter * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class Symbol store_view_album; // size: 0x4, address: 0x80A4CD70 class Symbol store_view_pack; // size: 0x4, address: 0x80A4CD78 class Symbol name; // size: 0x4, address: 0x80A4CD80 class Symbol exit; // size: 0x4, address: 0x80A4CD88 class Symbol store_back_song; // size: 0x4, address: 0x80A4CD90 class Symbol store_preview_audio; // size: 0x4, address: 0x80A4CD98 class Symbol store_buy_now; // size: 0x4, address: 0x80A4CDA0 class Symbol store_download_again; // size: 0x4, address: 0x80A4CDA8 class Symbol store_view_album; // size: 0x4, address: 0x80A4CDB0 class Symbol store_view_pack; // size: 0x4, address: 0x80A4CDB8 class Symbol exit; // size: 0x4, address: 0x80A4CDC0 class Symbol song; // size: 0x4, address: 0x80A4CDC8 class Symbol store_delete; // size: 0x4, address: 0x80A4CDD0 static class Symbol _s; // size: 0x4, address: 0x80A4CDD8 static class Symbol _s; // size: 0x4, address: 0x80A4CDE0 static class Symbol _s; // size: 0x4, address: 0x80A4CDE8 static class Symbol _s; // size: 0x4, address: 0x80A4CDF0 class InfoProvider : public ListProvider, public Object { // total size: 0x44 const class StoreOfferProvider * mStoreOfferProvider; // offset 0x2C, size 0x4 const class StoreOffer * mOffer; // offset 0x30, size 0x4 const class StoreOffer * mBackOffer; // offset 0x34, size 0x4 class vector mOptions; // offset 0x38, size 0xC }; // Range: 0x801896B4 -> 0x80189DC0 class DataNode InfoProvider::Handle(class InfoProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10StoreOffer; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80189DC0 -> 0x80189DD8 int InfoProvider::NumData() {} // Range: 0x80189DD8 -> 0x8018A3F4 class DataNode InfoProvider::OnSetOffer(class InfoProvider * const this /* r30 */, class DataArray * pData /* r28 */) { // Local variables unsigned char showPreview; // r31 class StoreOffer * a; // r28 class StoreOffer * p; // r28 // References // -> class Debug TheDebug; // -> class Symbol store_delete; // -> class Symbol song; // -> class Symbol exit; // -> class Symbol store_view_pack; // -> class Symbol store_view_album; // -> class Symbol store_download_again; // -> class Symbol store_buy_now; // -> class Symbol store_preview_audio; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10StoreOffer; } class Symbol track; // size: 0x4, address: 0x80A4CDF8 class Symbol name; // size: 0x4, address: 0x80A4CE00 static class Symbol _s; // size: 0x4, address: 0x80A4CE08 static class Symbol _s; // size: 0x4, address: 0x80A4CE10 class InfoSongProvider : public ListProvider, public Object { // total size: 0x34 const class StoreOfferProvider * mStoreOfferProvider; // offset 0x2C, size 0x4 const class StoreOffer * mOffer; // offset 0x30, size 0x4 }; // Range: 0x8018A3F4 -> 0x8018A8AC class DataNode InfoSongProvider::Handle(class InfoSongProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10StoreOffer; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8018A8AC -> 0x8018A914 int InfoSongProvider::NumData(const class InfoSongProvider * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class NetLoader { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 private: class String mStrRemotePath; // offset 0x4, size 0xC unsigned char mIsLoaded; // offset 0x10, size 0x1 char * mBuffer; // offset 0x14, size 0x4 unsigned char mBufferOwner; // offset 0x18, size 0x1 int mSize; // offset 0x1C, size 0x4 }; class DataNetLoader { // total size: 0x8 class NetLoader * mLoader; // offset 0x0, size 0x4 class DataArray * mData; // offset 0x4, size 0x4 }; class StorePreviewMgrWii : public MsgSource { // total size: 0x60 class String mStrPathCur; // offset 0x1C, size 0xC class StreamPlayer * mStreamPlayer; // offset 0x28, size 0x4 unsigned char mIsDownloading; // offset 0x2C, size 0x1 class NetLoader * mNetLoader; // offset 0x30, size 0x4 }; // Range: 0x8018A914 -> 0x8018AA20 void * StorePanel::StorePanel(class StorePanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__10StorePanel; } class _List_node : public _List_node_base { // total size: 0xC public: class NetCacheLoader * _M_data; // offset 0x8, size 0x4 }; // Range: 0x8018AA20 -> 0x8018ABB8 void StorePanel::Load(class StorePanel * const this /* r28 */) { // References // -> const char * gNullStr; // -> class NetCacheMgr * TheNetCacheMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__14SelectedFilter; } // Range: 0x8018ABB8 -> 0x8018ACD8 void StorePanel::HandleNetCacheMgrFailure(class StorePanel * const this /* r29 */, int failType /* r30 */) { // References // -> class NetCacheMgr * TheNetCacheMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018ACD8 -> 0x8018AFB4 unsigned char StorePanel::IsLoaded(class StorePanel * const this /* r31 */) { // Local variables unsigned char ret; // r0 unsigned char metadata_loaded; // r27 // References // -> class Debug TheDebug; // -> class NetCacheMgr * TheNetCacheMgr; // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; } static class Symbol offers; // size: 0x4, address: 0x80A4CE18 static class Symbol year_released; // size: 0x4, address: 0x80A4CE20 static class Symbol genre; // size: 0x4, address: 0x80A4CE28 static class Symbol song; // size: 0x4, address: 0x80A4CE30 static class Symbol album; // size: 0x4, address: 0x80A4CE38 static class Symbol store; // size: 0x4, address: 0x80A4CE40 static class Symbol filters; // size: 0x4, address: 0x80A4CE48 static class Symbol sorts; // size: 0x4, address: 0x80A4CE50 // Range: 0x8018AFB4 -> 0x8018B6E4 void StorePanel::FinishLoad(class StorePanel * const this /* r30 */) { // Local variables class DataArray * o; // r28 int i; // r29 class StoreOffer new_offer; // r1+0xA8 enum StoreError se; // r4 class vector decades; // r1+0x64 class vector genres; // r1+0x58 const class StoreOffer * s; // r27 int year; // r0 int decade; // r1+0x40 class Symbol g; // r1+0x3C int i; // r27 int i; // r27 class DataArray * cfg; // r27 class DataArray * f; // r28 int i; // r29 // References // -> static class Symbol sorts; // -> static class Symbol filters; // -> static class Symbol store; // -> static class Symbol album; // -> static class Symbol song; // -> static class Symbol genre; // -> static class Symbol year_released; // -> static class Symbol offers; // -> class DebugFailer TheDebugFailer; // -> const char * kAssertStr; } // Range: 0x8018B6E4 -> 0x8018B760 void * InfoProvider::InfoProvider(class InfoProvider * const this /* r30 */, const class StoreOfferProvider * op /* r31 */) { // References // -> struct [anonymous] __vt__12InfoProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x8018B760 -> 0x8018B7CC void * InfoSongProvider::InfoSongProvider(class InfoSongProvider * const this /* r30 */, const class StoreOfferProvider * op /* r31 */) { // References // -> struct [anonymous] __vt__16InfoSongProvider; // -> struct [anonymous] __vt__12ListProvider; } struct _OKToSwap { // total size: 0x1 }; // Range: 0x8018B7CC -> 0x8018B800 void StorePanel::Enter(class StorePanel * const this /* r31 */) {} static class Message msg; // size: 0x8, address: 0x80979E30 static class Message msg; // size: 0x8, address: 0x80979E48 static class Message msg; // size: 0x8, address: 0x80979E60 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8018B800 -> 0x8018BEC0 void StorePanel::Poll(class StorePanel * const this /* r29 */) { // Local variables struct _List_iterator l; // r1+0x40 class NetCacheLoader * loader; // r28 int size; // r27 void * pBuffer; // r26 class RndBitmap bmp; // r1+0xA4 class BufStream stream; // r1+0x80 enum NetCacheMgrFailType failType; // r26 enum StoreError se; // r4 // References // -> static class Message msg; // -> class UIManager TheUI; // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x8018BEC0 -> 0x8018BEC4 void StorePanel::Exit() {} // Range: 0x8018BEC4 -> 0x8018BEC8 unsigned char StorePanel::Exiting() {} // Range: 0x8018BEC8 -> 0x8018C314 void StorePanel::Unload(class StorePanel * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x48 // References // -> class NetCacheMgr * TheNetCacheMgr; // -> const char * gNullStr; // -> class PlatformMgr ThePlatformMgr; } class list : public _List_base { // total size: 0x8 }; class StoreEnumeration { // total size: 0x10 public: void * __vptr$; // offset 0x0, size 0x4 protected: class list mProducts; // offset 0x4, size 0x8 class vector & mOffers; // offset 0xC, size 0x4 }; // Range: 0x8018C314 -> 0x8018C3EC class StorePanel * StorePanel::Instance() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10StorePanel; // -> class ObjectDir * sMainDir; } static class Symbol motd; // size: 0x4, address: 0x80A4CE58 // Range: 0x8018C3EC -> 0x8018C464 char * StorePanel::Motd(const class StorePanel * const this /* r31 */) { // References // -> static class Symbol motd; } static class Symbol new_releases; // size: 0x4, address: 0x80A4CE60 // Range: 0x8018C464 -> 0x8018C4C8 class DataArray * StorePanel::GetNewReleaseData(const class StorePanel * const this /* r31 */) { // References // -> static class Symbol new_releases; } // Range: 0x8018C4C8 -> 0x8018C528 class Symbol StorePanel::CurSelectedFilter() { // References // -> const char * gNullStr; } // Range: 0x8018C528 -> 0x8018C5B8 class Symbol StorePanel::Filter(const class StorePanel * const this /* r30 */, int depth /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018C5B8 -> 0x8018C644 class StoreFilter * StorePanel::CurStoreFilter(const class StorePanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018C644 -> 0x8018C6C4 int StorePanel::NumFiltersRequired(const class StorePanel * const this /* r31 */) { // Local variables const class StoreFilter * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018C6C4 -> 0x8018C740 class Symbol StorePanel::SortDifficultyPart(const class StorePanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018C740 -> 0x8018C7B4 unsigned char StorePanel::IsEnumerating(const class StorePanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018C7B4 -> 0x8018C7BC unsigned char StorePanel::InCheckout() {} // Range: 0x8018C7BC -> 0x8018C83C class StoreOffer * StorePanel::FindOffer(const class StorePanel * const this /* r30 */, class Symbol & shortname /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018C83C -> 0x8018C90C void StorePanel::PushFilter(class StorePanel * const this /* r31 */) {} // Range: 0x8018C90C -> 0x8018C970 void StorePanel::PopFilter() {} // Range: 0x8018C970 -> 0x8018C9A8 unsigned char __eq(const class String & rhs /* r31 */) {} // Range: 0x8018C9A8 -> 0x8018CAB0 void StorePanel::LoadArt(class StorePanel * const this /* r28 */, const class String & strRemotePath /* r29 */, class RndTex * pending_tex /* r30 */, class Object * callback /* r31 */) { // Local variables struct _List_iterator l; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; // -> class NetCacheMgr * TheNetCacheMgr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_List_node; // size: 0x8, address: 0x8089B858 // Range: 0x8018CAB0 -> 0x8018CAC4 void StorePanel::CancelArt() {} static class Message msg; // size: 0x8, address: 0x80979E78 class ContentInstalledMsg : public Message { // total size: 0x8 }; static class ContentInstalledMsg msg2; // size: 0x8, address: 0x80979E90 // Range: 0x8018CAC4 -> 0x8018CD60 void StorePanel::FinishCheckout(class StorePanel * const this /* r30 */) { // References // -> class ContentMgr & TheContentMgr; // -> struct [anonymous] __vt__19ContentInstalledMsg; // -> class Symbol t; // -> static class ContentInstalledMsg msg2; // -> class UIManager TheUI; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Symbol store_load_failed; // size: 0x4, address: 0x80A4CE68 static class Message msg; // size: 0x8, address: 0x80979EA8 // Range: 0x8018CDE4 -> 0x8018D048 void StorePanel::ExitError(class StorePanel * const this /* r29 */, enum StoreError e /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class BandUI * TheBandUI; // -> static class Symbol store_load_failed; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018D048 -> 0x8018D060 unsigned char StorePanel::ToggleTestOffers() {} // Range: 0x8018D060 -> 0x8018D10C void StorePanel::UpdateFilterCrumb(class StorePanel * const this /* r30 */) { // Local variables class String str; // r1+0xC int i; // r31 } // Range: 0x8018D10C -> 0x8018D120 enum StoreError StorePanel::FinishEnum(class StorePanel * const this /* r4 */) {} // Range: 0x8018D120 -> 0x8018D210 class DataNode StorePanel::OnMsg(class StorePanel * const this /* r29 */, const class PlatformMgrOpCompleteMsg & msg /* r30 */) {} static class Symbol song; // size: 0x4, address: 0x80A4CE70 class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8018D210 -> 0x8018D58C void StorePanel::ValidateOffers(class StorePanel * const this /* r30 */) { // Local variables class vector seen; // r1+0x64 class vector songs; // r1+0x58 class StoreOffer * o; // r1+0x4C class Symbol types[2]; // r1+0x50 int i; // r28 class Symbol type; // r1+0x48 class StoreOffer * * s; // r27 int count; // r26 class StoreOffer * o; // r25 // References // -> class Debug TheDebug; // -> static class Symbol song; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class StoreOffer * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class StoreOffer * * _M_start; // offset 0x0, size 0x4 class StoreOffer * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; static class Symbol _s; // size: 0x4, address: 0x80A4CE78 static class Symbol _s; // size: 0x4, address: 0x80A4CE80 static class Symbol _s; // size: 0x4, address: 0x80A4CE88 static class Symbol _s; // size: 0x4, address: 0x80A4CE90 static class Symbol _s; // size: 0x4, address: 0x80A4CE98 static class Symbol _s; // size: 0x4, address: 0x80A4CEA0 static class Symbol _s; // size: 0x4, address: 0x80A4CEA8 static class Symbol _s; // size: 0x4, address: 0x80A4CEB0 static class Symbol _s; // size: 0x4, address: 0x80A4CEB8 static class Symbol _s; // size: 0x4, address: 0x80A4CEC0 static class Symbol _s; // size: 0x4, address: 0x80A4CEC8 static class Symbol _s; // size: 0x4, address: 0x80A4CED0 static class Symbol _s; // size: 0x4, address: 0x80A4CED8 static class Symbol _s; // size: 0x4, address: 0x80A4CEE0 static class Symbol _s; // size: 0x4, address: 0x80A4CEE8 static class Symbol _s; // size: 0x4, address: 0x80A4CEF0 static class Symbol _s; // size: 0x4, address: 0x80A4CEF8 static class Symbol _s; // size: 0x4, address: 0x80A4CF00 static class Symbol _s; // size: 0x4, address: 0x80A4CF08 static class Symbol _s; // size: 0x4, address: 0x80A4CF10 static class Symbol _s; // size: 0x4, address: 0x80A4CF18 static class Symbol _s; // size: 0x4, address: 0x80A4CF20 // Range: 0x8018D58C -> 0x8018E000 class DataNode StorePanel::Handle(class StorePanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x58 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4CF28 static class Symbol _s; // size: 0x4, address: 0x80A4CF30 static class Symbol _s; // size: 0x4, address: 0x80A4CF38 static class Symbol _s; // size: 0x4, address: 0x80A4CF40 static class Symbol _s; // size: 0x4, address: 0x80A4CF48 static class Symbol _s; // size: 0x4, address: 0x80A4CF50 // Range: 0x8018E000 -> 0x8018E710 unsigned char StorePanel::SyncProperty(class StorePanel * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> struct [anonymous] __RTTI__16InfoSongProvider; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__12InfoProvider; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__13GroupProvider; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__18StoreOfferProvider; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14FilterProvider; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8018E710 -> 0x8018E75C class RndMat * InfoSongProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018E75C -> 0x8018E8F4 char * InfoSongProvider::Text(const class InfoSongProvider * const this /* r29 */, int data /* r30 */, class Symbol & slot /* r31 */) { // Local variables class DataNode & song; // r31 class StoreOffer * o; // r31 // References // -> class Symbol name; // -> class Symbol track; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x9C } __vt__16InfoSongProvider; // size: 0x9C, address: 0x8089BAC0 struct { // total size: 0x8 } __RTTI__16InfoSongProvider; // size: 0x8, address: 0x8089BB90 // Range: 0x8018E8F4 -> 0x8018E904 class Symbol InfoProvider::DataSymbol() {} // Range: 0x8018E904 -> 0x8018E950 class RndMat * InfoProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018E950 -> 0x8018EB28 char * InfoProvider::Text(const class InfoProvider * const this /* r31 */, int data /* r30 */) { // Local variables class Symbol tok; // r1+0x18 class StoreOffer * album_or_pack; // r4 // References // -> class Symbol store_back_song; // -> class Symbol exit; // -> class Symbol name; // -> class Symbol store_view_pack; // -> class Symbol store_view_album; } struct { // total size: 0x9C } __vt__12InfoProvider; // size: 0x9C, address: 0x8089BB98 struct { // total size: 0x8 } __RTTI__12InfoProvider; // size: 0x8, address: 0x8089BC60 struct { // total size: 0xB0 } __vt__10StorePanel; // size: 0xB0, address: 0x8089BEE8 struct { // total size: 0x8 } __RTTI__10StorePanel; // size: 0x8, address: 0x8089BFC0 struct { // total size: 0x54 } __vt__14SelectedFilter; // size: 0x54, address: 0x8089BFC8 struct { // total size: 0x8 } __RTTI__14SelectedFilter; // size: 0x8, address: 0x8089C040 struct { // total size: 0xC } __vt__19ContentInstalledMsg; // size: 0xC, address: 0x8089C088 struct { // total size: 0x8 } __RTTI__19ContentInstalledMsg; // size: 0x8, address: 0x8089C0B8 struct EnumProduct { // total size: 0x14 unsigned short mContentId; // offset 0x0, size 0x2 class String mGameCode; // offset 0x4, size 0xC unsigned char mHasPurchased; // offset 0x10, size 0x1 unsigned char mDownloaded; // offset 0x11, size 0x1 }; class _List_node : public _List_node_base { // total size: 0x1C public: struct EnumProduct _M_data; // offset 0x8, size 0x14 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PP10StoreOffer; // size: 0x8, address: 0x8089C1B8 struct { // total size: 0x8 } __RTTI__P11StoreFilter; // size: 0x8, address: 0x8089C1D0 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018EB28 -> 0x8018EC20 */ // Range: 0x8018EB28 -> 0x8018EB78 class StoreOffer * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10StoreOffer; } // Range: 0x8018EB78 -> 0x8018EB88 void DataArray::AddRef() {} // Range: 0x8018EB88 -> 0x8018EB9C void * DataArray::__nw() {} // Range: 0x8018EB9C -> 0x8018EBD0 class Object * DataArray::Obj(const class DataArray * const this /* r31 */) {} // Range: 0x8018EBD0 -> 0x8018EC20 class RndTex * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018EC20 -> 0x8018F388 */ // Range: 0x8018EC20 -> 0x8018EC30 class Symbol & vector::__vc() {} // Range: 0x8018EC30 -> 0x8018EC38 class Symbol * vector::begin() {} // Range: 0x8018EC38 -> 0x8018EC50 unsigned long vector::size() {} // Range: 0x8018EC50 -> 0x8018EC58 class Symbol * vector::end() {} // Range: 0x8018EC58 -> 0x8018ECC8 void vector::push_back() {} // Range: 0x8018ECC8 -> 0x8018ECD0 class StoreOffer * vector::end() {} // Range: 0x8018ECD0 -> 0x8018ECD8 class StoreOffer * vector::begin() {} // Range: 0x8018ECD8 -> 0x8018ECEC void * vector::vector() {} // Range: 0x8018ECEC -> 0x8018EEF4 void vector::push_back(class vector * const this /* r29 */, const class StoreOffer & __x /* r30 */) { // References // -> struct [anonymous] __vt__10StoreOffer; // -> struct [anonymous] __vt__5Offer; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x8018EEF4 -> 0x8018EEFC int * vector::begin() {} // Range: 0x8018EEFC -> 0x8018EF04 int * vector::end() {} // Range: 0x8018EF04 -> 0x8018EF70 void vector::push_back() {} // Range: 0x8018EF70 -> 0x8018EF88 unsigned long vector::size() {} // Range: 0x8018EF88 -> 0x8018EF98 int & vector::__vc() {} // Range: 0x8018EF98 -> 0x8018F28C void vector::push_back(class vector * const this /* r28 */, const class StoreFilter & __x /* r30 */) { // References // -> struct [anonymous] __RTTI__P6Symbol; // -> struct [anonymous] __RTTI__P14SubStoreFilter; // -> struct [anonymous] __vt__11StoreFilter; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x8018F28C -> 0x8018F290 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8018F290 -> 0x8018F2BC unsigned long vector::size() {} // Range: 0x8018F2BC -> 0x8018F378 void vector::_M_clear_after_move(class vector * const this /* r30 */) {} // Range: 0x8018F378 -> 0x8018F388 void vector::_M_set() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018F388 -> 0x8018F430 */ // Range: 0x8018F388 -> 0x8018F38C void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x8018F38C -> 0x8018F40C void StorePanel::CheckOut(class StorePanel * const this /* r30 */, class StoreOffer * offer /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8018F40C -> 0x8018F430 class StoreFilter * StlNodeAlloc::allocate() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11StoreFilter; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\StoreFilterProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018F430 -> 0x8018F4C8 */ // Range: 0x8018F430 -> 0x8018F4C8 void * FilterProvider::FilterProvider(class FilterProvider * const this /* r28 */, const class vector & all_offers /* r29 */, const class vector & filters /* r30 */, const class SelectedFilter & selected_filter /* r31 */) { // References // -> struct [anonymous] __vt__14FilterProvider; // -> struct [anonymous] __vt__12ListProvider; } /* Compile unit: C:\rockband2\system\src\ui\Panel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018F4C8 -> 0x8018F4D0 */ // Range: 0x8018F4C8 -> 0x8018F4D0 class PanelDir * UIPanel::LoadedDir() {} /* Compile unit: C:\rockband2\band2\src\meta\OfferProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018F4D0 -> 0x8018F550 */ // Range: 0x8018F4D0 -> 0x8018F550 void * GroupProvider::GroupProvider(class GroupProvider * const this /* r30 */, const class OfferProvider * op /* r31 */) { // References // -> struct [anonymous] __vt__13GroupProvider; // -> struct [anonymous] __vt__12ListProvider; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018F550 -> 0x8018FAC4 */ // Range: 0x8018F550 -> 0x8018F600 void sort(int * __first /* r29 */, int * __last /* r30 */) {} // Range: 0x8018F600 -> 0x8018F6A0 void __final_insertion_sort(int * __first /* r29 */, int * __last /* r30 */, struct less & __comp /* r31 */) {} // Range: 0x8018F6A0 -> 0x8018F708 void __unguarded_insertion_sort_aux(int * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables int * __i; // r31 } // Range: 0x8018F708 -> 0x8018F734 void __unguarded_linear_insert() { // Local variables int * __next; // r5 } // Range: 0x8018F734 -> 0x8018F7E4 void __insertion_sort(int * __first /* r27 */, int * __last /* r28 */, struct less & __comp /* r29 */) { // Local variables int * __i; // r30 } // Range: 0x8018F7E4 -> 0x8018F90C void __introsort_loop(int * __first /* r28 */, int * __last /* r29 */, long __depth_limit /* r30 */, struct less & __comp /* r31 */) { // Local variables int * __cut; // r27 } // Range: 0x8018F90C -> 0x8018F9B4 int * __unguarded_partition(int * __first /* r29 */, int * __last /* r30 */, int __pivot /* r31 */) {} // Range: 0x8018F9B4 -> 0x8018F9E4 void partial_sort() {} // Range: 0x8018F9E4 -> 0x8018FAC4 void __partial_sort(int * __first /* r27 */, int * __middle /* r28 */, int * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables int * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018FAC4 -> 0x8018FADC */ // Range: 0x8018FAC4 -> 0x8018FADC struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018FADC -> 0x8018FC8C */ // Range: 0x8018FADC -> 0x8018FB30 void pop_heap(int * __last /* r7 */) {} // Range: 0x8018FB30 -> 0x8018FBF4 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r9 } // Range: 0x8018FBF4 -> 0x8018FC8C void make_heap(int * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018FC8C -> 0x8018FCA0 */ // Range: 0x8018FC8C -> 0x8018FCA0 struct less __less() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018FCA0 -> 0x8018FD24 */ // Range: 0x8018FCA0 -> 0x8018FD24 struct _List_iterator find(const class String & __val /* r31 */) {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018FD24 -> 0x8018FE04 */ // Range: 0x8018FD24 -> 0x8018FE04 class UILabel * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class UILabel * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_construct.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8018FE04 -> 0x801900B0 */ // Range: 0x8018FE04 -> 0x801900B0 void _Copy_Construct(const class StoreFilter & __val /* r29 */) { // References // -> struct [anonymous] __RTTI__P6Symbol; // -> struct [anonymous] __RTTI__P14SubStoreFilter; // -> struct [anonymous] __vt__11StoreFilter; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } /* Compile unit: C:\rockband2\system\src\rndobj\Bitmap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801900B0 -> 0x80190104 */ // Range: 0x801900B0 -> 0x80190104 void * RndBitmap::~RndBitmap(class RndBitmap * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\StoreEnumeration.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80190104 -> 0x80190298 */ // Range: 0x80190104 -> 0x80190164 void * StoreEnumeration::~StoreEnumeration(class StoreEnumeration * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\StorePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80190298 -> 0x80190470 */ // Range: 0x80190298 -> 0x801902DC class Symbol StorePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801902DC -> 0x80190470 void StorePanel::SetType(class StorePanel * const this /* r29 */, class Symbol & StorePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80190470 -> 0x80190554 */ // Range: 0x80190470 -> 0x801904F4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x801904F4 -> 0x80190554 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80190554 -> 0x801907B0 */ // Range: 0x80190554 -> 0x8019068C void vector::_M_insert_overflow(class vector * const this /* r27 */, class StoreOffer * * __pos /* r28 */, class StoreOffer * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class StoreOffer * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10StoreOffer; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8019068C -> 0x801907B0 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class StoreFilter * __pos /* r25 */, const class StoreFilter & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x28 unsigned long __len; // r30 class StoreFilter * __new_start; // r29 class StoreFilter * __new_finish; // r28 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_uninitialized.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801907B0 -> 0x80190D48 */ // Range: 0x801907B0 -> 0x80190A7C class StoreFilter * __uninitialized_move(class StoreFilter * __last /* r28 */) { // References // -> struct [anonymous] __RTTI__P6Symbol; // -> struct [anonymous] __RTTI__P14SubStoreFilter; // -> struct [anonymous] __vt__11StoreFilter; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x80190A7C -> 0x80190D48 class StoreFilter * __uninitialized_fill_n(unsigned long __n /* r27 */, const class StoreFilter & __x /* r28 */) { // Local variables class StoreFilter * __cur; // r29 // References // -> struct [anonymous] __RTTI__P6Symbol; // -> struct [anonymous] __RTTI__P14SubStoreFilter; // -> struct [anonymous] __vt__11StoreFilter; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } /* Compile unit: C:\rockband2\band2\src\meta\StorePreviewMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80190FAC -> 0x80190FAC */ class Symbol t; // size: 0x4, address: 0x80A4CF5C class StreamPlayer : public Object { // total size: 0x38 float mMasterVol; // offset 0x28, size 0x4 float mStreamVol; // offset 0x2C, size 0x4 unsigned char mLoop; // offset 0x30, size 0x1 unsigned char mStarted; // offset 0x31, size 0x1 unsigned char mPaused; // offset 0x32, size 0x1 class Stream * mStream; // offset 0x34, size 0x4 }; class PreviewDownloadCompleteMsg : public Message { // total size: 0x8 }; struct { // total size: 0xC } __vt__26PreviewDownloadCompleteMsg; // size: 0xC, address: 0x8089C5E0 struct { // total size: 0x8 } __RTTI__26PreviewDownloadCompleteMsg; // size: 0x8, address: 0x8089C618 /* Compile unit: C:\rockband2\band2\src\meta\StoreSort.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80191030 -> 0x8019275C */ static class Message init; // size: 0x8, address: 0x80979EC0 // Range: 0x80191030 -> 0x80191174 void StoreSort::Init(class StoreSort * const this /* r31 */) { // References // -> static class Message init; // -> struct [anonymous] __vt__7Message; } static class Message cmp; // size: 0x8, address: 0x80979ED8 // Range: 0x80191174 -> 0x80191544 unsigned char StoreSort::__cl(class StoreSort * const this /* r28 */, const class Offer & lhs /* r29 */, const class Offer & rhs /* r30 */) { // Local variables unsigned char invert; // r31 class Symbol cmp_type; // r1+0x1C class Offer * p_lhs; // [invalid] class Offer * r_lhs; // [invalid] int ret; // r27 // References // -> static class Message cmp; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol artist; // size: 0x4, address: 0x80A4CF64 static class Symbol name; // size: 0x4, address: 0x80A4CF6C static class Symbol pack_name; // size: 0x4, address: 0x80A4CF74 static class Symbol year_released; // size: 0x4, address: 0x80A4CF7C static class Symbol decade; // size: 0x4, address: 0x80A4CF84 static class Symbol rank; // size: 0x4, address: 0x80A4CF8C static class Symbol genre; // size: 0x4, address: 0x80A4CF94 static class Symbol origin; // size: 0x4, address: 0x80A4CF9C static class Symbol pack; // size: 0x4, address: 0x80A4CFA4 static class DataArray * oneArg; // size: 0x4, address: 0x80A4CFA8 static class DataArray * twoArgs; // size: 0x4, address: 0x80A4CFB0 enum StoreSortType { kSTArtist = 0, kSTPackName = 1, kSTName = 2, kSTYearReleased = 3, kSTDecade = 4, kSTRank = 5, kSTGenre = 6, kSTOrigin = 7, kSTLeftSide = 8, }; // Range: 0x80191544 -> 0x80191D4C class DataNode StoreSort::OnCmp(class StoreSort * const this /* r25 */, class DataArray * a /* r26 */) { // Local variables class Offer * lhs; // r29 class Offer * rhs; // r28 int i; // r27 int r; // r23 enum StoreSortType t; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Offer; // -> static class DataArray * twoArgs; // -> static class DataArray * oneArg; // -> static class Symbol pack; // -> static class Symbol origin; // -> static class Symbol genre; // -> static class Symbol rank; // -> static class Symbol decade; // -> static class Symbol year_released; // -> static class Symbol pack_name; // -> static class Symbol name; // -> static class Symbol artist; } static class Symbol cmp_song_to_song; // size: 0x4, address: 0x80A4CFB8 static class Symbol cmp_song_to_album; // size: 0x4, address: 0x80A4CFC0 static class Symbol cmp_song_to_pack; // size: 0x4, address: 0x80A4CFC8 static class Symbol cmp_album_to_album; // size: 0x4, address: 0x80A4CFD0 static class Symbol cmp_album_to_pack; // size: 0x4, address: 0x80A4CFD8 static class Symbol cmp_pack_to_pack; // size: 0x4, address: 0x80A4CFE0 static class Symbol song; // size: 0x4, address: 0x80A4CFE8 static class Symbol album; // size: 0x4, address: 0x80A4CFF0 static class Symbol pack; // size: 0x4, address: 0x80A4CFF8 // Range: 0x80191D4C -> 0x80191F84 class Symbol StoreSort::FindOfferCmp(const class Offer & lhs /* r29 */, const class Offer & rhs /* r30 */) { // References // -> const char * gNullStr; // -> static class Symbol pack; // -> static class Symbol album; // -> static class Symbol song; // -> static class Symbol cmp_pack_to_pack; // -> static class Symbol cmp_album_to_pack; // -> static class Symbol cmp_album_to_album; // -> static class Symbol cmp_song_to_pack; // -> static class Symbol cmp_song_to_album; // -> static class Symbol cmp_song_to_song; } // Range: 0x80191F84 -> 0x80192004 int StoreSort::AlphaCmp(class Offer * lhs /* r28 */, class DataArray * fields /* r29 */, unsigned char skip_the /* r30 */) {} // Range: 0x80192004 -> 0x801920A4 int StoreSort::NumericCmp(class Offer * rhs /* r29 */, class DataArray * fields /* r30 */, unsigned char ascending /* r31 */) { // Local variables float f_lhs; // f0 float f_rhs; // f0 } static class Symbol decade; // size: 0x4, address: 0x80A4D000 // Range: 0x801920A4 -> 0x801921A8 int StoreSort::DecadeCmp(class Offer * lhs /* r31 */, class Offer * rhs /* r29 */, class DataArray * fields /* r30 */) { // Local variables const char * ldc; // r0 const char * rdc; // r0 int ld; // r5 int rd; // r3 // References // -> static class Symbol decade; } static class Symbol download; // size: 0x4, address: 0x80A4D008 static class Symbol rb2_icon; // size: 0x4, address: 0x80A4D010 static class Symbol rb1_icon; // size: 0x4, address: 0x80A4D018 // Range: 0x801921A8 -> 0x80192300 int StoreSort::OriginCmp(class Offer * lhs /* r29 */, class Offer * rhs /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol rb1_icon; // -> static class Symbol rb2_icon; // -> static class Symbol download; } static class Symbol _s; // size: 0x4, address: 0x80A4D020 // Range: 0x80192300 -> 0x801926FC class DataNode StoreSort::Handle(class StoreSort * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801926FC -> 0x8019275C unsigned char __eq(class Symbol & rhs /* r30 */) {} struct { // total size: 0x54 } __vt__9StoreSort; // size: 0x54, address: 0x8089C838 struct { // total size: 0x8 } __RTTI__9StoreSort; // size: 0x8, address: 0x8089C8B0 /* Compile unit: C:\rockband2\band2\src\meta\StoreUIPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8019275C -> 0x801931C4 */ class DataArray * types; // size: 0x4, address: 0x80A4D028 class DataArray * types; // size: 0x4, address: 0x80A4D030 // Range: 0x8019275C -> 0x80192824 class DataNode StoreUIPanel::FilterButtonMsg(const class ButtonDownMsg & msg /* r28 */) { // Local variables class StorePanel * sp; // r29 class BandUser * user; // r0 // References // -> class InputMgr * TheInputMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4D038 // Range: 0x80192824 -> 0x80192C90 class DataNode StoreUIPanel::Handle(class StoreUIPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80192C90 -> 0x80192D58 class DataNode StoreHeldButtonPanel::FilterButtonMsg(const class ButtonDownMsg & msg /* r28 */) { // Local variables class StorePanel * sp; // r29 class BandUser * user; // r0 // References // -> class InputMgr * TheInputMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4D040 // Range: 0x80192D58 -> 0x801931C4 class DataNode StoreHeldButtonPanel::Handle(class StoreHeldButtonPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__20StoreHeldButtonPanel; // size: 0xAC, address: 0x8089C95C struct { // total size: 0x8 } __RTTI__20StoreHeldButtonPanel; // size: 0x8, address: 0x8089CA48 struct { // total size: 0xAC } __vt__12StoreUIPanel; // size: 0xAC, address: 0x8089CA50 /* Compile unit: C:\rockband2\band2\src\meta\StoreUIPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80193414 -> 0x801937C4 */ // Range: 0x80193414 -> 0x80193458 class Symbol StoreHeldButtonPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80193458 -> 0x801935EC void StoreHeldButtonPanel::SetType(class StoreHeldButtonPanel * const this /* r29 */, class Symbol & StoreHeldButtonPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x801935EC -> 0x80193630 class Symbol StoreUIPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80193630 -> 0x801937C4 void StoreUIPanel::SetType(class StoreUIPanel * const this /* r29 */, class Symbol & StoreUIPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\StoreUnloadPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801937C4 -> 0x80193948 */ class DataArray * types; // size: 0x4, address: 0x80A4D048 // Range: 0x801937C4 -> 0x80193864 void * StoreUnloadPanel::StoreUnloadPanel(class StoreUnloadPanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__16StoreUnloadPanel; // -> struct [anonymous] __vt__12StoreUIPanel; } // Range: 0x80193864 -> 0x801938F8 void * StoreUnloadPanel::~StoreUnloadPanel(class StoreUnloadPanel * const this /* r30 */) {} // Range: 0x801938F8 -> 0x80193900 void StoreUnloadPanel::Load() { // References // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x80193900 -> 0x80193948 unsigned char StoreUnloadPanel::IsLoaded(class StoreUnloadPanel * const this /* r31 */) { // References // -> class NetCacheMgr * TheNetCacheMgr; } struct { // total size: 0xAC } __vt__16StoreUnloadPanel; // size: 0xAC, address: 0x8089CB58 struct { // total size: 0x8 } __RTTI__16StoreUnloadPanel; // size: 0x8, address: 0x8089CC40 /* Compile unit: C:\rockband2\band2\src\meta\StoreUnloadPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80193948 -> 0x80193B20 */ // Range: 0x80193948 -> 0x8019398C class Symbol StoreUnloadPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8019398C -> 0x80193B20 void StoreUnloadPanel::SetType(class StoreUnloadPanel * const this /* r29 */, class Symbol & StoreUnloadPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\StreamPlayer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80193B5C -> 0x801941F8 */ // Range: 0x80193B5C -> 0x80193BB8 void * StreamPlayer::StreamPlayer(class StreamPlayer * const this /* r31 */) { // References // -> struct [anonymous] __vt__12StreamPlayer; } // Range: 0x80193BB8 -> 0x80193C28 void * StreamPlayer::~StreamPlayer(class StreamPlayer * const this /* r30 */) { // References // -> struct [anonymous] __vt__12StreamPlayer; } // Range: 0x80193C28 -> 0x80193C98 void StreamPlayer::Delete(class StreamPlayer * const this /* r31 */) {} // Range: 0x80193C98 -> 0x80193D64 void StreamPlayer::PlayBuf(class StreamPlayer * const this /* r27 */, void * buf /* r28 */, int size /* r29 */, class Symbol & ext /* r30 */, float volume /* f31 */, unsigned char loop /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Synth * TheSynth; } // Range: 0x80193D64 -> 0x80193DBC void StreamPlayer::SetPaused(class StreamPlayer * const this /* r31 */) {} // Range: 0x80193DBC -> 0x80193E10 unsigned char StreamPlayer::IsPlaying() {} // Range: 0x80193E10 -> 0x80193E24 unsigned char StreamPlayer::HasStream() {} // Range: 0x80193E24 -> 0x80193EF0 void StreamPlayer::Poll(class StreamPlayer * const this /* r31 */) {} // Range: 0x80193EF0 -> 0x80193F58 void StreamPlayer::Init(class StreamPlayer * const this /* r31 */) { // References // -> float kStreamEnd; } // Range: 0x80193F58 -> 0x80193F5C void StreamPlayer::StopPlaying() {} // Range: 0x80193F5C -> 0x80193F84 void StreamPlayer::SetMasterVolume(class StreamPlayer * const this /* r4 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4D054 // Range: 0x80193F84 -> 0x801941F8 class DataNode StreamPlayer::Handle(class StreamPlayer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__12StreamPlayer; // size: 0x54, address: 0x8089CCBC struct { // total size: 0x8 } __RTTI__12StreamPlayer; // size: 0x8, address: 0x8089CD38 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801941F8 -> 0x801942B8 */ // Range: 0x801941F8 -> 0x801942B8 void StreamPlayer::PlayFile(class StreamPlayer * const this /* r29 */, const char * file /* r30 */, float volume /* f31 */, unsigned char loop /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Synth * TheSynth; } /* Compile unit: C:\rockband2\band2\src\meta\TabInterfacePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801942B8 -> 0x80194F80 */ class DataArray * types; // size: 0x4, address: 0x80A4D058 // Range: 0x801942B8 -> 0x80194398 void * TabInterfacePanel::TabInterfacePanel(class TabInterfacePanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__17TabInterfacePanel; // -> struct [anonymous] __vt__12TexLoadPanel; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; } // Range: 0x80194398 -> 0x801944F0 class DataNode TabInterfacePanel::OnMsg(class TabInterfacePanel * const this /* r29 */, const class UIComponentFocusChangeMsg & msg /* r30 */) { // Local variables int n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x801944F0 -> 0x801945A8 unsigned char TabInterfacePanel::IsFocusInsideTab(class TabInterfacePanel * const this /* r29 */) { // Local variables class UIComponent * c; // r0 const char * focusName; // r31 int n; // r30 } // Range: 0x801945A8 -> 0x801945F4 char * TabInterfacePanel::GetCurrentTab() {} static class Symbol _s; // size: 0x4, address: 0x80A4D060 static class Symbol _s; // size: 0x4, address: 0x80A4D068 // Range: 0x801945F4 -> 0x80194F80 class DataNode TabInterfacePanel::Handle(class TabInterfacePanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__25UIComponentFocusChangeMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0xF4 } __vt__17TabInterfacePanel; // size: 0xF4, address: 0x8089D1A8 struct { // total size: 0x8 } __RTTI__PQ217TabInterfacePanel7TabData; // size: 0x8, address: 0x8089D400 /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80194F80 -> 0x80195A90 */ // Range: 0x80194F80 -> 0x801950CC void TabInterfacePanel::SetTypeDef(class TabInterfacePanel * const this /* r28 */, class DataArray * data /* r29 */) { // Local variables class DataArray * tabsArray; // r30 int n; // r29 struct TabData tab; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801950CC -> 0x801953C8 void TabInterfacePanel::Enter(class TabInterfacePanel * const this /* r29 */) { // Local variables int n; // r30 class String tabName; // r1+0x2C // References // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10BandButton; } // Range: 0x801953C8 -> 0x80195560 class DataNode TabInterfacePanel::OnMsg(class TabInterfacePanel * const this /* r29 */, const class UIComponentSelectMsg & msg /* r30 */) { // Local variables int n; // r31 class DataArray * onSelect; // r4 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x80195560 -> 0x801957EC class DataNode TabInterfacePanel::OnMsg(class TabInterfacePanel * const this /* r31 */, const class ButtonDownMsg & msg /* r28 */) { // Local variables class UIComponent * c; // r4 class DataNode ret; // r1+0x20 class DataArray * onExit; // r4 } // Range: 0x801957EC -> 0x80195948 void TabInterfacePanel::ShowTab(class TabInterfacePanel * const this /* r29 */, int tabIndex /* r30 */) { // Local variables int n; // r31 unsigned char tabIsShowing; // r27 class DataArray * config; // r27 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12HelpBarPanel; // -> class ObjectDir * sMainDir; } // Range: 0x80195948 -> 0x801959B8 unsigned char TabInterfacePanel::IsTabSelectable() {} // Range: 0x801959B8 -> 0x80195A90 void TabInterfacePanel::RefreshTab(class TabInterfacePanel * const this /* r30 */, int tabIndex /* r31 */) { // Local variables class DataArray * onFocus; // r4 } /* Compile unit: C:\rockband2\band2\src\meta\TabInterfacePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80195B34 -> 0x80195E58 */ // Range: 0x80195B34 -> 0x80195C80 void * TabInterfacePanel::~TabInterfacePanel(class TabInterfacePanel * const this /* r30 */) {} // Range: 0x80195C80 -> 0x80195CC4 class Symbol TabInterfacePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80195CC4 -> 0x80195E58 void TabInterfacePanel::SetType(class TabInterfacePanel * const this /* r29 */, class Symbol & TabInterfacePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80195E58 -> 0x80196084 */ // Range: 0x80195E58 -> 0x80196084 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct TabData * __pos /* r26 */, const struct TabData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct TabData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ217TabInterfacePanel7TabData; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\TexLoadPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80196084 -> 0x80196D80 */ class DataArray * types; // size: 0x4, address: 0x80A4D070 // Range: 0x80196084 -> 0x8019615C void * DynamicTex::~DynamicTex(class DynamicTex * const this /* r30 */) { // References // -> struct [anonymous] __vt__10DynamicTex; } // Range: 0x8019615C -> 0x80196164 unsigned char __eq() {} // Range: 0x80196164 -> 0x801961B8 void TexLoadPanel::Load(class TexLoadPanel * const this /* r31 */) { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x801961B8 -> 0x801961FC unsigned char TexLoadPanel::IsLoaded(class TexLoadPanel * const this /* r31 */) {} // Range: 0x801961FC -> 0x80196230 void TexLoadPanel::FinishLoad(class TexLoadPanel * const this /* r31 */) {} // Range: 0x80196230 -> 0x80196314 void TexLoadPanel::Unload(class TexLoadPanel * const this /* r29 */) { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x80196314 -> 0x80196420 void TexLoadPanel::ContentFailed(const char * contentName /* r29 */) { // Local variables class DLCTex * dlc; // r0 class String c; // r1+0xC // References // -> class Debug TheDebug; // -> class SongMgr & TheSongMgr; } // Range: 0x80196420 -> 0x801964A4 class DLCTex * TexLoadPanel::NextDLCTex(class TexLoadPanel * const this /* r30 */) { // Local variables class DynamicTex * * d; // r31 class DLCTex * dlc; // r0 // References // -> struct [anonymous] __RTTI__10DynamicTex; // -> struct [anonymous] __RTTI__6DLCTex; } // Range: 0x801964A4 -> 0x80196520 unsigned char TexLoadPanel::TexturesLoaded(const class TexLoadPanel * const this /* r30 */) { // Local variables class DynamicTex * const * tit; // r31 class DynamicTex * t; // r3 } static class Symbol register_for_content; // size: 0x4, address: 0x80A4D078 // Range: 0x80196520 -> 0x801965C0 unsigned char TexLoadPanel::RegisterForContent() { // Local variables class DataArray * r; // r31 // References // -> static class Symbol register_for_content; } // Range: 0x801965C0 -> 0x801967AC void TexLoadPanel::FinalizeTextures(class TexLoadPanel * const this /* r26 */) { // Local variables class DynamicTex * * tit; // r28 class DynamicTex * t; // r27 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801967AC -> 0x8019686C class DynamicTex * TexLoadPanel::AddTex(class TexLoadPanel * const this /* r28 */, const char * path /* r29 */, const char * mat_name /* r30 */, unsigned char new_mat /* r31 */) { // Local variables class DynamicTex * dt; // r1+0xC } // Range: 0x8019686C -> 0x801969A4 void TexLoadPanel::AddDLCTex(class TexLoadPanel * const this /* r26 */, class Symbol & song /* r27 */, const char * mat_name /* r28 */, class RndTex * loading_tex /* r29 */, class RndTex * fail_tex /* r30 */) { // References // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4D080 // Range: 0x801969A4 -> 0x80196D80 class DataNode TexLoadPanel::Handle(class TexLoadPanel * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xF4 } __vt__12TexLoadPanel; // size: 0xF4, address: 0x8089D628 struct { // total size: 0xC } __vt__6DLCTex; // size: 0xC, address: 0x8089D758 struct { // total size: 0x8 } __RTTI__6DLCTex; // size: 0x8, address: 0x8089D778 struct { // total size: 0xC } __vt__10DynamicTex; // size: 0xC, address: 0x8089D780 struct { // total size: 0x8 } __RTTI__10DynamicTex; // size: 0x8, address: 0x8089D798 struct { // total size: 0x8 } __RTTI__PP10DynamicTex; // size: 0x8, address: 0x8089D8C8 /* Compile unit: C:\rockband2\system\src\rndobj\Mat.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80196D80 -> 0x80197510 */ // Range: 0x80196D80 -> 0x80196FD0 void * DynamicTex::DynamicTex(class DynamicTex * const this /* r31 */, const char * path /* r27 */, const char * name /* r28 */, unsigned char new_mat /* r29 */) { // References // -> struct [anonymous] __RTTI__6RndMat; // -> class Symbol name; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> struct [anonymous] __vt__10DynamicTex; } // Range: 0x80196FD0 -> 0x801970C8 void * DLCTex::DLCTex(class DLCTex * const this /* r28 */, class Symbol & song /* r29 */, class RndTex * default_tex /* r30 */, class RndTex * fail_tex /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__6DLCTex; // -> const char * gNullStr; } // Range: 0x801970C8 -> 0x80197210 void DLCTex::StartLoading(class DLCTex * const this /* r29 */) { // Local variables const char * path; // r30 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> class SongMgr & TheSongMgr; } // Range: 0x80197210 -> 0x80197430 void TexLoadPanel::Poll(class TexLoadPanel * const this /* r29 */) { // Local variables class DLCTex * dlc; // r29 const char * c; // r0 // References // -> class ContentMgr & TheContentMgr; // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80197430 -> 0x80197510 void TexLoadPanel::ContentMounted(class TexLoadPanel * const this /* r29 */, const char * contentName /* r30 */) { // Local variables class DLCTex * dlc; // r31 class String c; // r1+0xC // References // -> class Debug TheDebug; // -> class SongMgr & TheSongMgr; } /* Compile unit: C:\rockband2\band2\src\meta\TexLoadPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801975C4 -> 0x8019779C */ // Range: 0x801975C4 -> 0x80197608 class Symbol TexLoadPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80197608 -> 0x8019779C void TexLoadPanel::SetType(class TexLoadPanel * const this /* r29 */, class Symbol & TexLoadPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8019779C -> 0x801978D4 */ // Range: 0x8019779C -> 0x801978D4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class DynamicTex * * __pos /* r28 */, class DynamicTex * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class DynamicTex * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10DynamicTex; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\Tour.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801978D4 -> 0x8019B95C */ class Tour * TheTour; // size: 0x4, address: 0x80A4D088 class WorldStateBase { // total size: 0x1 }; struct TownData { // total size: 0x1C class Symbol mName; // offset 0x0, size 0x4 class String mIcon; // offset 0x4, size 0xC enum TourStatus mStatus; // offset 0x10, size 0x4 int mNumPlayers; // offset 0x14, size 0x4 enum Difficulty mDifficulty; // offset 0x18, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct TownData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct TownData * _M_start; // offset 0x0, size 0x4 struct TownData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class TownProvider : public ListProvider, public WorldStateBase, public Object { // total size: 0x40 class vector mTowns; // offset 0x2C, size 0xC class TourBand * mBand; // offset 0x38, size 0x4 const class TourWorld & mWorld; // offset 0x3C, size 0x4 }; struct VenueData { // total size: 0x20 class Symbol mName; // offset 0x0, size 0x4 class Symbol mToken; // offset 0x4, size 0x4 class String mIcon; // offset 0x8, size 0xC enum TourStatus mStatus; // offset 0x14, size 0x4 int mNumPlayers; // offset 0x18, size 0x4 enum Difficulty mDifficulty; // offset 0x1C, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct VenueData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct VenueData * _M_start; // offset 0x0, size 0x4 struct VenueData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class VenueProvider : public ListProvider, public WorldStateBase, public Object { // total size: 0x40 class vector mVenues; // offset 0x2C, size 0xC class TourBand * mBand; // offset 0x38, size 0x4 const class TourWorld & mWorld; // offset 0x3C, size 0x4 }; struct EventData { // total size: 0x1C class TourWorldEvent * mEvent; // offset 0x0, size 0x4 enum TourStatus mStatus; // offset 0x4, size 0x4 class String mIcon; // offset 0x8, size 0xC int mNumPlayers; // offset 0x14, size 0x4 enum Difficulty mDifficulty; // offset 0x18, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EventData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EventData * _M_start; // offset 0x0, size 0x4 struct EventData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class EventProvider : public ListProvider, public WorldStateBase, public Object { // total size: 0x40 class vector mEvents; // offset 0x2C, size 0xC const class TourWorld & mWorld; // offset 0x38, size 0x4 class TourBand * mBand; // offset 0x3C, size 0x4 }; class EventSongProvider : public ListProvider, public Object { // total size: 0x34 const class SongMgr & mSongMgr; // offset 0x2C, size 0x4 class TourBand * mBand; // offset 0x30, size 0x4 }; class HometownProvider : public ListProvider, public Object { // total size: 0x38 class vector mHometowns; // offset 0x2C, size 0xC }; class RequirementProvider : public ListProvider, public Object { // total size: 0x38 class vector mReqs; // offset 0x2C, size 0xC }; class StaffProvider : public ListProvider, public Object { // total size: 0x30 const class vector & mStaff; // offset 0x2C, size 0x4 }; // Range: 0x801978D4 -> 0x80197BC0 void * Tour::Tour(class Tour * const this /* r31 */, class DataArray * cfg /* r30 */, const class SongMgr & song_mgr /* r29 */, unsigned char load_logo /* r27 */) { // References // -> struct [anonymous] __vt__19RequirementProvider; // -> struct [anonymous] __vt__12ListProvider; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; // -> struct [anonymous] __vt__4Tour; } class _List_node : public _List_node_base { // total size: 0xC public: class TourCharLocal * _M_data; // offset 0x8, size 0x4 }; // Range: 0x80197BE8 -> 0x80197E80 void * Tour::~Tour(class Tour * const this /* r30 */) { // References // -> class Tour * TheTour; // -> struct [anonymous] __vt__4Tour; } // Range: 0x8019843C -> 0x80198444 class TourChallenge & Tour::GetChallenge() {} // Range: 0x80198444 -> 0x8019844C class TourWorld & Tour::GetWorld() {} // Range: 0x8019844C -> 0x80198454 class TourBand * Tour::GetBand() {} static double kValidBattleDurationMs; // size: 0x8, address: 0x808484F8 // Range: 0x80198454 -> 0x801984FC unsigned char Tour::DirtyBattles(const class Tour * const this /* r8 */) { // References // -> static double kValidBattleDurationMs; // -> double sDoubleCycles2Ms; } // Range: 0x801984FC -> 0x801987E4 unsigned char Tour::HasBotbChallenges(const class Tour * const this /* r30 */) { // Local variables int leader_num; // r0 class list shared_c; // r1+0x90 class vector users; // r1+0x98 class BandUser * * u; // r31 const class list & rc; // r28 struct _List_iterator c; // r1+0x7C // References // -> class BandUserMgr * TheBandUserMgr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> class SessionMgr * TheSessionMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801987E4 -> 0x80198858 class TourHint * Tour::GetBandHint() { // Local variables class TourHint * t; // r31 // References // -> class Debug TheDebug; } // Range: 0x80198858 -> 0x801989B0 char * Tour::TourScreen(const class Tour * const this /* r29 */, unsigned char from_game /* r30 */) { // Local variables class TourHint * h; // r0 class TourEvent * e; // r0 class TourHint * h; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801989B0 -> 0x80198A30 char * Tour::LoadingScreen(const class Tour * const this /* r30 */) { // Local variables const char * loading_screen; // r31 class TourEvent * e; // r0 // References // -> const char * gNullStr; } class TourBandRemote : public TourBand { // total size: 0x240 const class RemoteBandData * mCachedData; // offset 0x1DC, size 0x4 class TourMoment * mNextMoment; // offset 0x1E0, size 0x4 int mStarRating; // offset 0x1E4, size 0x4 enum Difficulty mDifficultyRating; // offset 0x1E8, size 0x4 class String mCensoredName; // offset 0x1EC, size 0xC class String mCensoredMotto; // offset 0x1F8, size 0xC class OnlineID * mOwnerID; // offset 0x204, size 0x4 class String mOwnerName; // offset 0x208, size 0xC }; // Range: 0x80198A30 -> 0x80198B14 enum TourMode Tour::GetMode(class Tour * const this /* r29 */) { // Local variables class TourBandRemote * rtBand; // r0 class TourBandLocal * ltBand; // r0 // References // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class NetSession * TheNetSession; // -> struct [anonymous] __RTTI__8TourBand; // -> struct [anonymous] __RTTI__14TourBandRemote; } static class Symbol remote_player_left; // size: 0x4, address: 0x80A4D090 static class Symbol new_remote_player; // size: 0x4, address: 0x80A4D098 // Range: 0x80198B14 -> 0x80198DC0 void Tour::SetBand(class Tour * const this /* r31 */, class TourBand * b /* r29 */) { // Local variables class TourBandLocal * ltb; // r0 // References // -> static class Symbol new_remote_player; // -> static class Symbol remote_player_left; // -> class Net TheNet; // -> class RockCentralGateway RockCentral; // -> const char * gNullStr; // -> class Symbol t; // -> struct [anonymous] __RTTI__16BandProfilePanel; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17BotbNewsFeedPanel; // -> class ObjectDir * sMainDir; // -> class BotbPanel * TheBotbPanel; // -> struct [anonymous] __RTTI__8TourBand; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol remote_player_left; // size: 0x4, address: 0x80A4D0A0 static class Symbol new_remote_player; // size: 0x4, address: 0x80A4D0A8 // Range: 0x80198DC0 -> 0x80198FE8 void Tour::ClearBand(class Tour * const this /* r31 */) { // Local variables class TourBandLocal * ltb; // r29 // References // -> class BotbPanel * TheBotbPanel; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> struct [anonymous] __RTTI__8TourBand; // -> struct [anonymous] __RTTI__14TourBandRemote; // -> static class Symbol new_remote_player; // -> static class Symbol remote_player_left; // -> class Net TheNet; // -> class RockCentralGateway RockCentral; // -> const char * gNullStr; } // Range: 0x80198FE8 -> 0x80199010 class HxGuid * Tour::GetLastBandSet() {} // Range: 0x80199010 -> 0x80199088 void Tour::OverrideLastBandSet(class Tour * const this /* r30 */, const class HxGuid & guid /* r31 */) {} // Range: 0x80199088 -> 0x801990E0 void Tour::SetDirtyBattles(class Tour * const this /* r31 */) {} // Range: 0x801990E0 -> 0x8019944C void Tour::CreateBattles(class Tour * const this /* r31 */, class BotbChallengeLoader & bl /* r29 */) { // Local variables class list challenge_names; // r1+0x50 class vector we; // r1+0x70 class list world_names; // r1+0x48 int i; // r29 class vector local_nums; // r1+0x64 int i; // r30 class LocalBattlesMsg msg; // r1+0x80 // References // -> class Net TheNet; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; } static class Message update; // size: 0x8, address: 0x80979EF0 // Range: 0x8019944C -> 0x801996C0 void Tour::SetSharedBattles(class Tour * const this /* r26 */, int user_num /* r27 */, const class list & challenge_battles /* r28 */, const class list & world_battles /* r29 */) { // Local variables class MultiFocusScreen * mfs; // r31 // References // -> static class Message update; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__8UIScreen; // -> struct [anonymous] __RTTI__16MultiFocusScreen; // -> class UIManager TheUI; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801996C0 -> 0x80199B1C void Tour::SendSharedBattles(class Tour * const this /* r30 */) { // Local variables int leader_num; // r0 class list shared_c; // r1+0xF0 class list shared_w; // r1+0xE8 class vector users; // r1+0xF8 class BandUser * * u; // r31 const class list & rc; // r27 struct _List_iterator c; // r1+0xC0 const class list & rw; // r27 struct _List_iterator w; // r1+0xBC class SharedBattlesMsg msg; // r1+0x104 // References // -> class Net TheNet; // -> class BandUserMgr * TheBandUserMgr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> class SessionMgr * TheSessionMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80199B1C -> 0x80199BAC void Tour::SyncSharedBattles(class Tour * const this /* r29 */, const class list & shared_challenge /* r30 */, const class list & shared_world /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80199BAC -> 0x80199C14 void Tour::ClearSharedBattles(class Tour * const this /* r29 */) { // Local variables int i; // r30 } // Range: 0x80199C14 -> 0x80199C8C class DataNode Tour::OnMsg(class Tour * const this /* r30 */) {} // Range: 0x80199C8C -> 0x80199CFC class DataNode Tour::OnMsg(class Tour * const this /* r30 */) {} // Range: 0x80199CFC -> 0x80199D6C class DataNode Tour::OnMsg(class Tour * const this /* r30 */) {} // Range: 0x80199D6C -> 0x80199DE8 void Tour::ClearUserSharedBattles(class Tour * const this /* r29 */, int user_num /* r30 */) { // References // -> class SessionMgr * TheSessionMgr; } // Range: 0x80199DE8 -> 0x8019A008 void Tour::SetUserSharedBattles(class Tour * const this /* r28 */, int user_num /* r29 */) { // Local variables class User * user; // r0 class vector users; // r1+0x40 class BandUser * * it; // r7 class User * pu; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8019A008 -> 0x8019A27C void Tour::CreateTestEvent(class Tour * const this /* r29 */) { // Local variables int i; // r30 class BandUser * user; // r25 class Symbol instrument; // r1+0x34 // References // -> class SongMgr & TheSongMgr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class BandUserMgr * TheBandUserMgr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node; // size: 0x8, address: 0x8089DC70 // Range: 0x8019A27C -> 0x8019A290 unsigned char Tour::ToggleAllExpired() { // References // -> unsigned char sAllExpired; } // Range: 0x8019A290 -> 0x8019A2A4 unsigned char Tour::ToggleAllLive() { // References // -> unsigned char sAllLive; } // Range: 0x8019A2A4 -> 0x8019A318 void Tour::SetRemoteBand(class Tour * const this /* r30 */, const class RemoteBandData * band /* r31 */) { // References // -> class BandUserMgr * TheBandUserMgr; } static class Symbol ui; // size: 0x4, address: 0x80A4D0B0 static class Symbol update_band; // size: 0x4, address: 0x80A4D0B8 // Range: 0x8019A318 -> 0x8019A57C class DataNode Tour::OnUpdateChar(class DataArray * a /* r29 */) { // Local variables class CharData * p; // r0 class TourCharRemote * rtc; // r30 class DataArrayPtr ui_msg; // r1+0x28 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol update_band; // -> static class Symbol ui; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__14TourCharRemote; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x8019A57C -> 0x8019A644 class DataNode Tour::OnUpdateCharAppearance(class DataArray * a /* r30 */) { // Local variables class BandUser * user; // r31 // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019A644 -> 0x8019A764 class DataNode Tour::OnVenueToken(class Tour * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables class Symbol town; // r1+0x30 class Symbol venue; // r1+0x2C // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019A764 -> 0x8019A7E4 class DataNode Tour::OnEvent(class Tour * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4D0C0 static class Symbol _s; // size: 0x4, address: 0x80A4D0C8 static class Symbol _s; // size: 0x4, address: 0x80A4D0D0 static class Symbol _s; // size: 0x4, address: 0x80A4D0D8 static class Symbol _s; // size: 0x4, address: 0x80A4D0E0 static class Symbol _s; // size: 0x4, address: 0x80A4D0E8 static class Symbol _s; // size: 0x4, address: 0x80A4D0F0 static class Symbol _s; // size: 0x4, address: 0x80A4D0F8 static class Symbol _s; // size: 0x4, address: 0x80A4D100 static class Symbol _s; // size: 0x4, address: 0x80A4D108 static class Symbol _s; // size: 0x4, address: 0x80A4D110 static class Symbol _s; // size: 0x4, address: 0x80A4D118 static class Symbol _s; // size: 0x4, address: 0x80A4D120 static class Symbol _s; // size: 0x4, address: 0x80A4D128 static class Symbol _s; // size: 0x4, address: 0x80A4D130 static class Symbol _s; // size: 0x4, address: 0x80A4D138 static class Symbol _s; // size: 0x4, address: 0x80A4D140 static class Symbol _s; // size: 0x4, address: 0x80A4D148 static class Symbol _s; // size: 0x4, address: 0x80A4D150 static class Symbol _s; // size: 0x4, address: 0x80A4D158 static class Symbol _s; // size: 0x4, address: 0x80A4D160 static class Symbol _s; // size: 0x4, address: 0x80A4D168 static class Symbol _s; // size: 0x4, address: 0x80A4D170 static class Symbol _s; // size: 0x4, address: 0x80A4D178 static class Symbol _s; // size: 0x4, address: 0x80A4D180 static class Symbol _s; // size: 0x4, address: 0x80A4D188 static class Symbol _s; // size: 0x4, address: 0x80A4D190 static class Symbol _s; // size: 0x4, address: 0x80A4D198 static class Symbol _s; // size: 0x4, address: 0x80A4D1A0 static class Symbol _s; // size: 0x4, address: 0x80A4D1A8 static class Symbol _s; // size: 0x4, address: 0x80A4D1B0 static class Symbol _s; // size: 0x4, address: 0x80A4D1B8 // Range: 0x8019A7E4 -> 0x8019B7E4 class DataNode Tour::Handle(class Tour * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4D1C0 // Range: 0x8019B7E4 -> 0x8019B95C unsigned char Tour::SyncProperty(class Tour * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__14TourBandRemote; // size: 0x8, address: 0x8089E280 struct { // total size: 0x8 } __RTTI__17BotbNewsFeedPanel; // size: 0x8, address: 0x8089E438 struct { // total size: 0x54 } __vt__4Tour; // size: 0x54, address: 0x8089E570 struct { // total size: 0x8 } __RTTI__4Tour; // size: 0x8, address: 0x8089E5E0 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8019B95C -> 0x8019BBCC */ // Range: 0x8019B95C -> 0x8019BB14 class DataNode Tour::OnCreateNewBand(class Tour * const this /* r28 */, class DataArray * pData /* r29 */) { // Local variables class Profile * pProfile; // r29 // References // -> class BandUserMgr * TheBandUserMgr; // -> class SongMgr & TheSongMgr; // -> class ProfileMgr TheProfileMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandUser; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019BB14 -> 0x8019BBCC void Tour::GiveNewBandToUser(class Tour * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8019BBCC -> 0x8019BC44 */ // Range: 0x8019BBCC -> 0x8019BC44 struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8019BC44 -> 0x8019BC94 */ // Range: 0x8019BC44 -> 0x8019BC94 class TourBandLocal * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourBandLocal; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8019BC94 -> 0x8019BF50 */ // Range: 0x8019BC94 -> 0x8019BEF0 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8019BEF0 -> 0x8019BF50 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\TourBand.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8019BF50 -> 0x801A8C18 */ struct ChallengeCmp { // total size: 0x4 const class TourBand & mBand; // offset 0x0, size 0x4 }; // Range: 0x8019BF50 -> 0x8019BF58 void * ChallengeCmp::ChallengeCmp() {} // Range: 0x8019BF58 -> 0x8019C0CC unsigned char ChallengeCmp::__cl(const struct ChallengeCmp * const this /* r30 */, class TourChallengeEvent * lhs /* r27 */, class TourChallengeEvent * rhs /* r28 */) { // Local variables enum TourStatus lhs_status; // r0 enum TourStatus rhs_status; // r0 enum ChallengeEventType lhs_type; // r0 enum ChallengeEventType rhs_type; // r0 } enum TourEventType sEventType; // size: 0x4, address: 0x80A4D1C8 int sVer; // size: 0x4, address: 0x80A4D1CC class DataArray * sWorldConfig; // size: 0x4, address: 0x80A4D1D0 class DataArray * sVehicles; // size: 0x4, address: 0x80A4D1D4 class DataArray * sChallengeConfig; // size: 0x4, address: 0x80A4D1D8 class String sRivalLogo; // size: 0xC, address: 0x80979F04 class PersistentGameData sPersistentGameData; // size: 0x4C, address: 0x80979F10 // Range: 0x8019C0CC -> 0x8019C10C unsigned char __eq() {} // Range: 0x8019C10C -> 0x8019C124 unsigned char __eq() {} // Range: 0x8019C124 -> 0x8019C154 unsigned char __eq() {} // Range: 0x8019C154 -> 0x8019C16C unsigned char __eq() {} static class Symbol tour; // size: 0x4, address: 0x80A4D1E0 static class Symbol max_stars_per_song; // size: 0x4, address: 0x80A4D1E8 static class Symbol botb_loading_screen; // size: 0x4, address: 0x80A4D1F0 static class Symbol world; // size: 0x4, address: 0x80A4D1F8 static class Symbol vehicles; // size: 0x4, address: 0x80A4D200 static class Symbol challenge; // size: 0x4, address: 0x80A4D208 // Range: 0x8019C16C -> 0x8019C330 void TourBand::Init() { // Local variables class DataArray * cfg; // r30 // References // -> class DataArray * sChallengeConfig; // -> static class Symbol challenge; // -> class DataArray * sVehicles; // -> static class Symbol vehicles; // -> class DataArray * sWorldConfig; // -> static class Symbol world; // -> static class Symbol botb_loading_screen; // -> static class Symbol max_stars_per_song; // -> static class Symbol tour; } // Range: 0x8019C330 -> 0x8019C334 void TourBand::Terminate() {} // Range: 0x8019C334 -> 0x8019C610 void * TourBand::TourBand(class TourBand * const this /* r26 */, class TourWorld & world /* r27 */, class TourChallenge & challenge /* r28 */, const class SongMgr & sm /* r29 */, class BandUserMgr & bum /* r30 */) { // Local variables int i; // r5 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__8TourBand; // -> struct [anonymous] __vt__8BandData; } class _List_node : public _List_node_base { // total size: 0x14 public: struct OpportunityLoc _M_data; // offset 0x8, size 0xC }; class _List_node : public _List_node_base { // total size: 0x20 public: struct ChallengeState _M_data; // offset 0x8, size 0x18 }; // Range: 0x8019C610 -> 0x8019CC68 void * TourBand::~TourBand(class TourBand * const this /* r30 */) { // References // -> struct [anonymous] __vt__8TourBand; } // Range: 0x8019CCC4 -> 0x8019CCD4 unsigned char TourBand::HasWritePermission() {} // Range: 0x8019CCD4 -> 0x8019CDD4 void TourBand::GetTopSongs(const class TourBand * const this /* r28 */, class vector & songs /* r29 */, int numSongs /* r30 */) {} // Range: 0x8019CDD4 -> 0x8019CDDC enum TourEventType TourBand::EventType() { // References // -> enum TourEventType sEventType; } // Range: 0x8019CDDC -> 0x8019CDE4 char * TourBand::BandName() {} // Range: 0x8019CDE4 -> 0x8019CDF8 struct DateTime TourBand::GetCreationDate(const class TourBand * const this /* r4 */) {} // Range: 0x8019CDF8 -> 0x8019CE00 class HxGuid & TourBand::Guid() {} // Range: 0x8019CE00 -> 0x8019CE64 unsigned char TourBand::IsLive() {} // Range: 0x8019CE64 -> 0x8019CF34 void TourBand::BotbChallenges(const class TourBand * const this /* r29 */, class vector & tier /* r30 */) { // Local variables class TourChallengeEvent * * c; // r31 } // Range: 0x8019CF34 -> 0x8019D094 int TourBand::Reward(const class TourBand * const this /* r27 */, unsigned char use_moment /* r28 */) { // Local variables class TourEvent * e; // r31 int total_reward; // r30 int i; // r29 int stars; // r26 int money_per_star; // r25 // References // -> enum TourEventType sEventType; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol hardcore_item; // size: 0x4, address: 0x80A4D210 // Range: 0x8019D094 -> 0x8019D1B8 unsigned char TourBand::IsHardcoreWinning(const class TourBand * const this /* r30 */) { // Local variables class TourWorldEvent * e; // r30 // References // -> class DataArray * sWorldConfig; // -> static class Symbol hardcore_item; // -> enum TourEventType sEventType; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019D1B8 -> 0x8019D244 class TourStaff * TourBand::Staff(const class TourBand * const this /* r31 */) { // Local variables const class vector & staff; // r0 class TourStaff * const * s; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019D244 -> 0x8019D290 class TourStaff * TourBand::ModifierStaff(const class TourBand * const this /* r31 */) {} static class Symbol tour_met_town_stars; // size: 0x4, address: 0x80A4D218 static class Symbol tour_more_town_stars; // size: 0x4, address: 0x80A4D220 // Range: 0x8019D290 -> 0x8019D728 unsigned char TourBand::WorldEventReqs(const class TourBand * const this /* r25 */, const class TourWorldEvent * e /* r26 */, class vector * reqs /* r27 */, class Symbol & town /* r28 */, int town_stars /* r29 */, int world_stars /* r30 */) { // Local variables unsigned char met; // r22 const class TourTown * t; // r0 int town_stars_required; // r0 struct TourRequirement r; // r1+0x48 int buzz_required; // r0 // References // -> static class Symbol tour_more_town_stars; // -> static class Symbol tour_met_town_stars; // -> const char * gNullStr; } // Range: 0x8019D728 -> 0x8019D8E4 unsigned char TourBand::WorldStaffReqs(const class TourBand * const this /* r28 */, const class TourStaff * s /* r29 */, class vector * reqs /* r30 */) { // Local variables unsigned char met; // r0 } // Range: 0x8019D8E4 -> 0x8019D934 class TourHint * TourBand::Hint() { // Local variables class vector & hints; // r0 // References // -> unsigned char sUnlockAll; } // Range: 0x8019D934 -> 0x8019D994 class TourHint * TourBand::FindHint(class Symbol & name /* r30 */) { // Local variables class vector & hints; // r0 class TourHint * const * h; // r0 } // Range: 0x8019D994 -> 0x8019D9B0 class vector & TourBand::Hints() { // References // -> enum TourEventType sEventType; } // Range: 0x8019D9B0 -> 0x8019D9B8 enum Difficulty TourBand::WinDifficulty() {} // Range: 0x8019D9B8 -> 0x8019D9C0 int TourBand::TourScore() {} // Range: 0x8019D9C0 -> 0x8019DA9C int TourBand::Fame(const class TourBand * const this /* r28 */, const class TourWorldEvent * e /* r29 */, class Symbol & venue /* r30 */) { // References // -> const char * gNullStr; } // Range: 0x8019DA9C -> 0x8019DAD0 int TourBand::EventStars() { // Local variables const struct WorldState * f; // r0 } // Range: 0x8019DAD0 -> 0x8019DB10 char * TourBand::EventStarsStr() { // Local variables int stars; // r4 // References // -> const char * gNullStr; // -> class Scoring * TheScoring; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8019DB10 -> 0x8019DCF8 int TourBand::VenueFame(const class TourBand * const this /* r28 */, class Symbol & town /* r29 */, class Symbol & venue /* r30 */) { // Local variables class Symbol tier_name; // r1+0x3C const class TourTier * tier; // r0 int stars; // r31 struct _List_iterator o; // r1+0x38 struct WorldState * s; // r0 // References // -> const char * gNullStr; } // Range: 0x8019DCF8 -> 0x8019DD44 int TourBand::TownFame(const class TourBand * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x8019DD44 -> 0x8019DD90 int TourBand::TotalTownFame(const class TourBand * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x8019DD90 -> 0x8019DE90 int TourBand::TotalVenueFame(const class TourBand * const this /* r26 */, class Symbol & venue_name /* r27 */) { // Local variables const class TourTown * town; // r31 int total; // r30 class vector events; // r1+0x10 class TourVenue * const * v; // r29 class TourWorldEvent * * e; // r28 // References // -> const char * gNullStr; } // Range: 0x8019DE90 -> 0x8019DF90 int TourBand::WorldFame(const class TourBand * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x8019DF90 -> 0x8019E098 int TourBand::TotalWorldFame(const class TourBand * const this /* r27 */) { // Local variables int total; // r30 const class vector & towns; // r0 class TourTown * const * t; // r29 const class vector & moments; // r0 class TourMoment * const * m; // r29 class TourWorldEvent * op; // r28 } // Range: 0x8019E098 -> 0x8019E100 class String TourBand::GetLogoPatchDir(const class TourBand * const this /* r31 */) { // References // -> class String sDefaultLogo; } // Range: 0x8019E100 -> 0x8019E18C class CharData * TourBand::StandIn(const class TourBand * const this /* r30 */, enum TrackType tt /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019E18C -> 0x8019E28C class String TourBand::GetBandLogo(const class TourBand * const this /* r30 */) { // References // -> class Debug TheDebug; // -> class String sDefaultLogo; } // Range: 0x8019E28C -> 0x8019E330 class String TourBand::GetBandLogoName(const class TourBand * const this /* r31 */) { // References // -> class Debug TheDebug; // -> class String sDefaultLogo; } // Range: 0x8019E330 -> 0x8019E340 int TourBand::GetBandLogoPos() {} // Range: 0x8019E340 -> 0x8019E348 char * TourBand::GetMotto() {} // Range: 0x8019E348 -> 0x8019E488 class Symbol TourBand::VenueVariant(const class TourBand * const this /* r28 */) { // Local variables class TourEvent * e; // r31 class Symbol vv; // r1+0x1C const class TourTown * town; // r29 const class TourVenue * venue; // r0 // References // -> enum TourEventType sEventType; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019E488 -> 0x8019E4B8 int TourBand::HighScore() {} // Range: 0x8019E4B8 -> 0x8019E500 unsigned char TourBand::HasItem() {} static class Symbol items; // size: 0x4, address: 0x80A4D228 // Range: 0x8019E500 -> 0x8019E5E8 unsigned char TourBand::HasAllItems(const class TourBand * const this /* r28 */) { // Local variables class DataArray * item_array; // r30 int i; // r29 // References // -> class DataArray * sWorldConfig; // -> static class Symbol items; } // Range: 0x8019E5E8 -> 0x8019E744 enum TourStatus TourBand::WorldEventStatus(const class TourBand * const this /* r25 */, class TourWorldEvent * e /* r26 */, class Symbol & town /* r27 */, class Symbol & venue /* r28 */, int town_stars /* r29 */, int world_stars /* r30 */) { // References // -> unsigned char sUnlockAll; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8019E744 -> 0x8019E7F8 void TourBand::FindTowns(const class TourBand * const this /* r29 */, class vector & towns /* r30 */) { // Local variables int level; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> class DataArray * sVehicles; // -> unsigned char sUnlockAll; } // Range: 0x8019E7F8 -> 0x8019EA94 void TourBand::FindWorldEvents(const class TourBand * const this /* r26 */, class vector & events /* r27 */, const class TourTown * town /* r28 */, const class TourVenue * venue /* r29 */, unsigned char include_botb /* r30 */) { // Local variables class TourWorldEvent * const * it; // r23 struct _List_iterator o; // r1+0x44 class TourMoment * m; // r0 class TourWorldEvent * opportunity; // r1+0x40 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x8019EA94 -> 0x8019EE84 enum TourStatus TourBand::TownStatus(const class TourBand * const this /* r24 */, const class TourTown * t /* r25 */, class vector & v_states /* r26 */, int world_stars /* r27 */) { // Local variables int town_stars; // r28 enum TourStatus status; // r30 class TourVenue * const * v; // r31 struct VenueState vs; // r1+0x68 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10EventState; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__P10EventState; // size: 0x8, address: 0x8089E940 // Range: 0x8019EE84 -> 0x8019F1C0 enum TourStatus TourBand::VenueStatus(const class TourBand * const this /* r21 */, const class TourTown * town /* r22 */, const class TourVenue * venue /* r23 */, class vector & e_states /* r24 */, int town_stars /* r25 */, int world_stars /* r26 */) { // Local variables struct SeenVenue sv; // r1+0x40 unsigned char seen; // r31 class vector events; // r1+0x48 unsigned char played; // r30 unsigned char locked; // r29 unsigned char is_new; // r28 class TourWorldEvent * * e; // r27 struct EventState es; // r1+0x38 // References // -> const char * gNullStr; } // Range: 0x8019F1C0 -> 0x8019F1C8 int TourBand::NumUnlockedVenues() {} // Range: 0x8019F1C8 -> 0x8019F25C int TourBand::NumNewTownEvents(const class TourBand * const this /* r27 */, class Symbol & town /* r28 */) { // Local variables int num_new_events; // r30 const class TourTown * t; // r0 class TourVenue * const * v; // r29 } // Range: 0x8019F25C -> 0x8019F3F4 int TourBand::NumNewVenueEvents(const class TourBand * const this /* r28 */, class Symbol & venue /* r29 */) { // Local variables class vector e_states; // r1+0x38 const class TourTown * t; // r30 int num; // r30 struct EventState * e; // r5 } // Range: 0x8019F3F4 -> 0x8019F3FC unsigned char TourBand::JustPlayedAllVenues() {} static class Symbol item_achievements; // size: 0x4, address: 0x80A4D230 // Range: 0x8019F3FC -> 0x8019F4E4 class Symbol TourBand::ItemAchievement(const class TourBand * const this /* r30 */) { // Local variables const class Symbol * i; // r31 // References // -> const char * gNullStr; // -> class DataArray * sWorldConfig; // -> static class Symbol item_achievements; } static class Symbol region_achievements; // size: 0x4, address: 0x80A4D238 // Range: 0x8019F4E4 -> 0x8019F5F0 class Symbol TourBand::RegionAchievement(const class TourBand * const this /* r27 */) { // Local variables class DataArray * a; // r31 int i; // r30 class DataArray * r; // r29 int j; // r28 // References // -> const char * gNullStr; // -> class DataArray * sWorldConfig; // -> static class Symbol region_achievements; } // Range: 0x8019F5F0 -> 0x8019F5F8 unsigned char TourBand::IsIronBladder() {} // Range: 0x8019F5F8 -> 0x8019F604 void TourBand::ResetIronBladder() {} // Range: 0x8019F604 -> 0x8019F610 void TourBand::FailIronBladder() {} static class Symbol buzz; // size: 0x4, address: 0x80A4D240 static class Symbol venue_diff; // size: 0x4, address: 0x80A4D248 // Range: 0x8019F610 -> 0x8019F7B8 int TourBand::BuzzBase(const class TourBand * const this /* r28 */, const class TourWorldEvent * e /* r29 */) { // Local variables class Symbol venue; // r1+0x20 class DataArray * a; // r31 int base_players; // r30 class vector users; // r1+0x24 class BandUser * const * u; // r29 // References // -> class DataArray * sWorldConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> static class Symbol venue_diff; // -> static class Symbol buzz; } static class Symbol buzz; // size: 0x4, address: 0x80A4D250 static class Symbol win_modifiers; // size: 0x4, address: 0x80A4D258 static class Symbol stars; // size: 0x4, address: 0x80A4D260 static class Symbol event_replayed; // size: 0x4, address: 0x80A4D268 static class Symbol staff; // size: 0x4, address: 0x80A4D270 // Range: 0x8019F7B8 -> 0x8019FCC0 int TourBand::BuzzChangeSong(const class TourBand * const this /* r24 */, const class TourWorldEvent * e /* r25 */, int num_stars /* r26 */) { // Local variables float modifier; // f31 class DataArray * buzz_cfg; // r29 class DataArray * modifiers; // r28 int i; // r27 class Symbol mod_type; // r1+0x20 class DataArray * star_range; // r22 class DataArrayPtr args; // r1+0x58 class DataArrayPtr args; // r1+0x50 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol staff; // -> static class Symbol event_replayed; // -> static class Symbol stars; // -> static class Symbol win_modifiers; // -> class DataArray * sWorldConfig; // -> static class Symbol buzz; } class _List_node : public _List_node_base { // total size: 0x14 public: struct ChallengePrereq _M_data; // offset 0x8, size 0xC }; // Range: 0x8019FCC0 -> 0x8019FCD8 int TourBand::Buzz() {} // Range: 0x8019FCD8 -> 0x8019FCE0 int TourBand::Fans() {} // Range: 0x8019FCE0 -> 0x8019FCF8 int TourBand::FansChange() {} static class Symbol tour_band_fans_gained; // size: 0x4, address: 0x80A4D278 static class Symbol tour_band_fans_lost; // size: 0x4, address: 0x80A4D280 static class Symbol tour_band_fans_cap; // size: 0x4, address: 0x80A4D288 static class Symbol tour_band_fans_maxcap; // size: 0x4, address: 0x80A4D290 static class Symbol tour_band_fans_nochange; // size: 0x4, address: 0x80A4D298 // Range: 0x8019FCF8 -> 0x8019FE8C class Symbol TourBand::FansUpdateToken() { // Local variables class Symbol token; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> static class Symbol tour_band_fans_nochange; // -> static class Symbol tour_band_fans_maxcap; // -> static class Symbol tour_band_fans_cap; // -> static class Symbol tour_band_fans_lost; // -> static class Symbol tour_band_fans_gained; } // Range: 0x8019FE8C -> 0x8019FF3C class Sequence * TourBand::FansUpdateSfx(class ObjectDir * dir /* r6 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; } // Range: 0x8019FF3C -> 0x801A0000 int TourBand::FansLostOnFail(const class TourBand * const this /* r29 */) { // Local variables class TourWorldEvent * e; // r31 int new_buzz; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol buzz; // size: 0x4, address: 0x80A4D2A0 static class Symbol caps; // size: 0x4, address: 0x80A4D2A8 static class Symbol cap; // size: 0x4, address: 0x80A4D2B0 // Range: 0x801A0000 -> 0x801A00FC int TourBand::BuzzCap(enum Difficulty diff /* r30 */) { // References // -> class DataArray * sWorldConfig; // -> static class Symbol cap; // -> static class Symbol caps; // -> static class Symbol buzz; } static class Symbol buzz; // size: 0x4, address: 0x80A4D2B8 static class Symbol buzz_achievement; // size: 0x4, address: 0x80A4D2C0 // Range: 0x801A00FC -> 0x801A01B0 int TourBand::BuzzAchievement() { // References // -> class DataArray * sWorldConfig; // -> static class Symbol buzz_achievement; // -> static class Symbol buzz; } // Range: 0x801A01B0 -> 0x801A02AC void TourBand::TownMaxPlayersDiff(const class TourBand * const this /* r26 */, class Symbol & town /* r27 */, int & players /* r28 */, enum Difficulty & diff /* r29 */) { // Local variables enum Difficulty v_diff; // r1+0x18 int v_players; // r1+0x14 const class TourTown * t; // r0 class TourVenue * const * v; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A02AC -> 0x801A03F4 void TourBand::VenueMaxPlayersDiff(const class TourBand * const this /* r27 */, class Symbol & venue /* r28 */, int & players /* r29 */, enum Difficulty & diff /* r30 */) { // Local variables enum Difficulty e_diff; // r1+0x1C int e_players; // r1+0x18 class vector events; // r1+0x20 const class TourTown * t; // r31 class TourWorldEvent * * e; // r31 } // Range: 0x801A03F4 -> 0x801A0474 void TourBand::AdjustMaxPlayerDiff(int new_players /* r1+0x8 */) {} // Range: 0x801A0474 -> 0x801A04D8 void TourBand::WorldEventMaxPlayersDiff(int & players /* r30 */, enum Difficulty & diff /* r31 */) { // Local variables const struct WorldState * f; // r0 } // Range: 0x801A04D8 -> 0x801A0578 class Symbol TourBand::AvailableItem(const class TourBand * const this /* r29 */, class TourWorldEvent * e /* r30 */) { // Local variables enum TourStatus s; // r0 // References // -> const char * gNullStr; } // Range: 0x801A0578 -> 0x801A0660 char * TourBand::TownIcon(const class TourBand * const this /* r26 */, class Symbol & town /* r27 */) { // Local variables const class TourTown * t; // r0 const char * icon; // r29 const char * botb_icon; // r0 class TourVenue * const * v; // r28 const char * venue_icon; // r3 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A0660 -> 0x801A08A8 char * TourBand::VenueIcon(const class TourBand * const this /* r26 */, class Symbol & venue /* r27 */) { // Local variables class vector events; // r1+0x50 const class TourTown * t; // r30 const char * icon; // r31 const char * botb_icon; // r0 class vector e_states; // r1+0x44 enum TourStatus venue_status; // r0 class TourWorldEvent * * e; // r27 const char * event_icon; // r30 // References // -> const char * gNullStr; } // Range: 0x801A08A8 -> 0x801A0928 char * TourBand::WorldEventIcon(const class TourBand * const this /* r30 */, class TourWorldEvent * e /* r31 */) { // Local variables class Symbol item; // r1+0x10 // References // -> const char * gNullStr; } static class Symbol items; // size: 0x4, address: 0x80A4D2C8 static class Symbol icon; // size: 0x4, address: 0x80A4D2D0 // Range: 0x801A0928 -> 0x801A0A40 char * TourBand::ItemToStr(class Symbol & item /* r30 */) { // Local variables class DataArray * item_array; // r0 class DataArray * i; // r0 // References // -> class Debug TheDebug; // -> class DataArray * sWorldConfig; // -> static class Symbol icon; // -> static class Symbol items; // -> const char * gNullStr; } static class Symbol botb_icon; // size: 0x4, address: 0x80A4D2D8 // Range: 0x801A0A40 -> 0x801A0AB4 char * TourBand::BotbIcon() { // References // -> class DataArray * sWorldConfig; // -> static class Symbol botb_icon; } static class Symbol items; // size: 0x4, address: 0x80A4D2E0 // Range: 0x801A0AB4 -> 0x801A0D14 class TourWorldEvent * TourBand::NextItemEvent(const class TourBand * const this /* r29 */) { // Local variables class DataArray * item_progression; // r31 int i; // r30 class Symbol item; // r1+0x30 const class vector & towns; // r0 class vector venues; // r1+0x40 class vector events; // r1+0x34 class TourTown * const * t; // r26 const class vector & venues; // r0 class TourVenue * const * v; // r25 class TourWorldEvent * * e; // r24 // References // -> class Debug TheDebug; // -> class DataArray * sWorldConfig; // -> static class Symbol items; } // Range: 0x801A0D14 -> 0x801A0DD4 class Symbol TourBand::NextItemTown(const class TourBand * const this /* r30 */) { // Local variables class TourWorldEvent * event; // r31 // References // -> const char * gNullStr; } static class Symbol buzz; // size: 0x4, address: 0x80A4D2E8 static class Symbol lose_modifiers; // size: 0x4, address: 0x80A4D2F0 // Range: 0x801A0DD4 -> 0x801A0FBC int TourBand::BuzzLosePenalty(const class TourBand * const this /* r28 */) { // Local variables class TourWorldEvent * world_event; // r29 int base_buzz_change; // r0 class Symbol venue; // r1+0x1C class DataArray * l; // r29 float modifier; // f2 // References // -> class DataArray * sWorldConfig; // -> const char * gNullStr; // -> static class Symbol lose_modifiers; // -> static class Symbol buzz; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A0FBC -> 0x801A1010 int TourBand::NewBuzz(int old_buzz /* r31 */) {} static class Symbol none; // size: 0x4, address: 0x80A4D2F8 // Range: 0x801A1010 -> 0x801A1090 class Symbol TourBand::Vehicle(const class TourBand * const this /* r31 */) { // Local variables int level; // r4 // References // -> class DataArray * sVehicles; // -> static class Symbol none; } // Range: 0x801A1090 -> 0x801A1128 int TourBand::VehicleLevel(const class TourBand * const this /* r28 */) { // Local variables int level; // r31 const class DataArray * vehicles; // r30 int i; // r29 // References // -> class DataArray * sVehicles; } // Range: 0x801A1128 -> 0x801A1130 class TourMoment * TourBand::Moment() {} class Interpolator { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 protected: float mY0; // offset 0x4, size 0x4 float mY1; // offset 0x8, size 0x4 float mX0; // offset 0xC, size 0x4 float mX1; // offset 0x10, size 0x4 }; class LinearInterpolator : public Interpolator { // total size: 0x1C protected: float mSlope; // offset 0x14, size 0x4 float mB; // offset 0x18, size 0x4 }; // Range: 0x801A1130 -> 0x801A134C int TourBand::BuzzToFans(int buzz /* r27 */) { // Local variables float min_fans; // f31 float max_fans; // f30 float min_buzz; // f29 float max_buzz; // f28 class DataArray * f; // r29 int i; // r28 float upper_buzz; // f27 float upper_fans; // f1 class LinearInterpolator interp; // r1+0xC // References // -> class DataArray * sWorldConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A138C -> 0x801A13D8 class Symbol TourBand::VenueToken() {} // Range: 0x801A13D8 -> 0x801A1598 class Symbol TourBand::FirstLockedVenue(const class TourBand * const this /* r29 */) { // Local variables const class TourTown * t; // r31 class vector e_states; // r1+0x40 class TourVenue * const * v; // r30 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A1598 -> 0x801A1630 unsigned char TourBand::CanLeaveHometown() { // Local variables class vector towns; // r1+0xC } // Range: 0x801A1630 -> 0x801A17E8 unsigned char TourBand::CanLeaveHomeVenue(const class TourBand * const this /* r28 */) { // Local variables class vector e_states; // r1+0x34 const class TourTown * h; // r31 int num_playable; // r30 class TourVenue * const * v; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A17E8 -> 0x801A1A38 class TourWorldEvent * TourBand::FindWorldEvent(const class TourBand * const this /* r28 */, class Symbol & name /* r31 */) { // Local variables class vector events; // r1+0x24 const class TourTown * t; // r30 class TourWorldEvent * const * e; // r30 const class vector & moments; // r0 class TourMoment * const * m; // r29 class TourWorldEvent * e; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801A1A38 -> 0x801A1B30 class Symbol TourBand::Song(const class TourBand * const this /* r30 */) { // Local variables class TourEvent * e; // r0 int num_complete; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol win_item; // size: 0x4, address: 0x80A4D300 // Range: 0x801A1B30 -> 0x801A1C98 unsigned char TourBand::IsWinning(const class TourBand * const this /* r29 */) { // Local variables class TourWorldEvent * e; // r30 // References // -> class DataArray * sWorldConfig; // -> static class Symbol win_item; // -> enum TourEventType sEventType; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A1C98 -> 0x801A1CDC class PersistentGameData * TourBand::GetPersistentGameData() { // Local variables class TourEvent * e; // r0 // References // -> class PersistentGameData sPersistentGameData; } // Range: 0x801A1CDC -> 0x801A1D4C void TourBand::SetBotbRivalBandData(class TourBand * const this /* r29 */, int score /* r30 */, int stars /* r31 */) {} // Range: 0x801A1D4C -> 0x801A1D98 char * TourBand::GetBotbRivalBandName(const class TourBand * const this /* r31 */) { // Local variables class TourEvent * e; // r0 // References // -> const char * gNullStr; } // Range: 0x801A1D98 -> 0x801A1DF0 int TourBand::GetBotbRivalBandScore(const class TourBand * const this /* r31 */) { // Local variables class TourEvent * e; // r0 } // Range: 0x801A1DF0 -> 0x801A1E3C int TourBand::GetBotbRivalBandStars(const class TourBand * const this /* r31 */) { // Local variables class TourEvent * e; // r0 } // Range: 0x801A1E3C -> 0x801A1E44 char * TourBand::GetBotbScoreString() {} // Range: 0x801A1E44 -> 0x801A1EA0 unsigned char TourBand::GetBotbBattleIsBrandNew(const class TourBand * const this /* r31 */) { // Local variables class TourEvent * e; // r0 } // Range: 0x801A1EA0 -> 0x801A1EB0 class String TourBand::GetBandIcon() {} // Range: 0x801A1EB0 -> 0x801A1F80 class String TourBand::GetBotbRivalBandIcon() { // Local variables class TourEvent * e; // r0 // References // -> class Debug TheDebug; // -> class String sDefaultLogo; // -> class String sRivalLogo; } // Range: 0x801A1F80 -> 0x801A20C0 class String TourBand::GetBotbRivalBandIconPath() { // Local variables class TourEvent * e; // r0 // References // -> class Debug TheDebug; // -> class String sDefaultLogo; // -> class String sRivalLogo; } // Range: 0x801A20C0 -> 0x801A2234 float TourBand::GetBotbTargetStartAccumScore(const class TourBand * const this /* r29 */) { // Local variables class TourEvent * e; // r0 // References // -> class Debug TheDebug; } // Range: 0x801A2234 -> 0x801A23A8 float TourBand::GetBotbTargetEndAccumScore(const class TourBand * const this /* r29 */) { // Local variables class TourEvent * e; // r0 // References // -> class Debug TheDebug; } // Range: 0x801A23A8 -> 0x801A2404 unsigned char TourBand::GetNoOverdrive(const class TourBand * const this /* r31 */) { // Local variables class TourEvent * e; // r0 } // Range: 0x801A2404 -> 0x801A2438 unsigned char TourBand::GetNoCrowdMeter() { // Local variables class TourEvent * e; // r0 } // Range: 0x801A2438 -> 0x801A246C unsigned char TourBand::GetNoBackFromBrink() { // Local variables class TourEvent * e; // r0 } // Range: 0x801A246C -> 0x801A24A0 enum WinMetric TourBand::GetWinMetric() { // Local variables class TourEvent * e; // r0 } // Range: 0x801A24A0 -> 0x801A260C class Symbol TourBand::RequiredPart(const class TourBand * const this /* r29 */) { // Local variables class Symbol part; // r1+0x20 class vector users; // r1+0x24 int num_guitarists; // r31 class BandUser * * u; // r30 class TourEvent * e; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801A260C -> 0x801A2670 enum Difficulty TourBand::MinDifficultySelect() { // Local variables class TourEvent * e; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A2670 -> 0x801A2678 class Symbol TourBand::Hometown() {} // Range: 0x801A2678 -> 0x801A2680 class Symbol TourBand::Town() {} // Range: 0x801A2680 -> 0x801A2688 class Symbol TourBand::Venue() {} // Range: 0x801A2688 -> 0x801A26AC class TourEvent * TourBand::CurEvent() { // References // -> enum TourEventType sEventType; } // Range: 0x801A26AC -> 0x801A26EC class TourWorldEvent * TourBand::CurWorldEvent() { // References // -> const char * gNullStr; } // Range: 0x801A26EC -> 0x801A2730 class TourChallengeEvent * TourBand::CurChallengeEvent() { // References // -> const char * gNullStr; } static class DebugWarner _dw; // size: 0x100, address: 0x80979F60 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801A2730 -> 0x801A293C enum TourStatus TourBand::ChallengeStatus(const class TourBand * const this /* r29 */, class TourChallengeEvent * e /* r24 */, class list * states /* r30 */) { // Local variables const class list & prereqs; // r31 struct _List_iterator p; // r1+0x5C unsigned char all; // r0 struct _List_iterator s; // r1+0x58 unsigned char prereq_ok; // r24 class Symbol event_name; // r1+0x54 // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> unsigned char sUnlockAll; } static class Symbol band; // size: 0x4, address: 0x80A4D308 // Range: 0x801A293C -> 0x801A2D24 int TourBand::NumNewChallenges(const class TourBand * const this /* r27 */, class TourChallengeEvent * e /* r28 */) { // Local variables class list new_states; // r1+0x70 class vector & songs; // r29 int i; // r26 struct SongState ss; // r1+0x68 int new_num; // r26 class vector tier; // r1+0x78 int i; // r29 class TourChallengeEvent * * c; // r30 // References // -> static class Symbol band; // -> const char * gNullStr; // -> struct [anonymous] __RTTI__PQ214ChallengeState9SongState; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14ChallengeState>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ214ChallengeState9SongState; // size: 0x8, address: 0x8089ECD0 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node<14ChallengeState>; // size: 0x8, address: 0x8089ED08 // Range: 0x801A2D24 -> 0x801A2D4C int TourBand::ChallengeMaxPlayers() {} // Range: 0x801A2D4C -> 0x801A2D74 enum Difficulty TourBand::ChallengeMaxDiff() {} // Range: 0x801A2D74 -> 0x801A2E18 int TourBand::ChallengeStars(class TourChallengeEvent * e /* r28 */) { // Local variables const class vector & songs; // r0 int total; // r30 int i; // r29 const struct SongState * s; // r0 } // Range: 0x801A2E18 -> 0x801A2E74 unsigned char TourBand::IsChallengeSongPlayed(class Symbol & song /* r30 */) { // Local variables const class vector & songs; // r0 } // Range: 0x801A2E74 -> 0x801A2E7C class list & TourBand::NewChallengeUnlocks() {} // Range: 0x801A2E7C -> 0x801A2ED0 int TourBand::NumNewChallengeUnlocks() {} static class Symbol tour_challenge_min_players; // size: 0x4, address: 0x80A4D310 static class Symbol tour_challenge_req_instruments; // size: 0x4, address: 0x80A4D318 // Range: 0x801A2ED0 -> 0x801A33D0 unsigned char TourBand::ChallengeEventReqs(const class TourBand * const this /* r28 */, const class TourChallengeEvent * e /* r29 */, class vector * reqs /* r30 */) { // Local variables class vector users; // r1+0x4C int min_players; // r31 unsigned char met; // r25 struct TourRequirement r; // r1+0x80 class Symbol track; // r1+0x48 enum TrackType track_type; // r25 unsigned char met; // r26 class BandUser * * u; // r27 struct TourRequirement r; // r1+0x58 // References // -> static class Symbol tour_challenge_req_instruments; // -> static class Symbol tour_challenge_min_players; // -> const char * gNullStr; } // Range: 0x801A33D0 -> 0x801A34E4 unsigned char TourBand::IsChallengeIncomplete(const class TourBand * const this /* r26 */, class TourChallengeEvent * e /* r27 */) { // Local variables unsigned char played_any; // r30 unsigned char played_all; // r29 int num_songs; // r0 int i; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A34E4 -> 0x801A3568 unsigned char TourBand::IsChallengeImpossible(const class TourBand * const this /* r31 */, class TourChallengeEvent * e /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A3568 -> 0x801A3570 enum ChallengeFocus TourBand::GetChallengeFocus() {} // Range: 0x801A3570 -> 0x801A3608 unsigned char TourBand::HasUnlockedImpossibleChallenge(const class TourBand * const this /* r31 */) { // Local variables struct _List_iterator n; // r1+0x1C } // Range: 0x801A3608 -> 0x801A3658 struct ChallengeState & TourBand::FindChallengeState(const class TourBand * const this /* r30 */, class list * states /* r31 */) {} // Range: 0x801A3658 -> 0x801A3670 unsigned char __eq() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801A3670 -> 0x801A38B4 struct ChallengeState & TourBand::FindChallengeState(class Symbol & event_name /* r28 */, class list * states /* r30 */) { // Local variables struct _List_iterator c; // r1+0x3C struct ChallengeState cs; // r1+0x40 // References // -> struct [anonymous] __RTTI__PQ214ChallengeState9SongState; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14ChallengeState>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; } // Range: 0x801A38B4 -> 0x801A390C unsigned char TourBand::IsChallengeCompleted(const class TourBand * const this /* r30 */, class list * states /* r31 */) { // Local variables class TourChallengeEvent * e; // r0 } // Range: 0x801A390C -> 0x801A3A00 unsigned char TourBand::IsChallengeCompleted(const class TourBand * const this /* r27 */, class TourChallengeEvent * e /* r28 */, class list * states /* r29 */) { // Local variables int num_songs; // r0 int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol tour_band_outfit; // size: 0x4, address: 0x80A4D320 static class Symbol mic; // size: 0x4, address: 0x80A4D328 static class Symbol vocals; // size: 0x4, address: 0x80A4D330 static class Symbol tour_band_outfit; // size: 0x4, address: 0x80A4D338 static class Symbol win_item; // size: 0x4, address: 0x80A4D340 static class Symbol win_instruments; // size: 0x4, address: 0x80A4D348 static class Symbol vocals; // size: 0x4, address: 0x80A4D350 static class Symbol mic; // size: 0x4, address: 0x80A4D358 static class Symbol none; // size: 0x4, address: 0x80A4D360 static class Symbol tour_band_win_instruments; // size: 0x4, address: 0x80A4D368 // Range: 0x801A3A00 -> 0x801A41E8 void TourBand::CompleteEvent(class TourBand * const this /* r25 */) { // Local variables class TourEvent * e; // r29 class vector users; // r1+0x90 const class vector & outfits; // r0 const struct EventOutfit * o; // r28 class BandUser * * u; // r27 class TourCharLocal * tc; // r26 const class vector & insts; // r0 const struct EventInstrument * i; // r26 class BandUser * * u; // r27 class TourCharLocal * tc; // r28 class Symbol track; // r1+0x8C enum Difficulty min_diff; // r24 class BandUser * * m; // r27 class BandUser * u; // r28 const class TourTown * town; // r0 class TourWorldEvent * world_event; // r24 class DataArray * instruments; // r26 class BandUser * * m; // r27 class BandUser * user; // r24 class TourCharLocal * tc; // r28 class Symbol track; // r1+0x88 class DataArray * i; // r24 class Symbol cat; // r1+0x84 // References // -> static class Symbol tour_band_win_instruments; // -> static class Symbol none; // -> static class Symbol mic; // -> static class Symbol vocals; // -> static class Symbol win_instruments; // -> class DataArray * sWorldConfig; // -> static class Symbol win_item; // -> enum TourEventType sEventType; // -> static class Symbol tour_band_outfit; // -> static class Symbol vocals; // -> static class Symbol mic; // -> static class Symbol tour_band_outfit; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol botb_result_streak; // size: 0x4, address: 0x80A4D370 static class Symbol botb_result_score; // size: 0x4, address: 0x80A4D378 static class Symbol botb_result_mult; // size: 0x4, address: 0x80A4D380 // Range: 0x801A41E8 -> 0x801A4578 void TourBand::CompleteSong(class TourBand * const this /* r23 */, int stars /* r24 */, int score /* r25 */, int accumulated_score /* r26 */, int longest_streak /* r27 */, float total_stars /* f31 */, unsigned char cheat /* r28 */) { // Local variables class TourEvent * e; // r29 int val; // r31 enum WinMetric m; // r21 // References // -> class RockCentralGateway RockCentral; // -> class Net TheNet; // -> static class Symbol botb_result_mult; // -> static class Symbol botb_result_score; // -> static class Symbol botb_result_streak; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__26TourChallengeCompletePanel; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A4578 -> 0x801A4770 void TourBand::UnlockNewChallengeSongs(class TourBand * const this /* r28 */) { // Local variables struct _List_iterator n; // r1+0x2C class TourChallengeEvent * new_event; // r30 int i; // r29 class Symbol song; // r1+0x28 // References // -> class ProfileMgr TheProfileMgr; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> enum TourEventType sEventType; } // Range: 0x801A4770 -> 0x801A4838 void TourBand::AddMoney(int money /* r30 */) { // Local variables class vector members; // r1+0xC class BandUser * * m; // r31 class TourCharLocal * c; // r0 // References // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x801A4838 -> 0x801A48F4 struct WorldState * TourBand::FindWorldState(const class TourBand * const this /* r30 */, const class TourWorldEvent * e /* r31 */) { // Local variables class Symbol town; // r1+0x24 class Symbol venue; // r1+0x20 // References // -> const char * gNullStr; } // Range: 0x801A48F4 -> 0x801A4A00 struct WorldState * TourBand::FindWorldState(const class TourBand * const this /* r31 */) { // Local variables struct WorldState search; // r1+0x14 const struct WorldState * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol torso; // size: 0x4, address: 0x80A4D388 static class Symbol male; // size: 0x4, address: 0x80A4D390 static class Symbol tour_band_city_shirt; // size: 0x4, address: 0x80A4D398 // Range: 0x801A4A00 -> 0x801A4C20 void TourBand::AwardTownShirt(class TourBand * const this /* r27 */, const struct TownUnlock & u /* r28 */) { // Local variables class vector members; // r1+0x28 class BandUser * * m; // r30 class BandUser * user; // r26 class TourCharLocal * tc; // r29 class Symbol shirt; // r1+0x24 // References // -> static class Symbol tour_band_city_shirt; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> static class Symbol male; // -> static class Symbol torso; } static class Symbol tour_band_multiple_char; // size: 0x4, address: 0x80A4D3A0 // Range: 0x801A4C20 -> 0x801A4C9C void TourBand::AddCharUnlock(class TourBand * const this /* r31 */) { // References // -> static class Symbol tour_band_multiple_char; // -> const char * gNullStr; } // Range: 0x801A4C9C -> 0x801A4D5C int TourBand::TotalStars(const class TourBand * const this /* r29 */, unsigned char cap /* r28 */) { // Local variables const int * end_star; // r30 int total; // r31 const int * sit; // r29 } // Range: 0x801A4D5C -> 0x801A4F70 unsigned char TourBand::IsLastEvent(const class TourBand * const this /* r27 */) { // Local variables const class TourEvent * last_event; // r31 class vector venues; // r1+0x2C class vector events; // r1+0x20 const class TourTown * t; // r30 class TourVenue * const * v; // r29 class TourWorldEvent * * e; // r28 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801A4F70 -> 0x801A4FAC unsigned char TourBand::CheckReqs() { // Local variables const struct TourRequirement * r; // r3 } // Range: 0x801A4FAC -> 0x801A5134 unsigned char TourBand::ItemReq(class Symbol & item /* r30 */, class vector * reqs /* r28 */) { // Local variables unsigned char met; // r29 struct TourRequirement r; // r1+0x20 // References // -> const char * gNullStr; } static class Symbol tour_met_fans; // size: 0x4, address: 0x80A4D3A8 static class Symbol tour_more_fans; // size: 0x4, address: 0x80A4D3B0 // Range: 0x801A5134 -> 0x801A535C unsigned char TourBand::BuzzReq(const class TourBand * const this /* r28 */, int buzz_required /* r29 */, class vector * reqs /* r30 */) { // Local variables unsigned char met; // r31 struct TourRequirement r; // r1+0x18 int fans_required; // r29 // References // -> static class Symbol tour_more_fans; // -> static class Symbol tour_met_fans; // -> const char * gNullStr; } static class Symbol tour_more_stars; // size: 0x4, address: 0x80A4D3B8 // Range: 0x801A535C -> 0x801A553C unsigned char TourBand::WorldStarsReq(int stars_required /* r28 */, class vector * reqs /* r29 */, int world_stars /* r31 */) { // Local variables unsigned char met; // r30 struct TourRequirement r; // r1+0x18 // References // -> static class Symbol tour_more_stars; // -> const char * gNullStr; } // Range: 0x801A553C -> 0x801A55F4 void TourBand::ClearStandIns(class TourBand * const this /* r27 */) { // Local variables int i; // r30 class TourCharRemote * tcr; // r29 int i; // r28 // References // -> class CharCache * TheCharCache; } // Range: 0x801A55F4 -> 0x801A56A0 class BinStream & __ls(class BinStream & s /* r30 */, const struct WorldState & f /* r31 */) {} // Range: 0x801A56A0 -> 0x801A5770 class BinStream & __rs(class BinStream & s /* r29 */, struct WorldState & f /* r30 */) { // Local variables int prev_star_crap; // r1+0xC int max_diff; // r1+0x8 // References // -> int sVer; } // Range: 0x801A5770 -> 0x801A57B8 class BinStream & __ls(class BinStream & s /* r30 */, const struct SeenVenue & vs /* r31 */) {} // Range: 0x801A57B8 -> 0x801A5800 class BinStream & __rs(class BinStream & s /* r30 */, struct SeenVenue & vs /* r31 */) {} class Symbol mName; // size: 0x4, address: 0x80A4D3BC class vector : protected _Vector_base { // total size: 0xC }; class vector mSongs; // size: 0xC, address: 0x8097A06C // Range: 0x801A5800 -> 0x801A58D4 class BinStream & __ls(class BinStream & s /* r29 */, const struct ChallengeState & cs /* r30 */) { // Local variables const struct SongState * sit; // r31 } // Range: 0x801A58D4 -> 0x801A5B40 class BinStream & __rs(class BinStream & s /* r30 */, struct ChallengeState & cs /* r31 */) { // Local variables int diff; // r1+0x34 unsigned int size; // r1+0x30 int i; // r29 struct SongState ss; // r1+0x38 class vector crap; // r1+0x40 int old_accum_score; // r1+0x2C int crap; // r1+0x28 // References // -> const char * gNullStr; // -> int sVer; } // Range: 0x801A5B40 -> 0x801A5B8C class BinStream & __ls(class BinStream & s /* r30 */, const struct OpportunityLoc & f /* r31 */) {} // Range: 0x801A5B8C -> 0x801A5BD8 class BinStream & __rs(class BinStream & s /* r30 */, struct OpportunityLoc & f /* r31 */) {} // Range: 0x801A5BD8 -> 0x801A5D98 void TourBand::SaveCommon(const class TourBand * const this /* r29 */, class BinStream & s /* r30 */, unsigned int dirtyMask /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; static class Symbol hints; // size: 0x4, address: 0x80A4D3C4 // Range: 0x801A5D98 -> 0x801A6174 void TourBand::LoadCommon(class TourBand * const this /* r28 */, class BinStream & s /* r29 */, unsigned int dirtyMask /* r30 */) { // Local variables class Symbol restore_crap; // r1+0x48 class vector unlocked_venues_crap; // r1+0x58 int diff; // r1+0x44 class vector hints_seen_crap; // r1+0x4C class Symbol unlocked_item_crap; // r1+0x40 int bs; // r1+0x3C // References // -> class DataArray * sChallengeConfig; // -> class DataArray * sWorldConfig; // -> static class Symbol hints; // -> int sVer; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801A6174 -> 0x801A6208 void TourBand::SaveHints(class BinStream & s /* r29 */, const class vector & hints /* r30 */) { // Local variables class TourHint * const * h; // r31 } // Range: 0x801A6208 -> 0x801A6344 void TourBand::LoadHints(class BinStream & s /* r27 */, class vector & hints /* r28 */, class DataArray * cfg /* r29 */) { // Local variables int num_hints; // r1+0x20 int i; // r30 } // Range: 0x801A6344 -> 0x801A6448 class TourWorldEvent * TourBand::FirstEvent(const class TourBand * const this /* r28 */, class Symbol & venue /* r29 */) { // Local variables class vector events; // r1+0x18 const class TourTown * t; // r30 } // Range: 0x801A6448 -> 0x801A65E8 void TourBand::GetRoster(const class TourBand * const this /* r29 */, class vector & members /* r30 */) { // Local variables int i; // r31 } // Range: 0x801A65E8 -> 0x801A6684 class DataNode TourBand::OnTownFame(class TourBand * const this /* r30 */, class DataArray * a /* r31 */) { // Local variables class Symbol town; // r1+0x18 } // Range: 0x801A6684 -> 0x801A6724 class DataNode TourBand::OnTotalTownFame(class TourBand * const this /* r30 */, class DataArray * a /* r31 */) { // Local variables class Symbol town; // r1+0x18 } // Range: 0x801A6724 -> 0x801A682C class DataNode TourBand::OnWorldEventStatus(class TourBand * const this /* r29 */, class DataArray * a /* r31 */) { // Local variables class TourWorldEvent * e; // r30 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14TourWorldEvent; } // Range: 0x801A682C -> 0x801A6938 class DataNode TourBand::OnVenueStatus(class TourBand * const this /* r28 */, class DataArray * a /* r29 */) { // Local variables class vector e_states; // r1+0x28 const class TourTown * t; // r30 } // Range: 0x801A6938 -> 0x801A6AA0 class DataNode TourBand::OnTownStatus(class TourBand * const this /* r31 */) { // Local variables class vector vs; // r1+0x34 } static class Symbol _s; // size: 0x4, address: 0x80A4D3CC static class Symbol _s; // size: 0x4, address: 0x80A4D3D4 static class Symbol _s; // size: 0x4, address: 0x80A4D3DC static class Symbol _s; // size: 0x4, address: 0x80A4D3E4 static class Symbol _s; // size: 0x4, address: 0x80A4D3EC static class Symbol _s; // size: 0x4, address: 0x80A4D3F4 static class Symbol _s; // size: 0x4, address: 0x80A4D3FC static class Symbol _s; // size: 0x4, address: 0x80A4D404 static class Symbol _s; // size: 0x4, address: 0x80A4D40C static class Symbol _s; // size: 0x4, address: 0x80A4D414 static class Symbol _s; // size: 0x4, address: 0x80A4D41C static class Symbol _s; // size: 0x4, address: 0x80A4D424 static class Symbol _s; // size: 0x4, address: 0x80A4D42C static class Symbol _s; // size: 0x4, address: 0x80A4D434 static class Symbol _s; // size: 0x4, address: 0x80A4D43C static class Symbol _s; // size: 0x4, address: 0x80A4D444 static class Symbol _s; // size: 0x4, address: 0x80A4D44C static class Symbol _s; // size: 0x4, address: 0x80A4D454 static class Symbol _s; // size: 0x4, address: 0x80A4D45C static class Symbol _s; // size: 0x4, address: 0x80A4D464 static class Symbol _s; // size: 0x4, address: 0x80A4D46C static class Symbol _s; // size: 0x4, address: 0x80A4D474 static class Symbol _s; // size: 0x4, address: 0x80A4D47C static class Symbol _s; // size: 0x4, address: 0x80A4D484 static class Symbol _s; // size: 0x4, address: 0x80A4D48C static class Symbol _s; // size: 0x4, address: 0x80A4D494 static class Symbol _s; // size: 0x4, address: 0x80A4D49C static class Symbol _s; // size: 0x4, address: 0x80A4D4A4 static class Symbol _s; // size: 0x4, address: 0x80A4D4AC static class Symbol _s; // size: 0x4, address: 0x80A4D4B4 static class Symbol _s; // size: 0x4, address: 0x80A4D4BC static class Symbol _s; // size: 0x4, address: 0x80A4D4C4 static class Symbol _s; // size: 0x4, address: 0x80A4D4CC static class Symbol _s; // size: 0x4, address: 0x80A4D4D4 static class Symbol _s; // size: 0x4, address: 0x80A4D4DC static class Symbol _s; // size: 0x4, address: 0x80A4D4E4 static class Symbol _s; // size: 0x4, address: 0x80A4D4EC static class Symbol _s; // size: 0x4, address: 0x80A4D4F4 static class Symbol _s; // size: 0x4, address: 0x80A4D4FC static class Symbol _s; // size: 0x4, address: 0x80A4D504 static class Symbol _s; // size: 0x4, address: 0x80A4D50C static class Symbol _s; // size: 0x4, address: 0x80A4D514 static class Symbol _s; // size: 0x4, address: 0x80A4D51C static class Symbol _s; // size: 0x4, address: 0x80A4D524 static class Symbol _s; // size: 0x4, address: 0x80A4D52C static class Symbol _s; // size: 0x4, address: 0x80A4D534 static class Symbol _s; // size: 0x4, address: 0x80A4D53C static class Symbol _s; // size: 0x4, address: 0x80A4D544 static class Symbol _s; // size: 0x4, address: 0x80A4D54C static class Symbol _s; // size: 0x4, address: 0x80A4D554 static class Symbol _s; // size: 0x4, address: 0x80A4D55C static class Symbol _s; // size: 0x4, address: 0x80A4D564 static class Symbol _s; // size: 0x4, address: 0x80A4D56C static class Symbol _s; // size: 0x4, address: 0x80A4D574 static class Symbol _s; // size: 0x4, address: 0x80A4D57C static class Symbol _s; // size: 0x4, address: 0x80A4D584 static class Symbol _s; // size: 0x4, address: 0x80A4D58C static class Symbol _s; // size: 0x4, address: 0x80A4D594 static class Symbol _s; // size: 0x4, address: 0x80A4D59C static class Symbol _s; // size: 0x4, address: 0x80A4D5A4 static class Symbol _s; // size: 0x4, address: 0x80A4D5AC static class Symbol _s; // size: 0x4, address: 0x80A4D5B4 static class Symbol _s; // size: 0x4, address: 0x80A4D5BC static class Symbol _s; // size: 0x4, address: 0x80A4D5C4 static class Symbol _s; // size: 0x4, address: 0x80A4D5CC static class Symbol _s; // size: 0x4, address: 0x80A4D5D4 static class Symbol _s; // size: 0x4, address: 0x80A4D5DC static class Symbol _s; // size: 0x4, address: 0x80A4D5E4 static class Symbol _s; // size: 0x4, address: 0x80A4D5EC static class Symbol _s; // size: 0x4, address: 0x80A4D5F4 static class Symbol _s; // size: 0x4, address: 0x80A4D5FC static class Symbol _s; // size: 0x4, address: 0x80A4D604 static class Symbol _s; // size: 0x4, address: 0x80A4D60C static class Symbol _s; // size: 0x4, address: 0x80A4D614 static class Symbol _s; // size: 0x4, address: 0x80A4D61C static class Symbol _s; // size: 0x4, address: 0x80A4D624 // Range: 0x801A6AA0 -> 0x801A8B5C class DataNode TourBand::Handle(class TourBand * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x80 class MessageTimer _mt; // r1+0xD8 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode _n; // r1+0x90 class DataNode _n; // r1+0x88 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> const char * gNullStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> enum TourEventType sEventType; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__26TourChallengeCompletePanel; // size: 0x8, address: 0x8089F4A8 struct { // total size: 0x8 } __RTTI__9TourStaff; // size: 0x8, address: 0x8089F518 struct { // total size: 0x8 } __RTTI__14TourWorldEvent; // size: 0x8, address: 0x8089F550 struct { // total size: 0x8 } __RTTI__18TourChallengeEvent; // size: 0x8, address: 0x8089F588 struct { // total size: 0x8 } __RTTI__9TourEvent; // size: 0x8, address: 0x8089F5B0 struct { // total size: 0x1AC } __vt__8TourBand; // size: 0x1AC, address: 0x8089F680 struct { // total size: 0x8 } __RTTI__P10VenueState; // size: 0x8, address: 0x8089F9A8 struct { // total size: 0x8 } __RTTI__PP8TourHint; // size: 0x8, address: 0x8089F9C0 struct { // total size: 0x8 } __RTTI__P15TourRequirement; // size: 0x8, address: 0x8089F9E0 struct { // total size: 0x8 } __RTTI__PP14TourWorldEvent; // size: 0x8, address: 0x8089FA00 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node<14OpportunityLoc>; // size: 0x8, address: 0x8089FA50 struct { // total size: 0x8 } __RTTI__P9SeenVenue; // size: 0x8, address: 0x8089FA68 struct { // total size: 0x8 } __RTTI__P10WorldState; // size: 0x8, address: 0x8089FA80 // Range: 0x801A8B5C -> 0x801A8C18 static void __sinit_\TourBand_cpp() { // References // -> class vector mSongs; // -> class Symbol mName; // -> const char * gNullStr; // -> class PersistentGameData sPersistentGameData; // -> class String sRivalLogo; } class StlNodeAlloc { // total size: 0x1 }; struct SongState { // total size: 0x8 class Symbol mSong; // offset 0x0, size 0x4 int mStars; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct SongState * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct SongState * _M_start; // offset 0x0, size 0x4 struct SongState * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A8C18 -> 0x801A8D34 */ // Range: 0x801A8C18 -> 0x801A8C68 class TourWorldEvent * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14TourWorldEvent; } // Range: 0x801A8C68 -> 0x801A8CB8 class TourStaff * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9TourStaff; } // Range: 0x801A8CB8 -> 0x801A8D08 class TourChallengeEvent * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18TourChallengeEvent; } // Range: 0x801A8D08 -> 0x801A8D34 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A8D34 -> 0x801A8E0C */ // Range: 0x801A8D34 -> 0x801A8E0C enum Difficulty TourBand::MinDifficulty() { // Local variables class vector members; // r1+0x14 class BandUser * const * min_member; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A8E0C -> 0x801A8E10 */ // Range: 0x801A8E0C -> 0x801A8E10 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A8E10 -> 0x801A8FCC */ // Range: 0x801A8E10 -> 0x801A8E14 class StlNodeAlloc vector::get_allocator() {} // Range: 0x801A8E14 -> 0x801A8E18 class StlNodeAlloc vector::get_allocator() {} // Range: 0x801A8E18 -> 0x801A8ED4 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A8FCC -> 0x801A98CC */ // Range: 0x801A8FCC -> 0x801A9164 class TourStaff * const * find(class TourStaff * const * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801A9164 -> 0x801A92FC class TourHint * * find(class TourHint * * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801A92FC -> 0x801A939C struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x801A939C -> 0x801A94FC struct SeenVenue * find(const struct SeenVenue * __last /* r28 */, const struct SeenVenue & __val /* r29 */) {} // Range: 0x801A94FC -> 0x801A9694 struct SongState * find(const struct SongState * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801A9694 -> 0x801A9744 struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x801A9744 -> 0x801A98CC struct WorldState * find(const struct WorldState * __last /* r29 */, const struct WorldState & __val /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A98CC -> 0x801A9918 */ // Range: 0x801A98CC -> 0x801A9918 char * MakeString(const char * fmt /* r0 */, enum WinMetric t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A9918 -> 0x801A99A4 */ // Range: 0x801A9918 -> 0x801A99A4 class BandUser * * min_element(class BandUser * * __first /* r27 */, class BandUser * * __last /* r28 */) { // Local variables class BandUser * * __result; // r29 } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801A99A4 -> 0x801AA0EC */ // Range: 0x801A99A4 -> 0x801A9A2C class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct SeenVenue * t; // r31 } // Range: 0x801A9A2C -> 0x801A9AC8 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct WorldState * t; // r31 } // Range: 0x801A9AC8 -> 0x801A9B9C class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x801A9B9C -> 0x801A9C70 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x801A9C70 -> 0x801A9DA4 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct SeenVenue * t; // r29 // References // -> const char * gNullStr; } // Range: 0x801A9DA4 -> 0x801A9F3C class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct WorldState * t; // r29 // References // -> const char * gNullStr; } // Range: 0x801A9F3C -> 0x801AA04C class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x28 struct _List_iterator t; // r1+0x24 // References // -> const char * gNullStr; } // Range: 0x801AA04C -> 0x801AA0EC class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\band2\src\meta\TourBand.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801AA0EC -> 0x801AA184 */ // Range: 0x801AA0EC -> 0x801AA0F4 unsigned char TourBand::IsFinalized() {} // Range: 0x801AA0F4 -> 0x801AA13C void TourBand::Save() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AA13C -> 0x801AA184 void TourBand::Load() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801AA184 -> 0x801AA694 */ // Range: 0x801AA184 -> 0x801AA400 void list::resize(const struct ChallengeState & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x4C unsigned long __len; // r6 // References // -> struct [anonymous] __RTTI__PQ214ChallengeState9SongState; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14ChallengeState>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AA400 -> 0x801AA550 void list::resize(const struct OpportunityLoc & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14OpportunityLoc>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AA550 -> 0x801AA634 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x801AA634 -> 0x801AA694 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801AA694 -> 0x801AC67C */ // Range: 0x801AA694 -> 0x801AA704 void vector::_M_fill_insert() {} // Range: 0x801AA704 -> 0x801AA788 void vector::_M_fill_insert() {} // Range: 0x801AA788 -> 0x801AACC0 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct VenueState * __pos /* r25 */, const struct VenueState & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 struct VenueState * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__P10EventState; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10VenueState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AACC0 -> 0x801AAFA4 void vector::reserve(class vector * const this /* r25 */, unsigned long __n /* r26 */) { // Local variables struct VenueState * __tmp; // r26 // References // -> struct [anonymous] __RTTI__P10EventState; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10VenueState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AAFA4 -> 0x801AB190 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct EventState * __pos /* r26 */, const struct EventState & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct EventState * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10EventState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AB190 -> 0x801AB408 class vector & vector::__as(class vector * const this /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10EventState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AB408 -> 0x801AB594 void vector::reserve(class vector * const this /* r29 */, unsigned long __n /* r30 */) { // Local variables struct EventState * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10EventState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AB594 -> 0x801AB6CC void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourHint * * __pos /* r28 */, class TourHint * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourHint * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8TourHint; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AB6CC -> 0x801AB97C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct TourRequirement * __pos /* r26 */, const struct TourRequirement & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct TourRequirement * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P15TourRequirement; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AB97C -> 0x801ABB68 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct SongState * __pos /* r26 */, const struct SongState & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct SongState * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214ChallengeState9SongState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801ABB68 -> 0x801ABCA0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourWorldEvent * * __pos /* r28 */, class TourWorldEvent * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourWorldEvent * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14TourWorldEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801ABCA0 -> 0x801ABCCC void _Vector_base::_M_throw_length_error() {} // Range: 0x801ABCCC -> 0x801ABEB8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct SeenVenue * __pos /* r26 */, const struct SeenVenue & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct SeenVenue * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9SeenVenue; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801ABEB8 -> 0x801AC0A0 void vector::_M_fill_insert_aux() { // Local variables struct SeenVenue __x_copy; // r1+0x20 unsigned long __elems_after; // r9 struct SeenVenue * __old_finish; // r0 } // Range: 0x801AC0A0 -> 0x801AC354 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct WorldState * __pos /* r26 */, const struct WorldState & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct WorldState * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10WorldState; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801AC354 -> 0x801AC67C void vector::_M_fill_insert_aux() { // Local variables struct WorldState __x_copy; // r1+0x1C unsigned long __elems_after; // r9 struct WorldState * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\TourBandLocal.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801AC67C -> 0x801B3B04 */ // Range: 0x801AC67C -> 0x801AC718 void * MomentJukebox::MomentJukebox(class MomentJukebox * const this /* r30 */, const class TourWorld & world /* r31 */) {} // Range: 0x801AC718 -> 0x801AC74C void MomentJukebox::ClearNextMoment(class MomentJukebox * const this /* r31 */) {} // Range: 0x801AC74C -> 0x801AC764 void MomentJukebox::Advance() {} static class Symbol tour; // size: 0x4, address: 0x80A4D62C static class Symbol default_hometown; // size: 0x4, address: 0x80A4D634 static class Symbol welcome; // size: 0x4, address: 0x80A4D63C static class Symbol hints; // size: 0x4, address: 0x80A4D644 // Range: 0x801AC764 -> 0x801ACBA0 void * TourBandLocal::TourBandLocal(class TourBandLocal * const this /* r30 */, class TourWorld & world /* r25 */, class TourChallenge & challenge /* r26 */, const class SongMgr & sm /* r27 */, class BandUserMgr & bum /* r28 */) { // References // -> class DataArray * sChallengeConfig; // -> class DataArray * sWorldConfig; // -> static class Symbol hints; // -> static class Symbol welcome; // -> static class Symbol default_hometown; // -> static class Symbol tour; // -> struct [anonymous] __vt__13TourBandLocal; } // Range: 0x801ACBA0 -> 0x801ACD08 void * TourBandLocal::TourBandLocal(class TourBandLocal * const this /* r25 */, class TourWorld & world /* r26 */, class TourChallenge & challenge /* r27 */, const class SongMgr & sm /* r28 */, class BandUserMgr & bum /* r29 */, class BinStream & s /* r30 */) { // References // -> struct [anonymous] __vt__13TourBandLocal; } // Range: 0x801ACD08 -> 0x801AD0A4 void * TourBandLocal::~TourBandLocal(class TourBandLocal * const this /* r30 */) { // References // -> struct [anonymous] __vt__13TourBandLocal; } static class Symbol moments; // size: 0x4, address: 0x80A4D64C static class Symbol moment_freq; // size: 0x4, address: 0x80A4D654 static class Symbol tour; // size: 0x4, address: 0x80A4D65C static class Symbol rating_history_size; // size: 0x4, address: 0x80A4D664 // Range: 0x801AD0A4 -> 0x801AD274 void TourBandLocal::InitData(class TourBandLocal * const this /* r31 */) { // Local variables class DataArray * f; // r28 // References // -> static class Symbol rating_history_size; // -> static class Symbol tour; // -> class DataArray * sWorldConfig; // -> static class Symbol moment_freq; // -> static class Symbol moments; } // Range: 0x801AD274 -> 0x801AD314 void TourBandLocal::SetDirty(class TourBandLocal * const this /* r28 */, unsigned char val /* r29 */, int flags /* r30 */) { // References // -> class ProfileMgr TheProfileMgr; } // Range: 0x801AD314 -> 0x801AD3A0 class HxGuid & TourBandLocal::StandInGuid(const class TourBandLocal * const this /* r30 */, enum TrackType tt /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AD3A0 -> 0x801AD3A8 class TourMoment * TourBandLocal::NextMoment() {} // Range: 0x801AD3A8 -> 0x801AD444 int TourBandLocal::StarRating() { // Local variables int size; // r6 float total; // f2 float avg; // f1 } // Range: 0x801AD444 -> 0x801AD4E8 enum Difficulty TourBandLocal::DifficultyRating() { // Local variables float total; // f2 float avg; // f1 } // Range: 0x801AD4E8 -> 0x801AD4F8 void TourBandLocal::SetEventType() { // References // -> enum TourEventType sEventType; } // Range: 0x801AD4F8 -> 0x801AD508 void TourBandLocal::SetChallengeFocus() {} // Range: 0x801AD508 -> 0x801AD580 void TourBandLocal::SetBandName(class TourBandLocal * const this /* r30 */, const char * name /* r31 */) {} // Range: 0x801AD580 -> 0x801AD640 void TourBandLocal::SetHometown(class TourBandLocal * const this /* r30 */, class Symbol & hometown /* r31 */) { // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x801AD640 -> 0x801AD7C8 void TourBandLocal::SetTown(class TourBandLocal * const this /* r31 */, class Symbol & town /* r28 */, unsigned char force /* r30 */) { // Local variables const class TourTown * t; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x801AD7C8 -> 0x801AD8E8 void TourBandLocal::SetVenue(class TourBandLocal * const this /* r30 */, class Symbol & venue /* r31 */) { // Local variables const class TourTown * t; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801AD8E8 -> 0x801AD9E4 void TourBandLocal::UpdateCharName(class TourBandLocal * const this /* r31 */, const class HxGuid & charGuid /* r26 */, const char * charName /* r27 */, unsigned char charNameUnchecked /* r28 */) { // Local variables int i; // r29 } // Range: 0x801AD9E4 -> 0x801ADEB0 void TourBandLocal::Init(class TourBandLocal * const this /* r28 */) { // Local variables class vector & users; // r0 class BandUser * * it; // r26 class BandUser * user; // r27 class CharData * pChar; // r27 struct BandMember member; // r1+0x70 class TourCharLocal * localChar; // r0 class vector towns; // r1+0x64 class vector e_states; // r1+0x58 const class TourTown * * t; // r26 class TourVenue * const * v; // r27 struct SeenVenue sv; // r1+0x50 // References // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801ADEB0 -> 0x801ADFE0 void TourBandLocal::AddMember(class TourBandLocal * const this /* r29 */, const struct BandMember & member /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801ADFE0 -> 0x801AE174 void TourBandLocal::RemoveMember(class TourBandLocal * const this /* r31 */, const class HxGuid & charGuid /* r30 */) { // Local variables int i; // r28 unsigned char found; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AE174 -> 0x801AE27C void TourBandLocal::SetStaff(class TourBandLocal * const this /* r28 */, class Symbol & staff_name /* r29 */) { // Local variables class TourStaff * old_staff; // r31 int old_min_freq; // r0 int old_max_freq; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AE27C -> 0x801AE304 void TourBandLocal::RevertStaff(class TourBandLocal * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x801AE304 -> 0x801AE640 void TourBandLocal::SetMoment(class TourBandLocal * const this /* r31 */, class TourMoment * m /* r28 */, unsigned char accept /* r29 */) { // Local variables class TourWorldEvent * o; // r29 class TourWorldEvent * cur_event; // r0 struct OpportunityLoc ol; // r1+0x34 const class EventSong * replace; // r0 const class EventSong * additional; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node<14OpportunityLoc>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AE640 -> 0x801AE67C void TourBandLocal::AdvanceSong(class TourBandLocal * const this /* r31 */) {} // Range: 0x801AE67C -> 0x801AE768 void TourBandLocal::AddRating(int new_rating /* r1+0x8 */) { // Local variables int i; // r6 int j; // r7 } // Range: 0x801AE768 -> 0x801AE7BC void TourBandLocal::UpdateLiveBattles(class TourBandLocal * const this /* r31 */) {} // Range: 0x801AE7BC -> 0x801AE7C4 void TourBandLocal::UpdateLeaderboards() {} static class Symbol item_achievements; // size: 0x4, address: 0x80A4D66C static class Symbol random; // size: 0x4, address: 0x80A4D674 static class Symbol any; // size: 0x4, address: 0x80A4D67C // Range: 0x801AE7C4 -> 0x801AF4A8 void TourBandLocal::SetEvent(class TourBandLocal * const this /* r21 */, class TourEvent * e /* r22 */) { // Local variables int num_songs; // r29 class TourWorldEvent * world_event; // r28 class DataArray * a; // r24 int i; // r25 class Symbol item; // r1+0x10C class vector towns; // r1+0x134 const class vector & all; // r0 class vector v_states; // r1+0x128 int world_stars; // r27 class TourTown * const * t; // r26 struct VenueState * v; // r25 unsigned char played_venue; // r24 class vector & e_states; // r0 struct EventState * e; // r23 const class vector & staff; // r0 class TourStaff * const * sit; // r24 const class TourStaff * s; // r1+0x108 int i; // r23 const class EventSong & song; // r0 unsigned char has_any; // r23 int i; // r24 const class EventSong & song; // r25 class vector playable; // r1+0x11C int i; // r25 class vector exclude; // r1+0x110 struct _List_iterator o; // r1+0x104 class Symbol item; // r1+0x100 // References // -> class SyncStore * TheSyncStore; // -> static class Symbol any; // -> static class Symbol random; // -> struct [anonymous] __RTTI__18TourChallengeEvent; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> class DataArray * sWorldConfig; // -> static class Symbol item_achievements; // -> const char * gNullStr; // -> struct [anonymous] __RTTI__9TourEvent; // -> struct [anonymous] __RTTI__14TourWorldEvent; // -> enum TourEventType sEventType; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AF4A8 -> 0x801AF7CC void TourBandLocal::InitTour(class TourBandLocal * const this /* r31 */, unsigned char battle /* r29 */) { // Local variables class vector events; // r1+0x3C const class TourTown * t; // r29 class vector botb_tier; // r1+0x30 int i; // r29 class TourCharLocal * c; // r30 class DataArrayPtr data; // r1+0x28 // References // -> class SyncStore * TheSyncStore; // -> class GameConfig * TheGameConfig; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class ProfileMgr TheProfileMgr; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> enum TourEventType sEventType; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801AF7CC -> 0x801AF8C0 unsigned char TourBandLocal::SkipSong(const class TourBandLocal * const this /* r28 */, class Symbol & song /* r29 */) { // Local variables class TourChallengeEvent * ce; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9TourEvent; // -> struct [anonymous] __RTTI__18TourChallengeEvent; // -> enum TourEventType sEventType; } // Range: 0x801AF8C0 -> 0x801AF960 void TourBandLocal::ConfirmEvent(class TourBandLocal * const this /* r31 */) { // Local variables class TourEvent * e; // r0 // References // -> class GameConfig * TheGameConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol random; // size: 0x4, address: 0x80A4D684 // Range: 0x801AF960 -> 0x801AFA94 void TourBandLocal::SetRandomSongs(class TourBandLocal * const this /* r29 */) { // Local variables class TourEvent * e; // r30 float min; // r1+0x10 float max; // r1+0xC int i; // r31 const class EventSong & es; // r0 // References // -> static class Symbol random; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AFA94 -> 0x801AFDB4 void TourBandLocal::SetTargetScores(class TourBandLocal * const this /* r30 */) { // Local variables class vector base_points_per_song; // r1+0x28 int total_base_points; // r31 int num_songs_with_base_points; // r28 int i; // r27 int base_points; // r0 int i; // r6 int i; // r6 int i; // r6 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801AFDB4 -> 0x801AFF44 void TourBandLocal::SelectSong(class TourBandLocal * const this /* r31 */, int index /* r28 */, class Symbol & song /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol any; // size: 0x4, address: 0x80A4D68C // Range: 0x801AFF44 -> 0x801B0078 int TourBandLocal::PreviousSongSelection(const class TourBandLocal * const this /* r29 */) { // Local variables class TourEvent * e; // r30 int i; // r31 // References // -> static class Symbol any; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol any; // size: 0x4, address: 0x80A4D694 // Range: 0x801B0078 -> 0x801B0120 class Symbol TourBandLocal::RevertSongSelection(class TourBandLocal * const this /* r30 */) { // Local variables int i; // r0 class Symbol reverted; // r1+0x8 // References // -> const char * gNullStr; // -> static class Symbol any; } static class Symbol first_manager; // size: 0x4, address: 0x80A4D69C static class Symbol new_venue; // size: 0x4, address: 0x80A4D6A4 static class Symbol first_event; // size: 0x4, address: 0x80A4D6AC // Range: 0x801B0120 -> 0x801B1018 void TourBandLocal::CompleteEvent(class TourBandLocal * const this /* r21 */, unsigned char cheat /* r22 */) { // Local variables class TourEvent * e; // r19 class TourWorldEvent * world_event; // r29 enum Difficulty min_diff; // r1+0x114 class vector users; // r1+0x16C class BandUser * * it; // r19 class BandUser * u; // r20 class CharData * cd; // r23 enum ControllerType ct; // r0 int new_fame; // r1+0x110 int total_stars; // r1+0x10C int buzz_change; // r19 int i; // r20 class Symbol award; // r1+0x108 struct WorldState * f; // r0 int num_players; // r1+0x104 class Symbol town; // r1+0x100 class Symbol venue; // r1+0xFC class vector towns; // r1+0x160 class vector v_states; // r1+0x154 int num_towns; // r29 class list new_events; // r1+0x130 unsigned char played_all_venues; // r28 const class vector & all; // r0 int world_stars; // r27 class TourTown * const * t; // r26 struct VenueState * v; // r25 struct SeenVenue sv; // r1+0x128 class vector & e_states; // r0 unsigned char played_venue; // r24 struct EventState * e; // r23 class Symbol tok; // r1+0xF8 class Symbol item; // r1+0xF4 const class vector & staff; // r0 class vector new_staff; // r1+0x148 class TourStaff * const * sit; // r20 const class TourStaff * s; // r1+0xF0 class TourChallengeEvent * tce; // r20 struct ChallengeState & cs; // r0 enum Difficulty min_diff; // r0 int num_players; // r1+0xEC // References // -> class SyncStore * TheSyncStore; // -> static class Symbol first_event; // -> class RockCentralGateway RockCentral; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> static class Symbol new_venue; // -> static class Symbol first_manager; // -> const char * gNullStr; // -> enum TourEventType sEventType; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B1018 -> 0x801B1100 void TourBandLocal::LoseSong(class TourBandLocal * const this /* r30 */) { // Local variables class TourEvent * e; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> enum TourEventType sEventType; } // Range: 0x801B1100 -> 0x801B11C8 void TourBandLocal::UpdateEventBuzz(class TourBandLocal * const this /* r26 */, int buzz_change /* r27 */, int new_stars /* r28 */) { // Local variables enum Difficulty diff; // r31 int buzz_cap; // r30 int max_buzz_cap; // r29 } static class Symbol first_fans_lost; // size: 0x4, address: 0x80A4D6B4 static class Symbol buzz; // size: 0x4, address: 0x80A4D6BC static class Symbol caps; // size: 0x4, address: 0x80A4D6C4 static class Symbol trickle; // size: 0x4, address: 0x80A4D6CC static class Symbol first_buzz_maxcap; // size: 0x4, address: 0x80A4D6D4 static class Symbol first_buzz_cap; // size: 0x4, address: 0x80A4D6DC // Range: 0x801B11C8 -> 0x801B153C void TourBandLocal::ApplyBuzzChange(class TourBandLocal * const this /* r25 */, int buzz_change /* r1+0x8 */, int buzz_cap /* r26 */, int max_buzz_cap /* r27 */, enum Difficulty diff /* r28 */, struct BuzzInfo * bi /* r29 */) { // Local variables unsigned char positive_buzz; // r30 // References // -> static class Symbol first_buzz_cap; // -> static class Symbol first_buzz_maxcap; // -> class DataArray * sWorldConfig; // -> static class Symbol trickle; // -> static class Symbol caps; // -> static class Symbol buzz; // -> static class Symbol first_fans_lost; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B153C -> 0x801B16B8 void TourBandLocal::CheatWin(class TourBandLocal * const this /* r27 */, int avg_stars /* r28 */) { // Local variables int i; // r31 int accum_score; // r30 int score; // r29 float total_stars; // f31 // References // -> class Debug TheDebug; } // Range: 0x801B16B8 -> 0x801B1844 void TourBandLocal::CheatVehicle(class TourBandLocal * const this /* r30 */, int amt /* r28 */) { // Local variables int rank; // r31 int i; // r28 class Symbol vehicle; // r1+0x24 class Symbol * it; // r3 // References // -> class DataArray * sVehicles; } // Range: 0x801B1844 -> 0x801B1B8C class Symbol TourBandLocal::CheatCycleNextMoment(class TourBandLocal * const this /* r31 */) { // Local variables class vector moments; // r1+0x48 class vector exclude; // r1+0x3C class Symbol next_moment; // r1+0x38 class TourMoment * cur_moment; // r29 class Symbol * m; // r30 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B1B8C -> 0x801B1BC8 void TourBandLocal::SetWinDiff(class TourBandLocal * const this /* r31 */) {} // Range: 0x801B1BC8 -> 0x801B1C40 void TourBandLocal::SetMotto(class TourBandLocal * const this /* r30 */, const char * motto /* r31 */) {} // Range: 0x801B1C40 -> 0x801B1CF4 void TourBandLocal::SetBandLogo(class TourBandLocal * const this /* r30 */, class String & band_logo /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x801B1CF4 -> 0x801B1D50 void TourBandLocal::SetBandLogoPos(class TourBandLocal * const this /* r31 */) {} static class Symbol lose_staff; // size: 0x4, address: 0x80A4D6E4 // Range: 0x801B1D50 -> 0x801B1F2C void TourBandLocal::AdjustBuzz(class TourBandLocal * const this /* r31 */, int delta_buzz /* r28 */, struct BuzzInfo * bi /* r29 */) { // Local variables int prev_fans; // r0 class TourHint * * h; // r30 // References // -> static class Symbol lose_staff; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B1F2C -> 0x801B20F8 void TourBandLocal::HintAdvance(class TourBandLocal * const this /* r31 */) { // Local variables class vector & hints; // r0 class vector & hints_seen; // r28 class TourHint * h; // r1+0x18 // References // -> class SyncStore * TheSyncStore; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B20F8 -> 0x801B2244 void TourBandLocal::HintAdd(class TourBandLocal * const this /* r29 */, class TourHint * hint /* r1+0x8 */) { // Local variables class vector & hints; // r31 class vector & hints_seen; // r30 } struct TourHintCmp { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801B2244 -> 0x801B22C4 unsigned char TourBandLocal::HasHint(class TourHint * hint /* r29 */, const class vector & hints /* r30 */) { // Local variables class TourHint * const * h; // r31 } // Range: 0x801B22C4 -> 0x801B22E0 class vector & TourBandLocal::HintsSeen() { // References // -> enum TourEventType sEventType; } static class Symbol hints; // size: 0x4, address: 0x80A4D6EC // Range: 0x801B22E0 -> 0x801B2360 class DataArray * TourBandLocal::HintCfg() { // References // -> class DataArray * sChallengeConfig; // -> class DataArray * sWorldConfig; // -> enum TourEventType sEventType; // -> static class Symbol hints; } // Range: 0x801B2360 -> 0x801B2368 class Profile * TourBandLocal::GetOwner() {} // Range: 0x801B2368 -> 0x801B23D8 void TourBandLocal::SetOwner(class TourBandLocal * const this /* r30 */, class Profile * pOwner /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B23D8 -> 0x801B24C4 void TourBandLocal::SetStandInGuid(class TourBandLocal * const this /* r29 */, enum TrackType tt /* r31 */, const class HxGuid & guid /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B24C4 -> 0x801B2584 class OnlineID * TourBandLocal::OwnerID(const class TourBandLocal * const this /* r29 */) { // Local variables int padNum; // r30 // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B2584 -> 0x801B2638 char * TourBandLocal::OwnerName(const class TourBandLocal * const this /* r30 */) { // Local variables int padNum; // r30 // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B2638 -> 0x801B2788 void TourBandLocal::Save(const class TourBandLocal * const this /* r30 */, class BinStream & s /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol hints; // size: 0x4, address: 0x80A4D6F4 // Range: 0x801B2788 -> 0x801B2AB8 void TourBandLocal::Load(class TourBandLocal * const this /* r30 */, class BinStream & s /* r31 */) { // References // -> class DataArray * sChallengeConfig; // -> class DataArray * sWorldConfig; // -> static class Symbol hints; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> int sVer; } // Range: 0x801B2AB8 -> 0x801B2E8C void TourBandLocal::SyncSave(const class TourBandLocal * const this /* r29 */, class BinStream & dest /* r30 */, unsigned int dirtyMask /* r31 */) { // Local variables unsigned char hasOwner; // r28 class String ownerName; // r1+0x48 int i; // r28 class TourCharRemote * r; // r27 class DataArrayPtr char_data; // r1+0x40 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> enum TourEventType sEventType; } // Range: 0x801B2E8C -> 0x801B2EE4 class BinStream & __ls(class BinStream & s /* r30 */, const class MomentJukebox & mj /* r31 */) {} // Range: 0x801B2EE4 -> 0x801B2F34 class BinStream & __rs(class BinStream & s /* r30 */, class MomentJukebox & mj /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4D6FC static class Symbol _s; // size: 0x4, address: 0x80A4D704 static class Symbol _s; // size: 0x4, address: 0x80A4D70C static class Symbol _s; // size: 0x4, address: 0x80A4D714 static class Symbol _s; // size: 0x4, address: 0x80A4D71C static class Symbol _s; // size: 0x4, address: 0x80A4D724 static class Symbol _s; // size: 0x4, address: 0x80A4D72C static class Symbol _s; // size: 0x4, address: 0x80A4D734 static class Symbol _s; // size: 0x4, address: 0x80A4D73C static class Symbol _s; // size: 0x4, address: 0x80A4D744 static class Symbol _s; // size: 0x4, address: 0x80A4D74C static class Symbol _s; // size: 0x4, address: 0x80A4D754 static class Symbol _s; // size: 0x4, address: 0x80A4D75C static class Symbol _s; // size: 0x4, address: 0x80A4D764 static class Symbol _s; // size: 0x4, address: 0x80A4D76C static class Symbol _s; // size: 0x4, address: 0x80A4D774 static class Symbol _s; // size: 0x4, address: 0x80A4D77C static class Symbol _s; // size: 0x4, address: 0x80A4D784 static class Symbol _s; // size: 0x4, address: 0x80A4D78C static class Symbol _s; // size: 0x4, address: 0x80A4D794 static class Symbol _s; // size: 0x4, address: 0x80A4D79C static class Symbol _s; // size: 0x4, address: 0x80A4D7A4 static class Symbol _s; // size: 0x4, address: 0x80A4D7AC static class Symbol _s; // size: 0x4, address: 0x80A4D7B4 // Range: 0x801B2F34 -> 0x801B3B04 class DataNode TourBandLocal::Handle(class TourBandLocal * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__10TourMoment; // size: 0x8, address: 0x808A0428 struct { // total size: 0x1E8 } __vt__13TourBandLocal; // size: 0x1E8, address: 0x808A0568 struct { // total size: 0x8 } __RTTI__PPC9TourStaff; // size: 0x8, address: 0x808A0970 struct { // total size: 0x8 } __RTTI__P6HxGuid; // size: 0x8, address: 0x808A09C8 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B3B04 -> 0x801B4780 */ // Range: 0x801B3B04 -> 0x801B3B68 class TourMoment * MomentJukebox::NextMoment(const class MomentJukebox * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B3B68 -> 0x801B3C3C void MomentJukebox::SetFrequency(class MomentJukebox * const this /* r28 */, int min_events /* r29 */, int max_events /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B3C3C -> 0x801B3EDC void MomentJukebox::SetNextMoment(class MomentJukebox * const this /* r31 */, int level /* r30 */, int stars /* r29 */, int buzz /* r28 */, int num_songs /* r12 */, const class vector & exclude /* r11 */) { // Local variables class vector valid; // r1+0x50 class Symbol * mit; // r29 class TourMoment * m; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B3EDC -> 0x801B3F84 void MomentJukebox::Play(class MomentJukebox * const this /* r29 */, class TourMoment * m /* r30 */, const class TourStaff * staff /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B3F84 -> 0x801B4054 void MomentJukebox::ResetEventsLeft(class MomentJukebox * const this /* r28 */, const class TourStaff * staff /* r29 */) { // Local variables int min; // r31 int max; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B4054 -> 0x801B4194 void TourBandLocal::AddItem(class TourBandLocal * const this /* r29 */, class Symbol & item /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B4194 -> 0x801B4780 void TourBandLocal::CompleteSong(class TourBandLocal * const this /* r23 */, int num_stars /* r1+0x8 */, int score /* r24 */, int accumulated_score /* r25 */, int longest_streak /* r26 */, float total_stars /* f31 */, unsigned char cheat /* r27 */) { // Local variables class TourEvent * e; // r0 class TourChallengeEvent * se; // r29 struct ChallengeState & cs; // r0 unsigned char last_song; // r0 class list current; // r1+0x70 const class vector & all; // r0 class TourChallengeEvent * const * c; // r28 class Symbol song; // r1+0x50 int capped_stars; // r1+0x4C struct SongState * s; // r0 struct SongState ss; // r1+0x68 const class vector & all; // r0 class TourChallengeEvent * const * c; // r28 class TourChallengeEvent * e; // r21 class Symbol name; // r1+0x48 int tier; // r0 // References // -> class SyncStore * TheSyncStore; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> enum TourEventType sEventType; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B4780 -> 0x801B47D0 */ // Range: 0x801B4780 -> 0x801B47D0 class TourMoment * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10TourMoment; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B47D0 -> 0x801B4D90 */ // Range: 0x801B47D0 -> 0x801B4880 struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x801B4880 -> 0x801B48D8 struct _List_iterator find() {} // Range: 0x801B48D8 -> 0x801B4A70 struct SongState * find(struct SongState * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801B4A70 -> 0x801B4B50 class TourTown * * find() {} // Range: 0x801B4B50 -> 0x801B4C30 class TourStaff * * find() {} // Range: 0x801B4C30 -> 0x801B4D90 struct SeenVenue * find(struct SeenVenue * __last /* r28 */, const struct SeenVenue & __val /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B4D90 -> 0x801B5A08 */ // Range: 0x801B4D90 -> 0x801B4E34 void sort(class TourChallengeEvent * * __first /* r29 */, class TourChallengeEvent * * __last /* r30 */, struct ChallengeCmp & __comp /* r31 */) {} // Range: 0x801B4E34 -> 0x801B4ED4 void __final_insertion_sort(class TourChallengeEvent * * __first /* r29 */, class TourChallengeEvent * * __last /* r30 */, struct ChallengeCmp & __comp /* r31 */) {} // Range: 0x801B4ED4 -> 0x801B4F3C void __unguarded_insertion_sort_aux(class TourChallengeEvent * * __last /* r29 */, struct ChallengeCmp & __comp /* r30 */) { // Local variables class TourChallengeEvent * * __i; // r31 } // Range: 0x801B4F3C -> 0x801B4FB8 void __unguarded_linear_insert(class TourChallengeEvent * * __last /* r28 */, class TourChallengeEvent * __val /* r29 */, struct ChallengeCmp & __comp /* r30 */) { // Local variables class TourChallengeEvent * * __next; // r31 } // Range: 0x801B4FB8 -> 0x801B5078 void __insertion_sort(class TourChallengeEvent * * __first /* r27 */, class TourChallengeEvent * * __last /* r28 */, struct ChallengeCmp & __comp /* r29 */) { // Local variables class TourChallengeEvent * * __i; // r30 } // Range: 0x801B5078 -> 0x801B51E8 void __introsort_loop(class TourChallengeEvent * * __first /* r27 */, class TourChallengeEvent * * __last /* r28 */, long __depth_limit /* r29 */, struct ChallengeCmp & __comp /* r30 */) { // Local variables class TourChallengeEvent * * __cut; // r31 } // Range: 0x801B51E8 -> 0x801B52B4 class TourChallengeEvent * * __unguarded_partition(class TourChallengeEvent * * __first /* r28 */, class TourChallengeEvent * * __last /* r29 */, class TourChallengeEvent * __pivot /* r30 */, struct ChallengeCmp & __comp /* r31 */) {} // Range: 0x801B52B4 -> 0x801B52E4 void partial_sort() {} // Range: 0x801B52E4 -> 0x801B53CC void __partial_sort(class TourChallengeEvent * * __first /* r27 */, class TourChallengeEvent * * __middle /* r28 */, class TourChallengeEvent * * __last /* r29 */, struct ChallengeCmp & __comp /* r30 */) { // Local variables class TourChallengeEvent * * __i; // r31 } // Range: 0x801B53CC -> 0x801B5470 void sort(class TourHint * * __first /* r29 */, class TourHint * * __last /* r30 */, struct TourHintCmp & __comp /* r31 */) {} // Range: 0x801B5470 -> 0x801B5510 void __final_insertion_sort(class TourHint * * __first /* r29 */, class TourHint * * __last /* r30 */, struct TourHintCmp & __comp /* r31 */) {} // Range: 0x801B5510 -> 0x801B5578 void __unguarded_insertion_sort_aux(class TourHint * * __last /* r29 */, struct TourHintCmp & __comp /* r30 */) { // Local variables class TourHint * * __i; // r31 } // Range: 0x801B5578 -> 0x801B55F4 void __unguarded_linear_insert(class TourHint * * __last /* r28 */, class TourHint * __val /* r29 */, struct TourHintCmp & __comp /* r30 */) { // Local variables class TourHint * * __next; // r31 } // Range: 0x801B55F4 -> 0x801B56B4 void __insertion_sort(class TourHint * * __first /* r27 */, class TourHint * * __last /* r28 */, struct TourHintCmp & __comp /* r29 */) { // Local variables class TourHint * * __i; // r30 } // Range: 0x801B56B4 -> 0x801B5824 void __introsort_loop(class TourHint * * __first /* r27 */, class TourHint * * __last /* r28 */, long __depth_limit /* r29 */, struct TourHintCmp & __comp /* r30 */) { // Local variables class TourHint * * __cut; // r31 } // Range: 0x801B5824 -> 0x801B58F0 class TourHint * * __unguarded_partition(class TourHint * * __first /* r28 */, class TourHint * * __last /* r29 */, class TourHint * __pivot /* r30 */, struct TourHintCmp & __comp /* r31 */) {} // Range: 0x801B58F0 -> 0x801B5920 void partial_sort() {} // Range: 0x801B5920 -> 0x801B5A08 void __partial_sort(class TourHint * * __first /* r27 */, class TourHint * * __middle /* r28 */, class TourHint * * __last /* r29 */, struct TourHintCmp & __comp /* r30 */) { // Local variables class TourHint * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B5A08 -> 0x801B5B28 */ // Range: 0x801B5A08 -> 0x801B5A20 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x801B5A20 -> 0x801B5A38 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801B5A38 -> 0x801B5A50 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x801B5A50 -> 0x801B5A68 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B5B28 -> 0x801B5F38 */ // Range: 0x801B5B28 -> 0x801B5B7C void pop_heap(class TourChallengeEvent * * __last /* r7 */) {} // Range: 0x801B5B7C -> 0x801B5C98 void __adjust_heap(class TourChallengeEvent * * __first /* r28 */, long __holeIndex /* r29 */, long __len /* r25 */, class TourChallengeEvent * __val /* r30 */, struct ChallengeCmp & __comp /* r27 */) { // Local variables long __topIndex; // r31 long __secondChild; // r26 } // Range: 0x801B5C98 -> 0x801B5D30 void make_heap(class TourChallengeEvent * * __first /* r29 */) {} // Range: 0x801B5D30 -> 0x801B5D84 void pop_heap(class TourHint * * __last /* r7 */) {} // Range: 0x801B5D84 -> 0x801B5EA0 void __adjust_heap(class TourHint * * __first /* r28 */, long __holeIndex /* r29 */, long __len /* r25 */, class TourHint * __val /* r30 */, struct TourHintCmp & __comp /* r27 */) { // Local variables long __topIndex; // r31 long __secondChild; // r26 } // Range: 0x801B5EA0 -> 0x801B5F38 void make_heap(class TourHint * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B5F38 -> 0x801B62B0 */ // Range: 0x801B5F38 -> 0x801B5FC0 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class HxGuid * t; // r31 } // Range: 0x801B5FC0 -> 0x801B6100 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class HxGuid * t; // r29 } // Range: 0x801B6100 -> 0x801B6194 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const float * t; // r31 } // Range: 0x801B6194 -> 0x801B62B0 class DataNode TourBandLocal::OnSetEvent(class TourBandLocal * const this /* r29 */) { // Local variables class TourEvent * e; // r31 const class DataNode & event_node; // r30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9TourEvent; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\band2\src\meta\TourBandLocal.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B62B0 -> 0x801B6310 */ // Range: 0x801B62B0 -> 0x801B62B8 unsigned int TourBandLocal::SecBetweenUploads() {} // Range: 0x801B62B8 -> 0x801B6300 void TourBandLocal::SyncLoad() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B6300 -> 0x801B6308 unsigned char TourBandLocal::HasSyncPermission() {} // Range: 0x801B6308 -> 0x801B6310 unsigned char TourBandLocal::IsLocal() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B6310 -> 0x801B693C */ // Range: 0x801B6310 -> 0x801B6448 void vector::_M_insert_overflow(class vector * const this /* r27 */, const class TourStaff * * __pos /* r28 */, const class TourStaff * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 const class TourStaff * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPC9TourStaff; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801B6448 -> 0x801B64B8 void vector::_M_fill_insert() {} // Range: 0x801B64B8 -> 0x801B66E4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class HxGuid * __pos /* r26 */, const class HxGuid & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class HxGuid * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6HxGuid; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801B66E4 -> 0x801B693C void vector::_M_fill_insert_aux() { // Local variables class HxGuid __x_copy; // r1+0x20 unsigned long __elems_after; // r10 class HxGuid * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\TourBandRemote.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B693C -> 0x801B71D0 */ // Range: 0x801B693C -> 0x801B6BA4 void * TourBandRemote::TourBandRemote(class TourBandRemote * const this /* r30 */, class TourWorld & w /* r25 */, class TourChallenge & c /* r26 */, const class SongMgr & sm /* r27 */, class BandUserMgr & bum /* r28 */, const class RemoteBandData * band /* r31 */) { // References // -> struct [anonymous] __vt__14TourBandRemote; } // Range: 0x801B6BA4 -> 0x801B6CA8 void * TourBandRemote::~TourBandRemote(class TourBandRemote * const this /* r28 */) { // References // -> struct [anonymous] __vt__14TourBandRemote; } // Range: 0x801B6CA8 -> 0x801B6D08 void TourBandRemote::LoadMoment(class TourBandRemote * const this /* r30 */, class TourMoment * * moment /* r31 */) { // Local variables class Symbol moment_name; // r1+0xC // References // -> const char * gNullStr; } // Range: 0x801B6D08 -> 0x801B6D10 class TourMoment * TourBandRemote::NextMoment() {} // Range: 0x801B6D10 -> 0x801B6D18 char * TourBandRemote::BandName() {} // Range: 0x801B6D18 -> 0x801B6D20 char * TourBandRemote::GetMotto() {} // Range: 0x801B6D20 -> 0x801B6F14 void TourBandRemote::GetRoster(const class TourBandRemote * const this /* r29 */, class vector & members /* r30 */) { // Local variables int i; // r31 struct BandMember rosterMember; // r1+0x20 } // Range: 0x801B6F14 -> 0x801B6F1C char * TourBandRemote::OwnerName() {} // Range: 0x801B6F1C -> 0x801B6F90 class String TourBandRemote::GetLogoPatchDir(const class TourBandRemote * const this /* r31 */) { // References // -> class String sDefaultLogo; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x801B6F90 -> 0x801B6FB4 int TourBandRemote::Fans() {} // Range: 0x801B6FB4 -> 0x801B6FD8 int TourBandRemote::TourScore() {} // Range: 0x801B6FD8 -> 0x801B6FFC int TourBandRemote::WorldFame() {} // Range: 0x801B6FFC -> 0x801B7020 void TourBandRemote::GetTopSongs() {} // Range: 0x801B7020 -> 0x801B7048 int TourBandRemote::StarRating() {} // Range: 0x801B7048 -> 0x801B7070 enum Difficulty TourBandRemote::DifficultyRating() {} static class Symbol update_tour_display; // size: 0x4, address: 0x80A4D7BC // Range: 0x801B7070 -> 0x801B71D0 void TourBandRemote::OnSynchronized(class TourBandRemote * const this /* r31 */) { // Local variables class DataArrayPtr update; // r1+0x20 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol update_tour_display; // -> class ProfileMgr TheProfileMgr; } struct { // total size: 0x1C0 } __vt__14TourBandRemote; // size: 0x1C0, address: 0x808A0AF0 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B71D0 -> 0x801B763C */ // Range: 0x801B71D0 -> 0x801B7234 class OnlineID * TourBandRemote::OwnerID(const class TourBandRemote * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B7234 -> 0x801B763C void TourBandRemote::SyncLoad(class TourBandRemote * const this /* r29 */, class BinStream & src /* r30 */, unsigned int dirtyMask /* r31 */) { // Local variables int bs; // r1+0x1C int cf; // r1+0x18 int et; // r1+0x14 unsigned char name_unchecked; // r0 unsigned char motto_unchecked; // r0 int diff_rating; // r1+0x10 int user_num; // r27 int i; // r28 class DataArrayPtr char_data; // r1+0x20 // References // -> class GameConfig * TheGameConfig; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SessionMgr * TheSessionMgr; // -> enum TourEventType sEventType; // -> int sVer; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B763C -> 0x801B7728 */ // Range: 0x801B763C -> 0x801B7728 class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 float * t; // r31 } /* Compile unit: C:\rockband2\band2\src\meta\TourBandRemote.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B7728 -> 0x801B789C */ // Range: 0x801B7728 -> 0x801B776C void TourBandRemote::SelectSong() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B776C -> 0x801B77B4 void TourBandRemote::SyncSave() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B77B4 -> 0x801B77BC unsigned char TourBandRemote::HasSyncPermission() {} // Range: 0x801B77BC -> 0x801B7804 void TourBandRemote::SetBandName() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B7804 -> 0x801B784C void TourBandRemote::UpdateCharName() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B784C -> 0x801B7894 void TourBandRemote::RemoveMember() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801B7894 -> 0x801B789C unsigned char TourBandRemote::IsLocal() {} /* Compile unit: C:\rockband2\band2\src\meta\TourChallenge.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801B791C -> 0x801BAC34 */ class Symbol band; // size: 0x4, address: 0x80A4D7C4 // Range: 0x801B791C -> 0x801B79C4 void * TourChallengeEvent::TourChallengeEvent(class TourChallengeEvent * const this /* r30 */, class Symbol & event_name /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__18TourChallengeEvent; } static class Symbol diff_tier; // size: 0x4, address: 0x80A4D7CC static class Symbol prereqs; // size: 0x4, address: 0x80A4D7D4 static class Symbol any; // size: 0x4, address: 0x80A4D7DC static class Symbol all; // size: 0x4, address: 0x80A4D7E4 static class Symbol min_players; // size: 0x4, address: 0x80A4D7EC static class Symbol required_part; // size: 0x4, address: 0x80A4D7F4 static class Symbol guitar; // size: 0x4, address: 0x80A4D7FC static class Symbol bass; // size: 0x4, address: 0x80A4D804 static class Symbol drum; // size: 0x4, address: 0x80A4D80C static class Symbol vocals; // size: 0x4, address: 0x80A4D814 static class Symbol venues; // size: 0x4, address: 0x80A4D81C static class Symbol cover_art; // size: 0x4, address: 0x80A4D824 static class Symbol back_art; // size: 0x4, address: 0x80A4D82C static class Symbol show_list_name; // size: 0x4, address: 0x80A4D834 static class Symbol auto_genre; // size: 0x4, address: 0x80A4D83C static class Symbol auto_decade; // size: 0x4, address: 0x80A4D844 static class Symbol achievement; // size: 0x4, address: 0x80A4D84C // Range: 0x801B79C4 -> 0x801B8384 void * TourChallengeEvent::TourChallengeEvent(class TourChallengeEvent * const this /* r26 */, class DataArray * d /* r27 */) { // Local variables class DataArray * p; // r29 int i; // r28 struct ChallengePrereq cp; // r1+0xD8 int j; // r25 class DataArray * v; // r25 int i; // r28 class DataArray * gen; // r25 class DataArray * dec; // r25 // References // -> static class Symbol achievement; // -> static class Symbol auto_decade; // -> static class Symbol auto_genre; // -> static class Symbol show_list_name; // -> static class Symbol back_art; // -> static class Symbol cover_art; // -> static class Symbol venues; // -> static class Symbol vocals; // -> static class Symbol drum; // -> static class Symbol bass; // -> static class Symbol guitar; // -> static class Symbol required_part; // -> static class Symbol min_players; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node<15ChallengePrereq>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> static class Symbol all; // -> static class Symbol any; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol prereqs; // -> static class Symbol diff_tier; // -> const char * gNullStr; // -> struct [anonymous] __vt__18TourChallengeEvent; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_List_node<15ChallengePrereq>; // size: 0x8, address: 0x808A0FA8 // Range: 0x801B8384 -> 0x801B83E0 char * TourChallengeEvent::DisplayName(const class TourChallengeEvent * const this /* r31 */) {} static class Symbol tour_challenge_description; // size: 0x4, address: 0x80A4D854 static class Symbol tour_challenge_description_singular; // size: 0x4, address: 0x80A4D85C // Range: 0x801B83E0 -> 0x801B8518 char * TourChallengeEvent::Description(const class TourChallengeEvent * const this /* r30 */) { // References // -> static class Symbol tour_challenge_description_singular; // -> static class Symbol tour_challenge_description; } static class Symbol band; // size: 0x4, address: 0x80A4D864 // Range: 0x801B8518 -> 0x801B8624 int TourChallengeEvent::DiffTier(const class TourChallengeEvent * const this /* r30 */) { // Local variables int max_tier; // r1+0x14 int i; // r31 // References // -> static class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol band; // size: 0x4, address: 0x80A4D86C static class Symbol tour_challenge_botb_tier; // size: 0x4, address: 0x80A4D874 // Range: 0x801B8624 -> 0x801B8700 class Symbol TourChallengeEvent::TierName(const class TourChallengeEvent * const this /* r29 */) { // Local variables int diff_tier; // r30 // References // -> static class Symbol tour_challenge_botb_tier; // -> static class Symbol band; } // Range: 0x801B8700 -> 0x801B8708 class list & TourChallengeEvent::Prereqs() {} // Range: 0x801B8708 -> 0x801B8710 int TourChallengeEvent::MinPlayers() {} // Range: 0x801B8710 -> 0x801B8770 class Symbol TourChallengeEvent::VenueVariant(const class TourChallengeEvent * const this /* r31 */) {} // Range: 0x801B8770 -> 0x801B8778 char * TourChallengeEvent::CoverArt() {} // Range: 0x801B8778 -> 0x801B8780 char * TourChallengeEvent::BackArt() {} // Range: 0x801B8780 -> 0x801B8788 unsigned char TourChallengeEvent::ShowListName() {} // Range: 0x801B8788 -> 0x801B8790 enum ChallengeEventType TourChallengeEvent::ChallengeType() {} // Range: 0x801B8790 -> 0x801B87BC unsigned char TourChallengeEvent::AutoSongs() { // References // -> const char * gNullStr; } // Range: 0x801B87BC -> 0x801B87C4 void TourChallengeEvent::SetDiffTier() {} // Range: 0x801B87C4 -> 0x801B87CC void TourChallengeEvent::SetShowListName() {} // Range: 0x801B87CC -> 0x801B87D4 void TourChallengeEvent::SetChallengeType() {} // Range: 0x801B87D4 -> 0x801B8D28 void TourChallengeEvent::RefreshAutoSongs(class TourChallengeEvent * const this /* r28 */, const class vector & all_songs /* r29 */, int max_set_size /* r30 */) { // Local variables const class Symbol * s; // r31 unsigned char missing; // r26 int i; // r27 const class Symbol * s; // r31 unsigned char missing; // r26 int i; // r27 int year_released; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801B8D28 -> 0x801B8E3C void TourChallengeEvent::SortAndLimitSongs(class TourChallengeEvent * const this /* r30 */, int max_set_size /* r31 */) {} struct AutoSongCmp { // total size: 0x8 const class SongMgr & mSongMgr; // offset 0x0, size 0x4 enum ChallengeEventType mChallengeType; // offset 0x4, size 0x4 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801B8E3C -> 0x801B8FCC void TourChallengeEvent::AddPrereq(class TourChallengeEvent * const this /* r30 */, unsigned char all /* r6 */) { // Local variables struct ChallengePrereq cp; // r1+0x58 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node<15ChallengePrereq>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801B8FCC -> 0x801B8FD0 void TourChallengeEvent::Validate() {} static class Symbol _s; // size: 0x4, address: 0x80A4D87C static class Symbol _s; // size: 0x4, address: 0x80A4D884 // Range: 0x801B8FD0 -> 0x801B943C class DataNode TourChallengeEvent::Handle(class TourChallengeEvent * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol auto_min_songs; // size: 0x4, address: 0x80A4D88C static class Symbol challenges; // size: 0x4, address: 0x80A4D894 // Range: 0x801B943C -> 0x801B9578 void * TourChallenge::TourChallenge(class TourChallenge * const this /* r27 */, const class SongMgr & sm /* r28 */, class DataArray * cfg /* r29 */) { // Local variables class DataArray * c; // r30 int i; // r29 // References // -> static class Symbol challenges; // -> static class Symbol auto_min_songs; } // Range: 0x801B9578 -> 0x801B963C void * TourChallenge::~TourChallenge(class TourChallenge * const this /* r30 */) {} // Range: 0x801B963C -> 0x801B9740 void TourChallenge::TierChallenges(const class TourChallenge * const this /* r28 */, class vector & tier /* r29 */, int diff_tier /* r30 */) { // Local variables class TourChallengeEvent * const * c; // r31 class TourChallengeEvent * e; // r1+0x18 } // Range: 0x801B9740 -> 0x801B9780 unsigned char __eq(class Symbol & rhs /* r31 */) {} // Range: 0x801B9780 -> 0x801B97D0 class TourChallengeEvent * TourChallenge::FindChallenge(const class TourChallenge * const this /* r31 */) { // Local variables class TourChallengeEvent * const * c; // r0 } // Range: 0x801B97D0 -> 0x801B97D8 class vector & TourChallenge::AllChallenges() {} static class Symbol band; // size: 0x4, address: 0x80A4D89C // Range: 0x801B97D8 -> 0x801B9838 int TourChallenge::NumChallengeTiers(const class TourChallenge * const this /* r31 */) { // References // -> static class Symbol band; } // Range: 0x801B9838 -> 0x801B9908 void TourChallenge::GetLiveBattles(const class TourChallenge * const this /* r29 */, class list & battles /* r30 */) { // Local variables class TourChallengeEvent * const * c; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801B9908 -> 0x801B99D4 void TourChallenge::AddChallenge(class TourChallenge * const this /* r31 */, class TourChallengeEvent * tce /* r1+0x8 */) { // References // -> class Debug TheDebug; } // Range: 0x801B99D4 -> 0x801B9BD8 void TourChallenge::DisableBattles(class TourChallenge * const this /* r29 */, const class list * shared /* r30 */) { // Local variables class TourChallengeEvent * * c; // r28 class TourChallengeEvent * * c; // r31 } // Range: 0x801B9BD8 -> 0x801B9D10 void TourChallenge::ClearBattles(class TourChallenge * const this /* r30 */) { // Local variables class TourChallengeEvent * * c; // r31 class TourChallengeEvent * * c; // r31 } // Range: 0x801B9E18 -> 0x801B9F50 void TourChallenge::Clear(class TourChallenge * const this /* r29 */) {} // Range: 0x801B9F50 -> 0x801B9F7C static unsigned char __eq() {} // Range: 0x801B9F7C -> 0x801B9FA8 static unsigned char __eq() {} // Range: 0x801B9FA8 -> 0x801B9FD4 static unsigned char __eq() {} // Range: 0x801B9FD4 -> 0x801BA02C static void Tokenize(const char * in /* r0 */, class String & out /* r31 */) {} static class Symbol tour_challenge_auto_album; // size: 0x4, address: 0x80A4D8A4 static class Symbol tour_challenge_auto_artist; // size: 0x4, address: 0x80A4D8AC static class Symbol tour_challenge_auto_pack; // size: 0x4, address: 0x80A4D8B4 class list : public _List_base { // total size: 0x8 }; class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct Artist { // total size: 0x24 const char * mArtist; // offset 0x0, size 0x4 class String mArtistToken; // offset 0x4, size 0xC class vector mSongs; // offset 0x10, size 0xC class list mAlbums; // offset 0x1C, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct Album { // total size: 0x10 const char * mAlbum; // offset 0x0, size 0x4 class vector mSongs; // offset 0x4, size 0xC }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct Pack { // total size: 0x14 const char * mPack; // offset 0x0, size 0x4 const char * mArtist; // offset 0x4, size 0x4 class vector mSongs; // offset 0x8, size 0xC }; // Range: 0x801BA02C -> 0x801BAA48 void TourChallenge::RefreshAutos(class TourChallenge * const this /* r28 */, int max_set_size /* r29 */) { // Local variables class vector songs; // r1+0x168 class TourChallengeEvent * * c; // r27 class list artists; // r1+0xE0 class list packs; // r1+0xD8 const class Symbol * s; // r30 unsigned char missing; // r27 int i; // r26 const char * artist; // r1+0xD0 struct _List_iterator ait; // r1+0xCC struct Artist new_artist; // r1+0x188 const char * album; // r1+0xC8 struct _List_iterator a; // r1+0xC4 struct Album new_album; // r1+0x158 const char * pack; // r1+0xC0 struct _List_iterator p; // r1+0xBC struct Pack new_pack; // r1+0x174 struct _List_iterator a; // r1+0xB8 struct _List_iterator al; // r1+0xB4 class String album_token; // r1+0x148 class Symbol event_name; // r1+0xB0 class String display_name; // r1+0x13C class Symbol * s; // r26 struct _List_iterator a; // r1+0xAC class Symbol event_name; // r1+0xA8 class String display_name; // r1+0x130 struct _List_iterator p; // r1+0xA4 class String pack_token; // r1+0x124 class Symbol event_name; // r1+0xA0 class String display_name; // r1+0x118 // References // -> static class Symbol tour_challenge_auto_pack; // -> static class Symbol tour_challenge_auto_artist; // -> static class Symbol tour_challenge_auto_album; // -> const char * gNullStr; } class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0x2C public: struct Artist _M_data; // offset 0x8, size 0x24 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0x1C public: struct Pack _M_data; // offset 0x8, size 0x14 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0x18 public: struct Album _M_data; // offset 0x8, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std49_List_node; // size: 0x8, address: 0x808A1200 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std50_List_node; // size: 0x8, address: 0x808A1248 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std48_List_node; // size: 0x8, address: 0x808A1290 static class Symbol screen; // size: 0x4, address: 0x80A4D8BC // Range: 0x801BAA48 -> 0x801BAC34 void TourChallenge::Validate(const class TourChallenge * const this /* r27 */) { // Local variables class TourChallengeEvent * const * c; // r31 class TourChallengeEvent * ce; // r28 class DataArray * hints; // r28 int i; // r27 class DataArray * s; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; // -> static class Symbol screen; // -> class Debug TheDebug; } struct { // total size: 0x68 } __vt__18TourChallengeEvent; // size: 0x68, address: 0x808A1330 struct { // total size: 0x8 } __RTTI__P9EventSong; // size: 0x8, address: 0x808A1438 struct { // total size: 0x8 } __RTTI__PP18TourChallengeEvent; // size: 0x8, address: 0x808A1458 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BAC34 -> 0x801BB034 */ // Range: 0x801BAC34 -> 0x801BAD2C void TourChallengeEvent::Init(class TourChallengeEvent * const this /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; } // Range: 0x801BAD2C -> 0x801BAD30 void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x801BAD30 -> 0x801BAD70 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} // Range: 0x801BAD70 -> 0x801BAD74 void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x801BAD74 -> 0x801BADB4 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} // Range: 0x801BADCC -> 0x801BB034 class TourChallengeEvent * TourChallenge::AddAuto(class TourChallenge * const this /* r31 */, enum ChallengeEventType t /* r26 */, class Symbol & name /* r27 */, const char * display /* r30 */, class vector & songs /* r28 */, int max_set_size /* r29 */) { // Local variables class TourChallengeEvent * e; // r1+0x20 const class Symbol * s; // r30 class list authored; // r1+0x38 class vector challenges; // r1+0x40 class TourChallengeEvent * * c; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BB034 -> 0x801BBAB8 */ // Range: 0x801BB034 -> 0x801BB05C void * list::list() {} // Range: 0x801BB05C -> 0x801BB0B4 void * list::~list(class list * const this /* r30 */) {} // Range: 0x801BB0B4 -> 0x801BB0DC void * list::list() {} // Range: 0x801BB0DC -> 0x801BB134 void * list::~list(class list * const this /* r30 */) {} // Range: 0x801BB134 -> 0x801BB140 struct _List_iterator list::begin() {} // Range: 0x801BB140 -> 0x801BB148 struct _List_iterator list::end() {} // Range: 0x801BB148 -> 0x801BB154 void * _List_iterator::_List_iterator() {} // Range: 0x801BB154 -> 0x801BB16C unsigned char _List_iterator::__eq() {} // Range: 0x801BB2B0 -> 0x801BB560 void list::push_front(const struct Artist & __x /* r30 */) { // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std49_List_node; // -> struct [anonymous] __RTTI__P6Symbol; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std50_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801BB560 -> 0x801BB564 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x801BB564 -> 0x801BB570 struct Artist * _List_iterator::__rf() {} // Range: 0x801BB570 -> 0x801BB57C struct _List_iterator list::begin() {} // Range: 0x801BB57C -> 0x801BB584 struct _List_iterator list::end() {} // Range: 0x801BB584 -> 0x801BB590 void * _List_iterator::_List_iterator() {} // Range: 0x801BB590 -> 0x801BB5A8 unsigned char _List_iterator::__eq() {} // Range: 0x801BB680 -> 0x801BB7BC void list::push_front(const struct Album & __x /* r31 */) { // References // -> struct [anonymous] __RTTI__P6Symbol; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std49_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801BB7C8 -> 0x801BB7D4 struct Album * _List_iterator::__rf() {} // Range: 0x801BB7D4 -> 0x801BB7E0 struct _List_iterator list::begin() {} // Range: 0x801BB7E0 -> 0x801BB7E8 struct _List_iterator list::end() {} // Range: 0x801BB7E8 -> 0x801BB7F4 void * _List_iterator::_List_iterator() {} // Range: 0x801BB7F4 -> 0x801BB80C unsigned char _List_iterator::__eq() {} // Range: 0x801BB8E4 -> 0x801BBA28 void list::push_front(const struct Pack & __x /* r30 */) { // References // -> struct [anonymous] __RTTI__P6Symbol; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std48_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801BBA28 -> 0x801BBA34 struct Pack * _List_iterator::__rf() {} // Range: 0x801BBA34 -> 0x801BBA44 struct _List_iterator & _List_iterator::__pp() {} // Range: 0x801BBA44 -> 0x801BBA60 unsigned char _List_iterator::__ne() {} // Range: 0x801BBA60 -> 0x801BBA70 struct _List_iterator & _List_iterator::__pp() {} // Range: 0x801BBA70 -> 0x801BBA8C unsigned char _List_iterator::__ne() {} // Range: 0x801BBA8C -> 0x801BBA9C struct _List_iterator & _List_iterator::__pp() {} // Range: 0x801BBA9C -> 0x801BBAB8 unsigned char _List_iterator::__ne() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BBAB8 -> 0x801BBBCC */ // Range: 0x801BBAB8 -> 0x801BBAC0 class TourChallengeEvent * * vector::end() {} // Range: 0x801BBAC0 -> 0x801BBAC8 class TourChallengeEvent * * vector::begin() {} // Range: 0x801BBAC8 -> 0x801BBB40 class TourChallengeEvent * * vector::erase(class vector * const this /* r30 */, class TourChallengeEvent * * __pos /* r31 */) {} // Range: 0x801BBB40 -> 0x801BBBCC class Symbol * vector::erase() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BBBCC -> 0x801BBC2C */ // Range: 0x801BBBCC -> 0x801BBC2C char * MakeString(const char * fmt /* r0 */, unsigned long t1 /* r30 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\Str.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BBC2C -> 0x801BBC54 */ // Range: 0x801BBC2C -> 0x801BBC54 unsigned char streq() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BBC54 -> 0x801BD59C */ // Range: 0x801BBC54 -> 0x801BBD08 void sort(class EventSong * __first /* r29 */, class EventSong * __last /* r30 */, struct AutoSongCmp & __comp /* r31 */) {} // Range: 0x801BBD08 -> 0x801BBDC0 void __final_insertion_sort(class EventSong * __first /* r29 */, class EventSong * __last /* r30 */, struct AutoSongCmp & __comp /* r31 */) {} // Range: 0x801BBDC0 -> 0x801BBE6C void __unguarded_insertion_sort_aux(class EventSong * __last /* r29 */, struct AutoSongCmp & __comp /* r30 */) { // Local variables class EventSong * __i; // r31 } // Range: 0x801BBE6C -> 0x801BC094 void __unguarded_linear_insert(class EventSong * __last /* r28 */, class EventSong & __val /* r29 */, struct AutoSongCmp & __comp /* r30 */) { // Local variables class EventSong * __next; // r31 // References // -> class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801BC094 -> 0x801BC158 void __insertion_sort(class EventSong * __first /* r28 */, class EventSong * __last /* r29 */, struct AutoSongCmp & __comp /* r30 */) { // Local variables class EventSong * __i; // r31 } // Range: 0x801BC158 -> 0x801BC40C void __linear_insert(class EventSong * __first /* r28 */, class EventSong * __last /* r29 */, class EventSong & __val /* r30 */, struct AutoSongCmp & __comp /* r31 */) { // References // -> class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801BC40C -> 0x801BCE28 void __introsort_loop(class EventSong * __first /* r26 */, class EventSong * __last /* r27 */, long __depth_limit /* r28 */, struct AutoSongCmp & __comp /* r29 */) { // Local variables class EventSong * __cut; // r25 // References // -> class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801BCE28 -> 0x801BD280 class EventSong * __unguarded_partition(class EventSong * __first /* r28 */, class EventSong * __last /* r29 */, class EventSong & __pivot /* r30 */, struct AutoSongCmp & __comp /* r31 */) { // References // -> class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801BD280 -> 0x801BD2B8 void partial_sort() {} // Range: 0x801BD2B8 -> 0x801BD59C void __partial_sort(class EventSong * __first /* r27 */, class EventSong * __middle /* r28 */, class EventSong * __last /* r29 */, struct AutoSongCmp & __comp /* r30 */) { // Local variables class EventSong * __i; // r31 // References // -> class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BD59C -> 0x801BD5CC */ // Range: 0x801BD59C -> 0x801BD5B4 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801BD5B4 -> 0x801BD5CC struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BD5CC -> 0x801BDC9C */ // Range: 0x801BD5CC -> 0x801BD678 void pop_heap(class EventSong * __first /* r30 */, class EventSong * __last /* r31 */) {} // Range: 0x801BD678 -> 0x801BD958 void __adjust_heap(class EventSong * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, class EventSong & __val /* r28 */, struct AutoSongCmp & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 // References // -> class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801BD958 -> 0x801BDBB8 void __push_heap(class EventSong * __first /* r25 */, long __holeIndex /* r26 */, long __topIndex /* r27 */, class EventSong & __val /* r28 */, struct AutoSongCmp & __comp /* r29 */) { // Local variables long __parent; // r30 // References // -> class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801BDBB8 -> 0x801BDC9C void make_heap(class EventSong * __first /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BDC9C -> 0x801BDD60 */ // Range: 0x801BDC9C -> 0x801BDD60 void __pop_heap(class EventSong * __first /* r28 */, class EventSong * __last /* r29 */, class EventSong & __val /* r30 */, struct AutoSongCmp & __comp /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BDD60 -> 0x801BE084 */ // Range: 0x801BDD60 -> 0x801BDEF8 class TourChallengeEvent * const * find(class TourChallengeEvent * const * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801BDEF8 -> 0x801BDF7C struct _List_iterator find(const char * const & __val /* r31 */) {} // Range: 0x801BDF7C -> 0x801BE000 struct _List_iterator find(const char * const & __val /* r31 */) {} // Range: 0x801BE000 -> 0x801BE084 struct _List_iterator find(const char * const & __val /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BE084 -> 0x801BE0F8 */ // Range: 0x801BE084 -> 0x801BE0F8 class Symbol * remove(class Symbol * __last /* r30 */, const class Symbol & __val /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BE0F8 -> 0x801BE44C */ // Range: 0x801BE0F8 -> 0x801BE1DC void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x801BE1DC -> 0x801BE2E4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x801BE2E4 -> 0x801BE3C8 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x801BE3C8 -> 0x801BE44C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BE44C -> 0x801BE7A0 */ // Range: 0x801BE44C -> 0x801BE668 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class EventSong * __pos /* r26 */, const class EventSong & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class EventSong * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9EventSong; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801BE668 -> 0x801BE7A0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourChallengeEvent * * __pos /* r28 */, class TourChallengeEvent * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourChallengeEvent * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeCompletePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801BE7A0 -> 0x801C0504 */ class DataArray * types; // size: 0x4, address: 0x80A4D8C0 class Symbol botb_pref_award_multiple_singular; // size: 0x4, address: 0x80A4D8C8 class Symbol botb_pref_award_multiple; // size: 0x4, address: 0x80A4D8D0 class Symbol botb_perf_award_single; // size: 0x4, address: 0x80A4D8D8 class Symbol botb_perf_award_none; // size: 0x4, address: 0x80A4D8E0 class Symbol botb_perf_award_top; // size: 0x4, address: 0x80A4D8E8 class Symbol botb_perf_award_suck_score; // size: 0x4, address: 0x80A4D8F0 class Symbol botb_perf_award_suck_streak; // size: 0x4, address: 0x80A4D8F8 class Symbol botb_perf_award_suck_mult; // size: 0x4, address: 0x80A4D900 class Symbol botb_perf_default; // size: 0x4, address: 0x80A4D908 class Symbol botb_rank_no_friends; // size: 0x4, address: 0x80A4D910 class Symbol botb_rank_vs_friend; // size: 0x4, address: 0x80A4D918 class Symbol botb_rank_overall_score; // size: 0x4, address: 0x80A4D920 class Symbol botb_rank_overall_streak; // size: 0x4, address: 0x80A4D928 class Symbol botb_rank_overall_mult; // size: 0x4, address: 0x80A4D930 class Symbol botb_rank_top100_score; // size: 0x4, address: 0x80A4D938 class Symbol botb_rank_top100_streak; // size: 0x4, address: 0x80A4D940 class Symbol botb_rank_top100_mult; // size: 0x4, address: 0x80A4D948 class Symbol botb_rank_champ; // size: 0x4, address: 0x80A4D950 class Symbol botb_rank_failed; // size: 0x4, address: 0x80A4D958 class Symbol botb_rank_default; // size: 0x4, address: 0x80A4D960 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class BandLabel * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Sequence * mPtr; // offset 0x8, size 0x4 }; enum EventMomentState { kMomentNone = 0, kMomentSuccess = 1, kMomentFail = 2, }; struct Item { // total size: 0xC0 class ObjPtr mAnim; // offset 0x0, size 0xC class ObjPtr mIconLabel; // offset 0xC, size 0xC class String mIconLabelStr; // offset 0x18, size 0xC class ObjPtr mTextLabel; // offset 0x24, size 0xC class String mTextLabelStr; // offset 0x30, size 0xC int mTextLabelStart; // offset 0x3C, size 0x4 int mTextLabelEnd; // offset 0x40, size 0x4 class ObjPtr mSfx; // offset 0x44, size 0xC unsigned char mActive; // offset 0x50, size 0x1 class ObjPtr mMomentSuccessGrp; // offset 0x54, size 0xC class ObjPtr mMomentFailGrp; // offset 0x60, size 0xC class Symbol mMomentName; // offset 0x6C, size 0x4 class ObjPtr mMomentSuccessLabel; // offset 0x70, size 0xC class ObjPtr mMomentFailLabel; // offset 0x7C, size 0xC class String mMomentStr; // offset 0x88, size 0xC int mMomentEnd; // offset 0x94, size 0x4 class ObjPtr mMomentSfx; // offset 0x98, size 0xC enum EventMomentState mMomentState; // offset 0xA4, size 0x4 float mStartTime; // offset 0xA8, size 0x4 float mAnimEndTime; // offset 0xAC, size 0x4 float mCountEndTime; // offset 0xB0, size 0x4 float mMomentEndTime; // offset 0xB4, size 0x4 float mMomentCountEndTime; // offset 0xB8, size 0x4 unsigned char mNeedCount; // offset 0xBC, size 0x1 unsigned char mNeedMomentCount; // offset 0xBD, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class BandList : public UIList { // total size: 0x2B0 float mDelayFrac; // offset 0x25C, size 0x4 float mEnterTime; // offset 0x260, size 0x4 float mExitTime; // offset 0x264, size 0x4 float mElementTime; // offset 0x268, size 0x4 class vector mAnimating; // offset 0x26C, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class BandList * mPtr; // offset 0x8, size 0x4 }; class EventCompleteDir : public PanelDir { // total size: 0x2C0 class ObjList mItems; // offset 0x24C, size 0xC unsigned char mEnabled; // offset 0x258, size 0x1 float mInitialDelay; // offset 0x25C, size 0x4 float mAnimTime; // offset 0x260, size 0x4 float mCountTime; // offset 0x264, size 0x4 float mMomentTime; // offset 0x268, size 0x4 class ObjPtr mChallengeList; // offset 0x26C, size 0xC unsigned char mNeedListAnim; // offset 0x278, size 0x1 unsigned char mNeedListScroll; // offset 0x279, size 0x1 }; // Range: 0x801BE7A0 -> 0x801BE9F4 void TourChallengeCompletePanel::Enter(class TourChallengeCompletePanel * const this /* r29 */) { // Local variables class Timer t; // r1+0x8 class EventCompleteDir * dir; // r30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; } // Range: 0x801BE9F4 -> 0x801BEA04 void TourChallengeCompletePanel::Exit() {} // Range: 0x801BEA04 -> 0x801BEA1C unsigned char TourChallengeCompletePanel::IsLoaded() {} // Range: 0x801BEA1C -> 0x801BF04C void TourChallengeCompletePanel::UpdateBasics() { // Local variables class EventCompleteDir * dir; // r31 class TourBand * b; // r30 class TourEvent * e; // r26 enum WinMetric m; // r25 // References // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class Tour * TheTour; } static class Symbol botb_rank_award; // size: 0x4, address: 0x80A4D968 static class Symbol botb_unranked; // size: 0x4, address: 0x80A4D970 class BotbCompRank { // total size: 0x110 char mType; // offset 0x0, size 0x1 int mNum1; // offset 0x4, size 0x4 int mNum2; // offset 0x8, size 0x4 int mFriend; // offset 0xC, size 0x4 char mText[255]; // offset 0x10, size 0xFF }; class BotbCompPerf { // total size: 0x110 char mType; // offset 0x0, size 0x1 int mNum1; // offset 0x4, size 0x4 int mNum2; // offset 0x8, size 0x4 int mFriend; // offset 0xC, size 0x4 char mText[255]; // offset 0x10, size 0xFF }; // Range: 0x801BF04C -> 0x801BFE58 void TourChallengeCompletePanel::UnpackResponse(class TourChallengeCompletePanel * const this /* r27 */) { // Local variables class EventCompleteDir * dir; // r28 class TourBand * b; // r0 class TourEvent * e; // r0 enum WinMetric m; // r0 class BotbCompRank rank; // r1+0x1A0 class BotbCompPerf perf; // r1+0x90 class vector users; // r1+0x84 class BandUser * * u; // r26 class Profile * profile; // r28 class String cookies; // r1+0x78 // References // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__8Sequence; // -> class Symbol botb_perf_default; // -> class Symbol botb_perf_award_suck_mult; // -> class Symbol botb_perf_award_suck_streak; // -> class Symbol botb_perf_award_suck_score; // -> class Symbol botb_perf_award_top; // -> class Symbol botb_perf_award_none; // -> class Symbol botb_perf_award_single; // -> class Symbol botb_pref_award_multiple; // -> class Symbol botb_pref_award_multiple_singular; // -> static class Symbol botb_unranked; // -> static class Symbol botb_rank_award; // -> class Debug TheDebug; // -> class Symbol botb_rank_default; // -> class Symbol botb_rank_failed; // -> class Symbol botb_rank_champ; // -> class Symbol botb_rank_top100_mult; // -> class Symbol botb_rank_top100_streak; // -> class Symbol botb_rank_top100_score; // -> class Symbol botb_rank_overall_mult; // -> class Symbol botb_rank_overall_streak; // -> class Symbol botb_rank_overall_score; // -> class Symbol botb_rank_vs_friend; // -> class Symbol botb_rank_no_friends; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class Tour * TheTour; } static class Symbol botb_net_results_failed; // size: 0x4, address: 0x80A4D978 // Range: 0x801BFE58 -> 0x801BFFE0 void TourChallengeCompletePanel::StartFailed(class TourChallengeCompletePanel * const this /* r31 */) { // Local variables class EventCompleteDir * dir; // r30 class TourBand * b; // r0 class vector users; // r1+0xC int n; // r29 class Profile * pProfile; // r0 // References // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> static class Symbol botb_net_results_failed; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class Tour * TheTour; } // Range: 0x801BFFE0 -> 0x801C0064 class DataNode TourChallengeCompletePanel::OnMsg(class TourChallengeCompletePanel * const this /* r30 */) {} // Range: 0x801C0064 -> 0x801C0094 void TourChallengeCompletePanel::SetSubmittedData() {} // Range: 0x801C0094 -> 0x801C0504 class DataNode TourChallengeCompletePanel::Handle(class TourChallengeCompletePanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__26TourChallengeCompletePanel; // size: 0xAC, address: 0x808A17E8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C0504 -> 0x801C06B0 */ // Range: 0x801C0504 -> 0x801C0550 char * MakeString(const char * fmt /* r0 */, unsigned int t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x801C0550 -> 0x801C05C4 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, const char * t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeCompletePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C06B0 -> 0x801C0888 */ // Range: 0x801C06B0 -> 0x801C06F4 class Symbol TourChallengeCompletePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801C06F4 -> 0x801C0888 void TourChallengeCompletePanel::SetType(class TourChallengeCompletePanel * const this /* r29 */, class Symbol & TourChallengeCompletePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeDetailsPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C0888 -> 0x801C15B0 */ class DataArray * types; // size: 0x4, address: 0x80A4D980 class Symbol disabled; // size: 0x4, address: 0x80A4D988 class Symbol track; // size: 0x4, address: 0x80A4D990 class Symbol song; // size: 0x4, address: 0x80A4D998 class Symbol artist; // size: 0x4, address: 0x80A4D9A0 class Symbol score; // size: 0x4, address: 0x80A4D9A8 class Symbol completed; // size: 0x4, address: 0x80A4D9B0 // Range: 0x801C0888 -> 0x801C0964 void * TourChallengeDetailsPanel::TourChallengeDetailsPanel(class TourChallengeDetailsPanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__25TourChallengeDetailsPanel; // -> struct [anonymous] __vt__12TexLoadPanel; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; } // Range: 0x801C0964 -> 0x801C0AB0 void TourChallengeDetailsPanel::Load(class TourChallengeDetailsPanel * const this /* r28 */) { // Local variables class TourBand * b; // r31 class TourChallengeEvent * e; // r31 class String back_art; // r1+0x14 const char * path; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; } // Range: 0x801C0AB0 -> 0x801C0C38 void TourChallengeDetailsPanel::FinishLoad(class TourChallengeDetailsPanel * const this /* r28 */) { // Local variables class TourBand * b; // r29 class TourChallengeEvent * e; // r0 // References // -> struct [anonymous] __vt__21ChallengeSongProvider; // -> struct [anonymous] __vt__12ListProvider; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; } // Range: 0x801C0C38 -> 0x801C0C90 void TourChallengeDetailsPanel::Unload(class TourChallengeDetailsPanel * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4D9B8 static class Symbol _s; // size: 0x4, address: 0x80A4D9C0 // Range: 0x801C0CF0 -> 0x801C1178 class DataNode TourChallengeDetailsPanel::Handle(class TourChallengeDetailsPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class ChallengeSongProvider : public ListProvider, public Object { // total size: 0x34 const class TourBand * mBand; // offset 0x2C, size 0x4 class TourChallengeEvent * mEvent; // offset 0x30, size 0x4 }; // Range: 0x801C1178 -> 0x801C1268 class Symbol ChallengeSongProvider::State(const class ChallengeSongProvider * const this /* r29 */, int data /* r30 */, class Symbol & component_state /* r31 */) { // References // -> class Symbol disabled; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801C1268 -> 0x801C12D0 int ChallengeSongProvider::NumData(const class ChallengeSongProvider * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801C12D0 -> 0x801C131C class RndMat * ChallengeSongProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801C131C -> 0x801C15B0 char * ChallengeSongProvider::Text(const class ChallengeSongProvider * const this /* r28 */, int showing /* r29 */, int data /* r30 */, class Symbol & slot /* r31 */) { // Local variables int score; // r0 // References // -> const char * gNullStr; // -> class SongMgr & TheSongMgr; // -> class Symbol completed; // -> class Symbol score; // -> class Symbol artist; // -> class Symbol song; // -> class Symbol track; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x98 } __vt__21ChallengeSongProvider; // size: 0x98, address: 0x808A1D70 struct { // total size: 0x8 } __RTTI__21ChallengeSongProvider; // size: 0x8, address: 0x808A1E40 struct { // total size: 0xF4 } __vt__25TourChallengeDetailsPanel; // size: 0xF4, address: 0x808A1E60 struct { // total size: 0x8 } __RTTI__25TourChallengeDetailsPanel; // size: 0x8, address: 0x808A1FA0 /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeDetailsPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C16E4 -> 0x801C18BC */ // Range: 0x801C16E4 -> 0x801C1728 class Symbol TourChallengeDetailsPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801C1728 -> 0x801C18BC void TourChallengeDetailsPanel::SetType(class TourChallengeDetailsPanel * const this /* r29 */, class Symbol & TourChallengeDetailsPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeTierPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C18BC -> 0x801C424C */ class DataArray * types; // size: 0x4, address: 0x80A4D9C8 class Symbol disabled; // size: 0x4, address: 0x80A4D9D0 class Symbol album; // size: 0x4, address: 0x80A4D9D8 class Symbol newburst; // size: 0x4, address: 0x80A4D9E0 class Symbol tier_name; // size: 0x4, address: 0x80A4D9E8 class Symbol available; // size: 0x4, address: 0x80A4D9F0 class Symbol new_sym; // size: 0x4, address: 0x80A4D9F8 class Symbol tour_challenge_tier_locked; // size: 0x4, address: 0x80A4DA00 class Symbol tour_challenge_completed; // size: 0x4, address: 0x80A4DA08 class Symbol tour_challenge_tier_locked_desc; // size: 0x4, address: 0x80A4DA10 class Symbol tour_new; // size: 0x4, address: 0x80A4DA18 class TourChallengeTierPanel * sInstance; // size: 0x4, address: 0x80A4DA1C // Range: 0x801C18BC -> 0x801C1948 void * TourChallengeTierPanel::TourChallengeTierPanel(class TourChallengeTierPanel * const this /* r30 */) { // References // -> class TourChallengeTierPanel * sInstance; // -> struct [anonymous] __vt__22TourChallengeTierPanel; } // Range: 0x801C1948 -> 0x801C1A18 void * TourChallengeTierPanel::~TourChallengeTierPanel(class TourChallengeTierPanel * const this /* r29 */) { // References // -> class TourChallengeTierPanel * sInstance; // -> struct [anonymous] __vt__22TourChallengeTierPanel; } class vector : protected _Vector_base { // total size: 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class vector * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class vector * _M_start; // offset 0x0, size 0x4 class vector * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; // Range: 0x801C1B64 -> 0x801C1C44 void TourChallengeTierPanel::Enter(class TourChallengeTierPanel * const this /* r29 */) { // Local variables class TourChallenge & tc; // r30 class TourBand * tb; // r0 // References // -> struct [anonymous] __vt__21ChallengeTierProvider; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; } // Range: 0x801C1C44 -> 0x801C1C9C void TourChallengeTierPanel::Unload(class TourChallengeTierPanel * const this /* r31 */) {} // Range: 0x801C1C9C -> 0x801C25C0 void TourChallengeTierPanel::Refresh(class TourChallengeTierPanel * const this /* r25 */) { // Local variables class TourBand * tb; // r21 int diff_tier; // r27 enum ChallengeFocus cf; // r0 class TourChallengeEvent * e; // r0 class vector & tiers; // r0 int data; // r26 int data; // r26 class vector tier; // r1+0xD8 // References // -> class Tour * TheTour; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct _IsPOD { // total size: 0x1 }; struct TierLessThan { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801C25C0 -> 0x801C27EC class DataNode TourChallengeTierPanel::OnMsg(class TourChallengeTierPanel * const this /* r26 */, const class UIComponentSelectMsg & msg /* r27 */) { // Local variables class TourBandLocal * tbl; // r28 class UIList * l; // r29 class vector & tier; // r0 int selected_tier; // r0 class TourChallengeEvent * e; // r30 class TourChallengeEvent * * c; // r27 // References // -> struct [anonymous] __RTTI__6UIList; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8TourBand; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Tour * TheTour; } static class Symbol cancel; // size: 0x4, address: 0x80A4DA24 static class Symbol confirm; // size: 0x4, address: 0x80A4DA2C static class Symbol helpbar_back; // size: 0x4, address: 0x80A4DA34 static class Symbol helpbar_select; // size: 0x4, address: 0x80A4DA3C // Range: 0x801C27EC -> 0x801C2F90 void TourChallengeTierPanel::UpdateHelpbar(class TourChallengeTierPanel * const this /* r30 */) { // Local variables class UIList * l; // r29 // References // -> class HelpBarPanel * sInstance; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol helpbar_select; // -> static class Symbol helpbar_back; // -> static class Symbol confirm; // -> static class Symbol cancel; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x801C2F90 -> 0x801C2FD0 class DataNode TourChallengeTierPanel::OnMsg() {} static class Symbol _s; // size: 0x4, address: 0x80A4DA44 static class Symbol _s; // size: 0x4, address: 0x80A4DA4C static class Symbol _s; // size: 0x4, address: 0x80A4DA54 // Range: 0x801C2FD0 -> 0x801C38DC class DataNode TourChallengeTierPanel::Handle(class TourChallengeTierPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class ChallengeTierProvider : public ListProvider { // total size: 0x2C public: const class TourBand & mBand; // offset 0x4, size 0x4 const class TourChallenge & mTourChallenge; // offset 0x8, size 0x4 class vector mTiers; // offset 0xC, size 0xC class RndMat * mLockedMat; // offset 0x18, size 0x4 class RndMat * mBurstMat; // offset 0x1C, size 0x4 class vector mTierMats; // offset 0x20, size 0xC }; // Range: 0x801C38DC -> 0x801C39A0 class Symbol ChallengeTierProvider::State(const class ChallengeTierProvider * const this /* r28 */, class Symbol & component_state /* r29 */) { // References // -> class Symbol disabled; } // Range: 0x801C39A0 -> 0x801C3A18 class Symbol ChallengeTierProvider::DataSymbol() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801C3A18 -> 0x801C3A40 int ChallengeTierProvider::NumData() {} // Range: 0x801C3A40 -> 0x801C3BF0 class RndMat * ChallengeTierProvider::Mat(const class ChallengeTierProvider * const this /* r31 */, int data /* r29 */, class Symbol & slot /* r28 */) { // References // -> class Debug TheDebug; // -> class Symbol newburst; // -> class Symbol album; } // Range: 0x801C3BF0 -> 0x801C3FBC char * ChallengeTierProvider::Text(const class ChallengeTierProvider * const this /* r30 */, int data /* r28 */, class Symbol & slot /* r29 */) { // References // -> class Symbol tour_new; // -> class Symbol tour_challenge_tier_locked_desc; // -> class Symbol tour_challenge_completed; // -> const char * gNullStr; // -> class Symbol tour_challenge_tier_locked; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol new_sym; // -> class Symbol available; // -> class Symbol tier_name; } // Range: 0x801C3FBC -> 0x801C424C void ChallengeTierProvider::InitData(class ChallengeTierProvider * const this /* r29 */, class RndDir * dir /* r30 */) { // Local variables int i; // r31 const char * name; // r0 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x44 } __vt__21ChallengeTierProvider; // size: 0x44, address: 0x808A2360 struct { // total size: 0x8 } __RTTI__21ChallengeTierProvider; // size: 0x8, address: 0x808A23C8 struct { // total size: 0xAC } __vt__22TourChallengeTierPanel; // size: 0xAC, address: 0x808A2758 struct { // total size: 0x8 } __RTTI__22TourChallengeTierPanel; // size: 0x8, address: 0x808A2838 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std82vector>; // size: 0x8, address: 0x808A2920 struct { // total size: 0x8 } __RTTI__PP6RndMat; // size: 0x8, address: 0x808A2938 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C424C -> 0x801C4250 */ // Range: 0x801C424C -> 0x801C4250 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C42A0 -> 0x801C42E8 */ // Range: 0x801C42A0 -> 0x801C42B8 struct __false_type _IsPOD::_Answer() {} // Range: 0x801C42B8 -> 0x801C42D0 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801C42D0 -> 0x801C42E8 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C42E8 -> 0x801C4F38 */ // Range: 0x801C42E8 -> 0x801C439C void sort(class vector * __first /* r29 */, class vector * __last /* r30 */, struct TierLessThan & __comp /* r31 */) {} // Range: 0x801C439C -> 0x801C444C void __final_insertion_sort(class vector * __first /* r29 */, class vector * __last /* r30 */, struct TierLessThan & __comp /* r31 */) {} // Range: 0x801C444C -> 0x801C4588 void __unguarded_insertion_sort_aux(class vector * __last /* r29 */, struct TierLessThan & __comp /* r30 */) { // Local variables class vector * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C4588 -> 0x801C4618 void __unguarded_linear_insert(class vector * __last /* r27 */, class vector & __val /* r28 */) { // Local variables class vector * __next; // r29 } // Range: 0x801C4618 -> 0x801C4764 void __insertion_sort(class vector * __first /* r28 */, class vector * __last /* r29 */, struct TierLessThan & __comp /* r30 */) { // Local variables class vector * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C4764 -> 0x801C492C void __linear_insert(class vector * __first /* r28 */, class vector * __last /* r29 */, class vector & __val /* r30 */, struct TierLessThan & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C492C -> 0x801C4C14 void __introsort_loop(class vector * __first /* r27 */, class vector * __last /* r28 */, long __depth_limit /* r29 */, struct TierLessThan & __comp /* r30 */) { // Local variables class vector * __cut; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C4C14 -> 0x801C4D28 class vector * __unguarded_partition(class vector * __first /* r29 */, class vector * __last /* r30 */, class vector & __pivot /* r31 */) {} // Range: 0x801C4D28 -> 0x801C4D58 void partial_sort() {} // Range: 0x801C4D58 -> 0x801C4F38 void __partial_sort(class vector * __first /* r27 */, class vector * __middle /* r28 */, class vector * __last /* r29 */, struct TierLessThan & __comp /* r30 */) { // Local variables class vector * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C4F38 -> 0x801C5494 */ // Range: 0x801C4F38 -> 0x801C5074 void pop_heap(class vector * __first /* r30 */, class vector * __last /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C5074 -> 0x801C5248 void __adjust_heap(class vector * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, class vector & __val /* r28 */, struct TierLessThan & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C5248 -> 0x801C5310 void __push_heap(class vector * __first /* r28 */, long __holeIndex /* r29 */, long __topIndex /* r30 */, class vector & __val /* r31 */) { // Local variables long __parent; // r24 } // Range: 0x801C5310 -> 0x801C5494 void make_heap(class vector * __first /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C5494 -> 0x801C55F0 */ // Range: 0x801C5494 -> 0x801C55F0 void __pop_heap(class vector * __first /* r29 */, class vector * __last /* r30 */, class vector & __val /* r25 */, struct TierLessThan & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengeTierPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C55F0 -> 0x801C57C8 */ // Range: 0x801C55F0 -> 0x801C5634 class Symbol TourChallengeTierPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801C5634 -> 0x801C57C8 void TourChallengeTierPanel::SetType(class TourChallengeTierPanel * const this /* r29 */, class Symbol & TourChallengeTierPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C57C8 -> 0x801C5ECC */ // Range: 0x801C57C8 -> 0x801C5900 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndMat * * __pos /* r28 */, class RndMat * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndMat * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6RndMat; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C5900 -> 0x801C5CFC void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class vector * __pos /* r25 */, const class vector & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x90 unsigned long __len; // r29 class vector * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std82vector>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801C5CFC -> 0x801C5ECC class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP18TourChallengeEvent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\TourChallengePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C5ECC -> 0x801C8550 */ class DataArray * types; // size: 0x4, address: 0x80A4DA58 class Symbol album; // size: 0x4, address: 0x80A4DA60 class Symbol newburst; // size: 0x4, address: 0x80A4DA68 class Symbol playerdiff; // size: 0x4, address: 0x80A4DA70 class Symbol name; // size: 0x4, address: 0x80A4DA78 class Symbol new_sym; // size: 0x4, address: 0x80A4DA80 class Symbol icon; // size: 0x4, address: 0x80A4DA88 class Symbol in_progress; // size: 0x4, address: 0x80A4DA90 class Symbol tour_new; // size: 0x4, address: 0x80A4DA98 class Symbol tour_challenge_in_progress; // size: 0x4, address: 0x80A4DAA0 // Range: 0x801C5ECC -> 0x801C5FA0 void * TourChallengePanel::TourChallengePanel(class TourChallengePanel * const this /* r31 */) { // References // -> struct [anonymous] __vt__18TourChallengePanel; // -> struct [anonymous] __vt__12TexLoadPanel; // -> struct [anonymous] __vt__Q210ContentMgr8Callback; } // Range: 0x801C5FA0 -> 0x801C60BC void * TourChallengePanel::~TourChallengePanel(class TourChallengePanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__18TourChallengePanel; } static class Symbol new_challenges; // size: 0x4, address: 0x80A4DAA8 // Range: 0x801C6144 -> 0x801C658C void TourChallengePanel::Load(class TourChallengePanel * const this /* r25 */) { // Local variables const char * path_fmt; // r26 class DynamicTex * dlc; // r0 class DynamicTex * loading; // r0 class TourBand * tb; // r0 const class vector & challenges; // r0 class TourChallengeEvent * const * c; // r24 class TourChallengeEvent * e; // r27 const char * art; // r27 class Symbol song; // r1+0x5C const char * path; // r0 // References // -> const char * gNullStr; // -> class SongMgr & TheSongMgr; // -> struct [anonymous] __vt__17ChallengeProvider; // -> static class Symbol new_challenges; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; } class _Temporary_buffer { // total size: 0xC long _M_original_len; // offset 0x0, size 0x4 long _M_len; // offset 0x4, size 0x4 class TourChallengeEvent * * _M_buffer; // offset 0x8, size 0x4 }; // Range: 0x801C658C -> 0x801C65C0 void TourChallengePanel::Enter(class TourChallengePanel * const this /* r31 */) {} // Range: 0x801C65C0 -> 0x801C661C void TourChallengePanel::Unload(class TourChallengePanel * const this /* r31 */) {} // Range: 0x801C661C -> 0x801C6748 class TourChallengeEvent * TourChallengePanel::SelectedEvent(class TourChallengePanel * const this /* r28 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801C6748 -> 0x801C67DC class DataNode TourChallengePanel::OnMsg(class TourChallengePanel * const this /* r30 */) { // Local variables class TourBandLocal * tb; // r31 // References // -> struct [anonymous] __RTTI__8TourBand; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Tour * TheTour; } static class Symbol new_challenges; // size: 0x4, address: 0x80A4DAB0 static class Symbol tour_challenge_tier; // size: 0x4, address: 0x80A4DAB8 static class Message msg; // size: 0x8, address: 0x8097A088 // Range: 0x801C67DC -> 0x801C6DA4 void TourChallengePanel::Refresh(class TourChallengePanel * const this /* r26 */) { // Local variables unsigned char using_new; // r0 class TourBand * tb; // r25 class TourChallengeEvent * e; // r25 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol tour_challenge_tier; // -> struct [anonymous] __RTTI__7UILabel; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class Tour * TheTour; // -> static class Symbol new_challenges; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol cancel; // size: 0x4, address: 0x80A4DAC0 static class Symbol confirm; // size: 0x4, address: 0x80A4DAC8 static class Symbol helpbar_back; // size: 0x4, address: 0x80A4DAD0 static class Symbol helpbar_select; // size: 0x4, address: 0x80A4DAD8 // Range: 0x801C6DA4 -> 0x801C7518 void TourChallengePanel::UpdateHelpbar(class TourChallengePanel * const this /* r29 */) { // Local variables class UIList * l; // r30 enum TourStatus s; // r0 // References // -> class HelpBarPanel * sInstance; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol helpbar_select; // -> static class Symbol helpbar_back; // -> static class Symbol confirm; // -> static class Symbol cancel; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x801C7518 -> 0x801C7558 class DataNode TourChallengePanel::OnMsg() {} static class Symbol _s; // size: 0x4, address: 0x80A4DAE0 static class Symbol _s; // size: 0x4, address: 0x80A4DAE8 // Range: 0x801C7558 -> 0x801C7D34 class DataNode TourChallengePanel::Handle(class TourChallengePanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> class Symbol t; // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class ChallengeProvider : public ListProvider { // total size: 0x2C public: const class TourBand & mBand; // offset 0x4, size 0x4 class vector mChallenges; // offset 0x8, size 0xC class RndDir * mResourceDir; // offset 0x14, size 0x4 class RndMat * mGenericMat; // offset 0x18, size 0x4 class RndMat * mLockedMat; // offset 0x1C, size 0x4 class RndMat * mNewburstMat; // offset 0x20, size 0x4 class RndMat * mDefaultDLCMat; // offset 0x24, size 0x4 const class vector & mCovers; // offset 0x28, size 0x4 }; // Range: 0x801C7D34 -> 0x801C7D44 class Symbol ChallengeProvider::DataSymbol() {} // Range: 0x801C7D44 -> 0x801C7D5C int ChallengeProvider::NumData() {} // Range: 0x801C7D5C -> 0x801C7F38 class RndMat * ChallengeProvider::Mat(const class ChallengeProvider * const this /* r31 */, int data /* r30 */, class Symbol & slot /* r29 */) { // Local variables class TourChallengeEvent * e; // r30 class String name; // r1+0x10 class DynamicTex * const * c; // r0 // References // -> class Debug TheDebug; // -> class Symbol newburst; // -> class Symbol album; } // Range: 0x801C7F38 -> 0x801C809C void ChallengeProvider::Custom(const class ChallengeProvider * const this /* r31 */, int data /* r30 */, class Symbol & slot /* r29 */, class Object * o /* r28 */) { // Local variables class PlayerDiffIcon * pdi; // r29 class TourChallengeEvent * e; // r28 enum TourStatus s; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14PlayerDiffIcon; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol playerdiff; } // Range: 0x801C809C -> 0x801C8300 char * ChallengeProvider::Text(const class ChallengeProvider * const this /* r30 */, int data /* r28 */, class Symbol & slot /* r31 */) { // Local variables class TourChallengeEvent * e; // r28 enum TourStatus s; // r0 unsigned char incomplete; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol tour_challenge_in_progress; // -> class Symbol tour_new; // -> const char * gNullStr; // -> class Symbol in_progress; // -> class Symbol icon; // -> class Symbol new_sym; // -> class Symbol name; } // Range: 0x801C8300 -> 0x801C8550 void ChallengeProvider::InitData(class ChallengeProvider * const this /* r29 */, class RndDir * dir /* r30 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x44 } __vt__17ChallengeProvider; // size: 0x44, address: 0x808A2C58 struct { // total size: 0x8 } __RTTI__17ChallengeProvider; // size: 0x8, address: 0x808A2CC0 struct { // total size: 0xF4 } __vt__18TourChallengePanel; // size: 0xF4, address: 0x808A3118 struct { // total size: 0x8 } __RTTI__18TourChallengePanel; // size: 0x8, address: 0x808A3250 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C8550 -> 0x801C94BC */ // Range: 0x801C8550 -> 0x801C8584 void stable_sort() {} // Range: 0x801C8584 -> 0x801C86A0 void __stable_sort_aux(class TourChallengeEvent * * __first /* r30 */, class TourChallengeEvent * * __last /* r31 */, struct ChallengeCmp & __comp /* r29 */) { // Local variables class _Temporary_buffer buf; // r1+0x18 } // Range: 0x801C86A0 -> 0x801C87B8 void __stable_sort_adaptive(class TourChallengeEvent * * __first /* r27 */, class TourChallengeEvent * * __last /* r28 */, class TourChallengeEvent * * __buffer /* r29 */, long __buffer_size /* r30 */, struct ChallengeCmp & __comp /* r31 */) { // Local variables long __len; // r4 class TourChallengeEvent * * __middle; // r26 } // Range: 0x801C87B8 -> 0x801C89F0 void __merge_adaptive(class TourChallengeEvent * * __first /* r20 */, class TourChallengeEvent * * __middle /* r21 */, class TourChallengeEvent * * __last /* r22 */, long __len1 /* r23 */, long __len2 /* r24 */, class TourChallengeEvent * * __buffer /* r25 */, long __buffer_size /* r26 */, struct ChallengeCmp & __comp /* r27 */) { // Local variables class TourChallengeEvent * * __first_cut; // r31 class TourChallengeEvent * * __second_cut; // r30 long __len11; // r29 long __len22; // r28 class TourChallengeEvent * * __new_middle; // r21 } // Range: 0x801C89F0 -> 0x801C8B68 class TourChallengeEvent * * __rotate_adaptive(class TourChallengeEvent * * __first /* r27 */, class TourChallengeEvent * * __middle /* r28 */, class TourChallengeEvent * * __last /* r29 */, class TourChallengeEvent * * __buffer /* r30 */) {} // Range: 0x801C8B68 -> 0x801C8B74 class TourChallengeEvent * * __rotate() {} // Range: 0x801C8B74 -> 0x801C8D2C class TourChallengeEvent * * __rotate_aux(class TourChallengeEvent * * __middle /* r30 */) { // Local variables long __n; // r0 long __k; // r6 long __l; // r7 class TourChallengeEvent * * __result; // r31 long __d; // r0 long __i; // r9 class TourChallengeEvent * __tmp; // r10 class TourChallengeEvent * * __p; // r11 long __j; // r12 long __j; // r12 } // Range: 0x801C8D2C -> 0x801C8DB8 class TourChallengeEvent * * __upper_bound(class TourChallengeEvent * * __first /* r26 */, class TourChallengeEvent * const & __val /* r27 */, struct ChallengeCmp & __comp /* r28 */) { // Local variables long __len; // r31 long __half; // r30 class TourChallengeEvent * * __middle; // r29 } // Range: 0x801C8DB8 -> 0x801C8F24 class TourChallengeEvent * * __merge_backward(class TourChallengeEvent * * __first1 /* r26 */, class TourChallengeEvent * * __last1 /* r27 */, class TourChallengeEvent * * __first2 /* r28 */, class TourChallengeEvent * * __last2 /* r29 */, class TourChallengeEvent * * __result /* r30 */, struct ChallengeCmp & __comp /* r31 */) {} // Range: 0x801C8F24 -> 0x801C9010 class TourChallengeEvent * * merge(class TourChallengeEvent * * __first1 /* r26 */, class TourChallengeEvent * * __last1 /* r27 */, class TourChallengeEvent * * __first2 /* r28 */, class TourChallengeEvent * * __last2 /* r29 */, class TourChallengeEvent * * __result /* r30 */, struct ChallengeCmp & __comp /* r31 */) {} // Range: 0x801C9010 -> 0x801C90CC void __merge_sort_with_buffer(class TourChallengeEvent * * __first /* r25 */, class TourChallengeEvent * * __last /* r26 */, class TourChallengeEvent * * __buffer /* r27 */, struct ChallengeCmp & __comp /* r28 */) { // Local variables long __len; // r31 class TourChallengeEvent * * __buffer_last; // r30 long __step_size; // r29 } // Range: 0x801C90CC -> 0x801C91A8 void __merge_sort_loop(class TourChallengeEvent * * __first /* r27 */, class TourChallengeEvent * * __last /* r28 */, class TourChallengeEvent * * __result /* r8 */, long __step_size /* r1+0x8 */, struct ChallengeCmp & __comp /* r29 */) { // Local variables long __two_step; // r30 } // Range: 0x801C91A8 -> 0x801C923C void __chunk_insertion_sort(class TourChallengeEvent * * __first /* r27 */, class TourChallengeEvent * * __last /* r28 */, long __chunk_size /* r29 */, struct ChallengeCmp & __comp /* r30 */) {} // Range: 0x801C923C -> 0x801C9320 void __inplace_stable_sort(class TourChallengeEvent * * __first /* r28 */, class TourChallengeEvent * * __last /* r29 */, struct ChallengeCmp & __comp /* r30 */) { // Local variables class TourChallengeEvent * * __middle; // r31 } // Range: 0x801C9320 -> 0x801C94BC void __merge_without_buffer(class TourChallengeEvent * * __first /* r22 */, class TourChallengeEvent * * __middle /* r23 */, class TourChallengeEvent * * __last /* r24 */, long __len1 /* r25 */, long __len2 /* r26 */, struct ChallengeCmp & __comp /* r27 */) { // Local variables class TourChallengeEvent * * __first_cut; // r31 class TourChallengeEvent * * __second_cut; // r30 long __len11; // r29 long __len22; // r28 class TourChallengeEvent * * __new_middle; // r23 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C94BC -> 0x801C973C */ // Range: 0x801C94BC -> 0x801C9548 class TourChallengeEvent * * __lower_bound(class TourChallengeEvent * * __first /* r26 */, class TourChallengeEvent * const & __val /* r27 */, struct ChallengeCmp & __comp /* r28 */) { // Local variables long __len; // r31 long __half; // r30 class TourChallengeEvent * * __middle; // r29 } // Range: 0x801C9548 -> 0x801C96A8 class DynamicTex * const * find(class DynamicTex * const * __last /* r28 */, const class String & __val /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\meta\TourChallengePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C973C -> 0x801C9914 */ // Range: 0x801C973C -> 0x801C9780 class Symbol TourChallengePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801C9780 -> 0x801C9914 void TourChallengePanel::SetType(class TourChallengePanel * const this /* r29 */, class Symbol & TourChallengePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\TourCharLocal.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801C9914 -> 0x801CF110 */ // Range: 0x801C9914 -> 0x801C9944 unsigned char __eq() {} // Range: 0x801C9944 -> 0x801C9974 unsigned char __eq() {} static class Symbol outfit; // size: 0x4, address: 0x80A4DAF4 static class Symbol colors; // size: 0x4, address: 0x80A4DAFC static class Symbol tour; // size: 0x4, address: 0x80A4DB04 static class Symbol default_hometown; // size: 0x4, address: 0x80A4DB0C static class Symbol default_money; // size: 0x4, address: 0x80A4DB14 // Range: 0x801C9974 -> 0x801C9ECC void * TourCharLocal::TourCharLocal(class TourCharLocal * const this /* r26 */, const class DataArray * char_data /* r23 */) { // Local variables class DataArray * outs; // r28 int i; // r27 class Symbol category; // r1+0x5C class DataArray * color_array; // r24 struct OutfitPref pref; // r1+0x90 int c; // r23 int color_idx; // r25 class DataArray * t; // r23 // References // -> static class Symbol default_money; // -> static class Symbol default_hometown; // -> static class Symbol tour; // -> struct [anonymous] __RTTI__Pi; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std41_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol colors; // -> static class Symbol outfit; // -> const char * gNullStr; // -> struct [anonymous] __vt__13TourCharLocal; } class _List_node : public _List_node_base { // total size: 0x20 public: struct OutfitPref _M_data; // offset 0x8, size 0x18 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct ClosetOutfit _M_data; // offset 0x8, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x1C public: struct OutfitGroup _M_data; // offset 0x8, size 0x14 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std41_List_node; // size: 0x8, address: 0x808A3660 static class Symbol outfit; // size: 0x4, address: 0x80A4DB1C static class Symbol colors; // size: 0x4, address: 0x80A4DB24 // Range: 0x801C9ECC -> 0x801CA524 void TourCharLocal::InitOutfitGroups(class TourCharLocal * const this /* r22 */) { // Local variables class DataArray * outs; // r28 const class DataArray * categories; // r27 int i; // r26 class Symbol category; // r1+0xD4 class Symbol outfit; // r1+0xD0 class DataArray * cat; // r25 class DataArray * groups; // r24 struct OutfitGroup * group; // r30 struct OutfitGroup new_group; // r1+0x128 int g; // r23 class Symbol group_name; // r1+0xCC // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std44_List_node>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std50_List_node>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std42_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol colors; // -> static class Symbol outfit; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct pair _M_data; // offset 0x8, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct pair _M_data; // offset 0x8, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std50_List_node>; // size: 0x8, address: 0x808A36E8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std44_List_node>; // size: 0x8, address: 0x808A3730 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std42_List_node; // size: 0x8, address: 0x808A3770 // Range: 0x801CA524 -> 0x801CA65C void * TourCharLocal::TourCharLocal(class TourCharLocal * const this /* r29 */, class BinStream & s /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__13TourCharLocal; } // Range: 0x801CA65C -> 0x801CA778 void * TourCharLocal::~TourCharLocal(class TourCharLocal * const this /* r29 */) { // References // -> struct [anonymous] __vt__13TourCharLocal; } // Range: 0x801CA778 -> 0x801CA780 class Symbol TourCharLocal::Hometown() {} // Range: 0x801CA780 -> 0x801CA788 int TourCharLocal::Money() {} // Range: 0x801CA788 -> 0x801CA790 int TourCharLocal::MoneySpentOnOutfits() {} // Range: 0x801CA790 -> 0x801CA864 unsigned char TourCharLocal::HasOutfit(const class TourCharLocal * const this /* r29 */, class Symbol & category /* r30 */, class Symbol & outfit /* r31 */) { // Local variables struct ClosetOutfit search; // r1+0x38 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801CA864 -> 0x801CA86C char * TourCharLocal::CharName() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801CA86C -> 0x801CAB6C void TourCharLocal::UpdatePref(class TourCharLocal * const this /* r29 */, class CompositeCharacter * cc /* r30 */, class Symbol & category /* r31 */, class Symbol & outfit /* r27 */) { // Local variables struct OutfitPref s; // r1+0x58 struct _List_iterator o; // r1+0x54 class OutfitConfig * oc; // r27 int i; // r28 // References // -> struct [anonymous] __RTTI__Pi; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std41_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol tour; // size: 0x4, address: 0x80A4DB2C static class Symbol max_money; // size: 0x4, address: 0x80A4DB34 // Range: 0x801CAB6C -> 0x801CAC18 int TourCharLocal::MaxMoney() { // References // -> static class Symbol max_money; // -> static class Symbol tour; } // Range: 0x801CAC18 -> 0x801CAC30 unsigned char __eq() {} // Range: 0x801CAC30 -> 0x801CACCC class Symbol TourCharLocal::SelectedOutfitGroup(const class TourCharLocal * const this /* r30 */, class Symbol & category /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801CACCC -> 0x801CADB0 unsigned char TourCharLocal::HasGroupSelection(const class TourCharLocal * const this /* r28 */, class Symbol & category /* r27 */, class Symbol & group /* r26 */) { // Local variables struct OutfitGroup * g; // r0 class DataArray * outfits; // r29 int num; // r28 int i; // r27 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801CADB0 -> 0x801CAE24 struct OutfitGroup * TourCharLocal::FindOutfitGroup(const class TourCharLocal * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x24 } // Range: 0x801CAE24 -> 0x801CAEC4 class Symbol TourCharLocal::GroupName(class Symbol & outfit /* r29 */) { // Local variables const char * group_name; // r0 class String group_str; // r1+0x10 } static class Symbol hair; // size: 0x4, address: 0x80A4DB3C // Range: 0x801CAEC4 -> 0x801CAF84 void TourCharLocal::ConfigureChar(class TourCharLocal * const this /* r30 */, class CompositeCharacter * cc /* r31 */) { // Local variables class Symbol selected; // r1+0x18 int hair_color; // r0 // References // -> static class Symbol hair; } static class Symbol tour; // size: 0x4, address: 0x80A4DB44 static class Symbol update_char_appearance; // size: 0x4, address: 0x80A4DB4C class DataArrayMsg : public NetMessage { // total size: 0x24 class MemStream mBuffer; // offset 0x4, size 0x20 }; // Range: 0x801CAF84 -> 0x801CB280 void TourCharLocal::UpdateAppearance(class TourCharLocal * const this /* r30 */, int player_num /* r31 */) { // Local variables class DataArrayPtr data; // r1+0x40 class DataArrayPtr msg; // r1+0x38 class DataArrayMsg dataMsg; // r1+0x48 // References // -> class Net TheNet; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol update_char_appearance; // -> static class Symbol tour; } static class Symbol skin_color_index; // size: 0x4, address: 0x80A4DB54 // Range: 0x801CB280 -> 0x801CB3CC void TourCharLocal::SetSkinColor(class TourCharLocal * const this /* r29 */, class CompositeCharacter * cc /* r30 */, int new_color_index /* r31 */) { // Local variables class DataNode & nodeSkinColorIndex; // r27 // References // -> static class Symbol skin_color_index; } static class Symbol eye_color_index; // size: 0x4, address: 0x80A4DB5C // Range: 0x801CB3CC -> 0x801CB514 void TourCharLocal::SetEyeColor(class TourCharLocal * const this /* r29 */, class CompositeCharacter * cc /* r30 */, int new_color_index /* r31 */) { // Local variables class DataNode & old_index; // r27 // References // -> static class Symbol eye_color_index; } static class Symbol eyebrow_color_index; // size: 0x4, address: 0x80A4DB64 // Range: 0x801CB514 -> 0x801CB65C void TourCharLocal::SetEyebrowColor(class TourCharLocal * const this /* r29 */, class CompositeCharacter * cc /* r30 */, int new_index /* r31 */) { // Local variables class DataNode & old_index; // r27 // References // -> static class Symbol eyebrow_color_index; } static class Symbol tattoo_prefab; // size: 0x4, address: 0x80A4DB6C // Range: 0x801CB65C -> 0x801CB7BC void TourCharLocal::SetTattooPrefab(class TourCharLocal * const this /* r29 */, class CompositeCharacter * cc /* r30 */, class Symbol & tattoo_name /* r31 */) { // Local variables class DataArray * tattoo_data; // r0 class DataNode & tattoo_old; // r27 // References // -> static class Symbol tattoo_prefab; } // Range: 0x801CB7BC -> 0x801CB924 void TourCharLocal::SetOutfitColor(class TourCharLocal * const this /* r26 */, class CompositeCharacter * cc /* r27 */, class Symbol & category /* r28 */, int option_index /* r29 */, int color_index /* r30 */) { // Local variables struct OutfitPref & pref; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol weight; // size: 0x4, address: 0x80A4DB74 // Range: 0x801CB924 -> 0x801CBA6C void TourCharLocal::SetWeight(class TourCharLocal * const this /* r30 */, class CompositeCharacter * cc /* r31 */, float new_weight /* f31 */) { // Local variables class DataNode & nodeWeight; // r27 // References // -> static class Symbol weight; } static class Symbol height; // size: 0x4, address: 0x80A4DB7C // Range: 0x801CBA6C -> 0x801CBBB4 void TourCharLocal::SetHeight(class TourCharLocal * const this /* r30 */, class CompositeCharacter * cc /* r31 */, float new_height /* f31 */) { // Local variables class DataNode & nodeHeight; // r27 // References // -> static class Symbol height; } static class Symbol attitude; // size: 0x4, address: 0x80A4DB84 // Range: 0x801CBBB4 -> 0x801CBCFC void TourCharLocal::SetAttitude(class TourCharLocal * const this /* r29 */, class CompositeCharacter * cc /* r30 */, int new_attitude /* r31 */) { // Local variables class DataNode & nodeAttitude; // r27 // References // -> static class Symbol attitude; } // Range: 0x801CBCFC -> 0x801CBD80 void TourCharLocal::SetMoney(class TourCharLocal * const this /* r30 */, int money /* r31 */) {} // Range: 0x801CBD80 -> 0x801CBF1C void TourCharLocal::BuyOutfit(class TourCharLocal * const this /* r31 */, class Symbol & category /* r27 */, class Symbol & outfit /* r28 */, int amt /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std43_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std43_List_node; // size: 0x8, address: 0x808A3928 // Range: 0x801CBF1C -> 0x801CBF88 void TourCharLocal::SetCharName(class TourCharLocal * const this /* r30 */, const char * name /* r31 */) {} // Range: 0x801CBF88 -> 0x801CBFA0 unsigned char __eq() {} // Range: 0x801CBFA0 -> 0x801CC0E8 void TourCharLocal::SetGroupOutfit(class TourCharLocal * const this /* r29 */, class Symbol & outfit /* r30 */) { // Local variables struct OutfitGroup * g; // r0 struct _List_iterator v; // r1+0x24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801CC0E8 -> 0x801CC0F0 void TourCharLocal::SetEyebrowsMatchHair() {} // Range: 0x801CC0F0 -> 0x801CC0FC void TourCharLocal::SetHometown() {} // Range: 0x801CC0FC -> 0x801CC184 void TourCharLocal::AddMoney(class TourCharLocal * const this /* r30 */) { // Local variables int new_money; // r31 } // Range: 0x801CC184 -> 0x801CC1F8 void TourCharLocal::SetDirty(class TourCharLocal * const this /* r29 */, unsigned char val /* r30 */, int flags /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; } static int gVer; // size: 0x4, address: 0x80A4DB88 // Range: 0x801CC1F8 -> 0x801CC264 class BinStream & __ls(class BinStream & d /* r30 */, const struct OutfitPref & pref /* r31 */) {} // Range: 0x801CC264 -> 0x801CC2C8 class BinStream & __rs(class BinStream & d /* r30 */, struct OutfitPref & pref /* r31 */) {} // Range: 0x801CC2C8 -> 0x801CC310 class BinStream & __ls(class BinStream & d /* r30 */, const struct ClosetOutfit & co /* r31 */) {} // Range: 0x801CC310 -> 0x801CC358 class BinStream & __rs(class BinStream & d /* r30 */, struct ClosetOutfit & co /* r31 */) {} // Range: 0x801CC358 -> 0x801CC3AC class BinStream & __ls(class BinStream & d /* r30 */, const struct OutfitGroup & g /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801CC3AC -> 0x801CC400 class BinStream & __rs(class BinStream & d /* r30 */, struct OutfitGroup & g /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801CC400 -> 0x801CC544 void TourCharLocal::Save(class TourCharLocal * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int i; // r31 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; static class Symbol outfit; // size: 0x4, address: 0x80A4DB90 class IntPacker { // total size: 0xC unsigned char * mBuffer; // offset 0x0, size 0x4 unsigned int mPos; // offset 0x4, size 0x4 unsigned int mSize; // offset 0x8, size 0x4 }; // Range: 0x801CC544 -> 0x801CCBF0 void TourCharLocal::SaveDb(class TourCharLocal * const this /* r25 */, class BinStream & s /* r26 */) { // Local variables char buffer[65536]; // r31+0xFFFF0008 class IntPacker packer; // r31+0x40 class DataArray * o; // r28 int i; // r27 class Symbol category; // r31+0x3C class Symbol selected; // r31+0x38 unsigned int catIdx; // r24 unsigned int selIdx; // r30 struct OutfitPref & pref; // r0 int i; // r23 class DataArray * tat; // r23 unsigned int tatIdx; // r0 int i; // r23 unsigned int size; // r23 // References // -> static class Symbol outfit; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } static class Symbol outfit; // size: 0x4, address: 0x80A4DB98 // Range: 0x801CCBF0 -> 0x801CCFF4 void TourCharLocal::SaveRemote(class TourCharLocal * const this /* r28 */, class DataArray * dest /* r29 */) { // Local variables class MemStream m; // r1+0x88 class String censored; // r1+0x78 class DataArray * o; // r31 int i; // r30 class Symbol category; // r1+0x68 class Symbol selected; // r1+0x64 struct OutfitPref & pref; // r0 int i; // r26 class DataArray * tat; // r26 int i; // r26 // References // -> static class Symbol outfit; } static class Symbol gender; // size: 0x4, address: 0x80A4DBA0 static class Symbol attitude; // size: 0x4, address: 0x80A4DBA8 static class Symbol skin_color_index; // size: 0x4, address: 0x80A4DBB0 static class Symbol eye_color_index; // size: 0x4, address: 0x80A4DBB8 static class Symbol eyebrow_color_index; // size: 0x4, address: 0x80A4DBC0 static class Symbol height; // size: 0x4, address: 0x80A4DBC8 static class Symbol weight; // size: 0x4, address: 0x80A4DBD0 static class Symbol outfit; // size: 0x4, address: 0x80A4DBD8 static class Symbol colors; // size: 0x4, address: 0x80A4DBE0 // Range: 0x801CCFF4 -> 0x801CE134 void TourCharLocal::SavePrefab(class TourCharLocal * const this /* r23 */, class DataArray * dest /* r24 */) { // Local variables class DataArray * local_outfit; // r29 class DataArray * remote_outfit; // r28 int i; // r27 class Symbol category; // r1+0x6C class Symbol selected; // r1+0x68 struct OutfitPref & pref; // r0 class DataArrayPtr remote; // r1+0x1A8 class DataArray * c; // r26 int i; // r25 class DataArray * local_tat; // r23 // References // -> static class Symbol colors; // -> static class Symbol outfit; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol weight; // -> static class Symbol height; // -> static class Symbol eyebrow_color_index; // -> static class Symbol eye_color_index; // -> static class Symbol skin_color_index; // -> static class Symbol attitude; // -> static class Symbol gender; } static class Symbol kGenres[6]; // size: 0x18, address: 0x8097A090 // Range: 0x801CE134 -> 0x801CE33C void TourCharLocal::CheatBuyAllOutfits(class TourCharLocal * const this /* r30 */) { // Local variables class list & providers; // r0 struct _List_iterator providerIter; // r1+0x40 class OutfitProvider * provider; // r28 class Symbol category; // r1+0x3C int genreIndex; // r27 class Symbol genre; // r1+0x38 int outfitIndex; // r26 class Symbol outfit; // r1+0x34 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Shop * TheShop; // -> static class Symbol kGenres[6]; // -> const char * gNullStr; } // Range: 0x801CE33C -> 0x801CE4B8 void TourCharLocal::WriteConfig(class TourCharLocal * const this /* r31 */) { // Local variables class DataArrayPtr data; // r1+0x18 class DataArray * a; // r31 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x801CE4B8 -> 0x801CE50C void TourCharLocal::PrintGuid() { // Local variables const int * data; // r0 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A4DBE8 static class Symbol _s; // size: 0x4, address: 0x80A4DBF0 static class Symbol _s; // size: 0x4, address: 0x80A4DBF8 static class Symbol _s; // size: 0x4, address: 0x80A4DC00 static class Symbol _s; // size: 0x4, address: 0x80A4DC08 static class Symbol _s; // size: 0x4, address: 0x80A4DC10 static class Symbol _s; // size: 0x4, address: 0x80A4DC18 static class Symbol _s; // size: 0x4, address: 0x80A4DC20 static class Symbol _s; // size: 0x4, address: 0x80A4DC28 static class Symbol _s; // size: 0x4, address: 0x80A4DC30 static class Symbol _s; // size: 0x4, address: 0x80A4DC38 static class Symbol _s; // size: 0x4, address: 0x80A4DC40 static class Symbol _s; // size: 0x4, address: 0x80A4DC48 static class Symbol _s; // size: 0x4, address: 0x80A4DC50 static class Symbol _s; // size: 0x4, address: 0x80A4DC58 static class Symbol _s; // size: 0x4, address: 0x80A4DC60 static class Symbol _s; // size: 0x4, address: 0x80A4DC68 static class Symbol _s; // size: 0x4, address: 0x80A4DC70 static class Symbol _s; // size: 0x4, address: 0x80A4DC78 static class Symbol _s; // size: 0x4, address: 0x80A4DC80 static class Symbol _s; // size: 0x4, address: 0x80A4DC88 static class Symbol _s; // size: 0x4, address: 0x80A4DC90 // Range: 0x801CE50C -> 0x801CF110 class DataNode TourCharLocal::Handle(class TourCharLocal * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xC0 } __vt__13TourCharLocal; // size: 0xC0, address: 0x808A4148 class SessionMsg : public NetMessage { // total size: 0x4 }; class PlayerLeftMsg : public SessionMsg { // total size: 0x8 int mPlayerID; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class MemStream * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class MemStream * _M_start; // offset 0x0, size 0x4 class MemStream * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class JoinRequestMsg : public SessionMsg { // total size: 0x40 int mGameMode; // offset 0x4, size 0x4 class vector mPlayerIDs; // offset 0x8, size 0xC class vector mPlayerData; // offset 0x14, size 0xC class MemStream mAuthData; // offset 0x20, size 0x20 }; class JoinResponseMsg : public SessionMsg { // total size: 0x24 enum JoinResponseError mError; // offset 0x4, size 0x4 int mCustomError; // offset 0x8, size 0x4 class vector mOldIDs; // offset 0xC, size 0xC class vector mNewIDs; // offset 0x18, size 0xC }; class NewPlayerMsg : public SessionMsg { // total size: 0x28 int mPlayerID; // offset 0x4, size 0x4 class MemStream mPlayerData; // offset 0x8, size 0x20 }; class AddPlayerRequestMsg : public SessionMsg { // total size: 0x48 int mPlayerID; // offset 0x4, size 0x4 class MemStream mPlayerData; // offset 0x8, size 0x20 class MemStream mAuthData; // offset 0x28, size 0x20 }; class AddPlayerResponseMsg : public SessionMsg { // total size: 0x10 unsigned char mSuccess; // offset 0x4, size 0x1 int mOldID; // offset 0x8, size 0x4 int mNewID; // offset 0xC, size 0x4 }; class ChangePlayerMsg : public SessionMsg { // total size: 0x2C int mPlayerID; // offset 0x4, size 0x4 unsigned int mDirtyMask; // offset 0x8, size 0x4 class MemStream mPlayerData; // offset 0xC, size 0x20 }; class BeginLoadingMsg : public SessionMsg { // total size: 0x4 }; class FinishedLoadingMsg : public SessionMsg { // total size: 0x8 unsigned int mMachineID; // offset 0x4, size 0x4 }; class StartGameOnTimeMsg : public SessionMsg { // total size: 0x10 unsigned long long mStartTime; // offset 0x8, size 0x8 }; class EndGameMsg : public SessionMsg { // total size: 0xC int mResultCode; // offset 0x4, size 0x4 unsigned char mReportStats; // offset 0x8, size 0x1 }; class VoiceDataMsg : public SessionMsg { // total size: 0x28 int mPlayerID; // offset 0x4, size 0x4 class MemStream mVoiceData; // offset 0x8, size 0x20 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801CF110 -> 0x801CF8CC */ // Range: 0x801CF110 -> 0x801CF224 int TourCharLocal::OutfitColor(const class TourCharLocal * const this /* r27 */, class Symbol & category /* r28 */, class Symbol & outfit /* r29 */, int option_index /* r30 */) { // Local variables const struct OutfitPref & o; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801CF224 -> 0x801CF324 struct OutfitPref & TourCharLocal::FindOutfitPref(const class TourCharLocal * const this /* r31 */) { // Local variables struct OutfitPref s; // r1+0x30 struct _List_iterator o; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801CF324 -> 0x801CF6F0 void TourCharLocal::SelectOutfit(class TourCharLocal * const this /* r27 */, class CompositeCharacter * cc /* r28 */, class Symbol & category /* r29 */, class Symbol & outfit /* r30 */) { // Local variables class DataArray * insts; // r0 class DataArray * cat; // r25 class ObjDirItr ol; // r1+0x48 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801CF6F0 -> 0x801CF80C void TourCharLocal::SelectOutfitGroup(class TourCharLocal * const this /* r27 */, class CompositeCharacter * cc /* r28 */, class Symbol & category /* r29 */, class Symbol & group /* r30 */) { // Local variables struct OutfitGroup * g; // r0 struct _List_iterator v; // r1+0x24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801CF80C -> 0x801CF8CC void TourCharLocal::SetTourWinDiff(class TourCharLocal * const this /* r29 */, enum ControllerType ct /* r30 */, enum Difficulty diff /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801CF960 -> 0x801CFA80 */ // Range: 0x801CF960 -> 0x801CF9F8 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r28 */, class Symbol & t2 /* r29 */, unsigned long t3 /* r30 */, int t4 /* r31 */) { // Local variables class FormatString f; // r1+0x10 } // Range: 0x801CF9F8 -> 0x801CFA80 char * MakeString(const char * fmt /* r0 */, int t1 /* r28 */, int t2 /* r29 */, int t3 /* r30 */, int t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801CFA80 -> 0x801CFA88 */ // Range: 0x801CFA80 -> 0x801CFA84 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x801CFA84 -> 0x801CFA88 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801CFA88 -> 0x801CFCF4 */ // Range: 0x801CFA88 -> 0x801CFB38 struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x801CFB38 -> 0x801CFBD0 struct _List_iterator find(const struct ClosetOutfit & __val /* r30 */) {} // Range: 0x801CFBD0 -> 0x801CFC54 struct _List_iterator find(const struct OutfitPref & __val /* r31 */) {} // Range: 0x801CFC54 -> 0x801CFCF4 struct _List_iterator find(const class Symbol & __val /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801CFCF4 -> 0x801D08C8 */ // Range: 0x801CFCF4 -> 0x801CFDC8 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x801CFDC8 -> 0x801CFE0C class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x801CFE0C -> 0x801CFEE0 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x801CFEE0 -> 0x801CFF24 class BinStream & __ls(class BinStream & d /* r30 */, const struct pair & c /* r31 */) {} // Range: 0x801CFF24 -> 0x801CFFC4 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> const char * gNullStr; } // Range: 0x801CFFC4 -> 0x801D000C class BinStream & __rs(class BinStream & d /* r30 */, struct pair & c /* r31 */) {} // Range: 0x801D000C -> 0x801D00A8 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> const char * gNullStr; } // Range: 0x801D00A8 -> 0x801D00EC class BinStream & __rs(class BinStream & d /* r30 */, struct pair & c /* r31 */) {} // Range: 0x801D00EC -> 0x801D01C0 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x801D01C0 -> 0x801D0294 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x801D0294 -> 0x801D0368 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x801D0368 -> 0x801D065C void TourCharLocal::Load(class TourCharLocal * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables const class DataArray * cats; // r28 class DataArray * outfit; // r27 int i; // r26 int i; // r26 int diff; // r1+0x1C int diff_crap; // r1+0x18 unsigned char dirty_upload; // r26 unsigned char name_unchecked; // r27 class GameplayOptions dummy; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gVer; } // Range: 0x801D065C -> 0x801D0750 class BinStream & __rs(class BinStream & d /* r28 */, class list & c /* r29 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> const char * gNullStr; } // Range: 0x801D0750 -> 0x801D082C class BinStream & __rs(class BinStream & d /* r29 */, class list & c /* r30 */) { // Local variables unsigned int s; // r1+0x18 struct _List_iterator t; // r1+0x14 // References // -> const char * gNullStr; } // Range: 0x801D082C -> 0x801D08C8 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\band2\src\meta\TourCharLocal.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D08C8 -> 0x801D08D0 */ // Range: 0x801D08C8 -> 0x801D08D0 unsigned int TourCharLocal::SecBetweenUploads() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D08D0 -> 0x801D1460 */ // Range: 0x801D08D0 -> 0x801D0B14 void list::resize(const struct OutfitPref & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x44 unsigned long __len; // r6 // References // -> struct [anonymous] __RTTI__Pi; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std41_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801D0B14 -> 0x801D0C5C void list::resize(const struct ClosetOutfit & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std43_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801D0C5C -> 0x801D0F74 void list::resize(const struct OutfitGroup & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x78 unsigned long __len; // r6 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std44_List_node>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std50_List_node>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std42_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801D0F74 -> 0x801D10BC void list::resize(const struct pair & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std44_List_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801D10BC -> 0x801D1204 void list::resize(const struct pair & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std50_List_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801D1204 -> 0x801D1264 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x801D1264 -> 0x801D130C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x801D130C -> 0x801D13A0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x801D13A0 -> 0x801D1400 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x801D1400 -> 0x801D1460 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\TourCharRemote.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D14D0 -> 0x801D3908 */ // Range: 0x801D14D0 -> 0x801D1544 class TourCharRemote * TourCharRemote::Create(class DataArray * char_data /* r29 */, unsigned char patches /* r30 */) {} static class Symbol name; // size: 0x4, address: 0x80A4DC9C static class Symbol hometown; // size: 0x4, address: 0x80A4DCA4 static class Symbol money; // size: 0x4, address: 0x80A4DCAC static class Symbol gender; // size: 0x4, address: 0x80A4DCB4 static class Symbol attitude; // size: 0x4, address: 0x80A4DCBC static class Symbol skin_color_index; // size: 0x4, address: 0x80A4DCC4 static class Symbol eye_color_index; // size: 0x4, address: 0x80A4DCCC static class Symbol eyebrow_color_index; // size: 0x4, address: 0x80A4DCD4 static class Symbol height; // size: 0x4, address: 0x80A4DCDC static class Symbol weight; // size: 0x4, address: 0x80A4DCE4 static class Symbol outfit; // size: 0x4, address: 0x80A4DCEC static class Symbol colors; // size: 0x4, address: 0x80A4DCF4 static class Symbol tattoo_prefab; // size: 0x4, address: 0x80A4DCFC // Range: 0x801D1544 -> 0x801D2C68 void * TourCharRemote::TourCharRemote(class TourCharRemote * const this /* r26 */, class DataArray * data /* r25 */) { // Local variables int size; // r1+0x90 class BufStream b; // r1+0x244 class String tmp_name; // r1+0x238 class Symbol tmp_hometown; // r1+0x8C int tmp_money; // r1+0x88 class Symbol tmp_gender; // r1+0x84 int tmp_attitude; // r1+0x80 int tmp_skin; // r1+0x7C int tmp_eye; // r1+0x78 int tmp_eyebrow; // r1+0x74 float tmp_height; // r1+0x70 float tmp_weight; // r1+0x6C int i; // r30 int num_outfits; // r1+0x68 class DataArray * o; // r29 int i; // r28 class Symbol category; // r1+0x64 class Symbol selected; // r1+0x60 unsigned int num_colors; // r1+0x5C class DataArray * c; // r27 int color; // r1+0x58 int j; // r25 class Symbol tatName; // r1+0x54 int i; // r25 int diff; // r1+0x50 // References // -> static class Symbol tattoo_prefab; // -> static class Symbol colors; // -> static class Symbol outfit; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol weight; // -> static class Symbol height; // -> static class Symbol eyebrow_color_index; // -> static class Symbol eye_color_index; // -> static class Symbol skin_color_index; // -> static class Symbol attitude; // -> static class Symbol gender; // -> static class Symbol money; // -> static class Symbol hometown; // -> static class Symbol name; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__14TourCharRemote; } // Range: 0x801D2C68 -> 0x801D2D38 void * TourCharRemote::~TourCharRemote(class TourCharRemote * const this /* r29 */) { // References // -> struct [anonymous] __vt__14TourCharRemote; } static class Symbol money; // size: 0x4, address: 0x80A4DD04 // Range: 0x801D2D38 -> 0x801D2E20 void TourCharRemote::Update(class TourCharRemote * const this /* r30 */, class DataArray * data /* r31 */) { // References // -> static class Symbol money; } static class Symbol name; // size: 0x4, address: 0x80A4DD0C // Range: 0x801D2E20 -> 0x801D2EDC void TourCharRemote::SetCharName(class TourCharRemote * const this /* r30 */, const char * charName /* r31 */) { // References // -> static class Symbol name; } // Range: 0x801D2EDC -> 0x801D2F80 void TourCharRemote::SetTourWinDiff(class TourCharRemote * const this /* r29 */, enum ControllerType ct /* r30 */, enum Difficulty diff /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol outfit; // size: 0x4, address: 0x80A4DD14 static class Symbol colors; // size: 0x4, address: 0x80A4DD1C // Range: 0x801D2F80 -> 0x801D33A0 void TourCharRemote::SaveRemote(class TourCharRemote * const this /* r29 */, class DataArray * dest /* r30 */) { // Local variables class MemStream m; // r1+0x70 class DataArray * o; // r27 int i; // r26 class DataArray * c; // r28 int i; // r25 class DataArray * tat; // r25 int i; // r25 // References // -> static class Symbol colors; // -> static class Symbol outfit; } static class Symbol name; // size: 0x4, address: 0x80A4DD24 // Range: 0x801D33A0 -> 0x801D3418 char * TourCharRemote::CharName(const class TourCharRemote * const this /* r31 */) { // References // -> static class Symbol name; } // Range: 0x801D3418 -> 0x801D3428 char * TourCharRemote::DebugName() {} static class Symbol hometown; // size: 0x4, address: 0x80A4DD2C // Range: 0x801D3428 -> 0x801D34A4 class Symbol TourCharRemote::Hometown(const class TourCharRemote * const this /* r31 */) { // References // -> static class Symbol hometown; } static class Symbol money; // size: 0x4, address: 0x80A4DD34 // Range: 0x801D34A4 -> 0x801D351C int TourCharRemote::Money(const class TourCharRemote * const this /* r31 */) { // References // -> static class Symbol money; } // Range: 0x801D351C -> 0x801D3908 class DataNode TourCharRemote::Handle(class TourCharRemote * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } struct { // total size: 0x90 } __vt__14TourCharRemote; // size: 0x90, address: 0x808A44C0 /* Compile unit: C:\rockband2\band2\src\meta\TourEvent.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D3930 -> 0x801D678C */ // Range: 0x801D3930 -> 0x801D3960 void * EventSong::EventSong(class EventSong * const this /* r31 */) {} // Range: 0x801D3960 -> 0x801D3980 void * EventSong::EventSong() {} // Range: 0x801D3980 -> 0x801D39C8 unsigned char EventSong::IsRanked() {} static class Symbol random; // size: 0x4, address: 0x80A4DD3C // Range: 0x801D39C8 -> 0x801D3A70 unsigned char EventSong::IsRandom(const class EventSong * const this /* r31 */) { // References // -> static class Symbol random; } static class Symbol any; // size: 0x4, address: 0x80A4DD44 // Range: 0x801D3A70 -> 0x801D3AFC unsigned char EventSong::IsAny(const class EventSong * const this /* r30 */) { // References // -> static class Symbol any; } // Range: 0x801D3AFC -> 0x801D3BA4 class Symbol EventSong::Song(const class EventSong * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801D3BA4 -> 0x801D3C54 class Symbol EventSong::ConcreteSong(const class EventSong * const this /* r28 */, const class SongMgr & sm /* r29 */) { // Local variables class DataArray * a; // r30 } static class Symbol min_rank; // size: 0x4, address: 0x80A4DD4C static class Symbol min_tier; // size: 0x4, address: 0x80A4DD54 static class Symbol max_rank; // size: 0x4, address: 0x80A4DD5C static class Symbol max_tier; // size: 0x4, address: 0x80A4DD64 // Range: 0x801D3C54 -> 0x801D3F6C void EventSong::MinMaxBandRank(const class EventSong * const this /* r27 */, const class SongMgr & sm /* r28 */, float & min /* r29 */, float & max /* r30 */) { // Local variables class DataArray * a; // r26 class DataArray * m; // r25 class DataArray * m; // r25 class DataArray * m; // r25 class DataArray * m; // r25 // References // -> static class Symbol max_tier; // -> static class Symbol max_rank; // -> static class Symbol min_tier; // -> static class Symbol min_rank; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol band; // size: 0x4, address: 0x80A4DD6C struct iterator { // total size: 0x1 }; class reverse_iterator : public iterator { // total size: 0x4 protected: const class Symbol * current; // offset 0x0, size 0x4 }; // Range: 0x801D3F6C -> 0x801D41AC float EventSong::BandTierRank(const class SongMgr & sm /* r29 */, int tier /* r30 */, unsigned char min /* r27 */) { // Local variables int num_tiers; // r0 const class vector & songs; // r0 const class Symbol * s; // r27 class reverse_iterator s; // r1+0x34 // References // -> static class Symbol band; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol band; // size: 0x4, address: 0x80A4DD74 // Range: 0x801D41AC -> 0x801D424C float EventSong::BandSongRank(const class EventSong * const this /* r29 */, const class SongMgr & sm /* r30 */, int idx /* r31 */) { // References // -> static class Symbol band; } // Range: 0x801D424C -> 0x801D43AC class Symbol EventSong::RankedSong(const class SongMgr & sm /* r31 */, class Symbol & part /* r28 */, int idx /* r29 */) { // Local variables const class vector & disc_songs; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } int sMaxStarsPerSong; // size: 0x4, address: 0x80A468C0 const char * sBotbLoadingScreen; // size: 0x4, address: 0x80A4DD78 static class Symbol songs; // size: 0x4, address: 0x80A4DD80 static class Symbol money_per_star; // size: 0x4, address: 0x80A4DD88 static class Symbol char_unlock; // size: 0x4, address: 0x80A4DD90 static class Symbol token; // size: 0x4, address: 0x80A4DD98 static class Symbol outfits; // size: 0x4, address: 0x80A4DDA0 static class Symbol instruments; // size: 0x4, address: 0x80A4DDA8 static class Symbol sellout; // size: 0x4, address: 0x80A4DDB0 static class Symbol min_difficulty; // size: 0x4, address: 0x80A4DDB8 static class Symbol loading_screen; // size: 0x4, address: 0x80A4DDC0 // Range: 0x801D43AC -> 0x801D49F4 void * TourEvent::TourEvent(class TourEvent * const this /* r27 */, const class SongMgr & song_mgr /* r25 */, class DataArray * cfg /* r28 */) { // Local variables struct DateTime t; // r1+0x78 class DataArray * s_array; // r30 int i; // r29 class EventSong es; // r1+0x70 class DataArray * cu; // r29 class DataArray * o; // r26 int i; // r30 class DataArray * insts; // r26 int i; // r29 class DataArray * diff; // r25 // References // -> static class Symbol loading_screen; // -> static class Symbol min_difficulty; // -> static class Symbol sellout; // -> static class Symbol instruments; // -> static class Symbol outfits; // -> static class Symbol token; // -> static class Symbol char_unlock; // -> static class Symbol money_per_star; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol songs; // -> const char * gNullStr; // -> struct [anonymous] __vt__9TourEvent; } // Range: 0x801D49F4 -> 0x801D4C18 void * TourEvent::~TourEvent(class TourEvent * const this /* r30 */) {} // Range: 0x801D4C18 -> 0x801D4C20 class Symbol TourEvent::EventName() {} // Range: 0x801D4C20 -> 0x801D4C28 unsigned char TourEvent::IsOpportunity() {} // Range: 0x801D4C28 -> 0x801D4C44 unsigned char TourEvent::IsBattle() {} // Range: 0x801D4C44 -> 0x801D4C5C int TourEvent::NumSongs() {} // Range: 0x801D4C5C -> 0x801D4C6C class EventSong & TourEvent::Song() {} // Range: 0x801D4C6C -> 0x801D4CE4 class Symbol TourEvent::RankedSong(const class TourEvent * const this /* r30 */) { // References // -> const char * gNullStr; } // Range: 0x801D4CE4 -> 0x801D4CFC class Symbol TourEvent::ConcreteSong(const class TourEvent * const this /* r5 */) {} static class Symbol tour; // size: 0x4, address: 0x80A4DDC8 static class Symbol default_money_per_star; // size: 0x4, address: 0x80A4DDD0 static class Symbol band; // size: 0x4, address: 0x80A4DDD8 // Range: 0x801D4CFC -> 0x801D4F04 int TourEvent::MoneyPerStar(const class TourEvent * const this /* r29 */, class Symbol & song /* r30 */) { // Local variables class DataArrayPtr args; // r1+0x28 class DataArray * s; // r0 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol band; // -> static class Symbol default_money_per_star; // -> static class Symbol tour; } // Range: 0x801D4F04 -> 0x801D4F0C class vector & TourEvent::UnlockOutfits() {} // Range: 0x801D4F0C -> 0x801D4F14 class vector & TourEvent::UnlockInstruments() {} // Range: 0x801D4F14 -> 0x801D4F1C class Symbol TourEvent::RequiredPart() {} // Range: 0x801D4F1C -> 0x801D4F44 int TourEvent::TotalStars() { // References // -> int sMaxStarsPerSong; } // Range: 0x801D4F44 -> 0x801D4F4C enum Difficulty TourEvent::MinDifficulty() {} // Range: 0x801D4F4C -> 0x801D4F54 int TourEvent::MaxStarsPerSong() { // References // -> int sMaxStarsPerSong; } // Range: 0x801D4F54 -> 0x801D4F6C void TourEvent::SetBattleId() { // References // -> const char * sBotbLoadingScreen; } // Range: 0x801D4F6C -> 0x801D4F74 void TourEvent::SetDisplayName() {} // Range: 0x801D4F74 -> 0x801D4F80 void TourEvent::SetEventName() {} // Range: 0x801D4F80 -> 0x801D4FF8 void TourEvent::SetTime(class TourEvent * const this /* r7 */) { // References // -> class Debug TheDebug; } // Range: 0x801D4FF8 -> 0x801D50BC void TourEvent::AddSong(class TourEvent * const this /* r31 */) {} // Range: 0x801D50BC -> 0x801D50C8 void TourEvent::SetRequiredPart() {} // Range: 0x801D50C8 -> 0x801D50D0 void TourEvent::SetMinDifficulty() {} // Range: 0x801D50D0 -> 0x801D5230 void TourEvent::AddUnlockOutfit(class TourEvent * const this /* r31 */, class Symbol & gender /* r25 */, class Symbol & category /* r26 */, class Symbol & outfit /* r27 */) { // Local variables struct EventOutfit eo; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x801D5230 -> 0x801D53DC void TourEvent::AddUnlockInstrument(class TourEvent * const this /* r28 */, class Symbol & category /* r29 */, class Symbol & outfit /* r30 */) { // Local variables struct EventInstrument ei; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x801D53DC -> 0x801D53E4 void TourEvent::SetMaxStarsPerSong() { // References // -> int sMaxStarsPerSong; } // Range: 0x801D53E4 -> 0x801D53EC void TourEvent::SetBotbLoadingScreen() { // References // -> const char * sBotbLoadingScreen; } // Range: 0x801D53EC -> 0x801D5478 unsigned char TourEvent::IsExpired(class TourEvent * const this /* r31 */) { // Local variables struct DateTime t; // r1+0x8 int elapsedTime; // r3 // References // -> unsigned char sAllExpired; } // Range: 0x801D5478 -> 0x801D5508 unsigned char TourEvent::IsLive(class TourEvent * const this /* r31 */) { // Local variables struct DateTime t; // r1+0x8 int elapsedTime; // r4 // References // -> unsigned char sAllLive; } unsigned char sAllExpired; // size: 0x1, address: 0x80A4DDDC unsigned char sAllLive; // size: 0x1, address: 0x80A4DDDD static class Symbol random; // size: 0x4, address: 0x80A4DDE0 static class Symbol any; // size: 0x4, address: 0x80A4DDE8 // Range: 0x801D5508 -> 0x801D5768 void TourEvent::Validate(const class TourEvent * const this /* r29 */) { // Local variables const struct EventOutfit * eo; // r26 const struct EventInstrument * ei; // r26 int i; // r30 class EventSong song; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol any; // -> static class Symbol random; } // Range: 0x801D5768 -> 0x801D58EC void TourEvent::ValidateOutfit(const class TourEvent * const this /* r25 */, class Symbol & gender /* r26 */, class Symbol & category /* r27 */, class Symbol & outfit /* r28 */) { // Local variables class DataArray * loaders; // r0 class DataArray * cat; // r30 class DataArray * loader_oufits; // r3 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A4DDF0 static class Symbol _s; // size: 0x4, address: 0x80A4DDF8 static class Symbol _s; // size: 0x4, address: 0x80A4DE00 static class Symbol _s; // size: 0x4, address: 0x80A4DE08 static class Symbol _s; // size: 0x4, address: 0x80A4DE10 static class Symbol _s; // size: 0x4, address: 0x80A4DE18 static class Symbol _s; // size: 0x4, address: 0x80A4DE20 static class Symbol _s; // size: 0x4, address: 0x80A4DE28 static class Symbol _s; // size: 0x4, address: 0x80A4DE30 static class Symbol _s; // size: 0x4, address: 0x80A4DE38 // Range: 0x801D58EC -> 0x801D6468 class DataNode TourEvent::Handle(class TourEvent * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x50 class MessageTimer _mt; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4DE40 static class Symbol _s; // size: 0x4, address: 0x80A4DE48 static class Symbol _s; // size: 0x4, address: 0x80A4DE50 // Range: 0x801D6468 -> 0x801D678C unsigned char TourEvent::SyncProperty(class TourEvent * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__9TourEvent; // size: 0x68, address: 0x808A4B80 struct { // total size: 0x8 } __RTTI__P15EventInstrument; // size: 0x8, address: 0x808A4C80 struct { // total size: 0x8 } __RTTI__P11EventOutfit; // size: 0x8, address: 0x808A4C98 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D678C -> 0x801D689C */ // Range: 0x801D678C -> 0x801D67F4 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, class Symbol & t2 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x801D67F4 -> 0x801D689C char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r28 */, class Symbol & t2 /* r29 */, class Symbol & t3 /* r30 */, class Symbol & t4 /* r31 */) { // Local variables class FormatString f; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D689C -> 0x801D6CB4 */ // Range: 0x801D689C -> 0x801D6A88 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct EventInstrument * __pos /* r26 */, const struct EventInstrument & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct EventInstrument * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P15EventInstrument; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801D6A88 -> 0x801D6CB4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct EventOutfit * __pos /* r26 */, const struct EventOutfit & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct EventOutfit * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11EventOutfit; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\TourHint.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D6CB4 -> 0x801D9A78 */ // Range: 0x801D6CB4 -> 0x801D6CBC class Symbol TourHint::HintName() {} static class Symbol one_off; // size: 0x4, address: 0x80A4DE5C // Range: 0x801D6CBC -> 0x801D6D54 unsigned char TourHint::IsOneOff(const class TourHint * const this /* r31 */) { // Local variables class DataArray * o; // r31 // References // -> static class Symbol one_off; } // Range: 0x801D6D54 -> 0x801D6E18 int TourHint::Order(const class TourHint * const this /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; } // Range: 0x801D6E18 -> 0x801D6E5C unsigned char TourHint::IsEqual(const class TourHint * const this /* r31 */) {} static class Symbol screen; // size: 0x4, address: 0x80A4DE64 // Range: 0x801D6E5C -> 0x801D6EE0 char * TourHint::Screen(const class TourHint * const this /* r31 */) { // References // -> static class Symbol screen; } // Range: 0x801D6EE0 -> 0x801D6EF0 void TourHint::Save(class TourHint * const this /* r5 */) {} static class Symbol new_venue; // size: 0x4, address: 0x80A4DE6C static class Symbol new_item; // size: 0x4, address: 0x80A4DE74 static class Symbol item_available; // size: 0x4, address: 0x80A4DE7C static class Symbol new_staff; // size: 0x4, address: 0x80A4DE84 static class Symbol new_tier; // size: 0x4, address: 0x80A4DE8C static class Symbol impossible; // size: 0x4, address: 0x80A4DE94 // Range: 0x801D6EF0 -> 0x801D7304 class TourHint * TourHint::Create(class BinStream & s /* r29 */, class DataArray * cfg /* r30 */) { // Local variables class Symbol hint_name; // r1+0x60 class Symbol venue_token; // r1+0x5C class Symbol item; // r1+0x58 class Symbol item; // r1+0x54 class Symbol town; // r1+0x50 class Symbol venue_token; // r1+0x4C class String event_display_name; // r1+0x70 class vector staff; // r1+0x64 unsigned char first; // r31 unsigned char first_tier; // r31 class Symbol tier_name; // r1+0x48 class Symbol event_name; // r1+0x44 // References // -> int sVer; // -> const char * gNullStr; // -> static class Symbol impossible; // -> static class Symbol new_tier; // -> static class Symbol new_staff; // -> static class Symbol item_available; // -> static class Symbol new_item; // -> static class Symbol new_venue; } // Range: 0x801D7304 -> 0x801D7338 class DataArray * TourHint::Data() {} static class Symbol _s; // size: 0x4, address: 0x80A4DE9C // Range: 0x801D7338 -> 0x801D76D0 class DataNode TourHint::Handle(class TourHint * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801D76D0 -> 0x801D7710 unsigned char __eq(class Symbol & rhs /* r31 */) {} // Range: 0x801D7710 -> 0x801D7768 unsigned char TourHintCmp::__cl(const class TourHint * lhs /* r30 */) {} class TourHintNewItem : public TourHint { // total size: 0x34 class Symbol mItem; // offset 0x30, size 0x4 }; // Range: 0x801D7768 -> 0x801D77E0 void * TourHintNewItem::TourHintNewItem(class TourHintNewItem * const this /* r29 */, class Symbol & item /* r30 */, class DataArray * cfg /* r31 */) { // References // -> struct [anonymous] __vt__15TourHintNewItem; } // Range: 0x801D77E0 -> 0x801D7890 unsigned char TourHintNewItem::IsEqual(const class TourHintNewItem * const this /* r30 */, const class TourHint * h /* r31 */) { // Local variables const class TourHintNewItem * hni; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8TourHint; // -> struct [anonymous] __RTTI__15TourHintNewItem; } // Range: 0x801D7890 -> 0x801D78C4 char * TourHintNewItem::Screen() {} // Range: 0x801D78C4 -> 0x801D7908 void TourHintNewItem::Save(class TourHintNewItem * const this /* r30 */, class BinStream & s /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4DEA4 // Range: 0x801D7908 -> 0x801D7C94 class DataNode TourHintNewItem::Handle(class TourHintNewItem * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class TourHintItemAvailable : public TourHint { // total size: 0x48 class Symbol mItem; // offset 0x30, size 0x4 class Symbol mTown; // offset 0x34, size 0x4 class Symbol mVenueToken; // offset 0x38, size 0x4 class String mEventDisplayName; // offset 0x3C, size 0xC }; // Range: 0x801D7C94 -> 0x801D7D2C void * TourHintItemAvailable::TourHintItemAvailable(class TourHintItemAvailable * const this /* r26 */, class Symbol & item /* r27 */, class Symbol & town /* r28 */, class Symbol & venue_token /* r29 */, const char * event_display_name /* r30 */, class DataArray * cfg /* r31 */) { // References // -> struct [anonymous] __vt__21TourHintItemAvailable; } // Range: 0x801D7D2C -> 0x801D7DDC unsigned char TourHintItemAvailable::IsEqual(const class TourHintItemAvailable * const this /* r30 */, const class TourHint * h /* r31 */) { // Local variables const class TourHintItemAvailable * hni; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8TourHint; // -> struct [anonymous] __RTTI__21TourHintItemAvailable; } // Range: 0x801D7DDC -> 0x801D7E38 void TourHintItemAvailable::Save(class TourHintItemAvailable * const this /* r30 */, class BinStream & s /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4DEAC static class Symbol _s; // size: 0x4, address: 0x80A4DEB4 static class Symbol _s; // size: 0x4, address: 0x80A4DEBC static class Symbol _s; // size: 0x4, address: 0x80A4DEC4 // Range: 0x801D7E38 -> 0x801D845C class DataNode TourHintItemAvailable::Handle(class TourHintItemAvailable * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class TourHintNewVenue : public TourHint { // total size: 0x34 class Symbol mVenueToken; // offset 0x30, size 0x4 }; // Range: 0x801D845C -> 0x801D84D4 void * TourHintNewVenue::TourHintNewVenue(class TourHintNewVenue * const this /* r29 */, class Symbol & venue_token /* r30 */, class DataArray * cfg /* r31 */) { // References // -> struct [anonymous] __vt__16TourHintNewVenue; } // Range: 0x801D84D4 -> 0x801D8518 void TourHintNewVenue::Save(class TourHintNewVenue * const this /* r30 */, class BinStream & s /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4DECC // Range: 0x801D8518 -> 0x801D88A4 class DataNode TourHintNewVenue::Handle(class TourHintNewVenue * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class TourHintNewStaff : public TourHint { // total size: 0x40 unsigned char mFirst; // offset 0x30, size 0x1 class vector mStaff; // offset 0x34, size 0xC }; // Range: 0x801D88A4 -> 0x801D89C4 void * TourHintNewStaff::TourHintNewStaff(class TourHintNewStaff * const this /* r31 */, unsigned char first /* r28 */, const class vector & staff /* r29 */, class DataArray * cfg /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__16TourHintNewStaff; } // Range: 0x801D89C4 -> 0x801D89CC unsigned char TourHintNewStaff::IsFirst() {} // Range: 0x801D89CC -> 0x801D89E4 int TourHintNewStaff::NumStaff() {} // Range: 0x801D89E4 -> 0x801D8A40 void TourHintNewStaff::Save(class TourHintNewStaff * const this /* r30 */, class BinStream & s /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4DED4 static class Symbol _s; // size: 0x4, address: 0x80A4DEDC static class Symbol _s; // size: 0x4, address: 0x80A4DEE4 // Range: 0x801D8A40 -> 0x801D8F88 class DataNode TourHintNewStaff::Handle(class TourHintNewStaff * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class TourHintNewTier : public TourHint { // total size: 0x38 unsigned char mFirstTier; // offset 0x30, size 0x1 class Symbol mTierName; // offset 0x34, size 0x4 }; // Range: 0x801D8F88 -> 0x801D9010 void * TourHintNewTier::TourHintNewTier(class TourHintNewTier * const this /* r28 */, unsigned char first /* r29 */, class Symbol & tier_name /* r30 */, class DataArray * cfg /* r31 */) { // References // -> struct [anonymous] __vt__15TourHintNewTier; } // Range: 0x801D9010 -> 0x801D90C0 unsigned char TourHintNewTier::IsEqual(const class TourHintNewTier * const this /* r30 */, const class TourHint * h /* r31 */) { // Local variables const class TourHintNewTier * t; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8TourHint; // -> struct [anonymous] __RTTI__15TourHintNewTier; } // Range: 0x801D90C0 -> 0x801D911C void TourHintNewTier::Save(class TourHintNewTier * const this /* r30 */, class BinStream & s /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4DEEC static class Symbol _s; // size: 0x4, address: 0x80A4DEF4 // Range: 0x801D911C -> 0x801D9580 class DataNode TourHintNewTier::Handle(class TourHintNewTier * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class TourHintImpossible : public TourHint { // total size: 0x34 class Symbol mEventName; // offset 0x30, size 0x4 }; // Range: 0x801D9580 -> 0x801D95F8 void * TourHintImpossible::TourHintImpossible(class TourHintImpossible * const this /* r29 */, class Symbol & event_name /* r30 */, class DataArray * cfg /* r31 */) { // References // -> struct [anonymous] __vt__18TourHintImpossible; } // Range: 0x801D95F8 -> 0x801D96A8 unsigned char TourHintImpossible::IsEqual(const class TourHintImpossible * const this /* r30 */, const class TourHint * h /* r31 */) { // Local variables const class TourHintImpossible * i; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8TourHint; // -> struct [anonymous] __RTTI__18TourHintImpossible; } // Range: 0x801D96A8 -> 0x801D96EC void TourHintImpossible::Save(class TourHintImpossible * const this /* r30 */, class BinStream & s /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4DEFC // Range: 0x801D96EC -> 0x801D9A78 class DataNode TourHintImpossible::Handle(class TourHintImpossible * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x5C } __vt__18TourHintImpossible; // size: 0x5C, address: 0x808A4EC0 struct { // total size: 0x8 } __RTTI__18TourHintImpossible; // size: 0x8, address: 0x808A4F50 struct { // total size: 0x5C } __vt__15TourHintNewTier; // size: 0x5C, address: 0x808A4F58 struct { // total size: 0x8 } __RTTI__15TourHintNewTier; // size: 0x8, address: 0x808A4FE8 struct { // total size: 0x5C } __vt__16TourHintNewStaff; // size: 0x5C, address: 0x808A4FF0 struct { // total size: 0x8 } __RTTI__16TourHintNewStaff; // size: 0x8, address: 0x808A5080 struct { // total size: 0x5C } __vt__16TourHintNewVenue; // size: 0x5C, address: 0x808A5088 struct { // total size: 0x8 } __RTTI__16TourHintNewVenue; // size: 0x8, address: 0x808A5118 struct { // total size: 0x5C } __vt__21TourHintItemAvailable; // size: 0x5C, address: 0x808A5120 struct { // total size: 0x8 } __RTTI__21TourHintItemAvailable; // size: 0x8, address: 0x808A51B0 struct { // total size: 0x5C } __vt__15TourHintNewItem; // size: 0x5C, address: 0x808A51B8 struct { // total size: 0x8 } __RTTI__15TourHintNewItem; // size: 0x8, address: 0x808A5248 struct { // total size: 0x5C } __vt__8TourHint; // size: 0x5C, address: 0x808A5250 struct { // total size: 0x8 } __RTTI__8TourHint; // size: 0x8, address: 0x808A52D0 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D9A78 -> 0x801D9B58 */ // Range: 0x801D9A78 -> 0x801D9B58 void * TourHint::TourHint(class TourHint * const this /* r28 */, class Symbol & name /* r29 */, class DataArray * cfg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__8TourHint; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D9E2C -> 0x801D9E98 */ // Range: 0x801D9E2C -> 0x801D9E98 class Symbol TourHintNewStaff::Staff(const class TourHintNewStaff * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\band2\src\meta\TourSavable.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801D9E98 -> 0x801DA4CC */ // Range: 0x801D9E98 -> 0x801D9F9C void * TourSavable::TourSavable(class TourSavable * const this /* r29 */) { // Local variables struct DateTime now; // r1+0x10 unsigned int uploadTimeInit; // r0 struct DateTime then; // r1+0x8 // References // -> struct [anonymous] __vt__11TourSavable; } // Range: 0x801D9F9C -> 0x801DA010 void * TourSavable::~TourSavable(class TourSavable * const this /* r30 */) {} // Range: 0x801DA010 -> 0x801DA018 unsigned char TourSavable::IsDirtySave() {} // Range: 0x801DA018 -> 0x801DA020 unsigned char TourSavable::IsDirtyUpload() {} // Range: 0x801DA020 -> 0x801DA028 unsigned char TourSavable::IsNameUnchecked() {} // Range: 0x801DA028 -> 0x801DA030 unsigned char TourSavable::IsMottoUnchecked() {} // Range: 0x801DA030 -> 0x801DA0CC unsigned char TourSavable::IsUploadNeeded(const class TourSavable * const this /* r29 */) { // Local variables struct DateTime now; // r1+0x8 unsigned int timeDiff; // r30 } // Range: 0x801DA0CC -> 0x801DA168 unsigned char TourSavable::IsUploadSecNeeded(const class TourSavable * const this /* r29 */) { // Local variables struct DateTime now; // r1+0x8 unsigned int timeDiff; // r30 } // Range: 0x801DA168 -> 0x801DA1A8 void TourSavable::SetDirty() {} // Range: 0x801DA1A8 -> 0x801DA1B8 void TourSavable::SetUnchecked() {} // Range: 0x801DA1B8 -> 0x801DA1CC void TourSavable::SaveLoadComplete() {} // Range: 0x801DA1CC -> 0x801DA1D4 void TourSavable::UploadAttempted() {} // Range: 0x801DA1D4 -> 0x801DA1EC void TourSavable::UploadComplete() {} // Range: 0x801DA1EC -> 0x801DA204 void TourSavable::UploadSecComplete() {} static class Symbol _s; // size: 0x4, address: 0x80A4DF04 // Range: 0x801DA204 -> 0x801DA4CC class DataNode TourSavable::Handle(class TourSavable * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x6C } __vt__11TourSavable; // size: 0x6C, address: 0x808A5364 /* Compile unit: C:\rockband2\band2\src\meta\TourWorld.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801DA4F4 -> 0x801E0748 */ static class Symbol display_song; // size: 0x4, address: 0x80A4DF0C static class Symbol fame; // size: 0x4, address: 0x80A4DF14 static class Symbol town; // size: 0x4, address: 0x80A4DF1C static class Symbol world; // size: 0x4, address: 0x80A4DF24 static class Symbol buzz; // size: 0x4, address: 0x80A4DF2C static class Symbol item; // size: 0x4, address: 0x80A4DF34 static class Symbol award_item; // size: 0x4, address: 0x80A4DF3C static class Symbol warning_screen; // size: 0x4, address: 0x80A4DF44 static class Symbol allow_moments; // size: 0x4, address: 0x80A4DF4C // Range: 0x801DA4F4 -> 0x801DA894 void * TourWorldEvent::TourWorldEvent(class TourWorldEvent * const this /* r29 */, class Symbol & town_name /* r27 */, class Symbol & venue_name /* r28 */, class DataArray * cfg /* r30 */) { // Local variables class DataArray * f; // r28 class DataArray * i; // r28 // References // -> static class Symbol allow_moments; // -> static class Symbol warning_screen; // -> static class Symbol award_item; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol item; // -> static class Symbol buzz; // -> static class Symbol world; // -> static class Symbol town; // -> static class Symbol fame; // -> static class Symbol display_song; // -> const char * gNullStr; // -> struct [anonymous] __vt__14TourWorldEvent; } // Range: 0x801DA894 -> 0x801DA940 char * TourWorldEvent::DisplayName(const class TourWorldEvent * const this /* r31 */) { // Local variables class Symbol song; // r1+0x14 // References // -> const char * gNullStr; } static class Symbol tour_song_set; // size: 0x4, address: 0x80A4DF54 // Range: 0x801DA940 -> 0x801DAA24 char * TourWorldEvent::Description(const class TourWorldEvent * const this /* r31 */) { // Local variables class Symbol song; // r1+0x14 // References // -> const char * gNullStr; // -> static class Symbol tour_song_set; } // Range: 0x801DAA24 -> 0x801DAA2C class Symbol TourWorldEvent::VenueVariant() {} // Range: 0x801DAA2C -> 0x801DAA78 unsigned char TourWorldEvent::IsOpportunity() { // References // -> const char * gNullStr; } // Range: 0x801DAA78 -> 0x801DAA80 class Symbol TourWorldEvent::BuzzVenue() {} // Range: 0x801DAA80 -> 0x801DAB20 class Symbol TourWorldEvent::EventToken() { // References // -> const char * gNullStr; } // Range: 0x801DAB20 -> 0x801DAB28 class Symbol TourWorldEvent::Venue() {} // Range: 0x801DAB28 -> 0x801DAB30 class Symbol TourWorldEvent::Town() {} // Range: 0x801DAB30 -> 0x801DAB38 int TourWorldEvent::TownFameRequired() {} // Range: 0x801DAB38 -> 0x801DAB40 int TourWorldEvent::WorldFameRequired() {} // Range: 0x801DAB40 -> 0x801DAB48 int TourWorldEvent::BuzzRequired() {} // Range: 0x801DAB48 -> 0x801DAB50 class Symbol TourWorldEvent::ItemRequired() {} // Range: 0x801DAB50 -> 0x801DAB58 class Symbol TourWorldEvent::AwardItem() {} // Range: 0x801DAB58 -> 0x801DAB60 unsigned char TourWorldEvent::AllowMoments() {} // Range: 0x801DAB60 -> 0x801DAB6C void TourWorldEvent::SetVenueVariant() {} // Range: 0x801DAB6C -> 0x801DAB78 void TourWorldEvent::SetBuzzVenue() {} // Range: 0x801DAB78 -> 0x801DAB80 void TourWorldEvent::SetDisplaySong() {} // Range: 0x801DAB80 -> 0x801DAC8C class Symbol TourWorldEvent::DisplaySong(const class TourWorldEvent * const this /* r28 */) { // Local variables const class EventSong & es; // r29 class Symbol song; // r1+0x10 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801DAC8C -> 0x801DAD70 void TourWorldEvent::Validate(const class TourWorldEvent * const this /* r28 */) { // Local variables class DataArray * items; // r0 // References // -> class Debug TheDebug; // -> const char * gNullStr; } static class Symbol _s; // size: 0x4, address: 0x80A4DF5C static class Symbol _s; // size: 0x4, address: 0x80A4DF64 static class Symbol _s; // size: 0x4, address: 0x80A4DF6C static class Symbol _s; // size: 0x4, address: 0x80A4DF74 static class Symbol _s; // size: 0x4, address: 0x80A4DF7C static class Symbol _s; // size: 0x4, address: 0x80A4DF84 // Range: 0x801DAD70 -> 0x801DB3F4 unsigned char TourWorldEvent::SyncProperty(class TourWorldEvent * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x801DB3F4 -> 0x801DB444 void * TourVenue::TourVenue(class TourVenue * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x801DB444 -> 0x801DB55C void * TourVenue::~TourVenue(class TourVenue * const this /* r28 */) {} // Range: 0x801DB5B8 -> 0x801DB998 void * TourTier::TourTier(class TourTier * const this /* r27 */, const class SongMgr & song_mgr /* r28 */, class DataArray * cfg /* r29 */) { // Local variables int j; // r30 class vector events; // r1+0x64 int k; // r24 class TourWorldEvent * e; // r1+0x54 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14TourWorldEvent; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; } struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x801DB998 -> 0x801DBB38 void * TourTier::~TourTier(class TourTier * const this /* r30 */) { // Local variables class vector * v; // r27 } static class Symbol order; // size: 0x4, address: 0x80A4DF8C static class Symbol continent; // size: 0x4, address: 0x80A4DF94 static class Symbol unlocks; // size: 0x4, address: 0x80A4DF9C static class Symbol played; // size: 0x4, address: 0x80A4DFA4 static class Symbol completed; // size: 0x4, address: 0x80A4DFAC static class Symbol male; // size: 0x4, address: 0x80A4DFB4 static class Symbol female; // size: 0x4, address: 0x80A4DFBC static class Symbol venues; // size: 0x4, address: 0x80A4DFC4 // Range: 0x801DBB38 -> 0x801DC0D4 void * TourTown::TourTown(class TourTown * const this /* r27 */, const class SongMgr & sm /* r28 */, class DataArray * cfg /* r29 */) { // Local variables class DataArray * u; // r30 class DataArray * p; // r25 class DataArray * c; // r25 class DataArray * venue_array; // r30 int i; // r31 class DataArray * venue_data; // r25 class Symbol venue_name; // r1+0x8C class TourVenue * venue; // r1+0x88 int j; // r29 class TourWorldEvent * e; // r1+0x84 // References // -> static class Symbol venues; // -> static class Symbol female; // -> static class Symbol male; // -> static class Symbol completed; // -> static class Symbol played; // -> static class Symbol unlocks; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol continent; // -> static class Symbol order; // -> const char * gNullStr; } // Range: 0x801DC0D4 -> 0x801DC1D8 void * TourTown::~TourTown(class TourTown * const this /* r28 */) {} // Range: 0x801DC1D8 -> 0x801DC1F0 unsigned char __eq() {} // Range: 0x801DC1F0 -> 0x801DC240 class TourVenue * TourTown::FindVenue(const class TourTown * const this /* r31 */) { // Local variables class TourVenue * const * v; // r0 } // Range: 0x801DC240 -> 0x801DC2D4 int TourTown::FindVenuePos() { // Local variables class TourVenue * const * v; // r7 // References // -> class Debug TheDebug; } // Range: 0x801DC2D4 -> 0x801DC354 void * TourStaff::TourStaff(class TourStaff * const this /* r30 */, class Symbol & staff_name /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__9TourStaff; } static class Symbol prereqs; // size: 0x4, address: 0x80A4DFCC static class Symbol stars; // size: 0x4, address: 0x80A4DFD4 static class Symbol buzz; // size: 0x4, address: 0x80A4DFDC static class Symbol item; // size: 0x4, address: 0x80A4DFE4 static class Symbol modifiers; // size: 0x4, address: 0x80A4DFEC static class Symbol money; // size: 0x4, address: 0x80A4DFF4 static class Symbol buzz_lost; // size: 0x4, address: 0x80A4DFFC static class Symbol buzz_required; // size: 0x4, address: 0x80A4E004 static class Symbol moment_freq; // size: 0x4, address: 0x80A4E00C static class Symbol towns; // size: 0x4, address: 0x80A4E014 // Range: 0x801DC354 -> 0x801DC85C void * TourStaff::TourStaff(class TourStaff * const this /* r29 */, class DataArray * cfg /* r30 */) { // Local variables class DataArray * p; // r28 class DataArray * m; // r30 class DataArray * b; // r28 class DataArray * t; // r28 int i; // r27 class DataArray * f; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> static class Symbol towns; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol moment_freq; // -> static class Symbol buzz_required; // -> static class Symbol buzz_lost; // -> static class Symbol money; // -> static class Symbol modifiers; // -> static class Symbol item; // -> static class Symbol buzz; // -> static class Symbol stars; // -> static class Symbol prereqs; // -> const char * gNullStr; // -> struct [anonymous] __vt__9TourStaff; } // Range: 0x801DC85C -> 0x801DC888 void TourStaff::Init() {} // Range: 0x801DC888 -> 0x801DC890 class Symbol TourStaff::StaffName() {} // Range: 0x801DC890 -> 0x801DC898 int TourStaff::StarsRequired() {} // Range: 0x801DC898 -> 0x801DC8A0 int TourStaff::BuzzRequired() {} // Range: 0x801DC8A0 -> 0x801DC8A8 class Symbol TourStaff::ItemRequired() {} // Range: 0x801DC8A8 -> 0x801DCA04 float TourStaff::BuzzModifier(const class TourStaff * const this /* r31 */) { // Local variables class DataArrayPtr args; // r1+0x18 // References // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x801DCA04 -> 0x801DCA0C float TourStaff::BuzzLostModifier() {} // Range: 0x801DCA0C -> 0x801DCB68 float TourStaff::MoneyPerStarModifier(const class TourStaff * const this /* r31 */) { // Local variables class DataArrayPtr args; // r1+0x18 // References // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x801DCB68 -> 0x801DCC0C float TourStaff::BuzzRequiredModifier(const class TourStaff * const this /* r30 */) {} // Range: 0x801DCC0C -> 0x801DCC14 int TourStaff::MinMomentFreq() {} // Range: 0x801DCC14 -> 0x801DCC1C int TourStaff::MaxMomentFreq() {} // Range: 0x801DCC1C -> 0x801DCC24 class list & TourStaff::BuzzRequiredTowns() {} static class Symbol _s; // size: 0x4, address: 0x80A4E01C static class Symbol _s; // size: 0x4, address: 0x80A4E024 static class Symbol _s; // size: 0x4, address: 0x80A4E02C static class Symbol _s; // size: 0x4, address: 0x80A4E034 static class Symbol _s; // size: 0x4, address: 0x80A4E03C // Range: 0x801DCC24 -> 0x801DD354 class DataNode TourStaff::Handle(class TourStaff * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801DD354 -> 0x801DD394 unsigned char __eq(class Symbol & rhs /* r31 */) {} class Symbol sNullName; // size: 0x4, address: 0x80A4E040 // Range: 0x801DD394 -> 0x801DD414 void * TourMoment::TourMoment(class TourMoment * const this /* r30 */, class Symbol & name /* r31 */) { // References // -> const char * gNullStr; // -> class Symbol sNullName; // -> struct [anonymous] __vt__10TourMoment; } static class Symbol min_vehicle; // size: 0x4, address: 0x80A4E048 static class Symbol max_vehicle; // size: 0x4, address: 0x80A4E050 static class Symbol loading_screen; // size: 0x4, address: 0x80A4E058 static class Symbol disable_staff; // size: 0x4, address: 0x80A4E060 static class Symbol disable_overdrive; // size: 0x4, address: 0x80A4E068 static class Symbol random; // size: 0x4, address: 0x80A4E070 static class Symbol any; // size: 0x4, address: 0x80A4E078 static class Symbol additional_song; // size: 0x4, address: 0x80A4E080 static class Symbol replace_song; // size: 0x4, address: 0x80A4E088 static class Symbol opportunity; // size: 0x4, address: 0x80A4E090 static class Symbol venue; // size: 0x4, address: 0x80A4E098 static class Symbol buzz_venue; // size: 0x4, address: 0x80A4E0A0 static class Symbol any; // size: 0x4, address: 0x80A4E0A8 static class Symbol stars_required; // size: 0x4, address: 0x80A4E0B0 static class Symbol buzz_required; // size: 0x4, address: 0x80A4E0B8 // Range: 0x801DD414 -> 0x801DDA80 void * TourMoment::TourMoment(class TourMoment * const this /* r29 */, class DataArray * cfg /* r27 */, const class SongMgr & sm /* r30 */, int num_vehicles /* r26 */) { // Local variables class DataArray * a; // r27 class DataArray * a; // r27 class DataArray * a; // r26 class DataArray * v; // r27 int i; // r26 // References // -> static class Symbol buzz_required; // -> static class Symbol stars_required; // -> static class Symbol any; // -> static class Symbol buzz_venue; // -> static class Symbol venue; // -> static class Symbol opportunity; // -> static class Symbol replace_song; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol additional_song; // -> static class Symbol any; // -> static class Symbol random; // -> static class Symbol disable_overdrive; // -> static class Symbol disable_staff; // -> static class Symbol loading_screen; // -> static class Symbol max_vehicle; // -> static class Symbol min_vehicle; // -> const char * gNullStr; // -> struct [anonymous] __vt__10TourMoment; } // Range: 0x801DDA80 -> 0x801DDBB8 void * TourMoment::~TourMoment(class TourMoment * const this /* r30 */) { // References // -> struct [anonymous] __vt__10TourMoment; } // Range: 0x801DDBB8 -> 0x801DDBE8 void TourMoment::Init() {} // Range: 0x801DDBE8 -> 0x801DDC00 unsigned char TourMoment::IsNull() { // References // -> class Symbol sNullName; } // Range: 0x801DDC00 -> 0x801DDC08 class Symbol TourMoment::MomentName() {} static class Symbol money_per_star; // size: 0x4, address: 0x80A4E0C0 // Range: 0x801DDC08 -> 0x801DDE68 int TourMoment::MoneyPerStar(const class TourMoment * const this /* r31 */, int stars /* r29 */, int money /* r30 */) { // Local variables class DataArray * modifier; // r31 class DataArrayPtr args; // r1+0x28 int money; // r31 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol money_per_star; } static class Symbol buzz_change; // size: 0x4, address: 0x80A4E0C8 // Range: 0x801DDE68 -> 0x801DE068 int TourMoment::BuzzChange(const class TourMoment * const this /* r31 */, int stars /* r29 */, int buzz /* r30 */) { // Local variables class DataArray * modifier; // r31 class DataArrayPtr args; // r1+0x28 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol buzz_change; } // Range: 0x801DE068 -> 0x801DE070 char * TourMoment::LoadingScreen() {} // Range: 0x801DE070 -> 0x801DE078 unsigned char TourMoment::DisableStaff() {} // Range: 0x801DE078 -> 0x801DE080 unsigned char TourMoment::DisableOverdrive() {} // Range: 0x801DE080 -> 0x801DE088 class EventSong * TourMoment::AdditionalSong() {} // Range: 0x801DE088 -> 0x801DE090 class TourWorldEvent * TourMoment::Opportunity() {} // Range: 0x801DE090 -> 0x801DE098 class EventSong * TourMoment::ReplaceSong() {} // Range: 0x801DE098 -> 0x801DE164 unsigned char TourMoment::IsValid(const class TourMoment * const this /* r11 */) {} // Range: 0x801DE164 -> 0x801DE18C unsigned char TourMoment::IsTriggerable() {} static class Symbol _s; // size: 0x4, address: 0x80A4E0D0 static class Symbol _s; // size: 0x4, address: 0x80A4E0D8 static class Symbol _s; // size: 0x4, address: 0x80A4E0E0 static class Symbol _s; // size: 0x4, address: 0x80A4E0E8 // Range: 0x801DE18C -> 0x801DE7B4 class DataNode TourMoment::Handle(class TourMoment * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol tour_staff_none; // size: 0x4, address: 0x80A4E0F0 static class Symbol null_moment; // size: 0x4, address: 0x80A4E0F8 static class Symbol tiers; // size: 0x4, address: 0x80A4E100 static class Symbol towns; // size: 0x4, address: 0x80A4E108 static class Symbol staff; // size: 0x4, address: 0x80A4E110 static class Symbol vehicles; // size: 0x4, address: 0x80A4E118 static class Symbol moments; // size: 0x4, address: 0x80A4E120 // Range: 0x801DE7B4 -> 0x801DF010 void * TourWorld::TourWorld(class TourWorld * const this /* r24 */, const class SongMgr & song_mgr /* r25 */, class DataArray * cfg /* r26 */) { // Local variables class DataArray * tier_array; // r28 int i; // r29 class DataArray * town_array; // r28 int i; // r27 class TourTown * t; // r1+0xA0 struct MappedTowns mt; // r1+0xB0 class DataArray * staff_array; // r28 int i; // r29 int num_vehicles; // r27 class DataArray * m_array; // r28 int i; // r29 struct MappedTowns * t; // r27 class TourTown * * v; // r25 class Symbol town_name; // r1+0x9C struct VehicleTown vt; // r1+0xA4 // References // -> static class Symbol moments; // -> static class Symbol vehicles; // -> static class Symbol staff; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> static class Symbol towns; // -> static class Symbol tiers; // -> static class Symbol null_moment; // -> static class Symbol tour_staff_none; // -> struct [anonymous] __vt__9TourWorld; } struct MappedTownsCmp { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__P11VehicleTown; // size: 0x8, address: 0x808A5A58 struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct VehicleTownCmp { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801DF010 -> 0x801DF4EC void * TourWorld::~TourWorld(class TourWorld * const this /* r29 */) { // References // -> struct [anonymous] __vt__9TourWorld; } // Range: 0x801DF55C -> 0x801DF574 unsigned char __eq() {} // Range: 0x801DF574 -> 0x801DF68C void TourWorld::FindTierEvents(const class TourWorld * const this /* r26 */, class vector & events /* r31 */, class Symbol & hometown /* r27 */, class Symbol & town /* r28 */, class Symbol & venue /* r29 */) { // Local variables const struct MappedTowns * mt; // r4 const struct VehicleTown & vt; // r0 int venue_pos; // r0 } // Range: 0x801DF68C -> 0x801DF728 class TourTier * TourWorld::FindTier(const class TourWorld * const this /* r29 */, class Symbol & town /* r30 */) { // Local variables const struct MappedTowns * mt; // r31 const struct VehicleTown & vt; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct pair { // total size: 0x8 const struct MappedTowns * first; // offset 0x0, size 0x4 const struct MappedTowns * second; // offset 0x4, size 0x4 }; // Range: 0x801DF728 -> 0x801DF784 struct MappedTowns * TourWorld::FindMappedTowns() { // Local variables struct pair p; // r1+0x18 } struct pair { // total size: 0x8 const struct VehicleTown * first; // offset 0x0, size 0x4 const struct VehicleTown * second; // offset 0x4, size 0x4 }; // Range: 0x801DF784 -> 0x801DF7D4 class TourTown * TourWorld::FindTown(const class TourWorld * const this /* r31 */) { // Local variables class TourTown * const * t; // r0 } // Range: 0x801DF7D4 -> 0x801DF824 class TourTown * TourWorld::FindTown(class TourWorld * const this /* r31 */) { // Local variables class TourTown * * t; // r0 } // Range: 0x801DF824 -> 0x801DF83C unsigned char __eq() {} // Range: 0x801DF83C -> 0x801DF88C class TourTier * TourWorld::FindTier(const class TourWorld * const this /* r31 */) { // Local variables class TourTier * const * t; // r0 } // Range: 0x801DF88C -> 0x801DF934 class TourTown * TourWorld::TierTown(const class TourWorld * const this /* r28 */, class Symbol & hometown /* r29 */, class Symbol & tier_name /* r30 */) { // Local variables class TourTown * const * t; // r31 const class TourTier * tier; // r0 } // Range: 0x801DF934 -> 0x801DF93C class vector & TourWorld::TownList() {} // Range: 0x801DF93C -> 0x801DFA04 class Symbol TourWorld::FindEventTown(const class TourWorld * const this /* r28 */, class Symbol & hometown /* r29 */, const class TourWorldEvent * e /* r30 */) { // Local variables const class TourTown * t; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801DFA04 -> 0x801DFA0C class vector & TourWorld::Staff() {} // Range: 0x801DFA0C -> 0x801DFA18 class TourStaff * TourWorld::NullStaff() {} // Range: 0x801DFA18 -> 0x801DFA20 class vector & TourWorld::Moments() {} // Range: 0x801DFA20 -> 0x801DFA60 unsigned char __eq(class Symbol & name /* r31 */) {} // Range: 0x801DFA60 -> 0x801DFBC0 void TourWorld::ValidMoments(const class TourWorld * const this /* r24 */, class vector & moments /* r25 */, int level /* r26 */, int stars /* r27 */, int buzz /* r28 */, int num_songs /* r29 */, const class vector & exclude /* r30 */, unsigned char opportunity /* r31 */) { // Local variables class TourMoment * const * mit; // r23 class TourMoment * m; // r22 } // Range: 0x801DFBC0 -> 0x801DFCC8 void TourWorld::GetLiveBattles(const class TourWorld * const this /* r30 */, class list & battles /* r31 */) { // Local variables class TourTown * const * t; // r29 class TourVenue * const * v; // r28 class TourWorldEvent * const * e; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801DFCC8 -> 0x801DFDE4 void TourWorld::FindTowns(const class TourWorld * const this /* r28 */, class vector & towns /* r29 */, class Symbol & continent /* r30 */) { // Local variables class TourTown * const * t; // r31 } struct TownOrderCmp { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801DFDE4 -> 0x801DFFD8 void TourWorld::DisableBattles(class TourWorld * const this /* r27 */, const class list * shared /* r28 */) { // Local variables class TourWorldEvent * * c; // r26 class TourTown * const * t; // r31 class TourVenue * const * v; // r30 class TourWorldEvent * * e; // r29 } // Range: 0x801DFFD8 -> 0x801E0154 void TourWorld::ClearBattles(class TourWorld * const this /* r31 */) { // Local variables class TourWorldEvent * * c; // r30 class TourTown * const * t; // r29 class TourVenue * const * v; // r28 class TourWorldEvent * * e; // r27 } static class Symbol screen; // size: 0x4, address: 0x80A4E128 // Range: 0x801E0154 -> 0x801E0678 void TourWorld::Validate(const class TourWorld * const this /* r29 */) { // Local variables class TourTier * const * t; // r28 class vector * v; // r30 class TourWorldEvent * const * e; // r27 class vector orders; // r1+0x78 class TourTown * const * t; // r30 int order; // r1+0x74 class TourVenue * const * v; // r27 const class vector & events; // r0 class TourWorldEvent * const * e; // r26 class DataArray * hints; // r26 int i; // r27 class DataArray * s; // r30 class DataArray * items; // r27 int i; // r30 class Symbol item; // r1+0x70 class TourHintNewItem new_item; // r1+0x84 class TourStaff * const * s; // r26 class Symbol item; // r1+0x6C class list & towns; // r28 struct _List_iterator t; // r1+0x68 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; // -> static class Symbol screen; // -> class Debug TheDebug; } // Range: 0x801E0678 -> 0x801E073C void TourWorld::ValidateEvent(const class TourWorld * const this /* r29 */, const class TourWorldEvent * e /* r30 */) { // Local variables class TourMoment * const * m; // r31 class TourWorldEvent * op; // r0 // References // -> class Debug TheDebug; } struct { // total size: 0xC } __vt__9TourWorld; // size: 0xC, address: 0x808A5C90 struct { // total size: 0x8 } __RTTI__9TourWorld; // size: 0x8, address: 0x808A5CA8 struct { // total size: 0x54 } __vt__10TourMoment; // size: 0x54, address: 0x808A5CB0 struct { // total size: 0x54 } __vt__9TourStaff; // size: 0x54, address: 0x808A5D30 struct { // total size: 0x68 } __vt__14TourWorldEvent; // size: 0x68, address: 0x808A5DB0 struct { // total size: 0x8 } __RTTI__P11MappedTowns; // size: 0x8, address: 0x808A5EE0 struct { // total size: 0x8 } __RTTI__PP8TourTier; // size: 0x8, address: 0x808A5EF8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std74vector>; // size: 0x8, address: 0x808A5F58 struct { // total size: 0x8 } __RTTI__PP10TourMoment; // size: 0x8, address: 0x808A5F70 struct { // total size: 0x8 } __RTTI__PP9TourStaff; // size: 0x8, address: 0x808A5F88 struct { // total size: 0x8 } __RTTI__PP9TourVenue; // size: 0x8, address: 0x808A5FA0 struct { // total size: 0x8 } __RTTI__PPC8TourTown; // size: 0x8, address: 0x808A5FC0 struct { // total size: 0x8 } __RTTI__PP8TourTown; // size: 0x8, address: 0x808A5FD8 struct _IsPOD { // total size: 0x1 }; // Range: 0x801E073C -> 0x801E0748 static void __sinit_\TourWorld_cpp() { // References // -> class Symbol sNullName; // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E0748 -> 0x801E18D8 */ // Range: 0x801E0748 -> 0x801E07F4 int TourTier::FindVenuePos() { // Local variables const class vector * v; // r6 class TourWorldEvent * const * e; // r7 // References // -> class Debug TheDebug; } // Range: 0x801E07F4 -> 0x801E09AC void CheckUnlock(class Symbol & town /* r25 */, struct TownUnlock & u /* r26 */) { // Local variables class DataArray * ol; // r27 class DataArray * males; // r0 class DataArray * females; // r0 // References // -> class Debug TheDebug; } // Range: 0x801E09AC -> 0x801E09F0 class Symbol TourStaff::StaffTitle() {} // Range: 0x801E09F0 -> 0x801E0A34 class Symbol TourStaff::StaffDesc() {} // Range: 0x801E0A34 -> 0x801E0A68 char * TourStaff::StaffTexFile() {} // Range: 0x801E0A68 -> 0x801E0BA0 void TourWorld::FindTowns(const class TourWorld * const this /* r27 */, class vector & towns /* r28 */, class Symbol & hometown /* r30 */, int level /* r29 */) { // Local variables const struct MappedTowns * mt; // r0 const class vector & vtowns; // r0 const struct VehicleTown * vt; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E0BA0 -> 0x801E0C28 struct VehicleTown & TourWorld::FindVehicleTown() { // Local variables struct pair p; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E0C28 -> 0x801E1054 class TourTier * TourWorld::TownTier(const class TourWorld * const this /* r29 */, class Symbol & hometown_name /* r27 */) { // Local variables const class TourTown * town; // r1+0x30 const class TourTown * hometown; // r28 class vector cont_towns; // r1+0x4C class vector closest; // r1+0x40 int tier; // r30 class TourTown * * t; // r4 class TourTown * * t; // r27 class vector other_towns; // r1+0x34 class TourTown * * tit; // r0 int tier; // r27 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E1054 -> 0x801E12B0 int TourWorld::VehicleLevelRequired(const class TourWorld * const this /* r29 */, class Symbol & town /* r31 */) { // Local variables const class TourTown * h; // r30 const class TourTown * t; // r1+0x24 class vector cont_towns; // r1+0x34 class vector closest; // r1+0x28 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E12B0 -> 0x801E135C class Symbol TourWorld::VenueTown() { // Local variables class TourTown * const * t; // r8 class TourVenue * const * v; // r9 // References // -> const char * gNullStr; // -> class Debug TheDebug; } // Range: 0x801E135C -> 0x801E1504 class Symbol TourWorld::FindEventVenue(const class TourWorld * const this /* r27 */, class Symbol & hometown /* r30 */, const class TourWorldEvent * e /* r28 */) { // Local variables const class TourTown * town; // r0 const class TourTier * tier; // r31 int venue_pos; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801E1504 -> 0x801E1570 class TourMoment * TourWorld::NullMoment() { // Local variables class TourMoment * m; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E1570 -> 0x801E15F8 class TourMoment * TourWorld::FindMoment(const class TourWorld * const this /* r29 */, class Symbol & moment /* r30 */) { // Local variables class TourMoment * const * m; // r0 // References // -> class Debug TheDebug; } // Range: 0x801E15F8 -> 0x801E17C4 void TourWorld::FindClosest(class vector & closest /* r24 */, const class TourTown * hometown /* r1+0x8 */, const class vector & cont_towns /* r25 */) { // Local variables class TourTown * const * it; // r0 int home_pos; // r31 int pos; // r30 int num_closest; // r29 int max_distance; // r28 unsigned char reversed; // r27 int dir; // r26 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E17C4 -> 0x801E18D8 void TourWorld::AddEvent(class TourWorld * const this /* r31 */, class TourWorldEvent * e /* r1+0x8 */) { // Local variables class TourTown * tt; // r31 class TourVenue * tv; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E18D8 -> 0x801E18E0 */ // Range: 0x801E18D8 -> 0x801E18DC class StlNodeAlloc vector::get_allocator() {} // Range: 0x801E18DC -> 0x801E18E0 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E18E0 -> 0x801E19A0 */ // Range: 0x801E18E0 -> 0x801E18F8 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x801E18F8 -> 0x801E1910 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801E1910 -> 0x801E1928 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801E1928 -> 0x801E1940 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801E1940 -> 0x801E1958 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801E1958 -> 0x801E1970 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x801E1970 -> 0x801E1988 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801E1988 -> 0x801E19A0 struct __false_type _IsPOD::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E19A0 -> 0x801E24FC */ // Range: 0x801E19A0 -> 0x801E1B38 class TourVenue * const * find(class TourVenue * const * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801E1B38 -> 0x801E1B90 struct MappedTowns * __lower_bound() { // Local variables long __len; // r6 long __half; // r7 const struct MappedTowns * __middle; // r8 } // Range: 0x801E1B90 -> 0x801E1BFC struct VehicleTown * __lower_bound() { // Local variables long __len; // r7 long __half; // r8 const struct VehicleTown * __middle; // r9 } // Range: 0x801E1BFC -> 0x801E1D94 class TourTown * const * find(class TourTown * const * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801E1D94 -> 0x801E1F2C class TourTown * * find(class TourTown * * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801E1F2C -> 0x801E20C4 class TourTier * const * find(class TourTier * const * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801E20C4 -> 0x801E21A4 class TourTown * * find() {} // Range: 0x801E21A4 -> 0x801E2284 class TourTown * * find() {} // Range: 0x801E2284 -> 0x801E241C class TourMoment * const * find(class TourMoment * const * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801E241C -> 0x801E24FC class TourTown * const * find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E24FC -> 0x801E4240 */ // Range: 0x801E24FC -> 0x801E25A0 void sort(struct MappedTowns * __first /* r29 */, struct MappedTowns * __last /* r30 */, struct MappedTownsCmp & __comp /* r31 */) {} // Range: 0x801E25A0 -> 0x801E2640 void __final_insertion_sort(struct MappedTowns * __first /* r29 */, struct MappedTowns * __last /* r30 */, struct MappedTownsCmp & __comp /* r31 */) {} // Range: 0x801E2640 -> 0x801E27EC void __unguarded_insertion_sort_aux(struct MappedTowns * __last /* r29 */, struct MappedTownsCmp & __comp /* r30 */) { // Local variables struct MappedTowns * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E27EC -> 0x801E2860 void __unguarded_linear_insert(struct MappedTowns & __val /* r30 */) { // Local variables struct MappedTowns * __next; // r31 } // Range: 0x801E2860 -> 0x801E2A0C void __insertion_sort(struct MappedTowns * __first /* r28 */, struct MappedTowns * __last /* r29 */, struct MappedTownsCmp & __comp /* r30 */) { // Local variables struct MappedTowns * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E2A0C -> 0x801E2C10 void __linear_insert(struct MappedTowns * __first /* r27 */, struct MappedTowns * __last /* r29 */, struct MappedTowns & __val /* r30 */, struct MappedTownsCmp & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E2C10 -> 0x801E2E78 void __introsort_loop(struct MappedTowns * __first /* r27 */, struct MappedTowns * __last /* r28 */, long __depth_limit /* r29 */, struct MappedTownsCmp & __comp /* r30 */) { // Local variables struct MappedTowns * __cut; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E2E78 -> 0x801E307C struct MappedTowns * __unguarded_partition(struct MappedTowns * __first /* r29 */, struct MappedTowns * __last /* r30 */, struct MappedTowns & __pivot /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E307C -> 0x801E30AC void partial_sort() {} // Range: 0x801E30AC -> 0x801E32B8 void __partial_sort(struct MappedTowns * __first /* r27 */, struct MappedTowns * __middle /* r28 */, struct MappedTowns * __last /* r29 */, struct MappedTownsCmp & __comp /* r30 */) { // Local variables struct MappedTowns * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E32B8 -> 0x801E336C void sort(struct VehicleTown * __first /* r29 */, struct VehicleTown * __last /* r30 */, struct VehicleTownCmp & __comp /* r31 */) {} // Range: 0x801E336C -> 0x801E341C void __final_insertion_sort(struct VehicleTown * __first /* r29 */, struct VehicleTown * __last /* r30 */, struct VehicleTownCmp & __comp /* r31 */) {} // Range: 0x801E341C -> 0x801E349C void __unguarded_insertion_sort_aux(struct VehicleTown * __last /* r29 */, struct VehicleTownCmp & __comp /* r30 */) { // Local variables struct VehicleTown * __i; // r31 } // Range: 0x801E349C -> 0x801E34F8 void __unguarded_linear_insert() { // Local variables struct VehicleTown * __next; // r7 } // Range: 0x801E34F8 -> 0x801E3630 void __insertion_sort(struct VehicleTown * __first /* r28 */, struct VehicleTown * __last /* r29 */, struct VehicleTownCmp & __comp /* r30 */) { // Local variables struct VehicleTown * __i; // r31 } // Range: 0x801E3630 -> 0x801E3794 void __introsort_loop(struct VehicleTown * __first /* r28 */, struct VehicleTown * __last /* r29 */, long __depth_limit /* r30 */, struct VehicleTownCmp & __comp /* r31 */) { // Local variables struct VehicleTown * __cut; // r27 } // Range: 0x801E3794 -> 0x801E3878 struct VehicleTown * __unguarded_partition(struct VehicleTown * __first /* r29 */, struct VehicleTown * __last /* r30 */, struct VehicleTown & __pivot /* r31 */) {} // Range: 0x801E3878 -> 0x801E38A8 void partial_sort() {} // Range: 0x801E38A8 -> 0x801E39E4 void __partial_sort(struct VehicleTown * __first /* r27 */, struct VehicleTown * __middle /* r28 */, struct VehicleTown * __last /* r29 */, struct VehicleTownCmp & __comp /* r30 */) { // Local variables struct VehicleTown * __i; // r31 } // Range: 0x801E39E4 -> 0x801E3ADC struct pair __equal_range(const struct MappedTowns * __first /* r26 */, const class Symbol & __val /* r27 */, struct MappedTownsCmp & __comp /* r28 */) { // Local variables long __len; // r30 long __half; // r5 const struct MappedTowns * __middle; // r29 } // Range: 0x801E3ADC -> 0x801E3B34 struct MappedTowns * __upper_bound() { // Local variables long __len; // r6 long __half; // r7 const struct MappedTowns * __middle; // r8 } // Range: 0x801E3B34 -> 0x801E3C40 struct pair __equal_range(const struct VehicleTown * __first /* r29 */, const class Symbol & __val /* r30 */, struct VehicleTownCmp & __comp /* r31 */) { // Local variables long __len; // r26 long __half; // r5 const struct VehicleTown * __middle; // r25 } // Range: 0x801E3C40 -> 0x801E3CAC struct VehicleTown * __upper_bound() { // Local variables long __len; // r7 long __half; // r8 const struct VehicleTown * __middle; // r9 } // Range: 0x801E3CAC -> 0x801E3D50 void sort(class TourTown * * __first /* r29 */, class TourTown * * __last /* r30 */, struct TownOrderCmp & __comp /* r31 */) {} // Range: 0x801E3D50 -> 0x801E3DF0 void __final_insertion_sort(class TourTown * * __first /* r29 */, class TourTown * * __last /* r30 */, struct TownOrderCmp & __comp /* r31 */) {} // Range: 0x801E3DF0 -> 0x801E3E58 void __unguarded_insertion_sort_aux(class TourTown * * __last /* r29 */, struct TownOrderCmp & __comp /* r30 */) { // Local variables class TourTown * * __i; // r31 } // Range: 0x801E3E58 -> 0x801E3E8C void __unguarded_linear_insert() { // Local variables class TourTown * * __next; // r7 } // Range: 0x801E3E8C -> 0x801E3F44 void __insertion_sort(class TourTown * * __first /* r27 */, class TourTown * * __last /* r28 */, struct TownOrderCmp & __comp /* r29 */) { // Local variables class TourTown * * __i; // r30 } // Range: 0x801E3F44 -> 0x801E407C void __introsort_loop(class TourTown * * __first /* r28 */, class TourTown * * __last /* r29 */, long __depth_limit /* r30 */, struct TownOrderCmp & __comp /* r31 */) { // Local variables class TourTown * * __cut; // r27 } // Range: 0x801E407C -> 0x801E4130 class TourTown * * __unguarded_partition(class TourTown * * __first /* r29 */, class TourTown * * __last /* r30 */, class TourTown * __pivot /* r31 */) {} // Range: 0x801E4130 -> 0x801E4160 void partial_sort() {} // Range: 0x801E4160 -> 0x801E4240 void __partial_sort(class TourTown * * __first /* r27 */, class TourTown * * __middle /* r28 */, class TourTown * * __last /* r29 */, struct TownOrderCmp & __comp /* r30 */) { // Local variables class TourTown * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E4240 -> 0x801E4D34 */ // Range: 0x801E4240 -> 0x801E43E4 void pop_heap(struct MappedTowns * __first /* r30 */, struct MappedTowns * __last /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E43E4 -> 0x801E461C void __adjust_heap(struct MappedTowns * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, struct MappedTowns & __val /* r28 */, struct MappedTownsCmp & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E461C -> 0x801E46E8 void __push_heap(struct MappedTowns * __first /* r29 */, long __topIndex /* r30 */, struct MappedTowns & __val /* r31 */) { // Local variables long __parent; // r28 } // Range: 0x801E46E8 -> 0x801E48BC void make_heap(struct MappedTowns * __first /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E48BC -> 0x801E4954 void pop_heap(struct VehicleTown * __last /* r9 */) {} // Range: 0x801E4954 -> 0x801E4AB0 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r10 } // Range: 0x801E4AB0 -> 0x801E4B74 void make_heap(struct VehicleTown * __first /* r31 */) {} // Range: 0x801E4B74 -> 0x801E4BC8 void pop_heap(class TourTown * * __last /* r7 */) {} // Range: 0x801E4BC8 -> 0x801E4C9C void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r10 } // Range: 0x801E4C9C -> 0x801E4D34 void make_heap(class TourTown * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E4D34 -> 0x801E4EE8 */ // Range: 0x801E4D34 -> 0x801E4EE8 void __pop_heap(struct MappedTowns * __first /* r28 */, struct MappedTowns * __last /* r29 */, struct MappedTowns & __val /* r30 */, struct MappedTownsCmp & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E4EE8 -> 0x801E6684 */ // Range: 0x801E4EE8 -> 0x801E5450 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct MappedTowns * __pos /* r25 */, const struct MappedTowns & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 struct MappedTowns * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__P11VehicleTown; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11MappedTowns; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E5450 -> 0x801E567C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct VehicleTown * __pos /* r26 */, const struct VehicleTown & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct VehicleTown * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E567C -> 0x801E5968 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VehicleTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E5968 -> 0x801E5AA0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourTier * * __pos /* r28 */, class TourTier * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourTier * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8TourTier; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E5AA0 -> 0x801E5E9C void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class vector * __pos /* r25 */, const class vector & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x90 unsigned long __len; // r29 class vector * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PP14TourWorldEvent; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std74vector>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E5E9C -> 0x801E5FD4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourMoment * * __pos /* r28 */, class TourMoment * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourMoment * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10TourMoment; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E5FD4 -> 0x801E610C void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourStaff * * __pos /* r28 */, class TourStaff * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourStaff * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9TourStaff; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E610C -> 0x801E62DC class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14TourWorldEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E62DC -> 0x801E6414 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourVenue * * __pos /* r28 */, class TourVenue * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourVenue * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9TourVenue; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E6414 -> 0x801E654C void vector::_M_insert_overflow(class vector * const this /* r27 */, const class TourTown * * __pos /* r28 */, const class TourTown * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 const class TourTown * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPC8TourTown; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801E654C -> 0x801E6684 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TourTown * * __pos /* r28 */, class TourTown * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TourTown * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8TourTown; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\TourWorldProviders.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E6684 -> 0x801E9400 */ // Range: 0x801E6684 -> 0x801E66FC void * EventProvider::EventProvider(class EventProvider * const this /* r30 */, const class TourWorld & world /* r31 */) { // References // -> struct [anonymous] __vt__13EventProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x801E66FC -> 0x801E69B0 void EventProvider::InitData(class EventProvider * const this /* r30 */) { // Local variables const class TourTown * t; // r27 class vector events; // r1+0x3C class TourWorldEvent * * e; // r28 struct EventData ed; // r1+0x48 // References // -> const char * gNullStr; } struct WorldEventCmp { // total size: 0x1 }; class _Temporary_buffer { // total size: 0xC long _M_original_len; // offset 0x0, size 0x4 long _M_len; // offset 0x4, size 0x4 class TourWorldEvent * * _M_buffer; // offset 0x8, size 0x4 }; struct _OKToSwap { // total size: 0x1 }; static class Symbol disabled; // size: 0x4, address: 0x80A4E134 // Range: 0x801E69B0 -> 0x801E6A38 class Symbol EventProvider::State(const class EventProvider * const this /* r29 */, int data /* r30 */, class Symbol & component_state /* r31 */) { // References // -> static class Symbol disabled; } static class Symbol event; // size: 0x4, address: 0x80A4E13C static class Symbol stars; // size: 0x4, address: 0x80A4E144 static class Symbol fame; // size: 0x4, address: 0x80A4E14C static class Symbol new_sym; // size: 0x4, address: 0x80A4E154 static class Symbol songs; // size: 0x4, address: 0x80A4E15C static class Symbol item; // size: 0x4, address: 0x80A4E164 static class Symbol tour_new; // size: 0x4, address: 0x80A4E16C // Range: 0x801E6A38 -> 0x801E6CFC char * EventProvider::Text(const class EventProvider * const this /* r28 */, class Symbol & slot /* r29 */) { // Local variables int fame; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol tour_new; // -> const char * gNullStr; // -> static class Symbol item; // -> static class Symbol songs; // -> static class Symbol new_sym; // -> static class Symbol fame; // -> static class Symbol stars; // -> static class Symbol event; } static class Symbol playerdiff; // size: 0x4, address: 0x80A4E174 // Range: 0x801E6CFC -> 0x801E6DB4 void EventProvider::Custom(const class EventProvider * const this /* r27 */, int data /* r28 */, class Symbol & slot /* r29 */, class Object * o /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol playerdiff; } // Range: 0x801E6DB4 -> 0x801E6E00 class RndMat * EventProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E6E00 -> 0x801E6E2C int EventProvider::NumData() {} // Range: 0x801E6E2C -> 0x801E6E88 class Symbol EventProvider::DataSymbol() {} // Range: 0x801E6E88 -> 0x801E6E90 void EventProvider::SetBand() {} // Range: 0x801E6E90 -> 0x801E6EFC void * EventSongProvider::EventSongProvider(class EventSongProvider * const this /* r30 */, const class SongMgr & song_mgr /* r31 */) { // References // -> struct [anonymous] __vt__17EventSongProvider; // -> struct [anonymous] __vt__12ListProvider; } static class Symbol random; // size: 0x4, address: 0x80A4E17C static class Symbol any; // size: 0x4, address: 0x80A4E184 static class Symbol tour_random_song; // size: 0x4, address: 0x80A4E18C static class Symbol tour_any_song; // size: 0x4, address: 0x80A4E194 // Range: 0x801E6EFC -> 0x801E7040 char * EventSongProvider::Text(const class EventSongProvider * const this /* r29 */, int data /* r30 */) { // Local variables class Symbol song; // r1+0x14 // References // -> static class Symbol tour_any_song; // -> static class Symbol tour_random_song; // -> static class Symbol any; // -> static class Symbol random; } // Range: 0x801E7040 -> 0x801E7048 void EventSongProvider::SetBand() {} // Range: 0x801E7048 -> 0x801E7094 class RndMat * EventSongProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E7094 -> 0x801E70B0 int EventSongProvider::NumData() {} // Range: 0x801E70B0 -> 0x801E70C4 class Symbol EventSongProvider::DataSymbol() {} // Range: 0x801E70C4 -> 0x801E713C void * TownProvider::TownProvider(class TownProvider * const this /* r30 */, const class TourWorld & world /* r31 */) { // References // -> struct [anonymous] __vt__12TownProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x801E713C -> 0x801E7498 void TownProvider::InitData(class TownProvider * const this /* r30 */) { // Local variables class vector towns; // r1+0x68 class vector v_states; // r1+0x5C const class TourTown * * t; // r28 struct TownData td; // r1+0x74 // References // -> const char * gNullStr; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; static class Symbol disabled; // size: 0x4, address: 0x80A4E19C // Range: 0x801E7498 -> 0x801E752C class Symbol TownProvider::State(const class TownProvider * const this /* r29 */, int data /* r30 */, class Symbol & component_state /* r31 */) { // References // -> static class Symbol disabled; } static class Symbol town; // size: 0x4, address: 0x80A4E1A4 static class Symbol new_sym; // size: 0x4, address: 0x80A4E1AC static class Symbol item; // size: 0x4, address: 0x80A4E1B4 static class Symbol tour_new; // size: 0x4, address: 0x80A4E1BC // Range: 0x801E752C -> 0x801E76C8 char * TownProvider::Text(const class TownProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> static class Symbol tour_new; // -> static class Symbol item; // -> static class Symbol new_sym; // -> static class Symbol town; } static class Symbol playerdiff; // size: 0x4, address: 0x80A4E1C4 // Range: 0x801E76C8 -> 0x801E7780 void TownProvider::Custom(const class TownProvider * const this /* r27 */, int data /* r28 */, class Symbol & slot /* r29 */, class Object * o /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol playerdiff; } // Range: 0x801E7780 -> 0x801E77CC class RndMat * TownProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E77CC -> 0x801E77F8 int TownProvider::NumData() {} // Range: 0x801E77F8 -> 0x801E7808 class Symbol TownProvider::DataSymbol() {} // Range: 0x801E7808 -> 0x801E7810 void TownProvider::SetBand() {} static class Symbol _s; // size: 0x4, address: 0x80A4E1CC // Range: 0x801E7810 -> 0x801E7BC0 class DataNode TownProvider::Handle(class TownProvider * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801E7BC0 -> 0x801E7C34 void * VenueProvider::VenueProvider(class VenueProvider * const this /* r30 */, const class TourWorld & world /* r31 */) { // References // -> struct [anonymous] __vt__13VenueProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x801E7C34 -> 0x801E7F58 void VenueProvider::InitData(class VenueProvider * const this /* r29 */) { // Local variables class vector e_states; // r1+0x54 const class TourTown * t; // r31 class TourVenue * const * v; // r30 struct VenueData vd; // r1+0x60 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol disabled; // size: 0x4, address: 0x80A4E1D4 // Range: 0x801E7F58 -> 0x801E7FE0 class Symbol VenueProvider::State(const class VenueProvider * const this /* r29 */, int data /* r30 */, class Symbol & component_state /* r31 */) { // References // -> static class Symbol disabled; } static class Symbol town; // size: 0x4, address: 0x80A4E1DC static class Symbol new_sym; // size: 0x4, address: 0x80A4E1E4 static class Symbol item; // size: 0x4, address: 0x80A4E1EC static class Symbol tour_new; // size: 0x4, address: 0x80A4E1F4 // Range: 0x801E7FE0 -> 0x801E817C char * VenueProvider::Text(const class VenueProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> static class Symbol tour_new; // -> static class Symbol item; // -> static class Symbol new_sym; // -> static class Symbol town; } static class Symbol playerdiff; // size: 0x4, address: 0x80A4E1FC // Range: 0x801E817C -> 0x801E8234 void VenueProvider::Custom(const class VenueProvider * const this /* r27 */, int data /* r28 */, class Symbol & slot /* r29 */, class Object * o /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol playerdiff; } // Range: 0x801E8234 -> 0x801E8280 class RndMat * VenueProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E8280 -> 0x801E8298 int VenueProvider::NumData() {} // Range: 0x801E8298 -> 0x801E82A8 class Symbol VenueProvider::DataSymbol() {} // Range: 0x801E82A8 -> 0x801E82B0 void VenueProvider::SetBand() {} static class Symbol icon; // size: 0x4, address: 0x80A4E204 static class Symbol description; // size: 0x4, address: 0x80A4E20C static class Symbol instrument; // size: 0x4, address: 0x80A4E214 // Range: 0x801E82B0 -> 0x801E843C char * RequirementProvider::Text(const class RequirementProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol instrument; // -> static class Symbol description; // -> static class Symbol icon; } // Range: 0x801E843C -> 0x801E8488 class RndMat * RequirementProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E8488 -> 0x801E84B0 int RequirementProvider::NumData() {} // Range: 0x801E84B0 -> 0x801E84C0 unsigned char RequirementProvider::IsActive() {} // Range: 0x801E84C0 -> 0x801E852C void RequirementProvider::SetByVenue(class RequirementProvider * const this /* r30 */, const class TourBand * band /* r31 */) {} // Range: 0x801E852C -> 0x801E8594 void RequirementProvider::SetByEvent(class RequirementProvider * const this /* r29 */, const class TourBand * band /* r30 */, const class TourWorldEvent * e /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x801E8594 -> 0x801E85A8 void RequirementProvider::SetByStaff(class RequirementProvider * const this /* r6 */) {} // Range: 0x801E85A8 -> 0x801E85BC void RequirementProvider::SetByChallenge(class RequirementProvider * const this /* r6 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4E21C static class Symbol _s; // size: 0x4, address: 0x80A4E224 static class Symbol _s; // size: 0x4, address: 0x80A4E22C static class Symbol _s; // size: 0x4, address: 0x80A4E234 // Range: 0x801E85BC -> 0x801E8D60 class DataNode RequirementProvider::Handle(class RequirementProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__18TourChallengeEvent; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__9TourStaff; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__14TourWorldEvent; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8TourBand; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801E8D60 -> 0x801E8E70 void * HometownProvider::HometownProvider(class HometownProvider * const this /* r29 */, const class vector & towns /* r30 */) { // Local variables class TourTown * const * t; // r31 const class TourTown * town; // r5 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__16HometownProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x801E8E70 -> 0x801E8EA8 char * HometownProvider::Text() {} // Range: 0x801E8EA8 -> 0x801E8EF4 class RndMat * HometownProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E8EF4 -> 0x801E8F0C int HometownProvider::NumData() {} // Range: 0x801E8F0C -> 0x801E8F1C class Symbol HometownProvider::DataSymbol() {} // Range: 0x801E8F1C -> 0x801E8F80 void * StaffProvider::StaffProvider(class StaffProvider * const this /* r30 */, const class vector & staff /* r31 */) { // References // -> struct [anonymous] __vt__13StaffProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x801E8F80 -> 0x801E8FC0 char * StaffProvider::Text() {} // Range: 0x801E8FC0 -> 0x801E900C class RndMat * StaffProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801E900C -> 0x801E9028 int StaffProvider::NumData() {} // Range: 0x801E9028 -> 0x801E903C class Symbol StaffProvider::DataSymbol() {} static class Symbol _s; // size: 0x4, address: 0x80A4E23C // Range: 0x801E903C -> 0x801E9400 class DataNode StaffProvider::Handle(class StaffProvider * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__13StaffProvider; // size: 0x9C, address: 0x808A6470 struct { // total size: 0x8 } __RTTI__13StaffProvider; // size: 0x8, address: 0x808A6538 struct { // total size: 0x98 } __vt__16HometownProvider; // size: 0x98, address: 0x808A6540 struct { // total size: 0x8 } __RTTI__16HometownProvider; // size: 0x8, address: 0x808A6608 struct { // total size: 0x9C } __vt__19RequirementProvider; // size: 0x9C, address: 0x808A6610 struct { // total size: 0x8 } __RTTI__19RequirementProvider; // size: 0x8, address: 0x808A66E0 struct { // total size: 0x98 } __vt__13VenueProvider; // size: 0x98, address: 0x808A66E8 struct { // total size: 0x8 } __RTTI__13VenueProvider; // size: 0x8, address: 0x808A67B8 struct { // total size: 0x9C } __vt__12TownProvider; // size: 0x9C, address: 0x808A67C0 struct { // total size: 0x8 } __RTTI__12TownProvider; // size: 0x8, address: 0x808A6890 struct { // total size: 0x98 } __vt__17EventSongProvider; // size: 0x98, address: 0x808A6898 struct { // total size: 0x8 } __RTTI__17EventSongProvider; // size: 0x8, address: 0x808A6960 struct { // total size: 0x98 } __vt__13EventProvider; // size: 0x98, address: 0x808A6968 struct { // total size: 0x8 } __RTTI__13EventProvider; // size: 0x8, address: 0x808A6A38 struct { // total size: 0x8 } __RTTI__14WorldStateBase; // size: 0x8, address: 0x808A6A50 struct { // total size: 0x8 } __RTTI__PQ213VenueProvider9VenueData; // size: 0x8, address: 0x808A6B78 struct { // total size: 0x8 } __RTTI__PQ212TownProvider8TownData; // size: 0x8, address: 0x808A6BA0 struct { // total size: 0x8 } __RTTI__PQ213EventProvider9EventData; // size: 0x8, address: 0x808A6BC8 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E9400 -> 0x801E94C0 */ // Range: 0x801E9400 -> 0x801E94C0 void WorldStateBase::SetPlayerDiff(enum Difficulty max_diff /* r29 */, int max_players /* r30 */) { // Local variables class PlayerDiffIcon * pdi; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14PlayerDiffIcon; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801E9510 -> 0x801EAF40 */ // Range: 0x801E9510 -> 0x801E9544 void stable_sort() {} // Range: 0x801E9544 -> 0x801E9660 void __stable_sort_aux(class TourWorldEvent * * __first /* r30 */, class TourWorldEvent * * __last /* r31 */, struct WorldEventCmp & __comp /* r29 */) { // Local variables class _Temporary_buffer buf; // r1+0x18 } // Range: 0x801E9660 -> 0x801E9778 void __stable_sort_adaptive(class TourWorldEvent * * __first /* r27 */, class TourWorldEvent * * __last /* r28 */, class TourWorldEvent * * __buffer /* r29 */, long __buffer_size /* r30 */, struct WorldEventCmp & __comp /* r31 */) { // Local variables long __len; // r4 class TourWorldEvent * * __middle; // r26 } // Range: 0x801E9778 -> 0x801E99B0 void __merge_adaptive(class TourWorldEvent * * __first /* r20 */, class TourWorldEvent * * __middle /* r21 */, class TourWorldEvent * * __last /* r22 */, long __len1 /* r23 */, long __len2 /* r24 */, class TourWorldEvent * * __buffer /* r25 */, long __buffer_size /* r26 */, struct WorldEventCmp & __comp /* r27 */) { // Local variables class TourWorldEvent * * __first_cut; // r31 class TourWorldEvent * * __second_cut; // r30 long __len11; // r29 long __len22; // r28 class TourWorldEvent * * __new_middle; // r21 } // Range: 0x801E99B0 -> 0x801E9B28 class TourWorldEvent * * __rotate_adaptive(class TourWorldEvent * * __first /* r27 */, class TourWorldEvent * * __middle /* r28 */, class TourWorldEvent * * __last /* r29 */, class TourWorldEvent * * __buffer /* r30 */) {} // Range: 0x801E9B28 -> 0x801E9B34 class TourWorldEvent * * __rotate() {} // Range: 0x801E9B34 -> 0x801E9CEC class TourWorldEvent * * __rotate_aux(class TourWorldEvent * * __middle /* r30 */) { // Local variables long __n; // r0 long __k; // r6 long __l; // r7 class TourWorldEvent * * __result; // r31 long __d; // r0 long __i; // r9 class TourWorldEvent * __tmp; // r10 class TourWorldEvent * * __p; // r11 long __j; // r12 long __j; // r12 } // Range: 0x801E9CEC -> 0x801E9E24 class TourWorldEvent * * __upper_bound(class TourWorldEvent * * __first /* r30 */, class TourWorldEvent * const & __val /* r31 */) { // Local variables long __len; // r26 long __half; // r25 class TourWorldEvent * * __middle; // r24 } // Range: 0x801E9E24 -> 0x801EA03C class TourWorldEvent * * __merge_backward(class TourWorldEvent * * __first1 /* r27 */, class TourWorldEvent * * __last1 /* r28 */, class TourWorldEvent * * __first2 /* r29 */, class TourWorldEvent * * __last2 /* r30 */, class TourWorldEvent * * __result /* r31 */) {} // Range: 0x801EA03C -> 0x801EA1D4 class TourWorldEvent * * merge(class TourWorldEvent * * __first1 /* r27 */, class TourWorldEvent * * __last1 /* r28 */, class TourWorldEvent * * __first2 /* r29 */, class TourWorldEvent * * __last2 /* r30 */, class TourWorldEvent * * __result /* r31 */) {} // Range: 0x801EA1D4 -> 0x801EA290 void __merge_sort_with_buffer(class TourWorldEvent * * __first /* r25 */, class TourWorldEvent * * __last /* r26 */, class TourWorldEvent * * __buffer /* r27 */, struct WorldEventCmp & __comp /* r28 */) { // Local variables long __len; // r31 class TourWorldEvent * * __buffer_last; // r30 long __step_size; // r29 } // Range: 0x801EA290 -> 0x801EA36C void __merge_sort_loop(class TourWorldEvent * * __first /* r27 */, class TourWorldEvent * * __last /* r28 */, class TourWorldEvent * * __result /* r8 */, long __step_size /* r1+0x8 */, struct WorldEventCmp & __comp /* r29 */) { // Local variables long __two_step; // r30 } // Range: 0x801EA36C -> 0x801EA400 void __chunk_insertion_sort(class TourWorldEvent * * __first /* r27 */, class TourWorldEvent * * __last /* r28 */, long __chunk_size /* r29 */, struct WorldEventCmp & __comp /* r30 */) {} // Range: 0x801EA400 -> 0x801EA56C void __insertion_sort(class TourWorldEvent * * __first /* r28 */, class TourWorldEvent * * __last /* r29 */, struct WorldEventCmp & __comp /* r30 */) { // Local variables class TourWorldEvent * * __i; // r31 } // Range: 0x801EA56C -> 0x801EA680 void __unguarded_linear_insert(class TourWorldEvent * * __last /* r27 */, class TourWorldEvent * __val /* r28 */) { // Local variables class TourWorldEvent * * __next; // r29 } // Range: 0x801EA680 -> 0x801EA764 void __inplace_stable_sort(class TourWorldEvent * * __first /* r28 */, class TourWorldEvent * * __last /* r29 */, struct WorldEventCmp & __comp /* r30 */) { // Local variables class TourWorldEvent * * __middle; // r31 } // Range: 0x801EA764 -> 0x801EA9B0 void __merge_without_buffer(class TourWorldEvent * * __first /* r22 */, class TourWorldEvent * * __middle /* r23 */, class TourWorldEvent * * __last /* r24 */, long __len1 /* r25 */, long __len2 /* r26 */, struct WorldEventCmp & __comp /* r27 */) { // Local variables class TourWorldEvent * * __first_cut; // r31 class TourWorldEvent * * __second_cut; // r30 long __len11; // r29 long __len22; // r28 class TourWorldEvent * * __new_middle; // r23 } // Range: 0x801EA9B0 -> 0x801EAA54 void sort(const class TourTown * * __first /* r29 */, const class TourTown * * __last /* r30 */, struct TownOrderCmp & __comp /* r31 */) {} // Range: 0x801EAA54 -> 0x801EAAF4 void __final_insertion_sort(const class TourTown * * __first /* r29 */, const class TourTown * * __last /* r30 */, struct TownOrderCmp & __comp /* r31 */) {} // Range: 0x801EAAF4 -> 0x801EAB5C void __unguarded_insertion_sort_aux(const class TourTown * * __last /* r29 */, struct TownOrderCmp & __comp /* r30 */) { // Local variables const class TourTown * * __i; // r31 } // Range: 0x801EAB5C -> 0x801EAB8C void __unguarded_linear_insert() { // Local variables const class TourTown * * __next; // r7 } // Range: 0x801EAB8C -> 0x801EAC44 void __insertion_sort(const class TourTown * * __first /* r27 */, const class TourTown * * __last /* r28 */, struct TownOrderCmp & __comp /* r29 */) { // Local variables const class TourTown * * __i; // r30 } // Range: 0x801EAC44 -> 0x801EAD7C void __introsort_loop(const class TourTown * * __first /* r28 */, const class TourTown * * __last /* r29 */, long __depth_limit /* r30 */, struct TownOrderCmp & __comp /* r31 */) { // Local variables const class TourTown * * __cut; // r27 } // Range: 0x801EAD7C -> 0x801EAE30 class TourTown * * __unguarded_partition(const class TourTown * * __first /* r29 */, const class TourTown * * __last /* r30 */, const class TourTown * __pivot /* r31 */) {} // Range: 0x801EAE30 -> 0x801EAE60 void partial_sort() {} // Range: 0x801EAE60 -> 0x801EAF40 void __partial_sort(const class TourTown * * __first /* r27 */, const class TourTown * * __middle /* r28 */, const class TourTown * * __last /* r29 */, struct TownOrderCmp & __comp /* r30 */) { // Local variables const class TourTown * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EAF40 -> 0x801EAF88 */ // Range: 0x801EAF40 -> 0x801EAF58 struct __true_type _OKToSwap::_Answer() {} // Range: 0x801EAF58 -> 0x801EAF70 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x801EAF70 -> 0x801EAF88 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EAF88 -> 0x801EB0C0 */ // Range: 0x801EAF88 -> 0x801EB0C0 class TourWorldEvent * * __lower_bound(class TourWorldEvent * * __first /* r30 */, class TourWorldEvent * const & __val /* r31 */) { // Local variables long __len; // r26 long __half; // r25 class TourWorldEvent * * __middle; // r24 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EB0C0 -> 0x801EB284 */ // Range: 0x801EB0C0 -> 0x801EB114 void pop_heap(const class TourTown * * __last /* r7 */) {} // Range: 0x801EB114 -> 0x801EB1E4 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r10 } // Range: 0x801EB1E4 -> 0x801EB284 void make_heap(const class TourTown * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EB284 -> 0x801EBA5C */ // Range: 0x801EB284 -> 0x801EB51C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct VenueData * __pos /* r26 */, const struct VenueData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct VenueData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213VenueProvider9VenueData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801EB51C -> 0x801EB7BC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct TownData * __pos /* r26 */, const struct TownData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct TownData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212TownProvider8TownData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801EB7BC -> 0x801EBA5C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct EventData * __pos /* r26 */, const struct EventData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct EventData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213EventProvider9EventData; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\TutorialPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EBA5C -> 0x801EDC54 */ class DataArray * types; // size: 0x4, address: 0x80A4E240 class DataArray * types; // size: 0x4, address: 0x80A4E248 class Symbol name; // size: 0x4, address: 0x80A4E250 class DataArray * types; // size: 0x4, address: 0x80A4E254 class DataArray * types; // size: 0x4, address: 0x80A4E25C class DataArray * types; // size: 0x4, address: 0x80A4E264 static float kDbQuiet; // size: 0x4, address: 0x80A56670 class TutorialBackgroundPanel * TheTutorialBackgroundPanel; // size: 0x4, address: 0x80A4E26C class TutorialTVScreenPanel * TheTutorialTVScreenPanel; // size: 0x4, address: 0x80A4E270 class TutorialTVOverlayPanel * TheTutorialTVOverlayPanel; // size: 0x4, address: 0x80A4E274 // Range: 0x801EBA5C -> 0x801EBBE0 void * TutorialPanel::TutorialPanel(class TutorialPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> struct [anonymous] __vt__13TutorialPanel; // -> struct [anonymous] __vt__23BeatMatchControllerSink; } class _List_node : public _List_node_base { // total size: 0x10 public: struct Flasher _M_data; // offset 0x8, size 0x8 }; // Range: 0x801EBBE0 -> 0x801EBCE4 void * TutorialPanel::~TutorialPanel(class TutorialPanel * const this /* r29 */) { // References // -> struct [anonymous] __vt__13TutorialPanel; } // Range: 0x801EBCE4 -> 0x801EBD74 void TutorialPanel::Load(class TutorialPanel * const this /* r29 */) {} // Range: 0x801EBD74 -> 0x801EBDBC void TutorialPanel::Unload(class TutorialPanel * const this /* r31 */) {} // Range: 0x801EBDBC -> 0x801EBF28 void TutorialPanel::Enter(class TutorialPanel * const this /* r28 */) { // References // -> class TutorialTVOverlayPanel * TheTutorialTVOverlayPanel; // -> class TutorialTVScreenPanel * TheTutorialTVScreenPanel; // -> class TutorialBackgroundPanel * TheTutorialBackgroundPanel; // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__3Sfx; } // Range: 0x801EBF28 -> 0x801EBFCC void TutorialPanel::Exit(class TutorialPanel * const this /* r31 */) { // References // -> class TutorialTVOverlayPanel * TheTutorialTVOverlayPanel; // -> class TutorialTVScreenPanel * TheTutorialTVScreenPanel; // -> class TutorialBackgroundPanel * TheTutorialBackgroundPanel; } // Range: 0x801EBFCC -> 0x801EBFDC void TutorialPanel::MuteAllTracks() { // References // -> class Game * TheGame; } // Range: 0x801EBFDC -> 0x801EC158 void TutorialPanel::PollAutoplayBRE(class TutorialPanel * const this /* r29 */, int slot /* r30 */) { // Local variables int track; // r31 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801EC158 -> 0x801EC1B8 void TutorialPanel::PollAutoplayBRE(class TutorialPanel * const this /* r31 */) {} // Range: 0x801EC1B8 -> 0x801EC1D0 void TutorialPanel::StopAutoplayBRE() {} // Range: 0x801EC1D0 -> 0x801EC2D8 void TutorialPanel::StartAutoplayBRE(class TutorialPanel * const this /* r29 */, float msWindow /* f31 */, unsigned char AutoplayingDrumsBRE /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6Player; // -> struct [anonymous] __RTTI__9GemPlayer; // -> class Game * TheGame; } // Range: 0x801EC2D8 -> 0x801EC3B4 void TutorialPanel::GenerateAutoplayBRETimes(class TutorialPanel * const this /* r29 */, int slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801EC3B4 -> 0x801EC414 void TutorialPanel::GenerateAutoplayBRETimes(class TutorialPanel * const this /* r31 */) {} // Range: 0x801EC414 -> 0x801EC52C void TutorialPanel::Poll(class TutorialPanel * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x801EC52C -> 0x801EC60C void TutorialPanel::SetPaused(class TutorialPanel * const this /* r30 */, unsigned char paused /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x801EC60C -> 0x801EC6A4 void TutorialPanel::EnableController(class TutorialPanel * const this /* r31 */) { // References // -> class GameConfig * TheGameConfig; // -> class Game * TheGame; } // Range: 0x801EC6A4 -> 0x801EC73C void TutorialPanel::DisableController(class TutorialPanel * const this /* r31 */) { // References // -> class GameConfig * TheGameConfig; // -> class Game * TheGame; } // Range: 0x801EC73C -> 0x801EC768 void TutorialPanel::StartAmbientLoop() {} // Range: 0x801EC768 -> 0x801EC788 void TutorialPanel::StopAmbientLoop() {} // Range: 0x801EC788 -> 0x801EC7A0 void TutorialPanel::PauseAmbientLoop() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801EC7A0 -> 0x801EC920 class DataNode TutorialPanel::OnMakeFlash(class TutorialPanel * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables struct Flasher flasher; // r1+0x18 unsigned char found; // r5 struct _List_iterator i; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std37_List_node; // size: 0x8, address: 0x808A6D10 // Range: 0x801EC920 -> 0x801EC9C8 void TutorialPanel::UpdateFlashers(class TutorialPanel * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 } // Range: 0x801EC9C8 -> 0x801EC9DC void TutorialPanel::ResetController() {} // Range: 0x801EC9DC -> 0x801ECA54 class DataNode TutorialPanel::OnFadeSongOut(class TutorialPanel * const this /* r30 */, class DataArray * msg /* r31 */) { // References // -> static float kDbQuiet; } // Range: 0x801ECA54 -> 0x801ECACC class DataNode TutorialPanel::OnFadeSongIn(class TutorialPanel * const this /* r30 */, class DataArray * msg /* r31 */) {} // Range: 0x801ECACC -> 0x801ECAD8 void TutorialPanel::SetSFXVolume() { // References // -> class Synth * TheSynth; } // Range: 0x801ECAD8 -> 0x801ECAE0 void TutorialPanel::SetTutorialPlayer() {} // Range: 0x801ECAE0 -> 0x801ECC94 void TutorialPanel::RenderGroup(const char * groupName /* r28 */) { // Local variables class ObjectDir * dir; // r29 // References // -> struct [anonymous] __RTTI__8RndGroup; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; } // Range: 0x801ECC94 -> 0x801ECC9C class BeatMatchController * TutorialPanel::GetController() {} // Range: 0x801ECC9C -> 0x801ECD24 void * TutorialDrawPanel::TutorialDrawPanel(class TutorialDrawPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__17TutorialDrawPanel; } // Range: 0x801ECD24 -> 0x801ECDAC void * TutorialDrawPanel::~TutorialDrawPanel(class TutorialDrawPanel * const this /* r29 */) {} // Range: 0x801ECDAC -> 0x801ECDEC void TutorialDrawPanel::Draw(class TutorialDrawPanel * const this /* r31 */) {} // Range: 0x801ECDEC -> 0x801ECDF0 void TutorialDrawPanel::SpecialDraw() {} // Range: 0x801ECDF0 -> 0x801ECDF8 void TutorialDrawPanel::SetActivePanel() {} // Range: 0x801ECDF8 -> 0x801ECE78 void * TutorialBackgroundPanel::TutorialBackgroundPanel(class TutorialBackgroundPanel * const this /* r31 */) { // References // -> class TutorialBackgroundPanel * TheTutorialBackgroundPanel; // -> struct [anonymous] __vt__23TutorialBackgroundPanel; } // Range: 0x801ECE78 -> 0x801ECF04 void * TutorialBackgroundPanel::~TutorialBackgroundPanel(class TutorialBackgroundPanel * const this /* r29 */) { // References // -> class TutorialBackgroundPanel * TheTutorialBackgroundPanel; } // Range: 0x801ECF04 -> 0x801ECF0C void TutorialBackgroundPanel::SpecialDraw() {} // Range: 0x801ECF0C -> 0x801ECF8C void * TutorialTVScreenPanel::TutorialTVScreenPanel(class TutorialTVScreenPanel * const this /* r31 */) { // References // -> class TutorialTVScreenPanel * TheTutorialTVScreenPanel; // -> struct [anonymous] __vt__21TutorialTVScreenPanel; } // Range: 0x801ECF8C -> 0x801ED018 void * TutorialTVScreenPanel::~TutorialTVScreenPanel(class TutorialTVScreenPanel * const this /* r29 */) { // References // -> class TutorialTVScreenPanel * TheTutorialTVScreenPanel; } // Range: 0x801ED018 -> 0x801ED020 void TutorialTVScreenPanel::SpecialDraw() {} // Range: 0x801ED020 -> 0x801ED0A0 void * TutorialTVOverlayPanel::TutorialTVOverlayPanel(class TutorialTVOverlayPanel * const this /* r31 */) { // References // -> class TutorialTVOverlayPanel * TheTutorialTVOverlayPanel; // -> struct [anonymous] __vt__22TutorialTVOverlayPanel; } // Range: 0x801ED0A0 -> 0x801ED12C void * TutorialTVOverlayPanel::~TutorialTVOverlayPanel(class TutorialTVOverlayPanel * const this /* r29 */) { // References // -> class TutorialTVOverlayPanel * TheTutorialTVOverlayPanel; } // Range: 0x801ED12C -> 0x801ED134 void TutorialTVOverlayPanel::SpecialDraw() {} static class Symbol _s; // size: 0x4, address: 0x80A4E27C static class Symbol _s; // size: 0x4, address: 0x80A4E284 static class Symbol _s; // size: 0x4, address: 0x80A4E28C static class Symbol _s; // size: 0x4, address: 0x80A4E294 static class Symbol _s; // size: 0x4, address: 0x80A4E29C static class Symbol _s; // size: 0x4, address: 0x80A4E2A4 static class Symbol _s; // size: 0x4, address: 0x80A4E2AC static class Symbol _s; // size: 0x4, address: 0x80A4E2B4 static class Symbol _s; // size: 0x4, address: 0x80A4E2BC static class Symbol _s; // size: 0x4, address: 0x80A4E2C4 static class Symbol _s; // size: 0x4, address: 0x80A4E2CC static class Symbol _s; // size: 0x4, address: 0x80A4E2D4 static class Symbol _s; // size: 0x4, address: 0x80A4E2DC static class Symbol _s; // size: 0x4, address: 0x80A4E2E4 static class Symbol _s; // size: 0x4, address: 0x80A4E2EC static class Symbol _s; // size: 0x4, address: 0x80A4E2F4 static class Symbol _s; // size: 0x4, address: 0x80A4E2FC static class Symbol _s; // size: 0x4, address: 0x80A4E304 static class Symbol _s; // size: 0x4, address: 0x80A4E30C static class Symbol _s; // size: 0x4, address: 0x80A4E314 static class Symbol _s; // size: 0x4, address: 0x80A4E31C static class Symbol _s; // size: 0x4, address: 0x80A4E324 // Range: 0x801ED134 -> 0x801EDC54 class DataNode TutorialPanel::Handle(class TutorialPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Game * TheGame; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xB0 } __vt__22TutorialTVOverlayPanel; // size: 0xB0, address: 0x808A7180 struct { // total size: 0x8 } __RTTI__22TutorialTVOverlayPanel; // size: 0x8, address: 0x808A7270 struct { // total size: 0xB0 } __vt__21TutorialTVScreenPanel; // size: 0xB0, address: 0x808A7278 struct { // total size: 0x8 } __RTTI__21TutorialTVScreenPanel; // size: 0x8, address: 0x808A7368 struct { // total size: 0xB0 } __vt__23TutorialBackgroundPanel; // size: 0xB0, address: 0x808A7370 struct { // total size: 0x8 } __RTTI__23TutorialBackgroundPanel; // size: 0x8, address: 0x808A7460 struct { // total size: 0xB0 } __vt__17TutorialDrawPanel; // size: 0xB0, address: 0x808A7468 struct { // total size: 0x8 } __RTTI__17TutorialDrawPanel; // size: 0x8, address: 0x808A7548 struct { // total size: 0xE4 } __vt__13TutorialPanel; // size: 0xE4, address: 0x808A7550 struct { // total size: 0x38 } __vt__23BeatMatchControllerSink; // size: 0x38, address: 0x808A7710 /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchControllerSink.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EDC54 -> 0x801EDC94 */ // Range: 0x801EDC54 -> 0x801EDC94 void * BeatMatchControllerSink::~BeatMatchControllerSink(class BeatMatchControllerSink * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EDE18 -> 0x801EE03C */ // Range: 0x801EDE18 -> 0x801EDF10 void TutorialPanel::SetupJoypadMapping(class TutorialPanel * const this /* r29 */) { // Local variables class BandUser * user; // r0 class Symbol controllerType; // r1+0x18 class DataArray * controllerConfig; // r30 // References // -> class GameConfig * TheGameConfig; // -> class BandUserMgr * TheBandUserMgr; } // Range: 0x801EDF10 -> 0x801EDF74 int TutorialPanel::GetTutorialPlayer(const class TutorialPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801EDF74 -> 0x801EDF80 void TutorialPanel::DrawBackground() {} // Range: 0x801EDF80 -> 0x801EDFD8 void TutorialPanel::DrawTVScreen(class TutorialPanel * const this /* r30 */) {} // Range: 0x801EDFD8 -> 0x801EE03C void TutorialPanel::DrawTVOverlay(class TutorialPanel * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\meta\TutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EE03C -> 0x801EE974 */ // Range: 0x801EE03C -> 0x801EE080 class Symbol TutorialTVOverlayPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801EE080 -> 0x801EE214 void TutorialTVOverlayPanel::SetType(class TutorialTVOverlayPanel * const this /* r29 */, class Symbol & TutorialTVOverlayPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x801EE214 -> 0x801EE258 class Symbol TutorialTVScreenPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801EE258 -> 0x801EE3EC void TutorialTVScreenPanel::SetType(class TutorialTVScreenPanel * const this /* r29 */, class Symbol & TutorialTVScreenPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x801EE3EC -> 0x801EE430 class Symbol TutorialBackgroundPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801EE430 -> 0x801EE5C4 void TutorialBackgroundPanel::SetType(class TutorialBackgroundPanel * const this /* r29 */, class Symbol & TutorialBackgroundPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x801EE5C4 -> 0x801EE608 class Symbol TutorialDrawPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801EE608 -> 0x801EE79C void TutorialDrawPanel::SetType(class TutorialDrawPanel * const this /* r29 */, class Symbol & TutorialDrawPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x801EE79C -> 0x801EE7E0 class Symbol TutorialPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801EE7E0 -> 0x801EE974 void TutorialPanel::SetType(class TutorialPanel * const this /* r29 */, class Symbol & TutorialPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EE974 -> 0x801EE9D4 */ // Range: 0x801EE974 -> 0x801EE9D4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\UserNameProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EE9D4 -> 0x801EF00C */ // Range: 0x801EE9D4 -> 0x801EEA48 void * UserNameProvider::UserNameProvider(class UserNameProvider * const this /* r30 */, class MatchmakingSlot * pSlot /* r31 */) { // References // -> struct [anonymous] __vt__16UserNameProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x801EEA48 -> 0x801EEB3C void * UserNameProvider::~UserNameProvider(class UserNameProvider * const this /* r30 */) {} // Range: 0x801EEB3C -> 0x801EEB5C unsigned char UserNamePadCmp() {} static class Symbol slot; // size: 0x4, address: 0x80A4E32C // Range: 0x801EEB5C -> 0x801EEE34 void UserNameProvider::Reload(class UserNameProvider * const this /* r30 */) { // Local variables class vector fakeUsers; // r1+0x50 struct FakeBandUser * it; // r28 int padNum; // r27 struct UserName userName; // r1+0x40 // References // -> static class Symbol slot; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801EEE34 -> 0x801EEE38 void UserNameProvider::InitData() {} static class Symbol name; // size: 0x4, address: 0x80A4E334 static class Symbol pad; // size: 0x4, address: 0x80A4E33C static class Symbol matchmaker_gamertag_pad_num_fmt; // size: 0x4, address: 0x80A4E344 // Range: 0x801EEE38 -> 0x801EEFB8 char * UserNameProvider::Text(const class UserNameProvider * const this /* r30 */, int data /* r27 */, class Symbol & slot /* r28 */) { // Local variables int visibleOffset; // r29 int iUser; // r4 int padNum; // r29 // References // -> static class Symbol matchmaker_gamertag_pad_num_fmt; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> static class Symbol pad; // -> static class Symbol name; } // Range: 0x801EEFB8 -> 0x801EF004 class RndMat * UserNameProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801EF004 -> 0x801EF00C int UserNameProvider::NumData() {} struct { // total size: 0x98 } __vt__16UserNameProvider; // size: 0x98, address: 0x808A79F8 struct { // total size: 0x8 } __RTTI__16UserNameProvider; // size: 0x8, address: 0x808A7AC0 struct { // total size: 0x8 } __RTTI__PQ216UserNameProvider8UserName; // size: 0x8, address: 0x808A7B30 /* Compile unit: C:\rockband2\band2\src\meta\UserNameProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EF00C -> 0x801EF04C */ // Range: 0x801EF00C -> 0x801EF04C void * UserName::UserName(struct UserName * const this /* r30 */, int padNum /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EF04C -> 0x801EF79C */ // Range: 0x801EF04C -> 0x801EF0E0 void sort(struct UserName * __first /* r29 */, struct UserName * __last /* r30 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r31 */) {} // Range: 0x801EF0E0 -> 0x801EF168 void __final_insertion_sort(struct UserName * __first /* r29 */, struct UserName * __last /* r30 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r31 */) {} // Range: 0x801EF168 -> 0x801EF1EC void __unguarded_insertion_sort_aux(struct UserName * __last /* r29 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r30 */) { // Local variables struct UserName * __i; // r31 } // Range: 0x801EF1EC -> 0x801EF288 void __unguarded_linear_insert(struct UserName * __last /* r28 */, struct UserName & __val /* r29 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r30 */) { // Local variables struct UserName * __next; // r31 } // Range: 0x801EF288 -> 0x801EF324 void __insertion_sort(struct UserName * __first /* r28 */, struct UserName * __last /* r29 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r30 */) { // Local variables struct UserName * __i; // r31 } // Range: 0x801EF324 -> 0x801EF414 void __linear_insert(struct UserName * __first /* r27 */, struct UserName * __last /* r28 */, struct UserName & __val /* r29 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r30 */) {} // Range: 0x801EF414 -> 0x801EF5A0 void __introsort_loop(struct UserName * __first /* r27 */, struct UserName * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r30 */) { // Local variables struct UserName * __cut; // r31 } // Range: 0x801EF5A0 -> 0x801EF6B0 struct UserName * __unguarded_partition(struct UserName * __first /* r28 */, struct UserName * __last /* r29 */, struct UserName & __pivot /* r30 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r31 */) {} // Range: 0x801EF6B0 -> 0x801EF6BC void partial_sort() {} // Range: 0x801EF6BC -> 0x801EF79C void __partial_sort(struct UserName * __first /* r27 */, struct UserName * __middle /* r28 */, struct UserName * __last /* r29 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r30 */) { // Local variables struct UserName * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EF79C -> 0x801EF7CC */ // Range: 0x801EF79C -> 0x801EF7B4 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801EF7B4 -> 0x801EF7CC struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EF7CC -> 0x801EFAF0 */ // Range: 0x801EF7CC -> 0x801EF84C void pop_heap(struct UserName * __first /* r29 */, struct UserName * __last /* r30 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r31 */) {} // Range: 0x801EF84C -> 0x801EF970 void __adjust_heap(struct UserName * __first /* r27 */, long __holeIndex /* r25 */, long __len /* r24 */, struct UserName & __val /* r28 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x801EF970 -> 0x801EFA44 void __push_heap(struct UserName * __first /* r28 */, long __holeIndex /* r25 */, long __topIndex /* r29 */, struct UserName & __val /* r30 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r31 */) { // Local variables long __parent; // r24 } // Range: 0x801EFA44 -> 0x801EFAF0 void make_heap(struct UserName * __first /* r27 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r28 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EFAF0 -> 0x801EFB88 */ // Range: 0x801EFAF0 -> 0x801EFB88 void __pop_heap(struct UserName * __first /* r27 */, struct UserName * __last /* r28 */, struct UserName * __result /* r29 */, struct UserName & __val /* r30 */, unsigned char (* __comp)(struct UserName &, struct UserName &) /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EFB90 -> 0x801EFDA4 */ // Range: 0x801EFB90 -> 0x801EFDA4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct UserName * __pos /* r26 */, const struct UserName & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct UserName * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ216UserNameProvider8UserName; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\VoiceMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801EFDA4 -> 0x801F0240 */ // Range: 0x801EFDA4 -> 0x801EFF24 void * VoiceMgr::~VoiceMgr(class VoiceMgr * const this /* r29 */) {} // Range: 0x801EFF24 -> 0x801F01B0 void VoiceMgr::AddEvents(class VoiceMgr * const this /* r28 */, class DataArray * voice /* r29 */) { // Local variables int i; // r30 struct EventData event; // r1+0x3C int f; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28VoiceMgr8FileData; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; } struct { // total size: 0x8 } __RTTI__PQ28VoiceMgr8FileData; // size: 0x8, address: 0x808A7BF0 // Range: 0x801F01B0 -> 0x801F01E8 struct EventData * VoiceMgr::FindEvent() { // Local variables struct EventData * it; // r6 } // Range: 0x801F01E8 -> 0x801F0220 int VoiceMgr::GetNextIndex() { // Local variables int index; // r3 } // Range: 0x801F0220 -> 0x801F0228 unsigned char VoiceMgr::HasStream() {} // Range: 0x801F0228 -> 0x801F0230 void VoiceMgr::Abort() {} // Range: 0x801F0230 -> 0x801F0238 void VoiceMgr::Poll() {} // Range: 0x801F0238 -> 0x801F0240 void VoiceMgr::SetPaused() {} struct { // total size: 0x8 } __RTTI__PQ28VoiceMgr9EventData; // size: 0x8, address: 0x808A7C78 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F0240 -> 0x801F03D4 */ // Range: 0x801F0240 -> 0x801F03D4 void * VoiceMgr::VoiceMgr(class VoiceMgr * const this /* r28 */, class DataArray * data /* r29 */) { // Local variables class DataArray * voice; // r29 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F03D4 -> 0x801F04DC */ // Range: 0x801F03D4 -> 0x801F04DC void VoiceMgr::Play(class VoiceMgr * const this /* r28 */, class Symbol & name /* r29 */) { // Local variables struct EventData * it; // r30 int index; // r0 const char * path; // r0 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F04DC -> 0x801F04E0 */ // Range: 0x801F04DC -> 0x801F04E0 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F04E0 -> 0x801F0BC4 */ // Range: 0x801F04E0 -> 0x801F09F8 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct EventData * __pos /* r25 */, const struct EventData & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 struct EventData * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PQ28VoiceMgr8FileData; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28VoiceMgr9EventData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801F09F8 -> 0x801F0BC4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct FileData * __pos /* r26 */, const struct FileData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct FileData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28VoiceMgr8FileData; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\Utl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F0BC4 -> 0x801F2E54 */ unsigned char gLatinToAscii[256]; // size: 0x100, address: 0x8097A0A8 unsigned char gLatinToLwrAscii[256]; // size: 0x100, address: 0x8097A1A8 static class Symbol ui; // size: 0x4, address: 0x80A4E34C static class Symbol latin_to_ascii; // size: 0x4, address: 0x80A4E354 // Range: 0x801F0BC4 -> 0x801F0E5C void UtlInit() { // Local variables int i; // r4 class DataArray * latinToAscii; // r29 int i; // r28 int i; // r5 // References // -> unsigned char gLatinToLwrAscii[256]; // -> struct __locale _current_locale; // -> unsigned char gLatinToAscii[256]; // -> static class Symbol latin_to_ascii; // -> static class Symbol ui; } // Range: 0x801F0E5C -> 0x801F0EB4 unsigned char IsLeaderLocal() { // Local variables class BandUser * pUserLeader; // r0 // References // -> class SessionMgr * TheSessionMgr; } // Range: 0x801F0EB4 -> 0x801F0EEC class DataNode OnIsLeaderLocal() {} static class Symbol general_cash_format; // size: 0x4, address: 0x80A4E35C // Range: 0x801F0EEC -> 0x801F0F60 char * FmtMoney(int money /* r31 */) { // References // -> static class Symbol general_cash_format; } // Range: 0x801F0F60 -> 0x801F0FB8 class DataNode OnFmtMoney(class DataArray * a /* r31 */) {} // Range: 0x801F0FB8 -> 0x801F102C char * AlphaKeySkip() {} // Range: 0x801F102C -> 0x801F1094 void CalculateAlphaKey(char * output /* r31 */) { // References // -> unsigned char gLatinToAscii[256]; } // Range: 0x801F1094 -> 0x801F1154 int AlphaKeyStrCmp(const char * lhs /* r29 */, const char * rhs /* r30 */, unsigned char skip_the /* r31 */) { // Local variables unsigned char l; // r4 unsigned char r; // r0 // References // -> unsigned char gLatinToLwrAscii[256]; } // Range: 0x801F1154 -> 0x801F11C0 class DataNode OnGetFontCharFromInstrument(class DataArray * data /* r31 */) { // Local variables class Symbol instrument; // r1+0x14 } // Range: 0x801F11C0 -> 0x801F1218 class DataNode OnGetFontCharFromControllerType(class DataArray * data /* r31 */) {} // Range: 0x801F1218 -> 0x801F1270 class DataNode OnGetFontCharFromTrackType(class DataArray * data /* r31 */) {} // Range: 0x801F1270 -> 0x801F12E8 char * GetFontCharFromInstrument(class Symbol & instrument /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801F12E8 -> 0x801F13FC char * GetFontCharFromTrackType(enum TrackType trackType /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801F13FC -> 0x801F14DC char * GetFontCharFromControllerType(enum ControllerType controllerType /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol venues; // size: 0x4, address: 0x80A4E364 static class Symbol kVideoVenueProbability; // size: 0x4, address: 0x80A4E36C static class Symbol use_video_venues_from_songs; // size: 0x4, address: 0x80A4E374 static class Symbol blank_01; // size: 0x4, address: 0x80A4E37C // Range: 0x801F14DC -> 0x801F17E8 class Symbol RandomVenue() { // Local variables class vector videoVenues; // r1+0x4C float fProbability; // f0 class DataArray * v; // r30 class Symbol venue; // r1+0x48 // References // -> const char * gNullStr; // -> static class Symbol blank_01; // -> static class Symbol use_video_venues_from_songs; // -> static class Symbol kVideoVenueProbability; // -> static class Symbol venues; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; } // Range: 0x801F17E8 -> 0x801F1AE0 void GetVideoVenuesFromCurrentPerformer(class vector & outVideoVenues /* r28 */) { // Local variables class map videoVenueMap; // r1+0x70 class MetaPerformer * performer; // r30 int songCount; // r0 int iSong; // r29 class Symbol song; // r1+0x38 const class DataArray * videoVenues; // r27 int iVenue; // r26 struct _Rb_tree_iterator iter; // r1+0x34 struct _Rb_tree_iterator iter; // r1+0x30 // References // -> class SongMgr & TheSongMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801F1AE0 -> 0x801F1B1C class DataNode OnRandomVenue() {} static class Symbol venues; // size: 0x4, address: 0x80A4E384 static class Symbol blank_01; // size: 0x4, address: 0x80A4E38C static class Symbol use_video_venues_from_songs; // size: 0x4, address: 0x80A4E394 // Range: 0x801F1B1C -> 0x801F1E78 class DataNode OnGetVenueSelectArray() { // Local variables class DataArray * rawVenues; // r30 class DataArrayPtr venueArray; // r1+0x48 class vector videoVenues; // r1+0x50 class Symbol * iter; // r30 class Symbol videoVenue; // r1+0x34 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class GameMode * TheGameMode; // -> static class Symbol use_video_venues_from_songs; // -> static class Symbol blank_01; // -> static class Symbol venues; } // Range: 0x801F1E78 -> 0x801F1F04 static int FilterShot() { // References // -> class WorldDir * TheWorld; } // Range: 0x801F1F04 -> 0x801F1F90 static void ForceFocus(unsigned char & fc /* r30 */, unsigned char & fd /* r31 */) {} static unsigned char sSoloMode; // size: 0x1, address: 0x80A4E398 // Range: 0x801F1F90 -> 0x801F1FF4 class DataNode OnSetCameraSoloMode(class DataArray * msg /* r31 */) { // References // -> static unsigned char sSoloMode; } static class Symbol bass; // size: 0x4, address: 0x80A4E39C static class Symbol drum; // size: 0x4, address: 0x80A4E3A4 static class Symbol guitar; // size: 0x4, address: 0x80A4E3AC static class Symbol vocals; // size: 0x4, address: 0x80A4E3B4 static char * cats[8]; // size: 0x20, address: 0x808A7F68 // Range: 0x801F1FF4 -> 0x801F2584 class DataNode OnGetCoopCameraFlags(class DataArray * data /* r26 */) { // Local variables unsigned char focusBass; // r1+0xB unsigned char focusDrum; // r1+0xA unsigned char focusGuitar; // r1+0x9 unsigned char focusVocal; // r1+0x8 unsigned char noCloseup; // r31 unsigned char noBehind; // r27 unsigned char forceCloseup; // r0 unsigned char forceFar; // r0 int numFocus; // r24 class String s; // r1+0x4C class Symbol category; // r1+0x2C int distFlags; // r1+0x28 int facingFlags; // r0 class Symbol inst; // r1+0x24 // References // -> class Game * TheGame; // -> static unsigned char sSoloMode; // -> static char * cats[8]; // -> class Debug TheDebug; // -> class TaskMgr TheTaskMgr; // -> static class Symbol vocals; // -> static class Symbol guitar; // -> static class Symbol drum; // -> static class Symbol bass; } static class Symbol h2h_drum; // size: 0x4, address: 0x80A4E3BC static class Symbol h2h_vocals; // size: 0x4, address: 0x80A4E3C4 // Range: 0x801F2584 -> 0x801F29E0 class DataNode OnGetH2HCameraFlags(class DataArray * data /* r24 */) { // Local variables class Symbol category; // r1+0x3C unsigned char drumsFocus; // r29 unsigned char guitarFocus; // r28 unsigned char vocalFocus; // r27 unsigned char p1Focus; // r26 unsigned char p2Focus; // r25 int distFlags; // r1+0x38 int facingFlags; // r0 // References // -> const char * gNullStr; // -> static class Symbol h2h_vocals; // -> static class Symbol h2h_drum; } // Range: 0x801F29E0 -> 0x801F2A24 void * Jukebox::Jukebox(class Jukebox * const this /* r31 */) {} // Range: 0x801F2A24 -> 0x801F2A3C unsigned char __eq() {} // Range: 0x801F2A3C -> 0x801F2C8C class Symbol Jukebox::Pick(class Jukebox * const this /* r29 */, const class vector & valid_names /* r30 */) { // Local variables class vector valid; // r1+0x3C const class Symbol * i; // r31 struct Item * item; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct LastPlayedCmp { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x801F2C8C -> 0x801F2CE8 unsigned char Jukebox::HasPlayed(const class Jukebox * const this /* r31 */) { // Local variables const struct Item * i; // r0 } // Range: 0x801F2CE8 -> 0x801F2D68 void Jukebox::Play(class Jukebox * const this /* r30 */, class Symbol & item /* r31 */) { // Local variables struct Item * i; // r0 } // Range: 0x801F2D68 -> 0x801F2E54 void Jukebox::AddItem(class Jukebox * const this /* r31 */) { // Local variables struct Item new_item; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * gNullStr; } struct { // total size: 0x8 } __RTTI__PQ27Jukebox4Item; // size: 0x8, address: 0x808A8178 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F2E54 -> 0x801F2F3C */ // Range: 0x801F2E54 -> 0x801F2EDC char * MakeString(const char * fmt /* r0 */, unsigned char t1 /* r28 */, unsigned char t2 /* r29 */, unsigned char t3 /* r30 */, unsigned char t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x801F2EDC -> 0x801F2F3C char * MakeString(const char * fmt /* r0 */, unsigned char t1 /* r30 */, unsigned char t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F2F3C -> 0x801F3634 */ // Range: 0x801F2F3C -> 0x801F2FE0 void sort(struct Item * __first /* r29 */, struct Item * __last /* r30 */, struct LastPlayedCmp & __comp /* r31 */) {} // Range: 0x801F2FE0 -> 0x801F3080 void __final_insertion_sort(struct Item * __first /* r29 */, struct Item * __last /* r30 */, struct LastPlayedCmp & __comp /* r31 */) {} // Range: 0x801F3080 -> 0x801F30F8 void __unguarded_insertion_sort_aux(struct Item * __last /* r29 */, struct LastPlayedCmp & __comp /* r30 */) { // Local variables struct Item * __i; // r31 } // Range: 0x801F30F8 -> 0x801F313C void __unguarded_linear_insert() { // Local variables struct Item * __next; // r6 } // Range: 0x801F313C -> 0x801F3240 void __insertion_sort(struct Item * __first /* r28 */, struct Item * __last /* r29 */, struct LastPlayedCmp & __comp /* r30 */) { // Local variables struct Item * __i; // r31 } // Range: 0x801F3240 -> 0x801F3380 void __introsort_loop(struct Item * __first /* r28 */, struct Item * __last /* r29 */, long __depth_limit /* r30 */, struct LastPlayedCmp & __comp /* r31 */) { // Local variables struct Item * __cut; // r27 } // Range: 0x801F3380 -> 0x801F3444 struct Item * __unguarded_partition(struct Item * __first /* r29 */, struct Item * __last /* r30 */, struct Item & __pivot /* r31 */) {} // Range: 0x801F3444 -> 0x801F3474 void partial_sort() {} // Range: 0x801F3474 -> 0x801F3570 void __partial_sort(struct Item * __first /* r30 */, struct Item * __middle /* r31 */, struct Item * __last /* r27 */, struct LastPlayedCmp & __comp /* r28 */) { // Local variables struct Item * __i; // r29 } // Range: 0x801F3570 -> 0x801F3634 void random_shuffle(struct Item * __first /* r28 */, struct Item * __last /* r29 */) { // Local variables struct Item * __i; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F3634 -> 0x801F3664 */ // Range: 0x801F3634 -> 0x801F364C struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x801F364C -> 0x801F3664 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F3664 -> 0x801F38A8 */ // Range: 0x801F3664 -> 0x801F36D8 void pop_heap(struct Item * __last /* r8 */) {} // Range: 0x801F36D8 -> 0x801F37F4 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r9 } // Range: 0x801F37F4 -> 0x801F38A8 void make_heap(struct Item * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F38A8 -> 0x801F3BD8 */ // Range: 0x801F38A8 -> 0x801F3A40 struct Item * find(struct Item * __last /* r28 */, const class Symbol & __val /* r29 */) {} // Range: 0x801F3A40 -> 0x801F3BD8 struct Item * find(const struct Item * __last /* r28 */, const class Symbol & __val /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F3BD8 -> 0x801F3C04 */ // Range: 0x801F3BD8 -> 0x801F3C04 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F3C04 -> 0x801F3FA8 */ // Range: 0x801F3C04 -> 0x801F3DF0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Item * __pos /* r26 */, const struct Item & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Item * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27Jukebox4Item; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801F3DF0 -> 0x801F3F7C void vector::reserve(class vector * const this /* r29 */, unsigned long __n /* r30 */) { // Local variables struct Item * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27Jukebox4Item; // -> unsigned char gStlAllocNameLookup; } // Range: 0x801F3F7C -> 0x801F3FA8 void _Vector_base::_M_throw_out_of_range() {} /* Compile unit: C:\rockband2\band2\src\meta\VocalsTutorialPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F3FA8 -> 0x801F4698 */ class DataArray * types; // size: 0x4, address: 0x80A4E3C8 class VocalsTutorialPanel * TheVocalsTutorialPanel; // size: 0x4, address: 0x80A4E3D0 // Range: 0x801F3FA8 -> 0x801F4060 void * VocalsTutorialPanel::VocalsTutorialPanel(class VocalsTutorialPanel * const this /* r30 */) { // References // -> class VocalsTutorialPanel * TheVocalsTutorialPanel; // -> struct [anonymous] __vt__19VocalsTutorialPanel; } // Range: 0x801F4060 -> 0x801F4104 void * VocalsTutorialPanel::~VocalsTutorialPanel(class VocalsTutorialPanel * const this /* r29 */) { // References // -> class VocalsTutorialPanel * TheVocalsTutorialPanel; } // Range: 0x801F4104 -> 0x801F413C void VocalsTutorialPanel::Enter(class VocalsTutorialPanel * const this /* r31 */) {} // Range: 0x801F413C -> 0x801F417C void VocalsTutorialPanel::Exit(class VocalsTutorialPanel * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4E3D8 // Range: 0x801F417C -> 0x801F4698 class DataNode VocalsTutorialPanel::Handle(class VocalsTutorialPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xE4 } __vt__19VocalsTutorialPanel; // size: 0xE4, address: 0x808A823C struct { // total size: 0x8 } __RTTI__19VocalsTutorialPanel; // size: 0x8, address: 0x808A8360 /* Compile unit: C:\rockband2\band2\src\meta\VocalsTutorialPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F46F0 -> 0x801F48C8 */ // Range: 0x801F46F0 -> 0x801F4734 class Symbol VocalsTutorialPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801F4734 -> 0x801F48C8 void VocalsTutorialPanel::SetType(class VocalsTutorialPanel * const this /* r29 */, class Symbol & VocalsTutorialPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\MemcardMgr_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F48C8 -> 0x801F6D24 */ class Symbol t; // size: 0x4, address: 0x80A4E3E4 class MemcardMgr TheMemcardMgr; // size: 0x24C0, address: 0x8097A2E0 static const char * kSaveFilename; // size: 0x4, address: 0x80A46940 static const char * kBanFilename; // size: 0x4, address: 0x80A46944 static int kIcons; // size: 0x4, address: 0x80A46948 static int kGameFSBlocks; // size: 0x4, address: 0x80A4694C static int kBannerFSBlocks; // size: 0x4, address: 0x80A46950 // Range: 0x801F48C8 -> 0x801F49D4 void * MemcardMgr::MemcardMgr(class MemcardMgr * const this /* r31 */) { // References // -> struct [anonymous] __vt__10MemcardMgr; // -> struct [anonymous] __vt__14ThreadCallback; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x801F49D4 -> 0x801F4A5C void * MemcardMgr::~MemcardMgr(class MemcardMgr * const this /* r29 */) {} // Range: 0x801F4A5C -> 0x801F4BC0 void MemcardMgr::Init(class MemcardMgr * const this /* r30 */) { // Local variables char homePath[64]; // r1+0x18 // References // -> static const char * kBanFilename; // -> static const char * kSaveFilename; // -> class MemcardWii TheMC; // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> class ObjectDir * sMainDir; } class SaveLoadProfileCompleteMsg : public Message { // total size: 0x8 }; static class SaveLoadProfileCompleteMsg msg; // size: 0x8, address: 0x8097C7B0 // Range: 0x801F4BC0 -> 0x801F4E54 void MemcardMgr::SaveLoadProfileComplete(class MemcardMgr * const this /* r29 */, int playerNum /* r30 */) { // Local variables enum ProfileSaveState saveState; // r31 class Profile * profile; // r28 // References // -> struct [anonymous] __vt__26SaveLoadProfileCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SaveLoadProfileCompleteMsg msg; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; } static class SaveLoadAllCompleteMsg msg; // size: 0x8, address: 0x8097C7C8 // Range: 0x801F4E54 -> 0x801F4FD4 void MemcardMgr::SaveLoadAllComplete(class MemcardMgr * const this /* r31 */) { // References // -> struct [anonymous] __vt__22SaveLoadAllCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SaveLoadAllCompleteMsg msg; // -> class ProfileMgr TheProfileMgr; } // Range: 0x801F4FD4 -> 0x801F501C void MemcardMgr::SelectDevice() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801F501C -> 0x801F5024 unsigned char MemcardMgr::IsStorageDeviceValid() {} // Range: 0x801F5024 -> 0x801F502C int MemcardMgr::ThreadStart() {} // Range: 0x801F502C -> 0x801F5030 void MemcardMgr::ThreadDone() {} // Range: 0x801F5030 -> 0x801F5040 class DataNode MemcardMgr::OnMsg() {} // Range: 0x801F5040 -> 0x801F5050 class DataNode MemcardMgr::OnMsg() {} // Range: 0x801F5050 -> 0x801F5054 void MemcardMgr::OnCheckForSaveContainer() {} static int _x; // size: 0x4, address: 0x80A4E3EC static int _x; // size: 0x4, address: 0x80A4E3F4 struct NANDFileInfo { // total size: 0x8C long fileDescriptor; // offset 0x0, size 0x4 long origFd; // offset 0x4, size 0x4 char origPath[64]; // offset 0x8, size 0x40 char tmpPath[64]; // offset 0x48, size 0x40 unsigned char accType; // offset 0x88, size 0x1 unsigned char stage; // offset 0x89, size 0x1 unsigned char mark; // offset 0x8A, size 0x1 }; class BufStreamNAND : public BinStream { // total size: 0x100 char * mBuffer; // offset 0xC, size 0x4 unsigned char mFail; // offset 0x10, size 0x1 int mTell; // offset 0x14, size 0x4 int mSize; // offset 0x18, size 0x4 int mRunningTell; // offset 0x1C, size 0x4 int mChunkSize; // offset 0x20, size 0x4 unsigned char mTellReset; // offset 0x24, size 0x1 unsigned char mFileOpen; // offset 0x25, size 0x1 char mFilePath[64]; // offset 0x26, size 0x40 enum MCResult mResult; // offset 0x68, size 0x4 struct NANDFileInfo mFileInfo; // offset 0x6C, size 0x8C class StreamChecksum * mChecksum; // offset 0xF8, size 0x4 int mBytesChecksummed; // offset 0xFC, size 0x4 }; // Range: 0x801F5054 -> 0x801F52E0 enum MCResult MemcardMgr::StreamSaveGame(class MemcardMgr * const this /* r29 */) { // Local variables enum MCResult mcResult; // r31 int num; // r1+0x18 int bytes; // r1+0x14 int largestFast; // r1+0x10 int largestMain; // r1+0xC class BufStreamNAND s; // r1+0x20 class Profile * profile; // r31 // References // -> class ContentMgr & TheContentMgr; // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> static int _x; // -> static int _x; } // Range: 0x801F52E0 -> 0x801F5580 enum MCResult MemcardMgr::SaveGame(class MemcardMgr * const this /* r26 */) { // Local variables class MCContainerWii * container; // r31 enum MCResult mcResult; // r0 unsigned long fsBlocks; // r30 unsigned long iNodes; // r29 unsigned char createBanner; // r28 unsigned char createSave; // r27 // References // -> static int kGameFSBlocks; // -> static int kBannerFSBlocks; // -> static int kIcons; // -> struct [anonymous] __RTTI__11MCContainer; // -> struct [anonymous] __RTTI__14MCContainerWii; } // Range: 0x801F5580 -> 0x801F5758 void MemcardMgr::OnSaveGame(class MemcardMgr * const this /* r31 */) { // Local variables enum MCResult result; // r0 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__11MCResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class SynthWii * TheWiiSynth; } static int _x; // size: 0x4, address: 0x80A4E3FC static int _x; // size: 0x4, address: 0x80A4E404 // Range: 0x801F5758 -> 0x801F59F0 enum MCResult MemcardMgr::StreamLoadGame(class MemcardMgr * const this /* r29 */) { // Local variables enum MCResult mcResult; // r30 int num; // r1+0x18 int bytes; // r1+0x14 int largestFast; // r1+0x10 int largestMain; // r1+0xC class BufStreamNAND s; // r1+0x20 int version; // r1+0x8 class Profile * profile; // r0 // References // -> class ContentMgr & TheContentMgr; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> static int _x; // -> static int _x; } // Range: 0x801F59F0 -> 0x801F5B4C enum MCResult MemcardMgr::LoadGame(class MemcardMgr * const this /* r28 */) { // Local variables enum MCResult mcResult; // r31 class MCContainerWii * container; // r31 int spaceNeeded; // r30 int iNodesNeeded; // r29 // References // -> static int kBannerFSBlocks; // -> static int kGameFSBlocks; // -> struct [anonymous] __RTTI__11MCContainer; // -> struct [anonymous] __RTTI__14MCContainerWii; } // Range: 0x801F5B4C -> 0x801F5D20 void MemcardMgr::OnLoadGame(class MemcardMgr * const this /* r31 */) { // Local variables enum MCResult result; // r0 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__11MCResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class SynthWii * TheWiiSynth; } // Range: 0x801F5D20 -> 0x801F5D24 void MemcardMgr::OnDeleteSaves() {} // Range: 0x801F5D24 -> 0x801F5D8C unsigned char MemcardMgr::DoesSaveFileExist(class MemcardMgr * const this /* r31 */) { // Local variables class MCContainerWii * pContainer; // r0 enum MCResult result; // r0 // References // -> struct [anonymous] __RTTI__11MCContainer; // -> struct [anonymous] __RTTI__14MCContainerWii; } // Range: 0x801F5D8C -> 0x801F5DD8 int MemcardMgr::GetFreeUserBlocks() { // Local variables class MCContainerWii * pContainer; // r0 int freeBlocks; // r0 // References // -> struct [anonymous] __RTTI__11MCContainer; // -> struct [anonymous] __RTTI__14MCContainerWii; } // Range: 0x801F5DD8 -> 0x801F5F50 void * SaveLoadPollThread() { // Local variables class UIScreen * savescreen; // r28 // References // -> class WiiRnd TheWiiRnd; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> class ObjectDir * sMainDir; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x801F5F50 -> 0x801F5FB8 void MemcardMgr::StartPollingThread(class MemcardMgr * const this /* r31 */) { // References // -> unsigned char gSystemLocked; // -> class WiiRnd TheWiiRnd; } // Range: 0x801F5FB8 -> 0x801F5FF0 void MemcardMgr::StopPollingThread() { // References // -> class WiiRnd TheWiiRnd; // -> unsigned char gSystemLocked; } static class Symbol _s; // size: 0x4, address: 0x80A4E40C static class Symbol _s; // size: 0x4, address: 0x80A4E414 static class Symbol _s; // size: 0x4, address: 0x80A4E41C static class Symbol _s; // size: 0x4, address: 0x80A4E424 static class Symbol _s; // size: 0x4, address: 0x80A4E42C static class Symbol _s; // size: 0x4, address: 0x80A4E434 static class Symbol _s; // size: 0x4, address: 0x80A4E43C // Range: 0x801F5FF0 -> 0x801F6C6C class DataNode MemcardMgr::Handle(class MemcardMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__17StorageChangedMsg; // -> class Symbol t; // -> struct [anonymous] __vt__12UIChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x88 } __vt__10MemcardMgr; // size: 0x88, address: 0x808A8538 struct { // total size: 0x8 } __RTTI__10MemcardMgr; // size: 0x8, address: 0x808A85F0 struct { // total size: 0xC } __vt__26SaveLoadProfileCompleteMsg; // size: 0xC, address: 0x808A8630 struct { // total size: 0x8 } __RTTI__26SaveLoadProfileCompleteMsg; // size: 0x8, address: 0x808A8668 struct { // total size: 0x14 } __vt__14ThreadCallback; // size: 0x14, address: 0x808A8670 struct { // total size: 0x8 } __RTTI__14ThreadCallback; // size: 0x8, address: 0x808A8698 struct { // total size: 0x8 } __RTTI__14MCContainerWii; // size: 0x8, address: 0x808A8750 struct { // total size: 0x8 } __RTTI__11MCContainer; // size: 0x8, address: 0x808A8768 // Range: 0x801F6C6C -> 0x801F6CBC static void __sinit_\MemcardMgr_Wii_cpp() { // References // -> class MemcardMgr TheMemcardMgr; } class Memcard : public Object { // total size: 0x28 }; class MemcardWii : public Memcard { // total size: 0x2C unsigned char mIsMtap0; // offset 0x28, size 0x1 unsigned char mIsMtap1; // offset 0x29, size 0x1 }; /* Compile unit: C:\rockband2\system\src\os\ThreadCall.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F6D24 -> 0x801F6D64 */ // Range: 0x801F6D24 -> 0x801F6D64 void * ThreadCallback::~ThreadCallback(class ThreadCallback * const this /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\meta\NetworkBusyPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F6DE8 -> 0x801F7650 */ class DataArray * types; // size: 0x4, address: 0x80A4E440 // Range: 0x801F6DE8 -> 0x801F6E7C void * NetworkBusyPanel::NetworkBusyPanel(class NetworkBusyPanel * const this /* r30 */) { // References // -> class NetworkBusyPanel * sInstance; // -> struct [anonymous] __vt__16NetworkBusyPanel; } // Range: 0x801F6E7C -> 0x801F6F08 void * NetworkBusyPanel::~NetworkBusyPanel(class NetworkBusyPanel * const this /* r29 */) { // References // -> class NetworkBusyPanel * sInstance; } static class Symbol min_duration; // size: 0x4, address: 0x80A4E448 // Range: 0x801F6F08 -> 0x801F6F80 void NetworkBusyPanel::SetTypeDef(class NetworkBusyPanel * const this /* r30 */, class DataArray * data /* r31 */) { // References // -> static class Symbol min_duration; } // Range: 0x801F6F80 -> 0x801F7078 void NetworkBusyPanel::Enter(class NetworkBusyPanel * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x801F7078 -> 0x801F71CC void NetworkBusyPanel::Poll(class NetworkBusyPanel * const this /* r31 */) { // References // -> class InputMgr * TheInputMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } class NetworkBusyPanel * sInstance; // size: 0x4, address: 0x80A4E44C // Range: 0x801F71CC -> 0x801F7234 void NetworkBusyPanel::SetBusy(class NetworkBusyPanel * const this /* r31 */) { // References // -> class InputMgr * TheInputMgr; } // Range: 0x801F7234 -> 0x801F7288 void NetworkBusyPanel::SetHeightFrame() {} static class Symbol _s; // size: 0x4, address: 0x80A4E454 // Range: 0x801F7288 -> 0x801F7650 class DataNode NetworkBusyPanel::Handle(class NetworkBusyPanel * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xAC } __vt__16NetworkBusyPanel; // size: 0xAC, address: 0x808A8920 struct { // total size: 0x8 } __RTTI__16NetworkBusyPanel; // size: 0x8, address: 0x808A8A00 /* Compile unit: C:\rockband2\band2\src\meta\NetworkBusyPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F76DC -> 0x801F78B4 */ // Range: 0x801F76DC -> 0x801F7720 class Symbol NetworkBusyPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x801F7720 -> 0x801F78B4 void NetworkBusyPanel::SetType(class NetworkBusyPanel * const this /* r29 */, class Symbol & NetworkBusyPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\band2\src\meta\StoreEnumeration.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F78B4 -> 0x801F7F34 */ // Range: 0x801F78B4 -> 0x801F78F0 void * StoreEnumeration::StoreEnumeration() { // References // -> struct [anonymous] __vt__16StoreEnumeration; } // Range: 0x801F78F0 -> 0x801F7944 unsigned char __eq() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; enum State { kEnumWaiting = 0, kEnumProcessing = 1, kPreSuccess = 2, kPreFail = 3, kSuccess = 4, kFail = 5, }; class WiiEnumeration : public StoreEnumeration, public Object { // total size: 0x70 protected: unsigned char mSuccess; // offset 0x38, size 0x1 private: unsigned short mCurrentPos; // offset 0x3A, size 0x2 class String mCurrentTitle; // offset 0x3C, size 0xC class vector mTitleIds; // offset 0x48, size 0xC class map mContentList; // offset 0x54, size 0x18 enum State mState; // offset 0x6C, size 0x4 }; // Range: 0x801F7944 -> 0x801F79EC void * WiiEnumeration::WiiEnumeration(class WiiEnumeration * const this /* r31 */) { // References // -> struct [anonymous] __vt__14WiiEnumeration; } struct pair { // total size: 0x8 unsigned long first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; static class Symbol store; // size: 0x4, address: 0x80A4E45C static class Symbol titles; // size: 0x4, address: 0x80A4E464 // Range: 0x801F79EC -> 0x801F7C00 void WiiEnumeration::Start(class WiiEnumeration * const this /* r30 */) { // Local variables class DataArray * store_titles; // r26 int i; // r27 // References // -> static class Symbol titles; // -> static class Symbol store; // -> class Debug TheDebug; } // Range: 0x801F7C00 -> 0x801F7C18 unsigned char WiiEnumeration::IsSuccess() {} // Range: 0x801F7C18 -> 0x801F7C3C unsigned char WiiEnumeration::IsEnumerating() {} // Range: 0x801F7C3C -> 0x801F7D64 void WiiEnumeration::Poll(class WiiEnumeration * const this /* r31 */) { // Local variables unsigned char ret; // r0 // References // -> class PlatformMgr ThePlatformMgr; } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x801F7D64 -> 0x801F7F34 class DataNode WiiEnumeration::OnMsg(class WiiEnumeration * const this /* r31 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x18 struct EnumProduct p; // r1+0x28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std45_List_node; // -> unsigned char gStlAllocNameLookup; // -> class ContentMgr & TheContentMgr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std45_List_node; // size: 0x8, address: 0x808A8AD8 struct { // total size: 0x74 } __vt__14WiiEnumeration; // size: 0x74, address: 0x808A8AF8 struct { // total size: 0x8 } __RTTI__14WiiEnumeration; // size: 0x8, address: 0x808A8B98 struct { // total size: 0x1C } __vt__16StoreEnumeration; // size: 0x1C, address: 0x808A8C00 struct { // total size: 0x8 } __RTTI__16StoreEnumeration; // size: 0x8, address: 0x808A8C30 struct { // total size: 0x8 } __RTTI__P6String; // size: 0x8, address: 0x808A8C78 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F7F34 -> 0x801F83A4 */ // Range: 0x801F7F34 -> 0x801F83A4 class DataNode WiiEnumeration::Handle(class WiiEnumeration * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24PlatformMgrOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F83A4 -> 0x801F855C */ // Range: 0x801F83A4 -> 0x801F855C enum StoreError StoreEnumeration::Finish(class StoreEnumeration * const this /* r29 */, unsigned char test /* r28 */) { // Local variables enum StoreError e; // r31 class StoreOffer * o; // r30 struct _List_iterator p; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F855C -> 0x801F85E0 */ // Range: 0x801F855C -> 0x801F85E0 struct _List_iterator find(const class StoreOffer & __val /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F875C -> 0x801F87CC */ // Range: 0x801F875C -> 0x801F87CC void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F87CC -> 0x801F89E4 */ // Range: 0x801F87CC -> 0x801F89E4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class String * __pos /* r26 */, const class String & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class String * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6String; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\StorePreviewMgrWii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F89E4 -> 0x801F96C8 */ static class PreviewDownloadCompleteMsg msg; // size: 0x8, address: 0x8097C7E0 // Range: 0x801F89E4 -> 0x801F8BAC void StorePreviewMgrWii::ClearCurrentPreview(class StorePreviewMgrWii * const this /* r31 */) { // References // -> struct [anonymous] __vt__26PreviewDownloadCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class PreviewDownloadCompleteMsg msg; // -> const char * gNullStr; } // Range: 0x801F8BAC -> 0x801F8C04 void StorePreviewMgrWii::SetCurrentPreviewFile(class StorePreviewMgrWii * const this /* r30 */, const class String & strRemotePath /* r31 */) {} // Range: 0x801F8C04 -> 0x801F8CD8 void StorePreviewMgrWii::DownloadPreviewFile(class StorePreviewMgrWii * const this /* r30 */, const class String & strRemotePath /* r31 */) { // References // -> class Debug TheDebug; } static class PreviewDownloadCompleteMsg msg; // size: 0x8, address: 0x8097C7F8 // Range: 0x801F8CD8 -> 0x801F8F30 void StorePreviewMgrWii::Poll(class StorePreviewMgrWii * const this /* r31 */) { // References // -> struct [anonymous] __vt__26PreviewDownloadCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class PreviewDownloadCompleteMsg msg; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801F8F30 -> 0x801F8F5C unsigned char StorePreviewMgrWii::AllowPreviewDownload() {} // Range: 0x801F8F5C -> 0x801F9044 void StorePreviewMgrWii::PlayCurrentPreview(class StorePreviewMgrWii * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4E46C static class Symbol _s; // size: 0x4, address: 0x80A4E474 static class Symbol _s; // size: 0x4, address: 0x80A4E47C static class Symbol _s; // size: 0x4, address: 0x80A4E484 static class Symbol _s; // size: 0x4, address: 0x80A4E48C // Range: 0x801F9044 -> 0x801F96C8 class DataNode StorePreviewMgrWii::Handle(class StorePreviewMgrWii * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x58 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x6C } __vt__18StorePreviewMgrWii; // size: 0x6C, address: 0x808A8DEC struct { // total size: 0x8 } __RTTI__18StorePreviewMgrWii; // size: 0x8, address: 0x808A8E88 /* Compile unit: C:\rockband2\band2\src\meta\StorePreviewMgrWii.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F96C8 -> 0x801F995C */ // Range: 0x801F96C8 -> 0x801F9824 void * StorePreviewMgrWii::StorePreviewMgrWii(class StorePreviewMgrWii * const this /* r29 */) { // References // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__18StorePreviewMgrWii; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x801F9824 -> 0x801F995C void * StorePreviewMgrWii::~StorePreviewMgrWii(class StorePreviewMgrWii * const this /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__18StorePreviewMgrWii; } /* Compile unit: C:\rockband2\band2\src\meta\BandProfilePanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x801F99AC -> 0x802008F8 */ class DataArray * types; // size: 0x4, address: 0x80A4E490 class MemberStatusChangeMsg : public NetMessage { // total size: 0x14 class String mCharName; // offset 0x4, size 0xC unsigned char mPromoted; // offset 0x10, size 0x1 }; // Range: 0x801F99AC -> 0x801F99FC static class NetMessage * MemberStatusChangeMsg::NewNetMessage() { // References // -> static struct [anonymous] __vt__Q230@unnamed@BandProfilePanel_cpp@21MemberStatusChangeMsg; } // Range: 0x801F99FC -> 0x801F9A54 static void MemberStatusChangeMsg::Save(const class MemberStatusChangeMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x801F9A54 -> 0x801F9AB8 static void MemberStatusChangeMsg::Load(class MemberStatusChangeMsg * const this /* r30 */, class BinStream & src /* r31 */) {} static class Symbol passive_message_promoted; // size: 0x4, address: 0x80A4E498 static class Symbol passive_message_demoted; // size: 0x4, address: 0x80A4E4A0 // Range: 0x801F9AB8 -> 0x801F9C3C static void MemberStatusChangeMsg::Dispatch(class MemberStatusChangeMsg * const this /* r28 */) { // Local variables class Symbol token; // r1+0xC const char * msg; // r28 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__20PassiveMessagesPanel; // -> class ObjectDir * sMainDir; // -> static class Symbol passive_message_demoted; // -> static class Symbol passive_message_promoted; } static class Symbol tour_profile_user_not_present; // size: 0x4, address: 0x80A4E4A8 // Range: 0x801F9C3C -> 0x801FA2AC void LineupProvider::InitFromBand(class LineupProvider * const this /* r26 */, class BandData * bandData /* r27 */, unsigned char display_band_data /* r28 */) { // Local variables class vector participants; // r1+0x50 int n; // r29 struct LineupMember member; // r1+0x90 class TourCharLocal * localChar; // r0 class vector roster; // r1+0x44 int n; // r29 struct LineupMember * existingMember; // r0 struct LineupMember member; // r1+0x5C // References // -> const char * gNullStr; // -> static class Symbol tour_profile_user_not_present; // -> struct [anonymous] __RTTI__8CharData; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> class Debug TheDebug; // -> class BandUserMgr * TheBandUserMgr; // -> class Tour * TheTour; } // Range: 0x801FA2AC -> 0x801FA354 struct LineupMember * LineupProvider::HasCharInLineup(class LineupProvider * const this /* r28 */, const class HxGuid & guid /* r29 */) { // Local variables int n; // r30 } // Range: 0x801FA354 -> 0x801FA408 unsigned char LineupProvider::IsBandMember(class LineupProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FA408 -> 0x801FA4BC char * LineupProvider::GetCharName(class LineupProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FA4BC -> 0x801FA578 unsigned char LineupProvider::IsAbsent(class LineupProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FA578 -> 0x801FA628 struct LineupMember * LineupProvider::GetLineupMember(class LineupProvider * const this /* r30 */, int pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FA628 -> 0x801FA73C void LineupProvider::InitData(class LineupProvider * const this /* r28 */, class RndDir * dir /* r29 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol char_name; // size: 0x4, address: 0x80A4E4B0 static class Symbol icon; // size: 0x4, address: 0x80A4E4B8 static class Symbol status; // size: 0x4, address: 0x80A4E4C0 static class Symbol user_name; // size: 0x4, address: 0x80A4E4C8 // Range: 0x801FA73C -> 0x801FA948 char * LineupProvider::Text(const class LineupProvider * const this /* r29 */, int data /* r30 */, class Symbol & slot /* r28 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> static class Symbol user_name; // -> static class Symbol status; // -> static class Symbol icon; // -> static class Symbol char_name; } static class Symbol black_bar; // size: 0x4, address: 0x80A4E4D0 // Range: 0x801FA948 -> 0x801FAA10 class RndMat * LineupProvider::Mat(const class LineupProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol black_bar; } // Range: 0x801FAA10 -> 0x801FAA38 int LineupProvider::NumData() {} // Range: 0x801FAA38 -> 0x801FAAC8 enum ShowGamercardResult LineupProvider::ShowGamercard() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4E4D8 static class Symbol _s; // size: 0x4, address: 0x80A4E4E0 static class Symbol _s; // size: 0x4, address: 0x80A4E4E8 static class Symbol _s; // size: 0x4, address: 0x80A4E4F0 static class Symbol _s; // size: 0x4, address: 0x80A4E4F8 static class Symbol _s; // size: 0x4, address: 0x80A4E500 // Range: 0x801FAAC8 -> 0x801FB39C class DataNode LineupProvider::Handle(class LineupProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandData; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol band_profile_choose_standin; // size: 0x4, address: 0x80A4E508 static class Symbol tour_standin_unavailable; // size: 0x4, address: 0x80A4E510 // Range: 0x801FB39C -> 0x801FB90C void StandInProvider::InitFromBand(class StandInProvider * const this /* r27 */, class TourBandLocal * tbl /* r28 */) { // Local variables int num_controllers[3]; // r1+0x68 int i; // r5 class vector users; // r1+0x5C class vector active_guids; // r1+0x50 class BandUser * * u; // r29 enum ControllerType ct; // r0 class CharData * cd; // r0 int i; // r29 struct StandIn stand_in; // r1+0x74 enum TrackType tt; // r0 class CharData * c; // r30 enum ControllerType ct; // r0 // References // -> static class Symbol tour_standin_unavailable; // -> class ProfileMgr TheProfileMgr; // -> static class Symbol band_profile_choose_standin; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct StandInCmp { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; static class Symbol char_name; // size: 0x4, address: 0x80A4E518 static class Symbol icon; // size: 0x4, address: 0x80A4E520 // Range: 0x801FB90C -> 0x801FBA00 char * StandInProvider::Text(const class StandInProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> static class Symbol icon; // -> static class Symbol char_name; } // Range: 0x801FBA00 -> 0x801FBA4C class RndMat * StandInProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FBA4C -> 0x801FBA74 int StandInProvider::NumData() {} static class Symbol disabled; // size: 0x4, address: 0x80A4E528 // Range: 0x801FBA74 -> 0x801FBAFC class Symbol StandInProvider::State(const class StandInProvider * const this /* r29 */, int data /* r30 */, class Symbol & component_state /* r31 */) { // References // -> static class Symbol disabled; } static class Symbol _s; // size: 0x4, address: 0x80A4E530 static class Symbol _s; // size: 0x4, address: 0x80A4E538 // Range: 0x801FBAFC -> 0x801FBFC8 class DataNode StandInProvider::Handle(class StandInProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801FBFC8 -> 0x801FBFD0 unsigned char __eq() {} static class Symbol tour_standin_unavailable; // size: 0x4, address: 0x80A4E540 // Range: 0x801FBFD0 -> 0x801FC498 int StandInCharProvider::InitFromBand(class StandInCharProvider * const this /* r28 */, class TourBandLocal * b /* r29 */, enum TrackType tt /* r30 */) { // Local variables class vector profiles; // r1+0x50 class Profile * * p; // r31 class vector chars; // r1+0x44 class TourCharLocal * * c; // r25 unsigned char skip; // r26 int t; // r24 class TourCharLocal * const * c; // r24 const class HxGuid & guid; // r24 struct Entry * e; // r0 struct Entry unavailable; // r1+0x60 // References // -> static class Symbol tour_standin_unavailable; // -> class PlatformMgr ThePlatformMgr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13TourCharLocal; // -> unsigned char gStlAllocNameLookup; // -> class ProfileMgr TheProfileMgr; // -> const char * gNullStr; } // Range: 0x801FC498 -> 0x801FC4B8 void StandInCharProvider::SetStandIn(class StandInCharProvider * const this /* r7 */) {} // Range: 0x801FC4B8 -> 0x801FC4D0 unsigned char StandInCharProvider::IsActive() {} static class Symbol character; // size: 0x4, address: 0x80A4E548 static class Symbol option; // size: 0x4, address: 0x80A4E550 static class Symbol heading; // size: 0x4, address: 0x80A4E558 static class Symbol tour_standin_none; // size: 0x4, address: 0x80A4E560 // Range: 0x801FC4D0 -> 0x801FC680 char * StandInCharProvider::Text(const class StandInCharProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> static class Symbol tour_standin_none; // -> const char * gNullStr; // -> static class Symbol heading; // -> static class Symbol option; // -> static class Symbol character; } // Range: 0x801FC680 -> 0x801FC6CC class RndMat * StandInCharProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FC6CC -> 0x801FC6E4 int StandInCharProvider::NumData() {} // Range: 0x801FC6E4 -> 0x801FC7E0 class HxGuid & StandInCharProvider::AddEntry(class StandInCharProvider * const this /* r29 */, unsigned char header /* r30 */, const char * name /* r31 */) { // Local variables struct Entry entry; // r1+0x10 } static class Symbol _s; // size: 0x4, address: 0x80A4E568 static class Symbol _s; // size: 0x4, address: 0x80A4E570 // Range: 0x801FC7E0 -> 0x801FCD1C class DataNode StandInCharProvider::Handle(class StandInCharProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x801FCD1C -> 0x801FCD3C void TopSongsProvider::InitFromBand(class TopSongsProvider * const this /* r5 */) {} static class Symbol name; // size: 0x4, address: 0x80A4E578 static class Symbol score; // size: 0x4, address: 0x80A4E580 // Range: 0x801FCD3C -> 0x801FCEE4 char * TopSongsProvider::Text(const class TopSongsProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> class SongMgr & TheSongMgr; // -> static class Symbol score; // -> static class Symbol name; } // Range: 0x801FCEE4 -> 0x801FCF30 class RndMat * TopSongsProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FCF30 -> 0x801FCF68 int TopSongsProvider::NumData() {} static class Symbol _s; // size: 0x4, address: 0x80A4E588 // Range: 0x801FCF68 -> 0x801FD340 class DataNode TopSongsProvider::Handle(class TopSongsProvider * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandData; // -> static class Symbol _s; // -> unsigned char sActive; } class _List_node : public _List_node_base { // total size: 0x30 public: class BotbBattlesParticipatedInRow _M_data; // offset 0x8, size 0x28 }; // Range: 0x801FD340 -> 0x801FD43C void BattleHistoryProvider::InitData(class BattleHistoryProvider * const this /* r29 */, class RndDir * dir /* r30 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x801FD43C -> 0x801FD444 class BotbBattlesParticipatedInList & BattleHistoryProvider::GetBattlesList() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x801FD444 -> 0x801FD59C int BattleHistoryProvider::GetBattleID(const class BattleHistoryProvider * const this /* r28 */, int pos /* r29 */) { // Local variables struct _List_iterator it; // r1+0x28 int n; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FD59C -> 0x801FD654 int BattleHistoryProvider::GetBattleIDPos(const class BattleHistoryProvider * const this /* r29 */, int battleid /* r30 */) { // Local variables struct _List_iterator it; // r1+0x10 int n; // r31 } static class Symbol name; // size: 0x4, address: 0x80A4E590 static class Symbol score; // size: 0x4, address: 0x80A4E598 static class Symbol botb_hist_unranked; // size: 0x4, address: 0x80A4E5A0 static class Symbol botb_hist_rank; // size: 0x4, address: 0x80A4E5A8 static class Symbol band_profile_no_battles; // size: 0x4, address: 0x80A4E5B0 // Range: 0x801FD654 -> 0x801FD918 char * BattleHistoryProvider::Text(const class BattleHistoryProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables struct _List_iterator it; // r1+0x4C int n; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol band_profile_no_battles; // -> static class Symbol botb_hist_rank; // -> static class Symbol botb_hist_unranked; // -> static class Symbol score; // -> static class Symbol name; } // Range: 0x801FD918 -> 0x801FDB58 class RndMat * BattleHistoryProvider::Mat(const class BattleHistoryProvider * const this /* r29 */, int data /* r30 */) { // Local variables struct _List_iterator it; // r1+0x40 int n; // r4 class DynamicTex * const * c; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x801FDB58 -> 0x801FDBE4 int BattleHistoryProvider::NumData() { // Local variables int numBattles; // r0 } static class Symbol _s; // size: 0x4, address: 0x80A4E5B8 static class Symbol _s; // size: 0x4, address: 0x80A4E5C0 // Range: 0x801FDBE4 -> 0x801FE094 class DataNode BattleHistoryProvider::Handle(class BattleHistoryProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol summary; // size: 0x4, address: 0x80A4E5C8 // Range: 0x801FE094 -> 0x801FE248 void * BandProfilePanel::BandProfilePanel(class BandProfilePanel * const this /* r31 */) { // References // -> static class Symbol summary; // -> class NetMessageFactory TheNetMessageFactory; // -> const char * gNullStr; // -> struct [anonymous] __vt__21BattleHistoryProvider; // -> struct [anonymous] __vt__16TopSongsProvider; // -> struct [anonymous] __vt__14LineupProvider; // -> struct [anonymous] __vt__12ListProvider; // -> struct [anonymous] __vt__16BandProfilePanel; } // Range: 0x801FE248 -> 0x801FE550 void * BandProfilePanel::~BandProfilePanel(class BandProfilePanel * const this /* r30 */) {} // Range: 0x801FE550 -> 0x801FE57C void BandProfilePanel::SetBandData() {} // Range: 0x801FE57C -> 0x801FE584 class BandData * BandProfilePanel::GetBandData() {} // Range: 0x801FE584 -> 0x801FE5C4 unsigned char BandProfilePanel::DisplayingTourBand(class BandProfilePanel * const this /* r31 */) { // References // -> class Tour * TheTour; } // Range: 0x801FE5C4 -> 0x801FE5CC class LineupProvider * BandProfilePanel::GetLineupProvider() {} // Range: 0x801FE5CC -> 0x801FE7C8 unsigned char BandProfilePanel::CanToggleMemberStatus(class BandProfilePanel * const this /* r29 */, int pos /* r30 */) { // Local variables struct LineupMember * member; // r0 class vector roster; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FE7C8 -> 0x801FE9D0 void BandProfilePanel::ToggleMemberStatus(class BandProfilePanel * const this /* r31 */, int pos /* r29 */) { // Local variables class TourBandLocal * band; // r28 struct LineupMember * member; // r0 unsigned char promote; // r0 struct BandMember newMember; // r1+0x28 class String censoredName; // r1+0x8 class MemberStatusChangeMsg passiveMsg; // r1+0x14 // References // -> class NetSession * TheNetSession; // -> static struct [anonymous] __vt__Q230@unnamed@BandProfilePanel_cpp@21MemberStatusChangeMsg; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; } // Range: 0x801FEA30 -> 0x801FEB20 void BandProfilePanel::SetToggleCandidate(class BandProfilePanel * const this /* r29 */, int pos /* r30 */) { // Local variables class TourBandLocal * band; // r0 struct LineupMember * member; // r0 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FEB20 -> 0x801FEB28 class TopSongsProvider * BandProfilePanel::GetTopSongsProvider() {} // Range: 0x801FEB28 -> 0x801FEC18 void BandProfilePanel::SetBandLogo(class BandProfilePanel * const this /* r30 */, class String & band_logo /* r29 */) { // Local variables class TourBandLocal * pBand; // r30 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FEC18 -> 0x801FECEC void BandProfilePanel::SetBandLogoPos(class BandProfilePanel * const this /* r30 */, int band_logo_pos /* r29 */) { // Local variables class TourBandLocal * pBand; // r30 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FECEC -> 0x801FEDC0 void BandProfilePanel::SetMotto(class BandProfilePanel * const this /* r30 */, const char * motto /* r29 */) { // Local variables class TourBandLocal * pBand; // r30 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FEDC0 -> 0x801FEEA0 void BandProfilePanel::SetBandName(class BandProfilePanel * const this /* r30 */, const char * strName /* r29 */) { // Local variables class TourBandLocal * pBand; // r30 // References // -> struct [anonymous] __RTTI__8BandData; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FEEA0 -> 0x801FEEF8 enum ShowGamercardResult BandProfilePanel::ShowOwnerGamercard() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FEEF8 -> 0x801FEF00 class BattleHistoryProvider * BandProfilePanel::GetBattleHistoryProvider() {} // Range: 0x801FEF00 -> 0x801FEF28 unsigned char BandProfilePanel::HasBattleData() {} // Range: 0x801FEF28 -> 0x801FEFF4 unsigned char BandProfilePanel::HasSelectableBattleData(class BandProfilePanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x801FEFF4 -> 0x801FF120 void BandProfilePanel::RequestBattleData(class BandProfilePanel * const this /* r29 */) { // References // -> class RockCentralGateway RockCentral; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol botb_error; // size: 0x4, address: 0x80A4E5D0 static class Message init; // size: 0x8, address: 0x8097C810 // Range: 0x801FF120 -> 0x801FF3B8 class DataNode BandProfilePanel::OnMsg(class BandProfilePanel * const this /* r27 */) { // Local variables const class list * list; // r28 struct _List_iterator it; // r1+0x24 const char * path; // r0 // References // -> class Debug TheDebug; // -> class BandUI * TheBandUI; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol botb_error; } static class Message update; // size: 0x8, address: 0x8097C828 // Range: 0x801FF3B8 -> 0x801FF53C void BandProfilePanel::Poll(class BandProfilePanel * const this /* r31 */) { // References // -> static class Message update; // -> struct [anonymous] __vt__7Message; } // Range: 0x801FF53C -> 0x801FF594 void BandProfilePanel::Exit(class BandProfilePanel * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x801FF594 -> 0x801FF66C void BandProfilePanel::Enter(class BandProfilePanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__19StandInCharProvider; // -> struct [anonymous] __vt__15StandInProvider; // -> struct [anonymous] __vt__12ListProvider; } static class Symbol summary; // size: 0x4, address: 0x80A4E5D8 // Range: 0x801FF66C -> 0x801FF868 void BandProfilePanel::UpdateTabFocus(class BandProfilePanel * const this /* r28 */) { // Local variables class ObjectDir * dir; // r29 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> static class Symbol summary; } // Range: 0x801FF868 -> 0x801FF8EC void BandProfilePanel::Unload(class BandProfilePanel * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4E5E0 static class Symbol _s; // size: 0x4, address: 0x80A4E5E8 static class Symbol _s; // size: 0x4, address: 0x80A4E5F0 static class Symbol _s; // size: 0x4, address: 0x80A4E5F8 static class Symbol _s; // size: 0x4, address: 0x80A4E600 static class Symbol _s; // size: 0x4, address: 0x80A4E608 static class Symbol _s; // size: 0x4, address: 0x80A4E610 static class Symbol _s; // size: 0x4, address: 0x80A4E618 static class Symbol _s; // size: 0x4, address: 0x80A4E620 static class Symbol _s; // size: 0x4, address: 0x80A4E628 static class Symbol _s; // size: 0x4, address: 0x80A4E630 static class Symbol _s; // size: 0x4, address: 0x80A4E638 static class Symbol _s; // size: 0x4, address: 0x80A4E640 static class Symbol _s; // size: 0x4, address: 0x80A4E648 static class Symbol _s; // size: 0x4, address: 0x80A4E650 static class Symbol _s; // size: 0x4, address: 0x80A4E658 static class Symbol _s; // size: 0x4, address: 0x80A4E660 static class Symbol _s; // size: 0x4, address: 0x80A4E668 static class Symbol _s; // size: 0x4, address: 0x80A4E670 static class Symbol _s; // size: 0x4, address: 0x80A4E678 // Range: 0x801FFAEC -> 0x802004E8 class DataNode BandProfilePanel::Handle(class BandProfilePanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4E680 static class Symbol _s; // size: 0x4, address: 0x80A4E688 static class Symbol _s; // size: 0x4, address: 0x80A4E690 // Range: 0x802004E8 -> 0x80200868 unsigned char BandProfilePanel::SyncProperty(class BandProfilePanel * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x80200868 -> 0x8020089C static char * MemberStatusChangeMsg::Name() {} // Range: 0x8020089C -> 0x802008F8 static unsigned char MemberStatusChangeMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } static struct { // total size: 0x28 } __vt__Q230@unnamed@BandProfilePanel_cpp@21MemberStatusChangeMsg; // size: 0x28, address: 0x808A9758 struct { // total size: 0x8 } __RTTI__Q230@unnamed@BandProfilePanel_cpp@21MemberStatusChangeMsg; // size: 0x8, address: 0x808A97C8 struct { // total size: 0xF8 } __vt__16BandProfilePanel; // size: 0xF8, address: 0x808A9B98 struct { // total size: 0x9C } __vt__21BattleHistoryProvider; // size: 0x9C, address: 0x808A9CE0 struct { // total size: 0x8 } __RTTI__21BattleHistoryProvider; // size: 0x8, address: 0x808A9DB0 struct { // total size: 0x9C } __vt__16TopSongsProvider; // size: 0x9C, address: 0x808A9DB8 struct { // total size: 0x8 } __RTTI__16TopSongsProvider; // size: 0x8, address: 0x808A9E88 struct { // total size: 0x9C } __vt__19StandInCharProvider; // size: 0x9C, address: 0x808A9E90 struct { // total size: 0x8 } __RTTI__19StandInCharProvider; // size: 0x8, address: 0x808A9F60 struct { // total size: 0x9C } __vt__15StandInProvider; // size: 0x9C, address: 0x808A9F68 struct { // total size: 0x8 } __RTTI__15StandInProvider; // size: 0x8, address: 0x808AA038 struct { // total size: 0x9C } __vt__14LineupProvider; // size: 0x9C, address: 0x808AA040 struct { // total size: 0x8 } __RTTI__14LineupProvider; // size: 0x8, address: 0x808AA108 struct { // total size: 0x8 } __RTTI__PQ219StandInCharProvider5Entry; // size: 0x8, address: 0x808AA268 struct { // total size: 0x8 } __RTTI__PQ215StandInProvider7StandIn; // size: 0x8, address: 0x808AA290 struct { // total size: 0x8 } __RTTI__P12LineupMember; // size: 0x8, address: 0x808AA2A8 /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80200B7C -> 0x80200BCC */ // Range: 0x80200B7C -> 0x80200BCC class BandData * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandData; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80200BCC -> 0x80201684 */ // Range: 0x80200BCC -> 0x80200C80 void sort(struct StandIn * __first /* r29 */, struct StandIn * __last /* r30 */, struct StandInCmp & __comp /* r31 */) {} // Range: 0x80200C80 -> 0x80200D30 void __final_insertion_sort(struct StandIn * __first /* r29 */, struct StandIn * __last /* r30 */, struct StandInCmp & __comp /* r31 */) {} // Range: 0x80200D30 -> 0x80200DE4 void __unguarded_insertion_sort_aux(struct StandIn * __last /* r29 */, struct StandInCmp & __comp /* r30 */) { // Local variables struct StandIn * __i; // r31 } // Range: 0x80200DE4 -> 0x80200EDC void __unguarded_linear_insert(struct StandIn * __last /* r30 */, struct StandIn & __val /* r31 */) { // Local variables struct StandIn * __next; // r28 } // Range: 0x80200EDC -> 0x80200FA8 void __insertion_sort(struct StandIn * __first /* r28 */, struct StandIn * __last /* r29 */, struct StandInCmp & __comp /* r30 */) { // Local variables struct StandIn * __i; // r31 } // Range: 0x80200FA8 -> 0x80201138 void __linear_insert(struct StandIn * __first /* r29 */, struct StandIn * __last /* r30 */, struct StandIn & __val /* r31 */, struct StandInCmp & __comp /* r27 */) {} // Range: 0x80201138 -> 0x80201368 void __introsort_loop(struct StandIn * __first /* r27 */, struct StandIn * __last /* r28 */, long __depth_limit /* r29 */, struct StandInCmp & __comp /* r30 */) { // Local variables struct StandIn * __cut; // r26 } // Range: 0x80201368 -> 0x8020150C struct StandIn * __unguarded_partition(struct StandIn * __first /* r29 */, struct StandIn * __last /* r30 */, struct StandIn & __pivot /* r31 */) {} // Range: 0x8020150C -> 0x8020153C void partial_sort() {} // Range: 0x8020153C -> 0x80201684 void __partial_sort(struct StandIn * __first /* r27 */, struct StandIn * __middle /* r28 */, struct StandIn * __last /* r29 */, struct StandInCmp & __comp /* r30 */) { // Local variables struct StandIn * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80201684 -> 0x802016B4 */ // Range: 0x80201684 -> 0x8020169C struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8020169C -> 0x802016B4 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802016B4 -> 0x80201B60 */ // Range: 0x802016B4 -> 0x80201760 void pop_heap(struct StandIn * __first /* r30 */, struct StandIn * __last /* r31 */) {} // Range: 0x80201760 -> 0x80201924 void __adjust_heap(struct StandIn * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, struct StandIn & __val /* r28 */, struct StandInCmp & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x80201924 -> 0x80201A5C void __push_heap(struct StandIn * __first /* r27 */, long __holeIndex /* r28 */, long __topIndex /* r29 */, struct StandIn & __val /* r30 */) { // Local variables long __parent; // r31 } // Range: 0x80201A5C -> 0x80201B60 void make_heap(struct StandIn * __first /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80201B60 -> 0x80201C60 */ // Range: 0x80201B60 -> 0x80201C60 void __pop_heap(struct StandIn * __first /* r30 */, struct StandIn * __last /* r31 */, struct StandIn * __result /* r27 */, struct StandIn & __val /* r28 */, struct StandInCmp & __comp /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80201C60 -> 0x80201F20 */ // Range: 0x80201C60 -> 0x80201DC0 class HxGuid * find(class HxGuid * __last /* r28 */, const class HxGuid & __val /* r29 */) {} // Range: 0x80201DC0 -> 0x80201F20 struct Entry * find(struct Entry * __last /* r28 */, const class HxGuid & __val /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\meta\BandProfilePanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80201F20 -> 0x802020FC */ // Range: 0x80201F20 -> 0x80201F64 class Symbol BandProfilePanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80201F64 -> 0x802020F8 void BandProfilePanel::SetType(class BandProfilePanel * const this /* r29 */, class Symbol & BandProfilePanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x802020F8 -> 0x802020FC void TopSongsProvider::InitData() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802020FC -> 0x80202EA0 */ // Range: 0x802020FC -> 0x80202394 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Entry * __pos /* r26 */, const struct Entry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Entry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ219StandInCharProvider5Entry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80202394 -> 0x802023EC struct Entry * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x802023EC -> 0x8020245C void vector::_M_fill_insert() {} // Range: 0x8020245C -> 0x80202734 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct StandIn * __pos /* r26 */, const struct StandIn & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct StandIn * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ215StandInProvider7StandIn; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80202734 -> 0x80202A88 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct LineupMember * __pos /* r26 */, const struct LineupMember & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct LineupMember * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12LineupMember; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80202A88 -> 0x80202DA8 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, struct Entry * __pos /* r26 */, unsigned long __n /* r27 */, const struct Entry & __x /* r28 */) { // Local variables struct Entry __x_copy; // r1+0x20 unsigned long __elems_after; // r29 struct Entry * __old_finish; // r0 } /* Compile unit: C:\rockband2\band2\src\meta\BotbChallengeLoader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80202EA0 -> 0x802046F8 */ class _List_node : public _List_node_base { // total size: 0x4C public: class BotbOpenBattleRow _M_data; // offset 0x8, size 0x44 }; class BotbChallengeLoader TheBotbChallengeLoader; // size: 0xC8, address: 0x8097C840 // Range: 0x80202EA0 -> 0x80202F38 void * BotbChallengeLoader::BotbChallengeLoader(class BotbChallengeLoader * const this /* r30 */) { // References // -> struct [anonymous] __vt__19BotbChallengeLoader; } // Range: 0x80202F38 -> 0x80202F54 void BotbChallengeLoader::Init() { // References // -> class ObjectDir * sMainDir; } static float kChallengeLoaderRetryMs; // size: 0x4, address: 0x80A566A0 // Range: 0x80202F54 -> 0x80203110 void BotbChallengeLoader::CheckLoad(class BotbChallengeLoader * const this /* r31 */) { // References // -> class BandUserMgr * TheBandUserMgr; // -> class Net TheNet; // -> static float kChallengeLoaderRetryMs; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class SessionMgr * TheSessionMgr; // -> class Tour * TheTour; } // Range: 0x80203110 -> 0x80203430 void BotbChallengeLoader::StartLoading(class BotbChallengeLoader * const this /* r30 */) { // Local variables int i; // r29 int i; // r29 // References // -> class RockCentralGateway RockCentral; // -> class Tour * TheTour; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80203430 -> 0x80203438 unsigned char BotbChallengeLoader::IsLoaded() {} // Range: 0x80203438 -> 0x80203548 void BotbChallengeLoader::ExtractChallengeEvents(class BotbChallengeLoader * const this /* r31 */, class TourChallenge & tc /* r27 */, class list & names /* r28 */) { // Local variables int i; // r30 class TourChallengeEvent * e; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80203548 -> 0x802036AC void BotbChallengeLoader::ExtractWorldEvents(class BotbChallengeLoader * const this /* r28 */, class vector & we /* r29 */, class list & names /* r30 */) { // Local variables int i; // r31 class TourWorldEvent * e; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802036AC -> 0x802042A4 class DataNode BotbChallengeLoader::OnMsg(class BotbChallengeLoader * const this /* r25 */) { // Local variables const class list * rlist; // r27 struct _List_iterator it; // r1+0xF0 char type; // r26 char text[255]; // r1+0x124 const char * city; // r21 const char * venue; // r23 class TourWorld & w; // r22 class TourTown * t; // r22 class TourVenue * v; // r0 struct OpenBattleRecord rec; // r1+0x118 class TourWorldEvent * twe; // r1+0xEC class TourChallengeEvent * tce; // r1+0xE8 int tier; // r0 unsigned char gotSongs; // r26 class TourEvent * tce; // r27 class TourEvent * twe; // r28 class list templist; // r1+0x110 struct _List_iterator it; // r1+0xE4 struct DateTime t; // r1+0x108 int i; // r21 int i; // r21 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std32_List_node<18BotbBattleSongInfo>; // -> unsigned char gStlAllocNameLookup; // -> class RockCentralGateway RockCentral; // -> class SongMgr & TheSongMgr; // -> class Tour * TheTour; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std32_List_node<18BotbBattleSongInfo>; // size: 0x8, address: 0x808AA6E0 class _List_node : public _List_node_base { // total size: 0x2C public: class BotbBattleSongInfo _M_data; // offset 0x8, size 0x24 }; static class Symbol _s; // size: 0x4, address: 0x80A4E69C // Range: 0x802042A4 -> 0x802046B0 class DataNode BotbChallengeLoader::Handle(class BotbChallengeLoader * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__19BotbChallengeLoader; // size: 0x54, address: 0x808AA748 struct { // total size: 0x8 } __RTTI__19BotbChallengeLoader; // size: 0x8, address: 0x808AA7C8 struct { // total size: 0x8 } __RTTI__PQ219BotbChallengeLoader16OpenBattleRecord; // size: 0x8, address: 0x808AA848 // Range: 0x802046B0 -> 0x802046F8 static void __sinit_\BotbChallengeLoader_cpp() { // References // -> class BotbChallengeLoader TheBotbChallengeLoader; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80204870 -> 0x80204874 */ // Range: 0x80204870 -> 0x80204874 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80204874 -> 0x802048F0 */ // Range: 0x80204874 -> 0x802048F0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802048F0 -> 0x80204B1C */ // Range: 0x802048F0 -> 0x80204B1C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct OpenBattleRecord * __pos /* r26 */, const struct OpenBattleRecord & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct OpenBattleRecord * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ219BotbChallengeLoader16OpenBattleRecord; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\BotbNewsFeedPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80204B1C -> 0x80206854 */ class DataArray * types; // size: 0x4, address: 0x80A4E6A0 static class Symbol botb_news_new_headline; // size: 0x4, address: 0x80A4E6A8 static class Symbol botb_news_over_headline; // size: 0x4, address: 0x80A4E6B0 static class Symbol botb_news_passed_headline; // size: 0x4, address: 0x80A4E6B8 static class Symbol botb_news_overall_headline; // size: 0x4, address: 0x80A4E6C0 static class Symbol botb_news_passed_headline_singular; // size: 0x4, address: 0x80A4E6C8 static class Symbol botb_news_overall_headline_singular; // size: 0x4, address: 0x80A4E6D0 // Range: 0x80204B1C -> 0x80204DA8 char * BotbNewsItem::GetHeadline(const class BotbNewsItem * const this /* r30 */) { // Local variables const char * string; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol botb_news_overall_headline_singular; // -> static class Symbol botb_news_passed_headline_singular; // -> static class Symbol botb_news_overall_headline; // -> static class Symbol botb_news_passed_headline; // -> static class Symbol botb_news_over_headline; // -> static class Symbol botb_news_new_headline; } static class Symbol botb_news_new_text; // size: 0x4, address: 0x80A4E6D8 static class Symbol botb_news_new_text_singular; // size: 0x4, address: 0x80A4E6E0 static class Symbol botb_news_new_text_none; // size: 0x4, address: 0x80A4E6E8 static class Symbol botb_news_over_text; // size: 0x4, address: 0x80A4E6F0 static class Symbol botb_news_passed_text; // size: 0x4, address: 0x80A4E6F8 static class Symbol botb_news_overall_text; // size: 0x4, address: 0x80A4E700 // Range: 0x80204DA8 -> 0x802050A0 char * BotbNewsItem::GetBody(const class BotbNewsItem * const this /* r30 */) { // Local variables const char * string; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol botb_news_overall_text; // -> static class Symbol botb_news_passed_text; // -> static class Symbol botb_news_over_text; // -> static class Symbol botb_news_new_text_none; // -> static class Symbol botb_news_new_text_singular; // -> static class Symbol botb_news_new_text; } // Range: 0x802050A0 -> 0x802052B0 void * BotbNewsProvider::BotbNewsProvider(class BotbNewsProvider * const this /* r27 */, class vector & items /* r30 */, const class vector & covers /* r29 */, class ObjectDir * dir /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __vt__16BotbNewsProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x802052B0 -> 0x802054B0 char * BotbNewsProvider::Text(const class BotbNewsProvider * const this /* r30 */, int data /* r28 */, class Symbol & slot /* r29 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802054B0 -> 0x802056C0 class RndMat * BotbNewsProvider::Mat(const class BotbNewsProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables class DynamicTex * const * c; // r0 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } class _List_node : public _List_node_base { // total size: 0x20 public: class BotbNewsRow _M_data; // offset 0x8, size 0x18 }; // Range: 0x802056C0 -> 0x80205A50 void BotbNewsFeedPanel::Load(class BotbNewsFeedPanel * const this /* r28 */) { // Local variables class vector users; // r1+0x6C unsigned char firstTime; // r31 struct DateTime newsTime; // r1+0x28 class String cookies; // r1+0x60 class BandUser * * u; // r30 class Profile * profile; // r29 struct DateTime t; // r1+0x20 // References // -> class RockCentralGateway RockCentral; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class Tour * TheTour; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80205A50 -> 0x80205DC0 class DataNode BotbNewsFeedPanel::OnMsg(class BotbNewsFeedPanel * const this /* r29 */) { // Local variables const class list * list; // r30 struct _List_iterator it; // r1+0x24 const char * path; // r0 class BotbNewsItem item; // r1+0x60 class vector users; // r1+0x54 class BandUser * * u; // r26 class Profile * profile; // r27 struct DateTime dt; // r1+0x30 class String cookies; // r1+0x48 // References // -> const char * kAssertStr; // -> class ProfileMgr TheProfileMgr; // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; } // Range: 0x80205DC0 -> 0x80205F40 void BotbNewsFeedPanel::NewBand(class BotbNewsFeedPanel * const this /* r31 */) { // References // -> class Tour * TheTour; } // Range: 0x80205F40 -> 0x80206074 void BotbNewsFeedPanel::Exit(class BotbNewsFeedPanel * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x80206074 -> 0x802061AC void BotbNewsFeedPanel::Enter(class BotbNewsFeedPanel * const this /* r28 */) { // Local variables class ObjectDir * dir; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802061AC -> 0x802062EC void BotbNewsFeedPanel::Unload(class BotbNewsFeedPanel * const this /* r31 */) {} // Range: 0x802062EC -> 0x80206308 unsigned char BotbNewsFeedPanel::IsLoaded() {} static class Symbol _s; // size: 0x4, address: 0x80A4E708 // Range: 0x80206308 -> 0x80206854 class DataNode BotbNewsFeedPanel::Handle(class BotbNewsFeedPanel * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xF4 } __vt__17BotbNewsFeedPanel; // size: 0xF4, address: 0x808AAD60 struct { // total size: 0x98 } __vt__16BotbNewsProvider; // size: 0x98, address: 0x808AAEA0 struct { // total size: 0x8 } __RTTI__16BotbNewsProvider; // size: 0x8, address: 0x808AAF68 struct { // total size: 0x8 } __RTTI__P12BotbNewsItem; // size: 0x8, address: 0x808AB1A0 /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80206854 -> 0x80206A48 */ // Range: 0x80206854 -> 0x80206A48 void * BotbNewsItem::BotbNewsItem(class BotbNewsItem * const this /* r28 */, const char * msg /* r29 */, const char * icon /* r30 */) { // Local variables char * tok; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\band2\src\meta\BotbNewsFeedPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80206C54 -> 0x80206FB0 */ // Range: 0x80206C54 -> 0x80206DA8 void * BotbNewsProvider::~BotbNewsProvider(class BotbNewsProvider * const this /* r30 */) { // References // -> struct [anonymous] __vt__16BotbNewsProvider; } // Range: 0x80206DA8 -> 0x80206DEC class Symbol BotbNewsFeedPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x80206DEC -> 0x80206F80 void BotbNewsFeedPanel::SetType(class BotbNewsFeedPanel * const this /* r29 */, class Symbol & BotbNewsFeedPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80206F80 -> 0x80206FB0 int BotbNewsProvider::NumData() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80206FB0 -> 0x802072F4 */ // Range: 0x80206FB0 -> 0x802072F4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class BotbNewsItem * __pos /* r26 */, const class BotbNewsItem & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class BotbNewsItem * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12BotbNewsItem; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\BotbPanel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802072F4 -> 0x8020D670 */ class Symbol t; // size: 0x4, address: 0x80A4E714 class DataArray * types; // size: 0x4, address: 0x80A4E718 class BotbPanel * TheBotbPanel; // size: 0x4, address: 0x80A4E720 // Range: 0x802072F4 -> 0x80207300 void BotbRequestOverallPage() { // References // -> class BotbPanel * TheBotbPanel; } // Range: 0x80207300 -> 0x80207398 char * NetStateName() {} class _List_node : public _List_node_base { // total size: 0x3C public: class BotbBattleResultsRow _M_data; // offset 0x8, size 0x34 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80207398 -> 0x80207578 void * BotbPanel::BotbPanel(class BotbPanel * const this /* r30 */) { // References // -> class BotbPanel * TheBotbPanel; // -> const char * gNullStr; // -> struct [anonymous] __vt__9BotbPanel; } struct BotbResultsCache { // total size: 0x58 class HxGuid mBandId; // offset 0x0, size 0x10 class Timer mValidCacheTimer; // offset 0x10, size 0x38 unsigned char mPartialData; // offset 0x48, size 0x1 class MemStream * mCache; // offset 0x4C, size 0x4 unsigned int mQueryTimeSeconds; // offset 0x50, size 0x4 }; struct pair { // total size: 0x8 int first; // offset 0x0, size 0x4 struct BotbResultsCache * second; // offset 0x4, size 0x4 }; static class Symbol summary; // size: 0x4, address: 0x80A4E728 static class Symbol summary; // size: 0x4, address: 0x80A4E730 struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x80207578 -> 0x80207DCC void BotbPanel::Enter(class BotbPanel * const this /* r26 */) { // Local variables class ObjectDir * dir; // r29 unsigned char invalidBattleCache; // r28 unsigned char partiallyValidBattlecache; // r27 struct _Rb_tree_iterator it; // r1+0x2C unsigned int oldDirtyMask; // r23 class MemStream * mem; // r22 struct DateTime curTime; // r1+0x30 int rank; // r0 // References // -> static class Symbol summary; // -> static class Symbol summary; // -> class RockCentralGateway RockCentral; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__7UILabel; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol summary; // size: 0x4, address: 0x80A4E738 static class Symbol setlist; // size: 0x4, address: 0x80A4E740 static class Symbol friends; // size: 0x4, address: 0x80A4E748 static class Symbol overall; // size: 0x4, address: 0x80A4E750 // Range: 0x80207DCC -> 0x80207F4C void BotbPanel::ShowTab(class BotbPanel * const this /* r29 */, class Symbol & name /* r30 */) { // References // -> class Debug TheDebug; // -> static class Symbol overall; // -> static class Symbol friends; // -> static class Symbol setlist; // -> static class Symbol summary; } // Range: 0x80207F4C -> 0x80208050 void BotbPanel::InvalidateBattleCache(class BotbPanel * const this /* r29 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x14 // References // -> const char * gNullStr; } // Range: 0x80208050 -> 0x802083C8 void BotbPanel::Exit(class BotbPanel * const this /* r30 */) { // Local variables unsigned int oldDirtyMask; // r29 // References // -> class RockCentralGateway RockCentral; // -> const char * gNullStr; } // Range: 0x802083C8 -> 0x802086C4 void BotbPanel::Unload(class BotbPanel * const this /* r31 */) {} // Range: 0x80208724 -> 0x80208874 void BotbPanel::Poll(class BotbPanel * const this /* r28 */) { // Local variables class ObjectDir * dir; // r29 // References // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } // Range: 0x80208874 -> 0x80208A18 void BotbPanel::SyncSave(const class BotbPanel * const this /* r30 */, class BinStream & dest /* r31 */, unsigned int dirtyMask /* r29 */) { // Local variables struct DateTime curTime; // r1+0x20 unsigned int curTimeCode; // r0 unsigned char exists; // r29 } // Range: 0x80208A18 -> 0x80208BFC void BotbPanel::SyncLoad(class BotbPanel * const this /* r30 */, class BinStream & src /* r31 */, unsigned int dirtyMask /* r29 */) { // Local variables int deltaTime; // r1+0xC struct DateTime curTime; // r1+0x10 unsigned int curTimeCode; // r0 } // Range: 0x80208BFC -> 0x80208CAC void BotbPanel::UpdateRivalData(class BotbPanel * const this /* r28 */) { // Local variables class TourBand * band; // r29 // References // -> class Tour * TheTour; } static class Message gotoProfileScreenMsg; // size: 0x8, address: 0x8097C918 // Range: 0x80208CAC -> 0x80209050 void BotbPanel::OnSynchronized(class BotbPanel * const this /* r30 */, unsigned int dirtyMask /* r31 */) { // Local variables class TourBand * band; // r29 class TourEvent * e; // r29 int i; // r28 int i; // r28 // References // -> static class Message gotoProfileScreenMsg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; } // Range: 0x80209050 -> 0x802090BC void BotbPanel::ClientSynchronizeDetails(class BotbPanel * const this /* r31 */) {} // Range: 0x802090BC -> 0x80209118 unsigned char BotbPanel::HasSyncPermission() { // References // -> class NetSync * TheNetSync; // -> class NetSession * TheNetSession; } // Range: 0x80209118 -> 0x80209190 unsigned char BotbPanel::HasRockCentralPermission(const class BotbPanel * const this /* r30 */) { // References // -> class NetSync * TheNetSync; // -> class NetSession * TheNetSession; } static class Symbol botb_expired; // size: 0x4, address: 0x80A4E758 static class Message msg; // size: 0x8, address: 0x8097C930 static class Symbol botb_timeout; // size: 0x4, address: 0x80A4E760 // Range: 0x80209190 -> 0x80209454 void BotbPanel::UpdateTimeLeft(class BotbPanel * const this /* r31 */) { // Local variables class ObjectDir * dir; // r0 struct DateTime curTime; // r1+0x28 unsigned int curTimeCode; // r0 int deltaTime; // r29 int secondsLeft; // r29 const char * timeVal; // r29 const char * str; // r0 // References // -> static class Symbol botb_timeout; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class Symbol botb_expired; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; } static class Symbol botb_mini_setlist_0; // size: 0x4, address: 0x80A4E768 static class Symbol botb_mini_setlist_1; // size: 0x4, address: 0x80A4E770 static class Symbol botb_mini_setlist_2; // size: 0x4, address: 0x80A4E778 static class Symbol botb_mini_setlist_3; // size: 0x4, address: 0x80A4E780 static class Symbol botb_mini_setlist_long; // size: 0x4, address: 0x80A4E788 static class Symbol botb_best_score_mult; // size: 0x4, address: 0x80A4E790 static class Symbol botb_best_score_score; // size: 0x4, address: 0x80A4E798 static class Symbol botb_best_score_streak; // size: 0x4, address: 0x80A4E7A0 static class Symbol botb_best_stars; // size: 0x4, address: 0x80A4E7A8 static class Symbol botb_mini_world_overall; // size: 0x4, address: 0x80A4E7B0 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class BotbMiniRankings { // total size: 0x110 char mType; // offset 0x0, size 0x1 int mNum1; // offset 0x4, size 0x4 int mNum2; // offset 0x8, size 0x4 int mFriend; // offset 0xC, size 0x4 char mText[255]; // offset 0x10, size 0xFF }; // Range: 0x80209454 -> 0x8020A38C void BotbPanel::UpdateDetails(class BotbPanel * const this /* r25 */) { // Local variables class ObjectDir * dir; // r29 enum WinMetric winMetric; // r28 const char * string; // r4 unsigned char hasFriends; // r27 const class list * rlist; // r26 const class list * rlist; // r0 const class list * rlist; // r30 const class BotbBattleResultsRow * bestRow; // r27 int myScore; // r26 struct _List_iterator it; // r1+0x58 const char * string; // r0 const char * string; // r24 const char * string; // r0 class BotbMiniRankings item; // r1+0x68 const char * string; // r0 const char * albumArtFileName; // r24 const char * path; // r24 // References // -> struct [anonymous] __RTTI__6RndTex; // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol botb_mini_world_overall; // -> static class Symbol botb_best_stars; // -> static class Symbol botb_best_score_streak; // -> static class Symbol botb_best_score_score; // -> static class Symbol botb_best_score_mult; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__8RndGroup; // -> struct [anonymous] __vt__19BotbSetListProvider; // -> struct [anonymous] __vt__12ListProvider; // -> struct [anonymous] __RTTI__6UIList; // -> static class Symbol botb_mini_setlist_long; // -> static class Symbol botb_mini_setlist_3; // -> static class Symbol botb_mini_setlist_2; // -> static class Symbol botb_mini_setlist_1; // -> static class Symbol botb_mini_setlist_0; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8020A38C -> 0x8020A394 void BotbPanel::OnRequestOverallPage() {} // Range: 0x8020A394 -> 0x8020A45C void BotbPanel::OnRequestOverallPages(class BotbPanel * const this /* r29 */, int request_idx /* r30 */, int count /* r31 */) { // Local variables int start; // r5 int end; // r6 // References // -> class RockCentralGateway RockCentral; } // Range: 0x8020A45C -> 0x8020A5EC void BotbPanel::UpdateFocus(class BotbPanel * const this /* r29 */) { // Local variables class ObjectDir * dir; // r30 class UIComponent * c; // r4 class UIList * list; // r3 // References // -> struct [anonymous] __RTTI__6UIList; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x8020A5EC -> 0x8020A6F0 void BotbPanel::UpdateOverall(class BotbPanel * const this /* r28 */) { // Local variables const class list * rlist; // r0 class ObjectDir * dir; // r0 int pos; // r30 int first_showing; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x8020A6F0 -> 0x8020AC10 void BotbPanel::UpdateRules(class BotbPanel * const this /* r28 */) { // Local variables const char * ecStr; // r31 const char * pmStr; // r29 char token[256]; // r1+0x60 int shared_entry_condition_state; // r1+0x40 char * pcpy; // r3 class BotbEntryCondition ec; // r1+0x58 enum WinMetric m; // r4 class BotbPerformanceModifier pm; // r1+0x50 char * pcpy; // r3 class BotbPerformanceModifier pm; // r1+0x48 class ObjectDir * dir; // r27 // References // -> struct [anonymous] __vt__21BotbRulesListProvider; // -> struct [anonymous] __vt__12ListProvider; // -> struct [anonymous] __RTTI__6UIList; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; } static class Symbol mtv_made_famous; // size: 0x4, address: 0x80A4E7B8 // Range: 0x8020AC10 -> 0x8020B110 void BotbPanel::ProcessSetList(class BotbPanel * const this /* r30 */) { // Local variables class list templist; // r1+0xA0 struct _List_iterator it; // r1+0x88 class Symbol songId; // r1+0x84 struct BotbSetListItem item; // r1+0xA8 // References // -> class Debug TheDebug; // -> class SongMgr & TheSongMgr; // -> const char * gNullStr; // -> static class Symbol mtv_made_famous; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std32_List_node<18BotbBattleSongInfo>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8020B110 -> 0x8020B14C class DataNode BotbPanel::OnMsg() {} // Range: 0x8020B14C -> 0x8020B188 class DataNode BotbPanel::OnMsg() {} // Range: 0x8020B188 -> 0x8020B2B8 class DataNode BotbPanel::OnMsg(class BotbPanel * const this /* r26 */, const class UIComponentScrollMsg & msg /* r27 */) { // Local variables class UIList * list; // r28 int pos; // r29 int first_showing; // r27 // References // -> struct [anonymous] __RTTI__6UIList; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x8020B2B8 -> 0x8020B3F8 class DataNode BotbPanel::OnMsg(class BotbPanel * const this /* r29 */, const class ButtonDownMsg & msg /* r30 */) {} static class Message msg; // size: 0x8, address: 0x8097C948 static class Message msg; // size: 0x8, address: 0x8097C960 static class Message msg; // size: 0x8, address: 0x8097C978 static class Message gotoProfileScreenMsg; // size: 0x8, address: 0x8097C990 // Range: 0x8020B3F8 -> 0x8020BFFC class DataNode BotbPanel::OnMsg(class BotbPanel * const this /* r29 */) { // Local variables int rank; // r0 int start_range; // r27 int end_range; // r30 class TourBand * band; // r0 class TourEvent * e; // r27 int i; // r26 int i; // r26 enum BotbNetProgress request; // r0 // References // -> static class Message gotoProfileScreenMsg; // -> static class Message msg; // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Tour * TheTour; // -> class RockCentralGateway RockCentral; } static class Message msgc; // size: 0x8, address: 0x8097C9A8 // Range: 0x8020BFFC -> 0x8020C168 class DataNode BotbPanel::OnMsg(class BotbPanel * const this /* r30 */) { // References // -> static class Message msgc; // -> struct [anonymous] __vt__7Message; } // Range: 0x8020C168 -> 0x8020C1D8 class DataNode BotbPanel::OnMsg(class BotbPanel * const this /* r30 */) {} // Range: 0x8020C1D8 -> 0x8020C26C unsigned char BotbPanel::CanPlay(const class BotbPanel * const this /* r31 */) { // References // -> class NetSync * TheNetSync; } // Range: 0x8020C26C -> 0x8020C320 unsigned char BotbPanel::ConditionsMet(const class BotbPanel * const this /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8020C320 -> 0x8020C3F0 void BotbPanel::TryToPlay(class BotbPanel * const this /* r31 */) { // References // -> class RockCentralGateway RockCentral; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol botb_missing_dlc; // size: 0x4, address: 0x80A4E7C4 static class Symbol botb_missing_dlc_multi; // size: 0x4, address: 0x80A4E7CC static class Symbol botb_missing_dlc_multi_two; // size: 0x4, address: 0x80A4E7D4 static class Symbol botb_buy_dlc; // size: 0x4, address: 0x80A4E7DC static class Symbol botb_buy_dlc_multi; // size: 0x4, address: 0x80A4E7E4 static class Symbol botb_need_rb1_license; // size: 0x4, address: 0x80A4E7EC static class Symbol botb_need_rb1_license_multi; // size: 0x4, address: 0x80A4E7F4 static class Symbol botb_license_and_store; // size: 0x4, address: 0x80A4E7FC static class Symbol botb_ec_unknown; // size: 0x4, address: 0x80A4E804 // Range: 0x8020C3F0 -> 0x8020C868 char * BotbPanel::FailedConditionsMessage(const class BotbPanel * const this /* r28 */) { // Local variables int i; // r30 unsigned char missingRB1Songs; // r27 unsigned char missingStoreSongs; // r26 int numMissing; // r30 const char * song; // r29 int i; // r25 class Symbol buyMethod; // r1+0x24 const char * dlc_msg; // r25 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol botb_ec_unknown; // -> static class Symbol botb_license_and_store; // -> static class Symbol botb_need_rb1_license_multi; // -> static class Symbol botb_need_rb1_license; // -> static class Symbol botb_buy_dlc_multi; // -> static class Symbol botb_buy_dlc; // -> static class Symbol botb_missing_dlc_multi_two; // -> static class Symbol botb_missing_dlc_multi; // -> static class Symbol botb_missing_dlc; } // Range: 0x8020C868 -> 0x8020C934 void BotbPanel::SelectFriendResult(class BotbPanel * const this /* r29 */) { // Local variables const class HxGuid & guid; // r30 class ObjectDir * dir; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x8020C934 -> 0x8020CA00 void BotbPanel::SelectOverallResult(class BotbPanel * const this /* r29 */) { // Local variables const class HxGuid & guid; // r30 class ObjectDir * dir; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; } // Range: 0x8020CA00 -> 0x8020CB20 void BotbPanel::RequestBandProfile(class BotbPanel * const this /* r30 */, const class HxGuid & bandGuid /* r31 */) { // References // -> class RockCentralGateway RockCentral; } // Range: 0x8020CB20 -> 0x8020CB74 unsigned char BotbPanel::IsFriendsListEmpty() {} // Range: 0x8020CB74 -> 0x8020CBC8 unsigned char BotbPanel::IsOverallListEmpty() {} // Range: 0x8020CBC8 -> 0x8020CC30 int BotbPanel::SetlistSize() {} static class Symbol _s; // size: 0x4, address: 0x80A4E80C static class Symbol _s; // size: 0x4, address: 0x80A4E814 static class Symbol _s; // size: 0x4, address: 0x80A4E81C static class Symbol _s; // size: 0x4, address: 0x80A4E824 static class Symbol _s; // size: 0x4, address: 0x80A4E82C static class Symbol _s; // size: 0x4, address: 0x80A4E834 static class Symbol _s; // size: 0x4, address: 0x80A4E83C static class Symbol _s; // size: 0x4, address: 0x80A4E844 static class Symbol _s; // size: 0x4, address: 0x80A4E84C static class Symbol _s; // size: 0x4, address: 0x80A4E854 static class Symbol _s; // size: 0x4, address: 0x80A4E85C static class Symbol _s; // size: 0x4, address: 0x80A4E864 static class Symbol _s; // size: 0x4, address: 0x80A4E86C // Range: 0x8020CC30 -> 0x8020D670 class DataNode BotbPanel::Handle(class BotbPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode _n; // r1+0x70 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x124 } __vt__9BotbPanel; // size: 0x124, address: 0x808ABBD8 struct { // total size: 0x8 } __RTTI__9BotbPanel; // size: 0x8, address: 0x808ABD48 struct { // total size: 0xC } __vt__17UIScreenChangeMsg; // size: 0xC, address: 0x808ABE58 struct { // total size: 0x8 } __RTTI__17UIScreenChangeMsg; // size: 0x8, address: 0x808ABE88 struct { // total size: 0x8 } __RTTI__P23BotbPerformanceModifier; // size: 0x8, address: 0x808AC3B8 struct { // total size: 0x8 } __RTTI__P18BotbEntryCondition; // size: 0x8, address: 0x808AC3D8 struct { // total size: 0x8 } __RTTI__P15BotbSetListItem; // size: 0x8, address: 0x808AC3F8 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std60_Rb_tree_node>; // size: 0x8, address: 0x808AC450 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8020D72C -> 0x8020DB20 */ // Range: 0x8020D72C -> 0x8020D7B4 char * MakeString(const char * fmt /* r0 */, unsigned long t1 /* r28 */, const char * t2 /* r29 */, const char * t3 /* r30 */, unsigned long t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\TourBand.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8020DB80 -> 0x8020DB8C */ // Range: 0x8020DB80 -> 0x8020DB8C void TourBand::SetRivalBandLogo() { // References // -> class String sRivalLogo; } /* Compile unit: C:\rockband2\band2\src\meta\BotbPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8020DC10 -> 0x8020DE90 */ // Range: 0x8020DC10 -> 0x8020DC18 int BotbScoresProvider::NumData() {} // Range: 0x8020DC18 -> 0x8020DCB8 void BotbPanel::SetBattleData(class BotbPanel * const this /* r31 */) {} // Range: 0x8020DCB8 -> 0x8020DCFC class Symbol BotbPanel::ClassName() { // References // -> class Symbol name; } // Range: 0x8020DCFC -> 0x8020DE90 void BotbPanel::SetType(class BotbPanel * const this /* r29 */, class Symbol & BotbPanel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8020DE90 -> 0x8020DF00 */ // Range: 0x8020DE90 -> 0x8020DED4 class Symbol UIScreenChangeMsg::Type() { // References // -> class Symbol t; } // Range: 0x8020DED4 -> 0x8020DF00 void * UIScreenChangeMsg::UIScreenChangeMsg() { // References // -> struct [anonymous] __vt__17UIScreenChangeMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8020DF00 -> 0x8020E564 */ // Range: 0x8020DF00 -> 0x8020DF70 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x8020DF70 -> 0x8020E280 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x8020E280 -> 0x8020E434 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std60_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8020E434 -> 0x8020E564 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8020E564 -> 0x8020EB88 */ // Range: 0x8020E564 -> 0x8020E750 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class BotbPerformanceModifier * __pos /* r26 */, const class BotbPerformanceModifier & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class BotbPerformanceModifier * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P23BotbPerformanceModifier; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8020E750 -> 0x8020E95C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class BotbEntryCondition * __pos /* r26 */, const class BotbEntryCondition & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class BotbEntryCondition * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P18BotbEntryCondition; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8020E95C -> 0x8020EB88 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BotbSetListItem * __pos /* r26 */, const struct BotbSetListItem & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BotbSetListItem * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P15BotbSetListItem; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\BotbPanelHelpers.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8020EB88 -> 0x802115A0 */ // Range: 0x8020EB88 -> 0x8020EC70 void * BotbScoresProvider::BotbScoresProvider(class BotbScoresProvider * const this /* r29 */, void (* cb)(int) /* r30 */, enum WinMetric winMetric /* r31 */) { // References // -> struct [anonymous] __vt__18BotbScoresProvider; // -> struct [anonymous] __vt__12ListProvider; } struct pair { // total size: 0x8 int first; // offset 0x0, size 0x4 int second; // offset 0x4, size 0x4 }; // Range: 0x8020EC70 -> 0x8020EDBC void * BotbScoresProvider::~BotbScoresProvider(class BotbScoresProvider * const this /* r30 */) { // Local variables int i; // r28 // References // -> struct [anonymous] __vt__18BotbScoresProvider; } // Range: 0x8020EDBC -> 0x8020EDC4 void BotbScoresProvider::SetQueryCallback() {} struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8020EDC4 -> 0x8020EEB8 void BotbScoresProvider::SetLruFront(const class BotbScoresProvider * const this /* r30 */, int idx /* r31 */) { // Local variables struct _List_iterator it; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } static class BotbBattleResultsRow norow; // size: 0x34, address: 0x8097C9BC struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x8020EEB8 -> 0x8020EFA8 class BotbBattleResultsRow & BotbScoresProvider::Data(const class BotbScoresProvider * const this /* r29 */, int data /* r30 */) { // Local variables int data_floor; // r31 struct _Rb_tree_iterator it; // r1+0x14 // References // -> static class BotbBattleResultsRow norow; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8020EFA8 -> 0x8020F08C struct _Rb_tree_iterator BotbScoresProvider::FindMapIdx(const class BotbScoresProvider * const this /* r7 */) { // Local variables struct _Rb_tree_iterator ret; // r1+0x1C } const char * kPendingData; // size: 0x4, address: 0x80A469B8 const char * kNoRank; // size: 0x4, address: 0x80A469BC static class Symbol rank; // size: 0x4, address: 0x80A4E874 static class Symbol name; // size: 0x4, address: 0x80A4E87C static class Symbol score; // size: 0x4, address: 0x80A4E884 static class Symbol star; // size: 0x4, address: 0x80A4E88C // Range: 0x8020F08C -> 0x8020F244 char * BotbScoresProvider::Text(const class BotbScoresProvider * const this /* r29 */, int data /* r28 */, class Symbol & slot /* r30 */) { // Local variables const class BotbBattleResultsRow & row; // r0 // References // -> class Debug TheDebug; // -> const char * kNoRank; // -> const char * kPendingData; // -> static class Symbol star; // -> static class Symbol score; // -> static class Symbol name; // -> static class Symbol rank; } // Range: 0x8020F244 -> 0x8020F268 class HxGuid & BotbScoresProvider::BandGuid() { // Local variables const class BotbBattleResultsRow & row; // r0 } // Range: 0x8020F268 -> 0x8020F270 void BotbScoresProvider::SetTotalRanked() {} // Range: 0x8020F270 -> 0x8020F278 void BotbScoresProvider::SetOverallRank() {} // Range: 0x8020F278 -> 0x8020F280 class RndMat * BotbScoresProvider::Mat() {} // Range: 0x8020F280 -> 0x8020F2EC enum TrackType SafeSymToTrackType(class Symbol & s /* r30 */) { // Local variables int i; // r31 } // Range: 0x8020F2EC -> 0x8020F420 void * BotbEntryCondition::BotbEntryCondition(class BotbEntryCondition * const this /* r29 */, int & shared_entry_condition_state /* r30 */) { // Local variables enum TrackType t; // r0 } // Range: 0x8020F420 -> 0x8020F514 char * BotbEntryCondition::Icon() { // References // -> class Debug TheDebug; } static class Symbol botb_ec_instrument; // size: 0x4, address: 0x80A4E894 static class Symbol botb_ec_drummer; // size: 0x4, address: 0x80A4E89C static class Symbol botb_ec_bassist; // size: 0x4, address: 0x80A4E8A4 static class Symbol botb_ec_guitarist; // size: 0x4, address: 0x80A4E8AC static class Symbol botb_ec_vocalist; // size: 0x4, address: 0x80A4E8B4 static class Symbol botb_ec_solo; // size: 0x4, address: 0x80A4E8BC static class Symbol botb_ec_fans; // size: 0x4, address: 0x80A4E8C4 static class Symbol botb_ec_stars; // size: 0x4, address: 0x80A4E8CC // Range: 0x8020F514 -> 0x8020F7D4 char * BotbEntryCondition::RuleString(const class BotbEntryCondition * const this /* r30 */) { // Local variables const char * string; // r29 class Symbol player; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> static class Symbol botb_ec_stars; // -> static class Symbol botb_ec_fans; // -> static class Symbol botb_ec_solo; // -> static class Symbol botb_ec_vocalist; // -> static class Symbol botb_ec_guitarist; // -> static class Symbol botb_ec_bassist; // -> static class Symbol botb_ec_drummer; // -> static class Symbol botb_ec_instrument; } static class Symbol botb_ec_instrument_deny; // size: 0x4, address: 0x80A4E8D4 static class Symbol botb_ec_drummer; // size: 0x4, address: 0x80A4E8DC static class Symbol botb_ec_bassist; // size: 0x4, address: 0x80A4E8E4 static class Symbol botb_ec_guitarist; // size: 0x4, address: 0x80A4E8EC static class Symbol botb_ec_vocalist; // size: 0x4, address: 0x80A4E8F4 static class Symbol botb_ec_solo_deny; // size: 0x4, address: 0x80A4E8FC static class Symbol botb_ec_fans_deny; // size: 0x4, address: 0x80A4E904 static class Symbol botb_ec_stars_deny; // size: 0x4, address: 0x80A4E90C // Range: 0x8020F7D4 -> 0x8020FA94 char * BotbEntryCondition::DenyString(const class BotbEntryCondition * const this /* r30 */) { // Local variables const char * string; // r29 class Symbol player; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> static class Symbol botb_ec_stars_deny; // -> static class Symbol botb_ec_fans_deny; // -> static class Symbol botb_ec_solo_deny; // -> static class Symbol botb_ec_vocalist; // -> static class Symbol botb_ec_guitarist; // -> static class Symbol botb_ec_bassist; // -> static class Symbol botb_ec_drummer; // -> static class Symbol botb_ec_instrument_deny; } // Range: 0x8020FA94 -> 0x8020FDEC unsigned char BotbEntryCondition::ConditionMet(const class BotbEntryCondition * const this /* r27 */, class BandData * band /* r28 */) { // Local variables class vector users; // r1+0x24 int guitar_count; // r30 class BandUser * * u; // r29 enum TrackType t; // r28 enum ControllerType c; // r0 // References // -> class BandUserMgr * TheBandUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8020FDEC -> 0x8020FE88 void BotbEntryCondition::Apply(class TourEvent * event /* r31 */) { // Local variables enum TrackType t; // r3 // References // -> class Debug TheDebug; } // Range: 0x8020FE88 -> 0x8020FF1C void * BotbPerformanceModifier::BotbPerformanceModifier(class BotbPerformanceModifier * const this /* r31 */) {} // Range: 0x8020FF1C -> 0x8020FF2C void * BotbPerformanceModifier::BotbPerformanceModifier() {} // Range: 0x8020FF2C -> 0x80210008 char * BotbPerformanceModifier::Icon() { // References // -> class Debug TheDebug; } static class Symbol botb_pm_no_brink; // size: 0x4, address: 0x80A4E914 static class Symbol botb_pm_no_crowd; // size: 0x4, address: 0x80A4E91C static class Symbol botb_pm_no_overdrive; // size: 0x4, address: 0x80A4E924 static class Symbol botb_pm_difficulty; // size: 0x4, address: 0x80A4E92C static class Symbol botb_pm_expert_difficulty; // size: 0x4, address: 0x80A4E934 static class Symbol botb_wm_percent_complete; // size: 0x4, address: 0x80A4E93C static class Symbol botb_wm_streak; // size: 0x4, address: 0x80A4E944 static class Symbol botb_wm_multiplier; // size: 0x4, address: 0x80A4E94C // Range: 0x80210008 -> 0x80210344 char * BotbPerformanceModifier::Description(const class BotbPerformanceModifier * const this /* r30 */) { // Local variables const char * string; // r29 // References // -> class Debug TheDebug; // -> static class Symbol botb_wm_multiplier; // -> static class Symbol botb_wm_streak; // -> static class Symbol botb_wm_percent_complete; // -> static class Symbol botb_pm_expert_difficulty; // -> static class Symbol botb_pm_difficulty; // -> static class Symbol botb_pm_no_overdrive; // -> static class Symbol botb_pm_no_crowd; // -> static class Symbol botb_pm_no_brink; } // Range: 0x80210344 -> 0x802103F0 void BotbPerformanceModifier::Apply(const class BotbPerformanceModifier * const this /* r7 */) { // References // -> class Debug TheDebug; } // Range: 0x802103F0 -> 0x80210554 void * BotbMiniRankings::BotbMiniRankings(class BotbMiniRankings * const this /* r31 */) { // Local variables char * tok; // r0 // References // -> class Debug TheDebug; } static class Symbol botb_mini_rank_vs_friend_score; // size: 0x4, address: 0x80A4E954 static class Symbol botb_mini_rank_vs_friend_streak; // size: 0x4, address: 0x80A4E95C static class Symbol botb_mini_rank_vs_friend_mult; // size: 0x4, address: 0x80A4E964 static class Symbol botb_mini_rank_overall_score; // size: 0x4, address: 0x80A4E96C static class Symbol botb_mini_rank_overall_streak; // size: 0x4, address: 0x80A4E974 static class Symbol botb_mini_rank_overall_mult; // size: 0x4, address: 0x80A4E97C static class Symbol botb_mini_rank_top100_score; // size: 0x4, address: 0x80A4E984 static class Symbol botb_mini_rank_top100_streak; // size: 0x4, address: 0x80A4E98C static class Symbol botb_mini_rank_top100_mult; // size: 0x4, address: 0x80A4E994 static class Symbol botb_mini_rank_champ; // size: 0x4, address: 0x80A4E99C static class Symbol botb_mini_rank_no_rank; // size: 0x4, address: 0x80A4E9A4 // Range: 0x80210554 -> 0x80210A88 char * BotbMiniRankings::Description(const class BotbMiniRankings * const this /* r29 */, enum WinMetric winMetric /* r30 */) { // Local variables const char * string; // r28 // References // -> class Debug TheDebug; // -> static class Symbol botb_mini_rank_no_rank; // -> static class Symbol botb_mini_rank_champ; // -> static class Symbol botb_mini_rank_top100_mult; // -> static class Symbol botb_mini_rank_top100_streak; // -> static class Symbol botb_mini_rank_top100_score; // -> static class Symbol botb_mini_rank_overall_mult; // -> static class Symbol botb_mini_rank_overall_streak; // -> static class Symbol botb_mini_rank_overall_score; // -> static class Symbol botb_mini_rank_vs_friend_mult; // -> static class Symbol botb_mini_rank_vs_friend_streak; // -> static class Symbol botb_mini_rank_vs_friend_score; } static class Symbol icon; // size: 0x4, address: 0x80A4E9AC // Range: 0x80210A88 -> 0x80210B98 char * BotbRulesListProvider::Text(const class BotbRulesListProvider * const this /* r30 */, int data /* r31 */, class Symbol & slot /* r29 */) { // References // -> static class Symbol icon; } // Range: 0x80210B98 -> 0x80210BEC unsigned char BotbRulesListProvider::IsActive() {} // Range: 0x80210BEC -> 0x80210BF4 class RndMat * BotbRulesListProvider::Mat() {} static class Symbol botb_years; // size: 0x4, address: 0x80A4E9B4 static class Symbol botb_days; // size: 0x4, address: 0x80A4E9BC static class Symbol botb_hours; // size: 0x4, address: 0x80A4E9C4 static class Symbol botb_minutes; // size: 0x4, address: 0x80A4E9CC static class Symbol botb_seconds; // size: 0x4, address: 0x80A4E9D4 static class Symbol botb_year; // size: 0x4, address: 0x80A4E9DC static class Symbol botb_day; // size: 0x4, address: 0x80A4E9E4 static class Symbol botb_hour; // size: 0x4, address: 0x80A4E9EC static class Symbol botb_minute; // size: 0x4, address: 0x80A4E9F4 static class Symbol botb_second; // size: 0x4, address: 0x80A4E9FC static class Symbol botb_time_value; // size: 0x4, address: 0x80A4EA04 static class Symbol botb_time_value2; // size: 0x4, address: 0x80A4EA0C // Range: 0x80210BF4 -> 0x80211360 char * SecondsToTimeString(int secondsLeft /* r30 */) { // Local variables int seconds; // r29 int minutes; // r28 int minutesLeft; // r5 int minutes; // r28 int hours; // r29 int hoursLeft; // r5 int hours; // r28 int days; // r29 int daysLeft; // r5 int days; // r28 int years; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol botb_time_value2; // -> static class Symbol botb_time_value; // -> static class Symbol botb_second; // -> static class Symbol botb_minute; // -> static class Symbol botb_hour; // -> static class Symbol botb_day; // -> static class Symbol botb_year; // -> static class Symbol botb_seconds; // -> static class Symbol botb_minutes; // -> static class Symbol botb_hours; // -> static class Symbol botb_days; // -> static class Symbol botb_years; } static class Symbol trackPacks[11]; // size: 0x2C, address: 0x8097C9F0 // Range: 0x80211360 -> 0x80211540 unsigned char IsRb1DiskSong(class Symbol & song /* r28 */) { // Local variables class DataArray * missingSongs; // r29 class DataArray * songData; // r29 class DataArray * songPack; // r29 int i; // r30 // References // -> const char * gNullStr; // -> static class Symbol trackPacks[11]; } struct { // total size: 0x98 } __vt__21BotbRulesListProvider; // size: 0x98, address: 0x808AD220 struct { // total size: 0x8 } __RTTI__21BotbRulesListProvider; // size: 0x8, address: 0x808AD2F0 struct { // total size: 0x98 } __vt__18BotbScoresProvider; // size: 0x98, address: 0x808AD2F8 struct { // total size: 0x8 } __RTTI__18BotbScoresProvider; // size: 0x8, address: 0x808AD3C0 struct { // total size: 0x98 } __vt__19BotbSetListProvider; // size: 0x98, address: 0x808AD3C8 struct { // total size: 0x8 } __RTTI__19BotbSetListProvider; // size: 0x8, address: 0x808AD490 struct { // total size: 0x8 } __RTTI__PP20BotbBattleResultsRow; // size: 0x8, address: 0x808AD4F8 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std42_Rb_tree_node>; // size: 0x8, address: 0x808AD540 // Range: 0x80211540 -> 0x80211588 static void __sinit_\BotbPanelHelpers_cpp() { // References // -> static class BotbBattleResultsRow norow; } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802115A0 -> 0x80211DD0 */ // Range: 0x802115A0 -> 0x8021172C char * BotbSetListProvider::Text(const class BotbSetListProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8021172C -> 0x802117F4 char * FormatScore() { // Local variables float fscore; // f1 // References // -> class Debug TheDebug; } // Range: 0x802117F4 -> 0x80211DD0 void BotbScoresProvider::AddCachedData(class BotbScoresProvider * const this /* r23 */, const class list & list /* r24 */) { // Local variables struct _List_iterator it; // r1+0x9C int data_floor; // r29 int list_size; // r0 unsigned char chunk_aligned; // r21 unsigned char end_of_data; // r3 int block_count; // r28 int i; // r27 class BotbBattleResultsRow * rows; // r1+0x98 int j; // r26 int chunk_data_floor; // r26 int floor_idx; // r21 int old_data_floor; // r5 struct _Rb_tree_iterator old_floor_map; // r1+0x94 int old_list_idx; // r25 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80211DD0 -> 0x80211EA4 */ // Range: 0x80211DD0 -> 0x80211E1C char * MakeString(const char * fmt /* r0 */, enum ControllerType t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80211E1C -> 0x80211EA4 char * MakeString(const char * fmt /* r0 */, int t1 /* r28 */, const char * t2 /* r29 */, int t3 /* r30 */, const char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\band2\src\meta\BotbPanel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80211EA4 -> 0x80211F00 */ // Range: 0x80211EA4 -> 0x80211EDC int BotbRulesListProvider::NumData() {} // Range: 0x80211EDC -> 0x80211EF8 int BotbSetListProvider::NumData() {} // Range: 0x80211EF8 -> 0x80211F00 class RndMat * BotbSetListProvider::Mat() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80211F00 -> 0x80212564 */ // Range: 0x80211F00 -> 0x80211F70 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x80211F70 -> 0x80212280 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x80212280 -> 0x80212434 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std42_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80212434 -> 0x80212564 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80212564 -> 0x8021269C */ // Range: 0x80212564 -> 0x8021269C void vector::_M_insert_overflow(class vector * const this /* r27 */, class BotbBattleResultsRow * * __pos /* r28 */, class BotbBattleResultsRow * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BotbBattleResultsRow * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP20BotbBattleResultsRow; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\meta\MessagingProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021269C -> 0x80213808 */ class MessagingProvider * sMessagingProvider; // size: 0x4, address: 0x80A4EA18 class MessagingProvider : public ListProvider, public Object { // total size: 0x44 class vector mMessages; // offset 0x2C, size 0xC class String mGid; // offset 0x38, size 0xC }; // Range: 0x8021269C -> 0x802126D0 void MessagingProvider::Init() { // References // -> class MessagingProvider * sMessagingProvider; } // Range: 0x802126D0 -> 0x8021275C void * MessagingProvider::MessagingProvider(class MessagingProvider * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__17MessagingProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x8021275C -> 0x8021281C void * MessagingProvider::~MessagingProvider(class MessagingProvider * const this /* r30 */) { // References // -> struct [anonymous] __vt__17MessagingProvider; } // Range: 0x8021281C -> 0x80212888 void MessagingProvider::CleanUp(class MessagingProvider * const this /* r30 */) {} // Range: 0x80212888 -> 0x802128D8 void MessagingProvider::EnumerateMessages(class MessagingProvider * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x802128D8 -> 0x802128F4 void MessagingProvider::DeleteMessage() { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x802128F4 -> 0x802128FC char * MessagingProvider::GetGID() {} // Range: 0x802128FC -> 0x80212984 char * MessagingProvider::GetSenderID(class MessagingProvider * const this /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x80212984 -> 0x802129EC char * MessagingProvider::GetSubject(class MessagingProvider * const this /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x802129EC -> 0x80212B44 class Symbol MessagingProvider::GetTextBody(class MessagingProvider * const this /* r26 */, int selectedPos /* r27 */) { // Local variables unsigned int message_length; // r30 char * buffer; // r31 class String gid; // r1+0x18 class Symbol body; // r1+0x14 // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80212B44 -> 0x80212BE8 char * MessagingProvider::Text(const class MessagingProvider * const this /* r30 */, int data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80212BE8 -> 0x80212BF0 class RndMat * MessagingProvider::Mat() {} // Range: 0x80212BF0 -> 0x80212C08 int MessagingProvider::NumData() {} // Range: 0x80212C08 -> 0x80212C1C class DataNode MessagingProvider::OnMsg() {} static class Symbol _s; // size: 0x4, address: 0x80A4EA20 static class Symbol _s; // size: 0x4, address: 0x80A4EA28 static class Symbol _s; // size: 0x4, address: 0x80A4EA30 static class Symbol _s; // size: 0x4, address: 0x80A4EA38 static class Symbol _s; // size: 0x4, address: 0x80A4EA40 static class Symbol _s; // size: 0x4, address: 0x80A4EA48 static class Symbol _s; // size: 0x4, address: 0x80A4EA50 static class Symbol _s; // size: 0x4, address: 0x80A4EA58 // Range: 0x80212C1C -> 0x80213808 class DataNode MessagingProvider::Handle(class MessagingProvider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__24PlatformMgrOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x9C } __vt__17MessagingProvider; // size: 0x9C, address: 0x808AD720 struct { // total size: 0x8 } __RTTI__17MessagingProvider; // size: 0x8, address: 0x808AD7F0 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80213808 -> 0x802138FC */ // Range: 0x80213808 -> 0x80213860 char * MakeString(unsigned long long t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80213860 -> 0x802138EC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, unsigned long long t2 /* r30 */, class Symbol & t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\band2\src\meta\UploadErrorMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802138FC -> 0x80214038 */ class UploadErrorMgr * TheUploadErrorMgr; // size: 0x4, address: 0x80A4EA60 static class Symbol session_ready; // size: 0x4, address: 0x80A4EA68 // Range: 0x802138FC -> 0x802139C0 void UploadErrorMgr::Init() { // References // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UploadErrorMgr * TheUploadErrorMgr; // -> static class Symbol session_ready; } // Range: 0x802139C0 -> 0x80213A3C void * UploadErrorMgr::UploadErrorMgr(class UploadErrorMgr * const this /* r31 */) { // References // -> struct [anonymous] __vt__14UploadErrorMgr; } // Range: 0x80213A3C -> 0x80213AD8 void * UploadErrorMgr::~UploadErrorMgr(class UploadErrorMgr * const this /* r30 */) {} // Range: 0x80213AD8 -> 0x80213C3C unsigned char UploadErrorMgr::ShouldDisplayUploadError(class UploadErrorMgr * const this /* r29 */, int iErrorCode /* r31 */, const char * iString /* r30 */) { // Local variables class String key; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSession * TheNetSession; } // Range: 0x80213C3C -> 0x80213C50 unsigned char UploadErrorMgr::AlwaysShowError() {} // Range: 0x80213C50 -> 0x80213C98 class String UploadErrorMgr::MakeErrorKey() {} // Range: 0x80213C98 -> 0x80213D0C class DataNode UploadErrorMgr::OnMsg(class UploadErrorMgr * const this /* r31 */) {} // Range: 0x80213D0C -> 0x80214038 class DataNode UploadErrorMgr::Handle(class UploadErrorMgr * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__14UploadErrorMgr; // size: 0x54, address: 0x808AD958 struct { // total size: 0x8 } __RTTI__14UploadErrorMgr; // size: 0x8, address: 0x808AD9D0 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_Rb_tree_node<6String>; // size: 0x8, address: 0x808ADA30 /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80214038 -> 0x8021437C */ // Range: 0x80214038 -> 0x802140C4 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x802140C4 -> 0x802141EC struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r28 */, const class String & __val /* r29 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 struct _Rb_tree_node_base * __x; // r30 unsigned char __comp; // r3 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x802141EC -> 0x8021437C struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r31 */, struct _Rb_tree_node_base * __parent /* r27 */, const class String & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_Rb_tree_node<6String>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\band2\src\net_band\ContextWrapper.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021437C -> 0x80214C8C */ static float kContextTimeoutPeriodMs; // size: 0x4, address: 0x80A566C0 class ContextWrapper { // total size: 0x50 class Object * mCallbackObject; // offset 0x0, size 0x4 class Updatable * mUpdatable; // offset 0x4, size 0x4 unsigned char mDeleteUpdatable; // offset 0x8, size 0x1 int mId; // offset 0xC, size 0x4 class ProtocolCallContext * mContext; // offset 0x10, size 0x4 class Timer mTimeout; // offset 0x18, size 0x38 }; // Range: 0x8021437C -> 0x802143CC void * ContextWrapper::ContextWrapper(class ContextWrapper * const this /* r31 */) {} // Range: 0x802143CC -> 0x80214440 void * ContextWrapper::~ContextWrapper(class ContextWrapper * const this /* r30 */) {} // Range: 0x80214440 -> 0x802144E8 void ContextWrapper::SetCallbackObject(class ContextWrapper * const this /* r27 */, class Object * object /* r28 */, class Updatable * updatable /* r29 */, unsigned char delete_updatable /* r30 */, int id /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802144E8 -> 0x802144F0 class Object * ContextWrapper::GetCallbackObject() {} // Range: 0x802144F0 -> 0x80214584 void ContextWrapper::Reset(class ContextWrapper * const this /* r31 */) {} // Range: 0x80214584 -> 0x802148DC void ContextWrapper::Poll(class ContextWrapper * const this /* r31 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x30 class RockCentralOpCompleteMsg msg; // r1+0x28 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__7Message; // -> class RockCentralGateway RockCentral; // -> static float kContextTimeoutPeriodMs; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } class ContextWrapperPool { // total size: 0x640 class ContextWrapper mContextWrappers[20]; // offset 0x0, size 0x640 }; // Range: 0x802148DC -> 0x80214A58 class ContextWrapper * ContextWrapperPool::NewContextWrapper(class Object * object /* r29 */, int id /* r30 */) { // Local variables int i; // r4 class RockCentralOpCompleteMsg msg; // r1+0x18 // References // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; } // Range: 0x80214A58 -> 0x80214ADC void ContextWrapperPool::CancelOutstandingContexts(class ContextWrapperPool * const this /* r28 */, class Object * object /* r29 */) { // Local variables int i; // r30 } // Range: 0x80214ADC -> 0x80214C30 void ContextWrapperPool::FailAllContexts(class ContextWrapperPool * const this /* r30 */) { // Local variables int i; // r31 class RockCentralOpCompleteMsg msg; // r1+0x18 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x80214C30 -> 0x80214C8C void ContextWrapperPool::Poll(class ContextWrapperPool * const this /* r30 */) { // Local variables int i; // r31 } /* Compile unit: C:\rockband2\band2\src\net_band\Updatable.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80214C8C -> 0x80214CCC */ // Range: 0x80214C8C -> 0x80214CCC void * Updatable::~Updatable(class Updatable * const this /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80214CCC -> 0x80214E78 */ // Range: 0x80214CCC -> 0x80214E78 void * RockCentralOpCompleteMsg::RockCentralOpCompleteMsg(class RockCentralOpCompleteMsg * const this /* r31 */, class DataNode & arg2 /* r30 */) { // References // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } /* Compile unit: C:\rockband2\band2\src\net_band\LeaderboardResults.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80214E78 -> 0x80215BEC */ // Range: 0x80214E78 -> 0x80214EE8 void * LeaderboardResultList::~LeaderboardResultList(class LeaderboardResultList * const this /* r30 */) { // References // -> struct [anonymous] __vt__21LeaderboardResultList; } // Range: 0x80214EE8 -> 0x80214F90 void LeaderboardResultList::Clear(class LeaderboardResultList * const this /* r31 */) {} class Plugin : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 protected: void * m_hLibrary; // offset 0x4, size 0x4 }; class _DDL_RBSoloResults : public RootObject { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 class String mPlayerName; // offset 0x4, size 0x4 long long mGuid; // offset 0x8, size 0x8 unsigned int mPrincipalID; // offset 0x10, size 0x4 signed char mDiffID; // offset 0x14, size 0x1 unsigned int mRank; // offset 0x18, size 0x4 unsigned int mScore; // offset 0x1C, size 0x4 }; class RBSoloResults : public _DDL_RBSoloResults { // total size: 0x20 }; class _DDL_RBGuid : public RootObject { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int mGuid0; // offset 0x4, size 0x4 unsigned int mGuid1; // offset 0x8, size 0x4 unsigned int mGuid2; // offset 0xC, size 0x4 unsigned int mGuid3; // offset 0x10, size 0x4 }; class RBGuid : public _DDL_RBGuid { // total size: 0x14 }; class _DDL_RBBandResults : public RootObject { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 class String mBandName; // offset 0x4, size 0x4 class RBGuid mGuid; // offset 0x8, size 0x14 unsigned int mBandID; // offset 0x1C, size 0x4 unsigned int mRank; // offset 0x20, size 0x4 unsigned int mScore; // offset 0x24, size 0x4 }; class RBBandResults : public _DDL_RBBandResults { // total size: 0x28 }; // Range: 0x80214F90 -> 0x80215078 void * BandResultRow::BandResultRow(class BandResultRow * const this /* r29 */, class RBBandResults * result /* r30 */) { // Local variables class HxGuid guid; // r1+0x18 // References // -> struct [anonymous] __vt__13BandResultRow; // -> struct [anonymous] __vt__20LeaderboardResultRow; } // Range: 0x80215078 -> 0x80215144 void * BandResultRow::BandResultRow(class BandResultRow * const this /* r26 */, class String & bandName /* r27 */, unsigned long long score /* r29 */, const class HxGuid & guid /* r30 */) { // References // -> struct [anonymous] __vt__13BandResultRow; // -> struct [anonymous] __vt__20LeaderboardResultRow; } class qList : public list, public RootObject { // total size: 0x8 }; class RBPlayerResultQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; // Range: 0x80215144 -> 0x802151FC void * PlayerResultList::PlayerResultList(class PlayerResultList * const this /* r30 */) { // References // -> struct [anonymous] __vt__16PlayerResultList; // -> struct [anonymous] __vt__21LeaderboardResultList; // -> struct [anonymous] __vt__9Updatable; } class _List_node : public _List_node_base { // total size: 0x28 public: class RBSoloResults _M_data; // offset 0x8, size 0x20 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x802151FC -> 0x802152A4 void * PlayerResultList::~PlayerResultList(class PlayerResultList * const this /* r29 */) { // References // -> struct [anonymous] __vt__16PlayerResultList; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802152A4 -> 0x802153A8 void PlayerResultList::Update(class PlayerResultList * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std35_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std35_List_node; // size: 0x8, address: 0x808ADB38 // Range: 0x802153A8 -> 0x80215458 void PlayerResultList::Update(class PlayerResultList * const this /* r29 */, class vector & data /* r30 */) { // Local variables class PlayerResultRow * * it; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std35_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80215458 -> 0x80215490 void PlayerResultList::SpecializedClear(class PlayerResultList * const this /* r31 */) {} // Range: 0x80215490 -> 0x80215590 unsigned char RowHasHigherScore(const class LeaderboardResultRow * lhs /* r28 */, const class LeaderboardResultRow * rhs /* r29 */) {} class qList : public list, public RootObject { // total size: 0x8 }; class RBBandResultQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; // Range: 0x80215590 -> 0x80215648 void * BandResultList::BandResultList(class BandResultList * const this /* r30 */) { // References // -> struct [anonymous] __vt__14BandResultList; // -> struct [anonymous] __vt__21LeaderboardResultList; // -> struct [anonymous] __vt__9Updatable; } class _List_node : public _List_node_base { // total size: 0x30 public: class RBBandResults _M_data; // offset 0x8, size 0x28 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80215648 -> 0x802156EC void * BandResultList::~BandResultList(class BandResultList * const this /* r29 */) { // References // -> struct [anonymous] __vt__14BandResultList; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802156EC -> 0x802157F0 void BandResultList::Update(class BandResultList * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std35_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802157F0 -> 0x802158A0 void BandResultList::Update(class BandResultList * const this /* r29 */, class vector & data /* r30 */) { // Local variables class BandResultRow * * it; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std35_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802158A0 -> 0x802158D8 void BandResultList::SpecializedClear(class BandResultList * const this /* r31 */) {} class _DDL_RBPlatformGuid : public RootObject { // total size: 0x10 public: void * __vptr$; // offset 0x0, size 0x4 class String mName; // offset 0x4, size 0x4 long long mGuid; // offset 0x8, size 0x8 }; class RBPlatformGuid : public _DDL_RBPlatformGuid { // total size: 0x10 }; class _DDL_RBPresenceInfo : public RootObject { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 class RBPlatformGuid mPlatformGuid; // offset 0x8, size 0x10 unsigned char mOnline; // offset 0x18, size 0x1 }; class RBPresenceInfo : public _DDL_RBPresenceInfo { // total size: 0x20 }; // Range: 0x802158D8 -> 0x8021593C void * PresenceResultRow::PresenceResultRow(class PresenceResultRow * const this /* r30 */, class RBPresenceInfo * result /* r31 */) {} class qList : public list, public RootObject { // total size: 0x8 }; class RBPresenceResultQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; // Range: 0x8021593C -> 0x802159D4 void * PresenceResultList::PresenceResultList(class PresenceResultList * const this /* r30 */) { // References // -> struct [anonymous] __vt__18PresenceResultList; } class _List_node : public _List_node_base { // total size: 0x28 public: class RBPresenceInfo _M_data; // offset 0x8, size 0x20 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x802159D4 -> 0x80215A70 void * PresenceResultList::~PresenceResultList(class PresenceResultList * const this /* r29 */) { // References // -> struct [anonymous] __vt__18PresenceResultList; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80215A70 -> 0x80215BAC void PresenceResultList::Update(class PresenceResultList * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node<17PresenceResultRow>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80215BAC -> 0x80215BEC void PresenceResultList::Clear(class PresenceResultList * const this /* r31 */) {} struct { // total size: 0x14 } __vt__18PresenceResultList; // size: 0x14, address: 0x808ADB64 struct { // total size: 0x8 } __RTTI__18PresenceResultList; // size: 0x8, address: 0x808ADB98 struct { // total size: 0x30 } __vt__14BandResultList; // size: 0x30, address: 0x808ADBA0 struct { // total size: 0x8 } __RTTI__14BandResultList; // size: 0x8, address: 0x808ADBF8 struct { // total size: 0x1C } __vt__13BandResultRow; // size: 0x1C, address: 0x808ADC00 struct { // total size: 0x8 } __RTTI__13BandResultRow; // size: 0x8, address: 0x808ADC38 struct { // total size: 0x34 } __vt__16PlayerResultList; // size: 0x34, address: 0x808ADC40 struct { // total size: 0x8 } __RTTI__16PlayerResultList; // size: 0x8, address: 0x808ADCA0 struct { // total size: 0x14 } __vt__21LeaderboardResultList; // size: 0x14, address: 0x808ADCA8 struct { // total size: 0x8 } __RTTI__21LeaderboardResultList; // size: 0x8, address: 0x808ADCD8 struct { // total size: 0x14 } __vt__9Updatable; // size: 0x14, address: 0x808ADCE0 struct { // total size: 0x8 } __RTTI__9Updatable; // size: 0x8, address: 0x808ADD00 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80215BEC -> 0x80215C50 */ // Range: 0x80215BEC -> 0x80215C50 class list * PresenceResultList::GetRowList(const class PresenceResultList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\band2\src\net_band\LeaderboardResults.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80215C50 -> 0x80215C84 */ // Range: 0x80215C50 -> 0x80215C54 void LeaderboardResultList::SpecializedClear() {} // Range: 0x80215C54 -> 0x80215C5C unsigned char BandResultList::Updated() {} // Range: 0x80215C5C -> 0x80215C6C unsigned long long BandResultRow::GetScore(const class BandResultRow * const this /* r4 */) {} // Range: 0x80215C6C -> 0x80215C74 char * BandResultRow::GetName() {} // Range: 0x80215C74 -> 0x80215C7C int BandResultRow::GetRanking() {} // Range: 0x80215C7C -> 0x80215C84 unsigned char PlayerResultList::Updated() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Platform\Core\MemAllocator.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80215C84 -> 0x80215D38 */ // Range: 0x80215C84 -> 0x80215D38 void * PlayerResultRow::PlayerResultRow(class PlayerResultRow * const this /* r29 */, class RBSoloResults * result /* r30 */) { // References // -> struct [anonymous] __vt__15PlayerResultRow; // -> struct [anonymous] __vt__20LeaderboardResultRow; } /* Compile unit: C:\rockband2\band2\src\net_band\Updatable.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80215D38 -> 0x80215DA8 */ // Range: 0x80215D38 -> 0x80215DA8 void Updatable::SetWrapper(class Updatable * const this /* r30 */, class ContextWrapper * wrapper /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80215DA8 -> 0x80216114 */ // Range: 0x80215DA8 -> 0x80215E34 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x80215E34 -> 0x80215EC0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x80215EC0 -> 0x80215F4C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\band2\src\net_band\BotbResults.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80216114 -> 0x80218610 */ // Range: 0x80216114 -> 0x8021617C class BinStream & __rs(class BinStream & s /* r30 */, class String & str /* r31 */) { // Local variables int pSize; // r1+0x8 } // Range: 0x8021617C -> 0x802161F4 class BinStream & __ls(class BinStream & s /* r29 */, const class String & str /* r30 */) { // Local variables int pSize; // r31 } // Range: 0x802161F4 -> 0x80216254 class BinStream & __rs(class BinStream & s /* r30 */, class DateTime & dt /* r31 */) { // Local variables unsigned long long t; // r1+0x10 } // Range: 0x80216254 -> 0x802162A0 class BinStream & __ls(class BinStream & s /* r31 */) { // Local variables unsigned long long t; // r0 } // Range: 0x802162A0 -> 0x802162E0 void * BotbBattleSongInfo::BotbBattleSongInfo(class BotbBattleSongInfo * const this /* r31 */) {} class _DDL_RBBotbBattleSongInfo : public RootObject { // total size: 0x10 public: void * __vptr$; // offset 0x0, size 0x4 class String mShortName; // offset 0x4, size 0x4 class String mFullName; // offset 0x8, size 0x4 class String mArtist; // offset 0xC, size 0x4 }; class RBBotbBattleSongInfo : public _DDL_RBBotbBattleSongInfo { // total size: 0x10 }; // Range: 0x802162E0 -> 0x80216338 void * BotbBattleSongInfo::BotbBattleSongInfo(class BotbBattleSongInfo * const this /* r30 */, class RBBotbBattleSongInfo * result /* r31 */) {} // Range: 0x80216338 -> 0x802163B8 void * BotbBattleSongInfo::~BotbBattleSongInfo(class BotbBattleSongInfo * const this /* r29 */) {} // Range: 0x802163B8 -> 0x802163C0 char * BotbBattleSongInfo::ShortName() {} // Range: 0x802163C0 -> 0x802163C8 char * BotbBattleSongInfo::FullName() {} // Range: 0x802163C8 -> 0x8021641C unsigned char BotbBattleSongInfo::IsCoverSong(const class BotbBattleSongInfo * const this /* r30 */) {} // Range: 0x8021641C -> 0x80216470 class BinStream & __ls(class BinStream & s /* r30 */, const class BotbBattleSongInfo & bd /* r31 */) {} // Range: 0x80216470 -> 0x802164C4 class BinStream & __rs(class BinStream & s /* r30 */, class BotbBattleSongInfo & bd /* r31 */) {} class RBBotbBattleDetails : public _DDL_RBBotbBattleDetails { // total size: 0x58 }; // Range: 0x802164C4 -> 0x802165C4 void * BotbBattleDetails::BotbBattleDetails(class BotbBattleDetails * const this /* r29 */) { // References // -> struct [anonymous] __vt__Q26Quazal19RBBotbBattleDetails; // -> struct [anonymous] __vt__Q26Quazal24_DDL_RBBotbBattleDetails; } class _List_node : public _List_node_base { // total size: 0x18 public: class RBBotbBattleSongInfo _M_data; // offset 0x8, size 0x10 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class _DDL_RBBotbBattleDetails : public RootObject { // total size: 0x58 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int mBattleID; // offset 0x4, size 0x4 class String mShortName; // offset 0x8, size 0x4 class String mTitle; // offset 0xC, size 0x4 class String mDescription; // offset 0x10, size 0x4 class String mArtFilename; // offset 0x14, size 0x4 class String mVenueName; // offset 0x18, size 0x4 unsigned int mDifficulty; // offset 0x1C, size 0x4 class String mShowIn; // offset 0x20, size 0x4 class DateTime mStartTime; // offset 0x28, size 0x8 class DateTime mEndTime; // offset 0x30, size 0x8 unsigned int mTimeLeftInSeconds; // offset 0x38, size 0x4 class String mWinMetric; // offset 0x3C, size 0x4 class String mEntryConditions; // offset 0x40, size 0x4 class String mPerformanceModifiers; // offset 0x44, size 0x4 class qList mSetList; // offset 0x48, size 0x8 unsigned int mPrize; // offset 0x50, size 0x4 int mSecondsUntilStart; // offset 0x54, size 0x4 }; // Range: 0x802165C4 -> 0x80216648 void * BotbBattleDetails::~BotbBattleDetails(class BotbBattleDetails * const this /* r30 */) {} // Range: 0x80216728 -> 0x80216764 void BotbBattleDetails::Clear(class BotbBattleDetails * const this /* r31 */) {} // Range: 0x80216764 -> 0x80216770 char * BotbBattleDetails::Title() {} // Range: 0x80216770 -> 0x8021677C char * BotbBattleDetails::Description() {} // Range: 0x8021677C -> 0x80216788 char * BotbBattleDetails::ArtFilename() {} // Range: 0x80216788 -> 0x80216794 int BotbBattleDetails::TimeLeftInSeconds() {} // Range: 0x80216794 -> 0x802167A0 char * BotbBattleDetails::EntryConditions() {} // Range: 0x802167A0 -> 0x802167AC char * BotbBattleDetails::PerformanceModifiers() {} struct iterator { // total size: 0x1 }; class reverse_iterator : public iterator { // total size: 0x4 protected: struct _List_iterator current; // offset 0x0, size 0x4 }; // Range: 0x802167AC -> 0x80216948 void BotbBattleDetails::CacheSetList(const class BotbBattleDetails * const this /* r30 */) { // Local variables class list & setList; // r31 class reverse_iterator it; // r1+0x48 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std32_List_node<18BotbBattleSongInfo>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80216948 -> 0x80216978 class list & BotbBattleDetails::SetList(const class BotbBattleDetails * const this /* r31 */) {} // Range: 0x80216978 -> 0x80216984 int BotbBattleDetails::SecondsUntilStart() {} // Range: 0x80216984 -> 0x80216B08 class BinStream & __ls(class BinStream & s /* r30 */, const class BotbBattleDetails & bd /* r31 */) {} // Range: 0x80216B08 -> 0x80216C68 class BinStream & __rs(class BinStream & s /* r30 */, class BotbBattleDetails & bd /* r31 */) {} class RBBotbBattleResultsByBandInfo : public _DDL_RBBotbBattleResultsByBandInfo { // total size: 0x10 }; // Range: 0x80216C68 -> 0x80216CD4 void * BotbBattleResultsByBandInfo::BotbBattleResultsByBandInfo(class BotbBattleResultsByBandInfo * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q26Quazal29RBBotbBattleResultsByBandInfo; // -> struct [anonymous] __vt__Q26Quazal34_DDL_RBBotbBattleResultsByBandInfo; } class _DDL_RBBotbBattleResultsByBandInfo : public RootObject { // total size: 0x10 public: void * __vptr$; // offset 0x0, size 0x4 class String mCarrotInfo; // offset 0x4, size 0x4 unsigned int mOverallRank; // offset 0x8, size 0x4 unsigned int mTotalRanked; // offset 0xC, size 0x4 }; // Range: 0x80216CD4 -> 0x80216D48 void * BotbBattleResultsByBandInfo::~BotbBattleResultsByBandInfo(class BotbBattleResultsByBandInfo * const this /* r30 */) {} // Range: 0x80216DAC -> 0x80216DB8 char * BotbBattleResultsByBandInfo::CarrotInfo() {} // Range: 0x80216DB8 -> 0x80216DC4 int BotbBattleResultsByBandInfo::OverallRank() {} // Range: 0x80216DC4 -> 0x80216DD0 int BotbBattleResultsByBandInfo::TotalRanked() {} // Range: 0x80216DD0 -> 0x80216E4C class BinStream & __ls(class BinStream & s /* r30 */, const class BotbBattleResultsByBandInfo & brbi /* r31 */) {} // Range: 0x80216E4C -> 0x80216EB8 class BinStream & __rs(class BinStream & s /* r30 */, class BotbBattleResultsByBandInfo & brbi /* r31 */) {} class RBBotbPlayBattleResponse : public _DDL_RBBotbPlayBattleResponse { // total size: 0x30 }; // Range: 0x80216EB8 -> 0x80216F54 void * BotbPlayBattleResponse::BotbPlayBattleResponse(class BotbPlayBattleResponse * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q26Quazal24RBBotbPlayBattleResponse; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal29_DDL_RBBotbPlayBattleResponse; } class _DDL_RBBotbPlayBattleResponse : public RootObject { // total size: 0x30 public: void * __vptr$; // offset 0x0, size 0x4 unsigned char mCanPlay; // offset 0x4, size 0x1 class String mRivalBandName; // offset 0x8, size 0x4 unsigned int mRivalBandScore; // offset 0xC, size 0x4 unsigned int mRivalBandStars; // offset 0x10, size 0x4 class RBPlatformGuid mRivalBandLeader; // offset 0x18, size 0x10 class String mLogoName; // offset 0x28, size 0x4 }; // Range: 0x80216F54 -> 0x80216FDC void * BotbPlayBattleResponse::~BotbPlayBattleResponse(class BotbPlayBattleResponse * const this /* r30 */) {} // Range: 0x80217070 -> 0x802170B8 void BotbPlayBattleResponse::Clear(class BotbPlayBattleResponse * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x802170B8 -> 0x802170C4 unsigned char BotbPlayBattleResponse::CanPlay() {} // Range: 0x802170C4 -> 0x802170D0 char * BotbPlayBattleResponse::RivalBandName() {} // Range: 0x802170D0 -> 0x802170DC int BotbPlayBattleResponse::RivalBandScore() {} // Range: 0x802170DC -> 0x802170E8 int BotbPlayBattleResponse::RivalBandStars() {} // Range: 0x802170E8 -> 0x802170F4 char * BotbPlayBattleResponse::RivalBandLogoName() {} // Range: 0x802170F4 -> 0x802171D0 class BinStream & __ls(class BinStream & s /* r30 */, const class BotbPlayBattleResponse & pbr /* r31 */) {} // Range: 0x802171D0 -> 0x802172A0 class BinStream & __rs(class BinStream & s /* r29 */, class BotbPlayBattleResponse & pbr /* r30 */) {} class RBBotbRecordBattleResponse : public _DDL_RBBotbRecordBattleResponse { // total size: 0x18 }; // Range: 0x802172A0 -> 0x80217324 void * BotbRecordBattleResponse::BotbRecordBattleResponse(class BotbRecordBattleResponse * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q26Quazal26RBBotbRecordBattleResponse; // -> struct [anonymous] __vt__Q26Quazal31_DDL_RBBotbRecordBattleResponse; } class _DDL_RBBotbRecordBattleResponse : public RootObject { // total size: 0x18 public: void * __vptr$; // offset 0x0, size 0x4 class String mPerformanceInfo; // offset 0x4, size 0x4 unsigned int mApproxOverallRank; // offset 0x8, size 0x4 class String mCarrotInfo; // offset 0xC, size 0x4 class String mLogoName; // offset 0x10, size 0x4 class String mNewsCookies; // offset 0x14, size 0x4 }; // Range: 0x80217324 -> 0x80217398 void * BotbRecordBattleResponse::~BotbRecordBattleResponse(class BotbRecordBattleResponse * const this /* r30 */) {} // Range: 0x80217428 -> 0x80217434 char * BotbRecordBattleResponse::PerformanceInfo() {} // Range: 0x80217434 -> 0x80217440 unsigned int BotbRecordBattleResponse::ApproxOverallRank() {} // Range: 0x80217440 -> 0x8021744C char * BotbRecordBattleResponse::CarrotInfo() {} // Range: 0x8021744C -> 0x80217458 char * BotbRecordBattleResponse::GetCookies() {} class _DDL_RBBotbOpenBattleInfo : public RootObject { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int mBattleID; // offset 0x4, size 0x4 class String mShortName; // offset 0x8, size 0x4 class String mTitle; // offset 0xC, size 0x4 unsigned char mAlreadyPlayed; // offset 0x10, size 0x1 class String mShowIn; // offset 0x14, size 0x4 class String mVenueName; // offset 0x18, size 0x4 class String mArtFilename; // offset 0x1C, size 0x4 }; class RBBotbOpenBattleInfo : public _DDL_RBBotbOpenBattleInfo { // total size: 0x20 }; // Range: 0x80217458 -> 0x80217504 void * BotbOpenBattleRow::BotbOpenBattleRow(class BotbOpenBattleRow * const this /* r30 */, class RBBotbOpenBattleInfo * result /* r31 */) {} class qList : public list, public RootObject { // total size: 0x8 }; class RBBotbOpenBattlesQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; // Range: 0x80217504 -> 0x8021759C void * BotbOpenBattlesList::BotbOpenBattlesList(class BotbOpenBattlesList * const this /* r30 */) { // References // -> struct [anonymous] __vt__19BotbOpenBattlesList; } class _List_node : public _List_node_base { // total size: 0x28 public: class RBBotbOpenBattleInfo _M_data; // offset 0x8, size 0x20 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x8021759C -> 0x8021763C void * BotbOpenBattlesList::~BotbOpenBattlesList(class BotbOpenBattlesList * const this /* r29 */) { // References // -> struct [anonymous] __vt__19BotbOpenBattlesList; } // Range: 0x8021763C -> 0x8021767C void BotbOpenBattlesList::Clear(class BotbOpenBattlesList * const this /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8021767C -> 0x80217800 void BotbOpenBattlesList::Update(class BotbOpenBattlesList * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node<17BotbOpenBattleRow>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std31_List_node<17BotbOpenBattleRow>; // size: 0x8, address: 0x808ADD90 class _DDL_RBBotbBattleParticipatedIn : public RootObject { // total size: 0x1C public: void * __vptr$; // offset 0x0, size 0x4 unsigned int mBattleID; // offset 0x4, size 0x4 class String mBattleName; // offset 0x8, size 0x4 unsigned int mBandRank; // offset 0xC, size 0x4 unsigned char mBattleOpen; // offset 0x10, size 0x1 class String mArtFilename; // offset 0x14, size 0x4 unsigned int mNumPostedScores; // offset 0x18, size 0x4 }; class RBBotbBattleParticipatedIn : public _DDL_RBBotbBattleParticipatedIn { // total size: 0x1C }; // Range: 0x80217800 -> 0x80217880 void * BotbBattlesParticipatedInRow::BotbBattlesParticipatedInRow(class BotbBattlesParticipatedInRow * const this /* r30 */, class RBBotbBattleParticipatedIn * result /* r31 */) {} class qList : public list, public RootObject { // total size: 0x8 }; class RBBotbBattlesParticipatedInQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; // Range: 0x80217880 -> 0x80217918 void * BotbBattlesParticipatedInList::BotbBattlesParticipatedInList(class BotbBattlesParticipatedInList * const this /* r30 */) { // References // -> struct [anonymous] __vt__29BotbBattlesParticipatedInList; } class _List_node : public _List_node_base { // total size: 0x24 public: class RBBotbBattleParticipatedIn _M_data; // offset 0x8, size 0x1C }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80217918 -> 0x802179B8 void * BotbBattlesParticipatedInList::~BotbBattlesParticipatedInList(class BotbBattlesParticipatedInList * const this /* r29 */) { // References // -> struct [anonymous] __vt__29BotbBattlesParticipatedInList; } // Range: 0x802179B8 -> 0x802179F8 void BotbBattlesParticipatedInList::Clear(class BotbBattlesParticipatedInList * const this /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802179F8 -> 0x80217B44 void BotbBattlesParticipatedInList::Update(class BotbBattlesParticipatedInList * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std42_List_node<28BotbBattlesParticipatedInRow>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std42_List_node<28BotbBattlesParticipatedInRow>; // size: 0x8, address: 0x808ADDF0 // Range: 0x80217B44 -> 0x80217BA8 class list * BotbBattlesParticipatedInList::GetRowList(const class BotbBattlesParticipatedInList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class _DDL_RBBotbCityWithBattle : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 class String mVenueName; // offset 0x4, size 0x4 }; class RBBotbCityWithBattle : public _DDL_RBBotbCityWithBattle { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class _List_node : public _List_node_base { // total size: 0x10 public: class RBBotbCityWithBattle _M_data; // offset 0x8, size 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class _DDL_RBBotbBattleRow : public RootObject { // total size: 0x2C public: void * __vptr$; // offset 0x0, size 0x4 class String mName; // offset 0x4, size 0x4 unsigned int mScore; // offset 0x8, size 0x4 unsigned int mStars; // offset 0xC, size 0x4 unsigned int mOverallRank; // offset 0x10, size 0x4 class RBGuid mBandGuid; // offset 0x14, size 0x14 class String mLogoName; // offset 0x28, size 0x4 }; class RBBotbBattleRow : public _DDL_RBBotbBattleRow { // total size: 0x2C }; // Range: 0x80217BA8 -> 0x80217C2C void * BotbBattleResultsRow::BotbBattleResultsRow(class BotbBattleResultsRow * const this /* r30 */, class RBBotbBattleRow * result /* r31 */) {} // Range: 0x80217C2C -> 0x80217C78 void * BotbBattleResultsRow::BotbBattleResultsRow(class BotbBattleResultsRow * const this /* r31 */) {} // Range: 0x80217C78 -> 0x80217CEC void * BotbBattleResultsRow::~BotbBattleResultsRow(class BotbBattleResultsRow * const this /* r29 */) {} // Range: 0x80217CEC -> 0x80217D88 class BinStream & __ls(class BinStream & s /* r30 */, const class BotbBattleResultsRow & brr /* r31 */) {} // Range: 0x80217D88 -> 0x80217E0C class BinStream & __rs(class BinStream & s /* r30 */, class BotbBattleResultsRow & brr /* r31 */) {} class qList : public list, public RootObject { // total size: 0x8 }; class RBBotbBattleResultsQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; // Range: 0x80217E0C -> 0x80217EA4 void * BotbBattleResultsList::BotbBattleResultsList(class BotbBattleResultsList * const this /* r30 */) { // References // -> struct [anonymous] __vt__21BotbBattleResultsList; } class _List_node : public _List_node_base { // total size: 0x34 public: class RBBotbBattleRow _M_data; // offset 0x8, size 0x2C }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80217EA4 -> 0x80217F44 void * BotbBattleResultsList::~BotbBattleResultsList(class BotbBattleResultsList * const this /* r29 */) { // References // -> struct [anonymous] __vt__21BotbBattleResultsList; } // Range: 0x80217F44 -> 0x80217F84 void BotbBattleResultsList::Clear(class BotbBattleResultsList * const this /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80217F84 -> 0x802180B8 void BotbBattleResultsList::Update(class BotbBattleResultsList * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node<20BotbBattleResultsRow>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std34_List_node<20BotbBattleResultsRow>; // size: 0x8, address: 0x808ADE28 // Range: 0x802180B8 -> 0x8021811C class list * BotbBattleResultsList::GetRowList(const class BotbBattleResultsList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8021811C -> 0x80218174 class BinStream & __ls(class BinStream & s /* r30 */, const class BotbBattleResultsList & brl /* r31 */) {} // Range: 0x80218174 -> 0x802181D8 class BinStream & __rs(class BinStream & s /* r30 */, class BotbBattleResultsList & brl /* r31 */) {} class _DDL_RBBotbNewsItem : public RootObject { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 class String mNewsItem; // offset 0x4, size 0x4 class String mArtFilename; // offset 0x8, size 0x4 }; class RBBotbNewsItem : public _DDL_RBBotbNewsItem { // total size: 0xC }; // Range: 0x802181D8 -> 0x80218234 void * BotbNewsRow::BotbNewsRow(class BotbNewsRow * const this /* r30 */, class RBBotbNewsItem * result /* r31 */) {} class qList : public list, public RootObject { // total size: 0x8 }; class RBBotbNewsQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; // Range: 0x80218234 -> 0x80218314 void * BotbNewsList::BotbNewsList(class BotbNewsList * const this /* r30 */) { // References // -> struct [anonymous] __vt__12BotbNewsList; } class _List_node : public _List_node_base { // total size: 0x14 public: class RBBotbNewsItem _M_data; // offset 0x8, size 0xC }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80218314 -> 0x802183E0 void * BotbNewsList::~BotbNewsList(class BotbNewsList * const this /* r29 */) { // References // -> struct [anonymous] __vt__12BotbNewsList; } // Range: 0x802183E0 -> 0x80218420 void BotbNewsList::Clear(class BotbNewsList * const this /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80218420 -> 0x802185AC void BotbNewsList::Update(class BotbNewsList * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std25_List_node<11BotbNewsRow>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std25_List_node<11BotbNewsRow>; // size: 0x8, address: 0x808ADE58 // Range: 0x802185AC -> 0x80218610 class list * BotbNewsList::GetRowList(const class BotbNewsList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xC } __vt__Q26Quazal26RBBotbRecordBattleResponse; // size: 0xC, address: 0x808ADE60 struct { // total size: 0x8 } __RTTI__Q26Quazal26RBBotbRecordBattleResponse; // size: 0x8, address: 0x808ADEA8 struct { // total size: 0xC } __vt__Q26Quazal31_DDL_RBBotbRecordBattleResponse; // size: 0xC, address: 0x808ADEB0 struct { // total size: 0x8 } __RTTI__Q26Quazal31_DDL_RBBotbRecordBattleResponse; // size: 0x8, address: 0x808ADEF8 struct { // total size: 0xC } __vt__Q26Quazal24RBBotbPlayBattleResponse; // size: 0xC, address: 0x808ADF00 struct { // total size: 0x8 } __RTTI__Q26Quazal24RBBotbPlayBattleResponse; // size: 0x8, address: 0x808ADF48 struct { // total size: 0xC } __vt__Q26Quazal29_DDL_RBBotbPlayBattleResponse; // size: 0xC, address: 0x808ADF50 struct { // total size: 0x8 } __RTTI__Q26Quazal29_DDL_RBBotbPlayBattleResponse; // size: 0x8, address: 0x808ADF90 struct { // total size: 0xC } __vt__Q26Quazal29RBBotbBattleResultsByBandInfo; // size: 0xC, address: 0x808ADF98 struct { // total size: 0x8 } __RTTI__Q26Quazal29RBBotbBattleResultsByBandInfo; // size: 0x8, address: 0x808ADFE0 struct { // total size: 0xC } __vt__Q26Quazal34_DDL_RBBotbBattleResultsByBandInfo; // size: 0xC, address: 0x808ADFE8 struct { // total size: 0x8 } __RTTI__Q26Quazal34_DDL_RBBotbBattleResultsByBandInfo; // size: 0x8, address: 0x808AE030 struct { // total size: 0xC } __vt__Q26Quazal19RBBotbBattleDetails; // size: 0xC, address: 0x808AE038 struct { // total size: 0x8 } __RTTI__Q26Quazal19RBBotbBattleDetails; // size: 0x8, address: 0x808AE078 struct { // total size: 0xC } __vt__Q26Quazal24_DDL_RBBotbBattleDetails; // size: 0xC, address: 0x808AE080 struct { // total size: 0x8 } __RTTI__Q26Quazal24_DDL_RBBotbBattleDetails; // size: 0x8, address: 0x808AE0C0 struct { // total size: 0xC } __vt__Q26Quazal14RBPlatformGuid; // size: 0xC, address: 0x808AE0C8 struct { // total size: 0x8 } __RTTI__Q26Quazal14RBPlatformGuid; // size: 0x8, address: 0x808AE100 struct { // total size: 0xC } __vt__Q26Quazal19_DDL_RBPlatformGuid; // size: 0xC, address: 0x808AE108 struct { // total size: 0x8 } __RTTI__Q26Quazal19_DDL_RBPlatformGuid; // size: 0x8, address: 0x808AE140 struct { // total size: 0x8 } __RTTI__Q26Quazal10RootObject; // size: 0x8, address: 0x808AE160 struct { // total size: 0x14 } __vt__12BotbNewsList; // size: 0x14, address: 0x808AE168 struct { // total size: 0x8 } __RTTI__12BotbNewsList; // size: 0x8, address: 0x808AE198 struct { // total size: 0x14 } __vt__21BotbBattleResultsList; // size: 0x14, address: 0x808AE1A0 struct { // total size: 0x8 } __RTTI__21BotbBattleResultsList; // size: 0x8, address: 0x808AE1D8 struct { // total size: 0x14 } __vt__29BotbBattlesParticipatedInList; // size: 0x14, address: 0x808AE1E0 struct { // total size: 0x8 } __RTTI__29BotbBattlesParticipatedInList; // size: 0x8, address: 0x808AE220 struct { // total size: 0x14 } __vt__19BotbOpenBattlesList; // size: 0x14, address: 0x808AE228 struct { // total size: 0x8 } __RTTI__19BotbOpenBattlesList; // size: 0x8, address: 0x808AE260 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218650 -> 0x80218758 */ // Range: 0x80218650 -> 0x802186A4 char * BotbBattleSongInfo::Artist(const class BotbBattleSongInfo * const this /* r30 */) { // Local variables const char * retVal; // r31 } // Range: 0x802186A4 -> 0x80218758 enum WinMetric BotbBattleDetails::GetWinMetric() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218758 -> 0x802187BC */ // Range: 0x80218758 -> 0x802187BC class list * BotbOpenBattlesList::GetRowList(const class BotbOpenBattlesList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleDetailsDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802187BC -> 0x80218898 */ // Range: 0x802187BC -> 0x80218898 void * _DDL_RBBotbBattleDetails::~_DDL_RBBotbBattleDetails(class _DDL_RBBotbBattleDetails * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218898 -> 0x802188F8 */ // Range: 0x80218898 -> 0x802188F8 char * MakeString(const char * fmt /* r0 */, char t1 /* r30 */, const char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802188F8 -> 0x80218BF0 */ // Range: 0x802188F8 -> 0x802189CC class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x802189CC -> 0x80218A74 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 } // Range: 0x80218A74 -> 0x80218B48 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x80218B48 -> 0x80218BF0 class BinStream & __rs(class BinStream & d /* r30 */, class list & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 } /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleResultsByBandInfoDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218BF0 -> 0x80218C50 */ // Range: 0x80218BF0 -> 0x80218C50 void * _DDL_RBBotbBattleResultsByBandInfo::~_DDL_RBBotbBattleResultsByBandInfo(class _DDL_RBBotbBattleResultsByBandInfo * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBPlatformGuidDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218C50 -> 0x80218D14 */ // Range: 0x80218C50 -> 0x80218CB0 void * _DDL_RBPlatformGuid::~_DDL_RBPlatformGuid(class _DDL_RBPlatformGuid * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbPlayBattleResponseDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218D14 -> 0x80218DA4 */ // Range: 0x80218D14 -> 0x80218DA4 void * _DDL_RBBotbPlayBattleResponse::~_DDL_RBBotbPlayBattleResponse(class _DDL_RBBotbPlayBattleResponse * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbRecordBattleResponseDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218DA4 -> 0x80218E30 */ // Range: 0x80218DA4 -> 0x80218E30 void * _DDL_RBBotbRecordBattleResponse::~_DDL_RBBotbRecordBattleResponse(class _DDL_RBBotbRecordBattleResponse * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80218E30 -> 0x80219A00 */ // Range: 0x80218E30 -> 0x80218FE0 void list::resize(const class BotbBattleResultsRow & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node<20BotbBattleResultsRow>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80218FE0 -> 0x80219164 void list::resize(const class BotbBattleSongInfo & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std32_List_node<18BotbBattleSongInfo>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80219164 -> 0x802191F0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x802191F0 -> 0x8021927C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x8021927C -> 0x80219308 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x80219308 -> 0x80219394 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x80219394 -> 0x80219420 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x80219420 -> 0x802194AC void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x802194AC -> 0x80219544 void _List_base::clear(class _List_base * const this /* r28 */) { // Local variables class _List_node * __cur; // r30 class _List_node * __tmp; // r29 } // Range: 0x80219544 -> 0x802195C0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x802195C0 -> 0x80219658 void _List_base::clear(class _List_base * const this /* r28 */) { // Local variables class _List_node * __cur; // r30 class _List_node * __tmp; // r29 } // Range: 0x80219658 -> 0x80219714 void _List_base::clear(class _List_base * const this /* r28 */) { // Local variables class _List_node * __cur; // r30 class _List_node * __tmp; // r29 } /* Compile unit: C:\rockband2\band2\src\net_band\RBBandDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219A00 -> 0x80219B88 */ class _DDL_RBBand : public RootObject { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int mLeaderID; // offset 0x4, size 0x4 class String mName; // offset 0x8, size 0x4 class String mMotto; // offset 0xC, size 0x4 class String mHometown; // offset 0x10, size 0x4 class String mLogoName; // offset 0x14, size 0x4 unsigned int mStars; // offset 0x18, size 0x4 unsigned int mStarRating; // offset 0x1C, size 0x4 unsigned int mDiffRating; // offset 0x20, size 0x4 unsigned int mTotalScore; // offset 0x24, size 0x4 }; // Range: 0x80219A00 -> 0x80219AC4 void _DDL_RBBand::Add(class Message * pMessageToSend /* r30 */, const class _DDL_RBBand & oValue /* r31 */) {} // Range: 0x80219AC4 -> 0x80219B88 void _DDL_RBBand::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBand * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBAdminDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219B88 -> 0x80219B88 */ class ScopedCS : public RootObject { // total size: 0x8 unsigned char m_bInScope; // offset 0x0, size 0x1 class CriticalSection * m_pCS; // offset 0x4, size 0x4 }; class CallbackRoot : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; struct { // total size: 0x8 } __RTTI__Q26Quazal14ServerProtocol; // size: 0x8, address: 0x808AE2A8 struct { // total size: 0x8 } __RTTI__Q26Quazal14ClientProtocol; // size: 0x8, address: 0x808AE2F0 struct { // total size: 0x8 } __RTTI__Q26Quazal8Protocol; // size: 0x8, address: 0x808AE328 struct { // total size: 0x8 } __RTTI__Q26Quazal15SystemComponent; // size: 0x8, address: 0x808AE360 struct { // total size: 0x8 } __RTTI__Q26Quazal16RefCountedObject; // size: 0x8, address: 0x808AE390 unsigned char s_bNoOp; // size: 0x1, address: 0x80A55E50 class InstanceControl : public RootObject { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 protected: unsigned int m_icInstanceContext; // offset 0x4, size 0x4 unsigned int m_icInstanceType; // offset 0x8, size 0x4 void * m_pDelegatorInstance; // offset 0xC, size 0x4 unsigned char m_bIsValid; // offset 0x10, size 0x1 }; class InstantiationContext : public RootObject { // total size: 0x30 class InstanceControl * m_icInstanceContext[11]; // offset 0x0, size 0x2C unsigned char m_IsValid; // offset 0x2C, size 0x1 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x4 public: class InstantiationContext * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class InstantiationContext * * _M_start; // offset 0x0, size 0x4 class InstantiationContext * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class qVector : public vector, public RootObject { // total size: 0xC }; class InstanceTable : public RootObject { // total size: 0x34 class InstantiationContext m_oDefaultContext; // offset 0x0, size 0x30 class qVector * m_pvContextVector; // offset 0x30, size 0x4 }; class InstanceTable s_oInstanceTable; // size: 0x34, address: 0x80A44034 /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Platform\Core\ScopedCS.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219B88 -> 0x80219C00 */ // Range: 0x80219B88 -> 0x80219C00 void * ScopedCS::~ScopedCS(class ScopedCS * const this /* r30 */) { // References // -> unsigned char s_bNoOp; } /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Core\SystemComponent.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219C00 -> 0x80219C40 */ // Range: 0x80219C00 -> 0x80219C04 void SystemComponent::DoWork() {} // Range: 0x80219C04 -> 0x80219C0C enum _State SystemComponent::TestState() {} // Range: 0x80219C0C -> 0x80219C14 unsigned char SystemComponent::EndTermination() {} // Range: 0x80219C14 -> 0x80219C1C unsigned char SystemComponent::EndInitialization() {} // Range: 0x80219C1C -> 0x80219C2C void SystemComponent::OnTerminate() {} // Range: 0x80219C2C -> 0x80219C3C void SystemComponent::OnInitialize() {} // Range: 0x80219C3C -> 0x80219C40 void SystemComponent::StateTransition() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Protocol\Protocol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219C40 -> 0x80219C50 */ // Range: 0x80219C40 -> 0x80219C48 class Protocol * Protocol::Clone() {} // Range: 0x80219C48 -> 0x80219C4C void Protocol::FaultDetected() {} // Range: 0x80219C4C -> 0x80219C50 void Protocol::EndPointDisconnected() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Protocol\ServerProtocol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219C50 -> 0x80219CA4 */ // Range: 0x80219C50 -> 0x80219C58 enum _Type ServerProtocol::GetProtocolType() {} // Range: 0x80219C58 -> 0x80219C94 unsigned char ServerProtocol::IsAKindOf() {} // Range: 0x80219C94 -> 0x80219CA0 char * ServerProtocol::GetType() {} // Range: 0x80219CA0 -> 0x80219CA4 void ServerProtocol::EnforceDeclareSysComponentMacro() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Protocol\ClientProtocol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219CA4 -> 0x80219CF8 */ // Range: 0x80219CA4 -> 0x80219CAC enum _Type ClientProtocol::GetProtocolType() {} // Range: 0x80219CAC -> 0x80219CE8 unsigned char ClientProtocol::IsAKindOf() {} // Range: 0x80219CE8 -> 0x80219CF4 char * ClientProtocol::GetType() {} // Range: 0x80219CF4 -> 0x80219CF8 void ClientProtocol::EnforceDeclareSysComponentMacro() {} /* Compile unit: C:\rockband2\band2\src\net_band\RBConfigDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80219CF8 -> 0x8021A130 */ class RBConfigClient : public ClientProtocol { // total size: 0x38 }; // Range: 0x80219CF8 -> 0x80219F44 unsigned char RBConfigClient::CallGetConfig(class RBConfigClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const class String & inDTA /* r29 */, class String * sandboxVersion /* r30 */, class String * outDTA /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80219F44 -> 0x8021A0D0 void RBConfigClient::ExtractCallSpecificResults(class Message * pMessage /* r27 */, class ProtocolCallContext * pContext /* r28 */) { // Local variables unsigned short uiRMCID; // r4 } struct { // total size: 0x64 } __vt__Q26Quazal14RBConfigClient; // size: 0x64, address: 0x808AE3E0 struct { // total size: 0x8 } __RTTI__Q26Quazal14RBConfigClient; // size: 0x8, address: 0x808AE488 /* Compile unit: C:\rockband2\band2\src\net_band\RBBandMemberDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021A130 -> 0x8021A184 */ class _DDL_RBBandMember : public RootObject { // total size: 0x30 public: void * __vptr$; // offset 0x0, size 0x4 class String mName; // offset 0x4, size 0x4 class RBGuid mGuid; // offset 0x8, size 0x14 class RBPlatformGuid mPlatformGuid; // offset 0x20, size 0x10 }; // Range: 0x8021A130 -> 0x8021A184 void _DDL_RBBandMember::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBandMember * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBandTopScoreDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021A184 -> 0x8021A264 */ class _DDL_RBBandTopScore : public RootObject { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 class String mShortName; // offset 0x4, size 0x4 class String mFullName; // offset 0x8, size 0x4 unsigned int mScore; // offset 0xC, size 0x4 unsigned int mStars; // offset 0x10, size 0x4 }; // Range: 0x8021A184 -> 0x8021A1F4 void _DDL_RBBandTopScore::Add(class Message * pMessageToSend /* r30 */, const class _DDL_RBBandTopScore & oValue /* r31 */) {} // Range: 0x8021A1F4 -> 0x8021A264 void _DDL_RBBandTopScore::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBandTopScore * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBandResultsDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021A264 -> 0x8021A2E8 */ // Range: 0x8021A264 -> 0x8021A2E8 void _DDL_RBBandResults::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBandResults * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBCharacterDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021A2E8 -> 0x8021A490 */ class _DDL_RBCharacter : public RootObject { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int mPrincipalID; // offset 0x4, size 0x4 class String mName; // offset 0x8, size 0x4 class String mHometown; // offset 0xC, size 0x4 class Buffer mOutfit; // offset 0x10, size 0x14 unsigned int mCash; // offset 0x24, size 0x4 }; // Range: 0x8021A2E8 -> 0x8021A3A8 void _DDL_RBCharacter::Add(class Message * pMessageToSend /* r29 */, const class _DDL_RBCharacter & oValue /* r30 */) {} // Range: 0x8021A3A8 -> 0x8021A490 void _DDL_RBCharacter::Extract(class Message * pReceivedMessage /* r29 */, class _DDL_RBCharacter * pValue /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBEntitiesDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021A490 -> 0x8021BAE4 */ class RBEntitiesClient : public ClientProtocol { // total size: 0x38 }; class qList : public list, public RootObject { // total size: 0x8 }; class RBBand : public _DDL_RBBand { // total size: 0x28 }; class qList : public list, public RootObject { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class RBCharacter : public _DDL_RBCharacter { // total size: 0x28 }; class qList : public list, public RootObject { // total size: 0x8 }; // Range: 0x8021A490 -> 0x8021A704 unsigned char RBEntitiesClient::CallUpdateCharacter(class RBEntitiesClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const class RBGuid & charGuid /* r27 */, const class RBCharacter & charData /* r28 */, const signed char & checkFlags /* r29 */, signed char * returnCode /* r30 */, unsigned int * charID /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r24 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021A704 -> 0x8021A950 unsigned char RBEntitiesClient::CallUpdateCharSecData(class RBEntitiesClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const class RBGuid & charGuid /* r29 */, const unsigned int & cash /* r30 */, unsigned int * charID /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021A950 -> 0x8021AD24 unsigned char RBEntitiesClient::CallUpdateBand(class RBEntitiesClient * const this /* r22 */, class ProtocolCallContext * pContext /* r23 */, const class RBGuid & bandGuid /* r24 */, const class RBBand & bandData /* r25 */, const signed char & checkFlags /* r26 */, const class qList & members /* r27 */, const class qList & topScores /* r28 */, signed char * returnCode /* r29 */, unsigned int * bandID /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x78 class Message msgRequest; // r1+0x80 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021AD24 -> 0x8021AF70 unsigned char RBEntitiesClient::CallIsLegalCharacterName(class RBEntitiesClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const class String & charName /* r29 */, const signed char & checkFlags /* r30 */, signed char * returnCode /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021AF70 -> 0x8021B1BC unsigned char RBEntitiesClient::CallIsLegalBandName(class RBEntitiesClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const class String & bandName /* r29 */, const signed char & checkFlags /* r30 */, signed char * returnCode /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021B1BC -> 0x8021B408 unsigned char RBEntitiesClient::CallIsLegalBandMotto(class RBEntitiesClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const class String & motto /* r29 */, const signed char & checkFlags /* r30 */, signed char * returnCode /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021B408 -> 0x8021B6CC unsigned char RBEntitiesClient::CallGetBand(class RBEntitiesClient * const this /* r22 */, class ProtocolCallContext * pContext /* r23 */, const class RBGuid & bandGuid /* r24 */, class RBBand * bandData /* r25 */, class DateTime * createDate /* r26 */, unsigned int * fans /* r27 */, unsigned int * careerScore /* r28 */, class RBPlatformGuid * ownerInfo /* r29 */, class qList * members /* r30 */, class qList * topScores /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r21 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021B6CC -> 0x8021B9A0 unsigned char RBEntitiesClient::CallGetPresenceInfo(class RBEntitiesClient * const this /* r28 */, class ProtocolCallContext * pContext /* r29 */, const class qList & memlist /* r30 */, class qList * onlinelist /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r27 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } class _List_node : public _List_node_base { // total size: 0x1C public: class RBGuid _M_data; // offset 0x8, size 0x14 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class RBBandTopScore : public _DDL_RBBandTopScore { // total size: 0x14 }; class _List_node : public _List_node_base { // total size: 0x1C public: class RBBandTopScore _M_data; // offset 0x8, size 0x14 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class RBBandMember : public _DDL_RBBandMember { // total size: 0x30 }; class _List_node : public _List_node_base { // total size: 0x38 public: class RBBandMember _M_data; // offset 0x8, size 0x30 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class _List_node : public _List_node_base { // total size: 0x18 public: class RBPlatformGuid _M_data; // offset 0x8, size 0x10 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x8021B9A0 -> 0x8021BAE4 void RBEntitiesClient::ExtractCallSpecificResults(class Message * pMessage /* r30 */, class ProtocolCallContext * pContext /* r31 */) { // Local variables unsigned short uiRMCID; // r3 } struct { // total size: 0x64 } __vt__Q26Quazal16RBEntitiesClient; // size: 0x64, address: 0x808AE4BC struct { // total size: 0x8 } __RTTI__Q26Quazal16RBEntitiesClient; // size: 0x8, address: 0x808AE568 struct { // total size: 0xC } __vt__Q26Quazal14RBPresenceInfo; // size: 0xC, address: 0x808AE570 struct { // total size: 0x8 } __RTTI__Q26Quazal14RBPresenceInfo; // size: 0x8, address: 0x808AE5A8 struct { // total size: 0xC } __vt__Q26Quazal19_DDL_RBPresenceInfo; // size: 0xC, address: 0x808AE5B0 struct { // total size: 0x8 } __RTTI__Q26Quazal19_DDL_RBPresenceInfo; // size: 0x8, address: 0x808AE5E8 struct { // total size: 0xC } __vt__Q26Quazal12RBBandMember; // size: 0xC, address: 0x808AE5F0 struct { // total size: 0x8 } __RTTI__Q26Quazal12RBBandMember; // size: 0x8, address: 0x808AE628 struct { // total size: 0xC } __vt__Q26Quazal17_DDL_RBBandMember; // size: 0xC, address: 0x808AE630 struct { // total size: 0x8 } __RTTI__Q26Quazal17_DDL_RBBandMember; // size: 0x8, address: 0x808AE668 struct { // total size: 0xC } __vt__Q26Quazal14RBBandTopScore; // size: 0xC, address: 0x808AE670 struct { // total size: 0x8 } __RTTI__Q26Quazal14RBBandTopScore; // size: 0x8, address: 0x808AE6A8 struct { // total size: 0xC } __vt__Q26Quazal19_DDL_RBBandTopScore; // size: 0xC, address: 0x808AE6B0 struct { // total size: 0x8 } __RTTI__Q26Quazal19_DDL_RBBandTopScore; // size: 0x8, address: 0x808AE6E8 struct { // total size: 0xC } __vt__Q26Quazal6RBBand; // size: 0xC, address: 0x808AE6F0 struct { // total size: 0x8 } __RTTI__Q26Quazal6RBBand; // size: 0x8, address: 0x808AE720 struct { // total size: 0xC } __vt__Q26Quazal11_DDL_RBBand; // size: 0xC, address: 0x808AE728 struct { // total size: 0x8 } __RTTI__Q26Quazal11_DDL_RBBand; // size: 0x8, address: 0x808AE758 struct { // total size: 0xC } __vt__Q26Quazal11RBCharacter; // size: 0xC, address: 0x808AE760 struct { // total size: 0x8 } __RTTI__Q26Quazal11RBCharacter; // size: 0x8, address: 0x808AE798 struct { // total size: 0xC } __vt__Q26Quazal16_DDL_RBCharacter; // size: 0xC, address: 0x808AE7A0 struct { // total size: 0x8 } __RTTI__Q26Quazal16_DDL_RBCharacter; // size: 0x8, address: 0x808AE7D8 struct { // total size: 0xC } __vt__Q26Quazal6RBGuid; // size: 0xC, address: 0x808AE7E0 struct { // total size: 0x8 } __RTTI__Q26Quazal6RBGuid; // size: 0x8, address: 0x808AE810 struct { // total size: 0xC } __vt__Q26Quazal11_DDL_RBGuid; // size: 0xC, address: 0x808AE818 struct { // total size: 0x8 } __RTTI__Q26Quazal11_DDL_RBGuid; // size: 0x8, address: 0x808AE848 /* Compile unit: C:\rockband2\band2\src\net_band\RBGuidDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021BAE4 -> 0x8021BB64 */ // Range: 0x8021BAE4 -> 0x8021BB24 void * _DDL_RBGuid::~_DDL_RBGuid(class _DDL_RBGuid * const this /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBCharacterDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021BB64 -> 0x8021BC68 */ // Range: 0x8021BB64 -> 0x8021BBE4 void * _DDL_RBCharacter::~_DDL_RBCharacter(class _DDL_RBCharacter * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBandDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021BC68 -> 0x8021BD84 */ // Range: 0x8021BC68 -> 0x8021BCF4 void * _DDL_RBBand::~_DDL_RBBand(class _DDL_RBBand * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBandTopScoreDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021BE3C -> 0x8021BF28 */ // Range: 0x8021BE3C -> 0x8021BEB0 void * _DDL_RBBandTopScore::~_DDL_RBBandTopScore(class _DDL_RBBandTopScore * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBEntitiesDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021BF28 -> 0x8021D3E0 */ // Range: 0x8021BF28 -> 0x8021BFE0 void RBEntitiesClient::ProtoReturn_UpdatePlayer(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class String * pReturnLocation; // r0 int i; // r30 class String oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x8021BFE0 -> 0x8021C104 void RBEntitiesClient::ProtoReturn_UpdateCharacter(class Message * pMsg /* r27 */, class ProtocolCallContext * pContext /* r28 */) { // Local variables int iArgIndex; // r30 signed char * pReturnLocation; // r0 int i; // r29 signed char oDummyVar[1]; // r1+0x8 int i; // r29 unsigned int * pReturnLocation; // r0 int i; // r29 unsigned int oDummyVar[1]; // r1+0xC int i; // r29 } // Range: 0x8021C104 -> 0x8021C1B4 void RBEntitiesClient::ProtoReturn_UpdateCharSecData(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 unsigned int * pReturnLocation; // r0 int i; // r30 unsigned int oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x8021C1B4 -> 0x8021C2D8 void RBEntitiesClient::ProtoReturn_UpdateBand(class Message * pMsg /* r27 */, class ProtocolCallContext * pContext /* r28 */) { // Local variables int iArgIndex; // r30 signed char * pReturnLocation; // r0 int i; // r29 signed char oDummyVar[1]; // r1+0x8 int i; // r29 unsigned int * pReturnLocation; // r0 int i; // r29 unsigned int oDummyVar[1]; // r1+0xC int i; // r29 } // Range: 0x8021C2D8 -> 0x8021C380 void RBEntitiesClient::ProtoReturn_IsLegalCharacterName(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 signed char * pReturnLocation; // r0 int i; // r30 signed char oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x8021C380 -> 0x8021C428 void RBEntitiesClient::ProtoReturn_IsLegalBandName(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 signed char * pReturnLocation; // r0 int i; // r30 signed char oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x8021C428 -> 0x8021C4D0 void RBEntitiesClient::ProtoReturn_IsLegalBandMotto(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 signed char * pReturnLocation; // r0 int i; // r30 signed char oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x8021C4D0 -> 0x8021CDFC void RBEntitiesClient::ProtoReturn_GetBand(class Message * pMsg /* r30 */, class ProtocolCallContext * pContext /* r31 */) { // Local variables int iArgIndex; // r20 class RBBand * pReturnLocation; // r0 int i; // r19 class RBBand oDummyVar[1]; // r1+0x120 int i; // r18 class DateTime * pReturnLocation; // r0 int i; // r19 class DateTime oDummyVar[1]; // r1+0x80 int i; // r18 unsigned int * pReturnLocation; // r0 int i; // r19 unsigned int oDummyVar[1]; // r1+0x2C int i; // r18 unsigned int * pReturnLocation; // r0 int i; // r19 unsigned int oDummyVar[1]; // r1+0x28 int i; // r18 class RBPlatformGuid * pReturnLocation; // r0 int i; // r19 class RBPlatformGuid oDummyVar[1]; // r1+0x88 int i; // r18 class qList * pReturnLocation; // r0 int i; // r19 class qList oDummyVar[1]; // r1+0x78 int i; // r19 class qList * pReturnLocation; // r0 int i; // r19 class qList oDummyVar[1]; // r1+0x70 int i; // r24 // References // -> struct [anonymous] __vt__Q26Quazal14RBBandTopScore; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBBandTopScore; // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal12RBBandMember; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal17_DDL_RBBandMember; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal6RBBand; // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBBand; } // Range: 0x8021CDFC -> 0x8021D070 void RBEntitiesClient::ProtoReturn_GetChar(class Message * pMsg /* r30 */, class ProtocolCallContext * pContext /* r31 */) { // Local variables int iArgIndex; // r28 class RBCharacter * pReturnLocation; // r0 int i; // r27 class RBCharacter oDummyVar[1]; // r1+0x58 int i; // r27 class DateTime * pReturnLocation; // r0 int i; // r27 class DateTime oDummyVar[1]; // r1+0x50 int i; // r27 class DateTime * pReturnLocation; // r0 int i; // r27 class DateTime oDummyVar[1]; // r1+0x48 int i; // r27 // References // -> struct [anonymous] __vt__Q26Quazal11RBCharacter; // -> struct [anonymous] __vt__Q26Quazal16_DDL_RBCharacter; } // Range: 0x8021D070 -> 0x8021D120 void RBEntitiesClient::ProtoReturn_UpdateBandSecData(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 unsigned int * pReturnLocation; // r0 int i; // r30 unsigned int oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x8021D120 -> 0x8021D3E0 void RBEntitiesClient::ProtoReturn_GetPresenceInfo(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r30 class qList oDummyVar[1]; // r1+0x28 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal14RBPresenceInfo; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPresenceInfo; } /* Compile unit: C:\rockband2\band2\src\net_band\RBBandMemberDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021D3E0 -> 0x8021D4DC */ // Range: 0x8021D3E0 -> 0x8021D45C void * _DDL_RBBandMember::~_DDL_RBBandMember(class _DDL_RBBandMember * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBPresenceInfoDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021D4DC -> 0x8021D548 */ // Range: 0x8021D4DC -> 0x8021D548 void * _DDL_RBPresenceInfo::~_DDL_RBPresenceInfo(class _DDL_RBPresenceInfo * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021D548 -> 0x8021D7D8 */ // Range: 0x8021D548 -> 0x8021D5D4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x8021D5D4 -> 0x8021D660 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x8021D660 -> 0x8021D6EC void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x8021D6EC -> 0x8021D778 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\band2\src\net_band\RBGuidDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021D7D8 -> 0x8021D8D8 */ // Range: 0x8021D7D8 -> 0x8021D858 void _DDL_RBGuid::Add(class Message * pMessageToSend /* r30 */, const class _DDL_RBGuid & oValue /* r31 */) {} // Range: 0x8021D858 -> 0x8021D8D8 void _DDL_RBGuid::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBGuid * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBLeaderboardsDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8021D8D8 -> 0x80220148 */ class RBLeaderboardsClient : public ClientProtocol { // total size: 0x38 }; // Range: 0x8021D8D8 -> 0x8021DB6C unsigned char RBLeaderboardsClient::CallGetSoloHighScoresByPlayer(class RBLeaderboardsClient * const this /* r24 */, class ProtocolCallContext * pContext /* r25 */, const unsigned int & principalID /* r26 */, const signed char & roleID /* r27 */, const class String & songName /* r28 */, const signed short & playersAround /* r29 */, const signed short & offset /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r23 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021DB6C -> 0x8021DDE8 unsigned char RBLeaderboardsClient::CallGetSoloHighScoresByRankRange(class RBLeaderboardsClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const signed char & roleID /* r27 */, const class String & songName /* r28 */, const unsigned int & topRank /* r29 */, const unsigned int & bottomRank /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r24 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021DDE8 -> 0x8021E0E4 unsigned char RBLeaderboardsClient::CallGetSoloHighScoresByFriends(class RBLeaderboardsClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const class qList & friends /* r27 */, const signed char & roleID /* r28 */, const class String & songName /* r29 */, class qList * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021E0E4 -> 0x8021E368 unsigned char RBLeaderboardsClient::CallGetSoloCareerHighScoresByPlayer(class RBLeaderboardsClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const unsigned int & principalID /* r27 */, const signed char & roleID /* r28 */, const signed short & playersAround /* r29 */, const signed short & offset /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r24 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021E368 -> 0x8021E5D4 unsigned char RBLeaderboardsClient::CallGetSoloCareerHighScoresByRankRange(class RBLeaderboardsClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const signed char & roleID /* r28 */, const unsigned int & topRank /* r29 */, const unsigned int & bottomRank /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r25 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021E5D4 -> 0x8021E8C0 unsigned char RBLeaderboardsClient::CallGetSoloCareerHighScoresByFriends(class RBLeaderboardsClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const class qList & friends /* r28 */, const signed char & roleID /* r29 */, class qList * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021E8C0 -> 0x8021EB34 unsigned char RBLeaderboardsClient::CallGetBandHighScoresByBand(class RBLeaderboardsClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const class RBGuid & bandGuid /* r27 */, const class String & songName /* r28 */, const signed short & playersAround /* r29 */, const signed short & offset /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r24 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021EB34 -> 0x8021ED98 unsigned char RBLeaderboardsClient::CallGetBandHighScoresByRankRange(class RBLeaderboardsClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const class String & songName /* r28 */, const unsigned int & topRank /* r29 */, const unsigned int & bottomRank /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r25 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021ED98 -> 0x8021F07C unsigned char RBLeaderboardsClient::CallGetBandHighScoresByFriends(class RBLeaderboardsClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const class qList & friends /* r28 */, const class String & songName /* r29 */, class qList * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021F07C -> 0x8021F2E0 unsigned char RBLeaderboardsClient::CallGetBandCareerHighScoresByBand(class RBLeaderboardsClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const class RBGuid & bandGuid /* r28 */, const signed short & playersAround /* r29 */, const signed short & offset /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r25 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021F2E0 -> 0x8021F534 unsigned char RBLeaderboardsClient::CallGetBandCareerHighScoresByRankRange(class RBLeaderboardsClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const unsigned int & topRank /* r29 */, const unsigned int & bottomRank /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021F534 -> 0x8021F808 unsigned char RBLeaderboardsClient::CallGetBandCareerHighScoresByFriends(class RBLeaderboardsClient * const this /* r28 */, class ProtocolCallContext * pContext /* r29 */, const class qList & friends /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r27 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021F808 -> 0x8021FA6C unsigned char RBLeaderboardsClient::CallGetBandFansByBand(class RBLeaderboardsClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const class RBGuid & bandGuid /* r28 */, const signed short & playersAround /* r29 */, const signed short & offset /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r25 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021FA6C -> 0x8021FCC0 unsigned char RBLeaderboardsClient::CallGetBandFansByRankRange(class RBLeaderboardsClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const unsigned int & topRank /* r29 */, const unsigned int & bottomRank /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8021FCC0 -> 0x8021FF94 unsigned char RBLeaderboardsClient::CallGetBandFansByFriends(class RBLeaderboardsClient * const this /* r28 */, class ProtocolCallContext * pContext /* r29 */, const class qList & friends /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r27 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } class qList : public list, public RootObject { // total size: 0x8 }; class RBSkillResults : public _DDL_RBSkillResults { // total size: 0x20 }; class _List_node : public _List_node_base { // total size: 0x28 public: class RBSkillResults _M_data; // offset 0x8, size 0x20 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x8021FF94 -> 0x80220148 void RBLeaderboardsClient::ExtractCallSpecificResults(class Message * pMessage /* r30 */, class ProtocolCallContext * pContext /* r31 */) { // Local variables unsigned short uiRMCID; // r3 } class _DDL_RBSkillResults : public RootObject { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 class String mPlayerName; // offset 0x4, size 0x4 long long mGuid; // offset 0x8, size 0x8 unsigned int mPrincipalID; // offset 0x10, size 0x4 unsigned int mRank; // offset 0x14, size 0x4 unsigned int mSkill; // offset 0x18, size 0x4 }; struct { // total size: 0x64 } __vt__Q26Quazal20RBLeaderboardsClient; // size: 0x64, address: 0x808AE898 struct { // total size: 0x8 } __RTTI__Q26Quazal20RBLeaderboardsClient; // size: 0x8, address: 0x808AE948 struct { // total size: 0xC } __vt__Q26Quazal14RBSkillResults; // size: 0xC, address: 0x808AE950 struct { // total size: 0x8 } __RTTI__Q26Quazal14RBSkillResults; // size: 0x8, address: 0x808AE988 struct { // total size: 0xC } __vt__Q26Quazal19_DDL_RBSkillResults; // size: 0xC, address: 0x808AE990 struct { // total size: 0x8 } __RTTI__Q26Quazal19_DDL_RBSkillResults; // size: 0x8, address: 0x808AE9C8 struct { // total size: 0xC } __vt__Q26Quazal13RBBandResults; // size: 0xC, address: 0x808AE9D0 struct { // total size: 0x8 } __RTTI__Q26Quazal13RBBandResults; // size: 0x8, address: 0x808AEA08 struct { // total size: 0xC } __vt__Q26Quazal18_DDL_RBBandResults; // size: 0xC, address: 0x808AEA10 struct { // total size: 0x8 } __RTTI__Q26Quazal18_DDL_RBBandResults; // size: 0x8, address: 0x808AEA48 struct { // total size: 0xC } __vt__Q26Quazal13RBSoloResults; // size: 0xC, address: 0x808AEA50 struct { // total size: 0x8 } __RTTI__Q26Quazal13RBSoloResults; // size: 0x8, address: 0x808AEA88 struct { // total size: 0xC } __vt__Q26Quazal18_DDL_RBSoloResults; // size: 0xC, address: 0x808AEA90 struct { // total size: 0x8 } __RTTI__Q26Quazal18_DDL_RBSoloResults; // size: 0x8, address: 0x808AEAC8 /* Compile unit: C:\rockband2\band2\src\net_band\RBLeaderboardsDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80220148 -> 0x80223448 */ // Range: 0x80220148 -> 0x802203F8 void RBLeaderboardsClient::ProtoReturn_GetSoloHighScoresByPlayer(class Message * pMsg /* r28 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r29 class qList oDummyVar[1]; // r1+0x28 int i; // r29 // References // -> struct [anonymous] __vt__Q26Quazal13RBSoloResults; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBSoloResults; } // Range: 0x802203F8 -> 0x802206A8 void RBLeaderboardsClient::ProtoReturn_GetSoloHighScoresByRankRange(class Message * pMsg /* r28 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r29 class qList oDummyVar[1]; // r1+0x28 int i; // r29 // References // -> struct [anonymous] __vt__Q26Quazal13RBSoloResults; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBSoloResults; } // Range: 0x802206A8 -> 0x80220958 void RBLeaderboardsClient::ProtoReturn_GetSoloHighScoresByFriends(class Message * pMsg /* r28 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r29 class qList oDummyVar[1]; // r1+0x28 int i; // r29 // References // -> struct [anonymous] __vt__Q26Quazal13RBSoloResults; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBSoloResults; } // Range: 0x80220958 -> 0x80220C08 void RBLeaderboardsClient::ProtoReturn_GetSoloCareerHighScoresByPlayer(class Message * pMsg /* r28 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r29 class qList oDummyVar[1]; // r1+0x28 int i; // r29 // References // -> struct [anonymous] __vt__Q26Quazal13RBSoloResults; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBSoloResults; } // Range: 0x80220C08 -> 0x80220EB8 void RBLeaderboardsClient::ProtoReturn_GetSoloCareerHighScoresByRankRange(class Message * pMsg /* r28 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r29 class qList oDummyVar[1]; // r1+0x28 int i; // r29 // References // -> struct [anonymous] __vt__Q26Quazal13RBSoloResults; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBSoloResults; } // Range: 0x80220EB8 -> 0x80221168 void RBLeaderboardsClient::ProtoReturn_GetSoloCareerHighScoresByFriends(class Message * pMsg /* r28 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r29 class qList oDummyVar[1]; // r1+0x28 int i; // r29 // References // -> struct [anonymous] __vt__Q26Quazal13RBSoloResults; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBSoloResults; } // Range: 0x80221168 -> 0x80221468 void RBLeaderboardsClient::ProtoReturn_GetBandHighScoresByBand(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80221468 -> 0x80221768 void RBLeaderboardsClient::ProtoReturn_GetBandHighScoresByRankRange(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80221768 -> 0x80221A68 void RBLeaderboardsClient::ProtoReturn_GetBandHighScoresByFriends(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80221A68 -> 0x80221D68 void RBLeaderboardsClient::ProtoReturn_GetBandCareerHighScoresByBand(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80221D68 -> 0x80222068 void RBLeaderboardsClient::ProtoReturn_GetBandCareerHighScoresByRankRange(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80222068 -> 0x80222368 void RBLeaderboardsClient::ProtoReturn_GetBandCareerHighScoresByFriends(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80222368 -> 0x80222668 void RBLeaderboardsClient::ProtoReturn_GetBandFansByBand(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80222668 -> 0x80222968 void RBLeaderboardsClient::ProtoReturn_GetBandFansByRankRange(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80222968 -> 0x80222C68 void RBLeaderboardsClient::ProtoReturn_GetBandFansByFriends(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal13RBBandResults; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal18_DDL_RBBandResults; } // Range: 0x80222C68 -> 0x80222F08 void RBLeaderboardsClient::ProtoReturn_GetSkillByPlayer(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r30 class qList oDummyVar[1]; // r1+0x28 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal14RBSkillResults; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBSkillResults; } // Range: 0x80222F08 -> 0x802231A8 void RBLeaderboardsClient::ProtoReturn_GetSkillByRankRange(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r30 class qList oDummyVar[1]; // r1+0x28 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal14RBSkillResults; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBSkillResults; } // Range: 0x802231A8 -> 0x80223448 void RBLeaderboardsClient::ProtoReturn_GetSkillByFriends(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r30 class qList oDummyVar[1]; // r1+0x28 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal14RBSkillResults; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBSkillResults; } /* Compile unit: C:\rockband2\band2\src\net_band\RBSoloResultsDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80223448 -> 0x802234A8 */ // Range: 0x80223448 -> 0x802234A8 void * _DDL_RBSoloResults::~_DDL_RBSoloResults(class _DDL_RBSoloResults * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBandResultsDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802234A8 -> 0x80223508 */ // Range: 0x802234A8 -> 0x80223508 void * _DDL_RBBandResults::~_DDL_RBBandResults(class _DDL_RBBandResults * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBSkillResultsDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80223508 -> 0x802235CC */ // Range: 0x80223508 -> 0x80223568 void * _DDL_RBSkillResults::~_DDL_RBSkillResults(class _DDL_RBSkillResults * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802235CC -> 0x802236B8 */ // Range: 0x802235CC -> 0x80223658 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\band2\src\net_band\RBPlatformGuidDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802236B8 -> 0x80223758 */ // Range: 0x802236B8 -> 0x80223708 void _DDL_RBPlatformGuid::Add(class Message * pMessageToSend /* r30 */, const class _DDL_RBPlatformGuid & oValue /* r31 */) {} // Range: 0x80223708 -> 0x80223758 void _DDL_RBPlatformGuid::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBPlatformGuid * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBScoresDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80223758 -> 0x80223F98 */ class RBScoresClient : public ClientProtocol { // total size: 0x38 }; // Range: 0x80223758 -> 0x802239EC unsigned char RBScoresClient::CallRecordSoloScore(class RBScoresClient * const this /* r24 */, class ProtocolCallContext * pContext /* r25 */, const unsigned int & principalID /* r26 */, const signed char & roleID /* r27 */, const class String & songName /* r28 */, const unsigned int & songScore /* r29 */, const unsigned int & careerScore /* r30 */, const signed char & diffID /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r23 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x802239EC -> 0x80223C60 unsigned char RBScoresClient::CallRecordBandScore(class RBScoresClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const class RBGuid & bandGuid /* r27 */, const class String & songName /* r28 */, const unsigned int & songScore /* r29 */, const unsigned int & careerScore /* r30 */, const unsigned int & fans /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r24 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80223C60 -> 0x80223E94 unsigned char RBScoresClient::CallRecordBandFans(class RBScoresClient * const this /* r28 */, class ProtocolCallContext * pContext /* r29 */, const class RBGuid & bandGuid /* r30 */, const unsigned int & fans /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r27 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80223E94 -> 0x80223F38 void RBScoresClient::ExtractCallSpecificResults() { // Local variables unsigned short uiRMCID; // r4 } struct { // total size: 0x64 } __vt__Q26Quazal14RBScoresClient; // size: 0x64, address: 0x808AEAD0 struct { // total size: 0x8 } __RTTI__Q26Quazal14RBScoresClient; // size: 0x8, address: 0x808AEB78 /* Compile unit: C:\rockband2\band2\src\net_band\RBSkillResultsDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80223F98 -> 0x80224024 */ // Range: 0x80223F98 -> 0x80224024 void _DDL_RBSkillResults::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBSkillResults * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBSoloResultsDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80224024 -> 0x802240C4 */ // Range: 0x80224024 -> 0x802240C4 void _DDL_RBSoloResults::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBSoloResults * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RockBandDDF.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802240C4 -> 0x80224214 */ class DDLDeclarations : public RootObject { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 private: int m_iUseRefCount; // offset 0x4, size 0x4 unsigned char m_bRegistered; // offset 0x8, size 0x1 class DDLDeclarations * m_pNextDDLDecl; // offset 0xC, size 0x4 unsigned char m_bCoreDDLDeclarations; // offset 0x10, size 0x1 }; class RockBandDDLDeclarations : public DDLDeclarations { // total size: 0x14 }; class RockBandDDLDeclarations g_ddlRockBand; // size: 0x14, address: 0x8097CA2C // Range: 0x802240C4 -> 0x802240D0 void RockBandDDLDeclarations::Register() { // References // -> class RockBandDDLDeclarations g_ddlRockBand; } // Range: 0x802240D0 -> 0x80224108 void RockBandDDLDeclarations::Init() { // References // -> unsigned int s_uiBaseClassID; // -> unsigned char LIB_CONFLICT_MUST_LINK_WITH_ANSI_LIBRARY; // -> unsigned char LIB_CONFLICT_MUST_LINK_WITH_RELEASE_LIBRARY; // -> unsigned char LIB_CONFLICT_MUST_LINK_WITH_SHIPPING_LIBRARY; } // Range: 0x80224108 -> 0x80224114 void RegisterProductKeys() {} // Range: 0x80224114 -> 0x80224160 void InitDOClasses() {} struct { // total size: 0x10 } __vt__Q26Quazal23RockBandDDLDeclarations; // size: 0x10, address: 0x808AEBA8 struct { // total size: 0x8 } __RTTI__Q26Quazal23RockBandDDLDeclarations; // size: 0x8, address: 0x808AEBF0 struct { // total size: 0x8 } __RTTI__Q26Quazal15DDLDeclarations; // size: 0x8, address: 0x808AEC20 // Range: 0x802241BC -> 0x80224214 static void __sinit_\RockBandDDF_cpp() { // References // -> struct [anonymous] __vt__Q26Quazal23RockBandDDLDeclarations; // -> class RockBandDDLDeclarations g_ddlRockBand; } unsigned int s_uiBaseClassID; // size: 0x4, address: 0x80A489D0 unsigned char LIB_CONFLICT_MUST_LINK_WITH_ANSI_LIBRARY; // size: 0x1, address: 0x80A489B1 unsigned char LIB_CONFLICT_MUST_LINK_WITH_RELEASE_LIBRARY; // size: 0x1, address: 0x80A489B0 unsigned char LIB_CONFLICT_MUST_LINK_WITH_SHIPPING_LIBRARY; // size: 0x1, address: 0x80A489B2 /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80224214 -> 0x8022BDA4 */ class Symbol t; // size: 0x4, address: 0x80A4EA74 class BandProfileCache { // total size: 0x40 unsigned char mNextProfile; // offset 0x0, size 0x1 unsigned char mUsed[3]; // offset 0x1, size 0x3 class HxGuid mGuids[3]; // offset 0x4, size 0x30 class RemoteBandData * mProfiles[3]; // offset 0x34, size 0xC }; // Range: 0x80224214 -> 0x8022428C void * BandProfileCache::BandProfileCache(class BandProfileCache * const this /* r30 */) { // Local variables int n; // r4 } // Range: 0x8022428C -> 0x802242F8 void BandProfileCache::Init(class BandProfileCache * const this /* r30 */) { // Local variables int n; // r31 } // Range: 0x802242F8 -> 0x8022436C void BandProfileCache::Terminate(class BandProfileCache * const this /* r30 */) { // Local variables int n; // r31 } // Range: 0x8022436C -> 0x80224404 class RemoteBandData * BandProfileCache::FindBandProfile(class BandProfileCache * const this /* r29 */, const class HxGuid & guid /* r30 */) { // Local variables int n; // r31 } // Range: 0x80224404 -> 0x80224494 void BandProfileCache::InvalidateBandProfile(class BandProfileCache * const this /* r28 */, const class HxGuid & bandGuid /* r29 */) { // Local variables int n; // r30 } // Range: 0x80224494 -> 0x80224528 void BandProfileCache::InvalidateBandProfileByMember(class BandProfileCache * const this /* r28 */, const class HxGuid & charGuid /* r29 */) { // Local variables int n; // r30 } // Range: 0x80224528 -> 0x8022458C class RemoteBandData * BandProfileCache::GetNewProfile() { // Local variables int nextProfile; // r7 } class RBBotbClient : public ClientProtocol { // total size: 0x38 }; class RockCentralGateway RockCentral; // size: 0xC8, address: 0x8097CA50 // Range: 0x8022458C -> 0x80224598 static void RockCentralTerminate() { // References // -> class RockCentralGateway RockCentral; } class String kServerVer; // size: 0xC, address: 0x8097CB24 // Range: 0x80224598 -> 0x802246D4 void * RockCentralGateway::RockCentralGateway(class RockCentralGateway * const this /* r31 */) { // References // -> struct [anonymous] __vt__18RockCentralGateway; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x802246D4 -> 0x80224810 void * RockCentralGateway::~RockCentralGateway(class RockCentralGateway * const this /* r28 */) { // References // -> struct [anonymous] __vt__18RockCentralGateway; } // Range: 0x80224810 -> 0x802248F0 void RockCentralGateway::Terminate(class RockCentralGateway * const this /* r31 */) { // References // -> class ProfileMgr TheProfileMgr; // -> class Symbol t; // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; // -> const char * gNullStr; } static class Symbol connection_status_changed; // size: 0x4, address: 0x80A4EA7C // Range: 0x802248F0 -> 0x80224B5C void RockCentralGateway::Init(class RockCentralGateway * const this /* r31 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> class ProfileMgr TheProfileMgr; // -> class Symbol t; // -> class PlatformMgr ThePlatformMgr; // -> static class Symbol connection_status_changed; // -> class Net TheNet; // -> const char * gNullStr; // -> unsigned int s_uiDefaultStringEncoding; // -> class ObjectDir * sMainDir; } static class Symbol modifier_online_feature; // size: 0x4, address: 0x80A4EA84 // Range: 0x80224B5C -> 0x80224E58 void RockCentralGateway::Poll(class RockCentralGateway * const this /* r30 */) { // References // -> class String kServerVer; // -> class Debug TheDebug; // -> class Net TheNet; // -> class GamePanel * TheGamePanel; // -> class ModifierMgr * TheModifierMgr; // -> static class Symbol modifier_online_feature; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80224E58 -> 0x80224F34 class DataNode RockCentralGateway::OnMsg(class RockCentralGateway * const this /* r30 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } static class Symbol lost_connection; // size: 0x4, address: 0x80A4EA8C static class Message init; // size: 0x8, address: 0x8097CB40 // Range: 0x80224F34 -> 0x802256B4 class DataNode RockCentralGateway::OnMsg(class RockCentralGateway * const this /* r29 */, const class ServerStatusChangedMsg & msg /* r30 */) { // Local variables class String inDTA; // r1+0x14 // References // -> class BandUI * TheBandUI; // -> static class Message init; // -> struct [anonymous] __vt__7Message; // -> static class Symbol lost_connection; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__Q26Quazal12RBBotbClient; // -> struct [anonymous] __vt__Q26Quazal14RBConfigClient; // -> struct [anonymous] __vt__Q26Quazal16RBEntitiesClient; // -> struct [anonymous] __vt__Q26Quazal20RBLeaderboardsClient; // -> struct [anonymous] __vt__Q26Quazal14RBScoresClient; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x802256B4 -> 0x80225754 class DataNode RockCentralGateway::OnMsg(class RockCentralGateway * const this /* r29 */, const class UserLoginMsg & msg /* r31 */) {} // Range: 0x80225754 -> 0x8022584C class DataNode RockCentralGateway::OnMsg(class RockCentralGateway * const this /* r29 */) { // Local variables int padNum; // r30 // References // -> class Net TheNet; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7Profile; } // Range: 0x8022584C -> 0x8022587C void RockCentralGateway::ForceLogout() { // References // -> class Net TheNet; } // Range: 0x8022587C -> 0x80225884 void RockCentralGateway::CancelOutstandingCalls() {} // Range: 0x80225884 -> 0x8022588C void RockCentralGateway::FailAllOutstandingCalls() {} // Range: 0x8022588C -> 0x802259E0 void RockCentralGateway::SubmitPlayerScore(class RockCentralGateway * const this /* r23 */, class Symbol & song /* r24 */, int trackType /* r25 */, int difficulty /* r26 */, int score /* r27 */, int careerScore /* r28 */, int playerNum /* r29 */, class Object * callback /* r31 */) { // Local variables signed char role; // r1+0x9 signed char diffID; // r1+0x8 int padNum; // r29 class ContextWrapper * wrapper; // r0 // References // -> class Net TheNet; } static class Symbol career; // size: 0x4, address: 0x80A4EA94 // Range: 0x802259E0 -> 0x80225B38 void RockCentralGateway::GetPlayerStatsByID(class RockCentralGateway * const this /* r25 */, int playerID /* r26 */, class Symbol & song /* r27 */, int trackType /* r28 */, int pivotRange /* r29 */, class PlayerResultList & results /* r30 */, class Object * callback /* r31 */) { // Local variables signed char role; // r1+0x8 class ContextWrapper * wrapper; // r0 // References // -> static class Symbol career; // -> class Net TheNet; } static class Symbol career; // size: 0x4, address: 0x80A4EA9C // Range: 0x80225B38 -> 0x80225C90 void RockCentralGateway::GetPlayerStatsByRanking(class RockCentralGateway * const this /* r25 */, int topRank /* r26 */, class Symbol & song /* r27 */, int trackType /* r28 */, int numResults /* r30 */, class PlayerResultList & results /* r29 */, class Object * callback /* r31 */) { // Local variables signed char role; // r1+0x8 int bottomRank; // r30 class ContextWrapper * wrapper; // r0 // References // -> static class Symbol career; // -> class Net TheNet; } static class qList friendsGuids; // size: 0x8, address: 0x8097CB58 static class Symbol career; // size: 0x4, address: 0x80A4EAA4 // Range: 0x80225C90 -> 0x80226014 void RockCentralGateway::GetPlayerStatsByFriends(class RockCentralGateway * const this /* r26 */, class Symbol & song /* r27 */, int trackType /* r22 */, class vector & friends /* r28 */, class PlayerResultList & results /* r29 */, class Object * callback /* r30 */) { // Local variables signed char role; // r1+0x8 int n; // r31 class RBPlatformGuid guid; // r1+0x40 class RBPlatformGuid guidself; // r1+0x30 class String guidstring; // r1+0x1C class ContextWrapper * wrapper; // r0 // References // -> static class Symbol career; // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> static class qList friendsGuids; // -> class Net TheNet; } // Range: 0x80226014 -> 0x80226110 void RockCentralGateway::SubmitBandScore(class RockCentralGateway * const this /* r25 */, class Symbol & song /* r26 */, int score /* r27 */, int careerScore /* r28 */, int fans /* r29 */, class HxGuid & bandID /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x18 class ContextWrapper * wrapper; // r0 // References // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Net TheNet; } // Range: 0x80226110 -> 0x802261BC void RockCentralGateway::SubmitBandFans(class RockCentralGateway * const this /* r29 */, int fans /* r30 */, class HxGuid & bandID /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0xC class ContextWrapper * wrapper; // r0 // References // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Net TheNet; } static class Symbol career; // size: 0x4, address: 0x80A4EAAC // Range: 0x802261BC -> 0x80226308 void RockCentralGateway::GetBandStatsByID(class RockCentralGateway * const this /* r26 */, class HxGuid & bandID /* r27 */, class Symbol & song /* r28 */, int pivotRange /* r29 */, class BandResultList & results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x10 class ContextWrapper * wrapper; // r0 // References // -> static class Symbol career; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Net TheNet; } static class Symbol career; // size: 0x4, address: 0x80A4EAB4 // Range: 0x80226308 -> 0x8022646C void RockCentralGateway::GetBandStatsByRanking(class RockCentralGateway * const this /* r26 */, int topRank /* r27 */, class Symbol & song /* r28 */, int numResults /* r30 */, class BandResultList & results /* r29 */, class Object * callback /* r31 */) { // Local variables int bottomRank; // r30 class ContextWrapper * wrapper; // r0 // References // -> static class Symbol career; // -> class Debug TheDebug; // -> class Net TheNet; } static class qList friendsGuids; // size: 0x8, address: 0x8097CB70 static class Symbol career; // size: 0x4, address: 0x80A4EABC // Range: 0x8022646C -> 0x802267E0 void RockCentralGateway::GetBandStatsByFriends(class RockCentralGateway * const this /* r26 */, class Symbol & song /* r27 */, class vector & friends /* r28 */, class BandResultList & results /* r29 */, class Object * callback /* r30 */) { // Local variables class RBGuid bandGuid; // r1+0x50 int n; // r31 class RBPlatformGuid guid; // r1+0x40 class RBPlatformGuid guidself; // r1+0x30 class String guidstring; // r1+0x18 class ContextWrapper * wrapper; // r0 // References // -> static class Symbol career; // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> static class qList friendsGuids; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Net TheNet; } // Range: 0x802267E0 -> 0x802268B4 void RockCentralGateway::GetBandFansByID(class RockCentralGateway * const this /* r27 */, class HxGuid & bandID /* r28 */, int pivotRange /* r29 */, class BandResultList & results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0xC class ContextWrapper * wrapper; // r0 // References // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Net TheNet; } // Range: 0x802268B4 -> 0x802269A0 void RockCentralGateway::GetBandFansByRanking(class RockCentralGateway * const this /* r27 */, int topRank /* r28 */, int numResults /* r31 */, class BandResultList & results /* r29 */, class Object * callback /* r30 */) { // Local variables int bottomRank; // r31 class ContextWrapper * wrapper; // r0 // References // -> class Debug TheDebug; // -> class Net TheNet; } static class qList friendsGuids; // size: 0x8, address: 0x8097CB88 // Range: 0x802269A0 -> 0x80226C98 void RockCentralGateway::GetBandFansByFriends(class RockCentralGateway * const this /* r27 */, class vector & friends /* r28 */, class BandResultList & results /* r29 */, class Object * callback /* r30 */) { // Local variables int n; // r31 class RBPlatformGuid guid; // r1+0x38 class RBPlatformGuid guidself; // r1+0x28 class String guidstring; // r1+0x14 class ContextWrapper * wrapper; // r0 // References // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> static class qList friendsGuids; // -> class Net TheNet; } // Range: 0x80226C98 -> 0x80226FBC void RockCentralGateway::UpdateChar(class RockCentralGateway * const this /* r25 */, class TourCharLocal * tourChar /* r26 */, class Object * pObjCallback /* r27 */, int id /* r28 */, int flags /* r29 */) { // Local variables int playerNum; // r0 int padNum; // r30 class RBGuid guid; // r1+0x38 class RBCharacter latestChar; // r1+0x50 class MemStream s; // r1+0x18 class ContextWrapper * wrapper; // r30 // References // -> struct [anonymous] __vt__9IdUpdater; // -> struct [anonymous] __vt__Q26Quazal11RBCharacter; // -> struct [anonymous] __vt__Q26Quazal16_DDL_RBCharacter; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class ProfileMgr TheProfileMgr; // -> class Net TheNet; } class IdUpdater : public Updatable { // total size: 0x10 public: signed char mRetCode; // offset 0x8, size 0x1 unsigned int mID; // offset 0xC, size 0x4 }; // Range: 0x80226FBC -> 0x80226FFC void * IdUpdater::~IdUpdater(class IdUpdater * const this /* r31 */) {} // Range: 0x80226FFC -> 0x8022718C void RockCentralGateway::UpdateCharSecData(class RockCentralGateway * const this /* r27 */, class TourCharLocal * tourChar /* r28 */, class Object * pObjCallback /* r29 */, int id /* r30 */) { // Local variables int playerNum; // r0 int padNum; // r0 class RBGuid guid; // r1+0xC class ContextWrapper * wrapper; // r30 // References // -> struct [anonymous] __vt__9IdUpdater; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class ProfileMgr TheProfileMgr; // -> class Net TheNet; } // Range: 0x8022718C -> 0x802272C8 void RockCentralGateway::VerifyCharName(class RockCentralGateway * const this /* r26 */, const char * charName /* r27 */, class Object * pObjCallback /* r28 */, int id /* r30 */, int flags /* r29 */) { // Local variables class ContextWrapper * wrapper; // r30 // References // -> struct [anonymous] __vt__9IdUpdater; // -> class Net TheNet; } static class qList memberGuids; // size: 0x8, address: 0x8097CBA0 class RBBandTopScoreQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; static class RBBandTopScoreQList topScores; // size: 0x8, address: 0x8097CBB8 // Range: 0x802272C8 -> 0x80227A48 void RockCentralGateway::UpdateBand(class RockCentralGateway * const this /* r25 */, class TourBand * b /* r26 */, class Object * callback /* r28 */, int id /* r24 */, int flags /* r27 */) { // Local variables int playerNum; // r0 int padNum; // r22 class RBGuid guid; // r1+0xBC class RBBand latestBand; // r1+0xD0 class String bandLogoString; // r1+0x48 class ContextWrapper * wrapper; // r29 class vector membership; // r1+0x88 int i; // r28 class RBGuid r; // r1+0xA8 class vector bandTopScores; // r1+0x7C int i; // r28 class RBBandTopScore t; // r1+0x94 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__Q26Quazal14RBBandTopScore; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBBandTopScore; // -> static class RBBandTopScoreQList topScores; // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> static class qList memberGuids; // -> struct [anonymous] __vt__9IdUpdater; // -> struct [anonymous] __vt__Q26Quazal6RBBand; // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBBand; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class ProfileMgr TheProfileMgr; // -> class Net TheNet; } // Range: 0x80227A48 -> 0x80227B84 void RockCentralGateway::VerifyBandName(class RockCentralGateway * const this /* r26 */, const char * bandName /* r27 */, class Object * pObjCallback /* r28 */, int id /* r30 */, int flags /* r29 */) { // Local variables class ContextWrapper * wrapper; // r30 // References // -> struct [anonymous] __vt__9IdUpdater; // -> class Net TheNet; } // Range: 0x80227B84 -> 0x80227CC0 void RockCentralGateway::VerifyBandMotto(class RockCentralGateway * const this /* r26 */, const char * bandMotto /* r27 */, class Object * pObjCallback /* r28 */, int id /* r30 */, int flags /* r29 */) { // Local variables class ContextWrapper * wrapper; // r30 // References // -> struct [anonymous] __vt__9IdUpdater; // -> class Net TheNet; } class RBBandMemberQList { // total size: 0x8 public: class qList mData; // offset 0x0, size 0x8 }; class BandRowConverter : public Updatable { // total size: 0x2C public: class RBBand * mQBandData; // offset 0x8, size 0x4 class DateTime * mQCreateDate; // offset 0xC, size 0x4 class RBBandMemberQList * mQMemberList; // offset 0x10, size 0x4 class RBBandTopScoreQList * mQTopScoreList; // offset 0x14, size 0x4 class RBPlatformGuid * mQPlatformGuid; // offset 0x18, size 0x4 unsigned int mFans; // offset 0x1C, size 0x4 unsigned int mCareerHighScore; // offset 0x20, size 0x4 private: class RemoteBandData * mBandData; // offset 0x24, size 0x4 unsigned char mUpdated; // offset 0x28, size 0x1 }; // Range: 0x80227CC0 -> 0x80227E54 void * BandRowConverter::BandRowConverter(class BandRowConverter * const this /* r30 */, class RemoteBandData * pBand /* r31 */, const class HxGuid & guid /* r28 */) { // References // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal6RBBand; // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBBand; // -> struct [anonymous] __vt__16BandRowConverter; } // Range: 0x80227E54 -> 0x80227F60 void * BandRowConverter::~BandRowConverter(class BandRowConverter * const this /* r29 */) { // References // -> struct [anonymous] __vt__16BandRowConverter; } // Range: 0x80227F60 -> 0x80228488 void BandRowConverter::Update(class BandRowConverter * const this /* r30 */) { // Local variables struct _List_iterator it; // r1+0x54 struct BandMember bm; // r1+0x78 struct _List_iterator it; // r1+0x50 struct SongStatus ss; // r1+0x60 struct DateTime createDate; // r1+0x58 // References // -> class Debug TheDebug; } // Range: 0x80228488 -> 0x80228490 void RockCentralGateway::InvalidateBandProfile() {} static class RockCentralOpCompleteMsg msg; // size: 0x8, address: 0x8097CBD0 static class RockCentralOpCompleteMsg msg; // size: 0x8, address: 0x8097CBE8 static class RockCentralOpCompleteMsg msg; // size: 0x8, address: 0x8097CC00 // Range: 0x80228490 -> 0x80228880 void RockCentralGateway::GetBandProfile(class RockCentralGateway * const this /* r26 */, const class HxGuid & guid /* r27 */, class RemoteBandData * * pProfile /* r28 */, class Object * pObjCallback /* r30 */, int id /* r29 */) { // Local variables class RemoteBandData * profile; // r0 class ContextWrapper * wrapper; // r30 class RBGuid bandGuid; // r1+0x40 // References // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> static class RockCentralOpCompleteMsg msg; // -> class Debug TheDebug; // -> static class RockCentralOpCompleteMsg msg; // -> class Net TheNet; // -> static class RockCentralOpCompleteMsg msg; } static class RockCentralOpCompleteMsg msg; // size: 0x8, address: 0x8097CC18 static class qList guidList; // size: 0x8, address: 0x8097CC30 // Range: 0x80228880 -> 0x80228A74 void RockCentralGateway::GetPresenceInfo(class RockCentralGateway * const this /* r27 */, class vector & idList /* r28 */, class PresenceResultList & resultList /* r29 */, class Object * callback /* r30 */) { // Local variables int n; // r31 class RBPlatformGuid guid; // r1+0x20 class ContextWrapper * wrapper; // r0 // References // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> static class qList guidList; // -> class Net TheNet; } // Range: 0x80228A74 -> 0x80228B74 void RockCentralGateway::GetBattleById(class RockCentralGateway * const this /* r28 */, unsigned int battleID /* r1+0x8 */, const char * localeName /* r29 */, class BotbBattleDetails * results /* r30 */, class Object * callback /* r31 */) { // Local variables class ContextWrapper * wrapper; // r0 // References // -> class Debug TheDebug; // -> class Net TheNet; } // Range: 0x80228B74 -> 0x80228CA4 void RockCentralGateway::GetOpenBattles(class RockCentralGateway * const this /* r26 */, class HxGuid & bandID /* r27 */, const char * showIn /* r28 */, const char * localeName /* r29 */, class BotbOpenBattlesList & results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x10 class ContextWrapper * wrapper; // r0 // References // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } static class qList idsDst; // size: 0x8, address: 0x8097CC48 // Range: 0x80228CA4 -> 0x80228EEC void RockCentralGateway::GetOpenBattleResultsByBand(class RockCentralGateway * const this /* r29 */, unsigned int battleID /* r1+0x8 */, class HxGuid & bandID /* r26 */, class BotbBattleResultsByBandInfo * results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x34 class vector idsSrc; // r1+0x28 int n; // r26 class ContextWrapper * wrapper; // r0 // References // -> static class qList idsDst; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } // Range: 0x80228EEC -> 0x80228F48 void RockCentralGateway::GetBattlesByBandByQuantity(const char * localeName /* r11 */, class BotbBattlesParticipatedInList & results /* r10 */) {} static class qList idsDst; // size: 0x8, address: 0x8097CC60 // Range: 0x80228F48 -> 0x802291C4 void RockCentralGateway::GetBattlesByBandInternal(class RockCentralGateway * const this /* r28 */, class HxGuid & bandID /* r25 */, unsigned int howFarBack /* r1+0x8 */, unsigned char byQuantity /* r1+0xC */, const char * localeName /* r29 */, class BotbBattlesParticipatedInList & results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x3C class vector idsSrc; // r1+0x30 int n; // r25 class ContextWrapper * wrapper; // r0 // References // -> static class qList idsDst; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } static class qList idsDst; // size: 0x8, address: 0x8097CC78 // Range: 0x802291C4 -> 0x8022940C void RockCentralGateway::PlayBattle(class RockCentralGateway * const this /* r29 */, unsigned int battleID /* r1+0x8 */, class HxGuid & bandID /* r26 */, class BotbPlayBattleResponse * results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x34 class vector idsSrc; // r1+0x28 int n; // r26 class ContextWrapper * wrapper; // r0 // References // -> static class qList idsDst; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } // Range: 0x8022940C -> 0x80229520 void RockCentralGateway::GetBattleResultsByBand(class RockCentralGateway * const this /* r28 */, unsigned int battleID /* r1+0x8 */, class HxGuid & bandID /* r29 */, unsigned int bandsAround /* r1+0xC */, unsigned int offset /* r1+0x10 */, class BotbBattleResultsList & results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x14 class ContextWrapper * wrapper; // r0 // References // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } // Range: 0x80229520 -> 0x8022960C void RockCentralGateway::GetBattleResultsByRankRange(class RockCentralGateway * const this /* r29 */, unsigned int battleID /* r1+0x8 */, unsigned int topRank /* r1+0xC */, unsigned int bottomRank /* r1+0x10 */, class BotbBattleResultsList & results /* r30 */, class Object * callback /* r31 */) { // Local variables class ContextWrapper * wrapper; // r0 // References // -> class Debug TheDebug; // -> class Net TheNet; } static class qList idsDst; // size: 0x8, address: 0x8097CC90 // Range: 0x8022960C -> 0x8022985C void RockCentralGateway::GetBattleResultsByFriends(class RockCentralGateway * const this /* r29 */, unsigned int battleID /* r1+0x8 */, class HxGuid & bandID /* r26 */, class BotbBattleResultsList & results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x34 class vector idsSrc; // r1+0x28 int n; // r26 class ContextWrapper * wrapper; // r0 // References // -> static class qList idsDst; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } static class qList idsDst; // size: 0x8, address: 0x8097CCA8 // Range: 0x8022985C -> 0x80229AB4 void RockCentralGateway::RecordBattleScore(class RockCentralGateway * const this /* r29 */, unsigned int battleID /* r1+0x8 */, class HxGuid & bandID /* r26 */, unsigned int score /* r1+0xC */, unsigned int stars /* r1+0x10 */, class BotbRecordBattleResponse * results /* r30 */, class Object * callback /* r31 */) { // Local variables class RBGuid bandGuid; // r1+0x3C class vector idsSrc; // r1+0x30 int n; // r26 class ContextWrapper * wrapper; // r0 // References // -> static class qList idsDst; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } static class DateTime qLastTime; // size: 0x8, address: 0x8097CCC0 static class qList idsDst; // size: 0x8, address: 0x8097CCD8 static class String cookies; // size: 0x4, address: 0x80A4EAD0 // Range: 0x80229AB4 -> 0x80229DF8 void RockCentralGateway::GetDailyNews(class RockCentralGateway * const this /* r24 */, class HxGuid & bandID /* r23 */, const char * localeName /* r25 */, struct DateTime & lastTime /* r26 */, class String & lastCookies /* r27 */, class BotbNewsList & results /* r28 */, class Object * callback /* r29 */) { // Local variables class RBGuid bandGuid; // r1+0x44 class vector idsSrc; // r1+0x38 int n; // r30 class ContextWrapper * wrapper; // r0 // References // -> static class String cookies; // -> static class qList idsDst; // -> static class DateTime qLastTime; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> class Debug TheDebug; // -> class Net TheNet; } // Range: 0x80229DF8 -> 0x80229EAC class DataNode RockCentralGateway::OnUpdateChar(class RockCentralGateway * const this /* r29 */, class DataArray * data /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x80229EAC -> 0x80229F5C class DataNode RockCentralGateway::OnUpdateCharSecData(class RockCentralGateway * const this /* r29 */, class DataArray * data /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x80229F5C -> 0x80229FF4 class DataNode RockCentralGateway::OnVerifyCharName(class RockCentralGateway * const this /* r29 */, class DataArray * data /* r30 */) {} // Range: 0x80229FF4 -> 0x8022A0A8 class DataNode RockCentralGateway::OnUpdateBand(class RockCentralGateway * const this /* r29 */, class DataArray * data /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8TourBand; } // Range: 0x8022A0A8 -> 0x8022A140 class DataNode RockCentralGateway::OnVerifyBandName(class RockCentralGateway * const this /* r29 */, class DataArray * data /* r30 */) {} // Range: 0x8022A140 -> 0x8022A1D8 class DataNode RockCentralGateway::OnVerifyBandMotto(class RockCentralGateway * const this /* r29 */, class DataArray * data /* r30 */) {} // Range: 0x8022A1D8 -> 0x8022A228 unsigned char RockCentralGateway::IsLoginMandatory() { // References // -> class GameMode * TheGameMode; } // Range: 0x8022A228 -> 0x8022A2B8 signed char RockCentralGateway::GetRoleID() { // References // -> class Debug TheDebug; } // Range: 0x8022A2B8 -> 0x8022A348 signed char RockCentralGateway::GetDifficultyID() { // References // -> class Debug TheDebug; } // Range: 0x8022A348 -> 0x8022A3B8 void RockCentralGateway::HxToRBGuid(const class HxGuid & in /* r30 */, class RBGuid & out /* r31 */) {} // Range: 0x8022A3B8 -> 0x8022A42C void RockCentralGateway::RBToHxGuid(const class RBGuid & in /* r30 */, class HxGuid & out /* r31 */) {} // Range: 0x8022A42C -> 0x8022A648 char * RockCentralGateway::PrepareConfig() { // Local variables class String s; // r1+0x28 } // Range: 0x8022A648 -> 0x8022A814 void RockCentralGateway::ExecuteConfig() { // Local variables class DataNode cmd; // r1+0x20 } static class Symbol _s; // size: 0x4, address: 0x80A4EAD8 static class Symbol _s; // size: 0x4, address: 0x80A4EAE0 static class Symbol _s; // size: 0x4, address: 0x80A4EAE8 static class Symbol _s; // size: 0x4, address: 0x80A4EAF0 static class Symbol _s; // size: 0x4, address: 0x80A4EAF8 static class Symbol _s; // size: 0x4, address: 0x80A4EB00 static class Symbol _s; // size: 0x4, address: 0x80A4EB08 static class Symbol _s; // size: 0x4, address: 0x80A4EB10 static class Symbol _s; // size: 0x4, address: 0x80A4EB18 // Range: 0x8022A814 -> 0x8022BC30 class DataNode RockCentralGateway::Handle(class RockCentralGateway * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x64 class MessageTimer _mt; // r1+0xE0 class DataNode r; // r1+0xD8 class DataNode r; // r1+0xD0 class DataNode r; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode _n; // r1+0x88 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __vt__17ProfileChangedMsg; // -> class Symbol t; // -> struct [anonymous] __vt__26ConnectionStatusChangedMsg; // -> class Symbol t; // -> struct [anonymous] __vt__12UserLoginMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__22ServerStatusChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } // Range: 0x8022BC30 -> 0x8022BC38 class ContextWrapper * RockCentralGateway::NewContextWrapper() {} // Range: 0x8022BC38 -> 0x8022BD30 void RockCentralGateway::SendFailure(class Object * object /* r31 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x18 // References // -> struct [anonymous] __vt__7Message; } struct { // total size: 0x14 } __vt__16BandRowConverter; // size: 0x14, address: 0x808AEFAC struct { // total size: 0x8 } __RTTI__16BandRowConverter; // size: 0x8, address: 0x808AEFE0 // Range: 0x8022BD30 -> 0x8022BDA4 void IdUpdater::Update() {} struct { // total size: 0x14 } __vt__9IdUpdater; // size: 0x14, address: 0x808AEFE8 struct { // total size: 0x8 } __RTTI__9IdUpdater; // size: 0x8, address: 0x808AF018 struct { // total size: 0xC } __vt__12UserLoginMsg; // size: 0xC, address: 0x808AF468 struct { // total size: 0x8 } __RTTI__12UserLoginMsg; // size: 0x8, address: 0x808AF490 struct { // total size: 0x6C } __vt__18RockCentralGateway; // size: 0x6C, address: 0x808AF4D0 struct { // total size: 0x8 } __RTTI__18RockCentralGateway; // size: 0x8, address: 0x808AF570 struct { // total size: 0x64 } __vt__Q26Quazal14ClientProtocol; // size: 0x64, address: 0x808AF620 unsigned int s_uiDefaultStringEncoding; // size: 0x4, address: 0x80A48650 class PersistentStoreProtocolClient : public ClientProtocol { // total size: 0x38 }; class PersistentStoreClient : public ServiceClient { // total size: 0x54 class PersistentStoreProtocolClient m_oProtocol; // offset 0x1C, size 0x38 }; class CompetitionProtocolClient : public ClientProtocol { // total size: 0x38 }; class CompetitionClient : public ServiceClient { // total size: 0x54 class CompetitionProtocolClient m_oProtocol; // offset 0x1C, size 0x38 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022BDA4 -> 0x8022BE3C */ // Range: 0x8022BDA4 -> 0x8022BE14 static void __sinit_\RockCentral_cpp() { // References // -> class String kServerVer; // -> class RockCentralGateway RockCentral; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022BEF8 -> 0x8022C03C */ // Range: 0x8022BEF8 -> 0x8022BF58 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, class String & t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Protocol\ClientProtocol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022C03C -> 0x8022C098 */ // Range: 0x8022C03C -> 0x8022C098 void * ClientProtocol::~ClientProtocol(class ClientProtocol * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022C098 -> 0x8022C108 */ // Range: 0x8022C098 -> 0x8022C108 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\band2\src\net_band\RockCentralJobs.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022C108 -> 0x8022CCB0 */ class RockCentralJob : public Job { // total size: 0x8 }; // Range: 0x8022C108 -> 0x8022C120 class ContextWrapper * RockCentralJob::NewContextWrapper() { // References // -> class RockCentralGateway RockCentral; } // Range: 0x8022C120 -> 0x8022C130 class RBBotbClient * RockCentralJob::GetBotbClient() { // References // -> class RockCentralGateway RockCentral; } enum /* @enum$39147RockCentralJobs_cpp */ { kNone = 0, kEnumeratingFriends = 1, kUpdatingFriends = 2, kFinished = 3, }; class UpdateFriendsListJob : public RockCentralJob, public Object { // total size: 0x50 int mUserPadNum; // offset 0x30, size 0x4 int mUploadFriendsToken; // offset 0x34, size 0x4 class vector mFriends; // offset 0x38, size 0xC class qList mFriendsGuids; // offset 0x44, size 0x8 enum /* @enum$39147RockCentralJobs_cpp */ { kNone = 0, kEnumeratingFriends = 1, kUpdatingFriends = 2, kFinished = 3, } mState; // offset 0x4C, size 0x4 }; // Range: 0x8022C130 -> 0x8022C1C8 void * UpdateFriendsListJob::UpdateFriendsListJob(class UpdateFriendsListJob * const this /* r30 */, int userPadNum /* r31 */) { // References // -> struct [anonymous] __vt__20UpdateFriendsListJob; // -> struct [anonymous] __vt__14RockCentralJob; } // Range: 0x8022C1C8 -> 0x8022C314 void * UpdateFriendsListJob::~UpdateFriendsListJob(class UpdateFriendsListJob * const this /* r30 */) { // References // -> struct [anonymous] __vt__20UpdateFriendsListJob; } // Range: 0x8022C314 -> 0x8022C344 void UpdateFriendsListJob::Start(class UpdateFriendsListJob * const this /* r5 */) { // References // -> class PlatformMgr ThePlatformMgr; } static unsigned char tempResult; // size: 0x1, address: 0x80A4EB20 // Range: 0x8022C344 -> 0x8022C5E4 class DataNode UpdateFriendsListJob::OnMsg(class UpdateFriendsListJob * const this /* r29 */, const class PlatformMgrOpCompleteMsg & msg /* r25 */) { // Local variables class RBBotbClient * client; // r31 class Profile * profile; // r24 int savedToken; // r0 unsigned int principalID; // r1+0x10 int n; // r30 class RBPlatformGuid guid; // r1+0x18 class ContextWrapper * wrapper; // r0 // References // -> static unsigned char tempResult; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> class Net TheNet; // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8022C5E4 -> 0x8022C6C0 class DataNode UpdateFriendsListJob::OnMsg(class UpdateFriendsListJob * const this /* r30 */, const class RockCentralOpCompleteMsg & msg /* r31 */) { // Local variables class Profile * profile; // r31 // References // -> class ProfileMgr TheProfileMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8022C6C0 -> 0x8022C6D8 unsigned char UpdateFriendsListJob::IsFinished() {} // Range: 0x8022C6D8 -> 0x8022C7BC void UpdateFriendsListJob::GetFriendsListToken(class UpdateFriendsListJob * const this /* r28 */) { // Local variables int currentBlock; // r1+0x8 int n; // r31 const char * name; // r30 int m; // r29 } // Range: 0x8022C7BC -> 0x8022CCB0 class DataNode UpdateFriendsListJob::Handle(class UpdateFriendsListJob * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__24RockCentralOpCompleteMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24PlatformMgrOpCompleteMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0x74 } __vt__20UpdateFriendsListJob; // size: 0x74, address: 0x808AFA2C struct { // total size: 0x8 } __RTTI__20UpdateFriendsListJob; // size: 0x8, address: 0x808AFAE0 struct { // total size: 0x1C } __vt__14RockCentralJob; // size: 0x1C, address: 0x808AFAE8 struct { // total size: 0x8 } __RTTI__14RockCentralJob; // size: 0x8, address: 0x808AFB20 struct { // total size: 0x8 } __RTTI__3Job; // size: 0x8, address: 0x808AFBE8 /* Compile unit: C:\rockband2\band2\src\net_band\RockCentral.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022CCB0 -> 0x8022CCF4 */ // Range: 0x8022CCB0 -> 0x8022CCF4 void RockCentralJob::Cancel() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\band2\src\net_band\RockCentralJobs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022CCF4 -> 0x8022CD34 */ // Range: 0x8022CCF4 -> 0x8022CD34 void * RockCentralJob::~RockCentralJob(class RockCentralJob * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\net\JobMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022CD34 -> 0x8022CD78 */ // Range: 0x8022CD34 -> 0x8022CD74 void * Job::~Job(class Job * const this /* r31 */) {} // Range: 0x8022CD74 -> 0x8022CD78 void Job::OnCompletion() {} /* Compile unit: C:\rockband2\band2\src\net_band\EntityUploader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8022CD88 -> 0x80230E98 */ static class EntityUploader gEntityUploader; // size: 0x48, address: 0x8097CD00 class EntityUploader & TheEntityUploader; // size: 0x4, address: 0x80A4EB28 // Range: 0x8022CD88 -> 0x8022CDEC void * EntityUploader::EntityUploader(class EntityUploader * const this /* r31 */) { // References // -> struct [anonymous] __vt__14EntityUploader; } // Range: 0x8022CDEC -> 0x8022CE60 void EntityUploader::Init(class EntityUploader * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; } // Range: 0x8022CE60 -> 0x8022D03C unsigned char EntityUploader::VerifyCharName(class EntityUploader * const this /* r27 */, const char * charName /* r28 */, class TourSavable * e /* r29 */, class Object * pObjCallback /* r30 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; } // Range: 0x8022D03C -> 0x8022D21C unsigned char EntityUploader::VerifyBandName(class EntityUploader * const this /* r27 */, const char * bandName /* r28 */, class TourSavable * e /* r29 */, class Object * pObjCallback /* r30 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; } // Range: 0x8022D21C -> 0x8022D3FC unsigned char EntityUploader::VerifyBandMotto(class EntityUploader * const this /* r27 */, const char * bandMotto /* r28 */, class TourSavable * e /* r29 */, class Object * pObjCallback /* r30 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; } // Range: 0x8022D3FC -> 0x8022D6C4 unsigned char EntityUploader::UpdateChar(class EntityUploader * const this /* r28 */, class TourCharLocal * c /* r29 */, class Object * pObjCallback /* r30 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x30 int opID; // r0 class RockCentralOpCompleteMsg msg; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; } // Range: 0x8022D6C4 -> 0x8022D988 unsigned char EntityUploader::UpdateBand(class EntityUploader * const this /* r28 */, class TourBandLocal * b /* r29 */, class Object * pObjCallback /* r30 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x30 int opID; // r0 class RockCentralOpCompleteMsg msg; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; } // Range: 0x8022D988 -> 0x8022DC50 unsigned char EntityUploader::UpdateFromProfile(class EntityUploader * const this /* r28 */, class Profile * pProfile /* r29 */, class Object * pObjCallback /* r30 */) { // Local variables class RockCentralOpCompleteMsg msg; // r1+0x30 int opCount; // r0 class RockCentralOpCompleteMsg msg; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; } // Range: 0x8022DC50 -> 0x8022DF54 int EntityUploader::BuildStringCheckOp(class DataArray * * uploadOps /* r27 */, const char * checkStr /* r28 */, int opType /* r26 */, class TourSavable * entity /* r29 */) {} // Range: 0x8022DF54 -> 0x8022E2C0 int EntityUploader::BuildUpdateCharOp(class EntityUploader * const this /* r31 */, class DataArray * * uploadOps /* r28 */, class TourCharLocal * c /* r29 */) { // Local variables int opID; // r30 } // Range: 0x8022E2C0 -> 0x8022E608 int EntityUploader::BuildUpdateBandOp(class EntityUploader * const this /* r31 */, class DataArray * * uploadOps /* r28 */, class TourBandLocal * b /* r29 */) { // Local variables int opID; // r30 } // Range: 0x8022E608 -> 0x8022ECC0 int EntityUploader::BuildProfileUploadOps(class EntityUploader * const this /* r24 */, class DataArray * * uploadOps /* r25 */, class Profile * pProfile /* r26 */) { // Local variables class DataArray * newOps; // r29 int opCount; // r28 int i; // r27 int i; // r27 class TourBandLocal * b; // r31 } // Range: 0x8022ECC0 -> 0x8022F108 void EntityUploader::RockCentralOpComplete(class EntityUploader * const this /* r26 */, int retCode /* r27 */, int id /* r28 */) { // Local variables unsigned char allOpsComplete; // r31 int i; // r30 unsigned char stringWasAcceptable; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__11TourSavable; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x8022F108 -> 0x8022F43C void EntityUploader::Poll(class EntityUploader * const this /* r28 */) { // Local variables class Object * pObjCallback; // r29 int callType; // r4 class RockCentralOpCompleteMsg msg; // r1+0x30 class Object * pObjCallback; // r29 class RockCentralOpCompleteMsg msg; // r1+0x28 // References // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8022F43C -> 0x8022F490 void EntityUploader::MarkUncheckedFlag() {} // Range: 0x8022F490 -> 0x8022F924 void EntityUploader::ReturnProfileResults(class EntityUploader * const this /* r26 */, class Object * pObjCallback /* r27 */) { // Local variables unsigned char allSvrDown; // r28 int i; // r29 class RockCentralOpCompleteMsg msg; // r1+0x48 class DataArray * results; // r30 int retCount; // r29 int i; // r28 class RockCentralOpCompleteMsg msg; // r1+0x40 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x8022F924 -> 0x8022F9E8 class DataNode EntityUploader::OnVerifyCharName(class EntityUploader * const this /* r28 */, class DataArray * data /* r29 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TourSavable; } // Range: 0x8022F9E8 -> 0x8022FAAC class DataNode EntityUploader::OnVerifyBandName(class EntityUploader * const this /* r28 */, class DataArray * data /* r29 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TourSavable; } // Range: 0x8022FAAC -> 0x8022FB70 class DataNode EntityUploader::OnVerifyBandMotto(class EntityUploader * const this /* r28 */, class DataArray * data /* r29 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TourSavable; } // Range: 0x8022FB70 -> 0x8022FC28 class DataNode EntityUploader::OnUpdateChar(class EntityUploader * const this /* r29 */, class DataArray * data /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourCharLocal; } // Range: 0x8022FC28 -> 0x8022FCE0 class DataNode EntityUploader::OnUpdateBand(class EntityUploader * const this /* r29 */, class DataArray * data /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourBandLocal; } // Range: 0x8022FCE0 -> 0x8022FD98 class DataNode EntityUploader::OnUpdateFromProfile(class EntityUploader * const this /* r29 */, class DataArray * data /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7Profile; } // Range: 0x8022FD98 -> 0x8022FE3C class DataNode EntityUploader::OnRockCentralOpComplete(class EntityUploader * const this /* r28 */, class DataArray * data /* r29 */) {} // Range: 0x8022FE3C -> 0x802301D0 int EntityUploader::BeginQuazalOps(class EntityUploader * const this /* r28 */, int flags /* r29 */) { // Local variables int opsStarted; // r31 int i; // r30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__13TourBandLocal; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TourCharLocal; // -> class RockCentralGateway RockCentral; } // Range: 0x802301D0 -> 0x802301D8 void EntityUploader::RecordSubmissionTime() {} // Range: 0x802301D8 -> 0x80230250 unsigned char EntityUploader::HasServerTimedOut(class EntityUploader * const this /* r30 */) { // Local variables struct DateTime now; // r1+0x8 unsigned int timeDiff; // r4 } static class Symbol _s; // size: 0x4, address: 0x80A4EB30 static class Symbol _s; // size: 0x4, address: 0x80A4EB38 static class Symbol _s; // size: 0x4, address: 0x80A4EB40 static class Symbol _s; // size: 0x4, address: 0x80A4EB48 static class Symbol _s; // size: 0x4, address: 0x80A4EB50 static class Symbol _s; // size: 0x4, address: 0x80A4EB58 static class Symbol _s; // size: 0x4, address: 0x80A4EB60 // Range: 0x80230250 -> 0x80230E48 class DataNode EntityUploader::Handle(class EntityUploader * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x78 } __vt__14EntityUploader; // size: 0x78, address: 0x808B0078 struct { // total size: 0x8 } __RTTI__14EntityUploader; // size: 0x8, address: 0x808B0118 // Range: 0x80230E48 -> 0x80230E98 static void __sinit_\EntityUploader_cpp() { // References // -> class EntityUploader & TheEntityUploader; // -> static class EntityUploader gEntityUploader; } /* Compile unit: C:\rockband2\band2\src\net_band\EntityUploader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80230EF4 -> 0x80230EF8 */ // Range: 0x80230EF4 -> 0x80230EF8 void EntityUploader::Terminate() {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleDetailsDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80230EF8 -> 0x80231170 */ // Range: 0x80230EF8 -> 0x80231170 void _DDL_RBBotbBattleDetails::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbBattleDetails * pValue /* r31 */) { // References // -> struct [anonymous] __vt__Q26Quazal20RBBotbBattleSongInfo; // -> struct [anonymous] __vt__Q26Quazal25_DDL_RBBotbBattleSongInfo; } struct { // total size: 0xC } __vt__Q26Quazal20RBBotbBattleSongInfo; // size: 0xC, address: 0x808B0298 struct { // total size: 0x8 } __RTTI__Q26Quazal20RBBotbBattleSongInfo; // size: 0x8, address: 0x808B02D8 struct { // total size: 0xC } __vt__Q26Quazal25_DDL_RBBotbBattleSongInfo; // size: 0xC, address: 0x808B02E0 struct { // total size: 0x8 } __RTTI__Q26Quazal25_DDL_RBBotbBattleSongInfo; // size: 0x8, address: 0x808B0320 /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleSongInfoDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80231170 -> 0x802311F0 */ // Range: 0x80231170 -> 0x802311F0 void * _DDL_RBBotbBattleSongInfo::~_DDL_RBBotbBattleSongInfo(class _DDL_RBBotbBattleSongInfo * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleParticipatedInDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802311F0 -> 0x80231280 */ // Range: 0x802311F0 -> 0x80231280 void _DDL_RBBotbBattleParticipatedIn::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbBattleParticipatedIn * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleResultsByBandInfoDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80231280 -> 0x802312E4 */ // Range: 0x80231280 -> 0x802312E4 void _DDL_RBBotbBattleResultsByBandInfo::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbBattleResultsByBandInfo * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleRowDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802312E4 -> 0x80231374 */ // Range: 0x802312E4 -> 0x80231374 void _DDL_RBBotbBattleRow::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbBattleRow * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbCityWithBattleDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80231374 -> 0x8023137C */ // Range: 0x80231374 -> 0x8023137C void _DDL_RBBotbCityWithBattle::Extract() {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023137C -> 0x8023344C */ // Range: 0x8023137C -> 0x802315C8 unsigned char RBBotbClient::CallGetBattleById(class RBBotbClient * const this /* r27 */, class ProtocolCallContext * pContext /* r28 */, const unsigned int & battleID /* r29 */, const class String & localeName /* r30 */, class RBBotbBattleDetails * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r26 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x802315C8 -> 0x8023181C unsigned char RBBotbClient::CallGetOpenBattles(class RBBotbClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const class RBGuid & bandGuid /* r28 */, const class String & showIn /* r29 */, const class String & localeName /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r25 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8023181C -> 0x80231B20 unsigned char RBBotbClient::CallGetOpenBattleResultsByBand(class RBBotbClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const unsigned int & battleID /* r27 */, const class RBGuid & bandGuid /* r28 */, const class qList & principalIDs /* r29 */, class RBBotbBattleResultsByBandInfo * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80231B20 -> 0x80231E44 unsigned char RBBotbClient::CallGetBattlesByBand(class RBBotbClient * const this /* r23 */, class ProtocolCallContext * pContext /* r24 */, const class RBGuid & bandGuid /* r25 */, const unsigned int & howFarBack /* r26 */, const unsigned char & byQuantity /* r27 */, const class String & localeName /* r28 */, const class qList & principalIDs /* r29 */, class qList * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80231E44 -> 0x80232148 unsigned char RBBotbClient::CallPlayBattle(class RBBotbClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const unsigned int & battleID /* r27 */, const class RBGuid & bandGuid /* r28 */, const class qList & principalIDs /* r29 */, class RBBotbPlayBattleResponse * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80232148 -> 0x802323C4 unsigned char RBBotbClient::CallGetBattleResultsByBand(class RBBotbClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const unsigned int & battleID /* r27 */, const class RBGuid & bandGuid /* r28 */, const unsigned int & bandsAround /* r29 */, const unsigned int & offset /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r24 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x802323C4 -> 0x80232630 unsigned char RBBotbClient::CallGetBattleResultsByRankRange(class RBBotbClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const unsigned int & battleID /* r28 */, const unsigned int & topRank /* r29 */, const unsigned int & bottomRank /* r30 */, class qList * results /* r31 */) { // Local variables class ScopedCS oCS; // r1+0x8 class Message msgRequest; // r1+0x10 class Message * pMsg; // r25 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80232630 -> 0x80232934 unsigned char RBBotbClient::CallGetBattleResultsByFriends(class RBBotbClient * const this /* r25 */, class ProtocolCallContext * pContext /* r26 */, const unsigned int & battleID /* r27 */, const class RBGuid & bandGuid /* r28 */, const class qList & principalIDs /* r29 */, class qList * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80232934 -> 0x80232C68 unsigned char RBBotbClient::CallRecordBattleScore(class RBBotbClient * const this /* r23 */, class ProtocolCallContext * pContext /* r24 */, const unsigned int & battleID /* r25 */, const class RBGuid & bandGuid /* r26 */, const unsigned int & score /* r27 */, const unsigned int & stars /* r28 */, const class qList & principalIDs /* r29 */, class RBBotbRecordBattleResponse * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80232C68 -> 0x80232FCC unsigned char RBBotbClient::CallGetDailyNews(class RBBotbClient * const this /* r21 */, class ProtocolCallContext * pContext /* r22 */, const class RBGuid & bandGuid /* r23 */, const class String & localeName /* r24 */, const class DateTime & lastTime /* r25 */, const class qList & principalIDs /* r26 */, const class String & lastCookies /* r27 */, class DateTime * curTime /* r28 */, class String * newCookies /* r29 */, class qList * results /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x48 class Message msgRequest; // r1+0x50 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x80232FCC -> 0x802332B8 unsigned char RBBotbClient::CallUpdateFriendList(class RBBotbClient * const this /* r26 */, class ProtocolCallContext * pContext /* r27 */, const unsigned int & principalID /* r28 */, const class qList & friends /* r29 */, unsigned char * result /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x802332B8 -> 0x8023344C void RBBotbClient::ExtractCallSpecificResults(class Message * pMessage /* r30 */, class ProtocolCallContext * pContext /* r31 */) { // Local variables unsigned short uiRMCID; // r3 } struct { // total size: 0x64 } __vt__Q26Quazal12RBBotbClient; // size: 0x64, address: 0x808B0368 struct { // total size: 0x8 } __RTTI__Q26Quazal12RBBotbClient; // size: 0x8, address: 0x808B0410 struct { // total size: 0xC } __vt__Q26Quazal14RBBotbNewsItem; // size: 0xC, address: 0x808B0418 struct { // total size: 0x8 } __RTTI__Q26Quazal14RBBotbNewsItem; // size: 0x8, address: 0x808B0450 struct { // total size: 0xC } __vt__Q26Quazal19_DDL_RBBotbNewsItem; // size: 0xC, address: 0x808B0458 struct { // total size: 0x8 } __RTTI__Q26Quazal19_DDL_RBBotbNewsItem; // size: 0x8, address: 0x808B0490 struct { // total size: 0xC } __vt__Q26Quazal15RBBotbBattleRow; // size: 0xC, address: 0x808B0498 struct { // total size: 0x8 } __RTTI__Q26Quazal15RBBotbBattleRow; // size: 0x8, address: 0x808B04D8 struct { // total size: 0xC } __vt__Q26Quazal20_DDL_RBBotbBattleRow; // size: 0xC, address: 0x808B04E0 struct { // total size: 0x8 } __RTTI__Q26Quazal20_DDL_RBBotbBattleRow; // size: 0x8, address: 0x808B0518 struct { // total size: 0xC } __vt__Q26Quazal20RBBotbCityWithBattle; // size: 0xC, address: 0x808B0520 struct { // total size: 0x8 } __RTTI__Q26Quazal20RBBotbCityWithBattle; // size: 0x8, address: 0x808B0560 struct { // total size: 0xC } __vt__Q26Quazal25_DDL_RBBotbCityWithBattle; // size: 0xC, address: 0x808B0568 struct { // total size: 0x8 } __RTTI__Q26Quazal25_DDL_RBBotbCityWithBattle; // size: 0x8, address: 0x808B05A8 struct { // total size: 0xC } __vt__Q26Quazal26RBBotbBattleParticipatedIn; // size: 0xC, address: 0x808B05B0 struct { // total size: 0x8 } __RTTI__Q26Quazal26RBBotbBattleParticipatedIn; // size: 0x8, address: 0x808B05F8 struct { // total size: 0xC } __vt__Q26Quazal31_DDL_RBBotbBattleParticipatedIn; // size: 0xC, address: 0x808B0600 struct { // total size: 0x8 } __RTTI__Q26Quazal31_DDL_RBBotbBattleParticipatedIn; // size: 0x8, address: 0x808B0648 struct { // total size: 0xC } __vt__Q26Quazal20RBBotbOpenBattleInfo; // size: 0xC, address: 0x808B0650 struct { // total size: 0x8 } __RTTI__Q26Quazal20RBBotbOpenBattleInfo; // size: 0x8, address: 0x808B0690 struct { // total size: 0xC } __vt__Q26Quazal25_DDL_RBBotbOpenBattleInfo; // size: 0xC, address: 0x808B0698 struct { // total size: 0x8 } __RTTI__Q26Quazal25_DDL_RBBotbOpenBattleInfo; // size: 0x8, address: 0x808B06D8 /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023344C -> 0x80235494 */ // Range: 0x8023344C -> 0x802335F4 void RBBotbClient::ProtoReturn_GetBattleById(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class RBBotbBattleDetails * pReturnLocation; // r0 int i; // r30 class RBBotbBattleDetails oDummyVar[1]; // r1+0x18 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal19RBBotbBattleDetails; // -> struct [anonymous] __vt__Q26Quazal24_DDL_RBBotbBattleDetails; } // Range: 0x802335F4 -> 0x8023396C void RBBotbClient::ProtoReturn_GetOpenBattles(class Message * pMsg /* r30 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r31 class qList oDummyVar[1]; // r1+0x28 int i; // r27 // References // -> struct [anonymous] __vt__Q26Quazal20RBBotbOpenBattleInfo; // -> struct [anonymous] __vt__Q26Quazal25_DDL_RBBotbOpenBattleInfo; } // Range: 0x8023396C -> 0x80233A3C void RBBotbClient::ProtoReturn_GetOpenBattleResultsByBand(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class RBBotbBattleResultsByBandInfo * pReturnLocation; // r0 int i; // r30 class RBBotbBattleResultsByBandInfo oDummyVar[1]; // r1+0x8 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal29RBBotbBattleResultsByBandInfo; // -> struct [anonymous] __vt__Q26Quazal34_DDL_RBBotbBattleResultsByBandInfo; } // Range: 0x80233A3C -> 0x80233B0C void RBBotbClient::ProtoReturn_GetClosedBattleResultsByBand(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class RBBotbBattleResultsByBandInfo * pReturnLocation; // r0 int i; // r30 class RBBotbBattleResultsByBandInfo oDummyVar[1]; // r1+0x8 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal29RBBotbBattleResultsByBandInfo; // -> struct [anonymous] __vt__Q26Quazal34_DDL_RBBotbBattleResultsByBandInfo; } // Range: 0x80233B0C -> 0x80233DE4 void RBBotbClient::ProtoReturn_GetBattlesByBand(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r30 class qList oDummyVar[1]; // r1+0x28 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal26RBBotbBattleParticipatedIn; // -> struct [anonymous] __vt__Q26Quazal31_DDL_RBBotbBattleParticipatedIn; } // Range: 0x80233DE4 -> 0x80234034 void RBBotbClient::ProtoReturn_GetCitiesWithOpenBattles(class Message * pMsg /* r31 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r23 class qList oDummyVar[1]; // r1+0x38 int i; // r23 // References // -> struct [anonymous] __vt__Q26Quazal20RBBotbCityWithBattle; // -> struct [anonymous] __vt__Q26Quazal25_DDL_RBBotbCityWithBattle; } // Range: 0x80234034 -> 0x80234148 void RBBotbClient::ProtoReturn_PlayBattle(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class RBBotbPlayBattleResponse * pReturnLocation; // r0 int i; // r30 class RBBotbPlayBattleResponse oDummyVar[1]; // r1+0x8 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal24RBBotbPlayBattleResponse; // -> struct [anonymous] __vt__Q26Quazal14RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBPlatformGuid; // -> struct [anonymous] __vt__Q26Quazal29_DDL_RBBotbPlayBattleResponse; } // Range: 0x80234148 -> 0x80234488 void RBBotbClient::ProtoReturn_GetBattleResultsByBand(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal15RBBotbBattleRow; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal20_DDL_RBBotbBattleRow; } // Range: 0x80234488 -> 0x802347C8 void RBBotbClient::ProtoReturn_GetBattleResultsByRankRange(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal15RBBotbBattleRow; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal20_DDL_RBBotbBattleRow; } // Range: 0x802347C8 -> 0x80234B08 void RBBotbClient::ProtoReturn_GetBattleResultsByFriends(class Message * pMsg /* r25 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r26 class qList oDummyVar[1]; // r1+0x28 int i; // r26 // References // -> struct [anonymous] __vt__Q26Quazal11_DDL_RBGuid; // -> struct [anonymous] __vt__Q26Quazal15RBBotbBattleRow; // -> struct [anonymous] __vt__Q26Quazal6RBGuid; // -> struct [anonymous] __vt__Q26Quazal20_DDL_RBBotbBattleRow; } // Range: 0x80234B08 -> 0x80234C14 void RBBotbClient::ProtoReturn_RecordBattleScore(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class RBBotbRecordBattleResponse * pReturnLocation; // r0 int i; // r30 class RBBotbRecordBattleResponse oDummyVar[1]; // r1+0x8 int i; // r30 // References // -> struct [anonymous] __vt__Q26Quazal26RBBotbRecordBattleResponse; // -> struct [anonymous] __vt__Q26Quazal31_DDL_RBBotbRecordBattleResponse; } // Range: 0x80234C14 -> 0x80234FF4 void RBBotbClient::ProtoReturn_GetDailyNews(class Message * pMsg /* r30 */, class ProtocolCallContext * pContext /* r31 */) { // Local variables int iArgIndex; // r24 class DateTime * pReturnLocation; // r0 int i; // r25 class DateTime oDummyVar[1]; // r1+0x58 int i; // r25 class String * pReturnLocation; // r0 int i; // r25 class String oDummyVar[1]; // r1+0x18 int i; // r25 class qList * pReturnLocation; // r0 int i; // r23 class qList oDummyVar[1]; // r1+0x50 int i; // r23 // References // -> struct [anonymous] __vt__Q26Quazal14RBBotbNewsItem; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBBotbNewsItem; } // Range: 0x80234FF4 -> 0x802350AC void RBBotbClient::ProtoReturn_GetDailyNewsCookies(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class String * pReturnLocation; // r0 int i; // r30 class String oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x802350AC -> 0x80235344 void RBBotbClient::ProtoReturn_GetBattleNews(class Message * pMsg /* r31 */) { // Local variables int iArgIndex; // r0 class qList * pReturnLocation; // r0 int i; // r23 class qList oDummyVar[1]; // r1+0x28 int i; // r23 // References // -> struct [anonymous] __vt__Q26Quazal14RBBotbNewsItem; // -> struct [anonymous] __vt__Q26Quazal19_DDL_RBBotbNewsItem; } // Range: 0x80235344 -> 0x802353FC void RBBotbClient::ProtoReturn_UnitTestBotb(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 class String * pReturnLocation; // r0 int i; // r30 class String oDummyVar[1]; // r1+0x8 int i; // r30 } // Range: 0x802353FC -> 0x80235494 void RBBotbClient::ProtoReturn_UpdateFriendList(class Message * pMsg /* r29 */) { // Local variables int iArgIndex; // r0 unsigned char * pReturnLocation; // r0 int i; // r30 unsigned char oDummyVar[1]; // r1+0x8 int i; // r30 } /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbOpenBattleInfoDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235494 -> 0x8023552C */ // Range: 0x80235494 -> 0x8023552C void * _DDL_RBBotbOpenBattleInfo::~_DDL_RBBotbOpenBattleInfo(class _DDL_RBBotbOpenBattleInfo * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleParticipatedInDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023552C -> 0x802355A0 */ // Range: 0x8023552C -> 0x802355A0 void * _DDL_RBBotbBattleParticipatedIn::~_DDL_RBBotbBattleParticipatedIn(class _DDL_RBBotbBattleParticipatedIn * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbCityWithBattleDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802355A0 -> 0x80235600 */ // Range: 0x802355A0 -> 0x80235600 void * _DDL_RBBotbCityWithBattle::~_DDL_RBBotbCityWithBattle(class _DDL_RBBotbCityWithBattle * const this /* r30 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleRowDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235600 -> 0x80235674 */ // Range: 0x80235600 -> 0x80235674 void * _DDL_RBBotbBattleRow::~_DDL_RBBotbBattleRow(class _DDL_RBBotbBattleRow * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbNewsItemDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235674 -> 0x802356E8 */ // Range: 0x80235674 -> 0x802356E8 void * _DDL_RBBotbNewsItem::~_DDL_RBBotbNewsItem(class _DDL_RBBotbNewsItem * const this /* r29 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbNewsItemDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802356E8 -> 0x80235730 */ // Range: 0x802356E8 -> 0x80235730 void _DDL_RBBotbNewsItem::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbNewsItem * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbOpenBattleInfoDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235730 -> 0x802357BC */ // Range: 0x80235730 -> 0x802357BC void _DDL_RBBotbOpenBattleInfo::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbOpenBattleInfo * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbPlayBattleResponseDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802357BC -> 0x80235844 */ // Range: 0x802357BC -> 0x80235844 void _DDL_RBBotbPlayBattleResponse::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbPlayBattleResponse * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbBattleSongInfoDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235844 -> 0x80235898 */ // Range: 0x80235844 -> 0x80235898 void _DDL_RBBotbBattleSongInfo::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbBattleSongInfo * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBBotbRecordBattleResponseDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235898 -> 0x8023590C */ // Range: 0x80235898 -> 0x8023590C void _DDL_RBBotbRecordBattleResponse::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBBotbRecordBattleResponse * pValue /* r31 */) {} /* Compile unit: C:\rockband2\band2\src\net_band\RBPresenceInfoDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023590C -> 0x80235954 */ // Range: 0x8023590C -> 0x80235954 void _DDL_RBPresenceInfo::Extract(class Message * pReceivedMessage /* r30 */, class _DDL_RBPresenceInfo * pValue /* r31 */) {} /* Compile unit: C:\rockband2\system\src\bandobj\Band.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235954 -> 0x80235994 */ class Symbol name; // size: 0x4, address: 0x80A4EB6C class Symbol name; // size: 0x4, address: 0x80A4EB74 class Symbol name; // size: 0x4, address: 0x80A4EB7C class Symbol name; // size: 0x4, address: 0x80A4EB84 class Symbol name; // size: 0x4, address: 0x80A4EB8C class Symbol name; // size: 0x4, address: 0x80A4EB94 class Symbol name; // size: 0x4, address: 0x80A4EB9C class Symbol name; // size: 0x4, address: 0x80A4EBA4 class Symbol name; // size: 0x4, address: 0x80A4EBAC class Symbol name; // size: 0x4, address: 0x80A4EBB4 class Symbol name; // size: 0x4, address: 0x80A4EBBC class Symbol name; // size: 0x4, address: 0x80A4EBC4 class Symbol name; // size: 0x4, address: 0x80A4EBCC class Symbol name; // size: 0x4, address: 0x80A4EBD4 class Symbol name; // size: 0x4, address: 0x80A4EBDC class Symbol name; // size: 0x4, address: 0x80A4EBE4 class Symbol name; // size: 0x4, address: 0x80A4EBEC class Symbol name; // size: 0x4, address: 0x80A4EBF4 class Symbol name; // size: 0x4, address: 0x80A4EBFC enum Color { kNone = -1, kNeutral = 0, kPlayer0 = 1, kPlayer1 = 2, }; class BandLeadMeter : public RndDir { // total size: 0x2B0 class ObjPtr mNeedle; // offset 0x1F4, size 0xC class ObjPtr mLogoGlow; // offset 0x200, size 0xC class ObjPtr mGlow0; // offset 0x20C, size 0xC class ObjPtr mGlow1; // offset 0x218, size 0xC class ObjPtr mPegged0; // offset 0x224, size 0xC class ObjPtr mPegged1; // offset 0x230, size 0xC class ObjPtr mLens; // offset 0x23C, size 0xC class ObjPtr mLensMatNeutral; // offset 0x248, size 0xC class ObjPtr mLensMat0; // offset 0x254, size 0xC class ObjPtr mLensMat1; // offset 0x260, size 0xC int mMaxLead; // offset 0x26C, size 0x4 int mScoreDiff; // offset 0x270, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMultiMesh * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct MeshInstance { // total size: 0x1C class ObjPtr path; // offset 0x0, size 0xC class ObjPtr parentTrans; // offset 0xC, size 0xC float frame; // offset 0x18, size 0x4 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndParticleSys * mPtr; // offset 0x8, size 0x4 }; class BandMeshLauncher : public RndPollable { // total size: 0xF0 protected: class ObjPtr mMultiMesh; // offset 0x8, size 0xC class list mInstances; // offset 0x14, size 0x8 class ObjPtr mPart; // offset 0x1C, size 0xC class ObjPtr mTrans; // offset 0x28, size 0xC int mNumParts; // offset 0x34, size 0x4 unsigned char mUseLife; // offset 0x38, size 0x1 float mLife; // offset 0x3C, size 0x4 unsigned char mUseSpeed; // offset 0x40, size 0x1 float mSpeed; // offset 0x44, size 0x4 unsigned char mUseSize; // offset 0x48, size 0x1 float mSize; // offset 0x4C, size 0x4 unsigned char mUseDeltaSize; // offset 0x50, size 0x1 float mDeltaSize; // offset 0x54, size 0x4 unsigned char mUseStartColor; // offset 0x58, size 0x1 class Color mStartColor; // offset 0x60, size 0x10 unsigned char mUseMidColor; // offset 0x70, size 0x1 class Color mMidColor; // offset 0x80, size 0x10 unsigned char mUseEndColor; // offset 0x90, size 0x1 class Color mEndColor; // offset 0xA0, size 0x10 unsigned char mUseEmitDirection; // offset 0xB0, size 0x1 class Vector2 mPitch; // offset 0xB4, size 0x8 class Vector2 mYaw; // offset 0xBC, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; enum PlayerSetting { kPlayerShared = -2, kPlayerNone = -1, kPlayer1 = 0, kPlayer2 = 1, }; class BandScoreDisplay : public RndDir { // total size: 0x260 int mScore; // offset 0x1F4, size 0x4 class ObjVector mDigitMeshs; // offset 0x1F8, size 0x10 class ObjVector mDigitMats; // offset 0x208, size 0x10 class ObjPtr mBlankMat; // offset 0x218, size 0xC enum PlayerSetting mPlayer; // offset 0x224, size 0x4 }; class BandStarMeter : public RndDir { // total size: 0x290 float mValue; // offset 0x1F4, size 0x4 float mDisplayValue; // offset 0x1F8, size 0x4 unsigned char mUsing; // offset 0x1FC, size 0x1 class ObjPtr mGroup; // offset 0x200, size 0xC class ObjPtr mFillGroup; // offset 0x20C, size 0xC class ObjPtr mReadyGroup; // offset 0x218, size 0xC class ObjPtr mAnimGroup; // offset 0x224, size 0xC class ObjPtr mEngageAnim0; // offset 0x230, size 0xC class ObjPtr mEngageAnim1; // offset 0x23C, size 0xC unsigned char mEngage0; // offset 0x248, size 0x1 unsigned char mEngage1; // offset 0x249, size 0x1 float mReadyLevel; // offset 0x24C, size 0x4 enum PlayerSetting mPlayer; // offset 0x250, size 0x4 }; enum StreakColor { kColorNone = 0, kColor2x = 1, kColor3x = 2, kColor4x = 3, kColorStar = 4, kNumStreakColors = 5, }; class BandStreakDisplay : public RndDir { // total size: 0x320 class ObjVector mLedMats; // offset 0x1F4, size 0x10 int mStreak; // offset 0x204, size 0x4 int mMultiplier; // offset 0x208, size 0x4 unsigned char mStarMode; // offset 0x20C, size 0x1 class ObjVector mStreakLeds; // offset 0x210, size 0x10 class ObjPtr mScoreFrame; // offset 0x220, size 0xC class ObjPtr mMultFrame; // offset 0x22C, size 0xC class ObjPtr mMultGlow; // offset 0x238, size 0xC class ObjPtr mColors; // offset 0x244, size 0xC class ObjPtr mShakeAnim; // offset 0x250, size 0xC class ObjVector mDigitMats; // offset 0x25C, size 0x10 class ObjPtr mMultMesh; // offset 0x26C, size 0xC class ObjPtr mXMesh; // offset 0x278, size 0xC class ObjPtr mMatBlank; // offset 0x284, size 0xC class ObjPtr mMatX; // offset 0x290, size 0xC enum PlayerSetting mPlayer; // offset 0x29C, size 0x4 float mHideTime[2]; // offset 0x2A0, size 0x8 class ObjPtr mBlown0; // offset 0x2A8, size 0xC class ObjPtr mBlown1; // offset 0x2B4, size 0xC class ObjPtr mBlownMat; // offset 0x2C0, size 0xC float mBlownDisplayTime; // offset 0x2CC, size 0x4 class ObjPtr mTextX; // offset 0x2D0, size 0xC class ObjPtr mTextMult; // offset 0x2DC, size 0xC }; class H2HTrackPanelDir : public TrackPanelDirBase { // total size: 0x320 protected: int mTestScore; // offset 0x2B0, size 0x4 class BandTrack * mTrack0; // offset 0x2B4, size 0x4 class BandTrack * mTrack1; // offset 0x2B8, size 0x4 unsigned char mScoreDuel; // offset 0x2BC, size 0x1 class Symbol mInstrument; // offset 0x2C0, size 0x4 unsigned char mVocalGame; // offset 0x2C4, size 0x1 class BandTrack * mFirstSoloTrack; // offset 0x2C8, size 0x4 class Symbol mFirstSoloResult; // offset 0x2CC, size 0x4 int mFirstSoloPoints; // offset 0x2D0, size 0x4 class EndingBonus * mEndingBonus0; // offset 0x2D4, size 0x4 class EndingBonus * mEndingBonus1; // offset 0x2D8, size 0x4 }; class Label3d : public RndTransformable, private RndDrawable { // total size: 0x180 class String mText; // offset 0xF4, size 0xC class RndTransformable * mTrans; // offset 0x100, size 0x4 class FilePath mResourceFile; // offset 0x104, size 0xC float mMaxWidth; // offset 0x110, size 0x4 unsigned char mAllCaps; // offset 0x114, size 0x1 class ObjDirPtr mResource; // offset 0x118, size 0xC float mJitterDepth; // offset 0x124, size 0x4 float mJitterHeight; // offset 0x128, size 0x4 class ObjPtrList mText3d; // offset 0x12C, size 0x14 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharClipSet * mPtr; // offset 0x8, size 0x4 }; class LoadingPanelDir : public WorldDir { // total size: 0x510 protected: class FilePath mClipPath; // offset 0x414, size 0xC class ObjPtr mClipSet; // offset 0x420, size 0xC class CompositeCharacter * mEditChar; // offset 0x42C, size 0x4 class ObjPtr mVocalPose; // offset 0x430, size 0xC class ObjPtr mGuitarPose; // offset 0x43C, size 0xC class ObjPtr mBassPose; // offset 0x448, size 0xC class ObjPtr mDrumPose; // offset 0x454, size 0xC class ObjDirPtr mStoredVocalClips; // offset 0x460, size 0xC class ObjDirPtr mStoredGuitarClips; // offset 0x46C, size 0xC class ObjDirPtr mStoredBassClips; // offset 0x478, size 0xC class ObjDirPtr mStoredDrumClips; // offset 0x484, size 0xC class ObjPtr mH2hPose0; // offset 0x490, size 0xC class ObjPtr mH2hPose1; // offset 0x49C, size 0xC class ObjDirPtr mStoredH2h0Clips; // offset 0x4A8, size 0xC class ObjDirPtr mStoredH2h1Clips; // offset 0x4B4, size 0xC class String mH2hCharType; // offset 0x4C0, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class BandCrowdMeter * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class EndingBonus * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Scoreboard * mPtr; // offset 0x8, size 0x4 }; class TrackPanelDir : public TrackPanelDirBase { // total size: 0x370 int mMultiplier; // offset 0x2B0, size 0x4 int mTestMultiplier; // offset 0x2B4, size 0x4 int mBass; // offset 0x2B8, size 0x4 int mDrum; // offset 0x2BC, size 0x4 int mGuitar; // offset 0x2C0, size 0x4 int mVocals; // offset 0x2C4, size 0x4 class ObjPtr mVocalTrack; // offset 0x2C8, size 0xC class ObjPtr mGuitarTrack; // offset 0x2D4, size 0xC class ObjPtr mDrumTrack; // offset 0x2E0, size 0xC class ObjPtr mBassTrack; // offset 0x2EC, size 0xC class ObjPtr mCrowdMeter; // offset 0x2F8, size 0xC class ObjPtr mBandScoreMultiplier; // offset 0x304, size 0xC class ObjPtr mBandScoreMultiplierTrig; // offset 0x310, size 0xC class ObjPtr mEndingBonus; // offset 0x31C, size 0xC class ObjPtr mScoreboard; // offset 0x328, size 0xC unsigned char mShowScoreMultiplier; // offset 0x334, size 0x1 }; // Range: 0x80235954 -> 0x80235994 void BandTerminate() {} /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235994 -> 0x80235F40 */ // Range: 0x80235994 -> 0x80235ECC void BandInit() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; } // Range: 0x80235ECC -> 0x80235F40 class Object * TrackPanelDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandCamShot.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235F40 -> 0x80235FB4 */ // Range: 0x80235F40 -> 0x80235FB4 class Object * BandCamShot::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandCrowdMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80235FB4 -> 0x80236028 */ // Range: 0x80235FB4 -> 0x80236028 class Object * BandCrowdMeter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandLeadMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80236028 -> 0x8023609C */ // Range: 0x80236028 -> 0x8023609C class Object * BandLeadMeter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandMeshLauncher.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023609C -> 0x80236110 */ // Range: 0x8023609C -> 0x80236110 class Object * BandMeshLauncher::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandPowerMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80236110 -> 0x80236184 */ // Range: 0x80236110 -> 0x80236184 class Object * BandPowerMeter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandScoreDisplay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80236184 -> 0x802361F8 */ // Range: 0x80236184 -> 0x802361F8 class Object * BandScoreDisplay::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandStarMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802361F8 -> 0x8023626C */ // Range: 0x802361F8 -> 0x8023626C class Object * BandStarMeter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandStreakDisplay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023626C -> 0x802362E0 */ // Range: 0x8023626C -> 0x802362E0 class Object * BandStreakDisplay::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\CrowdMeterIcon.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802362E0 -> 0x80236354 */ // Range: 0x802362E0 -> 0x80236354 class Object * CrowdMeterIcon::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\EndingBonus.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80236354 -> 0x802363C8 */ // Range: 0x80236354 -> 0x802363C8 class Object * EndingBonus::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\EventCompleteDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802363C8 -> 0x8023643C */ // Range: 0x802363C8 -> 0x8023643C class Object * EventCompleteDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\GemTrackDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023643C -> 0x802364B0 */ // Range: 0x8023643C -> 0x802364B0 class Object * GemTrackDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\H2HTrackPanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802364B0 -> 0x80236524 */ // Range: 0x802364B0 -> 0x80236524 class Object * H2HTrackPanelDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\Label3d.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80236524 -> 0x8023659C */ // Range: 0x80236524 -> 0x8023659C class Object * Label3d::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\LoadingPanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023659C -> 0x80236610 */ // Range: 0x8023659C -> 0x80236610 class Object * LoadingPanelDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\StreakMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80236610 -> 0x80236684 */ // Range: 0x80236610 -> 0x80236684 class Object * StreakMeter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\Scoreboard.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80236684 -> 0x802366F8 */ // Range: 0x80236684 -> 0x802366F8 class Object * Scoreboard::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\VocalTrackDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802366F8 -> 0x8023676C */ // Range: 0x802366F8 -> 0x8023676C class Object * VocalTrackDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandButton.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023676C -> 0x802391F8 */ class DataArray * types; // size: 0x4, address: 0x80A4EC00 class Symbol name; // size: 0x4, address: 0x80A4EC08 float sAnimDuration; // size: 0x4, address: 0x80A46A50 // Range: 0x8023676C -> 0x8023685C void BandButton::Init() { // Local variables class DataArray * a; // r31 // References // -> float sAnimDuration; // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x8023685C -> 0x80236860 void BandButton::Terminate() {} // Range: 0x80236860 -> 0x802369B4 void * BandButton::BandButton(class BandButton * const this /* r31 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__10BandButton; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802369B4 -> 0x802369EC void BandButton::Enter(class BandButton * const this /* r31 */) {} // Range: 0x802369EC -> 0x80236AC8 void BandButton::Copy(class BandButton * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class BandButton * b; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10BandButton; } static int BUTTON_REV; // size: 0x4, address: 0x80A46A54 // Range: 0x80236AC8 -> 0x80236B0C void BandButton::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A4EC0C // Range: 0x80236B0C -> 0x80236B68 void BandButton::Load(class BandButton * const this /* r30 */, class BinStream & d /* r31 */) {} static class Symbol default_colors; // size: 0x4, address: 0x80A4EC14 // Range: 0x80236B68 -> 0x80237168 void BandButton::PreLoad(class BandButton * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables unsigned char all_caps; // r29 int seed; // r1+0x5C float delta_x; // r1+0x58 float delta_z; // r1+0x54 float delta_rot; // r1+0x50 class Symbol style; // r1+0x4C class Matrix3 m; // r1+0x70 int fitText; // r1+0x48 int seed; // r1+0x44 float delta_x; // r1+0x40 float delta_z; // r1+0x3C float delta_rot; // r1+0x38 class Color c; // r1+0x60 int fitText; // r1+0x34 int seed; // r1+0x30 float delta_x; // r1+0x2C float delta_z; // r1+0x28 float delta_rot; // r1+0x24 float wrap_width; // r1+0x20 // References // -> static class Symbol default_colors; // -> const char * gNullStr; // -> class Debug TheDebug; // -> static int BUTTON_REV; // -> static int gRev; } // Range: 0x80237168 -> 0x80237268 void BandButton::PostLoad(class BandButton * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class ObjectDir * dir; // r4 class ObjPtr text_mesh; // r1+0x8 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> static int gRev; } static class Symbol text; // size: 0x4, address: 0x80A4EC1C class RndEnvironTracker { // total size: 0x8 protected: class RndEnviron * mOld; // offset 0x0, size 0x4 const class Vector3 * mOldPos; // offset 0x4, size 0x4 }; // Range: 0x80237268 -> 0x802375DC void BandButton::DrawShowing(class BandButton * const this /* r31 */) { // Local variables float min_scale; // f31 float max_scale; // f30 const class DataNode * fs; // r0 int i; // r30 float tmp; // f0 float r; // f1 float s; // f0 class Transform xfm; // r1+0x30 class RndText * t; // r3 class RndEnvironTracker _rndEnvironTracker; // r1+0x20 // References // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; // -> static class Symbol text; // -> float sAnimDuration; // -> class TaskMgr TheTaskMgr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802375DC -> 0x8023767C void BandButton::Highlight(class BandButton * const this /* r31 */) { // Local variables struct _List_iterator m; // r1+0x10 } // Range: 0x8023767C -> 0x80237780 class RndDrawable * BandButton::CollideShowing(class BandButton * const this /* r27 */, const class Segment & s /* r28 */, float & dist /* r29 */, class Plane & plane /* r30 */) { // Local variables class RndDrawable * c; // r31 struct _List_iterator m; // r1+0x10 } // Range: 0x80237780 -> 0x80237860 int BandButton::CollidePlane(class BandButton * const this /* r29 */, const class Plane & plane /* r30 */) { // Local variables int collide; // r31 struct _List_iterator m; // r1+0x10 } // Range: 0x80237860 -> 0x802379AC void BandButton::SetState(class BandButton * const this /* r30 */) { // Local variables enum State oldState; // r0 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x802379AC -> 0x802379C4 void BandButton::SetSelected() {} // Range: 0x802379C4 -> 0x80237A68 void BandButton::PlayAnim(class BandButton * const this /* r28 */, const class String & animName /* r29 */) { // Local variables int i; // r30 } // Range: 0x80237A68 -> 0x80237B0C void BandButton::StopAnim(class BandButton * const this /* r28 */, const class String & animName /* r29 */) { // Local variables int i; // r30 } // Range: 0x80237B0C -> 0x80237BB4 unsigned char BandButton::IsAnimPlaying(class BandButton * const this /* r28 */, const class String & animName /* r29 */) { // Local variables int i; // r30 } // Range: 0x80237BB4 -> 0x80237C1C void * AnimPlayer::AnimPlayer(struct AnimPlayer * const this /* r29 */, class RndAnimatable * anim /* r30 */, float startFrame /* f31 */, unsigned char loop /* r31 */) {} // Range: 0x80237C1C -> 0x80237C68 void AnimPlayer::Play(struct AnimPlayer * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80237C68 -> 0x80237C74 void AnimPlayer::Stop() {} // Range: 0x80237C74 -> 0x80237DD4 void AnimPlayer::Poll(struct AnimPlayer * const this /* r31 */) { // Local variables float frame; // f30 // References // -> class TaskMgr TheTaskMgr; } static class Symbol text; // size: 0x4, address: 0x80A4EC24 // Range: 0x80237DD4 -> 0x802386D0 void BandButton::Update(class BandButton * const this /* r30 */) { // Local variables class DataArray * sa; // r27 class DataArray * sa; // r27 class DataArray * sa; // r27 class DataArray * sa; // r27 class DataArray * sa; // r27 class DataArray * sa; // r27 class RndText * t; // r3 // References // -> static class Symbol text; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x802386D0 -> 0x80238744 void BandButton::UpdateMat(class RndMat * mat /* r31 */) { // Local variables class Color c; // r1+0x10 } // Range: 0x80238744 -> 0x802388CC void BandButton::SyncMeshes(class BandButton * const this /* r30 */) { // Local variables class Transform mesh_xfm; // r1+0x50 class Transform anim_xfm; // r1+0x10 float frame; // f1 // References // -> int sSelectFrames; } static class Symbol _s; // size: 0x4, address: 0x80A4EC2C static class Symbol _s; // size: 0x4, address: 0x80A4EC34 static class Symbol _s; // size: 0x4, address: 0x80A4EC3C // Range: 0x802388CC -> 0x80238EF0 class DataNode BandButton::Handle(class BandButton * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x60 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4EC44 static class Symbol _s; // size: 0x4, address: 0x80A4EC4C // Range: 0x80238EF0 -> 0x80239090 unsigned char BandButton::SyncProperty(class BandButton * const this /* r27 */, class DataNode & _val /* r31 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80239090 -> 0x802391F8 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct UIMat { // total size: 0x8 class Symbol mState; // offset 0x0, size 0x4 class RndMat * mMat; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct UIMesh { // total size: 0xC class RndMesh * mMesh; // offset 0x0, size 0x4 class list mMats; // offset 0x4, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x14 public: struct UIMesh _M_data; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct UIFont { // total size: 0x8 class Symbol mState; // offset 0x0, size 0x4 class RndFont * mFont; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct UIText { // total size: 0x10 class Symbol mTextName; // offset 0x0, size 0x4 class RndText * mText; // offset 0x4, size 0x4 class list mFonts; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class UIResource { // total size: 0x38 class DataArray * mData; // offset 0x0, size 0x4 const class UIResource * mClassResource; // offset 0x4, size 0x4 int mRefCount; // offset 0x8, size 0x4 class FilePath mResourcePath; // offset 0xC, size 0xC class ObjDirPtr mDir; // offset 0x18, size 0xC class Symbol mID; // offset 0x24, size 0x4 class list mMeshes; // offset 0x28, size 0x8 class list mTexts; // offset 0x30, size 0x8 }; struct { // total size: 0x174 } __vt__10BandButton; // size: 0x174, address: 0x808B0A38 struct { // total size: 0x18 } __vt__27ObjPtr<7RndMesh,9ObjectDir>; // size: 0x18, address: 0x808B0C18 struct { // total size: 0x8 } __RTTI__27ObjPtr<7RndMesh,9ObjectDir>; // size: 0x8, address: 0x808B0C58 struct { // total size: 0x64 } __vt__16RndHighlightable; // size: 0x64, address: 0x808B0E38 struct { // total size: 0x8 } __RTTI__PQ210BandButton10AnimPlayer; // size: 0x8, address: 0x808B0F38 /* Compile unit: C:\rockband2\system\src\bandobj\BandButton.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802391F8 -> 0x8023944C */ // Range: 0x802391F8 -> 0x80239270 class Object * BandButton::NewObject() { // References // -> class Symbol name; } // Range: 0x80239270 -> 0x802392B4 class Symbol BandButton::ClassName() { // References // -> class Symbol name; } // Range: 0x802392B4 -> 0x8023944C void BandButton::SetType(class BandButton * const this /* r29 */, class Symbol & BandButton /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Highlight.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023944C -> 0x8023956C */ // Range: 0x8023944C -> 0x802394C0 void * RndHighlightable::~RndHighlightable(class RndHighlightable * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8023956C -> 0x80239844 */ // Range: 0x8023956C -> 0x802395E4 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; } // Range: 0x802395E4 -> 0x8023978C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x8023978C -> 0x80239794 class Object * ObjPtr::RefOwner() {} // Range: 0x80239794 -> 0x80239844 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239BD0 -> 0x80239CD4 */ // Range: 0x80239BD0 -> 0x80239C60 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, class Symbol & t2 /* r29 */, int t3 /* r30 */, int t4 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x80239C60 -> 0x80239CD4 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, char * t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\rndobj\Draw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239CD4 -> 0x80239D0C */ // Range: 0x80239CD4 -> 0x80239CD8 void RndDrawable::DrawShowing() {} // Range: 0x80239CD8 -> 0x80239CDC void RndDrawable::DrawPreClear() {} // Range: 0x80239CDC -> 0x80239CE0 void RndDrawable::ListDrawChildren() {} // Range: 0x80239CE0 -> 0x80239CE4 void RndDrawable::Mats() {} // Range: 0x80239CE4 -> 0x80239CEC class RndCam * RndDrawable::CamOverride() {} // Range: 0x80239CEC -> 0x80239CF4 unsigned char RndDrawable::MakeWorldSphere() {} // Range: 0x80239CF4 -> 0x80239D0C void RndDrawable::UpdateSphere() {} /* Compile unit: C:\rockband2\system\src\rndobj\Mesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239D0C -> 0x80239D10 */ // Range: 0x80239D0C -> 0x80239D10 void RndMesh::Highlight() {} /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239D10 -> 0x80239D14 */ // Range: 0x80239D10 -> 0x80239D14 void RndTransformable::UpdatedWorldXfm() {} /* Compile unit: C:\rockband2\system\src\rndobj\Poll.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239D14 -> 0x80239D18 */ // Range: 0x80239D14 -> 0x80239D18 void RndPollable::ListPollChildren() {} /* Compile unit: C:\rockband2\system\src\ui\Component.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239D18 -> 0x80239D20 */ // Range: 0x80239D18 -> 0x80239D20 unsigned char UIComponent::Entering() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239D20 -> 0x80239FB4 */ // Range: 0x80239D20 -> 0x80239FB4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct AnimPlayer * __pos /* r26 */, const struct AnimPlayer & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct AnimPlayer * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210BandButton10AnimPlayer; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\bandobj\BandCamShot.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80239FB4 -> 0x80240214 */ class DataArray * types; // size: 0x4, address: 0x80A4EC50 unsigned char mShotLOD; // size: 0x1, address: 0x80A4EC55 // Range: 0x80239FB4 -> 0x8023A148 void * BandCamShot::BandCamShot(class BandCamShot * const this /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11BandCamShot,9ObjectDir>; // -> struct [anonymous] __vt__11BandCamShot; } class _List_node : public _List_node_base { // total size: 0x120 public: struct Target _M_data; // offset 0x10, size 0x110 }; static int gRev; // size: 0x4, address: 0x80A4EC58 // Range: 0x8023A148 -> 0x8023A72C class BinStream & __rs(class BinStream & d /* r30 */, struct Target & e /* r31 */) { // Local variables class Transform a; // r1+0x20 float freezeTime; // r1+0x18 // References // -> const char * gNullStr; // -> static int gRev; // -> struct [anonymous] __RTTI__9Character; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8023A72C -> 0x8023A84C void BandCamShot::Replace(class BandCamShot * const this /* r27 */, class Object * from /* r28 */, class Object * to /* r29 */) { // Local variables struct _List_iterator i; // r1+0x10 // References // -> struct [anonymous] __RTTI__9Character; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x8023A84C -> 0x8023A890 void BandCamShot::Save() { // References // -> class Debug TheDebug; } static class Symbol event_start; // size: 0x4, address: 0x80A4EC60 static class Symbol event_end; // size: 0x4, address: 0x80A4EC68 static class Symbol min_time; // size: 0x4, address: 0x80A4EC70 static class Symbol max_time; // size: 0x4, address: 0x80A4EC78 // Range: 0x8023A890 -> 0x8023AD44 void BandCamShot::Load(class BandCamShot * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables const class DataNode * startNode; // r0 const class DataNode * endNode; // r0 const class DataNode * val; // r0 // References // -> static class Symbol max_time; // -> static class Symbol min_time; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> static class Symbol event_end; // -> static class Symbol event_start; // -> const char * gNullStr; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8023AD44 -> 0x8023B1E4 void BandCamShot::Copy(class BandCamShot * const this /* r28 */, const class Object * o /* r26 */) { // Local variables const class BandCamShot * c; // r0 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; } static class Message msg; // size: 0x8, address: 0x8097CD58 // Range: 0x8023B1E4 -> 0x8023B4B8 void BandCamShot::TeleportTarget(class BandCamShot * const this /* r30 */, class RndTransformable * target /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9Character; } static class Message msg; // size: 0x8, address: 0x8097CD70 static class Symbol hands; // size: 0x4, address: 0x80A4EC80 // Range: 0x8023B4B8 -> 0x8023BDC0 void BandCamShot::StartAnim(class BandCamShot * const this /* r25 */) { // Local variables struct _List_iterator i; // r1+0x20 class CompositeCharacter * cc; // r27 class vector & cats; // r0 int cat_index; // r26 unsigned char hide; // r0 class UIProxy * p; // r0 // References // -> unsigned char mShotLOD; // -> class WiiRnd TheWiiRnd; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__7UIProxy; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> static class Symbol hands; // -> struct [anonymous] __RTTI__9Character; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8023BDC0 -> 0x8023BFFC void BandCamShot::SetFrame(class BandCamShot * const this /* r30 */, float frame /* f30 */, float blend /* f31 */) { // Local variables struct _List_iterator i; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8023BFFC -> 0x8023C04C void BandCamShot::SortTriggers(class BandCamShot * const this /* r31 */) {} class TriggerCompare { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x8023C04C -> 0x8023C09C void BandCamShot::ResetCurTrigger() {} // Range: 0x8023C09C -> 0x8023C3F4 void BandCamShot::AdjustIK(class RndTransformable * target /* r30 */, class RndTransformable * bone /* r29 */, class RndTransformable * world /* r31 */) { // Local variables class Transform bli; // r1+0xF0 class Transform bi; // r1+0xB0 class Transform tw; // r1+0x70 class Transform inv; // r1+0x30 } // Range: 0x8023C3F4 -> 0x8023C594 void BandCamShot::EndAnim(class BandCamShot * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 class UIProxy * p; // r0 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__7UIProxy; } // Range: 0x8023C594 -> 0x8023C5F8 void BandCamShot::Store(class BandCamShot * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x8023C5F8 -> 0x8023C75C void BandCamShot::View(class BandCamShot * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8023C75C -> 0x8023C7B4 void BandCamShot::FreezeChar(unsigned char freeze /* r31 */) { // Local variables class CompositeCharacter * cc; // r0 // References // -> struct [anonymous] __RTTI__9Character; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x8023C7B4 -> 0x8023C87C void BandCamShot::ViewFreeze(class BandCamShot * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x10 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8023C87C -> 0x8023C8F0 void BandCamShot::Stop(class BandCamShot * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x8023C8F0 -> 0x8023D254 class DataNode BandCamShot::AddTarget(class BandCamShot * const this /* r28 */, class DataArray * target /* r30 */) { // Local variables struct Target t; // r1+0x140 // References // -> struct [anonymous] __RTTI__9Character; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8023D254 -> 0x8023D29C float BandCamShot::GetTotalDuration() { // Local variables float dur; // f31 } // Range: 0x8023D29C -> 0x8023D2BC int BandCamShot::GetNumShots() { // Local variables int count; // r4 const class BandCamShot * shot; // r3 } // Range: 0x8023D2BC -> 0x8023D318 float BandCamShot::GetTotalDurationSeconds(class BandCamShot * const this /* r31 */) { // Local variables float dur; // f31 } // Range: 0x8023D318 -> 0x8023D3C4 void BandCamShot::CheckNextShot(class BandCamShot * const this /* r30 */) { // Local variables class BandCamShot * cam; // r31 // References // -> class Debug TheDebug; } // Range: 0x8023D3C4 -> 0x8023D4E0 class BandCamShot * BandCamShot::InitialShot(class BandCamShot * const this /* r29 */) { // Local variables class BandCamShot * cur; // r31 struct _List_iterator i; // r1+0x20 class BandCamShot * prev; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; } // Range: 0x8023D4E0 -> 0x8023D52C class BinStream & __rs(class BinStream & d /* r30 */, class TimedTrigger & t /* r31 */) {} // Range: 0x8023D52C -> 0x8023D558 void * TimedTrigger::TimedTrigger() { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x8023D558 -> 0x8023D5BC void * TimedTrigger::TimedTrigger(class TimedTrigger * const this /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x8023D5BC -> 0x8023D630 class TimedTrigger & TimedTrigger::__as(class TimedTrigger * const this /* r30 */) {} static class BandCamShot * gOwner; // size: 0x4, address: 0x80A4EC84 // Range: 0x8023D630 -> 0x8023D638 static void SyncFrames() { // References // -> static class BandCamShot * gOwner; } // Range: 0x8023D638 -> 0x8023D790 void Target::Store(struct Target * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9Character; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8023D790 -> 0x8023D824 void Target::UpdateTarget(struct Target * const this /* r30 */, class RndTransformable * target /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A4EC8C static class Symbol _s; // size: 0x4, address: 0x80A4EC94 // Range: 0x8023D824 -> 0x8023D9E8 unsigned char PropSync(class TimedTrigger & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8023D9E8 -> 0x8023DB38 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4EC9C static class Symbol _s; // size: 0x4, address: 0x80A4ECA4 static class Symbol _s; // size: 0x4, address: 0x80A4ECAC static class Symbol _s; // size: 0x4, address: 0x80A4ECB4 static class Symbol _s; // size: 0x4, address: 0x80A4ECBC static class Symbol _s; // size: 0x4, address: 0x80A4ECC4 static class Symbol _s; // size: 0x4, address: 0x80A4ECCC static class Symbol _s; // size: 0x4, address: 0x80A4ECD4 static class Symbol _s; // size: 0x4, address: 0x80A4ECDC static class Symbol _s; // size: 0x4, address: 0x80A4ECE4 static class Symbol _s; // size: 0x4, address: 0x80A4ECEC static class Symbol _s; // size: 0x4, address: 0x80A4ECF4 static class Symbol _s; // size: 0x4, address: 0x80A4ECFC static class Symbol _s; // size: 0x4, address: 0x80A4ED04 static class Symbol _s; // size: 0x4, address: 0x80A4ED0C static class Symbol _s; // size: 0x4, address: 0x80A4ED14 static class Symbol _s; // size: 0x4, address: 0x80A4ED1C static class Symbol _s; // size: 0x4, address: 0x80A4ED24 static class Symbol _s; // size: 0x4, address: 0x80A4ED2C static class Symbol _s; // size: 0x4, address: 0x80A4ED34 // Range: 0x8023DB38 -> 0x8023EAA8 unsigned char PropSync(struct Target & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class BandCamShot * gOwner; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4ED3C static class Symbol _s; // size: 0x4, address: 0x80A4ED44 static class Symbol _s; // size: 0x4, address: 0x80A4ED4C static class Symbol _s; // size: 0x4, address: 0x80A4ED54 static class Symbol _s; // size: 0x4, address: 0x80A4ED5C static class Symbol _s; // size: 0x4, address: 0x80A4ED64 static class Symbol _s; // size: 0x4, address: 0x80A4ED6C static class Symbol _s; // size: 0x4, address: 0x80A4ED74 static class Symbol _s; // size: 0x4, address: 0x80A4ED7C // Range: 0x8023EAA8 -> 0x8023F0D4 unsigned char BandCamShot::SyncProperty(class BandCamShot * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class BandCamShot * gOwner; } // Range: 0x8023F0D4 -> 0x8023F334 unsigned char PropSync(class ObjVector & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r27 */, int i /* r30 */, enum PropOp op /* r29 */) { // Local variables class TimedTrigger * it; // r28 class TimedTrigger tmp; // r1+0x20 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std34_List_node; // size: 0x8, address: 0x808B1328 static class Symbol _s; // size: 0x4, address: 0x80A4ED84 static class Symbol _s; // size: 0x4, address: 0x80A4ED8C static class Symbol _s; // size: 0x4, address: 0x80A4ED94 static class Symbol _s; // size: 0x4, address: 0x80A4ED9C static class Symbol _s; // size: 0x4, address: 0x80A4EDA4 static class Symbol _s; // size: 0x4, address: 0x80A4EDAC static class Symbol _s; // size: 0x4, address: 0x80A4EDB4 static class Symbol _s; // size: 0x4, address: 0x80A4EDBC static class Symbol _s; // size: 0x4, address: 0x80A4EDC4 static class Symbol _s; // size: 0x4, address: 0x80A4EDCC static class Symbol _s; // size: 0x4, address: 0x80A4EDD4 // Range: 0x8023F334 -> 0x8024010C class DataNode BandCamShot::Handle(class BandCamShot * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8024010C -> 0x80240214 class DataNode BandCamShot::OnTestDelta(class BandCamShot * const this /* r30 */, class DataArray * arr /* r31 */) { // Local variables float delta30fps; // f0 } struct { // total size: 0xA4 } __vt__11BandCamShot; // size: 0xA4, address: 0x808B14E0 struct { // total size: 0x18 } __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // size: 0x18, address: 0x808B1640 struct { // total size: 0x8 } __RTTI__33ObjPtr<12EventTrigger,9ObjectDir>; // size: 0x8, address: 0x808B1688 struct { // total size: 0x18 } __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // size: 0x18, address: 0x808B1948 struct { // total size: 0x8 } __RTTI__37ObjPtr<16RndTransformable,9ObjectDir>; // size: 0x8, address: 0x808B1990 struct { // total size: 0x18 } __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // size: 0x18, address: 0x808B1998 struct { // total size: 0x8 } __RTTI__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // size: 0x8, address: 0x808B19E8 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211BandCamShot12TimedTrigger; // size: 0x8, address: 0x808B1AB0 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802403CC -> 0x802403D0 */ // Range: 0x802403CC -> 0x802403D0 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802403D0 -> 0x802412B8 */ // Range: 0x802403D0 -> 0x80240440 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80240440 -> 0x802404D8 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802404D8 -> 0x802405A4 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjOwnerPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802405A4 -> 0x8024073C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; } // Range: 0x8024073C -> 0x802408E4 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x802408E4 -> 0x80240A7C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x80240A7C -> 0x80240BF0 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class TimedTrigger * t; // r27 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80240BF0 -> 0x80240D8C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11BandCamShot; } // Range: 0x80240D8C -> 0x80241024 class BinStream & __rs(class BinStream & d /* r28 */, class ObjList & c /* r29 */) { // Local variables unsigned int s; // r1+0x1C struct _List_iterator t; // r1+0x18 // References // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80241024 -> 0x8024109C void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8024109C -> 0x80241114 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80241114 -> 0x8024111C class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8024111C -> 0x80241160 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } // Range: 0x80241160 -> 0x80241168 class Object * ObjPtr::RefOwner() {} // Range: 0x80241168 -> 0x80241200 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x80241200 -> 0x80241208 class Object * ObjPtr::RefOwner() {} // Range: 0x80241208 -> 0x802412B8 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } /* Compile unit: C:\rockband2\system\src\bandobj\BandCamShot.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802412B8 -> 0x80241490 */ // Range: 0x802412B8 -> 0x802412FC class Symbol BandCamShot::ClassName() { // References // -> class Symbol name; } // Range: 0x802412FC -> 0x80241490 void BandCamShot::SetType(class BandCamShot * const this /* r29 */, class Symbol & BandCamShot /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80241490 -> 0x80241C0C */ // Range: 0x80241490 -> 0x80241534 void sort(class TimedTrigger * __first /* r29 */, class TimedTrigger * __last /* r30 */, class TriggerCompare & __comp /* r31 */) {} // Range: 0x80241534 -> 0x802415D4 void __final_insertion_sort(class TimedTrigger * __first /* r29 */, class TimedTrigger * __last /* r30 */, class TriggerCompare & __comp /* r31 */) {} // Range: 0x802415D4 -> 0x80241668 void __unguarded_insertion_sort_aux(class TimedTrigger * __last /* r29 */, class TriggerCompare & __comp /* r30 */) { // Local variables class TimedTrigger * __i; // r31 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80241668 -> 0x802416D0 void __unguarded_linear_insert(class TimedTrigger & __val /* r30 */) { // Local variables class TimedTrigger * __next; // r31 } // Range: 0x802416D0 -> 0x8024177C void __insertion_sort(class TimedTrigger * __first /* r28 */, class TimedTrigger * __last /* r29 */, class TriggerCompare & __comp /* r30 */) { // Local variables class TimedTrigger * __i; // r31 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x8024177C -> 0x80241868 void __linear_insert(class TimedTrigger * __first /* r27 */, class TimedTrigger * __last /* r28 */, class TimedTrigger & __val /* r29 */, class TriggerCompare & __comp /* r30 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80241868 -> 0x802419E4 void __introsort_loop(class TimedTrigger * __first /* r28 */, class TimedTrigger * __last /* r29 */, long __depth_limit /* r30 */, class TriggerCompare & __comp /* r31 */) { // Local variables class TimedTrigger * __cut; // r27 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x802419E4 -> 0x80241AD8 class TimedTrigger * __unguarded_partition(class TimedTrigger * __first /* r29 */, class TimedTrigger * __last /* r30 */, class TimedTrigger & __pivot /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80241AD8 -> 0x80241B08 void partial_sort() {} // Range: 0x80241B08 -> 0x80241C0C void __partial_sort(class TimedTrigger * __first /* r27 */, class TimedTrigger * __middle /* r28 */, class TimedTrigger * __last /* r29 */, class TriggerCompare & __comp /* r30 */) { // Local variables class TimedTrigger * __i; // r31 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80241C0C -> 0x80241C3C */ // Range: 0x80241C0C -> 0x80241C24 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80241C24 -> 0x80241C3C struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80241C3C -> 0x80241F4C */ // Range: 0x80241C3C -> 0x80241CC8 void pop_heap(class TimedTrigger * __first /* r30 */, class TimedTrigger * __last /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80241CC8 -> 0x80241DD0 void __adjust_heap(class TimedTrigger * __first /* r31 */, long __holeIndex /* r25 */, long __len /* r26 */, class TimedTrigger & __val /* r27 */, class TriggerCompare & __comp /* r28 */) { // Local variables long __topIndex; // r30 long __secondChild; // r29 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80241DD0 -> 0x80241E88 void __push_heap(class TimedTrigger * __first /* r28 */, long __topIndex /* r29 */, class TimedTrigger & __val /* r30 */) { // Local variables long __parent; // r31 } // Range: 0x80241E88 -> 0x80241F4C void make_heap(class TimedTrigger * __first /* r29 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80241F4C -> 0x80241FF8 */ // Range: 0x80241F4C -> 0x80241FF8 void __pop_heap(class TimedTrigger * __first /* r28 */, class TimedTrigger * __last /* r29 */, class TimedTrigger & __val /* r30 */, class TriggerCompare & __comp /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80241FF8 -> 0x80242B28 */ // Range: 0x80241FF8 -> 0x80242148 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80242148 -> 0x802422B0 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802422B0 -> 0x80242B28 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables struct _List_iterator it; // r1+0x34 struct Target tmp; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\rndobj\Anim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80242B28 -> 0x80242B38 */ // Range: 0x80242B28 -> 0x80242B2C void RndAnimatable::ListAnimChildren() {} // Range: 0x80242B2C -> 0x80242B30 void RndAnimatable::SetKey() {} // Range: 0x80242B30 -> 0x80242B38 unsigned char RndAnimatable::Loop() {} /* Compile unit: C:\rockband2\system\src\world\CameraShot.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80242B38 -> 0x80242B48 */ // Range: 0x80242B38 -> 0x80242B40 float CamShot::StartFrame() {} // Range: 0x80242B40 -> 0x80242B48 float CamShot::EndFrame() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80242B48 -> 0x802439D4 */ // Range: 0x80242B48 -> 0x80242FE4 void list::resize(const struct Target & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; } // Range: 0x80242FE4 -> 0x8024385C class list & list::__as(class list * const this /* r28 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; } // Range: 0x8024385C -> 0x802439D4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802439D4 -> 0x8024423C */ // Range: 0x802439D4 -> 0x80243C9C class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211BandCamShot12TimedTrigger; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80243C9C -> 0x80243CF4 class TimedTrigger * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x80243CF4 -> 0x80243D64 void vector::_M_fill_insert() {} // Range: 0x80243D64 -> 0x80243F70 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class TimedTrigger * __pos /* r26 */, const class TimedTrigger & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class TimedTrigger * __new_finish; // r29 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211BandCamShot12TimedTrigger; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80243F70 -> 0x80244188 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class TimedTrigger * __pos /* r29 */, unsigned long __n /* r24 */, const class TimedTrigger & __x /* r30 */) { // Local variables class TimedTrigger __x_copy; // r1+0x20 unsigned long __elems_after; // r25 class TimedTrigger * __old_finish; // r0 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\BandCrowdMeter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024423C -> 0x802483CC */ class DataArray * types; // size: 0x4, address: 0x80A4EDD8 // Range: 0x8024423C -> 0x802448AC void * BandCrowdMeter::BandCrowdMeter(class BandCrowdMeter * const this /* r29 */) { // Local variables int i; // r30 int ii; // r25 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtrList<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__14BandCrowdMeter; // -> struct [anonymous] __vt__16RndHighlightable; } struct Node { // total size: 0xC class RndGroup * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; // Range: 0x802448AC -> 0x80245108 void * BandCrowdMeter::~BandCrowdMeter(class BandCrowdMeter * const this /* r29 */) { // References // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; } class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x80245108 -> 0x80245648 void BandCrowdMeter::Poll(class BandCrowdMeter * const this /* r24 */) { // Local variables float peakValue; // f0 int i; // r25 int j; // r25 class iterator i; // r1+0x34 float desiredFrame; // r1+0x30 float add; // f1 float add; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } struct _OKToSwap { // total size: 0x1 }; // Range: 0x80245648 -> 0x80245700 class DataNode BandCrowdMeter::OnSetVal(class BandCrowdMeter * const this /* r30 */, class DataArray * args /* r31 */) { // Local variables class Symbol name; // r1+0x14 float value; // f31 } // Range: 0x80245700 -> 0x8024574C float BandCrowdMeter::GetPeakValue() { // Local variables float peakValue; // f1 int i; // r5 } static class Symbol guitar; // size: 0x4, address: 0x80A4EDE0 static class Symbol drum; // size: 0x4, address: 0x80A4EDE8 static class Symbol bass; // size: 0x4, address: 0x80A4EDF0 static class Symbol vocals; // size: 0x4, address: 0x80A4EDF8 static class DebugWarner _dw; // size: 0x100, address: 0x8097CD78 // Range: 0x8024574C -> 0x8024589C enum TrackInstrument GetTrackInstrument(class Symbol & name /* r30 */) { // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> static class Symbol vocals; // -> static class Symbol bass; // -> static class Symbol drum; // -> static class Symbol guitar; } // Range: 0x8024589C -> 0x802458AC void BandCrowdMeter::SetVal() {} // Range: 0x802458AC -> 0x802458C0 void BandCrowdMeter::Disable() {} // Range: 0x802458C0 -> 0x80245908 void BandCrowdMeter::SetCrowd(class BandCrowdMeter * const this /* r31 */) {} // Range: 0x80245908 -> 0x802459BC void BandCrowdMeter::UpdateExcitement(class BandCrowdMeter * const this /* r31 */) { // Local variables unsigned char maxed; // r4 } // Range: 0x802459BC -> 0x802459D8 void BandCrowdMeter::SetPlayerIconState(enum TrackInstrument instrument /* r0 */) {} // Range: 0x802459D8 -> 0x80245A00 void BandCrowdMeter::SetMaxed() {} // Range: 0x80245A00 -> 0x80245A7C void BandCrowdMeter::Deploy(class BandCrowdMeter * const this /* r30 */, enum TrackInstrument instrument /* r31 */) {} // Range: 0x80245A7C -> 0x80245B34 void BandCrowdMeter::StopDeploy(class BandCrowdMeter * const this /* r30 */, enum TrackInstrument instrument /* r31 */) {} // Range: 0x80245B34 -> 0x80245BB8 void BandCrowdMeter::EnablePlayer(class BandCrowdMeter * const this /* r31 */) {} // Range: 0x80245BB8 -> 0x80245C3C void BandCrowdMeter::DisablePlayer() {} // Range: 0x80245C3C -> 0x80245C6C void BandCrowdMeter::ShowPeakArrow() {} // Range: 0x80245C6C -> 0x80245F80 void BandCrowdMeter::OnShowWorstCase(class BandCrowdMeter * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } static class Symbol _s; // size: 0x4, address: 0x80A4EE00 static class Symbol _s; // size: 0x4, address: 0x80A4EE08 static class Symbol _s; // size: 0x4, address: 0x80A4EE10 static class Symbol _s; // size: 0x4, address: 0x80A4EE18 static class Symbol _s; // size: 0x4, address: 0x80A4EE20 static class Symbol _s; // size: 0x4, address: 0x80A4EE28 static class Symbol _s; // size: 0x4, address: 0x80A4EE30 static class Symbol _s; // size: 0x4, address: 0x80A4EE38 static class Symbol _s; // size: 0x4, address: 0x80A4EE40 static class Symbol _s; // size: 0x4, address: 0x80A4EE48 static class Symbol _s; // size: 0x4, address: 0x80A4EE50 static class Symbol _s; // size: 0x4, address: 0x80A4EE58 static class Symbol _s; // size: 0x4, address: 0x80A4EE60 static class Symbol _s; // size: 0x4, address: 0x80A4EE68 // Range: 0x80245F80 -> 0x80246978 unsigned char BandCrowdMeter::SyncProperty(class BandCrowdMeter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80246978 -> 0x80246CCC unsigned char PropSync(class vector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r28 */) { // Local variables class Symbol * it; // r31 class Symbol tmp; // r1+0x24 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80246CCC -> 0x80246E28 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4EE70 static class Symbol _s; // size: 0x4, address: 0x80A4EE78 static class Symbol _s; // size: 0x4, address: 0x80A4EE80 static class Symbol _s; // size: 0x4, address: 0x80A4EE88 static class Symbol _s; // size: 0x4, address: 0x80A4EE90 static class Symbol _s; // size: 0x4, address: 0x80A4EE98 static class Symbol _s; // size: 0x4, address: 0x80A4EEA0 static class Symbol _s; // size: 0x4, address: 0x80A4EEA8 static class Symbol _s; // size: 0x4, address: 0x80A4EEB0 static class Symbol _s; // size: 0x4, address: 0x80A4EEB8 static class Symbol _s; // size: 0x4, address: 0x80A4EEC0 static class Symbol _s; // size: 0x4, address: 0x80A4EEC8 static class Symbol _s; // size: 0x4, address: 0x80A4EED0 static class Symbol _s; // size: 0x4, address: 0x80A4EED8 static class Symbol _s; // size: 0x4, address: 0x80A4EEE0 static class Symbol _s; // size: 0x4, address: 0x80A4EEE8 // Range: 0x80246E28 -> 0x80248054 class DataNode BandCrowdMeter::Handle(class BandCrowdMeter * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x88 class MessageTimer _mt; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode _n; // r1+0x90 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80248054 -> 0x80248098 void BandCrowdMeter::Save() { // References // -> class Debug TheDebug; } // Range: 0x80248098 -> 0x802481A8 void BandCrowdMeter::PreLoad(class BandCrowdMeter * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; } // Range: 0x802481A8 -> 0x802481AC void BandCrowdMeter::PostLoad() {} // Range: 0x802481AC -> 0x802483CC void BandCrowdMeter::Copy(class BandCrowdMeter * const this /* r29 */, const class Object * o /* r26 */, enum CopyType ct /* r25 */) { // Local variables const class BandCrowdMeter * bcm; // r0 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14BandCrowdMeter; } struct { // total size: 0x18 } __vt__28ObjPtr<8RndGroup,9ObjectDir>; // size: 0x18, address: 0x808B2010 struct { // total size: 0x8 } __RTTI__28ObjPtr<8RndGroup,9ObjectDir>; // size: 0x8, address: 0x808B2050 struct { // total size: 0x18 } __vt__35ObjPtr<14CrowdMeterIcon,9ObjectDir>; // size: 0x18, address: 0x808B2058 struct { // total size: 0x8 } __RTTI__35ObjPtr<14CrowdMeterIcon,9ObjectDir>; // size: 0x8, address: 0x808B20A0 struct { // total size: 0x21C } __vt__14BandCrowdMeter; // size: 0x21C, address: 0x808B20A8 struct { // total size: 0x8 } __RTTI__14BandCrowdMeter; // size: 0x8, address: 0x808B2328 struct { // total size: 0x18 } __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; // size: 0x18, address: 0x808B2330 struct { // total size: 0x8 } __RTTI__31ObjPtr<10RndMatAnim,9ObjectDir>; // size: 0x8, address: 0x808B2378 struct { // total size: 0x18 } __vt__32ObjPtrList<8RndGroup,9ObjectDir>; // size: 0x18, address: 0x808B2380 struct { // total size: 0x8 } __RTTI__32ObjPtrList<8RndGroup,9ObjectDir>; // size: 0x8, address: 0x808B23C8 struct { // total size: 0x18 } __vt__26ObjPtr<6RndDir,9ObjectDir>; // size: 0x18, address: 0x808B23D0 struct { // total size: 0x8 } __RTTI__26ObjPtr<6RndDir,9ObjectDir>; // size: 0x8, address: 0x808B2410 struct { // total size: 0x18 } __vt__26ObjPtr<6RndMat,9ObjectDir>; // size: 0x18, address: 0x808B2470 struct { // total size: 0x8 } __RTTI__26ObjPtr<6RndMat,9ObjectDir>; // size: 0x8, address: 0x808B24B0 struct { // total size: 0x8 } __RTTI__14CrowdMeterIcon; // size: 0x8, address: 0x808B25E8 struct { // total size: 0x18 } __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // size: 0x18, address: 0x808B26A0 struct { // total size: 0x8 } __RTTI__36ObjPtrList<11RndPollable,9ObjectDir>; // size: 0x8, address: 0x808B26E8 struct { // total size: 0x8 } __RTTI__PQ23Hmx5Color; // size: 0x8, address: 0x808B28F0 struct { // total size: 0x8 } __RTTI__P28ObjPtr<8RndGroup,9ObjectDir>; // size: 0x8, address: 0x808B2918 struct { // total size: 0x8 } __RTTI__P35ObjPtr<14CrowdMeterIcon,9ObjectDir>; // size: 0x8, address: 0x808B2970 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80248728 -> 0x8024977C */ // Range: 0x80248728 -> 0x802488D4 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; } // Range: 0x802488D4 -> 0x80248948 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14CrowdMeterIcon,9ObjectDir>; } // Range: 0x80248948 -> 0x802489BC void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; } // Range: 0x802489BC -> 0x80248B68 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8RndGroup,9ObjectDir>; } // Range: 0x80248B68 -> 0x80248BD8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x80248BD8 -> 0x80248C4C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; } // Range: 0x80248C4C -> 0x80248CC0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x80248CC0 -> 0x80248E88 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x80248E88 -> 0x80249024 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x80249024 -> 0x80249220 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80249220 -> 0x80249228 class Object * ObjPtrList::RefOwner() {} // Range: 0x80249228 -> 0x80249424 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPollable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80249424 -> 0x8024942C class Object * ObjPtrList::RefOwner() {} // Range: 0x8024942C -> 0x80249434 class Object * ObjPtr::RefOwner() {} // Range: 0x80249434 -> 0x802494D8 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; } // Range: 0x802494D8 -> 0x802494E0 class Object * ObjPtr::RefOwner() {} // Range: 0x802494E0 -> 0x80249584 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x80249584 -> 0x8024958C class Object * ObjPtr::RefOwner() {} // Range: 0x8024958C -> 0x80249630 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CrowdMeterIcon; } // Range: 0x80249630 -> 0x80249638 class Object * ObjPtr::RefOwner() {} // Range: 0x80249638 -> 0x802496DC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x802496DC -> 0x802496E4 class Object * ObjPtr::RefOwner() {} // Range: 0x802496E4 -> 0x8024977C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } /* Compile unit: C:\rockband2\system\src\bandobj\BandCrowdMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80249A44 -> 0x8024B384 */ // Range: 0x80249A44 -> 0x8024B1AC void BandCrowdMeter::Reset(class BandCrowdMeter * const this /* r29 */) { // Local variables int i; // r25 // References // -> struct [anonymous] __RTTI__8RndGroup; // -> struct [anonymous] __RTTI__10RndMatAnim; // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __RTTI__12EventTrigger; // -> struct [anonymous] __vt__35ObjPtr<14CrowdMeterIcon,9ObjectDir>; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CrowdMeterIcon; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8024B1AC -> 0x8024B1F0 class Symbol BandCrowdMeter::ClassName() { // References // -> class Symbol name; } // Range: 0x8024B1F0 -> 0x8024B384 void BandCrowdMeter::SetType(class BandCrowdMeter * const this /* r29 */, class Symbol & BandCrowdMeter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024B384 -> 0x8024B940 */ // Range: 0x8024B384 -> 0x8024B418 void sort(class RndDrawable * * __first /* r29 */, class RndDrawable * * __last /* r30 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r31 */) {} // Range: 0x8024B418 -> 0x8024B4A0 void __final_insertion_sort(class RndDrawable * * __first /* r29 */, class RndDrawable * * __last /* r30 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r31 */) {} // Range: 0x8024B4A0 -> 0x8024B500 void __unguarded_insertion_sort_aux(class RndDrawable * * __last /* r29 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r30 */) { // Local variables class RndDrawable * * __i; // r31 } // Range: 0x8024B500 -> 0x8024B580 void __unguarded_linear_insert(class RndDrawable * * __last /* r28 */, class RndDrawable * __val /* r29 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r30 */) { // Local variables class RndDrawable * * __next; // r31 } // Range: 0x8024B580 -> 0x8024B634 void __insertion_sort(class RndDrawable * * __first /* r27 */, class RndDrawable * * __last /* r28 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r29 */) { // Local variables class RndDrawable * * __i; // r30 } // Range: 0x8024B634 -> 0x8024B798 void __introsort_loop(class RndDrawable * * __first /* r27 */, class RndDrawable * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r30 */) { // Local variables class RndDrawable * * __cut; // r31 } // Range: 0x8024B798 -> 0x8024B86C class RndDrawable * * __unguarded_partition(class RndDrawable * * __first /* r28 */, class RndDrawable * * __last /* r29 */, class RndDrawable * __pivot /* r30 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r31 */) {} // Range: 0x8024B86C -> 0x8024B878 void partial_sort() {} // Range: 0x8024B878 -> 0x8024B940 void __partial_sort(class RndDrawable * * __first /* r27 */, class RndDrawable * * __middle /* r28 */, class RndDrawable * * __last /* r29 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r30 */) { // Local variables class RndDrawable * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024B940 -> 0x8024B958 */ // Range: 0x8024B940 -> 0x8024B958 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024B958 -> 0x8024BB34 */ // Range: 0x8024B958 -> 0x8024B984 void pop_heap(class RndDrawable * * __last /* r8 */) {} // Range: 0x8024B984 -> 0x8024BAA0 void __adjust_heap(class RndDrawable * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class RndDrawable * __val /* r29 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 } // Range: 0x8024BAA0 -> 0x8024BB34 void make_heap(class RndDrawable * * __first /* r28 */, unsigned char (* __comp)(class RndDrawable *, class RndDrawable *) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024BB34 -> 0x8024BD44 */ // Range: 0x8024BB34 -> 0x8024BD44 unsigned char PropSync(class vector & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables class Color * it; // r30 class Color tmp; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024BD44 -> 0x8024BEC0 */ // Range: 0x8024BD44 -> 0x8024BEC0 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 class Color * t; // r29 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024BEC0 -> 0x8024BED4 */ // Range: 0x8024BEC0 -> 0x8024BEC4 void ObjectDir::PostSave() {} // Range: 0x8024BEC4 -> 0x8024BEC8 void ObjectDir::PreSave() {} // Range: 0x8024BEC8 -> 0x8024BECC void ObjectDir::AddedObject() {} // Range: 0x8024BECC -> 0x8024BED4 class FilePath & ObjectDir::ProxyFile() {} /* Compile unit: C:\rockband2\system\src\rndobj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024BED4 -> 0x8024BEDC */ // Range: 0x8024BED4 -> 0x8024BEDC void RndDir::Highlight() {} /* Compile unit: C:\rockband2\system\src\rndobj\Anim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024BEDC -> 0x8024BEF4 */ // Range: 0x8024BEDC -> 0x8024BEEC class Object * RndAnimatable::AnimTarget() {} // Range: 0x8024BEEC -> 0x8024BEF0 void RndAnimatable::EndAnim() {} // Range: 0x8024BEF0 -> 0x8024BEF4 void RndAnimatable::StartAnim() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024BEF4 -> 0x8024D804 */ // Range: 0x8024BEF4 -> 0x8024BF4C class Symbol * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8024BF4C -> 0x8024C178 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Color * __pos /* r26 */, const class Color & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Color * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ23Hmx5Color; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8024C178 -> 0x8024C42C class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ23Hmx5Color; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8024C42C -> 0x8024C484 class Color * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8024C484 -> 0x8024C4F4 void vector::_M_fill_insert() {} // Range: 0x8024C4F4 -> 0x8024C574 void vector::_M_fill_insert() {} // Range: 0x8024C574 -> 0x8024C914 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P28ObjPtr<8RndGroup,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8024C914 -> 0x8024C994 void vector::_M_fill_insert() {} // Range: 0x8024C994 -> 0x8024CBFC void vector::_M_fill_insert_aux() { // Local variables class Color __x_copy; // r1+0x30 unsigned long __elems_after; // r8 class Color * __old_finish; // r0 } // Range: 0x8024CBFC -> 0x8024CEA4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__35ObjPtr<14CrowdMeterIcon,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P35ObjPtr<14CrowdMeterIcon,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8024CEA4 -> 0x8024D200 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__35ObjPtr<14CrowdMeterIcon,9ObjectDir>; } // Range: 0x8024D200 -> 0x8024D4A8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P28ObjPtr<8RndGroup,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8024D4A8 -> 0x8024D804 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\BandHighlight.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024D804 -> 0x8024EF9C */ class DataArray * types; // size: 0x4, address: 0x80A4EEF0 class Symbol name; // size: 0x4, address: 0x80A4EEF8 class BandHighlight : public UIComponent { // total size: 0x1D0 class Vector3 mStartPos; // offset 0x130, size 0x10 class Vector3 mTargetPos; // offset 0x140, size 0x10 float mAnimTime; // offset 0x150, size 0x4 float mAnimDuration; // offset 0x154, size 0x4 class BandLabel * mHelpText; // offset 0x158, size 0x4 class Vector3 mStartEdgePos; // offset 0x160, size 0x10 class Vector3 mTargetEdgePos; // offset 0x170, size 0x10 class RndTransformable * mTextEdge; // offset 0x180, size 0x4 class vector mMirrorMats; // offset 0x184, size 0xC class UIComponent * mLimitGroup; // offset 0x190, size 0x4 int mEnterCount; // offset 0x194, size 0x4 }; // Range: 0x8024D804 -> 0x8024D908 void * BandHighlight::BandHighlight(class BandHighlight * const this /* r31 */) { // References // -> struct [anonymous] __vt__13BandHighlight; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8024D908 -> 0x8024D9F0 void * BandHighlight::~BandHighlight(class BandHighlight * const this /* r30 */) {} static int gRev; // size: 0x4, address: 0x80A4EEFC // Range: 0x8024D9F0 -> 0x8024DA34 void BandHighlight::Save() { // References // -> class Debug TheDebug; } // Range: 0x8024DA34 -> 0x8024DA90 void BandHighlight::Load(class BandHighlight * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8024DA90 -> 0x8024DB54 void BandHighlight::PreLoad(class BandHighlight * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8024DB54 -> 0x8024DB94 void BandHighlight::PostLoad(class BandHighlight * const this /* r31 */) {} // Range: 0x8024DB94 -> 0x8024DBC8 void BandHighlight::Enter(class BandHighlight * const this /* r31 */) {} // Range: 0x8024DBC8 -> 0x8024DBFC void BandHighlight::Exit(class BandHighlight * const this /* r31 */) {} // Range: 0x8024DBFC -> 0x8024DF54 void BandHighlight::Poll(class BandHighlight * const this /* r31 */) { // Local variables class UIPanel * p; // r0 float f; // f31 class Vector3 new_pos; // r1+0x10 class UILabel * asLabel; // r30 int i; // r29 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__7UILabel; // -> class TaskMgr TheTaskMgr; // -> class UIManager TheUI; // -> class LoadMgr TheLoadMgr; } // Range: 0x8024DF54 -> 0x8024DFDC void BandHighlight::DrawShowing(class BandHighlight * const this /* r31 */) {} // Range: 0x8024DFDC -> 0x8024E064 class RndDrawable * BandHighlight::CollideShowing(class BandHighlight * const this /* r28 */, const class Segment & s /* r29 */, float & dist /* r30 */, class Plane & plane /* r31 */) {} // Range: 0x8024E064 -> 0x8024E0B8 int BandHighlight::CollidePlane(class BandHighlight * const this /* r30 */, const class Plane & plane /* r31 */) {} // Range: 0x8024E0B8 -> 0x8024E42C void BandHighlight::Update(class BandHighlight * const this /* r31 */) { // Local variables class DataArray * sa; // r27 class DataArray * sa; // r29 int i; // r26 class RndMat * mat; // r1+0x18 // References // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9BandLabel; } // Range: 0x8024E42C -> 0x8024E5A8 void BandHighlight::SetTarget(class BandHighlight * const this /* r29 */, class UIComponent * target /* r30 */, unsigned char snap /* r31 */) { // Local variables class UIComponent * c; // r5 unsigned char found; // r0 class Vector3 zero; // r1+0x10 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8024E5A8 -> 0x8024E660 void BandHighlight::UpdateTargetEdge(class BandHighlight * const this /* r31 */) { // Local variables class UILabel * label; // r0 class RndText * text; // r0 float textWidth; // f0 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__7UILabel; } // Range: 0x8024E660 -> 0x8024E6B0 void BandHighlight::SyncDir(class BandHighlight * const this /* r31 */) {} // Range: 0x8024E6B0 -> 0x8024E740 class DataNode BandHighlight::OnMsg(class BandHighlight * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x8024E740 -> 0x8024E840 void BandHighlight::OnRegisterFocus(class BandHighlight * const this /* r28 */) { // Local variables class UIComponent * initial_target; // r30 class PanelDir * d; // r29 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8PanelDir; } // Range: 0x8024E840 -> 0x8024E8E8 void BandHighlight::OnUnregisterFocus(class BandHighlight * const this /* r31 */) { // Local variables class MsgSource * d; // r3 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8PanelDir; } static class Symbol _s; // size: 0x4, address: 0x80A4EF04 static class Symbol _s; // size: 0x4, address: 0x80A4EF0C // Range: 0x8024E8E8 -> 0x8024EF1C class DataNode BandHighlight::Handle(class BandHighlight * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__25UIComponentFocusChangeMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } // Range: 0x8024EF1C -> 0x8024EF9C unsigned char BandHighlight::SyncProperty(class BandHighlight * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0x14C } __vt__13BandHighlight; // size: 0x14C, address: 0x808B2DA8 /* Compile unit: C:\rockband2\system\src\bandobj\BandHighlight.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024EF9C -> 0x8024F318 */ // Range: 0x8024EF9C -> 0x8024F014 void BandHighlight::Init() { // References // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x8024F014 -> 0x8024F08C class Object * BandHighlight::NewObject() { // References // -> class Symbol name; } // Range: 0x8024F08C -> 0x8024F13C void BandHighlight::Copy(class BandHighlight * const this /* r29 */, enum CopyType type /* r30 */) { // Local variables const class BandHighlight * s; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13BandHighlight; } // Range: 0x8024F13C -> 0x8024F180 class Symbol BandHighlight::ClassName() { // References // -> class Symbol name; } // Range: 0x8024F180 -> 0x8024F318 void BandHighlight::SetType(class BandHighlight * const this /* r29 */, class Symbol & BandHighlight /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Component.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024F4C4 -> 0x8024F4C8 */ // Range: 0x8024F4C4 -> 0x8024F4C8 void UIComponent::Highlight() {} /* Compile unit: C:\rockband2\system\src\ui\Label.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024F4C8 -> 0x8024F4CC */ // Range: 0x8024F4C8 -> 0x8024F4CC void UILabel::UpdateMat() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandLabel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8024F4CC -> 0x80250DC4 */ class Symbol t; // size: 0x4, address: 0x80A4EF14 class DataArray * types; // size: 0x4, address: 0x80A4EF18 class Symbol name; // size: 0x4, address: 0x80A4EF20 // Range: 0x8024F4CC -> 0x8024F5E0 void * BandLabel::BandLabel(class BandLabel * const this /* r31 */) { // References // -> struct [anonymous] __vt__9BandLabel; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8024F5E0 -> 0x8024F72C void * BandLabel::~BandLabel(class BandLabel * const this /* r30 */) {} // Range: 0x8024F72C -> 0x8024F730 void BandLabel::Copy() {} // Range: 0x8024F730 -> 0x8024F7C0 void BandLabel::CopyMembers(class BandLabel * const this /* r29 */, const class UIComponent * c /* r30 */, enum CopyType t /* r31 */) { // Local variables const class BandLabel * l; // r3 // References // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__9BandLabel; } static int LABEL_REV; // size: 0x4, address: 0x80A46A88 // Range: 0x8024F7C0 -> 0x8024F804 void BandLabel::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A4EF24 // Range: 0x8024F804 -> 0x8024F860 void BandLabel::Load(class BandLabel * const this /* r30 */, class BinStream & d /* r31 */) {} static class Symbol custom_colors; // size: 0x4, address: 0x80A4EF2C // Range: 0x8024F860 -> 0x8024FEDC void BandLabel::PreLoad(class BandLabel * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class Color color; // r1+0x60 unsigned char all_caps; // r29 unsigned char justified; // r0 int fitText; // r1+0x50 class Matrix3 m; // r1+0x70 int seed; // r1+0x4C float delta_x; // r1+0x48 float delta_z; // r1+0x44 float delta_rot; // r1+0x40 class Symbol style; // r1+0x3C float wrapWidth; // r1+0x38 int fitText; // r1+0x34 int seed; // r1+0x30 float delta_x; // r1+0x2C float delta_z; // r1+0x28 float delta_rot; // r1+0x24 float wrap_width; // r1+0x20 // References // -> static class Symbol custom_colors; // -> const char * gNullStr; // -> class Debug TheDebug; // -> static int LABEL_REV; // -> static int gRev; } class BandLabelCountDoneMsg : public Message { // total size: 0x8 }; // Range: 0x8024FEDC -> 0x802503DC void BandLabel::Poll(class BandLabel * const this /* r25 */) { // Local variables float val; // f31 float frame; // f30 class BandLabelCountDoneMsg msg; // r1+0x38 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__21BandLabelCountDoneMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class TaskMgr TheTaskMgr; } // Range: 0x802503DC -> 0x80250450 void BandLabel::UpdateMat(class RndMat * mat /* r31 */) { // Local variables class Color c; // r1+0x10 } // Range: 0x80250450 -> 0x80250668 void BandLabel::Count(class BandLabel * const this /* r29 */, int from /* r28 */, int to /* r30 */, float timeMs /* f31 */, const class String & formattedStr /* r31 */) { // Local variables class Key key; // r1+0x28 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80250668 -> 0x80250760 void BandLabel::FinishCount(class BandLabel * const this /* r30 */) {} // Range: 0x80250760 -> 0x802507E8 void BandLabel::ClearCount() {} static class Symbol _s; // size: 0x4, address: 0x80A4EF34 static class Symbol _s; // size: 0x4, address: 0x80A4EF3C // Range: 0x802507E8 -> 0x80250D1C class DataNode BandLabel::Handle(class BandLabel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80250D1C -> 0x80250DC4 unsigned char BandLabel::SyncProperty(class BandLabel * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0x16C } __vt__9BandLabel; // size: 0x16C, address: 0x808B33E4 struct { // total size: 0xC } __vt__21BandLabelCountDoneMsg; // size: 0xC, address: 0x808B35B0 struct { // total size: 0x8 } __RTTI__21BandLabelCountDoneMsg; // size: 0x8, address: 0x808B35E0 /* Compile unit: C:\rockband2\system\src\bandobj\BandLabel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80250DC4 -> 0x80251090 */ // Range: 0x80250DC4 -> 0x80250E3C void BandLabel::Init() { // References // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x80250E3C -> 0x80250EB4 class Object * BandLabel::NewObject() { // References // -> class Symbol name; } // Range: 0x80250EB4 -> 0x80250EF8 class Symbol BandLabel::ClassName() { // References // -> class Symbol name; } // Range: 0x80250EF8 -> 0x80251090 void BandLabel::SetType(class BandLabel * const this /* r29 */, class Symbol & BandLabel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Label.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802512C8 -> 0x802512D0 */ // Range: 0x802512C8 -> 0x802512D0 void UILabel::Update() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandLeadMeter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802512D0 -> 0x80252814 */ class DataArray * types; // size: 0x4, address: 0x80A4EF40 // Range: 0x802512D0 -> 0x802515CC void * BandLeadMeter::BandLeadMeter(class BandLeadMeter * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__13BandLeadMeter; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802515CC -> 0x802515EC enum Color BandLeadMeter::GetColor() {} // Range: 0x802515EC -> 0x802517B8 void BandLeadMeter::SyncScores(class BandLeadMeter * const this /* r31 */) { // Local variables enum Color color; // r0 class RndMat * mat; // r4 int diff; // r4 float lead; // f1 float frame; // f1 } // Range: 0x802517B8 -> 0x802517EC void BandLeadMeter::Enter(class BandLeadMeter * const this /* r31 */) {} // Range: 0x802517EC -> 0x802518A8 void BandLeadMeter::Poll() { // References // -> class TaskMgr TheTaskMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4EF48 // Range: 0x802518A8 -> 0x80251C4C class DataNode BandLeadMeter::Handle(class BandLeadMeter * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4EF50 static class Symbol _s; // size: 0x4, address: 0x80A4EF58 static class Symbol _s; // size: 0x4, address: 0x80A4EF60 static class Symbol _s; // size: 0x4, address: 0x80A4EF68 static class Symbol _s; // size: 0x4, address: 0x80A4EF70 static class Symbol _s; // size: 0x4, address: 0x80A4EF78 static class Symbol _s; // size: 0x4, address: 0x80A4EF80 static class Symbol _s; // size: 0x4, address: 0x80A4EF88 static class Symbol _s; // size: 0x4, address: 0x80A4EF90 static class Symbol _s; // size: 0x4, address: 0x80A4EF98 static class Symbol _s; // size: 0x4, address: 0x80A4EFA0 // Range: 0x80251C4C -> 0x802520D8 unsigned char BandLeadMeter::SyncProperty(class BandLeadMeter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x802520D8 -> 0x80252228 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80252228 -> 0x8025226C void BandLeadMeter::Save() { // References // -> class Debug TheDebug; } // Range: 0x8025226C -> 0x80252420 void BandLeadMeter::PreLoad(class BandLeadMeter * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x14 int tmp; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> unsigned char gLoadingProxyFromDisk; // -> class Debug TheDebug; // -> class Symbol name; } // Range: 0x80252420 -> 0x80252530 void BandLeadMeter::PostLoad(class BandLeadMeter * const this /* r29 */, class BinStream & s /* r30 */) { // References // -> class list sRevs; } // Range: 0x80252530 -> 0x80252814 void BandLeadMeter::Copy(class BandLeadMeter * const this /* r31 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class BandLeadMeter * blm; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13BandLeadMeter; } struct { // total size: 0x21C } __vt__13BandLeadMeter; // size: 0x21C, address: 0x808B3A70 struct { // total size: 0x8 } __RTTI__13BandLeadMeter; // size: 0x8, address: 0x808B3CF0 struct { // total size: 0x18 } __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // size: 0x18, address: 0x808B3D88 struct { // total size: 0x8 } __RTTI__34ObjPtr<13RndAnimatable,9ObjectDir>; // size: 0x8, address: 0x808B3DD0 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80252814 -> 0x80252E98 */ // Range: 0x80252814 -> 0x80252888 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x80252888 -> 0x80252A20 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x80252A20 -> 0x80252BBC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } // Range: 0x80252BBC -> 0x80252BC4 class Object * ObjPtr::RefOwner() {} // Range: 0x80252BC4 -> 0x80252C68 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802533AC -> 0x80253508 */ // Range: 0x802533AC -> 0x80253508 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\bandobj\BandLeadMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80253508 -> 0x802536E4 */ // Range: 0x80253508 -> 0x8025354C class Symbol BandLeadMeter::ClassName() { // References // -> class Symbol name; } // Range: 0x8025354C -> 0x802536E0 void BandLeadMeter::SetType(class BandLeadMeter * const this /* r29 */, class Symbol & BandLeadMeter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x802536E0 -> 0x802536E4 void BandLeadMeter::SetFrame() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandList.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802536E4 -> 0x80254910 */ class Symbol name; // size: 0x4, address: 0x80A4EFAC class DataArray * types; // size: 0x4, address: 0x80A4EFB0 class Symbol name; // size: 0x4, address: 0x80A4EFB8 // Range: 0x802536E4 -> 0x80253804 void * BandList::BandList(class BandList * const this /* r31 */) { // References // -> struct [anonymous] __vt__8BandList; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80253804 -> 0x802538EC void * BandList::~BandList(class BandList * const this /* r30 */) {} static class Symbol anim_delay_frac; // size: 0x4, address: 0x80A4EFC0 // Range: 0x802538EC -> 0x80253960 void BandList::SetTypeDef(class BandList * const this /* r31 */) { // References // -> static class Symbol anim_delay_frac; } static class Symbol enter_anim; // size: 0x4, address: 0x80A4EFC8 // Range: 0x80253960 -> 0x802539E4 void BandList::Enter(class BandList * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Symbol enter_anim; } static class Symbol exit_anim; // size: 0x4, address: 0x80A4EFD0 // Range: 0x802539E4 -> 0x80253A68 void BandList::Exit(class BandList * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Symbol exit_anim; } static class Symbol exit_anim; // size: 0x4, address: 0x80A4EFD8 // Range: 0x80253A68 -> 0x80253B40 unsigned char BandList::Exiting(class BandList * const this /* r29 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Symbol exit_anim; } static class Symbol enter_anim; // size: 0x4, address: 0x80A4EFE0 static class Symbol exit_anim; // size: 0x4, address: 0x80A4EFE8 static class Symbol element_anim; // size: 0x4, address: 0x80A4EFF0 // Range: 0x80253B40 -> 0x80253C80 void BandList::AdjustTrans(class BandList * const this /* r30 */, class RndTransformable * element /* r31 */, int display /* r1+0x8 */) { // Local variables class Symbol anim_name; // r1+0x14 float start_time; // f1 // References // -> static class Symbol element_anim; // -> static class Symbol exit_anim; // -> static class Symbol enter_anim; } static class Symbol element_anim; // size: 0x4, address: 0x80A4EFF8 // Range: 0x80253C80 -> 0x80253D34 unsigned char BandList::IsAnimatingElements(const class BandList * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Symbol element_anim; } // Range: 0x80253D34 -> 0x80253E6C void BandList::AnimateElements(class BandList * const this /* r29 */, unsigned char only_disabled /* r30 */) { // Local variables int i; // r1+0x18 int data; // r31 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80253E6C -> 0x80253E78 void BandList::SkipAnimateElements() {} // Range: 0x80253E78 -> 0x80253F98 class RndTransAnim * BandList::FindAnim(const class BandList * const this /* r31 */) { // Local variables class DataArray * a; // r29 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x80253F98 -> 0x80254070 float BandList::AnimDuration(const class BandList * const this /* r30 */) { // Local variables class RndAnimatable * anim; // r31 } static class Symbol anim_delay_frac; // size: 0x4, address: 0x80A4F000 // Range: 0x80254070 -> 0x8025415C float BandList::ElementAnimDuration(const class BandList * const this /* r29 */, class Symbol & anim /* r30 */) { // Local variables float delay_frac; // f0 float duration; // f0 // References // -> static class Symbol anim_delay_frac; } static class Symbol anim_fps; // size: 0x4, address: 0x80A4F008 // Range: 0x8025415C -> 0x802541DC float BandList::AnimFps(const class BandList * const this /* r31 */) { // References // -> static class Symbol anim_fps; } // Range: 0x802541DC -> 0x80254540 void BandList::AdjustElement(class BandList * const this /* r27 */, class RndTransformable * element /* r30 */, class Symbol & anim_name /* r28 */, int display /* r29 */, float start_time /* f30 */) { // Local variables class RndTransAnim * anim; // r31 float duration; // f0 float frame; // f30 class Transform anim_xfm; // r1+0x60 class Transform ele_xfm; // r1+0x20 // References // -> class TaskMgr TheTaskMgr; } static class Symbol _s; // size: 0x4, address: 0x80A4F010 // Range: 0x80254540 -> 0x80254910 class DataNode BandList::Handle(class BandList * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x1C8 } __vt__8BandList; // size: 0x1C8, address: 0x808B4340 /* Compile unit: C:\rockband2\system\src\bandobj\BandList.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80254910 -> 0x80254BDC */ // Range: 0x80254910 -> 0x80254988 void BandList::Init() { // References // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x80254988 -> 0x80254A00 class Object * BandList::NewObject() { // References // -> class Symbol name; } // Range: 0x80254A00 -> 0x80254A44 class Symbol BandList::ClassName() { // References // -> class Symbol name; } // Range: 0x80254A44 -> 0x80254BDC void BandList::SetType(class BandList * const this /* r29 */, class Symbol & BandList /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandMeshLauncher.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80254DD0 -> 0x80257BA4 */ class DataArray * types; // size: 0x4, address: 0x80A4F018 // Range: 0x80254DD0 -> 0x80254E70 void * MeshInstance::MeshInstance(struct MeshInstance * const this /* r29 */, class Object * owner /* r30 */, class RndTransformable * _parentTrans /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; } // Range: 0x80254E70 -> 0x80254F34 class Transform MeshInstance::Xfm(class Transform * t /* r30 */, const struct MeshInstance * const this /* r31 */) {} // Range: 0x80254F34 -> 0x802550C4 void * BandMeshLauncher::BandMeshLauncher(class BandMeshLauncher * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtr<14RndParticleSys,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndMultiMesh,9ObjectDir>; // -> struct [anonymous] __vt__16BandMeshLauncher; // -> struct [anonymous] __vt__11RndPollable; } class _List_node : public _List_node_base { // total size: 0x24 public: struct MeshInstance _M_data; // offset 0x8, size 0x1C }; // Range: 0x80255138 -> 0x80255184 void BandMeshLauncher::Poll(class BandMeshLauncher * const this /* r31 */) { // Local variables float dt; // f1 // References // -> class TaskMgr TheTaskMgr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80255184 -> 0x802552CC void BandMeshLauncher::UpdateFrames(class BandMeshLauncher * const this /* r29 */, float dt /* f31 */) { // Local variables struct _List_iterator it; // r1+0x1C // References // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802552CC -> 0x80255414 void BandMeshLauncher::ConstructTransforms(class BandMeshLauncher * const this /* r30 */) { // Local variables class list & transList; // r0 struct _List_iterator it; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80255414 -> 0x80255580 void BandMeshLauncher::Launch(class BandMeshLauncher * const this /* r31 */, class RndTransAnim * path /* r0 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std46_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std46_List_node; // size: 0x8, address: 0x808B48A8 // Range: 0x80255580 -> 0x80255918 void BandMeshLauncher::LaunchParticles(class BandMeshLauncher * const this /* r31 */) { // Local variables class Vector3 posLow; // r1+0x40 class Vector3 posHigh; // r1+0x30 class Vector3 partPos; // r1+0x20 class Vector3 offSet; // r1+0x10 float val; // f0 } static int MESHLAUNCHER_REV; // size: 0x4, address: 0x80A46AA0 // Range: 0x80255918 -> 0x8025595C void BandMeshLauncher::Save() { // References // -> class Debug TheDebug; } // Range: 0x8025595C -> 0x80255CCC void BandMeshLauncher::Load(class BandMeshLauncher * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x14 // References // -> class Debug TheDebug; // -> static int MESHLAUNCHER_REV; } // Range: 0x80255CCC -> 0x80255EFC void BandMeshLauncher::Copy(class BandMeshLauncher * const this /* r31 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class BandMeshLauncher * m; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16BandMeshLauncher; } // Range: 0x80255EFC -> 0x80255FD4 class DataNode BandMeshLauncher::OnLaunch(class BandMeshLauncher * const this /* r29 */, const class DataArray * a /* r30 */) { // Local variables class RndTransformable * parentTrans; // r31 // References // -> struct [anonymous] __RTTI__12RndTransAnim; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } static class Symbol _s; // size: 0x4, address: 0x80A4F020 static class Symbol _s; // size: 0x4, address: 0x80A4F028 // Range: 0x80255FD4 -> 0x802565F4 class DataNode BandMeshLauncher::Handle(class BandMeshLauncher * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F030 static class Symbol _s; // size: 0x4, address: 0x80A4F038 static class Symbol _s; // size: 0x4, address: 0x80A4F040 static class Symbol _s; // size: 0x4, address: 0x80A4F048 static class Symbol _s; // size: 0x4, address: 0x80A4F050 static class Symbol _s; // size: 0x4, address: 0x80A4F058 static class Symbol _s; // size: 0x4, address: 0x80A4F060 static class Symbol _s; // size: 0x4, address: 0x80A4F068 static class Symbol _s; // size: 0x4, address: 0x80A4F070 static class Symbol _s; // size: 0x4, address: 0x80A4F078 static class Symbol _s; // size: 0x4, address: 0x80A4F080 static class Symbol _s; // size: 0x4, address: 0x80A4F088 static class Symbol _s; // size: 0x4, address: 0x80A4F090 static class Symbol _s; // size: 0x4, address: 0x80A4F098 static class Symbol _s; // size: 0x4, address: 0x80A4F0A0 static class Symbol _s; // size: 0x4, address: 0x80A4F0A8 static class Symbol _s; // size: 0x4, address: 0x80A4F0B0 static class Symbol _s; // size: 0x4, address: 0x80A4F0B8 static class Symbol _s; // size: 0x4, address: 0x80A4F0C0 static class Symbol _s; // size: 0x4, address: 0x80A4F0C8 static class Symbol _s; // size: 0x4, address: 0x80A4F0D0 static class Symbol _s; // size: 0x4, address: 0x80A4F0D8 static class Symbol _s; // size: 0x4, address: 0x80A4F0E0 static class Symbol _s; // size: 0x4, address: 0x80A4F0E8 static class Symbol _s; // size: 0x4, address: 0x80A4F0F0 static class Symbol _s; // size: 0x4, address: 0x80A4F0F8 // Range: 0x802565F4 -> 0x80257BA4 unsigned char BandMeshLauncher::SyncProperty(class BandMeshLauncher * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x8C } __vt__16BandMeshLauncher; // size: 0x8C, address: 0x808B4A9C struct { // total size: 0x8 } __RTTI__16BandMeshLauncher; // size: 0x8, address: 0x808B4B58 struct { // total size: 0x18 } __vt__35ObjPtr<14RndParticleSys,9ObjectDir>; // size: 0x18, address: 0x808B4B60 struct { // total size: 0x8 } __RTTI__35ObjPtr<14RndParticleSys,9ObjectDir>; // size: 0x8, address: 0x808B4BA8 struct { // total size: 0x18 } __vt__33ObjPtr<12RndMultiMesh,9ObjectDir>; // size: 0x18, address: 0x808B4BB0 struct { // total size: 0x8 } __RTTI__33ObjPtr<12RndMultiMesh,9ObjectDir>; // size: 0x8, address: 0x808B4BF8 struct { // total size: 0x18 } __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // size: 0x18, address: 0x808B4C00 struct { // total size: 0x8 } __RTTI__33ObjPtr<12RndTransAnim,9ObjectDir>; // size: 0x8, address: 0x808B4C48 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80257BA4 -> 0x80258258 */ // Range: 0x80257BA4 -> 0x80257C18 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; } // Range: 0x80257C18 -> 0x80257C90 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12RndMultiMesh,9ObjectDir>; } // Range: 0x80257C90 -> 0x80257D04 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14RndParticleSys,9ObjectDir>; } // Range: 0x80257D04 -> 0x80257EA0 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; } // Range: 0x80257EA0 -> 0x80258048 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; } // Range: 0x80258048 -> 0x80258050 class Object * ObjPtr::RefOwner() {} // Range: 0x80258050 -> 0x802580F4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; } // Range: 0x802580F4 -> 0x802580FC class Object * ObjPtr::RefOwner() {} // Range: 0x802580FC -> 0x802581AC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; } // Range: 0x802581AC -> 0x802581B4 class Object * ObjPtr::RefOwner() {} // Range: 0x802581B4 -> 0x80258258 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } /* Compile unit: C:\rockband2\system\src\bandobj\BandMeshLauncher.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80258258 -> 0x80258430 */ // Range: 0x80258258 -> 0x8025829C class Symbol BandMeshLauncher::ClassName() { // References // -> class Symbol name; } // Range: 0x8025829C -> 0x80258430 void BandMeshLauncher::SetType(class BandMeshLauncher * const this /* r29 */, class Symbol & BandMeshLauncher /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802585F0 -> 0x802588B4 */ // Range: 0x802585F0 -> 0x8025874C unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8025874C -> 0x802588B4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802588B4 -> 0x8025897C */ // Range: 0x802588B4 -> 0x8025897C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\BandPowerMeter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025897C -> 0x8025B1D4 */ class DataArray * types; // size: 0x4, address: 0x80A4F100 static class Symbol uninitialized; // size: 0x4, address: 0x80A4F108 // Range: 0x8025897C -> 0x80258D6C void * BandPowerMeter::BandPowerMeter(class BandPowerMeter * const this /* r31 */) { // References // -> static class Symbol uninitialized; // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__14BandPowerMeter; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80258D6C -> 0x802592F4 void * BandPowerMeter::~BandPowerMeter(class BandPowerMeter * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; } // Range: 0x802592F4 -> 0x80259A54 void BandPowerMeter::SyncObjects(class BandPowerMeter * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__3Sfx; // -> class Synth * TheSynth; // -> struct [anonymous] __RTTI__12EventTrigger; // -> struct [anonymous] __RTTI__8RndGroup; // -> struct [anonymous] __RTTI__11RndPropAnim; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; } static class Symbol none; // size: 0x4, address: 0x80A4F110 static class Symbol guitar; // size: 0x4, address: 0x80A4F118 // Range: 0x80259A54 -> 0x80259B04 void BandPowerMeter::Reset(class BandPowerMeter * const this /* r31 */) { // References // -> static class Symbol guitar; // -> static class Symbol none; } static class Symbol none; // size: 0x4, address: 0x80A4F120 static class Symbol ready; // size: 0x4, address: 0x80A4F128 static class Symbol deploying; // size: 0x4, address: 0x80A4F130 // Range: 0x80259B04 -> 0x80259C9C void BandPowerMeter::SetEnergy(class BandPowerMeter * const this /* r29 */, float energy /* f31 */, class Symbol & state /* r30 */, class Symbol & instrument /* r31 */) { // References // -> static class Symbol deploying; // -> static class Symbol ready; // -> static class Symbol none; } static class Symbol guitar; // size: 0x4, address: 0x80A4F138 static class Symbol bass; // size: 0x4, address: 0x80A4F140 static class Symbol drum; // size: 0x4, address: 0x80A4F148 static class Symbol vocals; // size: 0x4, address: 0x80A4F150 // Range: 0x80259C9C -> 0x8025A150 void BandPowerMeter::EnergyReady(class BandPowerMeter * const this /* r27 */, class Symbol & instrument /* r28 */) { // Local variables float timeTilNext; // r31 float fraction; // f31 float slop; // f30 float bf; // f29 float til; // f29 // References // -> class TaskMgr TheTaskMgr; // -> static class Symbol vocals; // -> static class Symbol drum; // -> static class Symbol bass; // -> static class Symbol guitar; } // Range: 0x8025A150 -> 0x8025A170 void BandPowerMeter::EnergyAdded() {} // Range: 0x8025A170 -> 0x8025A1B8 void BandPowerMeter::Deploy(class BandPowerMeter * const this /* r31 */) {} // Range: 0x8025A1B8 -> 0x8025A224 void BandPowerMeter::StopDeploy(class BandPowerMeter * const this /* r31 */) {} // Range: 0x8025A224 -> 0x8025A2A4 void BandPowerMeter::KillBeatTask(class BandPowerMeter * const this /* r31 */) {} // Range: 0x8025A300 -> 0x8025A320 void BandPowerMeter::SetNoOverdrive() {} static class Symbol _s; // size: 0x4, address: 0x80A4F158 static class Symbol _s; // size: 0x4, address: 0x80A4F160 static class Symbol _s; // size: 0x4, address: 0x80A4F168 static class Symbol _s; // size: 0x4, address: 0x80A4F170 static class Symbol _s; // size: 0x4, address: 0x80A4F178 static class Symbol _s; // size: 0x4, address: 0x80A4F180 static class Symbol _s; // size: 0x4, address: 0x80A4F188 // Range: 0x8025A320 -> 0x8025AC60 class DataNode BandPowerMeter::Handle(class BandPowerMeter * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x54 class MessageTimer _mt; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F190 static class Symbol _s; // size: 0x4, address: 0x80A4F198 static class Symbol _s; // size: 0x4, address: 0x80A4F1A0 // Range: 0x8025AC60 -> 0x8025AFE8 unsigned char BandPowerMeter::SyncProperty(class BandPowerMeter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8025AFE8 -> 0x8025B02C void BandPowerMeter::Save() { // References // -> class Debug TheDebug; } // Range: 0x8025B02C -> 0x8025B13C void BandPowerMeter::PreLoad(class BandPowerMeter * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; } // Range: 0x8025B13C -> 0x8025B140 void BandPowerMeter::PostLoad() {} // Range: 0x8025B140 -> 0x8025B1D4 void BandPowerMeter::Copy(class BandPowerMeter * const this /* r29 */, const class Object * o /* r30 */, enum CopyType ct /* r31 */) { // Local variables const class BandPowerMeter * bpm; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14BandPowerMeter; } struct { // total size: 0x21C } __vt__14BandPowerMeter; // size: 0x21C, address: 0x808B53A0 struct { // total size: 0x8 } __RTTI__14BandPowerMeter; // size: 0x8, address: 0x808B5620 struct { // total size: 0x18 } __vt__23ObjPtr<3Sfx,9ObjectDir>; // size: 0x18, address: 0x808B5628 struct { // total size: 0x8 } __RTTI__23ObjPtr<3Sfx,9ObjectDir>; // size: 0x8, address: 0x808B5668 struct { // total size: 0x18 } __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // size: 0x18, address: 0x808B5708 struct { // total size: 0x8 } __RTTI__32ObjPtr<11RndPropAnim,9ObjectDir>; // size: 0x8, address: 0x808B5750 struct { // total size: 0x18 } __vt__24ObjPtr<4Task,9ObjectDir>; // size: 0x18, address: 0x808B57A8 struct { // total size: 0x8 } __RTTI__24ObjPtr<4Task,9ObjectDir>; // size: 0x8, address: 0x808B57E8 struct { // total size: 0x8 } __RTTI__4Task; // size: 0x8, address: 0x808B5B58 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025B1D4 -> 0x8025B514 */ // Range: 0x8025B1D4 -> 0x8025B244 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; } // Range: 0x8025B244 -> 0x8025B2B8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; } // Range: 0x8025B2B8 -> 0x8025B328 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; } // Range: 0x8025B328 -> 0x8025B330 class Object * ObjPtr::RefOwner() {} // Range: 0x8025B330 -> 0x8025B3C8 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__3Sfx; } // Range: 0x8025B3C8 -> 0x8025B3D0 class Object * ObjPtr::RefOwner() {} // Range: 0x8025B3D0 -> 0x8025B474 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPropAnim; } // Range: 0x8025B474 -> 0x8025B47C class Object * ObjPtr::RefOwner() {} // Range: 0x8025B47C -> 0x8025B514 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4Task; } /* Compile unit: C:\rockband2\system\src\bandobj\BandPowerMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025B734 -> 0x8025B90C */ // Range: 0x8025B734 -> 0x8025B778 class Symbol BandPowerMeter::ClassName() { // References // -> class Symbol name; } // Range: 0x8025B778 -> 0x8025B90C void BandPowerMeter::SetType(class BandPowerMeter * const this /* r29 */, class Symbol & BandPowerMeter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\BandScoreDisplay.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025B90C -> 0x8025C888 */ class DataArray * types; // size: 0x4, address: 0x80A4F1A8 // Range: 0x8025B90C -> 0x8025BBF0 void * BandScoreDisplay::BandScoreDisplay(class BandScoreDisplay * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__16BandScoreDisplay; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8025BBF0 -> 0x8025BC24 void BandScoreDisplay::Enter(class BandScoreDisplay * const this /* r31 */) {} // Range: 0x8025BC24 -> 0x8025BD24 void BandScoreDisplay::SyncScore(class BandScoreDisplay * const this /* r30 */) { // Local variables int score; // r31 int pos; // r29 int newval; // r3 int digit; // r0 } // Range: 0x8025BD24 -> 0x8025BE08 void BandScoreDisplay::PostLoad(class BandScoreDisplay * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int tmp; // r1+0x14 // References // -> class list sRevs; } // Range: 0x8025BE08 -> 0x8025C1FC void BandScoreDisplay::Copy(class BandScoreDisplay * const this /* r28 */, const class Object * o /* r26 */, enum CopyType type /* r25 */) { // Local variables const class BandScoreDisplay * sd; // r0 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16BandScoreDisplay; } static class Symbol _s; // size: 0x4, address: 0x80A4F1B0 static class Symbol _s; // size: 0x4, address: 0x80A4F1B8 static class Symbol _s; // size: 0x4, address: 0x80A4F1C0 static class Symbol _s; // size: 0x4, address: 0x80A4F1C8 static class Symbol _s; // size: 0x4, address: 0x80A4F1D0 // Range: 0x8025C1FC -> 0x8025C5D4 unsigned char BandScoreDisplay::SyncProperty(class BandScoreDisplay * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8025C5D4 -> 0x8025C888 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class ObjPtr * it; // r31 class ObjPtr tmp; // r1+0x20 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x21C } __vt__16BandScoreDisplay; // size: 0x21C, address: 0x808B5EC8 struct { // total size: 0x8 } __RTTI__16BandScoreDisplay; // size: 0x8, address: 0x808B6150 struct { // total size: 0x8 } __RTTI__P27ObjPtr<7RndMesh,9ObjectDir>; // size: 0x8, address: 0x808B64B0 struct { // total size: 0x8 } __RTTI__P26ObjPtr<6RndMat,9ObjectDir>; // size: 0x8, address: 0x808B64D8 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025C888 -> 0x8025CC1C */ // Range: 0x8025C888 -> 0x8025CA5C class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; } // Range: 0x8025CA5C -> 0x8025CC1C class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\BandScoreDisplay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025D10C -> 0x8025D824 */ // Range: 0x8025D10C -> 0x8025D1DC void BandScoreDisplay::SetDigitMat(class BandScoreDisplay * const this /* r29 */, int meshIdx /* r30 */, class RndMat * mat /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8025D1DC -> 0x8025D220 void BandScoreDisplay::Save() { // References // -> class Debug TheDebug; } // Range: 0x8025D220 -> 0x8025D384 void BandScoreDisplay::PreLoad(class BandScoreDisplay * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x14 int tmp; // r1+0x10 int tmp; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> unsigned char gLoadingProxyFromDisk; // -> class Debug TheDebug; } // Range: 0x8025D384 -> 0x8025D648 class DataNode BandScoreDisplay::Handle(class BandScoreDisplay * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x8025D648 -> 0x8025D68C class Symbol BandScoreDisplay::ClassName() { // References // -> class Symbol name; } // Range: 0x8025D68C -> 0x8025D820 void BandScoreDisplay::SetType(class BandScoreDisplay * const this /* r29 */, class Symbol & BandScoreDisplay /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8025D820 -> 0x8025D824 void BandScoreDisplay::SetFrame() {} /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025D824 -> 0x8025DAF4 */ // Range: 0x8025D824 -> 0x8025DAF4 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class ObjPtr * it; // r31 class ObjPtr tmp; // r1+0x20 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025DAF4 -> 0x8025F234 */ // Range: 0x8025DAF4 -> 0x8025DE84 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndMat,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8025DE84 -> 0x8025DEEC class ObjPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8025DEEC -> 0x8025DF6C void vector::_M_fill_insert() {} // Range: 0x8025DF6C -> 0x8025E324 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P27ObjPtr<7RndMesh,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8025E324 -> 0x8025E38C class ObjPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8025E38C -> 0x8025E40C void vector::_M_fill_insert() {} // Range: 0x8025E40C -> 0x8025E6A4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndMat,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8025E6A4 -> 0x8025E9E0 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x8025E9E0 -> 0x8025EC98 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P27ObjPtr<7RndMesh,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8025EC98 -> 0x8025F020 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\BandStarMeter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8025F234 -> 0x80260EF0 */ class DataArray * types; // size: 0x4, address: 0x80A4F1D8 static float gSpeed; // size: 0x4, address: 0x80A46AA8 // Range: 0x8025F234 -> 0x8025F48C void * BandStarMeter::BandStarMeter(class BandStarMeter * const this /* r31 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__13BandStarMeter; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8025F48C -> 0x8025F900 void * BandStarMeter::~BandStarMeter(class BandStarMeter * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } static class Symbol sp_engage; // size: 0x4, address: 0x80A4F1E0 // Range: 0x8025F900 -> 0x8025F9CC void BandStarMeter::Enter(class BandStarMeter * const this /* r30 */) { // Local variables class RndDir * dir; // r0 // References // -> const char * gNullStr; // -> static class Symbol sp_engage; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x8025F9CC -> 0x8025FA58 void BandStarMeter::Exit(class BandStarMeter * const this /* r31 */) { // Local variables class RndDir * dir; // r0 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x8025FA58 -> 0x8025FC9C void BandStarMeter::Poll(class BandStarMeter * const this /* r30 */) { // Local variables float ms; // f31 float dt; // f30 float frame; // f29 unsigned char chasing; // r31 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8025FC9C -> 0x8025FD0C void BandStarMeter::PollReadyGroup() {} // Range: 0x8025FD0C -> 0x8025FD98 void BandStarMeter::ChaseValue(float target /* r1+0x8 */) { // Local variables float delta; // f3 // References // -> static float gSpeed; } // Range: 0x8025FD98 -> 0x8025FE38 class DataNode BandStarMeter::OnEngage(class BandStarMeter * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables unsigned char engage; // r0 } static class Symbol _s; // size: 0x4, address: 0x80A4F1E8 // Range: 0x8025FE38 -> 0x80260254 class DataNode BandStarMeter::Handle(class BandStarMeter * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F1F0 static class Symbol _s; // size: 0x4, address: 0x80A4F1F8 static class Symbol _s; // size: 0x4, address: 0x80A4F200 static class Symbol _s; // size: 0x4, address: 0x80A4F208 static class Symbol _s; // size: 0x4, address: 0x80A4F210 static class Symbol _s; // size: 0x4, address: 0x80A4F218 static class Symbol _s; // size: 0x4, address: 0x80A4F220 static class Symbol _s; // size: 0x4, address: 0x80A4F228 static class Symbol _s; // size: 0x4, address: 0x80A4F230 static class Symbol _s; // size: 0x4, address: 0x80A4F238 static class Symbol _s; // size: 0x4, address: 0x80A4F240 // Range: 0x80260254 -> 0x80260990 unsigned char BandStarMeter::SyncProperty(class BandStarMeter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80260990 -> 0x80260B90 void BandStarMeter::Copy(class BandStarMeter * const this /* r31 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class BandStarMeter * sm; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13BandStarMeter; } // Range: 0x80260B90 -> 0x80260BD4 void BandStarMeter::Save() { // References // -> class Debug TheDebug; } // Range: 0x80260BD4 -> 0x80260E6C void BandStarMeter::PreLoad(class BandStarMeter * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x20 float val; // r1+0x1C int tmp; // r1+0x18 int tmp; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> unsigned char gLoadingProxyFromDisk; // -> class Debug TheDebug; } // Range: 0x80260E6C -> 0x80260EF0 void BandStarMeter::PostLoad(class BandStarMeter * const this /* r29 */, class BinStream & s /* r30 */) { // References // -> class list sRevs; } struct { // total size: 0x21C } __vt__13BandStarMeter; // size: 0x21C, address: 0x808B67CC struct { // total size: 0x8 } __RTTI__13BandStarMeter; // size: 0x8, address: 0x808B6A50 /* Compile unit: C:\rockband2\system\src\bandobj\BandStarMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80261128 -> 0x80261304 */ // Range: 0x80261128 -> 0x8026116C class Symbol BandStarMeter::ClassName() { // References // -> class Symbol name; } // Range: 0x8026116C -> 0x80261300 void BandStarMeter::SetType(class BandStarMeter * const this /* r29 */, class Symbol & BandStarMeter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80261300 -> 0x80261304 void BandStarMeter::SetFrame() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandStreakDisplay.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80261304 -> 0x80264054 */ class DataArray * types; // size: 0x4, address: 0x80A4F248 // Range: 0x80261304 -> 0x802619EC void * BandStreakDisplay::BandStreakDisplay(class BandStreakDisplay * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__17BandStreakDisplay; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802619EC -> 0x80261A4C void BandStreakDisplay::Reset(class BandStreakDisplay * const this /* r31 */) {} static class Symbol blow_streak; // size: 0x4, address: 0x80A4F250 // Range: 0x80261A4C -> 0x80261B40 void BandStreakDisplay::Enter(class BandStreakDisplay * const this /* r30 */) { // Local variables class RndDir * dir; // r0 // References // -> const char * gNullStr; // -> static class Symbol blow_streak; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x80261B40 -> 0x80261BC8 void BandStreakDisplay::Exit(class BandStreakDisplay * const this /* r31 */) { // Local variables class RndDir * dir; // r0 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x80261BC8 -> 0x80261C64 void BandStreakDisplay::Poll(class BandStreakDisplay * const this /* r30 */) { // Local variables float time; // f0 int i; // r31 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80261C64 -> 0x80261CA8 void BandStreakDisplay::SetIndicator() {} // Range: 0x80261CA8 -> 0x80261D40 class DataNode BandStreakDisplay::OnBlownStreak(class BandStreakDisplay * const this /* r30 */, class DataArray * msg /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80261D40 -> 0x80261D88 enum StreakColor BandStreakDisplay::GetOnColor() {} // Range: 0x80261D88 -> 0x80262140 void BandStreakDisplay::SyncState(class BandStreakDisplay * const this /* r29 */) { // Local variables unsigned char allOn; // r6 enum StreakColor colorOn; // r0 int i; // r30 unsigned char on; // r4 enum StreakColor color; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x80262140 -> 0x802624EC void BandStreakDisplay::SetColor(class RndMat * mat /* r22 */, enum StreakColor color /* r23 */) { // Local variables class Color c; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802624EC -> 0x80262518 void BandStreakDisplay::SetInfo() {} static class Symbol _s; // size: 0x4, address: 0x80A4F258 static class Symbol _s; // size: 0x4, address: 0x80A4F260 static class Symbol _s; // size: 0x4, address: 0x80A4F268 static class Symbol _s; // size: 0x4, address: 0x80A4F270 static class Symbol _s; // size: 0x4, address: 0x80A4F278 static class Symbol _s; // size: 0x4, address: 0x80A4F280 static class Symbol _s; // size: 0x4, address: 0x80A4F288 static class Symbol _s; // size: 0x4, address: 0x80A4F290 static class Symbol _s; // size: 0x4, address: 0x80A4F298 static class Symbol _s; // size: 0x4, address: 0x80A4F2A0 static class Symbol _s; // size: 0x4, address: 0x80A4F2A8 static class Symbol _s; // size: 0x4, address: 0x80A4F2B0 static class Symbol _s; // size: 0x4, address: 0x80A4F2B8 static class Symbol _s; // size: 0x4, address: 0x80A4F2C0 static class Symbol _s; // size: 0x4, address: 0x80A4F2C8 static class Symbol _s; // size: 0x4, address: 0x80A4F2D0 static class Symbol _s; // size: 0x4, address: 0x80A4F2D8 static class Symbol _s; // size: 0x4, address: 0x80A4F2E0 static class Symbol _s; // size: 0x4, address: 0x80A4F2E8 static class Symbol _s; // size: 0x4, address: 0x80A4F2F0 // Range: 0x80262518 -> 0x80262F18 unsigned char BandStreakDisplay::SyncProperty(class BandStreakDisplay * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4F2F8 static class Symbol _s; // size: 0x4, address: 0x80A4F300 // Range: 0x80262F18 -> 0x80263410 class DataNode BandStreakDisplay::Handle(class BandStreakDisplay * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80263410 -> 0x80263668 void BandStreakDisplay::PreLoad(class BandStreakDisplay * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x1C int tmp; // r1+0x18 int player; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> unsigned char gLoadingProxyFromDisk; // -> class Debug TheDebug; } // Range: 0x80263668 -> 0x802637BC void BandStreakDisplay::PostLoad(class BandStreakDisplay * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int tmp; // r1+0x18 // References // -> class list sRevs; } // Range: 0x802637BC -> 0x80263800 void BandStreakDisplay::Save() { // References // -> class Debug TheDebug; } // Range: 0x80263800 -> 0x80264054 void BandStreakDisplay::Copy(class BandStreakDisplay * const this /* r28 */, const class Object * o /* r26 */, enum CopyType type /* r25 */) { // Local variables const class BandStreakDisplay * bsd; // r0 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17BandStreakDisplay; } struct { // total size: 0x21C } __vt__17BandStreakDisplay; // size: 0x21C, address: 0x808B7204 struct { // total size: 0x8 } __RTTI__17BandStreakDisplay; // size: 0x8, address: 0x808B7488 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80264054 -> 0x802641F0 */ // Range: 0x80264054 -> 0x802641F0 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80264998 -> 0x80264AF4 */ // Range: 0x80264998 -> 0x80264AF4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\bandobj\BandStreakDisplay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80264AF4 -> 0x80264CD0 */ // Range: 0x80264AF4 -> 0x80264B38 class Symbol BandStreakDisplay::ClassName() { // References // -> class Symbol name; } // Range: 0x80264B38 -> 0x80264CCC void BandStreakDisplay::SetType(class BandStreakDisplay * const this /* r29 */, class Symbol & BandStreakDisplay /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80264CCC -> 0x80264CD0 void BandStreakDisplay::SetFrame() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandSwatch.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80264F08 -> 0x80265F20 */ class DataArray * types; // size: 0x4, address: 0x80A4F308 class Symbol name; // size: 0x4, address: 0x80A4F310 class Symbol name; // size: 0x4, address: 0x80A4F318 class ColorPalette * sDummyPalette; // size: 0x4, address: 0x80A4F31C class BandSwatch : public UIList { // total size: 0x2A0 class ObjPtr mColorPalette; // offset 0x25C, size 0xC }; // Range: 0x80264F08 -> 0x80265108 void BandSwatch::Init() { // Local variables int i; // r31 // References // -> class LoadMgr TheLoadMgr; // -> class ColorPalette * sDummyPalette; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ColorPalette; // -> class Symbol name; // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x80265108 -> 0x80265150 void BandSwatch::Terminate() { // References // -> class ColorPalette * sDummyPalette; } // Range: 0x80265224 -> 0x8026534C void * BandSwatch::BandSwatch(class BandSwatch * const this /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__10BandSwatch; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8026534C -> 0x8026543C void BandSwatch::Copy(class BandSwatch * const this /* r28 */, enum CopyType type /* r29 */) { // Local variables const class BandSwatch * s; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10BandSwatch; } static int REV; // size: 0x4, address: 0x80A46ACC static int gRev; // size: 0x4, address: 0x80A4F320 // Range: 0x8026543C -> 0x80265480 void BandSwatch::Save() { // References // -> class Debug TheDebug; } // Range: 0x80265480 -> 0x802654DC void BandSwatch::Load(class BandSwatch * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x802654DC -> 0x802655BC void BandSwatch::PreLoad(class BandSwatch * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int REV; // -> static int gRev; } static class Symbol colors; // size: 0x4, address: 0x80A4F328 // Range: 0x802655BC -> 0x802656B0 void BandSwatch::DrawShowing(class BandSwatch * const this /* r29 */) { // Local variables class Color c; // r1+0x20 // References // -> static class Symbol colors; } // Range: 0x802656B0 -> 0x802656FC char * BandSwatch::Text() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802656FC -> 0x802657D8 class RndMat * BandSwatch::Mat() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x802657D8 -> 0x8026580C int BandSwatch::NumData() {} // Range: 0x8026580C -> 0x80265890 void BandSwatch::GetColor(const class BandSwatch * const this /* r29 */, class Color & color /* r30 */, int data /* r31 */) {} // Range: 0x80265890 -> 0x802658F8 void BandSwatch::SetColors(class BandSwatch * const this /* r30 */, class ColorPalette * cp /* r31 */) {} // Range: 0x802658F8 -> 0x80265918 class vector & BandSwatch::Colors() { // References // -> class ColorPalette * sDummyPalette; } static class Symbol _s; // size: 0x4, address: 0x80A4F330 // Range: 0x80265918 -> 0x80265CF8 class DataNode BandSwatch::Handle(class BandSwatch * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ColorPalette; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F338 // Range: 0x80265CF8 -> 0x80265DD0 unsigned char BandSwatch::SyncProperty(class BandSwatch * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } // Range: 0x80265DD0 -> 0x80265F20 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ColorPalette; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__12ColorPalette; // size: 0x8, address: 0x808B7D80 struct { // total size: 0x1CC } __vt__10BandSwatch; // size: 0x1CC, address: 0x808B7D88 struct { // total size: 0x18 } __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // size: 0x18, address: 0x808B7F58 struct { // total size: 0x8 } __RTTI__33ObjPtr<12ColorPalette,9ObjectDir>; // size: 0x8, address: 0x808B7FA0 /* Compile unit: C:\rockband2\system\src\bandobj\BandSwatch.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80265F20 -> 0x80266174 */ // Range: 0x80265F20 -> 0x80265F98 class Object * BandSwatch::NewObject() { // References // -> class Symbol name; } // Range: 0x80265F98 -> 0x80265FDC class Symbol BandSwatch::ClassName() { // References // -> class Symbol name; } // Range: 0x80265FDC -> 0x80266174 void BandSwatch::SetType(class BandSwatch * const this /* r29 */, class Symbol & BandSwatch /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8026641C -> 0x802666C4 */ // Range: 0x8026641C -> 0x8026648C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; } // Range: 0x8026648C -> 0x80266624 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ColorPalette; } // Range: 0x80266624 -> 0x8026662C class Object * ObjPtr::RefOwner() {} // Range: 0x8026662C -> 0x802666C4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ColorPalette; } /* Compile unit: C:\rockband2\system\src\ui\List.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802666C4 -> 0x802666C8 */ // Range: 0x802666C4 -> 0x802666C8 void UIList::AdjustTrans() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandTextComp.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802666C8 -> 0x802671B4 */ // Range: 0x802666C8 -> 0x80266708 void * BandTextComp::~BandTextComp(class BandTextComp * const this /* r31 */) {} // Range: 0x80266708 -> 0x8026675C void BandTextComp::Copy() { // Local variables int i; // r7 } static int TEXT_COMP_REV; // size: 0x4, address: 0x80A46AD8 static int gRev; // size: 0x4, address: 0x80A4F340 static class Symbol custom_colors; // size: 0x4, address: 0x80A4F348 // Range: 0x8026675C -> 0x802668CC void BandTextComp::Load(class BandTextComp * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int seed; // r1+0x1C float delta_x; // r1+0x18 float delta_z; // r1+0x14 float delta_rot; // r1+0x10 int count; // r1+0xC int i; // r31 // References // -> static class Symbol custom_colors; // -> class Debug TheDebug; // -> static int TEXT_COMP_REV; // -> static int gRev; } static class Symbol custom_colors; // size: 0x4, address: 0x80A4F350 static class DataArray * allPresets; // size: 0x4, address: 0x80A4F354 // Range: 0x802668CC -> 0x802669B0 void BandTextComp::SetColorPreset(class BandTextComp * const this /* r29 */) { // Local variables class DataArray * preset; // r31 int i; // r30 // References // -> static class DataArray * allPresets; // -> class UIManager TheUI; // -> static class Symbol custom_colors; } static class Symbol custom_colors; // size: 0x4, address: 0x80A4F35C // Range: 0x802669B0 -> 0x80266A28 void BandTextComp::SetColorProp(class BandTextComp * const this /* r29 */, enum State state /* r30 */, int val /* r31 */) { // References // -> static class Symbol custom_colors; } static class Symbol custom_colors; // size: 0x4, address: 0x80A4F364 // Range: 0x80266A28 -> 0x80266B9C void BandTextComp::GetStateColor(class BandTextComp * const this /* r29 */, enum State state /* r30 */, class Color & c /* r31 */) { // References // -> class LoadMgr TheLoadMgr; // -> static class Symbol custom_colors; } static class DataArray * allPresets; // size: 0x4, address: 0x80A4F368 static class Symbol default_colors; // size: 0x4, address: 0x80A4F370 // Range: 0x80266B9C -> 0x80266D30 int BandTextComp::LookupStatePresetColor(class BandTextComp * const this /* r28 */, int state /* r29 */, class DataArray * preset /* r30 */) { // References // -> const char * kAssertStr; // -> static class Symbol default_colors; // -> class Debug TheDebug; // -> static class DataArray * allPresets; // -> class UIManager TheUI; } static class Symbol _s; // size: 0x4, address: 0x80A4F378 static class Symbol _s; // size: 0x4, address: 0x80A4F380 static class Symbol _s; // size: 0x4, address: 0x80A4F388 static class Symbol _s; // size: 0x4, address: 0x80A4F390 static class Symbol _s; // size: 0x4, address: 0x80A4F398 static class Symbol _s; // size: 0x4, address: 0x80A4F3A0 // Range: 0x80266D30 -> 0x802671B4 unsigned char BandTextComp::SyncProperty(class BandTextComp * const this /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r27 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x10 } __vt__12BandTextComp; // size: 0x10, address: 0x808B8150 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802671B4 -> 0x80267238 */ // Range: 0x802671B4 -> 0x80267238 void * BandTextComp::BandTextComp(class BandTextComp * const this /* r31 */) { // Local variables int i; // r5 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__12BandTextComp; } /* Compile unit: C:\rockband2\system\src\bandobj\CharDeform.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80267238 -> 0x802683C8 */ // Range: 0x80267238 -> 0x80267DB4 void * CharDeform::CharDeform(class CharDeform * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80267DB4 -> 0x802683C8 float CharDeform::Frame(const class CharDeform * const this /* r29 */, int idx /* r1+0x10 */, float weight /* f30 */, float height /* f31 */) { // Local variables class Vector3 point; // r1+0x90 const struct Triangle * t; // r30 unsigned char found; // r3 int dir; // r7 int i; // r8 class Vector3 to_point; // r1+0x80 class Vector3 to_next; // r1+0x70 class Vector3 cross; // r1+0x60 const int * desired; // r0 class vector weights; // r1+0x50 int i; // r6 class Vector3 tri_side; // r1+0x40 class Vector3 to_point; // r1+0x30 class Vector3 proj; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pf; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ210CharDeform8Triangle; // size: 0x8, address: 0x808B8220 struct { // total size: 0x8 } __RTTI__P7Vector3; // size: 0x8, address: 0x808B8238 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802683C8 -> 0x80268484 */ // Range: 0x802683C8 -> 0x80268484 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80268484 -> 0x80268564 */ // Range: 0x80268484 -> 0x80268564 int * find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80268564 -> 0x80268C38 */ // Range: 0x80268564 -> 0x80268A2C void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct Triangle * __pos /* r25 */, const struct Triangle & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x78 unsigned long __len; // r29 struct Triangle * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__Pi; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210CharDeform8Triangle; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80268A2C -> 0x80268C38 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Vector3 * __pos /* r26 */, const class Vector3 & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Vector3 * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector3; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\bandobj\CharDesc.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80268C38 -> 0x8026AAA8 */ // Range: 0x80268C38 -> 0x80268CCC void * CharDesc::CharDesc(class CharDesc * const this /* r30 */, class DataArray * char_data /* r31 */) { // References // -> struct [anonymous] __vt__8CharDesc; } // Range: 0x80268CCC -> 0x80269218 void CharDesc::CheckData(class CharDesc * const this /* r27 */) { // Local variables class DataArray * outfits; // r30 int i; // r29 class Symbol category; // r1+0x88 class DataArray * outfit; // r28 class Symbol name; // r1+0x84 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80269218 -> 0x80269370 void CharDesc::CheckNotExcluded(class CharDesc * const this /* r25 */, class Symbol & category /* r26 */, class Symbol & outfit /* r27 */) { // Local variables class DataArray * outfits; // r29 class DataArray * config; // r29 class DataArray * exclude; // r29 // References // -> class Debug TheDebug; } // Range: 0x80269370 -> 0x802693E4 void * CharDesc::~CharDesc(class CharDesc * const this /* r30 */) {} // Range: 0x802693E4 -> 0x802693F4 void CharDesc::AddRef() {} // Range: 0x802693F4 -> 0x80269428 void CharDesc::Release() {} // Range: 0x80269428 -> 0x80269430 class HxGuid & CharDesc::Guid() {} // Range: 0x80269430 -> 0x80269440 char * CharDesc::DebugName() {} // Range: 0x80269440 -> 0x80269448 char * CharDesc::CharName() { // References // -> const char * gNullStr; } // Range: 0x80269448 -> 0x80269450 class DataArray * CharDesc::GetCharData() {} static class Symbol gender; // size: 0x4, address: 0x80A4F3AC // Range: 0x80269450 -> 0x802694CC class Symbol CharDesc::GetGender(const class CharDesc * const this /* r31 */) { // References // -> static class Symbol gender; } static class Symbol valid; // size: 0x4, address: 0x80A4F3B4 // Range: 0x802694CC -> 0x80269568 unsigned char CharDesc::Valid(const class CharDesc * const this /* r30 */) { // Local variables class DataArray * d; // r30 // References // -> static class Symbol valid; } static class Symbol attitude; // size: 0x4, address: 0x80A4F3BC // Range: 0x80269568 -> 0x802695E0 int CharDesc::GetAttitude(const class CharDesc * const this /* r31 */) { // References // -> static class Symbol attitude; } static class Symbol outfit; // size: 0x4, address: 0x80A4F3C4 // Range: 0x802695E0 -> 0x80269684 class Symbol CharDesc::SelectedOutfit(const class CharDesc * const this /* r30 */, class Symbol & category /* r31 */) { // References // -> static class Symbol outfit; } static class Symbol skin_color_index; // size: 0x4, address: 0x80A4F3CC // Range: 0x80269684 -> 0x802696FC int CharDesc::SkinColor(const class CharDesc * const this /* r31 */) { // References // -> static class Symbol skin_color_index; } static class Symbol eye_color_index; // size: 0x4, address: 0x80A4F3D4 // Range: 0x802696FC -> 0x80269774 int CharDesc::EyeColor(const class CharDesc * const this /* r31 */) { // References // -> static class Symbol eye_color_index; } static class Symbol eyebrow_color_index; // size: 0x4, address: 0x80A4F3DC // Range: 0x80269774 -> 0x802697EC int CharDesc::EyebrowColor(const class CharDesc * const this /* r31 */) { // References // -> static class Symbol eyebrow_color_index; } static class Symbol height; // size: 0x4, address: 0x80A4F3E4 // Range: 0x802697EC -> 0x80269864 float CharDesc::Height(const class CharDesc * const this /* r31 */) { // References // -> static class Symbol height; } static class Symbol weight; // size: 0x4, address: 0x80A4F3EC // Range: 0x80269864 -> 0x802698DC float CharDesc::Weight(const class CharDesc * const this /* r31 */) { // References // -> static class Symbol weight; } // Range: 0x802698DC -> 0x8026993C class Symbol CharDesc::TattooPrefab(const class CharDesc * const this /* r31 */) { // Local variables class DataArray * tattoo_data; // r31 } // Range: 0x8026993C -> 0x80269B44 void CharDesc::ConfigureChar(class CharDesc * const this /* r27 */, class CompositeCharacter * cc /* r28 */) { // Local variables class DataArray * outs; // r30 int i; // r29 class Symbol category; // r1+0x38 class Symbol selected; // r1+0x34 int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80269B44 -> 0x80269CA4 void CharDesc::ConfigureOutfitColor(class CharDesc * const this /* r28 */, class CompositeCharacter * cc /* r29 */, class Symbol & category /* r30 */) { // Local variables class Symbol selected; // r1+0x24 int i; // r31 // References // -> const char * gNullStr; } static class Symbol colors; // size: 0x4, address: 0x80A4F3F4 static class Symbol outfit; // size: 0x4, address: 0x80A4F3FC // Range: 0x80269CA4 -> 0x80269D90 int CharDesc::OutfitColor(const class CharDesc * const this /* r29 */, class Symbol & category /* r31 */, int idx /* r30 */) { // Local variables class DataArray * c; // r31 // References // -> static class Symbol outfit; // -> static class Symbol colors; } // Range: 0x80269D90 -> 0x80269E3C class Symbol CharDesc::Instrument(const class CharDesc * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x80269E3C -> 0x80269ED0 void CharDesc::UpdatePref(class CompositeCharacter * cc /* r29 */, class Symbol & category /* r30 */, class Symbol & outfit /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80269ED0 -> 0x80269F78 unsigned int CharDesc::GetCategoryIndex(const class Symbol & category /* r28 */) { // Local variables const class DataArray * cats; // r30 unsigned int i; // r29 } // Range: 0x80269F78 -> 0x8026A08C unsigned int CharDesc::GetOutfitIndex(const class Symbol & category /* r25 */, const class Symbol & outfit /* r26 */, unsigned int cat /* r27 */) { // Local variables const class DataArray * cats; // r30 unsigned int i; // [invalid] class DataArray * outs; // r29 unsigned int j; // r28 } // Range: 0x8026A08C -> 0x8026A118 unsigned int CharDesc::GetAttitudeIndex() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8026A118 -> 0x8026A1A4 unsigned int CharDesc::GetTattooPrefabIndex(const class Symbol & name /* r29 */) { // Local variables const class DataArray * tats; // r31 unsigned int i; // r30 } // Range: 0x8026A1A4 -> 0x8026A1FC unsigned int CharDesc::GetHeightIndex() {} // Range: 0x8026A1FC -> 0x8026A200 unsigned int CharDesc::GetWeightIndex() {} // Range: 0x8026A200 -> 0x8026A29C class DataArray * CharDesc::OutfitCategories() {} // Range: 0x8026A29C -> 0x8026A30C class DataArray * CharDesc::TattooPrefabNames() {} static class Symbol _s; // size: 0x4, address: 0x80A4F404 static class Symbol _s; // size: 0x4, address: 0x80A4F40C static class Symbol _s; // size: 0x4, address: 0x80A4F414 static class Symbol _s; // size: 0x4, address: 0x80A4F41C static class Symbol _s; // size: 0x4, address: 0x80A4F424 static class Symbol _s; // size: 0x4, address: 0x80A4F42C // Range: 0x8026A30C -> 0x8026AAA8 class DataNode CharDesc::Handle(class CharDesc * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0x50 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x80 } __vt__8CharDesc; // size: 0x80, address: 0x808B8858 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8026AAA8 -> 0x8026AB54 */ // Range: 0x8026AAA8 -> 0x8026AB2C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, class Symbol & t2 /* r30 */, class Symbol & t3 /* r31 */) { // Local variables class FormatString f; // r1+0x10 } /* Compile unit: C:\rockband2\system\src\bandobj\CompositeCharacter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8026AB54 -> 0x802762FC */ class DataArray * types; // size: 0x4, address: 0x80A4F430 class Symbol name; // size: 0x4, address: 0x80A4F438 class Symbol name; // size: 0x4, address: 0x80A4F440 enum WalkState { kStateNone = 0, kStateGoing = 1, kStateStopping = 2, }; struct WalkClip { // total size: 0xC class CharClip * clip; // offset 0x0, size 0x4 float frame; // offset 0x4, size 0x4 float prevFrame; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct WalkClip * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct WalkClip * _M_start; // offset 0x0, size 0x4 struct WalkClip * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct PlanPoint { // total size: 0xC int node; // offset 0x0, size 0x4 float frame; // offset 0x4, size 0x4 float dist; // offset 0x8, size 0x4 }; class ClipPredict { // total size: 0x50 protected: class CharClipSamples * mClip; // offset 0x0, size 0x4 void * mAngChannel; // offset 0x4, size 0x4 void * mPosChannel; // offset 0x8, size 0x4 class Vector3 mPos; // offset 0x10, size 0x10 float mAng; // offset 0x20, size 0x4 class Vector3 mLastPos; // offset 0x30, size 0x10 float mLastAng; // offset 0x40, size 0x4 }; class CharWalk : public CharPollable { // total size: 0xCB0 protected: float mPathRadius; // offset 0x8, size 0x4 class vector mWaypoints; // offset 0xC, size 0xC class Waypoint * mFinalWay; // offset 0x18, size 0x4 float mDestFacing; // offset 0x1C, size 0x4 float mStopRadius; // offset 0x20, size 0x4 class Vector3 mDestPos; // offset 0x30, size 0x10 class Vector3 mUnitDir; // offset 0x40, size 0x10 enum WalkState mState; // offset 0x50, size 0x4 int mCurNode; // offset 0x54, size 0x4 int mCurWaypoint; // offset 0x58, size 0x4 class vector mClips; // offset 0x5C, size 0xC int mCurPoint; // offset 0x68, size 0x4 int mLastPoint; // offset 0x6C, size 0x4 struct PlanPoint mPoints[256]; // offset 0x70, size 0xC00 float mOffsetSpeed; // offset 0xC70, size 0x4 float mBr; // offset 0xC74, size 0x4 class Character * mMe; // offset 0xC78, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Waypoint * mPtr; // offset 0x8, size 0x4 }; class CharServoBone : public CharPollable, public CharBonesMeshes { // total size: 0x100 protected: class RndTransformable * mPelvis; // offset 0x74, size 0x4 float * mFacingRotDelta; // offset 0x78, size 0x4 class Vector3 * mFacingPosDelta; // offset 0x7C, size 0x4 float * mFacingRot; // offset 0x80, size 0x4 class Vector3 * mFacingPos; // offset 0x84, size 0x4 unsigned char mMoveSelf; // offset 0x88, size 0x1 unsigned char mDeltaChanged; // offset 0x89, size 0x1 class Character * mMe; // offset 0x8C, size 0x4 class ObjPtr mWay; // offset 0x90, size 0xC class ObjPtr mOverrideClip; // offset 0x9C, size 0xC float mOverrideFrame; // offset 0xA8, size 0x4 class ObjPtr mOverrideWay; // offset 0xAC, size 0xC class Vector3 mOverridePos; // offset 0xC0, size 0x10 }; struct Node { // total size: 0xC class CharHair * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; struct Node { // total size: 0xC class RndMesh * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; // Range: 0x8026AB54 -> 0x8026B23C void * CompositeCharacter::~CompositeCharacter(class CompositeCharacter * const this /* r29 */) { // References // -> struct [anonymous] __vt__39ObjPtr<18CompositeCharacter,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtrList<8CharHair,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__18CompositeCharacter; } // Range: 0x8026B23C -> 0x8026B2D0 void CompositeCharacter::RemovingObject(class CompositeCharacter * const this /* r30 */, class Object * obj /* r31 */) {} static class Symbol clip_flags; // size: 0x4, address: 0x80A4F448 // Range: 0x8026B2D0 -> 0x8026B5A0 void CompositeCharacter::Enter(class CompositeCharacter * const this /* r31 */) { // Local variables class Message msg; // r1+0x20 class DataNode n; // r1+0x18 class CharClip * his; // r4 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> struct [anonymous] __vt__7Message; // -> static class Symbol clip_flags; } // Range: 0x8026B5A0 -> 0x8026B5DC void CompositeCharacter::Exit(class CompositeCharacter * const this /* r31 */) {} static class DebugWarner _dw; // size: 0x100, address: 0x8097CE78 static class DebugWarner _dw; // size: 0x100, address: 0x8097CF78 // Range: 0x8026B5DC -> 0x8026B890 class CharClipDriver * CompositeCharacter::PlayMainClip(class CompositeCharacter * const this /* r30 */, int pf /* r31 */) { // Local variables int flags; // r26 class CharClip * clip; // r28 class DataNode & warn; // r0 class CharClipDriver * cd; // r26 // References // -> static class DebugWarner _dw; // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x8026B890 -> 0x8026B948 void CompositeCharacter::MakeMRU(class CompositeCharacter * who /* r30 */, class CharClip * clip /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Timer * _t; // size: 0x4, address: 0x80A4F44C static class Symbol drum; // size: 0x4, address: 0x80A4F454 static class Symbol symBoneHiHat; // size: 0x4, address: 0x80A4F45C // Range: 0x8026B948 -> 0x8026BBD0 void CompositeCharacter::Poll(class CompositeCharacter * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0x20 class CharClip * c; // r0 class Vector3 * pos; // r0 // References // -> static class Symbol symBoneHiHat; // -> const char * gNullStr; // -> static class Symbol drum; // -> static class Timer * _t; } static char buffer[256]; // size: 0x100, address: 0x8097D078 struct FlagPair { // total size: 0x8 int flag; // offset 0x0, size 0x4 const char * name; // offset 0x4, size 0x4 }; static struct FlagPair pairs[19]; // size: 0x98, address: 0x808B8C30 // Range: 0x8026BBD0 -> 0x8026BCB8 char * CompositeCharacter::FlagString(int flags /* r29 */) { // Local variables int i; // r31 // References // -> static struct FlagPair pairs[19]; // -> static char buffer[256]; } // Range: 0x8026BCB8 -> 0x8026BD04 void CompositeCharacter::SetH2hLocation() {} // Range: 0x8026BD04 -> 0x8026BD24 void CompositeCharacter::SetH2h() {} // Range: 0x8026BD24 -> 0x8026BE4C void CompositeCharacter::PlayFaceClip(class CompositeCharacter * const this /* r28 */, unsigned char first /* r29 */) { // Local variables int flags; // r30 class CharClip * c; // r4 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x8026BE4C -> 0x8026BE68 static char * SafeName() {} static class DataNode & guitarist_debug; // size: 0x4, address: 0x80A4F464 // Range: 0x8026BE68 -> 0x8026C0AC void CompositeCharacter::UpdateOverlay(class CompositeCharacter * const this /* r30 */) { // Local variables class CharClipDriver * d; // r0 // References // -> class TaskMgr TheTaskMgr; // -> static class DataNode & guitarist_debug; } static class Message msg; // size: 0x8, address: 0x8097D188 class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndMat * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndTexRenderer * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharHair * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8026C0AC -> 0x8026D2C8 void CompositeCharacter::SyncObjects(class CompositeCharacter * const this /* r29 */) { // Local variables class ObjDirItr m; // r1+0xA8 class ObjDirItr m; // r1+0x94 class ObjDirItr hair; // r1+0x80 // References // -> struct [anonymous] __RTTI__8CharHair; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__6RndTex; // -> struct [anonymous] __RTTI__13RndScreenMask; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__14RndTexRenderer; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x8026D2C8 -> 0x8026D59C void CompositeCharacter::FixSocks(class CompositeCharacter * const this /* r26 */) { // Local variables class Object * feet; // r30 class Object * footSkin; // r29 class Object * legs; // r28 class Object * lskin; // r27 class Object * sockMat; // r0 class Object * lskin; // r22 class RndMat * footMat; // r0 // References // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } static int gRev; // size: 0x4, address: 0x80A4F46C // Range: 0x8026D59C -> 0x8026D700 void CompositeCharacter::Save(class CompositeCharacter * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8026D700 -> 0x8026D790 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8026D790 -> 0x8026D878 void CompositeCharacter::PreLoad(class CompositeCharacter * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int hashSize; // r31 // References // -> class Debug TheDebug; // -> static int gRev; } static class Symbol weight; // size: 0x4, address: 0x80A4F474 static class Symbol height; // size: 0x4, address: 0x80A4F47C // Range: 0x8026D878 -> 0x8026E210 void CompositeCharacter::PostLoad(class CompositeCharacter * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables const class DataNode * node; // r0 int mode; // r1+0x34 int tempMode; // r1+0x30 int attitude; // r1+0x2C class Symbol prefabName; // r1+0x28 float h; // r1+0x24 float w; // r1+0x20 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__6RndTex; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ColorPalette; // -> unsigned char gLoadingProxyFromDisk; // -> static class Symbol height; // -> static class Symbol weight; // -> static int gRev; } // Range: 0x8026E210 -> 0x8026E3AC void CompositeCharacter::Copy(class CompositeCharacter * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CompositeCharacter * cc; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x8026E3AC -> 0x8026F550 class DataArray * CompositeCharacter::MakeConfig(class CompositeCharacter * const this /* r24 */) { // Local variables class DataArrayPtr gender; // r1+0x1B0 class DataArrayPtr instrument; // r1+0x1A8 class DataArrayPtr attitude; // r1+0x1A0 class DataArrayPtr weight; // r1+0x198 class DataArrayPtr height; // r1+0x190 class DataArrayPtr skin; // r1+0x188 class DataArrayPtr eye; // r1+0x180 class DataArrayPtr eyebrow; // r1+0x178 class ObjDirItr ol; // r1+0x1B8 class vector & cats; // r0 class DataArray * outs; // r26 struct Category * c; // r25 class Symbol selected; // r1+0x84 const char * base_name; // r0 class DataArray * cfg; // r23 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__12OutfitConfig; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x8026F550 -> 0x8026F5D0 class DataNode CompositeCharacter::WriteConfig() { // Local variables class DataArray * data; // r31 } // Range: 0x8026F5D0 -> 0x8026F7FC class DataNode CompositeCharacter::ListPrefabs(class CompositeCharacter * const this /* r27 */) { // Local variables class DataArray * arr; // r30 class DataArrayPtr a; // r1+0x38 int currentItem; // r29 int i; // r28 // References // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x8026F7FC -> 0x8026F970 class DataNode CompositeCharacter::OnLoadPrefab(class CompositeCharacter * const this /* r31 */) { // Local variables class DataArray * arr; // r4 // References // -> class LoadMgr TheLoadMgr; // -> const char * gNullStr; } // Range: 0x8026F970 -> 0x8026FA10 void CompositeCharacter::LoadPrefabArray(class CompositeCharacter * const this /* r30 */, class DataArray * prefabArr /* r31 */) {} // Range: 0x8026FA10 -> 0x8026FA20 float CompositeCharacter::DeformFrame() {} // Range: 0x8026FA20 -> 0x8026FA8C class OutfitConfig * CompositeCharacter::FindOutfitConfig(class CompositeCharacter * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitConfig; } // Range: 0x8026FA8C -> 0x8026FB44 void CompositeCharacter::SetOutfitColor(class CompositeCharacter * const this /* r28 */, class Symbol & category /* r29 */, int option_index /* r30 */, int color_index /* r31 */) { // Local variables class OutfitConfig * oc; // r0 } static class Symbol skin_proxy; // size: 0x4, address: 0x80A4F484 static class Symbol color; // size: 0x4, address: 0x80A4F48C static class Symbol tattoo_overlay_color; // size: 0x4, address: 0x80A4F494 // Range: 0x8026FB44 -> 0x8027002C void CompositeCharacter::SetSkinColor(class CompositeCharacter * const this /* r28 */, int idx /* r26 */, unsigned char redoTexRenders /* r29 */) { // Local variables class Color col; // r1+0x60 class RndMat * * m; // r4 class RndTexRenderer * * s; // r29 class Message msg; // r1+0x50 // References // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> static class Symbol tattoo_overlay_color; // -> static class Symbol color; // -> const char * gNullStr; // -> static class Symbol skin_proxy; } // Range: 0x8027002C -> 0x80270118 void CompositeCharacter::SetEyeColor(class CompositeCharacter * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x80270118 -> 0x80270260 void CompositeCharacter::SetEyebrowColor(class CompositeCharacter * const this /* r28 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__12ColorPalette; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x80270260 -> 0x802703C4 void CompositeCharacter::SetTattooPrefab(class CompositeCharacter * const this /* r28 */) { // Local variables class FilePath tattoo_path; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> struct [anonymous] __vt__8FilePath; } static class DataNode & d; // size: 0x4, address: 0x80A4F49C // Range: 0x802703C4 -> 0x80270524 void CompositeCharacter::DrawShowing(class CompositeCharacter * const this /* r30 */) { // Local variables int i; // r31 class Vector3 p; // r1+0x40 class Vector3 p2; // r1+0x30 // References // -> class Rnd & TheRnd; // -> static class DataNode & d; } // Range: 0x80270524 -> 0x802708DC void CompositeCharacter::Mats(class list & mats /* r31 */) { // Local variables class ObjDirItr m; // r1+0x20 struct MatShaderOptions opts; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std20_List_node; // size: 0x8, address: 0x808B9178 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std20_List_node; // size: 0x8, address: 0x808B91B8 static class DataArray * req; // size: 0x4, address: 0x80A4F4A0 // Range: 0x802708DC -> 0x80270A94 unsigned char CompositeCharacter::AddDircut(class CompositeCharacter * const this /* r30 */, const char * group /* r31 */) { // Local variables int i; // r28 int i; // r28 // References // -> static class DataArray * req; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x80270A94 -> 0x80270C24 char * CompositeCharacter::DircutFile(class CompositeCharacter * const this /* r28 */) { // Local variables int index; // r29 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x80270C24 -> 0x8027113C void CompositeCharacter::UncompressTextures(class CompositeCharacter * const this /* r31 */) { // Local variables class ObjDirItr l; // r1+0x34 class ObjDirItr m; // r1+0x20 // References // -> struct [anonymous] __RTTI__14RndTexRenderer; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } // Range: 0x8027113C -> 0x802711D8 void CompositeCharacter::SetAttitude(class CompositeCharacter * const this /* r29 */, int flags /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802711D8 -> 0x802711E4 int CompositeCharacter::GetAttitude() {} // Range: 0x802711E4 -> 0x80271200 void CompositeCharacter::SetHeight() {} // Range: 0x80271200 -> 0x8027121C void CompositeCharacter::SetWeight() {} // Range: 0x8027121C -> 0x8027146C void CompositeCharacter::LoadClips(class CompositeCharacter * const this /* r26 */, unsigned char async /* r27 */) { // References // -> struct [anonymous] __RTTI__10CharDriver; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } static class Symbol tempo; // size: 0x4, address: 0x80A4F4A8 static class Symbol realtime; // size: 0x4, address: 0x80A4F4B0 static class Symbol finale; // size: 0x4, address: 0x80A4F4B8 static class Symbol shell; // size: 0x4, address: 0x80A4F4C0 static class Symbol tempo_only; // size: 0x4, address: 0x80A4F4C8 static class Symbol none; // size: 0x4, address: 0x80A4F4D0 // Range: 0x8027146C -> 0x80271838 void CompositeCharacter::SyncClipLoader(class CompositeCharacter * const this /* r29 */, class OutfitLoader * l /* r30 */) { // Local variables unsigned char add; // r0 unsigned char drum_hand; // r0 class Symbol as; // r1+0x54 int i; // r4 // References // -> static class Symbol none; // -> static class Symbol tempo_only; // -> static class Symbol shell; // -> static class Symbol finale; // -> static class Symbol realtime; // -> static class Symbol tempo; } // Range: 0x80271838 -> 0x80271928 unsigned char CompositeCharacter::ClipsLoading() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } // Range: 0x80271928 -> 0x802719A0 void CompositeCharacter::SetTempo(class CompositeCharacter * const this /* r30 */, int flags /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802719A0 -> 0x802719AC int CompositeCharacter::GetTempo() {} // Range: 0x802719AC -> 0x80271A44 void CompositeCharacter::SetGuitarFlags(class CompositeCharacter * const this /* r30 */, int flags /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80271A44 -> 0x80271A6C unsigned char CompositeCharacter::HasAddDriver() {} // Range: 0x80271A6C -> 0x80271AA8 void CompositeCharacter::SetAbsRegulate() {} // Range: 0x80271AA8 -> 0x80271C60 void CompositeCharacter::ChangeGroup(class CompositeCharacter * const this /* r28 */, float offset /* f31 */, enum TaskUnits units /* r30 */, class Symbol & ev /* r31 */) { // Local variables class CharClipDriver * d; // r0 class CharClip * c; // r0 int i; // r6 // References // -> class Debug TheDebug; // -> const char * gNullStr; } static class DataNode & composite_character_demand_load; // size: 0x4, address: 0x80A4F4D8 static class Symbol dircut; // size: 0x4, address: 0x80A4F4E0 // Range: 0x80271C60 -> 0x8027209C class CharClipDriver * CompositeCharacter::SetState(class CompositeCharacter * const this /* r24 */, const char * groupName /* r21 */, int playFlags /* r25 */, int flags /* r26 */, unsigned char force /* r27 */) { // Local variables class CharDriver * oldDriver; // r21 class CharClip * c; // r0 // References // -> class Debug TheDebug; // -> static class Symbol dircut; // -> struct [anonymous] __RTTI__13CharClipGroup; // -> class LoadMgr TheLoadMgr; // -> static class DataNode & composite_character_demand_load; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } static class Symbol none; // size: 0x4, address: 0x80A4F4E8 static int sCount; // size: 0x4, address: 0x80A4F4EC // Range: 0x8027209C -> 0x802723E8 class Symbol CompositeCharacter::ValidInstrument(class CompositeCharacter * const this /* r26 */, class Symbol & category /* r29 */) { // Local variables class ObjDirItr ol; // r1+0x24 struct Category * cat; // r0 int num; // r27 int i; // r26 // References // -> const char * gNullStr; // -> static int sCount; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> static class Symbol none; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjOwnerPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjOwnerPtr * _M_start; // offset 0x0, size 0x4 class ObjOwnerPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CharBonesMeshes : public CharBonesAlloc { // total size: 0x98 protected: class ObjVector mMeshes; // offset 0x58, size 0x10 class RndTransformable * mDummyMesh; // offset 0x68, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class list : public _List_base { // total size: 0x8 }; class list : public _List_base { // total size: 0x8 }; class list : public _List_base { // total size: 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class Object * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharIKScale * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802723E8 -> 0x8027316C void CompositeCharacter::Deform(class CompositeCharacter * const this /* r27 */) { // Local variables class CharBonesMeshes bones; // r1+0x128 class iterator it; // r1+0x98 class Symbol ikScale; // r1+0x94 class Symbol ikHand; // r1+0x90 class Symbol foretwist; // r1+0x8C class Symbol collide; // r1+0x88 class list ikScales; // r1+0xF8 class list ikHands; // r1+0xF0 class list foretwists; // r1+0xE8 class list collides; // r1+0xE0 class ObjDirItr o; // r1+0x114 struct _List_iterator it; // r1+0x84 class ObjDirItr s; // r1+0x100 int i; // r26 struct _List_iterator it; // r1+0x80 struct _List_iterator it; // r1+0x7C struct _List_iterator it; // r1+0x78 struct _List_iterator it; // r1+0x74 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> struct [anonymous] __RTTI__11CharCollide; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> struct [anonymous] __RTTI__13CharForeTwist; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std25_List_node; // -> struct [anonymous] __RTTI__10CharIKHand; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__11CharIKScale; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__8CharClip; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjOwnerPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjOwnerPtr * _M_start; // offset 0x0, size 0x4 class ObjOwnerPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class Waypoint : public RndDrawable, public RndTransformable { // total size: 0x160 int mFlags; // offset 0xF8, size 0x4 float mRadius; // offset 0xFC, size 0x4 float mYRadius; // offset 0x100, size 0x4 float mAngRadius; // offset 0x104, size 0x4 int mSearchID; // offset 0x108, size 0x4 float mAbsAngDelta; // offset 0x10C, size 0x4 float mAbsRadiusDelta; // offset 0x110, size 0x4 class ObjVector mConnections; // offset 0x114, size 0x10 }; class CharIKScale : public CharWeightable, public CharPollable { // total size: 0x7C protected: class ObjPtr mDest; // offset 0x20, size 0xC float mScale; // offset 0x2C, size 0x4 class ObjPtrList mSecondaryTargets; // offset 0x30, size 0x14 float mBottomHeight; // offset 0x44, size 0x4 float mTopHeight; // offset 0x48, size 0x4 unsigned char mAutoWeight; // offset 0x4C, size 0x1 }; class _List_node : public _List_node_base { // total size: 0xC public: class CharIKScale * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class CharIKHand : public RndHighlightable, public CharWeightable, public CharPollable { // total size: 0xB0 protected: class ObjPtr mHand; // offset 0x28, size 0xC class ObjPtr mFinger; // offset 0x34, size 0xC class ObjPtrList mTargets; // offset 0x40, size 0x14 unsigned char mOrientation; // offset 0x54, size 0x1 unsigned char mStretch; // offset 0x55, size 0x1 unsigned char mScalable; // offset 0x56, size 0x1 unsigned char mMoveElbow; // offset 0x57, size 0x1 float mElbowSwing; // offset 0x58, size 0x4 unsigned char mAlwaysIK; // offset 0x5C, size 0x1 unsigned char mHandChanged; // offset 0x5D, size 0x1 class Vector3 mWorldDst; // offset 0x60, size 0x10 float mInv2ab; // offset 0x70, size 0x4 float mAAPlusBB; // offset 0x74, size 0x4 unsigned char mConstrainWrist; // offset 0x78, size 0x1 float mWristRadians; // offset 0x7C, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class CharIKHand * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class CharForeTwist : public CharPollable { // total size: 0x54 protected: class ObjPtr mHand; // offset 0x8, size 0xC class ObjPtr mTwist2; // offset 0x14, size 0xC float mOffset; // offset 0x20, size 0x4 float mLengthScale; // offset 0x24, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class CharForeTwist * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0xC public: class CharCollide * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node; // size: 0x8, address: 0x808B9410 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std25_List_node; // size: 0x8, address: 0x808B9440 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node; // size: 0x8, address: 0x808B9478 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node; // size: 0x8, address: 0x808B94B0 struct BoneDesc { // total size: 0x90 class ObjPtr bone; // offset 0x0, size 0xC class Transform offset; // offset 0x10, size 0x40 class Transform parent; // offset 0x50, size 0x40 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BoneDesc * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BoneDesc * _M_start; // offset 0x0, size 0x4 struct BoneDesc * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class SyncMeshCB { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class RndMeshDeform : public Object { // total size: 0xA0 protected: float * mWeights; // offset 0x28, size 0x4 int mNumVerts; // offset 0x2C, size 0x4 class ObjOwnerPtr mMesh; // offset 0x30, size 0xC class Transform mMeshInverse; // offset 0x40, size 0x40 class ObjVector mBones; // offset 0x80, size 0x10 unsigned char mSkipInverse; // offset 0x90, size 0x1 unsigned char mDeformed; // offset 0x91, size 0x1 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndMeshDeform * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndMesh * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8027316C -> 0x80273C2C void CompositeCharacter::ClearRam(class CompositeCharacter * const this /* r31 */) { // Local variables unsigned char char_edit_mode; // r0 class ObjDirItr rt; // r1+0x88 class ObjDirItr md; // r1+0x74 class ObjDirItr m; // r1+0x60 // References // -> struct [anonymous] __RTTI__11CharClipSet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__7RndMesh; // -> struct [anonymous] __RTTI__13RndMeshDeform; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndTexRenderer; } // Range: 0x80273C2C -> 0x80273F7C void CompositeCharacter::Finalize(class CompositeCharacter * const this /* r31 */) { // Local variables unsigned char char_edit_mode; // r0 class ObjDirItr mat; // r1+0x1C // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } static class Symbol _s; // size: 0x4, address: 0x80A4F4F4 static class Symbol _s; // size: 0x4, address: 0x80A4F4FC static class Symbol _s; // size: 0x4, address: 0x80A4F504 static class Symbol _s; // size: 0x4, address: 0x80A4F50C static class Symbol _s; // size: 0x4, address: 0x80A4F514 static class Symbol _s; // size: 0x4, address: 0x80A4F51C static class Symbol _s; // size: 0x4, address: 0x80A4F524 static class Symbol _s; // size: 0x4, address: 0x80A4F52C static class Symbol _s; // size: 0x4, address: 0x80A4F534 static class Symbol _s; // size: 0x4, address: 0x80A4F53C static class Symbol _s; // size: 0x4, address: 0x80A4F544 static class Symbol _s; // size: 0x4, address: 0x80A4F54C static class Symbol _s; // size: 0x4, address: 0x80A4F554 static class Symbol _s; // size: 0x4, address: 0x80A4F55C static class Symbol _s; // size: 0x4, address: 0x80A4F564 static class Symbol _s; // size: 0x4, address: 0x80A4F56C static class Symbol _s; // size: 0x4, address: 0x80A4F574 static class Symbol _s; // size: 0x4, address: 0x80A4F57C // Range: 0x80273F7C -> 0x80274C84 unsigned char CompositeCharacter::SyncProperty(class CompositeCharacter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80274C84 -> 0x80274DD4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A4F584 static class Symbol _s; // size: 0x4, address: 0x80A4F58C static class Symbol _s; // size: 0x4, address: 0x80A4F594 static class Symbol _s; // size: 0x4, address: 0x80A4F59C static class Symbol _s; // size: 0x4, address: 0x80A4F5A4 static class Symbol _s; // size: 0x4, address: 0x80A4F5AC static class Symbol _s; // size: 0x4, address: 0x80A4F5B4 static class Symbol _s; // size: 0x4, address: 0x80A4F5BC static class Symbol _s; // size: 0x4, address: 0x80A4F5C4 static class Symbol _s; // size: 0x4, address: 0x80A4F5CC static class Symbol _s; // size: 0x4, address: 0x80A4F5D4 static class Symbol _s; // size: 0x4, address: 0x80A4F5DC static class Symbol _s; // size: 0x4, address: 0x80A4F5E4 static class Symbol _s; // size: 0x4, address: 0x80A4F5EC static class Symbol _s; // size: 0x4, address: 0x80A4F5F4 static class Symbol _s; // size: 0x4, address: 0x80A4F5FC static class Symbol _s; // size: 0x4, address: 0x80A4F604 static class Symbol _s; // size: 0x4, address: 0x80A4F60C static class Symbol _s; // size: 0x4, address: 0x80A4F614 static class Symbol _s; // size: 0x4, address: 0x80A4F61C static class Symbol _s; // size: 0x4, address: 0x80A4F624 static class Symbol _s; // size: 0x4, address: 0x80A4F62C static class Symbol _s; // size: 0x4, address: 0x80A4F634 static class Symbol _s; // size: 0x4, address: 0x80A4F63C static class Symbol _s; // size: 0x4, address: 0x80A4F644 static class Symbol _s; // size: 0x4, address: 0x80A4F64C static class Symbol _s; // size: 0x4, address: 0x80A4F654 static class Symbol _s; // size: 0x4, address: 0x80A4F65C static class Symbol _s; // size: 0x4, address: 0x80A4F664 static class Symbol _s; // size: 0x4, address: 0x80A4F66C static class Symbol _s; // size: 0x4, address: 0x80A4F674 static class Symbol _s; // size: 0x4, address: 0x80A4F67C // Range: 0x80274DD4 -> 0x80275DA4 class DataNode CompositeCharacter::Handle(class CompositeCharacter * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x1C class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80275DA4 -> 0x80275E2C class DataNode CompositeCharacter::OnClearGroup(class CompositeCharacter * const this /* r31 */) {} class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x80275E2C -> 0x80275E84 class DataNode CompositeCharacter::OnResetHair() { // Local variables class iterator it; // r1+0x18 } // Range: 0x80275E84 -> 0x80275FD4 class DataNode CompositeCharacter::OnSyncWaypoint(class CompositeCharacter * const this /* r31 */) { // Local variables class iterator it; // r1+0x18 } // Range: 0x80275FD4 -> 0x8027609C class DataNode CompositeCharacter::OnChangeFaceGroup(class CompositeCharacter * const this /* r30 */, class DataArray * msg /* r31 */) {} // Range: 0x8027609C -> 0x8027620C class DataNode CompositeCharacter::OnChangeGroup(class CompositeCharacter * const this /* r25 */, class DataArray * msg /* r26 */) { // Local variables unsigned char forceGroup; // r28 unsigned char blend; // r30 float forward; // f31 enum TaskUnits units; // r27 class Symbol ev; // r1+0x14 // References // -> const char * gNullStr; } // Range: 0x8027620C -> 0x80276290 class DataNode CompositeCharacter::OnSetPlay(class CompositeCharacter * const this /* r30 */, class DataArray * msg /* r31 */) {} // Range: 0x80276290 -> 0x802762FC class DataNode CompositeCharacter::OnGroupOverride(class CompositeCharacter * const this /* r30 */, class DataArray * msg /* r31 */) {} struct { // total size: 0x8 } __RTTI__13RndScreenMask; // size: 0x8, address: 0x808B97A0 struct { // total size: 0x8 } __RTTI__13CharForeTwist; // size: 0x8, address: 0x808B97E0 struct { // total size: 0x8 } __RTTI__13RndMeshDeform; // size: 0x8, address: 0x808B9810 struct { // total size: 0x8 } __RTTI__11CharIKScale; // size: 0x8, address: 0x808B9850 struct { // total size: 0x8 } __RTTI__8Waypoint; // size: 0x8, address: 0x808B9890 struct { // total size: 0x8 } __RTTI__10CharIKHand; // size: 0x8, address: 0x808B98D8 struct { // total size: 0x8 } __RTTI__10CharDriver; // size: 0x8, address: 0x808B9920 struct { // total size: 0x8 } __RTTI__14CharWeightable; // size: 0x8, address: 0x808B9950 struct { // total size: 0x220 } __vt__18CompositeCharacter; // size: 0x220, address: 0x808B9958 struct { // total size: 0x18 } __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // size: 0x18, address: 0x808B9BF0 struct { // total size: 0x8 } __RTTI__31ObjPtrList<7RndMesh,9ObjectDir>; // size: 0x8, address: 0x808B9C38 struct { // total size: 0x18 } __vt__32ObjPtrList<8CharHair,9ObjectDir>; // size: 0x18, address: 0x808B9C40 struct { // total size: 0x8 } __RTTI__32ObjPtrList<8CharHair,9ObjectDir>; // size: 0x8, address: 0x808B9C88 struct { // total size: 0x8 } __RTTI__14RndTexRenderer; // size: 0x8, address: 0x808B9D28 struct { // total size: 0x8 } __RTTI__8CharHair; // size: 0x8, address: 0x808B9E88 struct { // total size: 0x8 } __RTTI__11CharCollide; // size: 0x8, address: 0x808B9EC0 struct { // total size: 0x8 } __RTTI__12CharPollable; // size: 0x8, address: 0x808B9EF8 struct { // total size: 0x8 } __RTTI__13CharClipGroup; // size: 0x8, address: 0x808B9F70 struct { // total size: 0x8 } __RTTI__8CharClip; // size: 0x8, address: 0x808B9F98 struct { // total size: 0x18 } __vt__26ObjPtr<6RndTex,9ObjectDir>; // size: 0x18, address: 0x808BA178 struct { // total size: 0x8 } __RTTI__26ObjPtr<6RndTex,9ObjectDir>; // size: 0x8, address: 0x808BA1B8 struct { // total size: 0x8 } __RTTI__PP14RndTexRenderer; // size: 0x8, address: 0x808BA458 /* Compile unit: C:\rockband2\system\src\char\Waypoint.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802762FC -> 0x80276B2C */ // Range: 0x802762FC -> 0x802763DC char * IntensityString() { // References // -> class Debug TheDebug; } // Range: 0x802763DC -> 0x80276470 char * AttitudeString() { // References // -> class Debug TheDebug; } // Range: 0x80276470 -> 0x80276504 char * TempoString() { // References // -> class Debug TheDebug; } // Range: 0x80276504 -> 0x802768FC void * CompositeCharacter::CompositeCharacter(class CompositeCharacter * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; // -> class Symbol name; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtrList<8CharHair,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__39ObjPtr<18CompositeCharacter,9ObjectDir>; // -> struct [anonymous] __vt__18CompositeCharacter; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802768FC -> 0x80276A18 void CompositeCharacter::AddedObject(class CompositeCharacter * const this /* r28 */, class Object * obj /* r29 */) { // Local variables class CharPollable * p; // r0 class CharDriver * d; // r0 // References // -> struct [anonymous] __RTTI__12OutfitLoader; // -> struct [anonymous] __RTTI__10CharDriver; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharPollable; } // Range: 0x80276A18 -> 0x80276B2C void CompositeCharacter::Init() { // Local variables class DataNode & char_edit_mode; // r0 class DataNode & warn; // r0 // References // -> class LoadMgr TheLoadMgr; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80276D8C -> 0x80277698 */ // Range: 0x80276D8C -> 0x80276F38 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8CharHair,9ObjectDir>; } // Range: 0x80276F38 -> 0x80276FA8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80276FA8 -> 0x80277158 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; } // Range: 0x80277158 -> 0x802771E8 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802771E8 -> 0x802773EC void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802773EC -> 0x802773F4 class Object * ObjPtrList::RefOwner() {} // Range: 0x802773F4 -> 0x802775F0 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharHair; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802775F0 -> 0x802775F8 class Object * ObjPtrList::RefOwner() {} // Range: 0x802775F8 -> 0x80277600 class Object * ObjPtr::RefOwner() {} // Range: 0x80277600 -> 0x80277698 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80277698 -> 0x80277D80 */ // Range: 0x80277698 -> 0x80277BC4 void CompositeCharacter::CompressTextures(class CompositeCharacter * const this /* r30 */, class list & textures /* r31 */) { // Local variables class ObjDirItr l; // r1+0x38 class ObjDirItr m; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__14RndTexRenderer; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } // Range: 0x80277BC4 -> 0x80277D80 void CompositeCharacter::ClearDircuts(class CompositeCharacter * const this /* r28 */) { // Local variables int i; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } /* Compile unit: C:\rockband2\system\src\bandobj\CompositeCharacter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80277E24 -> 0x80278078 */ // Range: 0x80277E24 -> 0x80277E98 class Object * CompositeCharacter::NewObject() { // References // -> class Symbol name; } // Range: 0x80277E98 -> 0x80277EDC class Symbol CompositeCharacter::ClassName() { // References // -> class Symbol name; } // Range: 0x80277EDC -> 0x80278070 void CompositeCharacter::SetType(class CompositeCharacter * const this /* r29 */, class Symbol & CompositeCharacter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80278070 -> 0x80278078 unsigned char CompositeCharacter::AllowsInlineProxy() {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80278078 -> 0x802780C8 */ // Range: 0x80278078 -> 0x802780C8 class OutfitLoader * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802780C8 -> 0x80278AA0 */ // Range: 0x802780C8 -> 0x80278238 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x80278238 -> 0x802783A8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndTexRenderer; } // Range: 0x802783A8 -> 0x80278518 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharHair; } // Range: 0x80278518 -> 0x80278650 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC } // Range: 0x80278650 -> 0x802787C0 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharIKScale; } // Range: 0x802787C0 -> 0x80278930 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndMeshDeform; } // Range: 0x80278930 -> 0x80278AA0 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } /* Compile unit: C:\rockband2\system\src\rndobj\Rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80278AA0 -> 0x80278AA4 */ // Range: 0x80278AA0 -> 0x80278AA4 void Rnd::DrawLine() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80278AA4 -> 0x80279228 */ // Range: 0x80278AA4 -> 0x80278B64 void sort(class String * __first /* r29 */, class String * __last /* r30 */) {} // Range: 0x80278B64 -> 0x80278C14 void __final_insertion_sort(class String * __first /* r29 */, class String * __last /* r30 */, struct less & __comp /* r31 */) {} // Range: 0x80278C14 -> 0x80278C98 void __unguarded_insertion_sort_aux(class String * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class String * __i; // r31 } // Range: 0x80278C98 -> 0x80278D10 void __unguarded_linear_insert(class String * __last /* r29 */, class String & __val /* r30 */) { // Local variables class String * __next; // r31 } // Range: 0x80278D10 -> 0x80278DAC void __insertion_sort(class String * __first /* r28 */, class String * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class String * __i; // r31 } // Range: 0x80278DAC -> 0x80278E94 void __linear_insert(class String * __first /* r27 */, class String * __last /* r28 */, class String & __val /* r29 */, struct less & __comp /* r30 */) {} // Range: 0x80278E94 -> 0x8027901C void __introsort_loop(class String * __first /* r28 */, class String * __last /* r29 */, long __depth_limit /* r30 */, struct less & __comp /* r31 */) { // Local variables class String * __cut; // r27 } // Range: 0x8027901C -> 0x802790F8 class String * __unguarded_partition(class String * __first /* r29 */, class String * __last /* r30 */, class String & __pivot /* r31 */) {} // Range: 0x802790F8 -> 0x80279128 void partial_sort() {} // Range: 0x80279128 -> 0x80279228 void __partial_sort(class String * __first /* r27 */, class String * __middle /* r28 */, class String * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class String * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80279228 -> 0x80279258 */ // Range: 0x80279228 -> 0x80279240 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80279240 -> 0x80279258 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80279258 -> 0x8027926C */ // Range: 0x80279258 -> 0x8027926C struct less __less() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8027926C -> 0x8027954C */ // Range: 0x8027926C -> 0x802792E8 void pop_heap(class String * __first /* r30 */, class String * __last /* r31 */) {} // Range: 0x802792E8 -> 0x802793E0 void __adjust_heap(class String * __first /* r31 */, long __holeIndex /* r25 */, long __len /* r26 */, class String & __val /* r27 */, struct less & __comp /* r28 */) { // Local variables long __topIndex; // r30 long __secondChild; // r29 } // Range: 0x802793E0 -> 0x80279488 void __push_heap(class String * __first /* r26 */, long __holeIndex /* r27 */, long __topIndex /* r28 */, class String & __val /* r29 */) { // Local variables long __parent; // r30 } // Range: 0x80279488 -> 0x8027954C void make_heap(class String * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8027954C -> 0x802795F8 */ // Range: 0x8027954C -> 0x802795F8 void __pop_heap(class String * __first /* r28 */, class String * __last /* r29 */, class String & __val /* r30 */, struct less & __comp /* r31 */) {} /* Compile unit: C:\rockband2\system\src\rndobj\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802795F8 -> 0x80279600 */ // Range: 0x802795F8 -> 0x80279600 void RndTex::SetMipMapK() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80279600 -> 0x80279780 */ // Range: 0x80279600 -> 0x80279660 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80279660 -> 0x802796C0 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x802796C0 -> 0x80279720 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80279720 -> 0x80279780 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80279780 -> 0x802798B8 */ // Range: 0x80279780 -> 0x802798B8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndTexRenderer * * __pos /* r28 */, class RndTexRenderer * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndTexRenderer * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14RndTexRenderer; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\bandobj\EndingBonus.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802798B8 -> 0x8027BDAC */ class DataArray * types; // size: 0x4, address: 0x80A4F680 // Range: 0x802798B8 -> 0x80279A1C void * EndingBonus::EndingBonus(class EndingBonus * const this /* r31 */) { // References // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; // -> struct [anonymous] __vt__11EndingBonus; // -> struct [anonymous] __vt__16RndHighlightable; } static class Object * gameMode; // size: 0x4, address: 0x80A4F688 // Range: 0x80279A1C -> 0x80279FF8 void EndingBonus::Reset(class EndingBonus * const this /* r29 */) { // Local variables int ii; // r4 int ii; // r30 // References // -> struct [anonymous] __RTTI__9BandLabel; // -> static class Object * gameMode; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x80279FF8 -> 0x8027A018 void EndingBonus::SetIconText() {} // Range: 0x8027A018 -> 0x8027A104 void EndingBonus::Success(class EndingBonus * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x8027A104 -> 0x8027A418 void EndingBonus::PlayerSuccess(class EndingBonus * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPropAnim; } static class Message coda_end; // size: 0x8, address: 0x8097D1A0 // Range: 0x8027A418 -> 0x8027A5A4 void EndingBonus::CodaEnd(class EndingBonus * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Message coda_end; // -> struct [anonymous] __vt__7Message; } // Range: 0x8027A5A4 -> 0x8027A754 void EndingBonus::UnisonStart(class EndingBonus * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x8027A754 -> 0x8027A84C void EndingBonus::UnisonEnd(class EndingBonus * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x8027A84C -> 0x8027A938 void EndingBonus::UnisonSucceed(class EndingBonus * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x8027A938 -> 0x8027AA54 void EndingBonus::SetScore(class EndingBonus * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; // -> class LoadMgr TheLoadMgr; } // Range: 0x8027AA54 -> 0x8027AA98 void EndingBonus::HideIcons() { // Local variables int ii; // r5 } static class Object * gameMode; // size: 0x4, address: 0x80A4F690 // Range: 0x8027AA98 -> 0x8027AB44 void EndingBonus::SetupEnding(class EndingBonus * const this /* r31 */) { // References // -> static class Object * gameMode; } // Range: 0x8027AB44 -> 0x8027AB4C void EndingBonus::SetupUnison() {} // Range: 0x8027AB4C -> 0x8027ADB8 void EndingBonus::SetIconOrder(class EndingBonus * const this /* r30 */, unsigned char forBRE /* r31 */) { // Local variables class vector iconsToShow; // r1+0x40 int ii; // r29 int ii; // r31 } static class Symbol _s; // size: 0x4, address: 0x80A4F698 static class Symbol _s; // size: 0x4, address: 0x80A4F6A0 static class Symbol _s; // size: 0x4, address: 0x80A4F6A8 static class Symbol _s; // size: 0x4, address: 0x80A4F6B0 static class Symbol _s; // size: 0x4, address: 0x80A4F6B8 static class Symbol _s; // size: 0x4, address: 0x80A4F6C0 static class Symbol _s; // size: 0x4, address: 0x80A4F6C8 static class Symbol _s; // size: 0x4, address: 0x80A4F6D0 static class Symbol _s; // size: 0x4, address: 0x80A4F6D8 // Range: 0x8027ADB8 -> 0x8027B97C class DataNode EndingBonus::Handle(class EndingBonus * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x44 class MessageTimer _mt; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F6E0 // Range: 0x8027B97C -> 0x8027BAFC unsigned char EndingBonus::SyncProperty(class EndingBonus * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8027BAFC -> 0x8027BB00 void EndingBonus::Save() {} // Range: 0x8027BB00 -> 0x8027BB04 void EndingBonus::PreLoad() {} // Range: 0x8027BB04 -> 0x8027BB08 void EndingBonus::PostLoad() {} // Range: 0x8027BB08 -> 0x8027BB0C void EndingBonus::Copy() {} // Range: 0x8027BB0C -> 0x8027BDAC class DataNode EndingBonus::OnReset(class EndingBonus * const this /* r31 */) {} struct { // total size: 0x21C } __vt__11EndingBonus; // size: 0x21C, address: 0x808BA8E0 struct { // total size: 0x8 } __RTTI__PP9BandLabel; // size: 0x8, address: 0x808BB020 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8027C200 -> 0x8027C240 */ // Range: 0x8027C200 -> 0x8027C240 void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8027C240 -> 0x8027C2FC */ // Range: 0x8027C240 -> 0x8027C2FC void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\bandobj\EndingBonus.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8027C2FC -> 0x8027C738 */ // Range: 0x8027C2FC -> 0x8027C560 void EndingBonus::Start(class EndingBonus * const this /* r28 */) { // References // -> struct [anonymous] __RTTI__7RndText; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x8027C560 -> 0x8027C5A4 class Symbol EndingBonus::ClassName() { // References // -> class Symbol name; } // Range: 0x8027C5A4 -> 0x8027C738 void EndingBonus::SetType(class EndingBonus * const this /* r29 */, class Symbol & EndingBonus /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8027C738 -> 0x8027C870 */ // Range: 0x8027C738 -> 0x8027C870 void vector::_M_insert_overflow(class vector * const this /* r27 */, class BandLabel * * __pos /* r28 */, class BandLabel * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BandLabel * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9BandLabel; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\bandobj\EventCompleteDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8027CA10 -> 0x80280534 */ class DataArray * types; // size: 0x4, address: 0x80A4F6E8 // Range: 0x8027CA10 -> 0x8027CBA8 void * EventCompleteDir::EventCompleteDir(class EventCompleteDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8BandList,9ObjectDir>; // -> struct [anonymous] __vt__16EventCompleteDir; // -> struct [anonymous] __vt__16RndHighlightable; } class _List_node : public _List_node_base { // total size: 0xC8 public: struct Item _M_data; // offset 0x8, size 0xC0 }; // Range: 0x8027CBA8 -> 0x8027CCEC class BinStream & __ls(class BinStream & s /* r30 */, const struct Item & i /* r31 */) {} // Range: 0x8027CCEC -> 0x8027CDD4 void EventCompleteDir::Save(class EventCompleteDir * const this /* r30 */, class BinStream & d /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; static int gRev; // size: 0x4, address: 0x80A4F6F0 // Range: 0x8027CDD4 -> 0x8027CEEC void EventCompleteDir::PreLoad(class EventCompleteDir * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8027CEEC -> 0x8027D054 class BinStream & __rs(class BinStream & s /* r30 */, struct Item & i /* r31 */) { // Local variables int moment_state; // r1+0xC // References // -> static int gRev; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8027D054 -> 0x8027D1B8 void EventCompleteDir::PostLoad(class EventCompleteDir * const this /* r31 */, class BinStream & d /* r29 */) { // Local variables struct _List_iterator i; // r1+0x20 // References // -> class LoadMgr TheLoadMgr; // -> class list sRevs; } // Range: 0x8027D1B8 -> 0x8027D5FC void EventCompleteDir::Copy(class EventCompleteDir * const this /* r26 */, const class Object * o /* r27 */) { // Local variables const class EventCompleteDir * p; // r0 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9BandLabel,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16EventCompleteDir; } // Range: 0x8027D5FC -> 0x8027D99C void EventCompleteDir::Poll(class EventCompleteDir * const this /* r30 */) { // Local variables float seconds; // f0 unsigned char all_done; // r31 struct _List_iterator i; // r1+0x10 unsigned char started; // r6 int moment_start; // r26 unsigned char show_moment; // r6 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8027D99C -> 0x8027DCF4 void EventCompleteDir::Play(class EventCompleteDir * const this /* r31 */) { // Local variables float start; // f0 float delay; // f29 struct _List_iterator i; // r1+0x1C // References // -> const char * gNullStr; // -> class TaskMgr TheTaskMgr; } // Range: 0x8027DCF4 -> 0x8027DE1C void EventCompleteDir::AddItem(const char * text /* r28 */, class Sequence * sfx /* r29 */, int text_start /* r30 */, int text_end /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 // References // -> class Debug TheDebug; } struct iterator { // total size: 0x1 }; class reverse_iterator : public iterator { // total size: 0x4 protected: struct _List_iterator current; // offset 0x0, size 0x4 }; // Range: 0x8027DE1C -> 0x8027DFB0 void EventCompleteDir::SetMoment(int text_end /* r29 */, class Sequence * sfx /* r30 */, unsigned char success /* r31 */) { // Local variables class reverse_iterator i; // r1+0x4C // References // -> class Debug TheDebug; } // Range: 0x8027DFB0 -> 0x8027E270 unsigned char EventCompleteDir::Skip(class EventCompleteDir * const this /* r30 */) { // Local variables unsigned char skipped; // r31 struct _List_iterator i; // r1+0x10 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8027E270 -> 0x8027E3A4 class DataNode EventCompleteDir::OnAddItem(class EventCompleteDir * const this /* r28 */, class DataArray * a /* r29 */) { // Local variables class String icon; // r1+0x14 class String text; // r1+0x8 int text_start; // r30 int text_end; // r8 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; } static class Symbol _s; // size: 0x4, address: 0x80A4F6F8 static class Symbol _s; // size: 0x4, address: 0x80A4F700 static class Symbol _s; // size: 0x4, address: 0x80A4F708 static class Symbol _s; // size: 0x4, address: 0x80A4F710 // Range: 0x8027E3A4 -> 0x8027EB08 class DataNode EventCompleteDir::Handle(class EventCompleteDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F718 static class Symbol _s; // size: 0x4, address: 0x80A4F720 static class Symbol _s; // size: 0x4, address: 0x80A4F728 static class Symbol _s; // size: 0x4, address: 0x80A4F730 static class Symbol _s; // size: 0x4, address: 0x80A4F738 static class Symbol _s; // size: 0x4, address: 0x80A4F740 static class Symbol _s; // size: 0x4, address: 0x80A4F748 static class Symbol _s; // size: 0x4, address: 0x80A4F750 static class Symbol _s; // size: 0x4, address: 0x80A4F758 static class Symbol _s; // size: 0x4, address: 0x80A4F760 static class Symbol _s; // size: 0x4, address: 0x80A4F768 static class Symbol _s; // size: 0x4, address: 0x80A4F770 static class Symbol _s; // size: 0x4, address: 0x80A4F778 static class Symbol _s; // size: 0x4, address: 0x80A4F780 static class Symbol _s; // size: 0x4, address: 0x80A4F788 static class Symbol _s; // size: 0x4, address: 0x80A4F790 static class Symbol _s; // size: 0x4, address: 0x80A4F798 static class Symbol _s; // size: 0x4, address: 0x80A4F7A0 // Range: 0x8027EB08 -> 0x8027F498 unsigned char PropSync(struct Item & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4F7A8 static class Symbol _s; // size: 0x4, address: 0x80A4F7B0 static class Symbol _s; // size: 0x4, address: 0x80A4F7B8 static class Symbol _s; // size: 0x4, address: 0x80A4F7C0 static class Symbol _s; // size: 0x4, address: 0x80A4F7C8 static class Symbol _s; // size: 0x4, address: 0x80A4F7D0 static class Symbol _s; // size: 0x4, address: 0x80A4F7D8 // Range: 0x8027F498 -> 0x8027FA80 unsigned char EventCompleteDir::SyncProperty(class EventCompleteDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8027FA80 -> 0x80280534 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables struct _List_iterator it; // r1+0x2C struct Item tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9BandLabel,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std37_List_node; // size: 0x8, address: 0x808BB498 struct { // total size: 0x234 } __vt__16EventCompleteDir; // size: 0x234, address: 0x808BB4A0 struct { // total size: 0x8 } __RTTI__16EventCompleteDir; // size: 0x8, address: 0x808BB748 struct { // total size: 0x18 } __vt__28ObjPtr<8BandList,9ObjectDir>; // size: 0x18, address: 0x808BB750 struct { // total size: 0x8 } __RTTI__28ObjPtr<8BandList,9ObjectDir>; // size: 0x8, address: 0x808BB790 struct { // total size: 0x18 } __vt__28ObjPtr<8Sequence,9ObjectDir>; // size: 0x18, address: 0x808BB7E0 struct { // total size: 0x8 } __RTTI__28ObjPtr<8Sequence,9ObjectDir>; // size: 0x8, address: 0x808BB820 struct { // total size: 0x18 } __vt__29ObjPtr<9BandLabel,9ObjectDir>; // size: 0x18, address: 0x808BB828 struct { // total size: 0x8 } __RTTI__29ObjPtr<9BandLabel,9ObjectDir>; // size: 0x8, address: 0x808BB870 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80280534 -> 0x80280628 */ // Range: 0x80280534 -> 0x80280538 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80280628 -> 0x80281470 */ // Range: 0x80280628 -> 0x802806A0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8BandList,9ObjectDir>; } // Range: 0x802806A0 -> 0x80280730 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80280730 -> 0x802807C8 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802807C8 -> 0x8028085C class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8028085C -> 0x802808F4 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802808F4 -> 0x80280A8C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; } // Range: 0x80280A8C -> 0x80280C34 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9BandLabel; } // Range: 0x80280C34 -> 0x80280DDC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandList; } // Range: 0x80280DDC -> 0x80281178 class BinStream & __rs(class BinStream & d /* r27 */, class ObjList & c /* r28 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9BandLabel,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x80281178 -> 0x802811F0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__29ObjPtr<9BandLabel,9ObjectDir>; } // Range: 0x802811F0 -> 0x80281260 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; } // Range: 0x80281260 -> 0x80281268 class Object * ObjPtr::RefOwner() {} // Range: 0x80281268 -> 0x80281318 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandList; } // Range: 0x80281318 -> 0x80281320 class Object * ObjPtr::RefOwner() {} // Range: 0x80281320 -> 0x802813D0 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9BandLabel; } // Range: 0x802813D0 -> 0x802813D8 class Object * ObjPtr::RefOwner() {} // Range: 0x802813D8 -> 0x80281470 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; } /* Compile unit: C:\rockband2\system\src\bandobj\EventCompleteDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80281470 -> 0x802816DC */ // Range: 0x80281470 -> 0x80281504 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80281504 -> 0x80281548 class Symbol EventCompleteDir::ClassName() { // References // -> class Symbol name; } // Range: 0x80281548 -> 0x802816DC void EventCompleteDir::SetType(class EventCompleteDir * const this /* r29 */, class Symbol & EventCompleteDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802816DC -> 0x80281750 */ // Range: 0x802816DC -> 0x80281750 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, int t2 /* r30 */, unsigned char t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80281750 -> 0x80281824 */ // Range: 0x80281750 -> 0x80281824 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80281824 -> 0x80281C44 */ // Range: 0x80281824 -> 0x80281974 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80281974 -> 0x80281ADC unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9BandLabel; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80281ADC -> 0x80281C44 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8BandList; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80281C44 -> 0x80282EE0 */ // Range: 0x80281C44 -> 0x80282180 void list::resize(const struct Item & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9BandLabel,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; } // Range: 0x80282180 -> 0x80282A8C class list & list::__as(class list * const this /* r28 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9BandLabel,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; } // Range: 0x80282A8C -> 0x80282CA0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9BandLabel,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\Label3d.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80282EE0 -> 0x80285C38 */ class Symbol name; // size: 0x4, address: 0x80A4F7E4 class DataArray * types; // size: 0x4, address: 0x80A4F7E8 // Range: 0x80282EE0 -> 0x8028311C void * Label3d::Label3d(class Label3d * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Symbol name; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__7Label3d; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8028311C -> 0x8028374C void * Label3d::~Label3d(class Label3d * const this /* r28 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Label3d; } static int gRev; // size: 0x4, address: 0x80A4F7F0 // Range: 0x8028374C -> 0x80283790 void Label3d::Save() { // References // -> class Debug TheDebug; } // Range: 0x80283790 -> 0x802837EC void Label3d::Load(class Label3d * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x802837EC -> 0x80283D00 void Label3d::PreLoad(class Label3d * const this /* r31 */, class BinStream & d /* r29 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80283D00 -> 0x80283E6C void Label3d::PostLoad(class Label3d * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80283E6C -> 0x80283ECC void Label3d::DrawShowing() {} // Range: 0x80283ECC -> 0x80283F2C void Label3d::Highlight() {} // Range: 0x80283F2C -> 0x80284318 void Label3d::UpdateResource(class Label3d * const this /* r31 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } // Range: 0x80284318 -> 0x8028431C void Label3d::UpdateSphere() {} // Range: 0x8028431C -> 0x802843CC unsigned char Label3d::MakeWorldSphere(class Label3d * const this /* r30 */, class Sphere & s /* r31 */) {} // Range: 0x802843CC -> 0x80284550 void Label3d::FindBounds(float & leftmost /* r28 */, float & rightmost /* r29 */, class RndMesh * mesh /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80284550 -> 0x80285144 void Label3d::UpdateText(class Label3d * const this /* r25 */) { // Local variables class String localized; // r1+0x90 class Transform t; // r1+0x100 float length; // f31 int i; // r28 unsigned int nChar; // r26 class Object * pObj; // r0 class RndMesh * pRmLetter; // r27 class RndMesh * pRmBounds; // r26 struct _List_iterator it; // r1+0x5C float leftmost; // r1+0x58 float rightmost; // r1+0x54 class Vector3 v; // r1+0x80 class Object * pObj; // r0 class RndMesh * pRmSpace; // r6 float leftmost; // r1+0x50 float rightmost; // r1+0x4C float offset; // f30 class Vector3 v; // r1+0x70 class Transform t; // r1+0xC0 class Sphere s; // r1+0xA0 // References // -> class Symbol name; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80285144 -> 0x80285664 class DataNode Label3d::Handle(class Label3d * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F7F8 static class Symbol _s; // size: 0x4, address: 0x80A4F800 static class Symbol _s; // size: 0x4, address: 0x80A4F808 static class Symbol _s; // size: 0x4, address: 0x80A4F810 static class Symbol _s; // size: 0x4, address: 0x80A4F818 static class Symbol _s; // size: 0x4, address: 0x80A4F820 // Range: 0x80285664 -> 0x80285C38 unsigned char Label3d::SyncProperty(class Label3d * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } class _List_node : public _List_node_base { // total size: 0xC public: class RndTransformable * _M_data; // offset 0x8, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x104 } __vt__7Label3d; // size: 0x104, address: 0x808BC168 struct { // total size: 0x8 } __RTTI__7Label3d; // size: 0x8, address: 0x808BC2C0 /* Compile unit: C:\rockband2\system\src\bandobj\Label3d.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80285DB0 -> 0x802860A0 */ // Range: 0x80285DB0 -> 0x80285EB8 void Label3d::Copy(class Label3d * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class Label3d * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7Label3d; } // Range: 0x80285EB8 -> 0x80285EFC class Symbol Label3d::ClassName() { // References // -> class Symbol name; } // Range: 0x80285EFC -> 0x802860A0 void Label3d::SetType(class Label3d * const this /* r29 */, class Symbol & Label3d /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Draw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802860A0 -> 0x802860A8 */ // Range: 0x802860A0 -> 0x802860A8 class RndDrawable * RndDrawable::CollideShowing() {} /* Compile unit: C:\rockband2\system\src\bandobj\LayerDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802860A8 -> 0x80288A90 */ class Symbol name; // size: 0x4, address: 0x80A4F82C class DataArray * types; // size: 0x4, address: 0x80A4F830 class Symbol name; // size: 0x4, address: 0x80A4F838 class RndCam * sCam; // size: 0x4, address: 0x80A4F83C class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class LayerDir : public RndDir { // total size: 0x240 public: class ObjList mLayers; // offset 0x1F4, size 0xC unsigned char mUseFreeCam; // offset 0x200, size 0x1 }; // Range: 0x802860A8 -> 0x802861A0 void LayerDir::Init() { // References // -> class Symbol name; // -> class RndCam * sCam; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class Symbol name; } // Range: 0x802861A0 -> 0x802862DC void * LayerDir::LayerDir(class LayerDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__8LayerDir; // -> struct [anonymous] __vt__16RndHighlightable; } class _List_node : public _List_node_base { // total size: 0x90 public: struct Layer _M_data; // offset 0x10, size 0x80 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x802862DC -> 0x8028632C void LayerDir::DrawShowing(class LayerDir * const this /* r31 */) { // References // -> class RndCam * sCam; } // Range: 0x8028632C -> 0x80286348 class RndCam * LayerDir::CamOverride() { // References // -> class RndCam * sCam; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80286348 -> 0x80286504 class DataNode LayerDir::RandomizeColors(class LayerDir * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x20 int idx; // r27 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80286504 -> 0x80286B54 void LayerDir::RefreshLayer(class LayerDir * const this /* r29 */, struct Layer & ct /* r30 */) { // Local variables class String dif; // r1+0xCC class String difbmp; // r1+0xC0 class String norm; // r1+0xB4 class String spec; // r1+0xA8 class String normbmp; // r1+0x9C class String specbmp; // r1+0x90 struct _List_iterator i; // r1+0x44 const char * f; // r27 struct _List_iterator i; // r1+0x40 class RndTexRenderer * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndTexRenderer; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } static int gRev; // size: 0x4, address: 0x80A4F840 // Range: 0x80286B54 -> 0x80286EA0 class BinStream & __rs(class BinStream & d /* r30 */, struct Layer & e /* r31 */) { // References // -> struct [anonymous] __RTTI__6RndDir; // -> static int gRev; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x80286EA0 -> 0x80286EE4 void LayerDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x80286EE4 -> 0x80286FD4 void LayerDir::PreLoad(class LayerDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> static int gRev; } class _List_node : public _List_node_base { // total size: 0x14 public: class FilePath _M_data; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80286FD4 -> 0x80287094 void LayerDir::PostLoad(class LayerDir * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> static int gRev; // -> class list sRevs; } // Range: 0x80287094 -> 0x802870FC void LayerDir::Copy(class LayerDir * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class LayerDir * d; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8LayerDir; } // Range: 0x802870FC -> 0x80287508 class DataNode LayerDir::GetBitmapList(class LayerDir * const this /* r31 */) { // Local variables class DataArray * path; // r29 class DataNode n; // r1+0x68 const char * name; // r28 struct _List_iterator i; // r1+0x40 class DataArrayPtr da; // r1+0x60 int y; // r28 struct _List_iterator x; // r1+0x3C class String t; // r1+0x7C // References // -> struct [anonymous] __vt__12DataArrayPtr; } static class LayerDir * gOwner; // size: 0x4, address: 0x80A4F844 static class Symbol _s; // size: 0x4, address: 0x80A4F84C static class Symbol _s; // size: 0x4, address: 0x80A4F854 static class Symbol _s; // size: 0x4, address: 0x80A4F85C static class Symbol _s; // size: 0x4, address: 0x80A4F864 static class Symbol _s; // size: 0x4, address: 0x80A4F86C static class Symbol _s; // size: 0x4, address: 0x80A4F874 static class Symbol _s; // size: 0x4, address: 0x80A4F87C static class Symbol _s; // size: 0x4, address: 0x80A4F884 static class Symbol _s; // size: 0x4, address: 0x80A4F88C static class Symbol _s; // size: 0x4, address: 0x80A4F894 static class Symbol _s; // size: 0x4, address: 0x80A4F89C static class Symbol _s; // size: 0x4, address: 0x80A4F8A4 static class Symbol _s; // size: 0x4, address: 0x80A4F8AC static class Symbol _s; // size: 0x4, address: 0x80A4F8B4 static class Symbol _s; // size: 0x4, address: 0x80A4F8BC // Range: 0x80287508 -> 0x80288080 unsigned char PropSync(struct Layer & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class LayerDir * gOwner; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80288080 -> 0x8028832C unsigned char PropSync(class list & l /* r27 */, class DataNode & n /* r31 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables struct _List_iterator it; // r1+0x2C int which; // r3 class FilePath tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node<8FilePath>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std21_List_node<8FilePath>; // size: 0x8, address: 0x808BC918 static class Symbol _s; // size: 0x4, address: 0x80A4F8C4 static class Symbol _s; // size: 0x4, address: 0x80A4F8CC // Range: 0x8028832C -> 0x80288520 unsigned char LayerDir::SyncProperty(class LayerDir * const this /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class LayerDir * gOwner; } struct Layer { // total size: 0x80 class String mName; // offset 0x0, size 0xC class ObjPtr mMat; // offset 0xC, size 0xC unsigned char mActive; // offset 0x18, size 0x1 class Color mColor; // offset 0x20, size 0x10 int mColorIdx; // offset 0x30, size 0x4 float mAlpha; // offset 0x34, size 0x4 class String mBitmap; // offset 0x38, size 0xC class FilePath mProxyFile; // offset 0x44, size 0xC unsigned char mOptional; // offset 0x50, size 0x1 unsigned char mAllowColor; // offset 0x51, size 0x1 class ObjPtr mColorPalette; // offset 0x54, size 0xC unsigned char mAllowAlpha; // offset 0x60, size 0x1 float mAlphaMin; // offset 0x64, size 0x4 float mAlphaMax; // offset 0x68, size 0x4 class list mBitmapList; // offset 0x6C, size 0x8 class ObjPtr mProxy; // offset 0x74, size 0xC }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_List_node; // size: 0x8, address: 0x808BC990 static class Symbol _s; // size: 0x4, address: 0x80A4F8D4 static class Symbol _s; // size: 0x4, address: 0x80A4F8DC // Range: 0x80288520 -> 0x80288A90 class DataNode LayerDir::Handle(class LayerDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } struct { // total size: 0x220 } __vt__8LayerDir; // size: 0x220, address: 0x808BC9D8 struct { // total size: 0x8 } __RTTI__8LayerDir; // size: 0x8, address: 0x808BCC58 struct { // total size: 0x18 } __vt__32ObjPtr; // size: 0x18, address: 0x808BCCA8 struct { // total size: 0x8 } __RTTI__32ObjPtr; // size: 0x8, address: 0x808BCCF0 struct { // total size: 0x8 } __RTTI__6RndCam; // size: 0x8, address: 0x808BCF30 /* Compile unit: C:\rockband2\system\src\bandobj\LayerDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80288A90 -> 0x80288CDC */ // Range: 0x80288A90 -> 0x80288B04 class Object * LayerDir::NewObject() { // References // -> class Symbol name; } // Range: 0x80288B04 -> 0x80288B48 class Symbol LayerDir::ClassName() { // References // -> class Symbol name; } // Range: 0x80288B48 -> 0x80288CDC void LayerDir::SetType(class LayerDir * const this /* r29 */, class Symbol & LayerDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80289074 -> 0x80289650 */ // Range: 0x80289074 -> 0x80289104 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80289104 -> 0x80289194 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80289194 -> 0x80289310 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; } // Range: 0x80289310 -> 0x80289568 class BinStream & __rs(class BinStream & d /* r30 */, class ObjList & c /* r31 */) { // Local variables unsigned int s; // r1+0x1C struct _List_iterator t; // r1+0x18 // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x80289568 -> 0x802895D8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr; } // Range: 0x802895D8 -> 0x802895E0 class Object * ObjPtr::RefOwner() {} // Range: 0x802895E0 -> 0x80289650 void ObjPtr::Replace(class ObjPtr * const this /* r30 */, class Object * to /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80289650 -> 0x80289784 */ // Range: 0x80289650 -> 0x80289784 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80289784 -> 0x802899B0 */ // Range: 0x80289784 -> 0x80289788 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802899B0 -> 0x80289A8C */ // Range: 0x802899B0 -> 0x80289A8C class BinStream & __rs(class BinStream & d /* r29 */, class list & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80289A8C -> 0x8028A348 */ // Range: 0x80289A8C -> 0x80289BE8 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80289BE8 -> 0x8028A348 unsigned char PropSync(class ObjList & v /* r25 */, class DataNode & n /* r28 */, class DataArray * prop /* r29 */, int i /* r31 */, enum PropOp op /* r24 */) { // Local variables struct _List_iterator it; // r1+0x58 struct Layer tmp; // r1+0x90 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node<8FilePath>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028A348 -> 0x8028AA78 */ // Range: 0x8028A348 -> 0x8028A744 void list::resize(const struct Layer & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x54 unsigned long __len; // r6 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node<8FilePath>; // -> struct [anonymous] __vt__8FilePath; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; } // Range: 0x8028A744 -> 0x8028A8C8 void list::resize(const class FilePath & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> struct [anonymous] __vt__8FilePath; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node<8FilePath>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8028A8C8 -> 0x8028A9F0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; } // Range: 0x8028A9F0 -> 0x8028AA78 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\bandobj\LoadingPanelDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028AA78 -> 0x8028C4D0 */ class DataArray * types; // size: 0x4, address: 0x80A4F8E0 // Range: 0x8028AA78 -> 0x8028AB20 void LoadingPanelDir::PreLoad(class LoadingPanelDir * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; } // Range: 0x8028AB20 -> 0x8028AC6C void LoadingPanelDir::PostLoad(class LoadingPanelDir * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class FilePath sNull; // -> class FilePath sRoot; // -> class list sRevs; } // Range: 0x8028AC6C -> 0x8028B2CC void LoadingPanelDir::Copy(class LoadingPanelDir * const this /* r30 */, const class Object * o /* r24 */) { // Local variables const class LoadingPanelDir * p; // r0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15LoadingPanelDir; } // Range: 0x8028B2CC -> 0x8028B300 void LoadingPanelDir::Exit(class LoadingPanelDir * const this /* r31 */) {} // Range: 0x8028B300 -> 0x8028B838 void LoadingPanelDir::SetPoses(class LoadingPanelDir * const this /* r29 */) { // Local variables class CompositeCharacter * vocalist; // r27 class CompositeCharacter * guitarist; // r26 class CompositeCharacter * bassist; // r25 class CompositeCharacter * drummer; // r24 class String t1; // r1+0x74 class CompositeCharacter * h2h0; // r31 class String t2; // r1+0x68 class CompositeCharacter * h2h1; // r30 class ObjDirItr cc; // r1+0x80 // References // -> class LoadMgr TheLoadMgr; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndTransformable * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; class CharBonesSamples : public CharBones { // total size: 0x6C protected: int mNumSamples; // offset 0x54, size 0x4 int mPreviewSample; // offset 0x58, size 0x4 char * mRawData; // offset 0x5C, size 0x4 class vector mFrames; // offset 0x60, size 0xC }; struct FacingBones : public CharBones { // total size: 0x80 class Vector3 mDeltaPos; // offset 0x60, size 0x10 float mDeltaAng; // offset 0x70, size 0x4 }; struct FacingSet { // total size: 0x10 int mFullRot; // offset 0x0, size 0x4 int mFullPos; // offset 0x4, size 0x4 struct FacingBones * mFacingBones; // offset 0x8, size 0x4 float mWeight; // offset 0xC, size 0x4 }; class CharClipSamples : public CharClip { // total size: 0x164 protected: class CharBonesSamples mFull; // offset 0x50, size 0x6C class CharBonesSamples mOne; // offset 0xBC, size 0x6C struct FacingSet mFacing; // offset 0x128, size 0x10 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndDrawable * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8028B838 -> 0x8028BA88 class CharClip * LoadingPanelDir::GetEditClip(class LoadingPanelDir * const this /* r31 */) { // Local variables class String h2h0; // r1+0x2C class String h2h1; // r1+0x20 } static class Symbol _s; // size: 0x4, address: 0x80A4F8E8 static class Symbol _s; // size: 0x4, address: 0x80A4F8F0 static class Symbol _s; // size: 0x4, address: 0x80A4F8F8 // Range: 0x8028BA88 -> 0x8028C0D4 class DataNode LoadingPanelDir::Handle(class LoadingPanelDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F900 static class Symbol _s; // size: 0x4, address: 0x80A4F908 static class Symbol _s; // size: 0x4, address: 0x80A4F910 static class Symbol _s; // size: 0x4, address: 0x80A4F918 // Range: 0x8028C0D4 -> 0x8028C374 unsigned char LoadingPanelDir::SyncProperty(class LoadingPanelDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8028C374 -> 0x8028C4D0 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__15CharClipSamples; // size: 0x8, address: 0x808BD5F0 struct { // total size: 0x234 } __vt__15LoadingPanelDir; // size: 0x234, address: 0x808BD5F8 struct { // total size: 0x8 } __RTTI__15LoadingPanelDir; // size: 0x8, address: 0x808BD8A8 struct { // total size: 0x18 } __vt__32ObjPtr<11CharClipSet,9ObjectDir>; // size: 0x18, address: 0x808BD8F8 struct { // total size: 0x8 } __RTTI__32ObjPtr<11CharClipSet,9ObjectDir>; // size: 0x8, address: 0x808BD940 struct { // total size: 0x18 } __vt__28ObjPtr<8CharClip,9ObjectDir>; // size: 0x18, address: 0x808BDB70 struct { // total size: 0x8 } __RTTI__28ObjPtr<8CharClip,9ObjectDir>; // size: 0x8, address: 0x808BDBB0 /* Compile unit: C:\rockband2\system\src\bandobj\LoadingPanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028C4D0 -> 0x8028DAD4 */ // Range: 0x8028C4D0 -> 0x8028C840 void * LoadingPanelDir::LoadingPanelDir(class LoadingPanelDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11CharClipSet,9ObjectDir>; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__15LoadingPanelDir; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8028C840 -> 0x8028C884 void LoadingPanelDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x8028C884 -> 0x8028CC70 void LoadingPanelDir::Enter(class LoadingPanelDir * const this /* r31 */) { // Local variables class Object * milo; // r30 // References // -> struct [anonymous] __vt__7Message; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x8028CC70 -> 0x8028CF88 void LoadingPanelDir::RestoreClips(class LoadingPanelDir * const this /* r24 */) { // Local variables class CompositeCharacter * vocalist; // r30 class CompositeCharacter * guitarist; // r29 class CompositeCharacter * bassist; // r28 class CompositeCharacter * drummer; // r27 class String t1; // r1+0x74 class CompositeCharacter * h2h0; // r26 class String t2; // r1+0x68 class CompositeCharacter * h2h1; // r25 } // Range: 0x8028CF88 -> 0x8028D484 class DataNode LoadingPanelDir::OnImportClip(class LoadingPanelDir * const this /* r30 */) { // Local variables class CharClip * clip; // r0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class FilePath sNull; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x8028D484 -> 0x8028D8FC void LoadingPanelDir::SetBonesFromClip(class LoadingPanelDir * const this /* r30 */, class CharClip * clip /* r31 */) { // Local variables class CharBonesMeshes bones; // r1+0x50 class list boneList; // r1+0x30 class ObjDirItr bone; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x8028D8FC -> 0x8028D940 class Symbol LoadingPanelDir::ClassName() { // References // -> class Symbol name; } // Range: 0x8028D940 -> 0x8028DAD4 void LoadingPanelDir::SetType(class LoadingPanelDir * const this /* r29 */, class Symbol & LoadingPanelDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028DAD4 -> 0x8028DD24 */ // Range: 0x8028DAD4 -> 0x8028DB48 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11CharClipSet,9ObjectDir>; } // Range: 0x8028DB48 -> 0x8028DBBC void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; } // Range: 0x8028DBBC -> 0x8028DBC4 class CharClip * ObjPtr::__opP8CharClip() {} // Range: 0x8028DBC4 -> 0x8028DBCC class CharClipSet * ObjPtr::__opP11CharClipSet() {} // Range: 0x8028DBCC -> 0x8028DBD4 class Object * ObjPtr::RefOwner() {} // Range: 0x8028DBD4 -> 0x8028DC78 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } // Range: 0x8028DC78 -> 0x8028DC80 class Object * ObjPtr::RefOwner() {} // Range: 0x8028DC80 -> 0x8028DD24 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028DD24 -> 0x8028E1A8 */ // Range: 0x8028DD24 -> 0x8028DD7C void * ObjDirPtr::ObjDirPtr(class ObjDirPtr * const this /* r31 */) { // References // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; } // Range: 0x8028DD7C -> 0x8028DD84 class CharClipSet * ObjDirPtr::__opP11CharClipSet() {} // Range: 0x8028DD84 -> 0x8028DE64 class CompositeCharacter * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class CompositeCharacter * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18CompositeCharacter; } // Range: 0x8028DE64 -> 0x8028DEC0 void * ObjDirPtr::ObjDirPtr(class ObjDirPtr * const this /* r31 */) { // References // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; } // Range: 0x8028DEC0 -> 0x8028DEC8 class CompositeCharacter * ObjDirItr::__rf() {} // Range: 0x8028DEC8 -> 0x8028E038 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x8028E038 -> 0x8028E1A8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } /* Compile unit: C:\rockband2\system\src\char\Character.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028F22C -> 0x8028F234 */ // Range: 0x8028F22C -> 0x8028F234 class CharDriver * Character::Driver() {} /* Compile unit: C:\rockband2\system\src\utl\Loader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028F234 -> 0x8028F23C */ // Range: 0x8028F234 -> 0x8028F23C unsigned char LoadMgr::EditMode() {} /* Compile unit: C:\rockband2\system\src\char\CharDriver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028F23C -> 0x8028F244 */ // Range: 0x8028F23C -> 0x8028F244 class CharClipSet * CharDriver::Clips() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8028F244 -> 0x80290668 */ // Range: 0x8028F244 -> 0x8028F914 void LoadingPanelDir::SyncEditChar(class LoadingPanelDir * const this /* r31 */) { // Local variables class CharClipSamples * clip; // r30 class ObjDirItr bone; // r1+0x3C class ObjDirItr cc; // r1+0x28 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__18CompositeCharacter; // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__8CharClip; // -> struct [anonymous] __RTTI__15CharClipSamples; } // Range: 0x8028F914 -> 0x80290668 class DataNode LoadingPanelDir::OnSavePose(class LoadingPanelDir * const this /* r29 */) { // Local variables class ObjDirItr bone; // r1+0x7C class RndDrawable * castBone; // r0 class CharClipSamples * clip; // r30 class String h2h0; // r1+0x70 class String h2h1; // r1+0x64 class Object * milo; // r23 // References // -> struct [anonymous] __vt__7Message; // -> class ObjectDir * sMainDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> struct [anonymous] __RTTI__8CharClip; // -> struct [anonymous] __RTTI__15CharClipSamples; // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class FilePath sNull; } /* Compile unit: C:\rockband2\system\src\bandobj\OutfitConfig.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80290668 -> 0x80292818 */ class DataArray * types; // size: 0x4, address: 0x80A4F920 class DataArray * types; // size: 0x4, address: 0x80A4F928 class Symbol name; // size: 0x4, address: 0x80A4F930 // Range: 0x80290668 -> 0x80290718 class BinStream & __rs(class BinStream & d /* r30 */, struct ColorSet & s /* r31 */) {} // Range: 0x80290718 -> 0x80290764 void * ColorPalette::ColorPalette(class ColorPalette * const this /* r31 */) { // References // -> struct [anonymous] __vt__12ColorPalette; } // Range: 0x80290764 -> 0x802907C8 void ColorPalette::Save(class ColorPalette * const this /* r30 */, class BinStream & d /* r31 */) {} class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ColorSet * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ColorSet * _M_start; // offset 0x0, size 0x4 struct ColorSet * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x802907C8 -> 0x802908A4 void ColorPalette::Sync(class ColorPalette * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x18 class Object * o; // r31 class OutfitConfig * oc; // r0 class BandSwatch * bs; // r0 // References // -> struct [anonymous] __RTTI__10BandSwatch; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitConfig; } static class Symbol _s; // size: 0x4, address: 0x80A4F938 // Range: 0x802908A4 -> 0x802909A0 unsigned char ColorPalette::SyncProperty(class ColorPalette * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } // Range: 0x802909A0 -> 0x80290A30 void * MatOption::MatOption() { // References // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x80290A30 -> 0x80290A64 void * ColorOption::ColorOption() {} class _List_node : public _List_node_base { // total size: 0x3C public: struct MatOption _M_data; // offset 0x8, size 0x34 }; // Range: 0x80290A64 -> 0x80290AF8 void OutfitConfig::Init() { // References // -> class Symbol name; // -> class Symbol name; } // Range: 0x80290AF8 -> 0x80290BB0 void * OutfitConfig::OutfitConfig(class OutfitConfig * const this /* r31 */) { // References // -> struct [anonymous] __vt__12OutfitConfig; // -> struct [anonymous] __vt__11RndPollable; } static int gRev; // size: 0x4, address: 0x80A4F93C // Range: 0x80290BB0 -> 0x80290C10 class BinStream & __ls(class BinStream & d /* r30 */, const struct MatOption & m /* r31 */) {} // Range: 0x80290C10 -> 0x80290C7C class BinStream & __rs(class BinStream & d /* r30 */, struct MatOption & m /* r31 */) { // References // -> static int gRev; } // Range: 0x80290C7C -> 0x80290CD4 class BinStream & __ls(class BinStream & d /* r30 */, const struct ColorOption & c /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80290CD4 -> 0x80290D20 class BinStream & __rs(class BinStream & d /* r30 */, struct ColorOption & c /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80290D20 -> 0x80290D84 void OutfitConfig::Save(class OutfitConfig * const this /* r30 */, class BinStream & d /* r31 */) {} class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; // Range: 0x80290D84 -> 0x80290FE8 void OutfitConfig::Load(class OutfitConfig * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables class ObjVector old_patches; // r1+0x48 class ObjVector old_patches; // r1+0x38 // References // -> class Debug TheDebug; // -> static int gRev; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndTexRenderer * mPtr; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80290FE8 -> 0x80291300 void OutfitConfig::Copy(class OutfitConfig * const this /* r26 */, enum CopyType type /* r25 */) { // Local variables const class OutfitConfig * oc; // r27 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitConfig; } // Range: 0x80291300 -> 0x80291348 void OutfitConfig::Enter(class OutfitConfig * const this /* r31 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80291348 -> 0x802914AC class DataArray * OutfitConfig::MakeColorConfig(class OutfitConfig * const this /* r30 */) { // Local variables class DataArray * colors; // r31 int i; // r29 } // Range: 0x802914AC -> 0x802914C4 int OutfitConfig::NumColors() {} // Range: 0x802914C4 -> 0x80291578 class ColorPalette * OutfitConfig::Palette(class OutfitConfig * const this /* r30 */, int option_index /* r31 */) { // Local variables class ObjList & mats; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80291578 -> 0x80291600 int OutfitConfig::ColorIndex(const class OutfitConfig * const this /* r30 */, int option_index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80291600 -> 0x80291824 void OutfitConfig::Apply(class OutfitConfig * const this /* r28 */) { // Local variables struct ColorOption * c; // r30 int idx; // r29 struct _List_iterator m; // r1+0x10 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80291824 -> 0x802918C4 void OutfitConfig::Randomize(class OutfitConfig * const this /* r30 */) { // Local variables struct ColorOption * c; // r31 class ColorPalette * p; // r5 } // Range: 0x802918C4 -> 0x80291A38 void OutfitConfig::CompositeColors(class OutfitConfig * const this /* r30 */) { // Local variables class vector composite_mats; // r1+0x20 struct ColorOption * c; // r31 struct _List_iterator m; // r1+0x1C class RndMat * mat; // r1+0x18 class RndMat * * it; // r29 } // Range: 0x80291A38 -> 0x80291BAC void OutfitConfig::FinalizeColors(class OutfitConfig * const this /* r30 */) { // Local variables class vector finalize_mats; // r1+0x20 struct ColorOption * c; // r31 struct _List_iterator m; // r1+0x1C class RndMat * mat; // r1+0x18 class RndMat * * it; // r29 } // Range: 0x80291BAC -> 0x80291BD4 void OutfitConfig::SetColorIndex() {} static class Symbol _s; // size: 0x4, address: 0x80A4F944 static class Symbol _s; // size: 0x4, address: 0x80A4F94C static class Symbol _s; // size: 0x4, address: 0x80A4F954 static class Symbol _s; // size: 0x4, address: 0x80A4F95C // Range: 0x80291BD4 -> 0x80292334 class DataNode OutfitConfig::Handle(class OutfitConfig * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class OutfitConfig * gOwner; // size: 0x4, address: 0x80A4F960 static class Symbol _s; // size: 0x4, address: 0x80A4F968 static class Symbol _s; // size: 0x4, address: 0x80A4F970 static class Symbol _s; // size: 0x4, address: 0x80A4F978 static class Symbol _s; // size: 0x4, address: 0x80A4F980 // Range: 0x80292334 -> 0x80292570 unsigned char PropSync(struct MatOption & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class OutfitConfig * gOwner; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4F988 static class Symbol _s; // size: 0x4, address: 0x80A4F990 // Range: 0x80292570 -> 0x8029273C unsigned char PropSync(struct ColorOption & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class OutfitConfig * gOwner; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // size: 0x8, address: 0x808BE0E8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // size: 0x8, address: 0x808BE118 static class Symbol _s; // size: 0x4, address: 0x80A4F998 // Range: 0x8029273C -> 0x80292818 unsigned char OutfitConfig::SyncProperty(class OutfitConfig * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class OutfitConfig * gOwner; } struct { // total size: 0x18 } __vt__35ObjPtr<14RndTexRenderer,9ObjectDir>; // size: 0x18, address: 0x808BE168 struct { // total size: 0x8 } __RTTI__35ObjPtr<14RndTexRenderer,9ObjectDir>; // size: 0x8, address: 0x808BE1B0 struct { // total size: 0x8C } __vt__12OutfitConfig; // size: 0x8C, address: 0x808BE490 struct { // total size: 0x54 } __vt__12ColorPalette; // size: 0x54, address: 0x808BE5A0 struct { // total size: 0x8 } __RTTI__P11ColorOption; // size: 0x8, address: 0x808BE7D8 struct ColorSet { // total size: 0x20 class Color mPrimary; // offset 0x0, size 0x10 class Color mSecondary; // offset 0x10, size 0x10 }; struct { // total size: 0x8 } __RTTI__P35ObjPtr<14RndTexRenderer,9ObjectDir>; // size: 0x8, address: 0x808BE808 struct { // total size: 0x8 } __RTTI__P26ObjPtr<6RndDir,9ObjectDir>; // size: 0x8, address: 0x808BE830 struct { // total size: 0x8 } __RTTI__P8ColorSet; // size: 0x8, address: 0x808BE848 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80292948 -> 0x802929D8 */ // Range: 0x802929AC -> 0x802929B0 class StlNodeAlloc vector::get_allocator() {} // Range: 0x802929B0 -> 0x802929D8 unsigned char vector::_M_is_inside() {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802929D8 -> 0x80292E10 */ // Range: 0x802929D8 -> 0x80292AB4 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Color * t; // r31 } // Range: 0x80292AB4 -> 0x80292C1C class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 struct ColorSet * t; // r29 } // Range: 0x80292C1C -> 0x80292CB4 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class ObjPtr * t; // r31 } // Range: 0x80292CB4 -> 0x80292D88 class BinStream & __ls(class BinStream & d /* r30 */, const class list & c /* r31 */) { // Local variables struct _List_iterator t; // r1+0x34 } // Range: 0x80292D88 -> 0x80292E10 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct ColorOption * t; // r31 } /* Compile unit: C:\rockband2\system\src\bandobj\OutfitConfig.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80292E10 -> 0x80293828 */ // Range: 0x80292E10 -> 0x80293064 void ColorPalette::Load(class ColorPalette * const this /* r31 */, class BinStream & d /* r29 */) { // Local variables int rev; // r1+0x38 class vector old_colors; // r1+0x3C struct ColorSet * i; // r30 // References // -> class Debug TheDebug; } // Range: 0x80293064 -> 0x802930A8 class Symbol ColorPalette::ClassName() { // References // -> class Symbol name; } // Range: 0x802930A8 -> 0x80293154 void ColorPalette::Copy(class ColorPalette * const this /* r29 */, enum CopyType type /* r30 */) { // Local variables const class ColorPalette * c; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ColorPalette; } // Range: 0x80293154 -> 0x802933FC class DataNode ColorPalette::Handle(class ColorPalette * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x802933FC -> 0x8029345C class Object * ColorPalette::NewObject() { // References // -> class Symbol name; } // Range: 0x8029345C -> 0x802934D0 class Object * OutfitConfig::NewObject() { // References // -> class Symbol name; } // Range: 0x802934D0 -> 0x80293514 class Symbol OutfitConfig::ClassName() { // References // -> class Symbol name; } // Range: 0x80293514 -> 0x802936A8 void OutfitConfig::SetType(class OutfitConfig * const this /* r29 */, class Symbol & OutfitConfig /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x802936A8 -> 0x80293828 void ColorPalette::SetType(class ColorPalette * const this /* r29 */, class Symbol & ColorPalette /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80293A98 -> 0x80294A48 */ // Range: 0x80293A98 -> 0x80293C58 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80293C58 -> 0x80293DF0 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } // Range: 0x80293DF0 -> 0x80293F88 class BinStream & __rs(class BinStream & d /* r30 */, class ObjList & c /* r31 */) { // Local variables unsigned int s; // r1+0x28 struct _List_iterator t; // r1+0x24 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; } // Range: 0x80293F88 -> 0x8029415C class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__35ObjPtr<14RndTexRenderer,9ObjectDir>; } // Range: 0x8029415C -> 0x80294304 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndTexRenderer; } // Range: 0x80294304 -> 0x8029437C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14RndTexRenderer,9ObjectDir>; } // Range: 0x8029437C -> 0x80294544 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; } // Range: 0x80294544 -> 0x802946E0 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x802946E0 -> 0x80294990 class BinStream & __rs(class BinStream & d /* r27 */, class ObjVector & c /* r28 */) { // Local variables unsigned int s; // r1+0x40 struct ColorOption * t; // r26 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; } // Range: 0x80294990 -> 0x80294998 class Object * ObjPtr::RefOwner() {} // Range: 0x80294998 -> 0x80294A48 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndTexRenderer; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80294A48 -> 0x80294A4C */ // Range: 0x80294A48 -> 0x80294A4C class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80294A4C -> 0x80294B2C */ // Range: 0x80294A4C -> 0x80294B2C class RndMat * * find() {} /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80294B2C -> 0x8029580C */ // Range: 0x80294B2C -> 0x80294DE0 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class ObjPtr * it; // r31 class ObjPtr tmp; // r1+0x20 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80294DE0 -> 0x80295488 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r30 */, class DataArray * prop /* r29 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables struct _List_iterator it; // r1+0x70 struct MatOption tmp; // r1+0x80 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80295488 -> 0x8029580C unsigned char PropSync(class ObjVector & v /* r28 */, class DataNode & n /* r26 */, class DataArray * prop /* r31 */, int i /* r30 */, enum PropOp op /* r27 */) { // Local variables struct ColorOption * it; // r29 struct ColorOption tmp; // r1+0x48 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\rndobj\Poll.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029580C -> 0x80295810 */ // Range: 0x8029580C -> 0x80295810 void RndPollable::Poll() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80295810 -> 0x80296454 */ // Range: 0x80295810 -> 0x80295BC8 void list::resize(const struct MatOption & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x4C unsigned long __len; // r6 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; } // Range: 0x80295BC8 -> 0x802962CC class list & list::__as(class list * const this /* r28 */) { // Local variables struct _List_iterator __first1; // r1+0xB0 struct _List_iterator __last1; // r1+0xAC struct _List_iterator __first2; // r1+0xA8 struct _List_iterator __last2; // r1+0xA4 // References // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x802962CC -> 0x80296454 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80296454 -> 0x802998F0 */ // Range: 0x80296454 -> 0x802964D4 void vector::_M_fill_insert() {} // Range: 0x802964D4 -> 0x80296554 void vector::_M_fill_insert() {} // Range: 0x80296554 -> 0x802965C4 void vector::_M_fill_insert() {} // Range: 0x802965C4 -> 0x80296F94 class vector & vector::__as(class vector * const this /* r30 */, const class vector & __x /* r26 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11ColorOption; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80296F94 -> 0x80296FEC struct ColorOption * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x80296FEC -> 0x8029705C void vector::_M_fill_insert() {} // Range: 0x8029705C -> 0x802970C4 class ObjPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x802970C4 -> 0x80297144 void vector::_M_fill_insert() {} // Range: 0x80297144 -> 0x802973FC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__35ObjPtr<14RndTexRenderer,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P35ObjPtr<14RndTexRenderer,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802973FC -> 0x80297784 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__35ObjPtr<14RndTexRenderer,9ObjectDir>; } // Range: 0x80297784 -> 0x80297A2C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndDir,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80297A2C -> 0x80297D88 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; } // Range: 0x80297D88 -> 0x80298034 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct ColorSet * __pos /* r26 */, const struct ColorSet & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct ColorSet * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8ColorSet; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80298034 -> 0x8029837C void vector::_M_fill_insert_aux() { // Local variables struct ColorSet __x_copy; // r1+0x30 unsigned long __elems_after; // r9 struct ColorSet * __old_finish; // r0 } // Range: 0x8029837C -> 0x80298E38 void vector::_M_insert_overflow_aux(class vector * const this /* r26 */, struct ColorOption * __pos /* r27 */, const struct ColorOption & __x /* r28 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r29 */) { // Local variables unsigned long __old_size; // r1+0xE4 unsigned long __len; // r31 struct ColorOption * __new_finish; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11ColorOption; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80298E38 -> 0x80298F8C void vector::_M_fill_insert_aux(class vector * const this /* r26 */, struct ColorOption * __pos /* r27 */, unsigned long __n /* r31 */, const struct ColorOption & __x /* r28 */) { // Local variables struct ColorOption __x_copy; // r1+0x20 unsigned long __elems_after; // r29 } // Range: 0x80298F8C -> 0x80299224 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80299224 -> 0x802995B4 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802995B4 -> 0x802998F0 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_uninitialized.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802998F0 -> 0x80299E18 */ // Range: 0x802998F0 -> 0x80299B84 struct ColorOption * __uninitialized_fill_n(unsigned long __n /* r25 */, const struct ColorOption & __x /* r26 */) { // Local variables struct ColorOption * __cur; // r27 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80299B84 -> 0x80299E18 struct ColorOption * __uninitialized_copy(struct ColorOption * __first /* r25 */, struct ColorOption * __last /* r26 */) { // Local variables struct ColorOption * __cur; // r27 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9MatOption>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80299E18 -> 0x8029A25C */ // Range: 0x80299E18 -> 0x80299FE0 void fill(struct ColorOption * __first /* r29 */, struct ColorOption * __last /* r30 */, const struct ColorOption & __val /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; } // Range: 0x80299FE0 -> 0x8029A1BC struct ColorOption * __copy_backward_ptrs() { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12ColorPalette,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\PlayerDiffIcon.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029A25C -> 0x8029B8D4 */ class DataArray * types; // size: 0x4, address: 0x80A4F9A0 class Symbol name; // size: 0x4, address: 0x80A4F9A8 // Range: 0x8029A25C -> 0x8029A390 void * PlayerDiffIcon::PlayerDiffIcon(class PlayerDiffIcon * const this /* r31 */) { // References // -> struct [anonymous] __vt__14PlayerDiffIcon; // -> struct [anonymous] __vt__12ListAlphable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8029A390 -> 0x8029A4B0 void * PlayerDiffIcon::~PlayerDiffIcon(class PlayerDiffIcon * const this /* r30 */) {} static int gRev; // size: 0x4, address: 0x80A4F9AC // Range: 0x8029A4B0 -> 0x8029A538 void PlayerDiffIcon::Save(class PlayerDiffIcon * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8029A538 -> 0x8029A594 void PlayerDiffIcon::Load(class PlayerDiffIcon * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8029A594 -> 0x8029A678 void PlayerDiffIcon::PreLoad(class PlayerDiffIcon * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8029A678 -> 0x8029A6B8 void PlayerDiffIcon::PostLoad(class PlayerDiffIcon * const this /* r31 */) {} class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class UILabel * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8029A6B8 -> 0x8029ADC4 void PlayerDiffIcon::DrawShowing(class PlayerDiffIcon * const this /* r30 */) { // Local variables int i; // r29 int i; // r5 class ObjDirItr l; // r1+0x3C class ObjDirItr m; // r1+0x28 // References // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8029ADC4 -> 0x8029ADD4 class RndDrawable * PlayerDiffIcon::CollideShowing() {} // Range: 0x8029ADD4 -> 0x8029ADEC int PlayerDiffIcon::CollidePlane() {} // Range: 0x8029ADEC -> 0x8029ADF4 void PlayerDiffIcon::SetAlpha() {} // Range: 0x8029ADF4 -> 0x8029AE00 void PlayerDiffIcon::SetNumPlayersDiff() {} static class Symbol player_meshes; // size: 0x4, address: 0x80A4F9B4 static class Symbol player_mat; // size: 0x4, address: 0x80A4F9BC static class Symbol no_player_mat; // size: 0x4, address: 0x80A4F9C4 static class Symbol diff_labels; // size: 0x4, address: 0x80A4F9CC // Range: 0x8029AE00 -> 0x8029B390 void PlayerDiffIcon::Update(class PlayerDiffIcon * const this /* r28 */) { // Local variables class ObjectDir * dir; // r29 class DataArray * meshes; // r25 int i; // r24 class DataArray * labels; // r24 int i; // r25 // References // -> struct [anonymous] __RTTI__9BandLabel; // -> static class Symbol diff_labels; // -> static class Symbol no_player_mat; // -> struct [anonymous] __RTTI__6RndMat; // -> static class Symbol player_mat; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> static class Symbol player_meshes; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8029B390 -> 0x8029B65C class DataNode PlayerDiffIcon::Handle(class PlayerDiffIcon * const this /* r31 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r28 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4F9D4 static class Symbol _s; // size: 0x4, address: 0x80A4F9DC // Range: 0x8029B65C -> 0x8029B8D4 unsigned char PlayerDiffIcon::SyncProperty(class PlayerDiffIcon * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x160 } __vt__14PlayerDiffIcon; // size: 0x160, address: 0x808BEBE8 struct { // total size: 0x10 } __vt__12ListAlphable; // size: 0x10, address: 0x808BEDA8 /* Compile unit: C:\rockband2\system\src\bandobj\PlayerDiffIcon.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029B8D4 -> 0x8029BC60 */ // Range: 0x8029B8D4 -> 0x8029B94C void PlayerDiffIcon::Init() { // References // -> class UIManager TheUI; // -> class Symbol name; } // Range: 0x8029B94C -> 0x8029B9C4 class Object * PlayerDiffIcon::NewObject() { // References // -> class Symbol name; } // Range: 0x8029B9C4 -> 0x8029BA84 void PlayerDiffIcon::Copy(class PlayerDiffIcon * const this /* r29 */, enum CopyType type /* r30 */) { // Local variables const class PlayerDiffIcon * p; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14PlayerDiffIcon; } // Range: 0x8029BA84 -> 0x8029BAC8 class Symbol PlayerDiffIcon::ClassName() { // References // -> class Symbol name; } // Range: 0x8029BAC8 -> 0x8029BC60 void PlayerDiffIcon::SetType(class PlayerDiffIcon * const this /* r29 */, class Symbol & PlayerDiffIcon /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\ListElement.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029BC60 -> 0x8029BCA0 */ // Range: 0x8029BC60 -> 0x8029BCA0 void * ListAlphable::~ListAlphable(class ListAlphable * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029BE3C -> 0x8029BFAC */ // Range: 0x8029BE3C -> 0x8029BFAC void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; } /* Compile unit: C:\rockband2\system\src\bandobj\RenderDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029BFAC -> 0x8029CDFC */ class DataArray * types; // size: 0x4, address: 0x80A4F9E0 class Symbol name; // size: 0x4, address: 0x80A4F9E8 unsigned char sValidate; // size: 0x1, address: 0x80A4F9EC // Range: 0x8029BFAC -> 0x8029BFC4 static class DataNode OnValidateRenderDir() { // References // -> unsigned char sValidate; } class RenderDir : public PanelDir { // total size: 0x290 class ObjPtr mPanelDir; // offset 0x24C, size 0xC }; // Range: 0x8029BFC4 -> 0x8029C038 void RenderDir::Init() { // References // -> class Symbol name; } // Range: 0x8029C038 -> 0x8029C16C void * RenderDir::RenderDir(class RenderDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8PanelDir,9ObjectDir>; // -> struct [anonymous] __vt__9RenderDir; // -> struct [anonymous] __vt__16RndHighlightable; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class PanelDir * mPtr; // offset 0x8, size 0x4 }; // Range: 0x8029C16C -> 0x8029C244 void * RenderDir::~RenderDir(class RenderDir * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8PanelDir,9ObjectDir>; } // Range: 0x8029C244 -> 0x8029C288 void RenderDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x8029C288 -> 0x8029C330 void RenderDir::PreLoad(class RenderDir * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; } // Range: 0x8029C330 -> 0x8029C3E0 void RenderDir::PostLoad(class RenderDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> unsigned char sValidate; // -> class list sRevs; } // Range: 0x8029C3E0 -> 0x8029C47C void RenderDir::Copy(class RenderDir * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class RenderDir * r; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9RenderDir; } // Range: 0x8029C47C -> 0x8029C49C class ObjectDir * RenderDir::DataDir() {} // Range: 0x8029C49C -> 0x8029C4C4 class UIComponent * RenderDir::FocusComponent() {} // Range: 0x8029C4C4 -> 0x8029C4E8 class UIComponent * RenderDir::FindComponent() {} // Range: 0x8029C4E8 -> 0x8029C50C void RenderDir::SetFocusComponent() {} // Range: 0x8029C50C -> 0x8029C574 unsigned char RenderDir::Entering(class RenderDir * const this /* r31 */) { // Local variables unsigned char e; // r3 } // Range: 0x8029C574 -> 0x8029C5DC unsigned char RenderDir::Exiting(class RenderDir * const this /* r31 */) { // Local variables unsigned char e; // r3 } static class Symbol _s; // size: 0x4, address: 0x80A4F9F0 static class Symbol _s; // size: 0x4, address: 0x80A4F9F8 // Range: 0x8029C5DC -> 0x8029CBC8 class DataNode RenderDir::Handle(class RenderDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4FA00 // Range: 0x8029CBC8 -> 0x8029CCA0 unsigned char RenderDir::SyncProperty(class RenderDir * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } // Range: 0x8029CCA0 -> 0x8029CDFC unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8PanelDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x234 } __vt__9RenderDir; // size: 0x234, address: 0x808BF13C struct { // total size: 0x8 } __RTTI__9RenderDir; // size: 0x8, address: 0x808BF3D8 struct { // total size: 0x18 } __vt__28ObjPtr<8PanelDir,9ObjectDir>; // size: 0x18, address: 0x808BF3E0 struct { // total size: 0x8 } __RTTI__28ObjPtr<8PanelDir,9ObjectDir>; // size: 0x8, address: 0x808BF420 /* Compile unit: C:\rockband2\system\src\bandobj\RenderDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029CDFC -> 0x8029D048 */ // Range: 0x8029CDFC -> 0x8029CE70 class Object * RenderDir::NewObject() { // References // -> class Symbol name; } // Range: 0x8029CE70 -> 0x8029CEB4 class Symbol RenderDir::ClassName() { // References // -> class Symbol name; } // Range: 0x8029CEB4 -> 0x8029D048 void RenderDir::SetType(class RenderDir * const this /* r29 */, class Symbol & RenderDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029D048 -> 0x8029D304 */ // Range: 0x8029D048 -> 0x8029D0BC void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8PanelDir,9ObjectDir>; } // Range: 0x8029D0BC -> 0x8029D258 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8PanelDir; } // Range: 0x8029D258 -> 0x8029D260 class Object * ObjPtr::RefOwner() {} // Range: 0x8029D260 -> 0x8029D304 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8PanelDir; } /* Compile unit: C:\rockband2\system\src\bandobj\StreakMeter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029D51C -> 0x8029EFA8 */ class DataArray * types; // size: 0x4, address: 0x80A4FA08 // Range: 0x8029D51C -> 0x8029D850 void * StreakMeter::StreakMeter(class StreakMeter * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__11StreakMeter; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8029D850 -> 0x8029D8B0 void StreakMeter::SetBandMultiplier(class StreakMeter * const this /* r31 */) {} // Range: 0x8029D8B0 -> 0x8029D918 void StreakMeter::SetMultiplier(class StreakMeter * const this /* r31 */) {} static class DebugWarner _dw; // size: 0x100, address: 0x8097D1A8 // Range: 0x8029D918 -> 0x8029DA60 float StringToFrame(const char * str /* r28 */) { // Local variables float ret; // f31 const char * c; // r29 // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; } // Range: 0x8029DA60 -> 0x8029DA84 int StreakMeter::GetMultiplierToShow() {} // Range: 0x8029DA84 -> 0x8029DAC4 void StreakMeter::MultiplierChanged(class StreakMeter * const this /* r31 */) { // Local variables int mult; // r4 } // Range: 0x8029DAC4 -> 0x8029DB94 void StreakMeter::UpdateMultiplierText(class StreakMeter * const this /* r29 */) { // Local variables const char * multText; // r30 float newFrame; // f30 float oldFrame; // f0 } // Range: 0x8029DB94 -> 0x8029DC14 void StreakMeter::BreakStreak(class StreakMeter * const this /* r30 */) { // Local variables int mult; // r31 } // Range: 0x8029DC14 -> 0x8029DC28 void StreakMeter::GlowBlue() {} // Range: 0x8029DC28 -> 0x8029DC3C void StreakMeter::Overdrive() {} // Range: 0x8029DC3C -> 0x8029DC70 void StreakMeter::EndOverdrive() {} // Range: 0x8029DC70 -> 0x8029DC84 void StreakMeter::Reset() {} // Range: 0x8029DC84 -> 0x8029DC9C void StreakMeter::SetWipe() {} static class Symbol _s; // size: 0x4, address: 0x80A4FA10 static class Symbol _s; // size: 0x4, address: 0x80A4FA18 static class Symbol _s; // size: 0x4, address: 0x80A4FA20 static class Symbol _s; // size: 0x4, address: 0x80A4FA28 static class Symbol _s; // size: 0x4, address: 0x80A4FA30 static class Symbol _s; // size: 0x4, address: 0x80A4FA38 static class Symbol _s; // size: 0x4, address: 0x80A4FA40 static class Symbol _s; // size: 0x4, address: 0x80A4FA48 // Range: 0x8029DC9C -> 0x8029E688 class DataNode StreakMeter::Handle(class StreakMeter * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A4FA50 static class Symbol _s; // size: 0x4, address: 0x80A4FA58 static class Symbol _s; // size: 0x4, address: 0x80A4FA60 // Range: 0x8029E688 -> 0x8029E9F4 unsigned char StreakMeter::SyncProperty(class StreakMeter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8029E9F4 -> 0x8029EA38 void StreakMeter::Save() { // References // -> class Debug TheDebug; } // Range: 0x8029EA38 -> 0x8029EBA4 void StreakMeter::PreLoad(class StreakMeter * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; } // Range: 0x8029EBA4 -> 0x8029EBA8 void StreakMeter::PostLoad() {} // Range: 0x8029EBA8 -> 0x8029EE38 void StreakMeter::Copy(class StreakMeter * const this /* r31 */, const class Object * o /* r29 */) { // Local variables const class StreakMeter * sm; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11StreakMeter; } // Range: 0x8029EE38 -> 0x8029EFA8 void StreakMeter::SetPitch(class StreakMeter * const this /* r31 */, float pitch /* f31 */) { // Local variables class Vector3 e; // r1+0x20 class Vector3 s; // r1+0x10 class Matrix3 m; // r1+0x30 } struct { // total size: 0x21C } __vt__11StreakMeter; // size: 0x21C, address: 0x808BF9D4 struct { // total size: 0x8 } __RTTI__11StreakMeter; // size: 0x8, address: 0x808BFC50 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029EFA8 -> 0x8029F2EC */ // Range: 0x8029EFA8 -> 0x8029F150 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x8029F150 -> 0x8029F2EC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } /* Compile unit: C:\rockband2\system\src\bandobj\StreakMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8029F504 -> 0x802A0648 */ // Range: 0x8029F504 -> 0x8029FF50 void StreakMeter::SyncObjects(class StreakMeter * const this /* r31 */) { // Local variables unsigned char playStreakSfx; // r28 class Object * o; // r30 // References // -> struct [anonymous] __RTTI__10RndMatAnim; // -> struct [anonymous] __RTTI__7RndText; // -> struct [anonymous] __RTTI__12RndTransAnim; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x8029FF50 -> 0x8029FF94 class Symbol StreakMeter::ClassName() { // References // -> class Symbol name; } // Range: 0x8029FF94 -> 0x802A04B4 void * StreakMeter::~StreakMeter(class StreakMeter * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndMatAnim,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x802A04B4 -> 0x802A0648 void StreakMeter::SetType(class StreakMeter * const this /* r29 */, class Symbol & StreakMeter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\GemTrackDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A0648 -> 0x802A7AB4 */ class DataArray * types; // size: 0x4, address: 0x80A4FA68 // Range: 0x802A0648 -> 0x802A0E54 void * GemTrackDir::GemTrackDir(class GemTrackDir * const this /* r31 */) { // Local variables class ObjPtr nullAnimPtr; // r1+0x2C int ii; // r30 class ObjPtr nullTrigPtr; // r1+0x20 int ii; // r30 // References // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11TrackWidget,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__11GemTrackDir; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802A0E54 -> 0x802A1614 void GemTrackDir::Copy(class GemTrackDir * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class GemTrackDir * d; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11GemTrackDir; } // Range: 0x802A1614 -> 0x802A1670 void GemTrackDir::Load(class GemTrackDir * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x802A1670 -> 0x802A16DC void GemTrackDir::PostLoad(class GemTrackDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class list sRevs; } // Range: 0x802A16DC -> 0x802A1710 void GemTrackDir::SetFade() { // Local variables float horizon; // f2 } // Range: 0x802A1710 -> 0x802A1738 void GemTrackDir::SetFOV(float val /* f3 */) {} // Range: 0x802A1738 -> 0x802A17A4 void GemTrackDir::SetCamPos() {} // Range: 0x802A17A4 -> 0x802A1864 void GemTrackDir::SetScreenRectX() { // Local variables class Rect rect; // r1+0x8 } // Range: 0x802A1864 -> 0x802A192C void GemTrackDir::SetTrackOffset() { // Local variables class Vector3 pos; // r1+0x10 } // Range: 0x802A192C -> 0x802A1A6C void GemTrackDir::SetSideAngle(class GemTrackDir * const this /* r31 */, float val /* f31 */) { // Local variables class Vector3 e; // r1+0x10 class Matrix3 m; // r1+0x20 } // Range: 0x802A1A6C -> 0x802A1AF0 void GemTrackDir::UpdateSurfaceTexture() {} static class Message hide; // size: 0x8, address: 0x8097D2B8 // Range: 0x802A1AF0 -> 0x802A1DD8 void GemTrackDir::OnUpdateFx(class GemTrackDir * const this /* r31 */, int effect /* r28 */) { // Local variables int ii; // r29 // References // -> class TaskMgr TheTaskMgr; // -> static class Message hide; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9BandLabel; // -> const char * gNullStr; } static class Symbol coop; // size: 0x4, address: 0x80A4FA70 static class Message trigger; // size: 0x8, address: 0x8097D2D0 // Range: 0x802A1DD8 -> 0x802A208C void GemTrackDir::PlayIntro(class GemTrackDir * const this /* r30 */) { // Local variables float delay; // f31 // References // -> class TaskMgr TheTaskMgr; // -> static class Message trigger; // -> struct [anonymous] __vt__7Message; // -> static class Symbol coop; } static class Message kResetMsg; // size: 0x8, address: 0x8097D2E8 static class Message setup_draworder; // size: 0x8, address: 0x8097D300 // Range: 0x802A208C -> 0x802A2914 void GemTrackDir::TrackReset(class GemTrackDir * const this /* r28 */) { // Local variables int ii; // r25 class RndPropAnim * instrumentSetupAnim; // r29 class RndDir * otherSmasherPlate; // r29 float frame; // f0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class LoadMgr TheLoadMgr; // -> static class Message setup_draworder; // -> const char * gNullStr; // -> static class Message kResetMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x802A2914 -> 0x802A2A00 void GemTrackDir::GameWon(class GemTrackDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802A2A00 -> 0x802A2AF4 void GemTrackDir::PracticeReset(class GemTrackDir * const this /* r29 */) { // Local variables class RndGroup * anim; // r30 class TrackWidget * wid; // r0 } static class Message clear; // size: 0x8, address: 0x8097D318 // Range: 0x802A2AF4 -> 0x802A2CA8 void GemTrackDir::Retract(class GemTrackDir * const this /* r31 */, unsigned char immediately /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Message clear; // -> struct [anonymous] __vt__7Message; } // Range: 0x802A2CA8 -> 0x802A2D64 void GemTrackDir::SetStreak(class GemTrackDir * const this /* r28 */, int streak /* r29 */, int mult /* r30 */, int notesPerStreak /* r31 */) { // Local variables float pct; // f1 } // Range: 0x802A2D64 -> 0x802A2F88 void GemTrackDir::RefreshStreakMeter(class GemTrackDir * const this /* r31 */, int streak /* r28 */, int multiplier /* r29 */, int notesPerStreak /* r30 */) { // Local variables float pct; // f0 class Message set_wipe; // r1+0x20 // References // -> class TaskMgr TheTaskMgr; // -> struct [anonymous] __vt__7Message; } static class Symbol bass; // size: 0x4, address: 0x80A4FA7C // Range: 0x802A2F88 -> 0x802A3170 void GemTrackDir::SuperStreak(class GemTrackDir * const this /* r30 */, unsigned char val /* r31 */) { // Local variables class Message msg; // r1+0x20 // References // -> struct [anonymous] __vt__7Message; // -> static class Symbol bass; } static class Message updateGems; // size: 0x8, address: 0x8097D330 // Range: 0x802A3170 -> 0x802A333C void GemTrackDir::Deploy(class GemTrackDir * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Message updateGems; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; } static class Message kResetMsg; // size: 0x8, address: 0x8097D348 // Range: 0x802A333C -> 0x802A3524 void GemTrackDir::EnterCoda(class GemTrackDir * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Message kResetMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x802A3524 -> 0x802A3598 void GemTrackDir::DisablePlayer(class GemTrackDir * const this /* r30 */, int strikes /* r31 */) {} // Range: 0x802A3598 -> 0x802A35AC void GemTrackDir::PracticeTrackOut() {} static class Symbol drum; // size: 0x4, address: 0x80A4FA84 static class Symbol kick; // size: 0x4, address: 0x80A4FA8C // Range: 0x802A35AC -> 0x802A36DC void GemTrackDir::GemPass(class GemTrackDir * const this /* r31 */, int lanesMask /* r30 */) { // Local variables float nextKick; // f0 // References // -> static class Symbol kick; // -> static class Symbol drum; } // Range: 0x802A36DC -> 0x802A36F0 void GemTrackDir::KickHit() {} static class Message msg; // size: 0x8, address: 0x8097D360 // Range: 0x802A36F0 -> 0x802A384C void GemTrackDir::SeeKick(class GemTrackDir * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Symbol kick; // size: 0x4, address: 0x80A4FA94 // Range: 0x802A384C -> 0x802A38B8 void GemTrackDir::KickSwing(class GemTrackDir * const this /* r31 */) { // References // -> static class Symbol kick; } // Range: 0x802A38B8 -> 0x802A390C void GemTrackDir::SpotlightPhraseSuccess(class GemTrackDir * const this /* r31 */) {} static class Message hit_fill_3p; // size: 0x8, address: 0x8097D378 static class Message hit_fill; // size: 0x8, address: 0x8097D390 // Range: 0x802A390C -> 0x802A3D3C void GemTrackDir::FillNote(class GemTrackDir * const this /* r28 */, int slot /* r29 */, int velocity /* r30 */) { // References // -> static class Message hit_fill; // -> static class Message hit_fill_3p; // -> struct [anonymous] __vt__7Message; } static class Symbol drum; // size: 0x4, address: 0x80A4FA9C // Range: 0x802A3D3C -> 0x802A3E10 void GemTrackDir::Mash(class GemTrackDir * const this /* r30 */, int slot /* r31 */) { // Local variables class RndPropAnim * anim; // r3 // References // -> static class Symbol drum; } // Range: 0x802A3E10 -> 0x802A3EE0 void GemTrackDir::FillHit(class GemTrackDir * const this /* r30 */, int numNotes /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol loop; // size: 0x4, address: 0x80A4FAA4 // Range: 0x802A3EE0 -> 0x802A3FD8 void GemTrackDir::ResetDrumFill(class GemTrackDir * const this /* r30 */) { // Local variables float timeTillNext; // f31 // References // -> static class Symbol loop; // -> class TaskMgr TheTaskMgr; } // Range: 0x802A3FD8 -> 0x802A4068 void GemTrackDir::ResetCoda(class GemTrackDir * const this /* r30 */) {} static class Message drum_fill_complete_3p; // size: 0x8, address: 0x8097D3A8 static class Message drum_fill_complete; // size: 0x8, address: 0x8097D3C0 // Range: 0x802A4068 -> 0x802A431C void GemTrackDir::CrashFill(class GemTrackDir * const this /* r30 */) { // References // -> static class Message drum_fill_complete; // -> static class Message drum_fill_complete_3p; // -> struct [anonymous] __vt__7Message; } // Range: 0x802A431C -> 0x802A43E4 void GemTrackDir::SetupWidgetLOD(class GemTrackDir * const this /* r30 */) { // Local variables unsigned char glowVisible; // r31 class iterator it; // r1+0x18 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x802A43E4 -> 0x802A4400 void GemTrackDir::SetWidgetGlow() {} // Range: 0x802A4400 -> 0x802A4408 unsigned char GemTrackDir::GetCrashAppeared() {} // Range: 0x802A4408 -> 0x802A4470 void GemTrackDir::ClearCrashAppeared(class GemTrackDir * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol fade_max; // size: 0x4, address: 0x80A4FAAC // Range: 0x802A4470 -> 0x802A469C void GemTrackDir::SetPlayerLocal(class GemTrackDir * const this /* r29 */, float netTrackAlpha /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; // -> static class Symbol fade_max; } static class Symbol _s; // size: 0x4, address: 0x80A4FAB4 static class Symbol _s; // size: 0x4, address: 0x80A4FABC static class Symbol _s; // size: 0x4, address: 0x80A4FAC4 static class Symbol _s; // size: 0x4, address: 0x80A4FACC static class Symbol _s; // size: 0x4, address: 0x80A4FAD4 static class Symbol _s; // size: 0x4, address: 0x80A4FADC static class Symbol _s; // size: 0x4, address: 0x80A4FAE4 static class Symbol _s; // size: 0x4, address: 0x80A4FAEC static class Symbol _s; // size: 0x4, address: 0x80A4FAF4 static class Symbol _s; // size: 0x4, address: 0x80A4FAFC static class Symbol _s; // size: 0x4, address: 0x80A4FB04 static class Symbol _s; // size: 0x4, address: 0x80A4FB0C static class Symbol _s; // size: 0x4, address: 0x80A4FB14 static class Symbol _s; // size: 0x4, address: 0x80A4FB1C static class Symbol _s; // size: 0x4, address: 0x80A4FB24 static class Symbol _s; // size: 0x4, address: 0x80A4FB2C static class Symbol _s; // size: 0x4, address: 0x80A4FB34 static class Symbol _s; // size: 0x4, address: 0x80A4FB3C static class Symbol _s; // size: 0x4, address: 0x80A4FB44 static class Symbol _s; // size: 0x4, address: 0x80A4FB4C static class Symbol _s; // size: 0x4, address: 0x80A4FB54 static class Symbol _s; // size: 0x4, address: 0x80A4FB5C static class Symbol _s; // size: 0x4, address: 0x80A4FB64 static class Symbol _s; // size: 0x4, address: 0x80A4FB6C static class Symbol _s; // size: 0x4, address: 0x80A4FB74 static class Symbol _s; // size: 0x4, address: 0x80A4FB7C static class Symbol _s; // size: 0x4, address: 0x80A4FB84 static class Symbol _s; // size: 0x4, address: 0x80A4FB8C static class Symbol _s; // size: 0x4, address: 0x80A4FB94 static class Symbol _s; // size: 0x4, address: 0x80A4FB9C static class Symbol _s; // size: 0x4, address: 0x80A4FBA4 static class Symbol _s; // size: 0x4, address: 0x80A4FBAC static class Symbol _s; // size: 0x4, address: 0x80A4FBB4 static class Symbol _s; // size: 0x4, address: 0x80A4FBBC static class Symbol _s; // size: 0x4, address: 0x80A4FBC4 static class Symbol _s; // size: 0x4, address: 0x80A4FBCC static class Symbol _s; // size: 0x4, address: 0x80A4FBD4 static class Symbol _s; // size: 0x4, address: 0x80A4FBDC static class Symbol _s; // size: 0x4, address: 0x80A4FBE4 static class Symbol _s; // size: 0x4, address: 0x80A4FBEC static class Symbol _s; // size: 0x4, address: 0x80A4FBF4 static class Symbol _s; // size: 0x4, address: 0x80A4FBFC static class Symbol _s; // size: 0x4, address: 0x80A4FC04 static class Symbol _s; // size: 0x4, address: 0x80A4FC0C static class Symbol _s; // size: 0x4, address: 0x80A4FC14 static class Symbol _s; // size: 0x4, address: 0x80A4FC1C static class Symbol _s; // size: 0x4, address: 0x80A4FC24 static class Symbol _s; // size: 0x4, address: 0x80A4FC2C // Range: 0x802A469C -> 0x802A5BD4 class DataNode GemTrackDir::Handle(class GemTrackDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A4FC34 static class Symbol _s; // size: 0x4, address: 0x80A4FC3C static class Symbol _s; // size: 0x4, address: 0x80A4FC44 static class Symbol _s; // size: 0x4, address: 0x80A4FC4C static class Symbol _s; // size: 0x4, address: 0x80A4FC54 static class Symbol _s; // size: 0x4, address: 0x80A4FC5C static class Symbol _s; // size: 0x4, address: 0x80A4FC64 static class Symbol _s; // size: 0x4, address: 0x80A4FC6C static class Symbol _s; // size: 0x4, address: 0x80A4FC74 static class Symbol _s; // size: 0x4, address: 0x80A4FC7C static class Symbol _s; // size: 0x4, address: 0x80A4FC84 static class Symbol _s; // size: 0x4, address: 0x80A4FC8C static class Symbol _s; // size: 0x4, address: 0x80A4FC94 static class Symbol _s; // size: 0x4, address: 0x80A4FC9C static class Symbol _s; // size: 0x4, address: 0x80A4FCA4 static class Symbol _s; // size: 0x4, address: 0x80A4FCAC static class Symbol _s; // size: 0x4, address: 0x80A4FCB4 static class Symbol _s; // size: 0x4, address: 0x80A4FCBC static class Symbol _s; // size: 0x4, address: 0x80A4FCC4 static class Symbol _s; // size: 0x4, address: 0x80A4FCCC static class Symbol _s; // size: 0x4, address: 0x80A4FCD4 static class Symbol _s; // size: 0x4, address: 0x80A4FCDC static class Symbol _s; // size: 0x4, address: 0x80A4FCE4 static class Symbol _s; // size: 0x4, address: 0x80A4FCEC static class Symbol _s; // size: 0x4, address: 0x80A4FCF4 static class Symbol _s; // size: 0x4, address: 0x80A4FCFC static class Symbol _s; // size: 0x4, address: 0x80A4FD04 static class Symbol _s; // size: 0x4, address: 0x80A4FD0C static class Symbol _s; // size: 0x4, address: 0x80A4FD14 static class Symbol _s; // size: 0x4, address: 0x80A4FD1C static class Symbol _s; // size: 0x4, address: 0x80A4FD24 static class Symbol _s; // size: 0x4, address: 0x80A4FD2C static class Symbol _s; // size: 0x4, address: 0x80A4FD34 static class Symbol _s; // size: 0x4, address: 0x80A4FD3C static class Symbol _s; // size: 0x4, address: 0x80A4FD44 static class Symbol _s; // size: 0x4, address: 0x80A4FD4C static class Symbol _s; // size: 0x4, address: 0x80A4FD54 static class Symbol _s; // size: 0x4, address: 0x80A4FD5C static class Symbol _s; // size: 0x4, address: 0x80A4FD64 static class Symbol _s; // size: 0x4, address: 0x80A4FD6C static class Symbol _s; // size: 0x4, address: 0x80A4FD74 static class Symbol _s; // size: 0x4, address: 0x80A4FD7C static class Symbol _s; // size: 0x4, address: 0x80A4FD84 static class Symbol _s; // size: 0x4, address: 0x80A4FD8C static class Symbol _s; // size: 0x4, address: 0x80A4FD94 static class Symbol _s; // size: 0x4, address: 0x80A4FD9C static class Symbol _s; // size: 0x4, address: 0x80A4FDA4 static class Symbol _s; // size: 0x4, address: 0x80A4FDAC static class Symbol _s; // size: 0x4, address: 0x80A4FDB4 static class Symbol _s; // size: 0x4, address: 0x80A4FDBC static class Symbol _s; // size: 0x4, address: 0x80A4FDC4 static class Symbol _s; // size: 0x4, address: 0x80A4FDCC // Range: 0x802A5BD4 -> 0x802A72AC unsigned char GemTrackDir::SyncProperty(class GemTrackDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x802A72AC -> 0x802A73FC unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14TrackInterface; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802A73FC -> 0x802A7AB4 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class TrackWidget * obj; // r31 class TrackWidget * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x2D8 } __vt__11GemTrackDir; // size: 0x2D8, address: 0x808C0E20 struct { // total size: 0x18 } __vt__36ObjPtrList<11TrackWidget,9ObjectDir>; // size: 0x18, address: 0x808C1178 struct { // total size: 0x8 } __RTTI__36ObjPtrList<11TrackWidget,9ObjectDir>; // size: 0x8, address: 0x808C11C0 struct { // total size: 0x18 } __vt__26ObjPtr<6RndCam,9ObjectDir>; // size: 0x18, address: 0x808C1370 struct { // total size: 0x8 } __RTTI__26ObjPtr<6RndCam,9ObjectDir>; // size: 0x8, address: 0x808C13B0 struct { // total size: 0x8 } __RTTI__P33ObjPtr<12EventTrigger,9ObjectDir>; // size: 0x8, address: 0x808C1B68 struct { // total size: 0x8 } __RTTI__P32ObjPtr<11RndPropAnim,9ObjectDir>; // size: 0x8, address: 0x808C1B98 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A7AB4 -> 0x802A8940 */ // Range: 0x802A7AB4 -> 0x802A7B2C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; } // Range: 0x802A7B2C -> 0x802A7CDC void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11TrackWidget,9ObjectDir>; } // Range: 0x802A7CDC -> 0x802A8080 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802A8080 -> 0x802A821C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPropAnim; } // Range: 0x802A821C -> 0x802A83C4 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; } // Range: 0x802A83C4 -> 0x802A85C8 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802A85C8 -> 0x802A85D0 class Object * ObjPtrList::RefOwner() {} // Range: 0x802A85D0 -> 0x802A85D8 class Object * ObjPtr::RefOwner() {} // Range: 0x802A85D8 -> 0x802A8688 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; } /* Compile unit: C:\rockband2\system\src\bandobj\GemTrackDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A8940 -> 0x802A99FC */ // Range: 0x802A8940 -> 0x802A8984 void GemTrackDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x802A8984 -> 0x802A8D10 void GemTrackDir::PreLoad(class GemTrackDir * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x14 class ObjPtr tmp; // r1+0x18 int ii; // r29 int ii; // r29 int ii; // r29 float unused; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> unsigned char gLoadingProxyFromDisk; // -> class Debug TheDebug; } // Range: 0x802A8D10 -> 0x802A8D54 class Symbol GemTrackDir::ClassName() { // References // -> class Symbol name; } // Range: 0x802A8D54 -> 0x802A8FC0 void GemTrackDir::SetPitch(class GemTrackDir * const this /* r31 */, float pitch /* f31 */) { // Local variables class Vector3 e; // r1+0x20 class Matrix3 m; // r1+0x30 float theta; // f31 float newY; // f3 class Vector3 streakPos; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class LoadMgr TheLoadMgr; } // Range: 0x802A8FC0 -> 0x802A9004 class RndDir * GemTrackDir::GetObj() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x802A9004 -> 0x802A9048 class RndPropAnim * GemTrackDir::GetObj() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPropAnim; } // Range: 0x802A9048 -> 0x802A908C class TrackWidget * GemTrackDir::GetObj() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x802A908C -> 0x802A90D0 class RndGroup * GemTrackDir::GetObj() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x802A90D0 -> 0x802A9114 class EventTrigger * GemTrackDir::GetObj() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802A9114 -> 0x802A985C void * GemTrackDir::~GemTrackDir(class GemTrackDir * const this /* r29 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11TrackWidget,9ObjectDir>; // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; } // Range: 0x802A985C -> 0x802A9860 class RndDir * GemTrackDir::ThisDir() {} // Range: 0x802A9860 -> 0x802A9864 class RndDir * GemTrackDir::ThisDir() {} // Range: 0x802A9864 -> 0x802A9868 class GemTrackDir * GemTrackDir::AsGemTrackDir() {} // Range: 0x802A9868 -> 0x802A99FC void GemTrackDir::SetType(class GemTrackDir * const this /* r29 */, class Symbol & GemTrackDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\os\Timer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A99FC -> 0x802A9A04 */ // Range: 0x802A99FC -> 0x802A9A04 unsigned int Timer::Cycle() { // Local variables unsigned int cycle; // r3 } /* Compile unit: C:\rockband2\system\src\bandobj\BandTrack.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A9A04 -> 0x802A9A0C */ // Range: 0x802A9A04 -> 0x802A9A0C class VocalTrackDir * BandTrack::AsVocalTrackDir() {} /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A9A0C -> 0x802A9F88 */ // Range: 0x802A9A0C -> 0x802A9B68 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11StreakMeter; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802A9B68 -> 0x802A9CC4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14BandPowerMeter; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802A9CC4 -> 0x802A9E20 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPropAnim; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802A9E20 -> 0x802A9F88 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\track\TrackDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A9F88 -> 0x802A9F90 */ // Range: 0x802A9F88 -> 0x802A9F8C void TrackDir::PostDraw() {} // Range: 0x802A9F8C -> 0x802A9F90 void TrackDir::PreDraw() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802A9F90 -> 0x802AAC00 */ // Range: 0x802A9F90 -> 0x802AA228 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P33ObjPtr<12EventTrigger,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802AA228 -> 0x802AA5B8 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P33ObjPtr<12EventTrigger,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802AA5B8 -> 0x802AA860 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P32ObjPtr<11RndPropAnim,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802AA860 -> 0x802AAC00 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P32ObjPtr<11RndPropAnim,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\bandobj\VocalTrackDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802AAC00 -> 0x802B33A4 */ class DataArray * types; // size: 0x4, address: 0x80A4FDD0 // Range: 0x802AAC00 -> 0x802AB3C4 void * VocalTrackDir::VocalTrackDir(class VocalTrackDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndLine,9ObjectDir>; // -> struct [anonymous] __vt__13VocalTrackDir; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802AB3C4 -> 0x802ABFC4 void VocalTrackDir::Copy(class VocalTrackDir * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class VocalTrackDir * d; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13VocalTrackDir; } // Range: 0x802ABFC4 -> 0x802AC020 void VocalTrackDir::Load(class VocalTrackDir * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x802AC020 -> 0x802AC6E0 void VocalTrackDir::PostLoad(class VocalTrackDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> unsigned char gLoadingProxyFromDisk; // -> class list sRevs; } static class Message apply; // size: 0x8, address: 0x8097D3D8 // Range: 0x802AC6E0 -> 0x802ACA40 void VocalTrackDir::SetConfiguration(class VocalTrackDir * const this /* r30 */, class Object * config /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11StreakMeter; // -> static class Message apply; // -> struct [anonymous] __vt__7Message; } // Range: 0x802ACA40 -> 0x802ACE24 void VocalTrackDir::UpdateConfiguration(class VocalTrackDir * const this /* r31 */) { // Local variables unsigned char wide; // r25 unsigned char scrolling; // r0 const char * configName; // r25 class Object * gameMode; // r24 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Rnd & TheRnd; } // Range: 0x802ACE24 -> 0x802ACE54 unsigned char VocalTrackDir::IsScrolling() {} static class Message kResetMsg; // size: 0x8, address: 0x8097D3F0 static class Symbol loop; // size: 0x4, address: 0x80A4FDD8 // Range: 0x802ACE54 -> 0x802AD2E8 void VocalTrackDir::TrackReset(class VocalTrackDir * const this /* r30 */) { // Local variables float timeTillNext; // f31 // References // -> static class Symbol loop; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class TaskMgr TheTaskMgr; // -> static class Message kResetMsg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x802AD2E8 -> 0x802AD350 void VocalTrackDir::PlayIntro(class VocalTrackDir * const this /* r31 */) {} // Range: 0x802AD350 -> 0x802AD358 void VocalTrackDir::SetStreak() {} // Range: 0x802AD358 -> 0x802AD3A8 void VocalTrackDir::Deploy(class VocalTrackDir * const this /* r31 */) {} // Range: 0x802AD3A8 -> 0x802AD3B0 void VocalTrackDir::SetStaticVocals() {} // Range: 0x802AD3B0 -> 0x802AD658 void VocalTrackDir::UpdateFade(class VocalTrackDir * const this /* r28 */) { // Local variables float leftOut; // f31 float rightOut; // f30 // References // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } static class Message kResetMsg; // size: 0x8, address: 0x8097D408 // Range: 0x802AD658 -> 0x802AD7EC void VocalTrackDir::SetTambourine(class VocalTrackDir * const this /* r30 */, unsigned char state /* r31 */) { // References // -> static class Message kResetMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x802AD7EC -> 0x802AD928 void VocalTrackDir::Tambourine(class VocalTrackDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__7Message; } static class Message tambNote; // size: 0x8, address: 0x8097D420 // Range: 0x802AD928 -> 0x802ADA84 void VocalTrackDir::TambourineNote(class VocalTrackDir * const this /* r31 */) { // References // -> static class Message tambNote; // -> struct [anonymous] __vt__7Message; } // Range: 0x802ADA84 -> 0x802ADB58 void VocalTrackDir::SetFeedbackState(class VocalTrackDir * const this /* r31 */) {} // Range: 0x802ADB58 -> 0x802ADC08 void VocalTrackDir::SetArrowVisible(class VocalTrackDir * const this /* r29 */, unsigned char visible /* r30 */) {} // Range: 0x802ADC08 -> 0x802ADC90 void VocalTrackDir::SetFrameScore(class VocalTrackDir * const this /* r30 */) { // Local variables unsigned char scoring; // r31 } // Range: 0x802ADC90 -> 0x802ADD24 void VocalTrackDir::SetPitched(class VocalTrackDir * const this /* r30 */, unsigned char pitched /* r31 */) {} // Range: 0x802ADD24 -> 0x802ADD78 void VocalTrackDir::SetPhraseMeter(class VocalTrackDir * const this /* r31 */, float pct /* f31 */) {} // Range: 0x802ADD78 -> 0x802ADD90 void VocalTrackDir::SetEnableVocalsOptions() {} // Range: 0x802ADD90 -> 0x802ADE40 void VocalTrackDir::ShowPhraseFeedback(class VocalTrackDir * const this /* r29 */, class Color & color /* r30 */) { // Local variables unsigned char updateText; // r1+0x8 } // Range: 0x802ADE40 -> 0x802ADECC void VocalTrackDir::SpotlightPhraseSuccess(class VocalTrackDir * const this /* r31 */) {} // Range: 0x802ADECC -> 0x802ADF30 void VocalTrackDir::NewPhrase(class VocalTrackDir * const this /* r31 */) {} // Range: 0x802ADF30 -> 0x802AE028 void VocalTrackDir::UpdateVolumeDisplay(int val /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UISlider; } static class Symbol pause_screen; // size: 0x4, address: 0x80A4FDE0 static class Symbol confirm_quit_screen; // size: 0x4, address: 0x80A4FDE8 // Range: 0x802AE028 -> 0x802AE34C void VocalTrackDir::ActivateVolume(class VocalTrackDir * const this /* r29 */, enum VocalParam param /* r30 */) { // Local variables class Object * gameMode; // r25 // References // -> struct [anonymous] __RTTI__8UISlider; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__11RndPropAnim; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; // -> static class Symbol confirm_quit_screen; // -> static class Symbol pause_screen; // -> class UIManager TheUI; } // Range: 0x802AE34C -> 0x802AE3A4 void VocalTrackDir::DeactivateVolume(class VocalTrackDir * const this /* r31 */) {} // Range: 0x802AE3A4 -> 0x802AE408 void VocalTrackDir::IncrementVolume(class VocalTrackDir * const this /* r31 */) {} // Range: 0x802AE408 -> 0x802AE598 void VocalTrackDir::CanChat(class VocalTrackDir * const this /* r27 */, unsigned char allow /* r28 */) { // References // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x802AE598 -> 0x802AE5FC void VocalTrackDir::SetupNetVocals(class VocalTrackDir * const this /* r31 */) {} static class Symbol fade_max; // size: 0x4, address: 0x80A4FDF0 // Range: 0x802AE5FC -> 0x802AE888 void VocalTrackDir::SetPlayerLocal(class VocalTrackDir * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; // -> static class Symbol fade_max; } static class Message display_mode; // size: 0x8, address: 0x8097D438 // Range: 0x802AE888 -> 0x802AE9E0 class DataNode VocalTrackDir::OnGetDisplayMode(class VocalTrackDir * const this /* r31 */) { // References // -> static class Message display_mode; // -> struct [anonymous] __vt__7Message; } // Range: 0x802AE9E0 -> 0x802AEAEC class DataNode VocalTrackDir::OnMsg(class VocalTrackDir * const this /* r30 */) { // Local variables enum JoypadButton rawButton; // r0 } // Range: 0x802AEAEC -> 0x802AEBF4 class DataNode VocalTrackDir::OnMsg(class VocalTrackDir * const this /* r28 */, const class ButtonUpMsg & msg /* r29 */) { // Local variables enum JoypadButton rawButton; // r0 } static class Symbol _s; // size: 0x4, address: 0x80A4FDF8 static class Symbol _s; // size: 0x4, address: 0x80A4FE00 static class Symbol _s; // size: 0x4, address: 0x80A4FE08 static class Symbol _s; // size: 0x4, address: 0x80A4FE10 static class Symbol _s; // size: 0x4, address: 0x80A4FE18 static class Symbol _s; // size: 0x4, address: 0x80A4FE20 static class Symbol _s; // size: 0x4, address: 0x80A4FE28 static class Symbol _s; // size: 0x4, address: 0x80A4FE30 static class Symbol _s; // size: 0x4, address: 0x80A4FE38 static class Symbol _s; // size: 0x4, address: 0x80A4FE40 static class Symbol _s; // size: 0x4, address: 0x80A4FE48 static class Symbol _s; // size: 0x4, address: 0x80A4FE50 static class Symbol _s; // size: 0x4, address: 0x80A4FE58 static class Symbol _s; // size: 0x4, address: 0x80A4FE60 static class Symbol _s; // size: 0x4, address: 0x80A4FE68 static class Symbol _s; // size: 0x4, address: 0x80A4FE70 static class Symbol _s; // size: 0x4, address: 0x80A4FE78 static class Symbol _s; // size: 0x4, address: 0x80A4FE80 static class Symbol _s; // size: 0x4, address: 0x80A4FE88 static class Symbol _s; // size: 0x4, address: 0x80A4FE90 static class Symbol _s; // size: 0x4, address: 0x80A4FE98 static class Symbol _s; // size: 0x4, address: 0x80A4FEA0 static class Symbol _s; // size: 0x4, address: 0x80A4FEA8 static class Symbol _s; // size: 0x4, address: 0x80A4FEB0 static class Symbol _s; // size: 0x4, address: 0x80A4FEB8 static class Symbol _s; // size: 0x4, address: 0x80A4FEC0 static class Symbol _s; // size: 0x4, address: 0x80A4FEC8 static class Symbol _s; // size: 0x4, address: 0x80A4FED0 static class Symbol _s; // size: 0x4, address: 0x80A4FED8 static class Symbol _s; // size: 0x4, address: 0x80A4FEE0 static class Symbol _s; // size: 0x4, address: 0x80A4FEE8 static class Symbol _s; // size: 0x4, address: 0x80A4FEF0 static class Symbol _s; // size: 0x4, address: 0x80A4FEF8 static class Symbol _s; // size: 0x4, address: 0x80A4FF00 static class Symbol _s; // size: 0x4, address: 0x80A4FF08 static class Symbol _s; // size: 0x4, address: 0x80A4FF10 static class Symbol _s; // size: 0x4, address: 0x80A4FF18 static class Symbol _s; // size: 0x4, address: 0x80A4FF20 static class Symbol _s; // size: 0x4, address: 0x80A4FF28 static class Symbol _s; // size: 0x4, address: 0x80A4FF30 static class Symbol _s; // size: 0x4, address: 0x80A4FF38 static class Symbol _s; // size: 0x4, address: 0x80A4FF40 static class Symbol _s; // size: 0x4, address: 0x80A4FF48 static class Symbol _s; // size: 0x4, address: 0x80A4FF50 static class Symbol _s; // size: 0x4, address: 0x80A4FF58 static class Symbol _s; // size: 0x4, address: 0x80A4FF60 static class Symbol _s; // size: 0x4, address: 0x80A4FF68 static class Symbol _s; // size: 0x4, address: 0x80A4FF70 static class Symbol _s; // size: 0x4, address: 0x80A4FF78 static class Symbol _s; // size: 0x4, address: 0x80A4FF80 static class Symbol _s; // size: 0x4, address: 0x80A4FF88 static class Symbol _s; // size: 0x4, address: 0x80A4FF90 static class Symbol _s; // size: 0x4, address: 0x80A4FF98 static class Symbol _s; // size: 0x4, address: 0x80A4FFA0 static class Symbol _s; // size: 0x4, address: 0x80A4FFA8 static class Symbol _s; // size: 0x4, address: 0x80A4FFB0 static class Symbol _s; // size: 0x4, address: 0x80A4FFB8 static class Symbol _s; // size: 0x4, address: 0x80A4FFC0 static class Symbol _s; // size: 0x4, address: 0x80A4FFC8 static class Symbol _s; // size: 0x4, address: 0x80A4FFD0 static class Symbol _s; // size: 0x4, address: 0x80A4FFD8 static class Symbol _s; // size: 0x4, address: 0x80A4FFE0 static class Symbol _s; // size: 0x4, address: 0x80A4FFE8 static class Symbol _s; // size: 0x4, address: 0x80A4FFF0 static class Symbol _s; // size: 0x4, address: 0x80A4FFF8 static class Symbol _s; // size: 0x4, address: 0x80A50000 static class Symbol _s; // size: 0x4, address: 0x80A50008 static class Symbol _s; // size: 0x4, address: 0x80A50010 static class Symbol _s; // size: 0x4, address: 0x80A50018 static class Symbol _s; // size: 0x4, address: 0x80A50020 static class Symbol _s; // size: 0x4, address: 0x80A50028 static class Symbol _s; // size: 0x4, address: 0x80A50030 static class Symbol _s; // size: 0x4, address: 0x80A50038 static class Symbol _s; // size: 0x4, address: 0x80A50040 static class Symbol _s; // size: 0x4, address: 0x80A50048 static class Symbol _s; // size: 0x4, address: 0x80A50050 static class Symbol _s; // size: 0x4, address: 0x80A50058 static class Symbol _s; // size: 0x4, address: 0x80A50060 static class Symbol _s; // size: 0x4, address: 0x80A50068 static class Symbol _s; // size: 0x4, address: 0x80A50070 static class Symbol _s; // size: 0x4, address: 0x80A50078 // Range: 0x802AEBF4 -> 0x802B155C unsigned char VocalTrackDir::SyncProperty(class VocalTrackDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x802B155C -> 0x802B1C14 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class RndTransformable * obj; // r31 class RndTransformable * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A50080 static class Symbol _s; // size: 0x4, address: 0x80A50088 static class Symbol _s; // size: 0x4, address: 0x80A50090 static class Symbol _s; // size: 0x4, address: 0x80A50098 static class Symbol _s; // size: 0x4, address: 0x80A500A0 static class Symbol _s; // size: 0x4, address: 0x80A500A8 static class Symbol _s; // size: 0x4, address: 0x80A500B0 static class Symbol _s; // size: 0x4, address: 0x80A500B8 static class Symbol _s; // size: 0x4, address: 0x80A500C0 static class Symbol _s; // size: 0x4, address: 0x80A500C8 static class Symbol _s; // size: 0x4, address: 0x80A500D0 static class Symbol _s; // size: 0x4, address: 0x80A500D8 static class Symbol _s; // size: 0x4, address: 0x80A500E0 static class Symbol _s; // size: 0x4, address: 0x80A500E8 static class Symbol _s; // size: 0x4, address: 0x80A500F0 static class Symbol _s; // size: 0x4, address: 0x80A500F8 static class Symbol _s; // size: 0x4, address: 0x80A50100 static class Symbol _s; // size: 0x4, address: 0x80A50108 static class Symbol _s; // size: 0x4, address: 0x80A50110 static class Symbol _s; // size: 0x4, address: 0x80A50118 static class Symbol _s; // size: 0x4, address: 0x80A50120 static class Symbol _s; // size: 0x4, address: 0x80A50128 static class Symbol _s; // size: 0x4, address: 0x80A50130 static class Symbol _s; // size: 0x4, address: 0x80A50138 static class Symbol _s; // size: 0x4, address: 0x80A50140 static class Symbol _s; // size: 0x4, address: 0x80A50148 static class Symbol _s; // size: 0x4, address: 0x80A50150 static class Symbol _s; // size: 0x4, address: 0x80A50158 static class Symbol _s; // size: 0x4, address: 0x80A50160 static class Symbol _s; // size: 0x4, address: 0x80A50168 static class Symbol _s; // size: 0x4, address: 0x80A50170 static class Symbol _s; // size: 0x4, address: 0x80A50178 static class Symbol _s; // size: 0x4, address: 0x80A50180 static class Symbol _s; // size: 0x4, address: 0x80A50188 static class Symbol _s; // size: 0x4, address: 0x80A50190 static class Symbol _s; // size: 0x4, address: 0x80A50198 static class Symbol _s; // size: 0x4, address: 0x80A501A0 static class Symbol _s; // size: 0x4, address: 0x80A501A8 static class Symbol _s; // size: 0x4, address: 0x80A501B0 static class Symbol _s; // size: 0x4, address: 0x80A501B8 static class Symbol _s; // size: 0x4, address: 0x80A501C0 static class Symbol _s; // size: 0x4, address: 0x80A501C8 static class Symbol _s; // size: 0x4, address: 0x80A501D0 static class Symbol _s; // size: 0x4, address: 0x80A501D8 static class Symbol _s; // size: 0x4, address: 0x80A501E0 static class Symbol _s; // size: 0x4, address: 0x80A501E8 static class Symbol _s; // size: 0x4, address: 0x80A501F0 static class Symbol _s; // size: 0x4, address: 0x80A501F8 static class Symbol _s; // size: 0x4, address: 0x80A50200 // Range: 0x802B1C14 -> 0x802B31F4 class DataNode VocalTrackDir::Handle(class VocalTrackDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x1C class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x802B31F4 -> 0x802B33A4 class DataNode VocalTrackDir::DataForEachConfigObj(class VocalTrackDir * const this /* r28 */, class DataArray * array /* r30 */) { // Local variables class DataNode * var; // r31 class DataNode val; // r1+0x30 class iterator it; // r1+0x18 int j; // r28 } struct { // total size: 0x2A4 } __vt__13VocalTrackDir; // size: 0x2A4, address: 0x808C2D10 struct { // total size: 0x18 } __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // size: 0x18, address: 0x808C3028 struct { // total size: 0x8 } __RTTI__41ObjPtrList<16RndTransformable,9ObjectDir>; // size: 0x8, address: 0x808C3078 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802B33A4 -> 0x802B3CAC */ // Range: 0x802B33A4 -> 0x802B3554 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; } // Range: 0x802B3554 -> 0x802B36FC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndLine; } // Range: 0x802B36FC -> 0x802B3AA0 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802B3AA0 -> 0x802B3CA4 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802B3CA4 -> 0x802B3CAC class Object * ObjPtrList::RefOwner() {} /* Compile unit: C:\rockband2\system\src\bandobj\VocalTrackDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802B3CAC -> 0x802B4968 */ // Range: 0x802B3CAC -> 0x802B3CF0 void VocalTrackDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x802B3CF0 -> 0x802B3E08 void VocalTrackDir::PreLoad(class VocalTrackDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } // Range: 0x802B3E08 -> 0x802B3E4C class Symbol VocalTrackDir::ClassName() { // References // -> class Symbol name; } // Range: 0x802B3E4C -> 0x802B47C8 void * VocalTrackDir::~VocalTrackDir(class VocalTrackDir * const this /* r29 */) { // References // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndLine,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x802B47C8 -> 0x802B47CC class RndDir * VocalTrackDir::ThisDir() {} // Range: 0x802B47CC -> 0x802B47D0 class RndDir * VocalTrackDir::ThisDir() {} // Range: 0x802B47D0 -> 0x802B47D4 class VocalTrackDir * VocalTrackDir::AsVocalTrackDir() {} // Range: 0x802B47D4 -> 0x802B4968 void VocalTrackDir::SetType(class VocalTrackDir * const this /* r29 */, class Symbol & VocalTrackDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802B4968 -> 0x802B4F30 */ // Range: 0x802B4968 -> 0x802B4AD0 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802B4AD0 -> 0x802B4DC8 unsigned char PropSync(class vector & v /* r30 */, class DataNode & n /* r31 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r29 */) { // Local variables float * it; // r28 float tmp; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802B4DC8 -> 0x802B4F30 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndLine; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\bandobj\BandTrack.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802B4F30 -> 0x802B4F38 */ // Range: 0x802B4F30 -> 0x802B4F38 class GemTrackDir * BandTrack::AsGemTrackDir() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802B4F38 -> 0x802B5218 */ // Range: 0x802B4F38 -> 0x802B4F90 float * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } /* Compile unit: C:\rockband2\system\src\bandobj\BandTrack.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802B5218 -> 0x802BA12C */ class Symbol name; // size: 0x4, address: 0x80A5020C // Range: 0x802B5218 -> 0x802B54C4 void * BandTrack::~BandTrack(class BandTrack * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14BandPowerMeter,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11StreakMeter,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtr<14TrackInterface,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; } // Range: 0x802B54C4 -> 0x802B57A0 void BandTrack::CopyTrack(class BandTrack * const this /* r30 */, const class BandTrack * rhs /* r31 */) {} // Range: 0x802B57A0 -> 0x802B5848 void BandTrack::Init(class BandTrack * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14TrackInterface; } static class Message resetMsg; // size: 0x8, address: 0x8097D450 static class Symbol no_saving; // size: 0x4, address: 0x80A50214 // Range: 0x802B5848 -> 0x802B5D58 void BandTrack::Reset(class BandTrack * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> static class Symbol no_saving; // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x802B5D58 -> 0x802B5D70 void BandTrack::SetMaxMultiplier() {} static class Message resetMsg; // size: 0x8, address: 0x8097D468 static class Message setupPlayer; // size: 0x8, address: 0x8097D480 // Range: 0x802B5D70 -> 0x802B6164 void BandTrack::SetupPlayerIntro(class BandTrack * const this /* r30 */) { // References // -> static class Message setupPlayer; // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x802B6164 -> 0x802B623C void BandTrack::SetupCrowdMeter(class BandTrack * const this /* r29 */) { // Local variables class BandCrowdMeter * bcm; // r0 } static class Message resetMsg; // size: 0x8, address: 0x8097D498 // Range: 0x802B623C -> 0x802B64D4 void BandTrack::Retract(class BandTrack * const this /* r31 */, unsigned char immediately /* r29 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; } static class Message finale_start; // size: 0x8, address: 0x8097D4B0 // Range: 0x802B64D4 -> 0x802B6700 void BandTrack::StartFinale(class BandTrack * const this /* r31 */) { // References // -> static class Message finale_start; // -> struct [anonymous] __vt__7Message; } static float kMinFinaleHelpTime; // size: 0x4, address: 0x80A5021C static class Message msg; // size: 0x8, address: 0x8097D4C8 // Range: 0x802B6700 -> 0x802B699C void BandTrack::ClearFinaleHelp(class BandTrack * const this /* r31 */) { // Local variables float elapsed; // f31 float delay; // f30 // References // -> class TaskMgr TheTaskMgr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static float kMinFinaleHelpTime; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } static class Message resetMsg; // size: 0x8, address: 0x8097D4E0 // Range: 0x802B699C -> 0x802B6B00 void BandTrack::GameWon(class BandTrack * const this /* r31 */) { // References // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; } static class Message resetMsg; // size: 0x8, address: 0x8097D4F8 // Range: 0x802B6B00 -> 0x802B6D00 void BandTrack::GameOver(class BandTrack * const this /* r31 */) { // References // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x802B6D00 -> 0x802B6DE0 void BandTrack::SpotlightFail() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802B6DE0 -> 0x802B6E70 void BandTrack::SpotlightPhraseSuccess(class BandTrack * const this /* r30 */) {} // Range: 0x802B6E70 -> 0x802B6EEC void BandTrack::FillReset() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802B6EEC -> 0x802B6F54 void BandTrack::SetStreak(class BandTrack * const this /* r30 */, int mult /* r31 */) {} // Range: 0x802B6F54 -> 0x802B6FB4 void BandTrack::BreakStreak(class BandTrack * const this /* r31 */) {} static class Symbol update_crowd_meter; // size: 0x4, address: 0x80A50228 static class Object * gameMode; // size: 0x4, address: 0x80A5022C // Range: 0x802B6FB4 -> 0x802B70A4 class BandCrowdMeter * BandTrack::GetCrowdMeter(class BandTrack * const this /* r30 */) { // References // -> static class Object * gameMode; // -> static class Symbol update_crowd_meter; } // Range: 0x802B70A4 -> 0x802B725C void BandTrack::SetCrowdRating(class BandTrack * const this /* r27 */, float val /* f31 */, enum CrowdMeterState state /* r28 */) { // Local variables class BandCrowdMeter * bcm; // r29 enum TrackInstrument inst; // r30 unsigned char warning; // r28 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802B725C -> 0x802B7354 void BandTrack::EnablePlayer(class BandTrack * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } static class Message resetMsg; // size: 0x8, address: 0x8097D510 static class Message disconnected; // size: 0x8, address: 0x8097D528 static class Message failed; // size: 0x8, address: 0x8097D540 // Range: 0x802B7354 -> 0x802B7A5C void BandTrack::DisablePlayer(class BandTrack * const this /* r27 */, int strikes /* r28 */) { // Local variables float delay; // f0 // References // -> static class Message failed; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class TaskMgr TheTaskMgr; // -> static class Message disconnected; // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; } static class Symbol vocals; // size: 0x4, address: 0x80A50238 static class Message intro; // size: 0x8, address: 0x8097D558 static class Message discon; // size: 0x8, address: 0x8097D570 static class Message failed; // size: 0x8, address: 0x8097D588 // Range: 0x802B7A5C -> 0x802B7EDC void BandTrack::FailedTask(class BandTrack * const this /* r27 */, unsigned char disconnected /* r28 */, int strikes /* r29 */) { // References // -> static class Message failed; // -> static class Message discon; // -> static class Message intro; // -> struct [anonymous] __vt__7Message; // -> static class Symbol vocals; } // Range: 0x802B7EDC -> 0x802B824C void BandTrack::SavePlayer(class BandTrack * const this /* r30 */) { // References // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } static class Message resetMsg; // size: 0x8, address: 0x8097D5A0 // Range: 0x802B824C -> 0x802B8490 void BandTrack::EnterCoda(class BandTrack * const this /* r31 */) { // References // -> static class Message resetMsg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802B8490 -> 0x802B84F0 void BandTrack::CodaFail(class BandTrack * const this /* r30 */, unsigned char guilty /* r31 */) {} static class Symbol coop; // size: 0x4, address: 0x80A50244 // Range: 0x802B84F0 -> 0x802B86B8 void BandTrack::CodaSuccess(class BandTrack * const this /* r30 */) { // Local variables class TrackPanelDirBase * panelDir; // r31 class EndingBonus * eb; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class LoadMgr TheLoadMgr; // -> static class Symbol coop; } static class Message msg; // size: 0x8, address: 0x8097D5B8 // Range: 0x802B86B8 -> 0x802B8A94 void BandTrack::PopupHelp(class BandTrack * const this /* r29 */, class Symbol & key /* r30 */, unsigned char state /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x802B8A94 -> 0x802B8BD0 void BandTrack::ResetPopup(class BandTrack * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802B8BD0 -> 0x802B8BF4 void BandTrack::PlayerDisabled() {} // Range: 0x802B8BF4 -> 0x802B8C18 void BandTrack::PlayerSaved() {} // Range: 0x802B8C18 -> 0x802B8C74 void BandTrack::SuperStreak(class BandTrack * const this /* r30 */, unsigned char val /* r31 */) {} // Range: 0x802B8C74 -> 0x802B8C90 void BandTrack::SetMultiplier() {} // Range: 0x802B8C90 -> 0x802B8CA4 void BandTrack::CombineStreakMultipliers() {} static class Message fade; // size: 0x8, address: 0x8097D5D0 static class Message hide; // size: 0x8, address: 0x8097D5E8 static class Message intro; // size: 0x8, address: 0x8097D600 // Range: 0x802B8CA4 -> 0x802B9190 void BandTrack::PlayIntro(class BandTrack * const this /* r29 */) { // Local variables class Object * gamemode; // r28 // References // -> static class Message intro; // -> class TaskMgr TheTaskMgr; // -> static class Message hide; // -> static class Message fade; // -> struct [anonymous] __vt__7Message; } // Range: 0x802B9190 -> 0x802B9268 void BandTrack::Deploy(class BandTrack * const this /* r30 */) { // Local variables class BandCrowdMeter * bcm; // r31 } // Range: 0x802B9268 -> 0x802B9340 void BandTrack::StopDeploy(class BandTrack * const this /* r30 */) { // Local variables class BandCrowdMeter * bcm; // r31 } // Range: 0x802B9340 -> 0x802B935C void BandTrack::SetNoOverdrive() {} // Range: 0x802B935C -> 0x802B93B0 class TrackPanelDirBase * BandTrack::MyTrackPanelDir() { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__17TrackPanelDirBase; } // Range: 0x802B93B0 -> 0x802B9404 unsigned char BandTrack::HasNetPlayer() {} // Range: 0x802B9404 -> 0x802B9458 unsigned char BandTrack::HasLocalPlayer() {} // Range: 0x802B9458 -> 0x802B947C int BandTrack::GetPlayerDifficulty() {} // Range: 0x802B947C -> 0x802B948C char * BandTrack::ThisName() {} // Range: 0x802B948C -> 0x802B94DC char * BandTrack::GetUserName() {} // Range: 0x802B94DC -> 0x802B952C char * BandTrack::GetTrackIcon() {} // Range: 0x802B952C -> 0x802B9954 void BandTrack::SoloStart(class BandTrack * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__12RndTransAnim; // -> struct [anonymous] __RTTI__7RndText; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802B9954 -> 0x802B9C08 void BandTrack::SoloEnd(class BandTrack * const this /* r25 */, int points /* r26 */, class Symbol & result /* r27 */) { // References // -> struct [anonymous] __RTTI__12EventTrigger; // -> struct [anonymous] __RTTI__7RndText; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9BandLabel; } // Range: 0x802B9C08 -> 0x802B9EA0 void BandTrack::SoloHit(class BandTrack * const this /* r26 */, int percent /* r27 */) { // References // -> struct [anonymous] __RTTI__12RndTransAnim; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x802B9EA0 -> 0x802B9FA8 void BandTrack::SoloHide() { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPropAnim; } // Range: 0x802B9FA8 -> 0x802BA038 void BandTrack::RefreshStreakMeter(class BandTrack * const this /* r28 */, int streak /* r29 */, int multiplier /* r30 */, int notesPerStreak /* r31 */) {} static class Symbol ready; // size: 0x4, address: 0x80A50250 static class Symbol none; // size: 0x4, address: 0x80A50258 // Range: 0x802BA038 -> 0x802BA12C void BandTrack::RefreshOverdrive(class BandTrack * const this /* r30 */, float energy /* f31 */, unsigned char canDeploy /* r31 */) { // References // -> static class Symbol none; // -> static class Symbol ready; } struct { // total size: 0x60 } __vt__9BandTrack; // size: 0x60, address: 0x808C40D8 struct { // total size: 0x18 } __vt__35ObjPtr<14TrackInterface,9ObjectDir>; // size: 0x18, address: 0x808C4150 struct { // total size: 0x8 } __RTTI__35ObjPtr<14TrackInterface,9ObjectDir>; // size: 0x8, address: 0x808C4198 struct { // total size: 0x18 } __vt__32ObjPtr<11StreakMeter,9ObjectDir>; // size: 0x18, address: 0x808C41A0 struct { // total size: 0x8 } __RTTI__32ObjPtr<11StreakMeter,9ObjectDir>; // size: 0x8, address: 0x808C41E8 struct { // total size: 0x18 } __vt__35ObjPtr<14BandPowerMeter,9ObjectDir>; // size: 0x18, address: 0x808C41F0 struct { // total size: 0x8 } __RTTI__35ObjPtr<14BandPowerMeter,9ObjectDir>; // size: 0x8, address: 0x808C4238 /* Compile unit: C:\rockband2\system\src\rndobj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BA12C -> 0x802BA5C8 */ // Range: 0x802BA12C -> 0x802BA3CC void * BandTrack::BandTrack(class BandTrack * const this /* r30 */, class Object * obj /* r31 */) { // References // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtr<14TrackInterface,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11StreakMeter,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtr<14BandPowerMeter,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__9BandTrack; } // Range: 0x802BA3CC -> 0x802BA584 void BandTrack::LoadTrack(class BandTrack * const this /* r27 */, class BinStream & d /* r28 */, unsigned char isProxy /* r29 */, unsigned char loadingProxy /* r30 */, unsigned char isVox /* r31 */) { // Local variables int rev; // r1+0x10 class Symbol tmp; // r1+0xC // References // -> const char * gNullStr; // -> class Debug TheDebug; } // Range: 0x802BA584 -> 0x802BA5C8 class Symbol RndDir::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BA5C8 -> 0x802BAC50 */ // Range: 0x802BA5C8 -> 0x802BA63C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14BandPowerMeter,9ObjectDir>; } // Range: 0x802BA63C -> 0x802BA6B0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11StreakMeter,9ObjectDir>; } // Range: 0x802BA6B0 -> 0x802BA720 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14TrackInterface,9ObjectDir>; } // Range: 0x802BA720 -> 0x802BA8BC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11StreakMeter; } // Range: 0x802BA8BC -> 0x802BAA58 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14BandPowerMeter; } // Range: 0x802BAA58 -> 0x802BAA60 class Object * ObjPtr::RefOwner() {} // Range: 0x802BAA60 -> 0x802BAAF8 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14TrackInterface; } // Range: 0x802BAAF8 -> 0x802BAB00 class Object * ObjPtr::RefOwner() {} // Range: 0x802BAB00 -> 0x802BABA4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11StreakMeter; } // Range: 0x802BABA4 -> 0x802BABAC class Object * ObjPtr::RefOwner() {} // Range: 0x802BABAC -> 0x802BAC50 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14BandPowerMeter; } /* Compile unit: C:\rockband2\system\src\bandobj\BandTrack.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BAC50 -> 0x802BAC58 */ // Range: 0x802BAC50 -> 0x802BAC54 void BandTrack::TrackReset() {} // Range: 0x802BAC54 -> 0x802BAC58 void BandTrack::SetPlayerLocal() {} /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDirBase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BAC58 -> 0x802BAC68 */ // Range: 0x802BAC58 -> 0x802BAC60 class BandCrowdMeter * TrackPanelDirBase::GetCrowdMeter() {} // Range: 0x802BAC60 -> 0x802BAC64 void TrackPanelDirBase::EnablePlayer() {} // Range: 0x802BAC64 -> 0x802BAC68 void TrackPanelDirBase::DisablePlayer() {} /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDirBase.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BAC68 -> 0x802BDE7C */ class DataArray * types; // size: 0x4, address: 0x80A50260 class Symbol name; // size: 0x4, address: 0x80A50268 // Range: 0x802BAC68 -> 0x802BAE74 void * TrackPanelDirBase::TrackPanelDirBase(class TrackPanelDirBase * const this /* r31 */) { // References // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__17TrackPanelDirBase; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802BAE74 -> 0x802BAF2C void TrackPanelDirBase::PostLoad(class TrackPanelDirBase * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class list sRevs; } // Range: 0x802BAF2C -> 0x802BB2B8 void TrackPanelDirBase::Copy(class TrackPanelDirBase * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class TrackPanelDirBase * p; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17TrackPanelDirBase; } static class DebugWarner _dw; // size: 0x100, address: 0x8097D608 static class Message apply; // size: 0x8, address: 0x8097D718 // Range: 0x802BB2B8 -> 0x802BB454 void TrackPanelDirBase::SetConfiguration(class TrackPanelDirBase * const this /* r30 */, class Object * config /* r31 */) { // References // -> static class Message apply; // -> struct [anonymous] __vt__7Message; } // Range: 0x802BB454 -> 0x802BB4F4 void TrackPanelDirBase::Enter(class TrackPanelDirBase * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class LoadMgr TheLoadMgr; } static class Symbol mod_doublespeed; // size: 0x4, address: 0x80A50270 // Range: 0x802BB4F4 -> 0x802BB724 void TrackPanelDirBase::UpdateTrackSpeed(class TrackPanelDirBase * const this /* r29 */) { // Local variables float avgDiff; // f31 int numLocalTracks; // [invalid] int ii; // r31 int numRelevantTracks; // r30 int ii; // r31 float viewTime; // f31 int ii; // r28 // References // -> static class Symbol mod_doublespeed; } // Range: 0x802BB724 -> 0x802BB8A4 void TrackPanelDirBase::SetShowing(class TrackPanelDirBase * const this /* r28 */, unsigned char visible /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x802BB8A4 -> 0x802BB978 unsigned char TrackPanelDirBase::Showing(class TrackPanelDirBase * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x802BB978 -> 0x802BB9D4 void TrackPanelDirBase::ToggleSurface() { // Local variables int ii; // r6 } // Range: 0x802BB9D4 -> 0x802BBAF4 void TrackPanelDirBase::ToggleNowbar(class TrackPanelDirBase * const this /* r30 */) { // Local variables int ii; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x802BBAF4 -> 0x802BBB10 void TrackPanelDirBase::SetPlayerLocal(class TrackPanelDirBase * const this /* r5 */) {} static class DebugWarner _dw; // size: 0x100, address: 0x8097D720 // Range: 0x802BBB10 -> 0x802BBB8C void TrackPanelDirBase::CodaSuccess() { // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; } static class DebugWarner _dw; // size: 0x100, address: 0x8097D820 // Range: 0x802BBB8C -> 0x802BBC08 void TrackPanelDirBase::H2HCodaSuccess() { // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; } static class DebugWarner _dw; // size: 0x100, address: 0x8097D920 // Range: 0x802BBC08 -> 0x802BBC88 class EndingBonus * TrackPanelDirBase::GetIndivEndingBonus() { // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; } static class Message set_score_diff; // size: 0x8, address: 0x8097DA30 static class Message set_winning_glow; // size: 0x8, address: 0x8097DA48 // Range: 0x802BBC88 -> 0x802BC1FC void TrackPanelDirBase::SetScoreDiff(class TrackPanelDirBase * const this /* r26 */, int val /* r27 */, int * trendIn /* r28 */) { // Local variables int lastWinner; // r0 // References // -> class TaskMgr TheTaskMgr; // -> static class Message set_winning_glow; // -> static class Message set_score_diff; // -> struct [anonymous] __vt__7Message; } static class Message active; // size: 0x8, address: 0x8097DA60 // Range: 0x802BC1FC -> 0x802BC450 unsigned char TrackPanelDirBase::ModifierActive(class Symbol & mod /* r30 */) { // Local variables class Object * modifier_mgr; // r31 // References // -> static class Message active; // -> struct [anonymous] __vt__7Message; } static class Symbol mod_nohud; // size: 0x4, address: 0x80A50278 // Range: 0x802BC450 -> 0x802BC56C void TrackPanelDirBase::HandleNoHudModifier(class TrackPanelDirBase * const this /* r29 */) { // Local variables class Object * game_mode; // r30 // References // -> static class Symbol mod_nohud; } static class Symbol _s; // size: 0x4, address: 0x80A50280 static class Symbol _s; // size: 0x4, address: 0x80A50288 static class Symbol _s; // size: 0x4, address: 0x80A50290 static class Symbol _s; // size: 0x4, address: 0x80A50298 static class Symbol _s; // size: 0x4, address: 0x80A502A0 static class Symbol _s; // size: 0x4, address: 0x80A502A8 static class Symbol _s; // size: 0x4, address: 0x80A502B0 static class Symbol _s; // size: 0x4, address: 0x80A502B8 static class Symbol _s; // size: 0x4, address: 0x80A502C0 static class Symbol _s; // size: 0x4, address: 0x80A502C8 static class Symbol _s; // size: 0x4, address: 0x80A502D0 static class Symbol _s; // size: 0x4, address: 0x80A502D8 static class Symbol _s; // size: 0x4, address: 0x80A502E0 static class Symbol _s; // size: 0x4, address: 0x80A502E8 static class Symbol _s; // size: 0x4, address: 0x80A502F0 static class Symbol _s; // size: 0x4, address: 0x80A502F8 static class Symbol _s; // size: 0x4, address: 0x80A50300 // Range: 0x802BC56C -> 0x802BD8D4 class DataNode TrackPanelDirBase::Handle(class TrackPanelDirBase * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x64 class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50308 static class Symbol _s; // size: 0x4, address: 0x80A50310 static class Symbol _s; // size: 0x4, address: 0x80A50318 static class Symbol _s; // size: 0x4, address: 0x80A50320 static class Symbol _s; // size: 0x4, address: 0x80A50328 // Range: 0x802BD8D4 -> 0x802BDCCC unsigned char TrackPanelDirBase::SyncProperty(class TrackPanelDirBase * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x802BDCCC -> 0x802BDE7C class DataNode TrackPanelDirBase::DataForEachConfigObj(class TrackPanelDirBase * const this /* r28 */, class DataArray * array /* r30 */) { // Local variables class DataNode * var; // r31 class DataNode val; // r1+0x30 class iterator it; // r1+0x18 int j; // r28 } struct { // total size: 0x2A0 } __vt__17TrackPanelDirBase; // size: 0x2A0, address: 0x808C4D08 /* Compile unit: C:\rockband2\system\src\ui\PanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BE3C8 -> 0x802BE6FC */ // Range: 0x802BE3C8 -> 0x802BE40C void TrackPanelDirBase::Save() { // References // -> class Debug TheDebug; } // Range: 0x802BE40C -> 0x802BE524 void TrackPanelDirBase::PreLoad(class TrackPanelDirBase * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } // Range: 0x802BE524 -> 0x802BE568 class Symbol PanelDir::ClassName() { // References // -> class Symbol name; } // Range: 0x802BE568 -> 0x802BE6FC void PanelDir::SetType(class PanelDir * const this /* r29 */, class Symbol & PanelDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDirBase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BE6FC -> 0x802BE710 */ // Range: 0x802BE6FC -> 0x802BE700 void TrackPanelDirBase::PlayIntro() {} // Range: 0x802BE700 -> 0x802BE704 void TrackPanelDirBase::GameOver() {} // Range: 0x802BE704 -> 0x802BE708 void TrackPanelDirBase::SetApplauseMeterScale() {} // Range: 0x802BE708 -> 0x802BE70C void TrackPanelDirBase::StartFinale() {} // Range: 0x802BE70C -> 0x802BE710 void TrackPanelDirBase::ResetAll() {} /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802BE710 -> 0x802C22AC */ class DataArray * types; // size: 0x4, address: 0x80A50330 // Range: 0x802BE710 -> 0x802BE9F0 void * TrackPanelDir::TrackPanelDir(class TrackPanelDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10Scoreboard,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11EndingBonus,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtr<14BandCrowdMeter,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13VocalTrackDir,9ObjectDir>; // -> struct [anonymous] __vt__13TrackPanelDir; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802BE9F0 -> 0x802BEA9C void TrackPanelDir::PostLoad(class TrackPanelDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class list sRevs; } // Range: 0x802BEA9C -> 0x802BEB1C void TrackPanelDir::Copy(class TrackPanelDir * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class TrackPanelDir * p; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13TrackPanelDir; } static unsigned char cacheDefaultStreakOffsets; // size: 0x1, address: 0x80A46C00 static float defDrumStreakOffset; // size: 0x4, address: 0x80A50338 static float defGuitarStreakOffset; // size: 0x4, address: 0x80A5033C // Range: 0x802BEB1C -> 0x802BF4EC void TrackPanelDir::ConfigureTracks(class TrackPanelDir * const this /* r28 */) { // Local variables class Object * gamemode; // r29 class vector trackOrder; // r1+0x5C int ii; // r27 class GemTrackDir * dir; // r5 int ii; // r26 class GemTrackDir * trackDir; // r0 class RndCam * cam; // r26 const char * aspect; // r26 const char * configName; // r0 float HUDToTopFrame; // f31 // References // -> class Rnd & TheRnd; // -> static float defGuitarStreakOffset; // -> static float defDrumStreakOffset; // -> static unsigned char cacheDefaultStreakOffsets; // -> struct [anonymous] __RTTI__9BandTrack; // -> struct [anonymous] __RTTI__11GemTrackDir; } static class Symbol output_texture; // size: 0x4, address: 0x80A50344 // Range: 0x802BF4EC -> 0x802BF71C void TrackPanelDir::SetBotbBandIcon(class ObjectDir * target /* r28 */, class String & source /* r27 */) { // Local variables class FilePath target_path; // r1+0x14 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol output_texture; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Debug TheDebug; } static class Symbol stars; // size: 0x4, address: 0x80A5034C static class Symbol streak; // size: 0x4, address: 0x80A50354 // Range: 0x802BF71C -> 0x802BFBAC void TrackPanelDir::SetupApplauseMeter(class TrackPanelDir * const this /* r27 */, int endScore /* r28 */, const char * thisBandName /* r21 */, const char * otherBandName /* r22 */, class String & thisBandIcon /* r23 */, class String & rivalBandIcon /* r24 */, unsigned char show_applause_meter /* r29 */, class Symbol & metric /* r30 */) { // References // -> static class Symbol streak; // -> static class Symbol stars; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9BandLabel; } static class Symbol max_diff; // size: 0x4, address: 0x80A5035C static class Symbol tie_window; // size: 0x4, address: 0x80A50364 // Range: 0x802BFBAC -> 0x802BFCEC void TrackPanelDir::SetApplauseMeterScale(class TrackPanelDir * const this /* r31 */, int scale /* r30 */) { // References // -> static class Symbol tie_window; // -> static class Symbol max_diff; } // Range: 0x802BFCEC -> 0x802BFE88 void TrackPanelDir::FadeBotbBandNames(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } static class Object * gameMode; // size: 0x4, address: 0x80A50368 // Range: 0x802BFE88 -> 0x802BFFDC void TrackPanelDir::DisablePlayer(class TrackPanelDir * const this /* r28 */, class Symbol & instrument /* r29 */, unsigned char disconnectedAtStart /* r31 */) { // Local variables enum TrackInstrument ti; // r30 // References // -> static class Object * gameMode; } static class Object * gameMode; // size: 0x4, address: 0x80A50370 // Range: 0x802BFFDC -> 0x802C00B8 void TrackPanelDir::EnablePlayer(class TrackPanelDir * const this /* r30 */) { // Local variables enum TrackInstrument ti; // r31 // References // -> static class Object * gameMode; } // Range: 0x802C00B8 -> 0x802C0170 class BandTrack * TrackPanelDir::GetTrack() { // References // -> class Debug TheDebug; } // Range: 0x802C0170 -> 0x802C01C0 void TrackPanelDir::Enter(class TrackPanelDir * const this /* r31 */) {} static class Message reset; // size: 0x8, address: 0x8097DA78 // Range: 0x802C01C0 -> 0x802C08A8 void TrackPanelDir::Reset(class TrackPanelDir * const this /* r29 */) { // Local variables unsigned char showApplauseMeter; // r0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class LoadMgr TheLoadMgr; // -> static class Message reset; // -> struct [anonymous] __vt__7Message; } // Range: 0x802C08A8 -> 0x802C0A1C void TrackPanelDir::ResetAll(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C0A1C -> 0x802C0A34 void TrackPanelDir::ResetPlayers() {} // Range: 0x802C0A34 -> 0x802C0B98 void TrackPanelDir::PlayIntro(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } static class Symbol last_multiplier; // size: 0x4, address: 0x80A50378 static class Message set_multiplier; // size: 0x8, address: 0x8097DA90 // Range: 0x802C0B98 -> 0x802C0EB4 void TrackPanelDir::SetMultiplier(class TrackPanelDir * const this /* r30 */, int val /* r31 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Message set_multiplier; // -> struct [anonymous] __vt__7Message; // -> static class Symbol last_multiplier; } // Range: 0x802C0EB4 -> 0x802C0F3C void TrackPanelDir::GameOver(class TrackPanelDir * const this /* r31 */) {} // Range: 0x802C0F3C -> 0x802C1098 void TrackPanelDir::GameWon(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C1098 -> 0x802C11F0 void TrackPanelDir::StartFinale(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C11F0 -> 0x802C1398 void TrackPanelDir::GameLost(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C1398 -> 0x802C13A0 void TrackPanelDir::SetCrowdRating() {} // Range: 0x802C13A0 -> 0x802C1564 void TrackPanelDir::Coda(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class LoadMgr TheLoadMgr; } // Range: 0x802C1564 -> 0x802C1594 void TrackPanelDir::CodaEnd() {} // Range: 0x802C1594 -> 0x802C15C4 void TrackPanelDir::SetCodaScore() {} // Range: 0x802C15C4 -> 0x802C16A8 void TrackPanelDir::CodaSuccess(class TrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C16A8 -> 0x802C16DC void TrackPanelDir::SoloEnd() {} // Range: 0x802C16DC -> 0x802C16E4 void TrackPanelDir::UnisonStart() {} // Range: 0x802C16E4 -> 0x802C16EC void TrackPanelDir::UnisonEnd() {} // Range: 0x802C16EC -> 0x802C16F4 void TrackPanelDir::UnisonSucceed() {} static class Symbol _s; // size: 0x4, address: 0x80A50380 static class Symbol _s; // size: 0x4, address: 0x80A50388 static class Symbol _s; // size: 0x4, address: 0x80A50390 static class Symbol _s; // size: 0x4, address: 0x80A50398 // Range: 0x802C16F4 -> 0x802C1D58 class DataNode TrackPanelDir::Handle(class TrackPanelDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A503A0 static class Symbol _s; // size: 0x4, address: 0x80A503A8 static class Symbol _s; // size: 0x4, address: 0x80A503B0 static class Symbol _s; // size: 0x4, address: 0x80A503B8 static class Symbol _s; // size: 0x4, address: 0x80A503C0 // Range: 0x802C1D58 -> 0x802C22AC unsigned char TrackPanelDir::SyncProperty(class TrackPanelDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x2A0 } __vt__13TrackPanelDir; // size: 0x2A0, address: 0x808C5C88 struct { // total size: 0x8 } __RTTI__13TrackPanelDir; // size: 0x8, address: 0x808C5FA0 struct { // total size: 0x18 } __vt__31ObjPtr<10Scoreboard,9ObjectDir>; // size: 0x18, address: 0x808C5FA8 struct { // total size: 0x8 } __RTTI__31ObjPtr<10Scoreboard,9ObjectDir>; // size: 0x8, address: 0x808C5FF0 struct { // total size: 0x18 } __vt__32ObjPtr<11EndingBonus,9ObjectDir>; // size: 0x18, address: 0x808C5FF8 struct { // total size: 0x8 } __RTTI__32ObjPtr<11EndingBonus,9ObjectDir>; // size: 0x8, address: 0x808C6040 struct { // total size: 0x18 } __vt__35ObjPtr<14BandCrowdMeter,9ObjectDir>; // size: 0x18, address: 0x808C6048 struct { // total size: 0x8 } __RTTI__35ObjPtr<14BandCrowdMeter,9ObjectDir>; // size: 0x8, address: 0x808C6090 struct { // total size: 0x8 } __RTTI__P32ObjPtr<11GemTrackDir,9ObjectDir>; // size: 0x8, address: 0x808C6BD0 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C22AC -> 0x802C29D0 */ // Range: 0x802C22AC -> 0x802C2300 void * ObjPtr::ObjPtr(class ObjPtr * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; } // Range: 0x802C2300 -> 0x802C2374 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14BandCrowdMeter,9ObjectDir>; } // Range: 0x802C2374 -> 0x802C23E8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11EndingBonus,9ObjectDir>; } // Range: 0x802C23E8 -> 0x802C245C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10Scoreboard,9ObjectDir>; } // Range: 0x802C245C -> 0x802C2464 class BandCrowdMeter * ObjPtr::__opP14BandCrowdMeter() {} // Range: 0x802C2464 -> 0x802C24D0 void ObjPtr::__as(class ObjPtr * const this /* r30 */, class RndDir * obj /* r31 */) {} // Range: 0x802C24D0 -> 0x802C253C void ObjPtr::__as(class ObjPtr * const this /* r30 */, class BandCrowdMeter * obj /* r31 */) {} // Range: 0x802C253C -> 0x802C2544 class GemTrackDir * ObjPtr::__opP11GemTrackDir() {} // Range: 0x802C2544 -> 0x802C254C class VocalTrackDir * ObjPtr::__opP13VocalTrackDir() {} // Range: 0x802C254C -> 0x802C25B8 void ObjPtr::__as(class ObjPtr * const this /* r30 */, class VocalTrackDir * obj /* r31 */) {} // Range: 0x802C25B8 -> 0x802C27B4 void ObjVector::push_back(class ObjVector * const this /* r30 */, const class ObjPtr & x /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; } // Range: 0x802C27B4 -> 0x802C27BC class GemTrackDir * ObjPtr::__rf() {} // Range: 0x802C27BC -> 0x802C27C4 class GemTrackDir * ObjPtr::Ptr() {} // Range: 0x802C27C4 -> 0x802C27CC class BandCrowdMeter * ObjPtr::__rf() {} // Range: 0x802C27CC -> 0x802C27D4 class Object * ObjPtr::RefOwner() {} // Range: 0x802C27D4 -> 0x802C2878 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10Scoreboard; } // Range: 0x802C2878 -> 0x802C2880 class Object * ObjPtr::RefOwner() {} // Range: 0x802C2880 -> 0x802C2924 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11EndingBonus; } // Range: 0x802C2924 -> 0x802C292C class Object * ObjPtr::RefOwner() {} // Range: 0x802C292C -> 0x802C29D0 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14BandCrowdMeter; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C29D0 -> 0x802C2EB8 */ // Range: 0x802C29D0 -> 0x802C2A00 char * MakeString() { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\bandobj\TrackPanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C2EB8 -> 0x802C3C2C */ // Range: 0x802C2EB8 -> 0x802C2EFC void TrackPanelDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x802C2EFC -> 0x802C3014 void TrackPanelDir::PreLoad(class TrackPanelDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } // Range: 0x802C3014 -> 0x802C3058 class Symbol TrackPanelDir::ClassName() { // References // -> class Symbol name; } // Range: 0x802C3058 -> 0x802C3A88 void TrackPanelDir::SyncObjects(class TrackPanelDir * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__10Scoreboard; // -> struct [anonymous] __RTTI__13VocalTrackDir; // -> struct [anonymous] __RTTI__11GemTrackDir; // -> struct [anonymous] __RTTI__11EndingBonus; // -> struct [anonymous] __RTTI__14BandCrowdMeter; // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x802C3A88 -> 0x802C3C1C void TrackPanelDir::SetType(class TrackPanelDir * const this /* r29 */, class Symbol & TrackPanelDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x802C3C1C -> 0x802C3C24 class EndingBonus * TrackPanelDir::GetEndingBonus() {} // Range: 0x802C3C24 -> 0x802C3C2C class BandCrowdMeter * TrackPanelDir::GetCrowdMeter() {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C3C2C -> 0x802C4150 */ // Range: 0x802C3C2C -> 0x802C3D0C class VocalTrackDir * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class VocalTrackDir * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13VocalTrackDir; } // Range: 0x802C3D0C -> 0x802C3DEC class BandCrowdMeter * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class BandCrowdMeter * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14BandCrowdMeter; } // Range: 0x802C3DEC -> 0x802C3ECC class RndDir * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class RndDir * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x802C3ECC -> 0x802C3FAC class RndTransAnim * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class RndTransAnim * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x802C3FAC -> 0x802C4070 class Object * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class Object * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; } // Range: 0x802C4070 -> 0x802C4150 class RndCam * ObjectDir::Find(class ObjectDir * const this /* r28 */, const char * name /* r29 */, unsigned char fail /* r30 */) { // Local variables class RndCam * o; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; } /* Compile unit: C:\rockband2\system\src\rndobj\Rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C4150 -> 0x802C4158 */ // Range: 0x802C4150 -> 0x802C4158 enum Aspect Rnd::GetAspect() {} /* Compile unit: C:\rockband2\system\src\bandobj\BandCrowdMeter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C4158 -> 0x802C416C */ // Range: 0x802C4158 -> 0x802C416C class CrowdMeterIcon * BandCrowdMeter::GetIcon() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C416C -> 0x802C42E4 */ // Range: 0x802C416C -> 0x802C4270 void vector::clear(class vector * const this /* r31 */) {} // Range: 0x802C4270 -> 0x802C4284 void * vector::vector() {} // Range: 0x802C4284 -> 0x802C4294 enum TrackInstrument & vector::__vc() {} // Range: 0x802C4294 -> 0x802C42AC unsigned long vector::size() {} // Range: 0x802C42AC -> 0x802C42D4 unsigned long vector::size() {} // Range: 0x802C42D4 -> 0x802C42E4 class ObjPtr & vector::__vc() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C42E4 -> 0x802C4508 */ // Range: 0x802C42E4 -> 0x802C42E8 void * StlNodeAlloc::StlNodeAlloc() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C4508 -> 0x802C4B8C */ // Range: 0x802C4508 -> 0x802C4588 void vector::_M_fill_insert() {} // Range: 0x802C4588 -> 0x802C4830 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P32ObjPtr<11GemTrackDir,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802C4830 -> 0x802C4B8C void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\bandobj\H2HTrackPanelDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C4B8C -> 0x802C78E0 */ class DataArray * types; // size: 0x4, address: 0x80A503C8 // Range: 0x802C4B8C -> 0x802C4CCC void * H2HTrackPanelDir::H2HTrackPanelDir(class H2HTrackPanelDir * const this /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__16H2HTrackPanelDir; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802C4CCC -> 0x802C4D6C void H2HTrackPanelDir::PostLoad(class H2HTrackPanelDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class list sRevs; } // Range: 0x802C4D6C -> 0x802C4DD4 void H2HTrackPanelDir::Copy(class H2HTrackPanelDir * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class H2HTrackPanelDir * p; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16H2HTrackPanelDir; } static class Object * gamemode; // size: 0x4, address: 0x80A503D0 static class Symbol drum; // size: 0x4, address: 0x80A503D8 static class Symbol bass; // size: 0x4, address: 0x80A503E0 static class Symbol vocals; // size: 0x4, address: 0x80A503E8 // Range: 0x802C4DD4 -> 0x802C5B78 void H2HTrackPanelDir::ConfigureTracks(class H2HTrackPanelDir * const this /* r27 */) { // Local variables int ii; // r29 class GemTrackDir * trackDir; // r28 class ObjPtr tmp; // r1+0x3C int ii; // r23 class VocalTrackDir * trackDir; // r25 // References // -> class Rnd & TheRnd; // -> struct [anonymous] __RTTI__13VocalTrackDir; // -> static class Symbol vocals; // -> static class Symbol bass; // -> static class Symbol drum; // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __vt__32ObjPtr<11GemTrackDir,9ObjectDir>; // -> struct [anonymous] __RTTI__9BandTrack; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11GemTrackDir; // -> static class Object * gamemode; } static class Message reset; // size: 0x8, address: 0x8097DAA8 // Range: 0x802C5B78 -> 0x802C61FC void H2HTrackPanelDir::Reset(class H2HTrackPanelDir * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__7UILabel; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__11EndingBonus; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; // -> static class Message reset; // -> struct [anonymous] __vt__7Message; } // Range: 0x802C61FC -> 0x802C6358 void H2HTrackPanelDir::ResetAll(class H2HTrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C6358 -> 0x802C6474 void H2HTrackPanelDir::PlayIntro(class H2HTrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } static class Message arrow_hide; // size: 0x8, address: 0x8097DAC0 static class Message set_icon; // size: 0x8, address: 0x8097DAD8 static class Message set_glowing; // size: 0x8, address: 0x8097DAF0 // Range: 0x802C6474 -> 0x802C6924 void H2HTrackPanelDir::SetupH2HIcons(class BandTrack * track /* r27 */, class RndDir * icon /* r28 */, class UILabel * label /* r29 */) { // References // -> static class Message set_glowing; // -> static class Message set_icon; // -> static class Message arrow_hide; // -> struct [anonymous] __vt__7Message; } // Range: 0x802C6924 -> 0x802C6A5C void H2HTrackPanelDir::Coda(class H2HTrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C6A5C -> 0x802C6AA0 void H2HTrackPanelDir::CodaEnd(class H2HTrackPanelDir * const this /* r31 */) {} static class DebugWarner _dw; // size: 0x100, address: 0x8097DAF8 // Range: 0x802C6AA0 -> 0x802C6CB0 void H2HTrackPanelDir::H2HCodaSuccess(class H2HTrackPanelDir * const this /* r29 */) { // References // -> static class DebugWarner _dw; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } static class DebugWarner _dw; // size: 0x100, address: 0x8097DBF8 // Range: 0x802C6CB0 -> 0x802C6D6C class EndingBonus * H2HTrackPanelDir::GetIndivEndingBonus() { // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; } // Range: 0x802C6D6C -> 0x802C6E5C void H2HTrackPanelDir::SoloEnd(class H2HTrackPanelDir * const this /* r28 */, class BandTrack * track /* r29 */, int points /* r30 */, class Symbol & result /* r31 */) {} // Range: 0x802C6E5C -> 0x802C6F60 void H2HTrackPanelDir::GameOver(class H2HTrackPanelDir * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802C6F60 -> 0x802C7224 class DataNode H2HTrackPanelDir::Handle(class H2HTrackPanelDir * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A503F4 static class Symbol _s; // size: 0x4, address: 0x80A503FC static class Symbol _s; // size: 0x4, address: 0x80A50404 static class Symbol _s; // size: 0x4, address: 0x80A5040C static class Symbol _s; // size: 0x4, address: 0x80A50414 static class Symbol _s; // size: 0x4, address: 0x80A5041C // Range: 0x802C7224 -> 0x802C78E0 unsigned char H2HTrackPanelDir::SyncProperty(class H2HTrackPanelDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // Local variables unsigned char tmp; // r1+0x8 // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x2A0 } __vt__16H2HTrackPanelDir; // size: 0x2A0, address: 0x808C70D0 struct { // total size: 0x8 } __RTTI__16H2HTrackPanelDir; // size: 0x8, address: 0x808C73E8 /* Compile unit: C:\rockband2\system\src\bandobj\H2HTrackPanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C7C2C -> 0x802C833C */ // Range: 0x802C7C2C -> 0x802C7C70 void H2HTrackPanelDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x802C7C70 -> 0x802C7D88 void H2HTrackPanelDir::PreLoad(class H2HTrackPanelDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } // Range: 0x802C7D88 -> 0x802C7DCC class Symbol H2HTrackPanelDir::ClassName() { // References // -> class Symbol name; } // Range: 0x802C7DCC -> 0x802C81A0 void H2HTrackPanelDir::SyncObjects(class H2HTrackPanelDir * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__14CrowdMeterIcon; // -> struct [anonymous] __RTTI__11EndingBonus; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x802C81A0 -> 0x802C8334 void H2HTrackPanelDir::SetType(class H2HTrackPanelDir * const this /* r29 */, class Symbol & H2HTrackPanelDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x802C8334 -> 0x802C833C unsigned char H2HTrackPanelDir::IsH2HVocalGame() {} /* Compile unit: C:\rockband2\system\src\bandobj\CrowdMeterIcon.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C8554 -> 0x802C937C */ class DataArray * types; // size: 0x4, address: 0x80A50420 // Range: 0x802C8554 -> 0x802C8690 void * CrowdMeterIcon::CrowdMeterIcon(class CrowdMeterIcon * const this /* r31 */) { // References // -> struct [anonymous] __vt__14CrowdMeterIcon; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802C8690 -> 0x802C86F4 void CrowdMeterIcon::SetState() {} // Range: 0x802C86F4 -> 0x802C8724 void CrowdMeterIcon::SetGlowing() {} // Range: 0x802C8724 -> 0x802C872C void CrowdMeterIcon::SetIcon() {} // Range: 0x802C872C -> 0x802C87B0 void CrowdMeterIcon::ArrowShow(class CrowdMeterIcon * const this /* r31 */) {} // Range: 0x802C87B0 -> 0x802C87C4 void CrowdMeterIcon::Deploy() {} // Range: 0x802C87C4 -> 0x802C87D8 void CrowdMeterIcon::StopDeploy() {} // Range: 0x802C87D8 -> 0x802C87EC void CrowdMeterIcon::Reset() {} // Range: 0x802C87EC -> 0x802C886C unsigned char CrowdMeterIcon::SyncProperty(class CrowdMeterIcon * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A50428 static class Symbol _s; // size: 0x4, address: 0x80A50430 static class Symbol _s; // size: 0x4, address: 0x80A50438 static class Symbol _s; // size: 0x4, address: 0x80A50440 static class Symbol _s; // size: 0x4, address: 0x80A50448 static class Symbol _s; // size: 0x4, address: 0x80A50450 static class Symbol _s; // size: 0x4, address: 0x80A50458 static class Symbol _s; // size: 0x4, address: 0x80A50460 // Range: 0x802C886C -> 0x802C9270 class DataNode CrowdMeterIcon::Handle(class CrowdMeterIcon * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x802C9270 -> 0x802C92B4 void CrowdMeterIcon::Save() { // References // -> class Debug TheDebug; } // Range: 0x802C92B4 -> 0x802C9374 void CrowdMeterIcon::PreLoad(class CrowdMeterIcon * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; } // Range: 0x802C9374 -> 0x802C9378 void CrowdMeterIcon::PostLoad() {} // Range: 0x802C9378 -> 0x802C937C void CrowdMeterIcon::Copy() {} struct { // total size: 0x21C } __vt__14CrowdMeterIcon; // size: 0x21C, address: 0x808C8050 /* Compile unit: C:\rockband2\system\src\bandobj\CrowdMeterIcon.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802C9914 -> 0x802CA270 */ // Range: 0x802C9914 -> 0x802CA098 void CrowdMeterIcon::SyncObjects(class CrowdMeterIcon * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__9BandLabel; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802CA098 -> 0x802CA0DC class Symbol CrowdMeterIcon::ClassName() { // References // -> class Symbol name; } // Range: 0x802CA0DC -> 0x802CA270 void CrowdMeterIcon::SetType(class CrowdMeterIcon * const this /* r29 */, class Symbol & CrowdMeterIcon /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\bandobj\Scoreboard.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802CA270 -> 0x802CD064 */ class DataArray * types; // size: 0x4, address: 0x80A50468 static class Symbol normal; // size: 0x4, address: 0x80A50470 static class Symbol botb; // size: 0x4, address: 0x80A50478 static class Symbol botb_star; // size: 0x4, address: 0x80A50480 // Range: 0x802CA270 -> 0x802CA664 void * Scoreboard::Scoreboard(class Scoreboard * const this /* r30 */) { // References // -> static class Symbol botb_star; // -> static class Symbol botb; // -> static class Symbol normal; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__10Scoreboard; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x802CA664 -> 0x802CAC34 void * Scoreboard::~Scoreboard(class Scoreboard * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPropAnim,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x802CAC34 -> 0x802CB184 void Scoreboard::SyncObjects(class Scoreboard * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__8RndGroup; // -> struct [anonymous] __RTTI__3Sfx; // -> struct [anonymous] __RTTI__12EventTrigger; // -> struct [anonymous] __RTTI__7RndText; // -> struct [anonymous] __RTTI__11RndPropAnim; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x802CB184 -> 0x802CB354 void Scoreboard::Reset(class Scoreboard * const this /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x802CB354 -> 0x802CB434 void Scoreboard::SetScore(class Scoreboard * const this /* r30 */, float score /* f31 */) {} // Range: 0x802CB434 -> 0x802CB534 void Scoreboard::SetOpponentScore(class Scoreboard * const this /* r30 */, float score /* f31 */) {} // Range: 0x802CB534 -> 0x802CB57C void Scoreboard::SetStarBattle() {} // Range: 0x802CB57C -> 0x802CBA68 void Scoreboard::SetNumStars(class Scoreboard * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__12EventTrigger; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; } // Range: 0x802CBA68 -> 0x802CBAA0 void Scoreboard::PlayStarSound() {} static class Symbol normal; // size: 0x4, address: 0x80A50488 static class Symbol botb; // size: 0x4, address: 0x80A50490 static class Symbol botb_star; // size: 0x4, address: 0x80A50498 // Range: 0x802CBAA0 -> 0x802CBC10 void Scoreboard::SetConfig(class Scoreboard * const this /* r29 */, class Symbol & config /* r30 */) { // References // -> static class Symbol botb_star; // -> static class Symbol botb; // -> static class Symbol normal; } // Range: 0x802CBC10 -> 0x802CBC28 void Scoreboard::ShowStars() {} static class Symbol _s; // size: 0x4, address: 0x80A504A0 static class Symbol _s; // size: 0x4, address: 0x80A504A8 static class Symbol _s; // size: 0x4, address: 0x80A504B0 static class Symbol _s; // size: 0x4, address: 0x80A504B8 static class Symbol _s; // size: 0x4, address: 0x80A504C0 // Range: 0x802CBC28 -> 0x802CC3A4 class DataNode Scoreboard::Handle(class Scoreboard * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A504C8 static class Symbol _s; // size: 0x4, address: 0x80A504D0 static class Symbol _s; // size: 0x4, address: 0x80A504D8 static class Symbol _s; // size: 0x4, address: 0x80A504E0 static class Symbol _s; // size: 0x4, address: 0x80A504E8 static class Symbol _s; // size: 0x4, address: 0x80A504F0 // Range: 0x802CC3A4 -> 0x802CC958 unsigned char Scoreboard::SyncProperty(class Scoreboard * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x802CC958 -> 0x802CCC18 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class ObjPtr * it; // r31 class ObjPtr tmp; // r1+0x20 // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802CCC18 -> 0x802CCC5C void Scoreboard::Save() { // References // -> class Debug TheDebug; } // Range: 0x802CCC5C -> 0x802CCDFC void Scoreboard::PreLoad(class Scoreboard * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; } // Range: 0x802CCDFC -> 0x802CCE00 void Scoreboard::PostLoad() {} // Range: 0x802CCE00 -> 0x802CD064 void Scoreboard::Copy(class Scoreboard * const this /* r29 */, const class Object * o /* r26 */, enum CopyType ct /* r25 */) { // Local variables const class Scoreboard * sb; // r0 // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10Scoreboard; } struct { // total size: 0x21C } __vt__10Scoreboard; // size: 0x21C, address: 0x808C8AF0 /* Compile unit: C:\rockband2\system\src\bandobj\Scoreboard.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802CD064 -> 0x802CD23C */ // Range: 0x802CD064 -> 0x802CD0A8 class Symbol Scoreboard::ClassName() { // References // -> class Symbol name; } // Range: 0x802CD0A8 -> 0x802CD23C void Scoreboard::SetType(class Scoreboard * const this /* r29 */, class Symbol & Scoreboard /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802CD23C -> 0x802CD85C */ // Range: 0x802CD23C -> 0x802CD5DC class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P26ObjPtr<6RndDir,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802CD5DC -> 0x802CD644 class ObjPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } /* Compile unit: C:\rockband2\system\src\bandobj\WorldMapDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802CD85C -> 0x802CFFF4 */ class DataArray * types; // size: 0x4, address: 0x80A504F8 class Symbol name; // size: 0x4, address: 0x80A50500 class DataArray * sTownList; // size: 0x4, address: 0x80A50504 static char kOccludingEarthName[21]; // size: 0x15, address: 0x808488D8 class WorldMapDir : public PanelDir { // total size: 0x300 class vector mTownGroups; // offset 0x24C, size 0xC class ObjPtr mOccludingEarth; // offset 0x258, size 0xC float mFocusScale; // offset 0x264, size 0x4 class ObjPtr mPostProc; // offset 0x268, size 0xC float mFocalDistance; // offset 0x274, size 0x4 float mBlurDepth; // offset 0x278, size 0x4 float mMinBlur; // offset 0x27C, size 0x4 float mMaxBlur; // offset 0x280, size 0x4 unsigned char mDoCulling; // offset 0x284, size 0x1 class Quat mTargetRot; // offset 0x290, size 0x10 class ObjPtr mVenueGroup; // offset 0x2A0, size 0xC class ObjPtr mTownGroup; // offset 0x2AC, size 0xC class Symbol mTown; // offset 0x2B8, size 0x4 class Symbol mVenue; // offset 0x2BC, size 0x4 unsigned char mFirstPoll; // offset 0x2C0, size 0x1 unsigned char mZoomed; // offset 0x2C1, size 0x1 }; // Range: 0x802CD85C -> 0x802CDA4C void WorldMapDir::Init() { // Local variables class DataArray * root; // r30 class DataArray * tour; // r30 class DataArray * data; // r29 int i; // r28 class Symbol townname; // r1+0x20 // References // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class DataArray * sTownList; } // Range: 0x802CDA4C -> 0x802CDC8C void * WorldMapDir::WorldMapDir(class WorldMapDir * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPostProc,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__11WorldMapDir; // -> struct [anonymous] __vt__16RndHighlightable; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndPostProc * mPtr; // offset 0x8, size 0x4 }; // Range: 0x802CDC8C -> 0x802CDE14 void * WorldMapDir::~WorldMapDir(class WorldMapDir * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndPostProc,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x802CDE14 -> 0x802CDE58 void WorldMapDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x802CDE58 -> 0x802CDF70 void WorldMapDir::PreLoad(class WorldMapDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int version; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } // Range: 0x802CDF70 -> 0x802CE0B4 void WorldMapDir::PostLoad(class WorldMapDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class Symbol town; // r1+0x20 // References // -> const char * gNullStr; // -> class list sRevs; } // Range: 0x802CE0B4 -> 0x802CE1B4 void WorldMapDir::Copy(class WorldMapDir * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class WorldMapDir * p; // r0 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11WorldMapDir; } // Range: 0x802CE1B4 -> 0x802CE3F8 void WorldMapDir::DrawShowing(class WorldMapDir * const this /* r28 */) { // Local variables class Sphere earthSphere; // r1+0x60 class RndCam * camera; // r30 class Vector3 cameraPosition; // r1+0x30 class Vector3 toEarthCenter; // r1+0x20 float sqDistanceToEarthCenter; // f0 float fudge; // f1 float sqDistanceToHorizon; // f31 class RndDrawable * * iter; // r30 class RndDrawable * townGroup; // r29 class Sphere townSphere; // r1+0x40 class Vector3 toTownCenter; // r1+0x10 float sqDistanceToTownCenter; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndCam * sCurrent; } // Range: 0x802CE3F8 -> 0x802CE530 void WorldMapDir::Poll(class WorldMapDir * const this /* r30 */) { // Local variables class Quat current; // r1+0x10 class Matrix3 mtx; // r1+0x20 // References // -> class TaskMgr TheTaskMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x802CE530 -> 0x802CE7BC void WorldMapDir::Enter(class WorldMapDir * const this /* r31 */) { // Local variables int i; // r28 class Symbol town; // r1+0x34 const char * townGroupName; // r30 class RndDrawable * townGroup; // r1+0x30 // References // -> static char kOccludingEarthName[21]; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> class DataArray * sTownList; // -> const char * gNullStr; // -> class LoadMgr TheLoadMgr; } class DOFProc : public Object { // total size: 0x28 }; // Range: 0x802CE7BC -> 0x802CE840 void WorldMapDir::Exit(class WorldMapDir * const this /* r30 */) {} // Range: 0x802CE840 -> 0x802CE874 void WorldMapDir::SetDoCulling() { // Local variables class RndDrawable * * iter; // r5 } // Range: 0x802CE874 -> 0x802CE8E8 void WorldMapDir::SetPostProc(class WorldMapDir * const this /* r30 */, class RndPostProc * postproc /* r31 */) {} // Range: 0x802CE8E8 -> 0x802CE8F0 class DataArray * WorldMapDir::GetTownList() { // References // -> class DataArray * sTownList; } // Range: 0x802CE8F0 -> 0x802CEE00 void WorldMapDir::SetTown(class WorldMapDir * const this /* r30 */, class Symbol & town /* r23 */, unsigned char snap /* r24 */, unsigned char close /* r31 */) { // Local variables const char * targName; // r26 class RndTransformable * targ; // r25 const char * newName; // r0 class Transform t; // r1+0x70 class Quat townFrame; // r1+0x30 class Matrix3 mtx; // r1+0x40 // References // -> const char * kNotObjectMsg; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } static class Symbol loop; // size: 0x4, address: 0x80A5050C static class Symbol dest; // size: 0x4, address: 0x80A50514 // Range: 0x802CEE00 -> 0x802CEF58 void WorldMapDir::HighlightGroup(class RndGroup * grp /* r30 */, unsigned char h /* r31 */) { // Local variables float end; // f31 // References // -> static class Symbol dest; // -> const char * gNullStr; // -> static class Symbol loop; } // Range: 0x802CEF58 -> 0x802CF390 void WorldMapDir::Sync(class WorldMapDir * const this /* r27 */, class Symbol & town /* r28 */, class Symbol & venue /* r29 */, unsigned char zoomed /* r30 */) { // Local variables const char * groupName; // r0 // References // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } static class Symbol _s; // size: 0x4, address: 0x80A5051C static class Symbol _s; // size: 0x4, address: 0x80A50524 // Range: 0x802CF390 -> 0x802CF87C class DataNode WorldMapDir::Handle(class WorldMapDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A5052C static class Symbol _s; // size: 0x4, address: 0x80A50534 static class Symbol _s; // size: 0x4, address: 0x80A5053C static class Symbol _s; // size: 0x4, address: 0x80A50544 static class Symbol _s; // size: 0x4, address: 0x80A5054C static class Symbol _s; // size: 0x4, address: 0x80A50554 static class Symbol _s; // size: 0x4, address: 0x80A5055C static class Symbol _s; // size: 0x4, address: 0x80A50564 // Range: 0x802CF87C -> 0x802CFFF4 unsigned char WorldMapDir::SyncProperty(class WorldMapDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> const char * gNullStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPostProc; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x234 } __vt__11WorldMapDir; // size: 0x234, address: 0x808C9694 struct { // total size: 0x8 } __RTTI__11WorldMapDir; // size: 0x8, address: 0x808C9930 struct { // total size: 0x18 } __vt__32ObjPtr<11RndPostProc,9ObjectDir>; // size: 0x18, address: 0x808C9980 struct { // total size: 0x8 } __RTTI__32ObjPtr<11RndPostProc,9ObjectDir>; // size: 0x8, address: 0x808C99C8 /* Compile unit: C:\rockband2\system\src\bandobj\WorldMapDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802CFFF4 -> 0x802D0240 */ // Range: 0x802CFFF4 -> 0x802D0068 class Object * WorldMapDir::NewObject() { // References // -> class Symbol name; } // Range: 0x802D0068 -> 0x802D00AC class Symbol WorldMapDir::ClassName() { // References // -> class Symbol name; } // Range: 0x802D00AC -> 0x802D0240 void WorldMapDir::SetType(class WorldMapDir * const this /* r29 */, class Symbol & WorldMapDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0478 -> 0x802D0720 */ // Range: 0x802D0478 -> 0x802D04E8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndPostProc,9ObjectDir>; } // Range: 0x802D04E8 -> 0x802D0680 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPostProc; } // Range: 0x802D0680 -> 0x802D0688 class Object * ObjPtr::RefOwner() {} // Range: 0x802D0688 -> 0x802D0720 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPostProc; } /* Compile unit: C:\rockband2\system\src\world\DOFProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0720 -> 0x802D0724 */ // Range: 0x802D0720 -> 0x802D0724 void DOFProc::UnSet() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0724 -> 0x802D085C */ // Range: 0x802D0724 -> 0x802D085C void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndDrawable * * __pos /* r28 */, class RndDrawable * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndDrawable * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11RndDrawable; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\BarFinder.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D085C -> 0x802D0AF8 */ class BarFinder { // total size: 0x18 protected: class SongData * mSongData; // offset 0x0, size 0x4 int mTrack; // offset 0x4, size 0x4 int mRoundTicks; // offset 0x8, size 0x4 class vector mBars; // offset 0xC, size 0xC }; // Range: 0x802D085C -> 0x802D087C void * BarFinder::BarFinder() {} class StlNodeAlloc { // total size: 0x1 }; struct BarInfo { // total size: 0x10 int start_gem; // offset 0x0, size 0x4 int end_gem; // offset 0x4, size 0x4 float start_ms; // offset 0x8, size 0x4 float end_ms; // offset 0xC, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BarInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BarInfo * _M_start; // offset 0x0, size 0x4 struct BarInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x802D087C -> 0x802D0A74 void BarFinder::Init(class BarFinder * const this /* r26 */) { // Local variables const class GameGemList & gems; // r31 class TempoMap * tempo_map; // r30 class MeasureMap * measure_map; // r29 float last_ms; // f0 int num_gems; // r28 int measure; // r27 int start_gem; // r22 float start_ms; // f29 int end_tick; // r0 float end_ms; // f28 float rounded_end_ms; // f0 int end_gem; // r23 } // Range: 0x802D0A74 -> 0x802D0AF8 int BarFinder::GetBarIndexWithGem(const class BarFinder * const this /* r31 */, int gem /* r1+0x8 */) {} struct { // total size: 0x8 } __RTTI__P7BarInfo; // size: 0x8, address: 0x808C9EA8 /* Compile unit: C:\rockband2\system\src\beatmatch\BarInfo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0AF8 -> 0x802D0B10 */ // Range: 0x802D0AF8 -> 0x802D0B10 unsigned char BarInfoCmp() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0B10 -> 0x802D0BA0 */ // Range: 0x802D0B10 -> 0x802D0BA0 struct BarInfo * __lower_bound(const struct BarInfo * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(struct BarInfo &, int) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const struct BarInfo * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0BA0 -> 0x802D0DCC */ // Range: 0x802D0BA0 -> 0x802D0DCC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BarInfo * __pos /* r26 */, const struct BarInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BarInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7BarInfo; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\BarInfo.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0DCC -> 0x802D0E94 */ // Range: 0x802D0DCC -> 0x802D0E94 unsigned char BarInfo::HasUnplayedGems(const struct BarInfo * const this /* r29 */, const class GameGemInfoList & gems /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\beatmatch\BarPhraseCapturer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0E94 -> 0x802D0F80 */ class BarPhraseCapturer : public PhraseCapturer { // total size: 0xC protected: class SongData * mSongData; // offset 0x4, size 0x4 class BarFinder * mBarFinder; // offset 0x8, size 0x4 }; // Range: 0x802D0E94 -> 0x802D0EAC void * BarPhraseCapturer::BarPhraseCapturer() { // References // -> struct [anonymous] __vt__17BarPhraseCapturer; } struct PhraseInfo { // total size: 0x18 int start_gem; // offset 0x0, size 0x4 int end_gem; // offset 0x4, size 0x4 float start_ms; // offset 0x8, size 0x4 float end_ms; // offset 0xC, size 0x4 int start_bar; // offset 0x10, size 0x4 int end_bar; // offset 0x14, size 0x4 }; class PhraseCapturer { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class StandardBarPhraseCapturer : public BarPhraseCapturer { // total size: 0x10 protected: int mNumBarsToCapture; // offset 0xC, size 0x4 }; // Range: 0x802D0EAC -> 0x802D0F0C void * StandardBarPhraseCapturer::StandardBarPhraseCapturer(class StandardBarPhraseCapturer * const this /* r30 */, class DataArray * cfg /* r31 */) { // References // -> struct [anonymous] __vt__25StandardBarPhraseCapturer; } // Range: 0x802D0F4C -> 0x802D0F80 int StandardBarPhraseCapturer::LastCapturedBar() {} struct { // total size: 0x14 } __vt__25StandardBarPhraseCapturer; // size: 0x14, address: 0x808C9F0C struct { // total size: 0x8 } __RTTI__25StandardBarPhraseCapturer; // size: 0x8, address: 0x808C9F50 struct { // total size: 0x14 } __vt__17BarPhraseCapturer; // size: 0x14, address: 0x808C9F58 struct { // total size: 0x8 } __RTTI__17BarPhraseCapturer; // size: 0x8, address: 0x808C9F90 struct { // total size: 0x8 } __RTTI__14PhraseCapturer; // size: 0x8, address: 0x808C9FA8 /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D0F80 -> 0x802D12F8 */ // Range: 0x802D0F80 -> 0x802D12B8 void BarPhraseCapturer::ComputeCapturedPhrase(class BarPhraseCapturer * const this /* r28 */, struct PhraseInfo & phrase_info /* r29 */) { // Local variables int caught_bar; // r31 int first_captured_bar; // r30 int last_captured_bar; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\beatmatch\BarPhraseFinder.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D12F8 -> 0x802D1840 */ class BarPhraseFinder : public PhraseFinder { // total size: 0x10 class GameGemInfoList * mGemInfoList; // offset 0x4, size 0x4 class BarFinder * mBarFinder; // offset 0x8, size 0x4 int mNumBarsToCatch; // offset 0xC, size 0x4 }; // Range: 0x802D12F8 -> 0x802D135C void * BarPhraseFinder::BarPhraseFinder(class BarPhraseFinder * const this /* r30 */, class DataArray * cfg /* r31 */) { // References // -> struct [anonymous] __vt__15BarPhraseFinder; } class PhraseFinder { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; // Range: 0x802D135C -> 0x802D1410 int BarPhraseFinder::NextValidStart(const class BarPhraseFinder * const this /* r30 */) { // Local variables int bar; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D1410 -> 0x802D1488 unsigned char BarPhraseFinder::PhraseAtOrAfter(const class BarPhraseFinder * const this /* r29 */, int first_gem /* r30 */, struct PhraseInfo & info /* r31 */) { // Local variables int bar; // r1+0x8 } // Range: 0x802D1488 -> 0x802D1840 unsigned char BarPhraseFinder::LookForPhrase(const class BarPhraseFinder * const this /* r27 */, int & bar /* r28 */, struct PhraseInfo & info /* r29 */) { // Local variables int num_bars; // r0 int last_bar; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x14 } __vt__15BarPhraseFinder; // size: 0x14, address: 0x808C9FE0 struct { // total size: 0x8 } __RTTI__15BarPhraseFinder; // size: 0x8, address: 0x808CA018 struct { // total size: 0x8 } __RTTI__12PhraseFinder; // size: 0x8, address: 0x808CA030 /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMaster.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D1880 -> 0x802D2540 */ // Range: 0x802D1880 -> 0x802D1994 void * BeatMaster::~BeatMaster(class BeatMaster * const this /* r31 */) { // References // -> struct [anonymous] __vt__10BeatMaster; } // Range: 0x802D1994 -> 0x802D1A04 void BeatMaster::RegisterSink(class BeatMasterSink & sink /* r1+0x8 */) {} struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PP12MidiReceiver; // size: 0x8, address: 0x808CA0A0 // Range: 0x802D1A04 -> 0x802D1A84 void BeatMaster::LoaderPoll(class BeatMaster * const this /* r31 */) {} class BeatMasterLoader : public Loader { // total size: 0x18 protected: class BeatMaster * mBeatMaster; // offset 0x14, size 0x4 }; // Range: 0x802D1A84 -> 0x802D1AE0 void * BeatMasterLoader::~BeatMasterLoader(class BeatMasterLoader * const this /* r30 */) {} // Range: 0x802D1AE0 -> 0x802D1AE8 unsigned char BeatMaster::IsLoaded() {} // Range: 0x802D1AE8 -> 0x802D1B54 void BeatMaster::AddTrack() {} // Range: 0x802D1B54 -> 0x802D1C6C void BeatMaster::Poll(class BeatMaster * const this /* r30 */, float ms /* f31 */) { // Local variables int i; // r31 float ftick; // f0 int tick; // r31 // References // -> class Playback TheBeatMatchPlayback; } // Range: 0x802D1C6C -> 0x802D1D38 void BeatMaster::Jump(class BeatMaster * const this /* r31 */, float ms /* f31 */) { // Local variables float ftick; // f0 // References // -> class Playback TheBeatMatchPlayback; } static class Symbol reset; // size: 0x4, address: 0x80A5056C // Range: 0x802D1D38 -> 0x802D1E4C void BeatMaster::Reset(class BeatMaster * const this /* r31 */) { // Local variables int i; // r6 // References // -> static class Symbol reset; // -> class Playback TheBeatMatchPlayback; // -> class LogFile TheBeatMatchOutput; } // Range: 0x802D1E4C -> 0x802D1E9C void BeatMaster::ResetAudio(class BeatMaster * const this /* r31 */) {} static class Symbol symBeat; // size: 0x4, address: 0x80A50574 static class Symbol symDownBeat; // size: 0x4, address: 0x80A5057C static class Symbol symEighthNote; // size: 0x4, address: 0x80A50584 static class Symbol symSixteenthNote; // size: 0x4, address: 0x80A5058C static class DataNode & beat; // size: 0x4, address: 0x80A50594 static class DataNode & measure; // size: 0x4, address: 0x80A5059C // Range: 0x802D1E9C -> 0x802D21B8 void BeatMaster::CheckBeat(class BeatMaster * const this /* r30 */) { // Local variables int old_beat; // r0 int new_beat; // r29 int i; // r29 // References // -> static class DataNode & measure; // -> static class DataNode & beat; // -> static class Symbol symSixteenthNote; // -> static class Symbol symEighthNote; // -> static class Symbol symDownBeat; // -> static class Symbol symBeat; } // Range: 0x802D21B8 -> 0x802D2290 void BeatMaster::ExportInitialSubmixes(class BeatMaster * const this /* r30 */) { // Local variables int t; // r31 const class TickedInfoCollection * submixes; // r0 const char * str; // r29 int i; // r28 } // Range: 0x802D2290 -> 0x802D2394 void BeatMaster::CheckSubmixes(class BeatMaster * const this /* r27 */, int tick /* r28 */) { // Local variables int t; // r29 const class TickedInfoCollection * submixes; // r0 int idx; // r4 const char * str; // r26 int i; // r25 } // Range: 0x802D2394 -> 0x802D249C void BeatMaster::CheckActivePlayer(class BeatMaster * const this /* r31 */, float ms /* f31 */) { // Local variables const class vector & gems; // r0 int players; // r29 int i; // r28 } // Range: 0x802D249C -> 0x802D2530 void BeatMaster::HandleBeatCallback() { // Local variables class DataArray * handler; // r4 } // Range: 0x802D2530 -> 0x802D2538 void BeatMasterLoader::PollLoading() {} // Range: 0x802D2538 -> 0x802D2540 unsigned char BeatMasterLoader::IsLoaded() {} struct { // total size: 0x14 } __vt__16BeatMasterLoader; // size: 0x14, address: 0x808CA0E8 struct { // total size: 0x8 } __RTTI__16BeatMasterLoader; // size: 0x8, address: 0x808CA120 struct { // total size: 0x1C } __vt__10BeatMaster; // size: 0x1C, address: 0x808CA128 struct { // total size: 0x8 } __RTTI__10BeatMaster; // size: 0x8, address: 0x808CA160 struct { // total size: 0x8 } __RTTI__PP14BeatMasterSink; // size: 0x8, address: 0x808CA238 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class Playback { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 private: class map mPlayerSinks; // offset 0x4, size 0x18 class DataArray * mCommands; // offset 0x1C, size 0x4 int mCommandIndex; // offset 0x20, size 0x4 float mTime; // offset 0x24, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D2540 -> 0x802D2BBC */ // Range: 0x802D2540 -> 0x802D2724 void * BeatMaster::BeatMaster(class BeatMaster * const this /* r27 */, int num_players /* r28 */) { // Local variables class DataArray * cfg; // r29 class String playbackFile; // r1+0x1C // References // -> class Playback TheBeatMatchPlayback; // -> class LogFile TheBeatMatchOutput; // -> struct [anonymous] __vt__10BeatMaster; } // Range: 0x802D2724 -> 0x802D2BBC void BeatMaster::Load(class BeatMaster * const this /* r20 */, class DataArray * song_cfg /* r21 */, int num_difficulties /* r22 */, class PlayerTrackConfigList * ptconfig /* r23 */, unsigned char synchronous /* r24 */, enum SongDataValidate validateMode /* r25 */) { // Local variables class vector rec; // r1+0x9C // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__16BeatMasterLoader; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP12MidiReceiver; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D2BBC -> 0x802D2BD4 */ // Range: 0x802D2BBC -> 0x802D2BD4 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMaster.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D2BD4 -> 0x802D2BDC */ // Range: 0x802D2BD4 -> 0x802D2BD8 void BeatMaster::AddPhrase() {} // Range: 0x802D2BD8 -> 0x802D2BDC void BeatMaster::AddMultiGem() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D2BDC -> 0x802D2E4C */ // Range: 0x802D2BDC -> 0x802D2D14 void vector::_M_insert_overflow(class vector * const this /* r27 */, class BeatMasterSink * * __pos /* r28 */, class BeatMasterSink * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BeatMasterSink * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14BeatMasterSink; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D2D14 -> 0x802D2E4C void vector::_M_insert_overflow(class vector * const this /* r27 */, class MidiReceiver * * __pos /* r28 */, class MidiReceiver * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class MidiReceiver * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP12MidiReceiver; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchController.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D2E4C -> 0x802D2FA4 */ // Range: 0x802D2E4C -> 0x802D2EF0 int BeatMatchController::ButtonToSlot(class BeatMatchController * const this /* r26 */, int button /* r27 */) { // Local variables int size; // r29 int i; // r28 } // Range: 0x802D2EF0 -> 0x802D2F94 int BeatMatchController::SlotToButton(class BeatMatchController * const this /* r26 */, int slot /* r27 */) { // Local variables int size; // r29 int i; // r28 } // Range: 0x802D2F94 -> 0x802D2F9C int BeatMatchController::GetVelocityBucket() {} // Range: 0x802D2F9C -> 0x802D2FA4 int BeatMatchController::GetVirtualSlot() {} struct { // total size: 0x88 } __vt__19BeatMatchController; // size: 0x88, address: 0x808CA2D8 struct { // total size: 0x8 } __RTTI__19BeatMatchController; // size: 0x8, address: 0x808CA388 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D2FA4 -> 0x802D3250 */ // Range: 0x802D2FA4 -> 0x802D3064 void * BeatMatchController::BeatMatchController(class BeatMatchController * const this /* r28 */, int player_num /* r29 */, const class DataArray * cfg /* r30 */, unsigned char lefty /* r31 */) { // References // -> struct [anonymous] __vt__19BeatMatchController; } // Range: 0x802D3064 -> 0x802D3250 class BeatMatchController * NewController(int player_num /* r25 */, const class DataArray * cfg /* r26 */, class BeatMatchControllerSink * sink /* r27 */, unsigned char disabled /* r28 */, unsigned char lefty /* r29 */) { // Local variables class DataArray * ctrl_cfg; // r24 class BeatMatchController * controller; // r30 // References // -> class Debug TheDebug; // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchController.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D3250 -> 0x802D3260 */ // Range: 0x802D3250 -> 0x802D3258 unsigned char BeatMatchController::IsShifted() {} // Range: 0x802D3258 -> 0x802D325C void BeatMatchController::EnableShift() {} // Range: 0x802D325C -> 0x802D3260 void BeatMatchController::Poll() {} /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatch.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D3260 -> 0x802D3264 */ // Range: 0x802D3260 -> 0x802D3264 void BeatMatchInit() {} /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatcher.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D3264 -> 0x802D44F0 */ class DrumPlayer { // total size: 0xC float mAttenuation; // offset 0x0, size 0x4 class DataArray * mSoloCfg; // offset 0x4, size 0x4 class DataArray * mOverrideList; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BeatMatchSink * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BeatMatchSink * * _M_start; // offset 0x0, size 0x4 class BeatMatchSink * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PhraseCatcher { // total size: 0x2C int mTrack; // offset 0x0, size 0x4 class TrackWatcher * mWatcher; // offset 0x4, size 0x4 class PhraseFinder * mFinder; // offset 0x8, size 0x4 class PhraseCapturer * mCapturer; // offset 0xC, size 0x4 class BeatMatchSink * mSink; // offset 0x10, size 0x4 struct PhraseInfo mCurrentPhrase; // offset 0x14, size 0x18 }; class TrackWatcher { // total size: 0x34 class TrackWatcherImpl * mImpl; // offset 0x0, size 0x4 class vector mSinks; // offset 0x4, size 0xC int mTrack; // offset 0x10, size 0x4 unsigned char mIndependentSlots; // offset 0x14, size 0x1 int mPlayerNum; // offset 0x18, size 0x4 int mPlayerSlot; // offset 0x1C, size 0x4 class Symbol mControllerType; // offset 0x20, size 0x4 class SongData * mSongData; // offset 0x24, size 0x4 class TrackWatcherParent * mParent; // offset 0x28, size 0x4 class DataArray * mCfg; // offset 0x2C, size 0x4 class DataArray * mSongCfg; // offset 0x30, size 0x4 }; // Range: 0x802D3264 -> 0x802D35F0 void * BeatMatcher::~BeatMatcher(class BeatMatcher * const this /* r29 */) { // Local variables class TrackWatcher * * wit; // r28 class PhraseCatcher * * cit; // r28 class BarFinder * * bfit; // r31 class PhraseFinder * * pfit; // r28 class PhraseCapturer * * pcit; // r28 // References // -> struct [anonymous] __vt__11BeatMatcher; } class MercurySwitchFilter { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; // Range: 0x802D35F0 -> 0x802D3640 void BeatMatcher::PostLoad(class BeatMatcher * const this /* r30 */) { // Local variables class BarFinder * * bfit; // r31 } // Range: 0x802D3640 -> 0x802D36A8 unsigned char BeatMatcher::IsReady(class BeatMatcher * const this /* r31 */) {} // Range: 0x802D36A8 -> 0x802D36B0 void BeatMatcher::RegisterSink() {} // Range: 0x802D36B0 -> 0x802D3768 void BeatMatcher::Poll(class BeatMatcher * const this /* r30 */, float ms /* f31 */) { // Local variables class TrackWatcher * * wit; // r31 class PhraseCatcher * * cit; // r31 } // Range: 0x802D3768 -> 0x802D3840 void BeatMatcher::Jump(class BeatMatcher * const this /* r30 */, float ms /* f31 */) { // Local variables class TrackWatcher * * wit; // r31 class PhraseCatcher * * cit; // r31 } // Range: 0x802D3840 -> 0x802D38C4 void BeatMatcher::ResetGemStates(class BeatMatcher * const this /* r30 */, float ms /* f31 */) { // Local variables class TrackWatcher * * wit; // r31 class PhraseCatcher * * cit; // r31 } // Range: 0x802D38C4 -> 0x802D38D0 void BeatMatcher::ReleaseSwing() {} // Range: 0x802D38D0 -> 0x802D3938 void BeatMatcher::ChangeTrack(class BeatMatcher * const this /* r31 */) {} // Range: 0x802D3938 -> 0x802D3A3C void BeatMatcher::SetTrack(class BeatMatcher * const this /* r29 */, int new_track /* r30 */) { // Local variables const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x802D3A3C -> 0x802D3AC4 void BeatMatcher::UpdateMercurySwitch(class BeatMatcher * const this /* r30 */) { // Local variables unsigned char on; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D3AC4 -> 0x802D3B48 int BeatMatcher::GetVirtualSlot(class BeatMatcher * const this /* r30 */, int slot /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D3B48 -> 0x802D3B8C void BeatMatcher::PlayDrum() {} // Range: 0x802D3B8C -> 0x802D3B94 void BeatMatcher::ResetDrumSamples() {} // Range: 0x802D3B94 -> 0x802D3C1C float BeatMatcher::GetWhammyBar(const class BeatMatcher * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D3C1C -> 0x802D3C24 unsigned char BeatMatcher::IsAutoplay() {} // Range: 0x802D3C24 -> 0x802D3C88 void BeatMatcher::SetAutoplay(class BeatMatcher * const this /* r29 */, unsigned char autoplay /* r30 */) { // Local variables class TrackWatcher * * wit; // r31 } // Range: 0x802D3C88 -> 0x802D3CE8 void BeatMatcher::AutoplayCoda(class BeatMatcher * const this /* r29 */, unsigned char val /* r30 */) { // Local variables class TrackWatcher * * wit; // r31 } // Range: 0x802D3CE8 -> 0x802D3D48 void BeatMatcher::SetAutoplayError(class BeatMatcher * const this /* r29 */, int error /* r30 */) { // Local variables class TrackWatcher * * wit; // r31 } // Range: 0x802D3D48 -> 0x802D3D50 void BeatMatcher::DrivePitchBendExternally() {} // Range: 0x802D3D50 -> 0x802D3DC8 void BeatMatcher::SetPitchBend(class BeatMatcher * const this /* r30 */, int track /* r31 */) {} // Range: 0x802D3DC8 -> 0x802D3E04 void BeatMatcher::ResetPitchBend() {} // Range: 0x802D3E04 -> 0x802D3E44 unsigned char BeatMatcher::InFillNow() {} // Range: 0x802D3E44 -> 0x802D3F30 unsigned char BeatMatcher::InFill(class BeatMatcher * const this /* r28 */, int tick /* r29 */, unsigned char include_end /* r30 */) { // Local variables enum BeatmatchTrackType type; // r31 } // Range: 0x802D3F30 -> 0x802D3F74 unsigned char BeatMatcher::InSolo(class BeatMatcher * const this /* r5 */, int tick /* r31 */) {} // Range: 0x802D3F74 -> 0x802D3F98 unsigned char BeatMatcher::InCoda() {} // Range: 0x802D3F98 -> 0x802D4024 unsigned char BeatMatcher::InCodaFreestyle(class BeatMatcher * const this /* r28 */, int tick /* r29 */, unsigned char include_end /* r30 */) {} // Range: 0x802D4024 -> 0x802D402C void BeatMatcher::SetCodaStartTick() {} // Range: 0x802D402C -> 0x802D4034 void BeatMatcher::EnterCoda() {} // Range: 0x802D4034 -> 0x802D405C void BeatMatcher::SetButtonMashingMode() {} // Range: 0x802D405C -> 0x802D40DC void BeatMatcher::Enable(class BeatMatcher * const this /* r29 */, unsigned char enabled /* r30 */) { // Local variables class TrackWatcher * * wit; // r31 } // Range: 0x802D40DC -> 0x802D4164 void BeatMatcher::EnableController(class BeatMatcher * const this /* r30 */, unsigned char enabled /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D4164 -> 0x802D41A0 unsigned char BeatMatcher::FillsEnabled() {} // Range: 0x802D41A0 -> 0x802D41BC void BeatMatcher::SetFillsEnabled() {} // Range: 0x802D41BC -> 0x802D4258 void BeatMatcher::SetFillsEnabled(class BeatMatcher * const this /* r29 */, int startTick /* r30 */) { // Local variables struct FillExtent e; // r1+0x8 } // Range: 0x802D4258 -> 0x802D4260 void BeatMatcher::ForceFill() {} // Range: 0x802D4260 -> 0x802D42C4 void BeatMatcher::SetSyncOffset(class BeatMatcher * const this /* r30 */, float ms /* f31 */) { // Local variables class TrackWatcher * * wit; // r31 } // Range: 0x802D42C4 -> 0x802D4344 void BeatMatcher::SetControllerType(class BeatMatcher * const this /* r29 */, class Symbol & controller_type /* r30 */) { // Local variables class TrackWatcher * * wit; // r31 } // Range: 0x802D4344 -> 0x802D4398 unsigned char BeatMatcher::UsingAlternateButtons() {} // Range: 0x802D4398 -> 0x802D43A0 void BeatMatcher::EnableWhammy() {} // Range: 0x802D43A0 -> 0x802D4408 unsigned char BeatMatcher::UsesPhrases(const class BeatMatcher * const this /* r31 */) { // Local variables class DataArray * phrases_array; // r0 } // Range: 0x802D4408 -> 0x802D447C void BeatMatcher::CheckMercurySwitch(class BeatMatcher * const this /* r31 */) { // Local variables unsigned char new_state; // r0 } // Range: 0x802D447C -> 0x802D44F0 void BeatMatcher::SetNow(class BeatMatcher * const this /* r31 */) {} struct { // total size: 0xA8 } __vt__11BeatMatcher; // size: 0xA8, address: 0x808CA5F0 struct { // total size: 0x8 } __RTTI__11BeatMatcher; // size: 0x8, address: 0x808CA6B8 struct { // total size: 0x48 } __vt__18TrackWatcherParent; // size: 0x48, address: 0x808CA6C0 struct { // total size: 0x8 } __RTTI__18TrackWatcherParent; // size: 0x8, address: 0x808CA720 struct { // total size: 0x8 } __RTTI__P18BeatmatchTrackType; // size: 0x8, address: 0x808CA798 struct { // total size: 0x8 } __RTTI__PP14PhraseCapturer; // size: 0x8, address: 0x808CA7B8 struct { // total size: 0x8 } __RTTI__PP12PhraseFinder; // size: 0x8, address: 0x808CA7D0 struct { // total size: 0x8 } __RTTI__PP13PhraseCatcher; // size: 0x8, address: 0x808CA7F0 struct { // total size: 0x8 } __RTTI__PP12TrackWatcher; // size: 0x8, address: 0x808CA808 struct { // total size: 0x8 } __RTTI__PP9BarFinder; // size: 0x8, address: 0x808CA820 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D44F0 -> 0x802D53C0 */ // Range: 0x802D44F0 -> 0x802D46C8 void * BeatMatcher::BeatMatcher(class BeatMatcher * const this /* r29 */, class DataArray * song_cfg /* r30 */, class DataArray * global_cfg /* r31 */, class BeatMaster * beat_master /* r12 */) { // Local variables class DataArray * mercury_array; // r31 // References // -> class Playback TheBeatMatchPlayback; // -> struct [anonymous] __vt__11BeatMatcher; } // Range: 0x802D46C8 -> 0x802D4750 void BeatMatcher::Start(class BeatMatcher * const this /* r30 */) { // Local variables class PhraseCatcher * * cit; // r31 const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x802D4750 -> 0x802D4BC0 void BeatMatcher::AddTrack(class BeatMatcher * const this /* r29 */, int track /* r30 */, class Symbol & instrument /* r28 */, unsigned char independent_slots /* r27 */) { // Local variables class TrackWatcher * watcher; // r1+0x54 int barfinder_round_ticks; // r28 class BarFinder * bar_finder; // r1+0x50 class PhraseFinder * phrase_finder; // r1+0x4C class PhraseCapturer * capturer; // r1+0x48 class PhraseCatcher * catcher; // r1+0x44 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D4BC0 -> 0x802D4CB0 void BeatMatcher::FretButtonDown(class BeatMatcher * const this /* r28 */, int slot /* r29 */) { // Local variables const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D4CB0 -> 0x802D4DA0 void BeatMatcher::FretButtonUp(class BeatMatcher * const this /* r28 */, int slot /* r29 */) { // Local variables const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D4DA0 -> 0x802D5028 unsigned char BeatMatcher::Swing(class BeatMatcher * const this /* r26 */, int slot /* r27 */, unsigned char guitar /* r28 */, unsigned char downstrum /* r24 */, unsigned char auto_swing /* r25 */) { // Local variables unsigned char provisional; // r29 float last_swing; // f31 int bucket; // r0 float delta_ms; // f1 const char * str; // r0 unsigned char ok; // r25 const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D5028 -> 0x802D50CC void BeatMatcher::NonStrumSwing(class BeatMatcher * const this /* r28 */, int slot /* r29 */, unsigned char button_down /* r30 */) { // Local variables const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x802D50CC -> 0x802D5164 void BeatMatcher::MercurySwitch(class BeatMatcher * const this /* r30 */, float val /* f31 */) { // Local variables const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x802D5164 -> 0x802D51F0 void BeatMatcher::ForceMercurySwitch(class BeatMatcher * const this /* r29 */, unsigned char on /* r30 */) { // Local variables const char * str; // r0 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x802D51F0 -> 0x802D5264 void BeatMatcher::SetController(class BeatMatcher * const this /* r30 */, class BeatMatchController * controller /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D5264 -> 0x802D52E8 int BeatMatcher::GetVelocityBucket(class BeatMatcher * const this /* r30 */, int slot /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D52E8 -> 0x802D535C void BeatMatcher::OverrideDrumSamples(class BeatMatcher * const this /* r30 */, class DataArray * seq_list /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D535C -> 0x802D53C0 int BeatMatcher::GetBarFinderRoundTicks(class BeatMatcher * const this /* r31 */) { // Local variables int round; // r1+0xC } /* Compile unit: C:\rockband2\system\src\beatmatch\TrackWatcherParent.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D53C0 -> 0x802D5400 */ // Range: 0x802D53C0 -> 0x802D5400 void * TrackWatcherParent::~TrackWatcherParent(class TrackWatcherParent * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\beatmatch\MercurySwitchFilter_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D5458 -> 0x802D5498 */ // Range: 0x802D5458 -> 0x802D5498 void * MercurySwitchFilter::~MercurySwitchFilter(class MercurySwitchFilter * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D5498 -> 0x802D567C */ // Range: 0x802D5498 -> 0x802D550C char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, float t2 /* f31 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x802D550C -> 0x802D5594 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, float t2 /* f31 */, int t3 /* r30 */, unsigned char t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x802D5594 -> 0x802D5608 char * MakeString(const char * fmt /* r0 */, int t1 /* r31 */, float t2 /* f30 */, float t3 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x802D5608 -> 0x802D567C char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, float t2 /* f31 */, unsigned char t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatcher.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D567C -> 0x802D568C */ // Range: 0x802D567C -> 0x802D5684 int BeatMatcher::GetTick() {} // Range: 0x802D5684 -> 0x802D568C float BeatMatcher::GetNow() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D568C -> 0x802D5E70 */ // Range: 0x802D568C -> 0x802D5858 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, enum BeatmatchTrackType * __pos /* r26 */, const enum BeatmatchTrackType & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 enum BeatmatchTrackType * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P18BeatmatchTrackType; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D5858 -> 0x802D5990 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PhraseCapturer * * __pos /* r28 */, class PhraseCapturer * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PhraseCapturer * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14PhraseCapturer; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D5990 -> 0x802D5AC8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PhraseFinder * * __pos /* r28 */, class PhraseFinder * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PhraseFinder * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP12PhraseFinder; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D5AC8 -> 0x802D5C00 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PhraseCatcher * * __pos /* r28 */, class PhraseCatcher * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PhraseCatcher * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13PhraseCatcher; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D5C00 -> 0x802D5D38 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TrackWatcher * * __pos /* r28 */, class TrackWatcher * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TrackWatcher * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP12TrackWatcher; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D5D38 -> 0x802D5E70 void vector::_M_insert_overflow(class vector * const this /* r27 */, class BarFinder * * __pos /* r28 */, class BarFinder * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BarFinder * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9BarFinder; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\BeatMatchUtl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D5E70 -> 0x802D62CC */ // Range: 0x802D5E70 -> 0x802D5F84 unsigned char IsNumberAnywhereInArray(class DataArray * cfg /* r27 */, int num /* r28 */) { // Local variables int i; // r29 class DataNode & node; // r0 } // Range: 0x802D5F84 -> 0x802D5FAC unsigned char GemPlayableBy() {} static int gSlotsToNumSlots[32]; // size: 0x80, address: 0x808CA858 // Range: 0x802D5FAC -> 0x802D6058 int GemNumSlots(int slot_bitfield /* r30 */) { // Local variables int left; // [invalid] int bits; // r3 int bit; // r4 int mask; // r5 // References // -> static int gSlotsToNumSlots[32]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D6058 -> 0x802D6094 int ConsumeNumber() { // Local variables int num; // r6 int digit; // r4 } // Range: 0x802D6094 -> 0x802D619C float VelocityBucketToDb(int bucket /* r29 */) { // Local variables class DataArray * audio; // r31 class DataArray * map; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol drum; // size: 0x4, address: 0x80A505A4 static class Symbol guitar; // size: 0x4, address: 0x80A505AC static class Symbol rhythm; // size: 0x4, address: 0x80A505B4 static class Symbol bass; // size: 0x4, address: 0x80A505BC static class Symbol vocals; // size: 0x4, address: 0x80A505C4 // Range: 0x802D619C -> 0x802D62CC enum BeatmatchTrackType InstrumentToTrackType(class Symbol & name /* r30 */) { // References // -> static class Symbol vocals; // -> static class Symbol bass; // -> static class Symbol rhythm; // -> static class Symbol guitar; // -> static class Symbol drum; } /* Compile unit: C:\rockband2\system\src\beatmatch\DataEventList.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D62CC -> 0x802D70F0 */ // Range: 0x802D62CC -> 0x802D6318 void * DataEventList::DataEventList() {} // Range: 0x802D6318 -> 0x802D64E4 void * DataEventList::~DataEventList(class DataEventList * const this /* r30 */) {} // Range: 0x802D64E4 -> 0x802D657C void DataEventList::Compress(class DataEventList * const this /* r29 */, class DataArray * temp /* r30 */, int element /* r31 */) {} // Range: 0x802D657C -> 0x802D6764 void DataEventList::InsertEvent(class DataEventList * const this /* r31 */, float start /* f30 */, float end /* f31 */, const class DataNode & ev /* r28 */, int at /* r29 */) { // Local variables class DataEvent tmp; // r1+0x14 struct CompEv tmp; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D6764 -> 0x802D67D0 int DataEventList::FindStartFromBack() { // Local variables int i; // r5 } // Range: 0x802D67D0 -> 0x802D6894 void DataEventList::Reset(class DataEventList * const this /* r31 */, float frame /* r1+0x8 */) {} // Range: 0x802D6894 -> 0x802D68E0 class DataEvent & DataEventList::Event() {} // Range: 0x802D68E0 -> 0x802D6950 class DataEvent * DataEventList::NextEvent() {} // Range: 0x802D6950 -> 0x802D69EC float * DataEventList::EndPtr(class DataEventList * const this /* r30 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D69EC -> 0x802D6A70 void DataEventList::Invert() { // Local variables int i; // r5 float tmp; // f2 int i; // r5 float tmp; // f2 } // Range: 0x802D6A70 -> 0x802D6B68 void DataEventList::SecOffset(class DataEventList * const this /* r29 */) { // Local variables float ms; // f31 int i; // r30 int i; // r30 } // Range: 0x802D6B68 -> 0x802D6F40 void DataEventList::Compact(class DataEventList * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__PQ213DataEventList6CompEv; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9DataEvent; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ213DataEventList6CompEv; // size: 0x8, address: 0x808CAA20 struct { // total size: 0x8 } __RTTI__P9DataEvent; // size: 0x8, address: 0x808CAA38 // Range: 0x802D6F40 -> 0x802D70F0 void DataEventList::Clear(class DataEventList * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D70F0 -> 0x802D711C */ // Range: 0x802D70F0 -> 0x802D711C void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D711C -> 0x802D7124 */ // Range: 0x802D711C -> 0x802D7120 class StlNodeAlloc vector::get_allocator() {} // Range: 0x802D7120 -> 0x802D7124 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D7124 -> 0x802D71EC */ // Range: 0x802D7124 -> 0x802D7188 class DataEvent * __lower_bound() { // Local variables long __len; // r4 long __half; // r6 class DataEvent * __middle; // r7 } // Range: 0x802D7188 -> 0x802D71EC struct CompEv * __lower_bound() { // Local variables long __len; // r4 long __half; // r6 struct CompEv * __middle; // r7 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D71EC -> 0x802D83A8 */ // Range: 0x802D71EC -> 0x802D73B0 void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables struct CompEv * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213DataEventList6CompEv; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D73B0 -> 0x802D7418 struct CompEv * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x802D7418 -> 0x802D7498 void vector::_M_fill_insert() {} // Range: 0x802D7498 -> 0x802D76CC void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables class DataEvent * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9DataEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D76CC -> 0x802D7734 class DataEvent * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x802D7734 -> 0x802D77B4 void vector::_M_fill_insert() {} // Range: 0x802D77B4 -> 0x802D77E0 void _Vector_base::_M_throw_length_error() {} // Range: 0x802D77E0 -> 0x802D7A0C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct CompEv * __pos /* r26 */, const struct CompEv & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct CompEv * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213DataEventList6CompEv; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D7A0C -> 0x802D7C4C void vector::_M_fill_insert_aux() { // Local variables struct CompEv __x_copy; // r1+0x1C unsigned long __elems_after; // r10 struct CompEv * __old_finish; // r0 } // Range: 0x802D7C4C -> 0x802D7F80 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class DataEvent * __pos /* r26 */, const class DataEvent & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class DataEvent * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9DataEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802D7F80 -> 0x802D83A8 void vector::_M_fill_insert_aux(class DataEvent * __pos /* r27 */, const class DataEvent & __x /* r28 */) { // Local variables class DataEvent __x_copy; // r1+0x1C unsigned long __elems_after; // r8 } /* Compile unit: C:\rockband2\system\src\beatmatch\DisplayEvents.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D83A8 -> 0x802D8824 */ static float kXOffset; // size: 0x4, address: 0x80A569D8 // Range: 0x802D83A8 -> 0x802D8824 float DisplayEvents(class DataEventList * events /* r30 */, float y /* f27 */, float frame /* f28 */) { // Local variables float pixelsPerFrame; // f31 int i; // r31 class Rect r; // r1+0x78 float lastFrame; // f30 float maxEventHeight; // r1+0x20 class DataEvent e; // r1+0x6C float start; // f29 float end; // f26 class String s; // r1+0x60 float strHeight; // r1+0x1C // References // -> static float kXOffset; // -> class Rnd & TheRnd; } /* Compile unit: C:\rockband2\system\src\rndobj\Rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D8824 -> 0x802D8830 */ // Range: 0x802D8824 -> 0x802D8828 void Rnd::DrawRect() {} // Range: 0x802D8828 -> 0x802D8830 float Rnd::DrawString() {} /* Compile unit: C:\rockband2\system\src\beatmatch\DrumFillTrackWatcherImpl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D8830 -> 0x802D8C18 */ class DrumFillTrackWatcherImpl : public DrumTrackWatcherImpl { // total size: 0xA0 class DataArray * mFillCfg; // offset 0x94, size 0x4 class DrumFillInfo * mFillInfo; // offset 0x98, size 0x4 int mFillNotes; // offset 0x9C, size 0x4 }; // Range: 0x802D8830 -> 0x802D88C8 void * DrumFillTrackWatcherImpl::DrumFillTrackWatcherImpl(class DrumFillTrackWatcherImpl * const this /* r29 */, int track /* r30 */, class DataArray * cfg /* r0 */, class DataArray * song_cfg /* r31 */) { // References // -> struct [anonymous] __vt__24DrumFillTrackWatcherImpl; } // Range: 0x802D88C8 -> 0x802D8924 void * DrumFillTrackWatcherImpl::~DrumFillTrackWatcherImpl(class DrumFillTrackWatcherImpl * const this /* r30 */) {} // Range: 0x802D8924 -> 0x802D893C void DrumFillTrackWatcherImpl::CodaSwing() {} // Range: 0x802D893C -> 0x802D8B24 void DrumFillTrackWatcherImpl::FillSwing(class DrumFillTrackWatcherImpl * const this /* r27 */, int tick /* r28 */, int slot /* r29 */, int gem_id /* r30 */, unsigned char at_end /* r31 */) { // Local variables int lanes; // r0 int bucket; // r24 class BeatMatchSink * * it; // r24 class BeatMatchSink * * it; // r24 } // Range: 0x802D8B24 -> 0x802D8B94 void DrumFillTrackWatcherImpl::ResetFill(class DrumFillTrackWatcherImpl * const this /* r30 */) { // Local variables class BeatMatchSink * * it; // r31 } // Range: 0x802D8B94 -> 0x802D8C18 void DrumFillTrackWatcherImpl::RegisterFill(class DrumFillTrackWatcherImpl * const this /* r29 */, int tick /* r30 */) { // Local variables class BeatMatchSink * * it; // r31 } class TrackWatcherImpl { // total size: 0x90 public: void * __vptr$; // offset 0x0, size 0x4 protected: int mPlayerNum; // offset 0x4, size 0x4 int mPlayerSlot; // offset 0x8, size 0x4 class GameGemList * mGemList; // offset 0xC, size 0x4 class GameGemInfoList * mGemInfoList; // offset 0x10, size 0x4 class TrackWatcherParent * mParent; // offset 0x14, size 0x4 float mSlop; // offset 0x18, size 0x4 int mLastGemHit; // offset 0x1C, size 0x4 int mAutoCaptureUntil; // offset 0x20, size 0x4 unsigned char mIsCurrentTrack; // offset 0x24, size 0x1 int mGemInProgress; // offset 0x28, size 0x4 float mGemInProgressEndMs; // offset 0x2C, size 0x4 float mSyncOffset; // offset 0x30, size 0x4 unsigned char mSucceeding; // offset 0x34, size 0x1 unsigned char mEnabled; // offset 0x35, size 0x1 class vector mSinks; // offset 0x38, size 0xC class SongData * mSongData; // offset 0x44, size 0x4 private: class PhraseCatcher * mCatcher; // offset 0x48, size 0x4 int mTrack; // offset 0x4C, size 0x4 unsigned char mButtonMashingMode; // offset 0x50, size 0x1 int mLastGemPassed; // offset 0x54, size 0x4 int mLastGemSeen; // offset 0x58, size 0x4 float mLastMiss; // offset 0x5C, size 0x4 unsigned char mCheating; // offset 0x60, size 0x1 unsigned char mAutoplayCoda; // offset 0x61, size 0x1 int mCheatError; // offset 0x64, size 0x4 int mNextCheatError; // offset 0x68, size 0x4 float mLastCheatCodaSwing; // offset 0x6C, size 0x4 int mNextGemToAutoplay; // offset 0x70, size 0x4 float mAutoplayAccuracy; // offset 0x74, size 0x4 unsigned char mPitchBendReady; // offset 0x78, size 0x1 int mPitchBendRange; // offset 0x7C, size 0x4 int mPitchBendMsToFull; // offset 0x80, size 0x4 float mPitchBendMsHit; // offset 0x84, size 0x4 float mBiggestWhammy; // offset 0x88, size 0x4 unsigned char mCanSwitchTracks; // offset 0x8C, size 0x1 }; class DrumTrackWatcherImpl : public TrackWatcherImpl { // total size: 0x94 int mNextKickGemToAutoplay; // offset 0x90, size 0x4 }; struct { // total size: 0x90 } __vt__24DrumFillTrackWatcherImpl; // size: 0x90, address: 0x808CAA68 struct { // total size: 0x8 } __RTTI__24DrumFillTrackWatcherImpl; // size: 0x8, address: 0x808CAB28 struct { // total size: 0x8 } __RTTI__20DrumTrackWatcherImpl; // size: 0x8, address: 0x808CAB58 struct { // total size: 0x8 } __RTTI__16TrackWatcherImpl; // size: 0x8, address: 0x808CAB78 /* Compile unit: C:\rockband2\system\src\beatmatch\TrackWatcherImpl_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D8C18 -> 0x802D8C3C */ // Range: 0x802D8C18 -> 0x802D8C28 float TrackWatcherImpl::Slop() {} // Range: 0x802D8C28 -> 0x802D8C30 unsigned char TrackWatcherImpl::GemCanBePassed() {} // Range: 0x802D8C30 -> 0x802D8C34 void TrackWatcherImpl::HitGemHook() {} // Range: 0x802D8C34 -> 0x802D8C38 void TrackWatcherImpl::AutoCaptureHook() {} // Range: 0x802D8C38 -> 0x802D8C3C void TrackWatcherImpl::FillStop() {} /* Compile unit: C:\rockband2\system\src\beatmatch\DrumTrackWatcherImpl_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D8C3C -> 0x802D8C48 */ // Range: 0x802D8C3C -> 0x802D8C40 void DrumTrackWatcherImpl::FretButtonUp() {} // Range: 0x802D8C40 -> 0x802D8C44 void DrumTrackWatcherImpl::FretButtonDown() {} // Range: 0x802D8C44 -> 0x802D8C48 void DrumTrackWatcherImpl::NonStrumSwing() {} /* Compile unit: C:\rockband2\system\src\beatmatch\DrumMap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D8C48 -> 0x802D8F04 */ // Range: 0x802D8C48 -> 0x802D8D14 void * DrumMap::DrumMap(class DrumMap * const this /* r31 */) { // References // -> struct [anonymous] __vt__7DrumMap; } // Range: 0x802D8D14 -> 0x802D8D58 unsigned char DrumMap::LaneOn() {} // Range: 0x802D8D58 -> 0x802D8D9C unsigned char DrumMap::LaneOff() {} // Range: 0x802D8D9C -> 0x802D8DBC int DrumMap::LanesAt() {} // Range: 0x802D8DBC -> 0x802D8DFC class DrumMap * DrumMap::Duplicate(const class DrumMap * const this /* r31 */) {} // Range: 0x802D8DFC -> 0x802D8EBC void DrumMap::UpdateLanes() {} // Range: 0x802D8EBC -> 0x802D8F04 void * DrumMap::DrumMap(class DrumMap * const this /* r31 */, const class DrumMap * rhs /* r5 */) { // References // -> struct [anonymous] __vt__7DrumMap; } struct { // total size: 0xC } __vt__7DrumMap; // size: 0xC, address: 0x808CAB80 struct { // total size: 0x8 } __RTTI__7DrumMap; // size: 0x8, address: 0x808CABB0 struct { // total size: 0xC } __vt__12DrumFillInfo; // size: 0xC, address: 0x808CABB8 struct { // total size: 0xC } __vt__8FillInfo; // size: 0xC, address: 0x808CABC4 struct { // total size: 0x8 } __RTTI__P13TickedInfo; // size: 0x8, address: 0x808CABE8 /* Compile unit: C:\rockband2\system\src\beatmatch\FillInfo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D9048 -> 0x802D92C4 */ // Range: 0x802D9048 -> 0x802D9184 void * FillInfo::~FillInfo(class FillInfo * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D92C4 -> 0x802D94B0 */ // Range: 0x802D92C4 -> 0x802D94B0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class TickedInfo * __pos /* r26 */, const class TickedInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class TickedInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13TickedInfo; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\DrumMixDB.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D94B0 -> 0x802D97A4 */ class DrumMixDB { // total size: 0x20 class vector mMixLists; // offset 0x0, size 0xC class vector mCopy; // offset 0xC, size 0x14 }; // Range: 0x802D94B0 -> 0x802D94D8 void * DrumMixDB::DrumMixDB() {} class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class TickedInfoCollection * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class TickedInfoCollection * * _M_start; // offset 0x0, size 0x4 class TickedInfoCollection * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x802D94D8 -> 0x802D9704 void * DrumMixDB::~DrumMixDB(class DrumMixDB * const this /* r28 */) { // Local variables int i; // r30 } struct { // total size: 0x8 } __RTTI__PUi; // size: 0x8, address: 0x808CAC30 // Range: 0x802D9704 -> 0x802D97A4 class TickedInfoCollection & DrumMixDB::GetMixList(const class DrumMixDB * const this /* r30 */, int track /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__P19TickedInfo<6String>; // size: 0x8, address: 0x808CACA8 struct { // total size: 0x8 } __RTTI__PP29TickedInfoCollection<6String>; // size: 0x8, address: 0x808CACD0 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D97A4 -> 0x802D9FB0 */ // Range: 0x802D97A4 -> 0x802D988C unsigned char DrumMixDB::AddMix(class DrumMixDB * const this /* r28 */, int track /* r29 */, int tick /* r30 */, const char * mix /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802D988C -> 0x802D9FB0 void DrumMixDB::CopyTrack(class DrumMixDB * const this /* r29 */, int old_track /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802D9FB0 -> 0x802DA6D0 */ // Range: 0x802D9FB0 -> 0x802DA6D0 void DrumMixDB::AddTrack(class DrumMixDB * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\beatmatch\TickedInfo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DA6D0 -> 0x802DA808 */ // Range: 0x802DA6D0 -> 0x802DA7C8 unsigned char TickedInfoCollection::AddInfo(class TickedInfoCollection * const this /* r30 */, int tick /* r31 */) {} // Range: 0x802DA7C8 -> 0x802DA808 void * TickedInfo::TickedInfo(class TickedInfo * const this /* r31 */, int tick /* r0 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DA808 -> 0x802DAB58 */ // Range: 0x802DA808 -> 0x802DAA20 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class TickedInfo * __pos /* r26 */, const class TickedInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class TickedInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P19TickedInfo<6String>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DAA20 -> 0x802DAB58 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TickedInfoCollection * * __pos /* r28 */, class TickedInfoCollection * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TickedInfoCollection * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP29TickedInfoCollection<6String>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\DrumPlayer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DAB58 -> 0x802DADCC */ static char * seq_names[9]; // size: 0x24, address: 0x808CAD6C // Range: 0x802DAB58 -> 0x802DAD54 void DrumPlayer::Play(class DrumPlayer * const this /* r31 */, int slot /* r27 */, float vol /* f31 */, class Symbol & sample_set /* r28 */) { // Local variables class DataArray * seq_list; // r29 class DataArray * seq_cfg; // r28 const char * seq_name; // r28 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Synth * TheSynth; // -> static char * seq_names[9]; } // Range: 0x802DAD54 -> 0x802DADC0 void DrumPlayer::OverrideDrumSamples(class DrumPlayer * const this /* r30 */, class DataArray * seq_list /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DADC0 -> 0x802DADCC void DrumPlayer::ResetDrumSamples() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DADCC -> 0x802DAE78 */ // Range: 0x802DADCC -> 0x802DAE78 void * DrumPlayer::DrumPlayer(class DrumPlayer * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\beatmatch\DrumTrackWatcherImpl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DAE78 -> 0x802DBBE0 */ unsigned char gKickAutoplay; // size: 0x1, address: 0x80A505C8 // Range: 0x802DAE78 -> 0x802DAEC4 void * DrumTrackWatcherImpl::DrumTrackWatcherImpl(class DrumTrackWatcherImpl * const this /* r31 */, class DataArray * cfg /* r0 */) { // References // -> struct [anonymous] __vt__20DrumTrackWatcherImpl; } // Range: 0x802DAEC4 -> 0x802DAF20 void * DrumTrackWatcherImpl::~DrumTrackWatcherImpl(class DrumTrackWatcherImpl * const this /* r30 */) {} // Range: 0x802DAF20 -> 0x802DB25C int DrumTrackWatcherImpl::RelevantGem(class DrumTrackWatcherImpl * const this /* r23 */, int first_gem_id /* r24 */, int last_gem_id /* r25 */, int slot /* r26 */) { // Local variables int g; // r30 int num_unplayed; // r29 class GameGem & gem; // r0 unsigned char choose_any; // r29 int closest_gem; // r28 int closest_gem_distance; // r27 class GameGem & gem; // r0 int distance; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DB25C -> 0x802DB618 unsigned char DrumTrackWatcherImpl::Swing(class DrumTrackWatcherImpl * const this /* r28 */, int slot /* r29 */, unsigned char provisional /* r30 */) { // Local variables float simul_slop_ms; // f30 float now; // f29 int first_gem_id; // r26 float gem_ms; // f0 int last_gem_id; // r27 int gem_id; // r31 unsigned char ok; // r0 class GameGem & gem; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DB618 -> 0x802DB61C void DrumTrackWatcherImpl::PollHook() {} // Range: 0x802DB61C -> 0x802DB678 void DrumTrackWatcherImpl::JumpHook(class DrumTrackWatcherImpl * const this /* r31 */) { // Local variables int first_new_gem; // r3 } // Range: 0x802DB678 -> 0x802DB8A4 void DrumTrackWatcherImpl::CheckForKickAutoplay(class DrumTrackWatcherImpl * const this /* r29 */, float ms /* f29 */) { // Local variables float now; // f30 int last_gem; // r30 float next_gem_ms; // f0 class GameGem & gem; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> unsigned char gKickAutoplay; } // Range: 0x802DB8A4 -> 0x802DBBE0 int DrumTrackWatcherImpl::NextGemAfter(class DrumTrackWatcherImpl * const this /* r23 */, int gem_id /* r24 */, unsigned char timeout /* r25 */) { // Local variables int group_tick; // r28 int group; // r27 int gem; // r26 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x90 } __vt__20DrumTrackWatcherImpl; // size: 0x90, address: 0x808CAEA0 /* Compile unit: C:\rockband2\system\src\beatmatch\TrackWatcherImpl_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DBBE0 -> 0x802DBBEC */ // Range: 0x802DBBE0 -> 0x802DBBE4 void TrackWatcherImpl::FillSwing() {} // Range: 0x802DBBE4 -> 0x802DBBE8 void TrackWatcherImpl::ResetFill() {} // Range: 0x802DBBE8 -> 0x802DBBEC void TrackWatcherImpl::RegisterFill() {} /* Compile unit: C:\rockband2\system\src\beatmatch\FillInfo.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DBBEC -> 0x802DC1CC */ // Range: 0x802DBBEC -> 0x802DBC0C unsigned char FillExtentCmp() {} // Range: 0x802DBC0C -> 0x802DBC28 unsigned char FillExtentCmpIncludingEnd() {} // Range: 0x802DBC28 -> 0x802DBD1C unsigned char FillInfo::AddFill() { // Local variables int new_tick; // r6 int new_duration; // r5 } // Range: 0x802DBD1C -> 0x802DBDB0 unsigned char FillInfo::FillAt(const class FillInfo * const this /* r31 */, int tick /* r1+0x8 */, unsigned char include_end /* r0 */) {} // Range: 0x802DBDB0 -> 0x802DBE6C unsigned char FillInfo::FillAt(const class FillInfo * const this /* r30 */, int tick /* r1+0x8 */, struct FillExtent & outExtent /* r31 */) {} // Range: 0x802DBE6C -> 0x802DBEAC unsigned char FillInfo::NextFillExtents() { // Local variables const struct FillExtent * it; // r6 } // Range: 0x802DBEAC -> 0x802DBEFC unsigned char FillInfo::FillExtentAtOrBefore() { // Local variables const struct FillExtent * it; // r7 } // Range: 0x802DBEFC -> 0x802DBFA8 unsigned char FillInfo::AddLanes() {} // Range: 0x802DBFA8 -> 0x802DBFEC void FillInfo::WipeFills() {} // Range: 0x802DBFEC -> 0x802DC190 void * FillInfo::FillInfo(class FillInfo * const this /* r30 */, const class TickedInfoCollection & lanes /* r28 */, const class vector & solos /* r31 */) { // References // -> struct [anonymous] __RTTI__P10FillExtent; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13TickedInfo; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__8FillInfo; } struct { // total size: 0x8 } __RTTI__P10FillExtent; // size: 0x8, address: 0x808CAF68 // Range: 0x802DC190 -> 0x802DC1CC void * DrumFillInfo::DrumFillInfo(class DrumFillInfo * const this /* r31 */) { // References // -> struct [anonymous] __vt__12DrumFillInfo; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC1CC -> 0x802DC25C */ // Range: 0x802DC1CC -> 0x802DC25C struct FillExtent * __lower_bound(const struct FillExtent * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(struct FillExtent &, int) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const struct FillExtent * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC25C -> 0x802DC2F8 */ // Range: 0x802DC25C -> 0x802DC2F8 int FillInfo::LanesAt(const class FillInfo * const this /* r31 */) { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC2F8 -> 0x802DC388 */ // Range: 0x802DC2F8 -> 0x802DC388 class TickedInfo * __upper_bound(const class TickedInfo * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(class TickedInfo &) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class TickedInfo * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\beatmatch\TickedInfo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC388 -> 0x802DC3A4 */ // Range: 0x802DC388 -> 0x802DC3A4 unsigned char TickedInfoCollection::Cmp() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC3A4 -> 0x802DC3AC */ // Range: 0x802DC3A4 -> 0x802DC3A8 class StlNodeAlloc vector::get_allocator() {} // Range: 0x802DC3A8 -> 0x802DC3AC class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC3AC -> 0x802DC598 */ // Range: 0x802DC3AC -> 0x802DC598 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct FillExtent * __pos /* r26 */, const struct FillExtent & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct FillExtent * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10FillExtent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\GameGem.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC598 -> 0x802DC7AC */ // Range: 0x802DC598 -> 0x802DC600 void * GameGem::GameGem() {} // Range: 0x802DC600 -> 0x802DC680 int GameGem::NumSlots() { // Local variables int slots; // r5 int num_slots; // r3 int i; // r6 int bit; // r7 // References // -> class Debug TheDebug; } // Range: 0x802DC680 -> 0x802DC688 unsigned char GameGem::PlayableBy() {} // Range: 0x802DC688 -> 0x802DC758 void GameGem::RecalculateTimes(class GameGem * const this /* r28 */, class TempoMap * tempo /* r29 */) {} // Range: 0x802DC758 -> 0x802DC7AC void GameGem::CopyGem() {} /* Compile unit: C:\rockband2\system\src\beatmatch\GameGemDB.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DC7AC -> 0x802DD368 */ // Range: 0x802DC7AC -> 0x802DC7DC void * GameGemDB::GameGemDB() {} // Range: 0x802DC7DC -> 0x802DC9F0 void * GameGemDB::~GameGemDB(class GameGemDB * const this /* r28 */) { // Local variables int i; // r30 } // Range: 0x802DC9F0 -> 0x802DCAA0 class GameGemList & GameGemDB::GetGemList(const class GameGemDB * const this /* r30 */, int track /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DCAA0 -> 0x802DCB54 class GameGemList & GameGemDB::GetGemList(class GameGemDB * const this /* r30 */, int track /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DCB54 -> 0x802DD210 void GameGemDB::CopyTrack(class GameGemDB * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DD210 -> 0x802DD310 void GameGemDB::Finalize(class GameGemDB * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x802DD310 -> 0x802DD368 void GameGemDB::RecalculateGemTimes(class GameGemDB * const this /* r30 */) { // Local variables class GameGemList * const * it; // r31 } struct { // total size: 0x8 } __RTTI__PP11GameGemList; // size: 0x8, address: 0x808CB0E0 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DD368 -> 0x802DD56C */ // Range: 0x802DD368 -> 0x802DD43C unsigned char GameGemDB::AddMultiGem(class GameGemDB * const this /* r30 */, const class MultiGemInfo & info /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DD43C -> 0x802DD56C void GameGemDB::CopyGems(class GameGemDB * const this /* r23 */, int start_tick /* r24 */, int end_tick /* r25 */, int dest_tick /* r26 */, int gems_tick /* r27 */, int loops /* r28 */, int dest_track /* r29 */, int src_track /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DD56C -> 0x802DDC8C */ // Range: 0x802DD56C -> 0x802DDC8C void GameGemDB::AddTrack(class GameGemDB * const this /* r29 */, int track /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DDC8C -> 0x802DDDC4 */ // Range: 0x802DDC8C -> 0x802DDDC4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class GameGemList * * __pos /* r28 */, class GameGemList * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class GameGemList * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11GameGemList; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\GameGemInfoDB.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DDDC4 -> 0x802DE7EC */ // Range: 0x802DDDC4 -> 0x802DDFC0 void GameGemInfoList::CopyList(class GameGemInfoList * const this /* r27 */, const class GameGemInfoList * rhs /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11GameGemInfo; // -> unsigned char gStlAllocNameLookup; } struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__P11GameGemInfo; // size: 0x8, address: 0x808CB0F8 // Range: 0x802DDFC0 -> 0x802DE054 void GameGemInfoList::AddMultiGem(class GameGemInfoList * const this /* r31 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x14 } // Range: 0x802DE054 -> 0x802DE080 void GameGemInfoList::Reset() { // Local variables int i; // r5 } // Range: 0x802DE080 -> 0x802DE1C4 void GameGemInfoList::Finalize(class GameGemInfoList * const this /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11GameGemInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DE1C4 -> 0x802DE300 void * GameGemInfoPlayerDB::~GameGemInfoPlayerDB(class GameGemInfoPlayerDB * const this /* r28 */) { // Local variables int i; // r30 } // Range: 0x802DE300 -> 0x802DE3D0 void GameGemInfoPlayerDB::CopyTrack(class GameGemInfoPlayerDB * const this /* r30 */, int old_track /* r31 */) { // Local variables class GameGemInfoList * list; // r1+0xC } // Range: 0x802DE3D0 -> 0x802DE434 void GameGemInfoPlayerDB::Finalize(class GameGemInfoPlayerDB * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x802DE434 -> 0x802DE4A4 void * GameGemInfoDB::GameGemInfoDB(class GameGemInfoDB * const this /* r29 */, int num_players /* r30 */) { // Local variables int i; // r31 } // Range: 0x802DE4A4 -> 0x802DE584 void * GameGemInfoDB::~GameGemInfoDB(class GameGemInfoDB * const this /* r31 */) { // Local variables int i; // r29 } // Range: 0x802DE584 -> 0x802DE61C void GameGemInfoDB::AddPlayer(class GameGemInfoDB * const this /* r31 */) {} // Range: 0x802DE61C -> 0x802DE62C class GameGemInfoPlayerDB & GameGemInfoDB::GetPlayerDB() {} // Range: 0x802DE62C -> 0x802DE6A0 void GameGemInfoDB::AddTrack(class GameGemInfoDB * const this /* r29 */, int track /* r30 */) { // Local variables int i; // r31 } // Range: 0x802DE6A0 -> 0x802DE714 void GameGemInfoDB::AddMultiGem(class GameGemInfoDB * const this /* r29 */, const class MultiGemInfo & info /* r30 */) { // Local variables int i; // r31 } // Range: 0x802DE714 -> 0x802DE788 void GameGemInfoDB::CopyTrack(class GameGemInfoDB * const this /* r29 */, int old_track /* r30 */) { // Local variables int i; // r31 } // Range: 0x802DE788 -> 0x802DE7EC void GameGemInfoDB::Finalize(class GameGemInfoDB * const this /* r30 */) { // Local variables int i; // r31 } struct { // total size: 0x8 } __RTTI__PP19GameGemInfoPlayerDB; // size: 0x8, address: 0x808CB1C8 struct { // total size: 0x8 } __RTTI__PP15GameGemInfoList; // size: 0x8, address: 0x808CB1E8 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DE7EC -> 0x802DE81C */ // Range: 0x802DE7EC -> 0x802DE804 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x802DE804 -> 0x802DE81C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DE81C -> 0x802DE820 */ // Range: 0x802DE81C -> 0x802DE820 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DE820 -> 0x802DEA8C */ // Range: 0x802DE820 -> 0x802DE910 void GameGemInfoPlayerDB::AddTrack(class GameGemInfoPlayerDB * const this /* r30 */, int track /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DE910 -> 0x802DE9C0 void GameGemInfoPlayerDB::AddMultiGem(class GameGemInfoPlayerDB * const this /* r30 */, const class MultiGemInfo & info /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DE9C0 -> 0x802DEA60 class GameGemInfoList & GameGemInfoPlayerDB::GetGemInfoList(class GameGemInfoPlayerDB * const this /* r30 */, int track /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DEA60 -> 0x802DEA8C void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DEA8C -> 0x802DF13C */ // Range: 0x802DEA8C -> 0x802DEBC4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class GameGemInfoPlayerDB * * __pos /* r28 */, class GameGemInfoPlayerDB * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class GameGemInfoPlayerDB * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP19GameGemInfoPlayerDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DEBC4 -> 0x802DED0C void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class GameGemInfoPlayerDB * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP19GameGemInfoPlayerDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DED0C -> 0x802DEE44 void vector::_M_insert_overflow(class vector * const this /* r27 */, class GameGemInfoList * * __pos /* r28 */, class GameGemInfoList * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class GameGemInfoList * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15GameGemInfoList; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DEE44 -> 0x802DEFF8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class GameGemInfo * __pos /* r26 */, const class GameGemInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class GameGemInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11GameGemInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DEFF8 -> 0x802DF13C void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class GameGemInfo * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11GameGemInfo; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\GameGemList.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DF13C -> 0x802DF7E0 */ // Range: 0x802DF13C -> 0x802DF158 void * GameGemList::GameGemList() {} // Range: 0x802DF158 -> 0x802DF33C unsigned char GameGemList::AddMultiGem(class GameGemList * const this /* r31 */, const class MultiGemInfo & info /* r29 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x18 unsigned char will_be_no_strum; // r0 } // Range: 0x802DF33C -> 0x802DF3B8 int GameGemList::ClosestMarkerIdxAtOrAfter(const class GameGemList * const this /* r31 */, float ms /* r1+0x8 */) {} // Range: 0x802DF3B8 -> 0x802DF434 int GameGemList::ClosestMarkerIdxAtOrAfterTick(const class GameGemList * const this /* r31 */, int tick /* r1+0x8 */) {} // Range: 0x802DF434 -> 0x802DF4EC float GameGemList::TimeAtNext(const class GameGemList * const this /* r30 */, int idx /* r31 */) { // Local variables int new_idx; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DF4EC -> 0x802DF678 void GameGemList::Finalize(class GameGemList * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7GameGem; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802DF678 -> 0x802DF6E0 void GameGemList::RecalculateGemTimes(class GameGemList * const this /* r29 */, class TempoMap * tempo /* r30 */) { // Local variables class GameGem * it; // r31 } struct _OKToMemCpy { // total size: 0x1 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; static class Symbol chord_hopos; // size: 0x4, address: 0x80A505D4 // Range: 0x802DF6E0 -> 0x802DF7E0 unsigned char GameGemList::WillBeNoStrum(class GameGemList * const this /* r29 */, const class MultiGemInfo & info /* r30 */) { // References // -> static class Symbol chord_hopos; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DF7E0 -> 0x802DFC6C */ // Range: 0x802DF7E0 -> 0x802DFC6C void GameGemList::CopyGems(class GameGemList * const this /* r24 */, int start_tick /* r25 */, int end_tick /* r26 */, int dest_tick /* r27 */, int gems_tick /* r28 */, int loops /* r29 */, class GameGemList * src_list /* r30 */) { // Local variables int i; // r1+0x20 class vector source_gems; // r1+0x30 class vector dest_gems; // r1+0x24 int j; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DFC6C -> 0x802DFE48 */ // Range: 0x802DFC6C -> 0x802DFDC0 int GameGemList::ClosestMarkerIdx(const class GameGemList * const this /* r29 */, float ms /* r1+0x8 */) { // Local variables unsigned char curCloser; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802DFDC0 -> 0x802DFE48 float GameGemList::TimeAt(const class GameGemList * const this /* r30 */, int idx /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\beatmatch\GameGem.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DFE48 -> 0x802DFE78 */ // Range: 0x802DFE48 -> 0x802DFE5C unsigned char GameGemCmp() {} // Range: 0x802DFE5C -> 0x802DFE78 unsigned char GameGemTickCmp() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DFE78 -> 0x802DFF98 */ // Range: 0x802DFE78 -> 0x802DFF08 class GameGem * __lower_bound(const class GameGem * __first /* r26 */, const float & __val /* r27 */, unsigned char (* __comp)(class GameGem &, float) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class GameGem * __middle; // r29 } // Range: 0x802DFF08 -> 0x802DFF98 class GameGem * __lower_bound(const class GameGem * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(class GameGem &, int) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class GameGem * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802DFF98 -> 0x802E07F8 */ // Range: 0x802DFF98 -> 0x802E0048 void sort(class GameGem * __first /* r29 */, class GameGem * __last /* r30 */) {} // Range: 0x802E0048 -> 0x802E00E8 void __final_insertion_sort(class GameGem * __first /* r29 */, class GameGem * __last /* r30 */, struct less & __comp /* r31 */) {} // Range: 0x802E00E8 -> 0x802E0170 void __unguarded_insertion_sort_aux(class GameGem * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class GameGem * __i; // r31 } // Range: 0x802E0170 -> 0x802E0208 void __unguarded_linear_insert() { // Local variables class GameGem * __next; // r5 } // Range: 0x802E0208 -> 0x802E0380 void __insertion_sort(class GameGem * __first /* r28 */, class GameGem * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class GameGem * __i; // r31 } // Range: 0x802E0380 -> 0x802E0524 void __introsort_loop(class GameGem * __first /* r28 */, class GameGem * __last /* r29 */, long __depth_limit /* r30 */, struct less & __comp /* r31 */) { // Local variables class GameGem * __cut; // r27 } // Range: 0x802E0524 -> 0x802E0664 class GameGem * __unguarded_partition(class GameGem * __first /* r29 */, class GameGem * __last /* r30 */, class GameGem & __pivot /* r31 */) {} // Range: 0x802E0664 -> 0x802E0694 void partial_sort() {} // Range: 0x802E0694 -> 0x802E07F8 void __partial_sort(class GameGem * __first /* r27 */, class GameGem * __middle /* r28 */, class GameGem * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class GameGem * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E07F8 -> 0x802E0828 */ // Range: 0x802E07F8 -> 0x802E0810 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x802E0810 -> 0x802E0828 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E0828 -> 0x802E083C */ // Range: 0x802E0828 -> 0x802E083C struct less __less() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E083C -> 0x802E0BE4 */ // Range: 0x802E083C -> 0x802E0914 void pop_heap(class GameGem * __last /* r7 */) {} // Range: 0x802E0914 -> 0x802E0AF4 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r7 } // Range: 0x802E0AF4 -> 0x802E0BE4 void make_heap(class GameGem * __first /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E0BE4 -> 0x802E0E70 */ // Range: 0x802E0BE4 -> 0x802E0E70 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class GameGem * __pos /* r26 */, const class GameGem & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class GameGem * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7GameGem; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\GuitarController.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E0E70 -> 0x802E211C */ enum ControllerStyle { kPS2 = 0, kPS3 = 1, kHxXbox = 2, kRoXbox = 3, kRoPS3 = 4, kHxWii = 5, }; class GuitarController : public BeatMatchController { // total size: 0x60 unsigned char mDisabled; // offset 0x3C, size 0x1 unsigned int mFretMask; // offset 0x40, size 0x4 unsigned int mShiftButtonMask; // offset 0x44, size 0x4 class BeatMatchControllerSink * mSink; // offset 0x48, size 0x4 enum ControllerStyle mControllerStyle; // offset 0x4C, size 0x4 class vector mStrumBarButtons; // offset 0x50, size 0xC enum JoypadButton mMercuryButton; // offset 0x5C, size 0x4 }; // Range: 0x802E0E70 -> 0x802E1380 void * GuitarController::GuitarController(class GuitarController * const this /* r26 */, const class DataArray * cfg /* r27 */, class BeatMatchControllerSink * sink /* r30 */, unsigned char disabled /* r28 */, unsigned char lefty /* r29 */) { // Local variables class Symbol controller_style; // r1+0x30 class DataArray * strum_buttons; // r28 int i; // r29 class DataArray * shift_button_cfg; // r27 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> struct [anonymous] __vt__16GuitarController; } // Range: 0x802E1380 -> 0x802E1430 void * GuitarController::~GuitarController(class GuitarController * const this /* r30 */) { // References // -> struct [anonymous] __vt__16GuitarController; } // Range: 0x802E1430 -> 0x802E14BC void GuitarController::Disable(class GuitarController * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x802E14BC -> 0x802E1588 float GuitarController::GetWhammyBar(const class GuitarController * const this /* r31 */) { // Local variables class JoypadData * joy; // r0 float val; // r1+0x8 } // Range: 0x802E1588 -> 0x802E1630 void GuitarController::Poll(class GuitarController * const this /* r31 */) { // Local variables class JoypadData * joy; // r0 } // Range: 0x802E1630 -> 0x802E1884 unsigned char GuitarController::OnMsg(class GuitarController * const this /* r29 */, const class ButtonDownMsg & msg /* r30 */) { // Local variables enum JoypadButton but; // r1+0x8 int * strum_it; // r0 int slot; // r0 int slot; // r30 unsigned char real_swing; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E1884 -> 0x802E1A34 unsigned char GuitarController::OnMsg(class GuitarController * const this /* r29 */, const class ButtonUpMsg & msg /* r30 */) { // Local variables enum JoypadButton but; // r1+0x8 int * strum_it; // r0 int slot; // r31 int pull_off_slot; // r4 } // Range: 0x802E1A34 -> 0x802E1BB4 void GuitarController::ReconcileFretState(class GuitarController * const this /* r30 */) { // Local variables class JoypadData * joyData; // r0 int new_fret_mask; // r26 int slot; // r25 unsigned char was_on; // r0 } // Range: 0x802E1BB4 -> 0x802E1BEC int GuitarController::GetCurrentSlot() { // Local variables int slot; // r5 int i; // r6 } // Range: 0x802E1BEC -> 0x802E1C34 unsigned char GuitarController::IsShifted(const class GuitarController * const this /* r31 */) {} // Range: 0x802E1C34 -> 0x802E211C class DataNode GuitarController::Handle(class GuitarController * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__11ButtonUpMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0x88 } __vt__16GuitarController; // size: 0x88, address: 0x808CB3A8 struct { // total size: 0x8 } __RTTI__16GuitarController; // size: 0x8, address: 0x808CB460 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E211C -> 0x802E21FC */ // Range: 0x802E211C -> 0x802E21FC int * find() {} /* Compile unit: C:\rockband2\system\src\beatmatch\GuitarController_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E21FC -> 0x802E220C */ // Range: 0x802E21FC -> 0x802E2204 unsigned int GuitarController::GetFretButtons() {} // Range: 0x802E2204 -> 0x802E220C unsigned char GuitarController::IsDisabled() {} /* Compile unit: C:\rockband2\system\src\beatmatch\GuitarTrackWatcherImpl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E220C -> 0x802E36D0 */ class GuitarTrackWatcherImpl : public TrackWatcherImpl { // total size: 0xB8 int mFretButtonsDown; // offset 0x90, size 0x4 int mLastNoStrumGemHit; // offset 0x94, size 0x4 int mLastNoStrumGemSwung; // offset 0x98, size 0x4 float mLastLateGemHit; // offset 0x9C, size 0x4 float mMostRecentHit; // offset 0xA0, size 0x4 int mGemNotFretted; // offset 0xA4, size 0x4 int mFretWhenStrummed; // offset 0xA8, size 0x4 float mFretWaitTimeout; // offset 0xAC, size 0x4 unsigned char mHarmlessSwing; // offset 0xB0, size 0x1 float mFretSlop; // offset 0xB4, size 0x4 }; // Range: 0x802E220C -> 0x802E228C void * GuitarTrackWatcherImpl::GuitarTrackWatcherImpl(class GuitarTrackWatcherImpl * const this /* r31 */, class DataArray * cfg /* r0 */) { // References // -> struct [anonymous] __vt__22GuitarTrackWatcherImpl; } // Range: 0x802E228C -> 0x802E22E8 void * GuitarTrackWatcherImpl::~GuitarTrackWatcherImpl(class GuitarTrackWatcherImpl * const this /* r30 */) {} // Range: 0x802E22E8 -> 0x802E232C void GuitarTrackWatcherImpl::PollHook(class GuitarTrackWatcherImpl * const this /* r31 */, float ms /* f31 */) {} // Range: 0x802E232C -> 0x802E236C void GuitarTrackWatcherImpl::JumpHook(class GuitarTrackWatcherImpl * const this /* r31 */) {} // Range: 0x802E236C -> 0x802E2A54 unsigned char GuitarTrackWatcherImpl::Swing(class GuitarTrackWatcherImpl * const this /* r24 */, int slot /* r25 */, unsigned char guitar /* r26 */, unsigned char provisional /* r27 */) { // Local variables float now; // f31 int now_tick; // r29 unsigned char in_coda_freestyle; // r0 int closest_gem_id; // r30 int gem_id; // r28 float nearest_chunk_ms; // f0 unsigned char in_window; // r0 float delta; // f0 class GameGem & gem; // r0 unsigned char ok; // r23 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E2A54 -> 0x802E2AB8 void GuitarTrackWatcherImpl::NonStrumSwing(class GuitarTrackWatcherImpl * const this /* r29 */, int slot /* r30 */, unsigned char button_down /* r31 */) { // Local variables float now; // f0 } // Range: 0x802E2AB8 -> 0x802E2B54 void GuitarTrackWatcherImpl::FretButtonDown(class GuitarTrackWatcherImpl * const this /* r30 */, int slot /* r31 */) { // Local variables float now; // f0 int gem_id; // r4 } // Range: 0x802E2B54 -> 0x802E2C5C void GuitarTrackWatcherImpl::FretButtonUp(class GuitarTrackWatcherImpl * const this /* r31 */) { // Local variables int gem_slots; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E2C5C -> 0x802E2C60 void GuitarTrackWatcherImpl::AutoCaptureHook() {} // Range: 0x802E2C60 -> 0x802E2C74 void GuitarTrackWatcherImpl::HitGemHook() {} // Range: 0x802E2C74 -> 0x802E2C8C unsigned char GuitarTrackWatcherImpl::GemCanBePassed() {} // Range: 0x802E2C8C -> 0x802E2CDC float GuitarTrackWatcherImpl::Slop(class GuitarTrackWatcherImpl * const this /* r31 */) {} // Range: 0x802E2CDC -> 0x802E2CFC void GuitarTrackWatcherImpl::ResetGemNotFretted() {} // Range: 0x802E2CFC -> 0x802E2F90 void GuitarTrackWatcherImpl::TryToFinishSwing(class GuitarTrackWatcherImpl * const this /* r29 */, float ms /* f31 */, int slot /* r30 */) { // Local variables class GameGem & gem; // r0 unsigned char ok; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E2F90 -> 0x802E32E0 void GuitarTrackWatcherImpl::TryToHopo(class GuitarTrackWatcherImpl * const this /* r27 */, float ms /* f30 */, int slot /* r28 */, unsigned char button_down /* r29 */) { // Local variables int gem_id; // r30 float nearest_chunk_ms; // f0 float chunk_end_ms; // f0 float delta; // f2 int tick; // r26 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E32E0 -> 0x802E3348 void GuitarTrackWatcherImpl::CheckForFretTimeout(class GuitarTrackWatcherImpl * const this /* r31 */) {} // Range: 0x802E3348 -> 0x802E343C void GuitarTrackWatcherImpl::CheckForHopoTimeout(class GuitarTrackWatcherImpl * const this /* r29 */, float ms /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E343C -> 0x802E35A4 unsigned char GuitarTrackWatcherImpl::CanHopo(const class GuitarTrackWatcherImpl * const this /* r29 */, int gem_id /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E35A4 -> 0x802E36D0 unsigned char GuitarTrackWatcherImpl::HarmlessFretDown(const class GuitarTrackWatcherImpl * const this /* r31 */, int gem_id /* r29 */) { // Local variables int slot_bit; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x90 } __vt__22GuitarTrackWatcherImpl; // size: 0x90, address: 0x808CB618 struct { // total size: 0x8 } __RTTI__22GuitarTrackWatcherImpl; // size: 0x8, address: 0x808CB6D0 /* Compile unit: C:\rockband2\system\src\beatmatch\JoypadController.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E36D0 -> 0x802E4448 */ class JoypadController : public BeatMatchController { // total size: 0x54 unsigned char mDisabled; // offset 0x3C, size 0x1 unsigned char mUseDpad; // offset 0x3D, size 0x1 unsigned char mAlternateMapping; // offset 0x3E, size 0x1 unsigned int mFretMask; // offset 0x40, size 0x4 class BeatMatchControllerSink * mSink; // offset 0x44, size 0x4 class JoypadClient * mClient; // offset 0x48, size 0x4 class DataArray * mVelocityAxes; // offset 0x4C, size 0x4 class DataArray * mVelocityPressures; // offset 0x50, size 0x4 }; // Range: 0x802E36D0 -> 0x802E3768 void * JoypadController::~JoypadController(class JoypadController * const this /* r30 */) { // References // -> struct [anonymous] __vt__16JoypadController; } // Range: 0x802E3768 -> 0x802E37B0 int JoypadController::MapSlot() {} // Range: 0x802E37B0 -> 0x802E37FC int JoypadController::ButtonToSlot(class JoypadController * const this /* r31 */) { // Local variables int slot; // r4 } // Range: 0x802E37FC -> 0x802E3834 int JoypadController::SlotToButton(class JoypadController * const this /* r31 */) {} // Range: 0x802E3834 -> 0x802E38C0 void JoypadController::Disable(class JoypadController * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x802E38C0 -> 0x802E3930 float JoypadController::GetWhammyBar(const class JoypadController * const this /* r31 */) { // Local variables class JoypadData * joy; // r0 } // Range: 0x802E3930 -> 0x802E3A44 int JoypadController::GetVelocityBucket(const class JoypadController * const this /* r29 */, int slot /* r30 */) { // Local variables class JoypadData * data; // r31 class DataArray * pair; // r30 class Symbol axis; // r1+0x14 class DataArray * pair; // r30 } // Range: 0x802E3A44 -> 0x802E3BCC int JoypadController::GetVirtualSlot(const class JoypadController * const this /* r30 */, int slot /* r31 */) { // Local variables class JoypadData * data; // r0 int val; // [invalid] // References // -> class Debug TheDebug; } // Range: 0x802E3BCC -> 0x802E3D4C unsigned char JoypadController::OnMsg(class JoypadController * const this /* r30 */, const class ButtonDownMsg & msg /* r31 */) { // Local variables enum JoypadButton but; // r4 int slot; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E3D4C -> 0x802E3E60 unsigned char JoypadController::OnMsg(class JoypadController * const this /* r30 */, const class ButtonUpMsg & msg /* r31 */) { // Local variables enum JoypadButton but; // r31 int slot; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E3E60 -> 0x802E3F60 void JoypadController::ReconcileFretState(class JoypadController * const this /* r25 */) { // Local variables class JoypadData * joyData; // r0 int new_fret_mask; // r27 int slot; // r26 unsigned char was_on; // r0 } // Range: 0x802E3F60 -> 0x802E4448 class DataNode JoypadController::Handle(class JoypadController * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__11ButtonUpMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } struct { // total size: 0x88 } __vt__16JoypadController; // size: 0x88, address: 0x808CB830 struct { // total size: 0x8 } __RTTI__16JoypadController; // size: 0x8, address: 0x808CB8E8 /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E4448 -> 0x802E469C */ // Range: 0x802E4448 -> 0x802E469C void * JoypadController::JoypadController(class JoypadController * const this /* r30 */, int player_num /* r26 */, const class DataArray * cfg /* r28 */, class BeatMatchControllerSink * sink /* r27 */, unsigned char disabled /* r31 */) { // Local variables class DataArray * dpad; // r28 class DataArray * virtual_dpad; // r27 class DataArray * repeat_dpad; // r27 class DataArray * repeat_ms; // r27 class DataArray * hold_ms; // r27 // References // -> struct [anonymous] __vt__16JoypadController; } /* Compile unit: C:\rockband2\system\src\beatmatch\JoypadController_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E469C -> 0x802E46BC */ // Range: 0x802E469C -> 0x802E46A4 unsigned char JoypadController::IsAlternateMapping() {} // Range: 0x802E46A4 -> 0x802E46AC void JoypadController::UseAlternateMapping() {} // Range: 0x802E46AC -> 0x802E46B4 unsigned int JoypadController::GetFretButtons() {} // Range: 0x802E46B4 -> 0x802E46BC unsigned char JoypadController::IsDisabled() {} /* Compile unit: C:\rockband2\system\src\beatmatch\JoypadTrackWatcherImpl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E46BC -> 0x802E4DD4 */ class JoypadTrackWatcherImpl : public TrackWatcherImpl { // total size: 0xA4 float mChordSlop; // offset 0x90, size 0x4 int mChordGemInProgress; // offset 0x94, size 0x4 int mChordSlotsInProgress; // offset 0x98, size 0x4 int mChordLastSlot; // offset 0x9C, size 0x4 float mChordTimeout; // offset 0xA0, size 0x4 }; // Range: 0x802E46BC -> 0x802E471C void * JoypadTrackWatcherImpl::JoypadTrackWatcherImpl(class JoypadTrackWatcherImpl * const this /* r31 */, class DataArray * cfg /* r0 */) { // References // -> struct [anonymous] __vt__22JoypadTrackWatcherImpl; } // Range: 0x802E471C -> 0x802E4778 void * JoypadTrackWatcherImpl::~JoypadTrackWatcherImpl(class JoypadTrackWatcherImpl * const this /* r30 */) {} // Range: 0x802E4778 -> 0x802E4B28 unsigned char JoypadTrackWatcherImpl::Swing(class JoypadTrackWatcherImpl * const this /* r27 */, int slot /* r28 */) { // Local variables float now; // f31 int gem_id; // r29 float nearest_chunk_ms; // f30 float chunk_end_ms; // f0 unsigned char ok; // r0 class GameGem & gem; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E4B28 -> 0x802E4C6C void JoypadTrackWatcherImpl::TryToCompleteChord(class JoypadTrackWatcherImpl * const this /* r30 */, float ms /* f31 */, int slot /* r31 */) { // Local variables int chord_slots; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E4C6C -> 0x802E4D4C void JoypadTrackWatcherImpl::FretButtonUp(class JoypadTrackWatcherImpl * const this /* r28 */, int slot /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E4D4C -> 0x802E4D50 void JoypadTrackWatcherImpl::HitGemHook() {} // Range: 0x802E4D50 -> 0x802E4D54 void JoypadTrackWatcherImpl::JumpHook() {} // Range: 0x802E4D54 -> 0x802E4D58 void JoypadTrackWatcherImpl::PollHook() {} // Range: 0x802E4D58 -> 0x802E4DB4 void JoypadTrackWatcherImpl::CheckForChordTimeout(class JoypadTrackWatcherImpl * const this /* r31 */) {} // Range: 0x802E4DB4 -> 0x802E4DD4 void JoypadTrackWatcherImpl::ResetChordInProgress() {} struct { // total size: 0x90 } __vt__22JoypadTrackWatcherImpl; // size: 0x90, address: 0x808CBA58 struct { // total size: 0x8 } __RTTI__22JoypadTrackWatcherImpl; // size: 0x8, address: 0x808CBB10 /* Compile unit: C:\rockband2\system\src\beatmatch\JoypadTrackWatcherImpl_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E4DD4 -> 0x802E4DDC */ // Range: 0x802E4DD4 -> 0x802E4DD8 void JoypadTrackWatcherImpl::FretButtonDown() {} // Range: 0x802E4DD8 -> 0x802E4DDC void JoypadTrackWatcherImpl::NonStrumSwing() {} /* Compile unit: C:\rockband2\system\src\beatmatch\MasterAudio.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802E4DDC -> 0x802EA838 */ static int kMaxSlots; // size: 0x4, address: 0x80A46C60 static class Symbol slip; // size: 0x4, address: 0x80A505DC static class Symbol unmute; // size: 0x4, address: 0x80A505E4 // Range: 0x802E4DDC -> 0x802E4EA8 enum AudioStyle ParseStyle(class Symbol & style /* r30 */) { // References // -> class Debug TheDebug; // -> static class Symbol unmute; // -> static class Symbol slip; } class Submix { // total size: 0x8 class Symbol mName; // offset 0x0, size 0x4 class SlotChannelMapping * mMapping; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Submix * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Submix * * _M_start; // offset 0x0, size 0x4 class Submix * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SubmixCollection { // total size: 0xC class vector mSubmixes; // offset 0x0, size 0xC }; class PitchMucker { // total size: 0x14 unsigned char mToggle; // offset 0x0, size 0x1 float mMaxPitch; // offset 0x4, size 0x4 float mMinPitch; // offset 0x8, size 0x4 unsigned int mFrames; // offset 0xC, size 0x4 unsigned int mPeriod; // offset 0x10, size 0x4 }; // Range: 0x802E4EA8 -> 0x802E5B14 void * MasterAudio::MasterAudio(class MasterAudio * const this /* r27 */, class DataArray * cfg /* r28 */, int num_players /* r29 */, class BeatMaster * beat_master /* r30 */, class SongData * song_data /* r26 */) { // Local variables float atten_db; // f0 float common_atten_db; // f0 float background_atten_db; // f0 float practice_atten_db; // r1+0x90 float unplayed_atten_db; // r1+0x8C float cue_atten_db; // r1+0x88 float remote_atten_db; // r1+0x84 class Symbol style; // r1+0x80 // References // -> const char * gNullStr; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> struct [anonymous] __vt__11MasterAudio; // -> struct [anonymous] __vt__13BeatMatchSink; // -> struct [anonymous] __vt__14BeatMasterSink; } // Range: 0x802E5B14 -> 0x802E5F54 void * MasterAudio::~MasterAudio(class MasterAudio * const this /* r30 */) { // Local variables class ChannelData * * cit; // r29 class TrackData * * tit; // r29 int i; // r29 // References // -> struct [anonymous] __vt__11MasterAudio; } // Range: 0x802E5F54 -> 0x802E6158 void MasterAudio::Load(class MasterAudio * const this /* r30 */, class DataArray * data /* r27 */, class PlayerTrackConfigList * player_track_config_list /* r31 */) { // Local variables int t; // r29 int p; // r27 // References // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E6158 -> 0x802E65F8 void MasterAudio::CopyTrack(class MasterAudio * const this /* r21 */, int track /* r24 */, int player /* r22 */, int slot /* r23 */) { // Local variables class TrackData * track_data; // r28 int num_channels; // r30 class list channels_to_dup; // r1+0x70 int num_new_channels; // r27 struct _List_iterator it; // r1+0x40 int i; // r26 int old_channel; // r25 int new_channel; // r24 class ChannelData * channel_data; // r1+0x3C struct ExtraTrackInfo extra_track_info; // r1+0x78 } // Range: 0x802E65F8 -> 0x802E6734 void MasterAudio::CreateSecondaryTrack(class MasterAudio * const this /* r29 */, int player /* r30 */, int slot /* r31 */) { // Local variables class list channels; // r1+0x30 struct _List_iterator it; // r1+0x18 struct ExtraTrackInfo extra_track_info; // r1+0x38 } // Range: 0x802E6734 -> 0x802E683C void MasterAudio::UpdateFocusVolumes(class MasterAudio * const this /* r30 */) { // Local variables float bg_volume; // f31 int num_captured_tracks; // r0 int i; // r31 float atten; // f30 } // Range: 0x802E683C -> 0x802E6898 int MasterAudio::NumCapturedTracks() { // Local variables int num_captured_tracks; // r5 int i; // r6 } // Range: 0x802E6898 -> 0x802E68D0 float MasterAudio::NumTracksToVolume() {} // Range: 0x802E68D0 -> 0x802E6C84 void MasterAudio::SetupChannels(class MasterAudio * const this /* r22 */, class DataArray * data /* r20 */, class DataArray * tracks /* r23 */) { // Local variables class DataArray * pans; // r30 class DataArray * vols; // r29 class DataArray * cores; // r28 class DataArray * crowd_channels; // r27 class DataArray * synth; // r20 int maxStreams; // r26 int nMuted; // r25 int ch; // r24 unsigned char is_play_track; // r0 class FaderGroup & faders; // r20 unsigned char is_crowd_channel; // r0 float secureVol; // f31 class ChannelData * channel_data; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E6C84 -> 0x802E7130 void MasterAudio::SetupTracks(class MasterAudio * const this /* r23 */, class DataArray * data /* r20 */, class DataArray * tracks /* r24 */, class PlayerTrackConfigList * player_track_config_list /* r25 */) { // Local variables class DataArray * methods; // r29 class DataArray * method_array; // r26 int t; // r28 class Symbol instrument; // r1+0x34 struct ExtraTrackInfo extra_track_info; // r1+0x44 enum AudioStyle method; // r26 int player; // r27 int slot; // r26 void (MasterAudio::* setup_func)(void *, void *, int, int, int, struct ExtraTrackInfo &); // r1+0x38 class DataNode & node; // r0 class DataArray * channels; // r30 int c; // r22 class DataArray * channels2; // r21 int c2; // r20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E7130 -> 0x802E7140 void MasterAudio::FillChannelList() {} // Range: 0x802E7140 -> 0x802E7290 void MasterAudio::GetExtraTrackInfo(class MasterAudio * const this /* r30 */, class PlayerTrackConfigList * player_track_config_list /* r27 */, class Symbol & instrument /* r28 */, struct ExtraTrackInfo & extra_track_info /* r31 */) { // Local variables int instrument_player; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x802E7290 -> 0x802E74B8 void MasterAudio::SetupTrackChannel(class MasterAudio * const this /* r29 */, int channel /* r30 */, struct ExtraTrackInfo & extra_track_info /* r31 */) { // Local variables float stereo_scale; // f31 float stereo_center; // f30 float max_center; // f0 float min_center; // f3 float spread; // f1 class ChannelData * channel_data; // r27 class FaderGroup & faders; // r27 } // Range: 0x802E74B8 -> 0x802E75DC void MasterAudio::SetupBackgroundChannel(class MasterAudio * const this /* r27 */, int channel /* r28 */, struct ExtraTrackInfo & extra_track_info /* r29 */) { // Local variables class FaderGroup & faders; // r31 class ChannelData * channel_data; // r30 } // Range: 0x802E75DC -> 0x802E762C void MasterAudio::CheckDuckableChannel(class MasterAudio * const this /* r31 */) { // Local variables class FaderGroup & faders; // r0 } // Range: 0x802E762C -> 0x802E7680 unsigned char MasterAudio::Fail() {} // Range: 0x802E7680 -> 0x802E76E4 unsigned char MasterAudio::IsReady(class MasterAudio * const this /* r30 */) {} // Range: 0x802E76E4 -> 0x802E7738 unsigned char MasterAudio::IsFinished() {} // Range: 0x802E7738 -> 0x802E778C unsigned char MasterAudio::IsPlaying() {} // Range: 0x802E778C -> 0x802E783C void MasterAudio::Play(class MasterAudio * const this /* r30 */) { // Local variables int c; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E783C -> 0x802E7A50 void MasterAudio::Poll(class MasterAudio * const this /* r30 */) { // Local variables class ChannelData * * it; // r29 float now; // f0 int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E7A50 -> 0x802E7B10 void MasterAudio::Jump(class MasterAudio * const this /* r30 */, float ms /* f31 */) { // Local variables int track; // r31 } // Range: 0x802E7B10 -> 0x802E7B20 void MasterAudio::ToggleMuteMaster() {} // Range: 0x802E7B20 -> 0x802E7B28 void MasterAudio::SetMuteMaster() {} // Range: 0x802E7B28 -> 0x802E7B30 void MasterAudio::SetMasterVolume() {} // Range: 0x802E7B30 -> 0x802E7B54 void MasterAudio::UpdateMasterFader(class MasterAudio * const this /* r4 */) {} // Range: 0x802E7B54 -> 0x802E7B5C void MasterAudio::SetForegroundVolume() {} // Range: 0x802E7B5C -> 0x802E7B64 void MasterAudio::SetBackgroundVolume() {} // Range: 0x802E7B64 -> 0x802E7BD8 void MasterAudio::SetStereo(class MasterAudio * const this /* r29 */, unsigned char on /* r30 */) { // Local variables int i; // r31 } // Range: 0x802E7BD8 -> 0x802E7CAC void MasterAudio::SetSpeed(class MasterAudio * const this /* r31 */, float speed /* f31 */) { // Local variables class list channels; // r1+0x28 struct _List_iterator it; // r1+0x10 } // Range: 0x802E7CAC -> 0x802E7CB8 void MasterAudio::SetVocalDuckFader() {} // Range: 0x802E7CB8 -> 0x802E7CC4 void MasterAudio::SetVocalCueFader() {} // Range: 0x802E7CC4 -> 0x802E7CD0 void MasterAudio::SetVocalFailFader() {} // Range: 0x802E7CD0 -> 0x802E7CDC void MasterAudio::SetCrowdFader() {} // Range: 0x802E7CDC -> 0x802E7CE8 void MasterAudio::SetBaseCrowdFader() {} // Range: 0x802E7CE8 -> 0x802E7DB4 void MasterAudio::ResetSlipTrack(class MasterAudio * const this /* r29 */, int track /* r30 */, unsigned char bForce /* r31 */) { // Local variables class list channels; // r1+0x28 struct _List_iterator it; // r1+0x10 } // Range: 0x802E7DB4 -> 0x802E7ED8 void MasterAudio::SetFX(class MasterAudio * const this /* r29 */, int track /* r28 */, enum FXCore core /* r30 */, unsigned char onoff /* r31 */) { // Local variables class list channels; // r1+0x28 struct _List_iterator it; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E7ED8 -> 0x802E7EFC float MasterAudio::GetTime() {} // Range: 0x802E7EFC -> 0x802E7F78 void MasterAudio::SetPaused(class MasterAudio * const this /* r31 */) {} // Range: 0x802E7F78 -> 0x802E7F80 void MasterAudio::SetMuckWithPitch() {} // Range: 0x802E7F80 -> 0x802E7FF8 void MasterAudio::SetRemoteTrack(class MasterAudio * const this /* r30 */, int track /* r31 */) {} static class Symbol mute; // size: 0x4, address: 0x80A505EC // Range: 0x802E7FF8 -> 0x802E8224 void MasterAudio::SetTrackFader(class MasterAudio * const this /* r27 */, int track /* r28 */, int slot /* r29 */, class Symbol & fader /* r30 */, float val /* f30 */, float duration /* f31 */) { // Local variables class list channels; // r1+0x40 struct _List_iterator it; // r1+0x2C int ch; // r0 class Fader * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol mute; } // Range: 0x802E8224 -> 0x802E8300 void MasterAudio::Hit(class MasterAudio * const this /* r27 */, int track /* r28 */, float ms /* f31 */, int gem_id /* r29 */) { // Local variables int slot; // r31 class TrackData * track_data; // r30 const class GameGemList & gem_list; // r30 float nearest_chunk_ms; // f31 float chunk_end_ms; // f2 } // Range: 0x802E8300 -> 0x802E8498 void MasterAudio::ReleaseGem(class MasterAudio * const this /* r30 */, int track /* r31 */, float ms /* f30 */, int gem_id /* r27 */, float delta /* f31 */) { // Local variables class GameGem & gem; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E8498 -> 0x802E8518 void MasterAudio::Miss(class MasterAudio * const this /* r29 */, int track /* r30 */, float ms /* f31 */) { // Local variables int gem_slot; // r31 } // Range: 0x802E8518 -> 0x802E85C4 void MasterAudio::Pass(class MasterAudio * const this /* r28 */, int track /* r29 */, float ms /* f31 */) { // Local variables int slot; // r30 } // Range: 0x802E85C4 -> 0x802E85F4 void MasterAudio::Ignore() {} // Range: 0x802E85F4 -> 0x802E860C void MasterAudio::PlayGem() {} // Range: 0x802E860C -> 0x802E86C8 void MasterAudio::SeeGem(class MasterAudio * const this /* r29 */, int track /* r30 */) { // Local variables class TrackData * track_data; // r6 int slot; // r31 } // Range: 0x802E86C8 -> 0x802E86EC void MasterAudio::SetHeadToHead(class MasterAudio * const this /* r5 */) {} // Range: 0x802E86EC -> 0x802E86F8 void MasterAudio::MuteAllTracks() {} // Range: 0x802E86F8 -> 0x802E8700 void MasterAudio::AddFaders() {} // Range: 0x802E8700 -> 0x802E8730 void MasterAudio::DontPlay() {} // Range: 0x802E8730 -> 0x802E8804 void MasterAudio::PlayChunk(class MasterAudio * const this /* r30 */, int track /* r31 */, float start_ms /* f30 */, float end_ms /* f31 */) { // Local variables class list channels; // r1+0x28 struct _List_iterator it; // r1+0x10 } // Range: 0x802E8804 -> 0x802E881C unsigned char MasterAudio::IsSucceeding(int track /* r0 */) {} // Range: 0x802E881C -> 0x802E8874 void MasterAudio::SetNonmutable(class MasterAudio * const this /* r30 */, int track /* r31 */) {} // Range: 0x802E8874 -> 0x802E8884 void MasterAudio::MuteTrack() {} // Range: 0x802E8884 -> 0x802E8950 void MasterAudio::MuteTrack(class MasterAudio * const this /* r29 */, int track /* r30 */, int slot /* r31 */, float fadeMs /* f30 */) { // Local variables float vol; // f31 } static class Symbol mute; // size: 0x4, address: 0x80A505F4 // Range: 0x802E8950 -> 0x802E89D8 void MasterAudio::UnmuteTrack(class MasterAudio * const this /* r29 */, int track /* r30 */, int slot /* r31 */) { // References // -> static class Symbol mute; } // Range: 0x802E89D8 -> 0x802E8A40 void MasterAudio::UnmuteAllTracks(class MasterAudio * const this /* r30 */) { // Local variables int track; // r31 } // Range: 0x802E8A40 -> 0x802E8AE0 void MasterAudio::MuteAllTracks(class MasterAudio * const this /* r27 */, enum DontPlayReason reason /* r28 */, float fadeMs /* f31 */) { // Local variables int track; // r29 } // Range: 0x802E8AE0 -> 0x802E8B54 void MasterAudio::FadeOutDrums(class MasterAudio * const this /* r30 */, int track /* r31 */) {} // Range: 0x802E8B54 -> 0x802E8BC8 void MasterAudio::RestoreDrums(class MasterAudio * const this /* r30 */, int track /* r31 */) {} // Range: 0x802E8BC8 -> 0x802E8C80 void MasterAudio::Capturing(class MasterAudio * const this /* r29 */, int track /* r31 */, unsigned char captured /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E8C80 -> 0x802E8D00 void MasterAudio::ChangeTrack(class MasterAudio * const this /* r29 */, int player /* r30 */, int new_track /* r31 */) {} // Range: 0x802E8D00 -> 0x802E8E14 void MasterAudio::SetLevels(class MasterAudio * const this /* r29 */, class DataArray * cfg /* r30 */) { // Local variables int i; // r31 } // Range: 0x802E8E14 -> 0x802E8E60 void MasterAudio::ActivePlayersChanged(class MasterAudio * const this /* r5 */) {} // Range: 0x802E8E60 -> 0x802E8ED4 void MasterAudio::HandleSubmix(class MasterAudio * const this /* r29 */, const char * description /* r30 */) {} // Range: 0x802E8ED4 -> 0x802E8F24 void MasterAudio::SetButtonMashingMode(unsigned char onoff /* r29 */) {} // Range: 0x802E8F24 -> 0x802E8FF0 void MasterAudio::FillSwing(class MasterAudio * const this /* r28 */, int track /* r29 */) {} // Range: 0x802E8FF0 -> 0x802E90F8 int MasterAudio::GemSlot(int gem_id /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E90F8 -> 0x802E9314 void MasterAudio::PrintFaders(class MasterAudio * const this /* r30 */) { // Local variables int ch; // r28 // References // -> class Debug TheDebug; } class SlipTrack { // total size: 0x1C class Stream * mStream; // offset 0x0, size 0x4 class vector mChannels; // offset 0x4, size 0xC float mOffMs; // offset 0x10, size 0x4 float mMaxSlip; // offset 0x14, size 0x4 unsigned char mOn; // offset 0x18, size 0x1 }; class ChannelData { // total size: 0x2C class Stream * mStream; // offset 0x0, size 0x4 int mChannel; // offset 0x4, size 0x4 class SlipTrack * mSlipTrack; // offset 0x8, size 0x4 class Fader * mBaseFader; // offset 0xC, size 0x4 unsigned char mIsTrackChannel; // offset 0x10, size 0x1 float mPan; // offset 0x14, size 0x4 float mOriginalPan; // offset 0x18, size 0x4 enum FXCore mCore; // offset 0x1C, size 0x4 float mOverallSpeed; // offset 0x20, size 0x4 float mSpeed; // offset 0x24, size 0x4 unsigned char mDirty; // offset 0x28, size 0x1 }; // Range: 0x802E9314 -> 0x802E941C void * ChannelData::ChannelData(class ChannelData * const this /* r28 */, class Stream * song_stream /* r29 */, int channel /* r30 */, float vol /* f31 */) {} // Range: 0x802E941C -> 0x802E947C class ChannelData * ChannelData::Copy(class ChannelData * const this /* r30 */, int new_channel /* r31 */) {} // Range: 0x802E947C -> 0x802E9528 void * ChannelData::~ChannelData(class ChannelData * const this /* r29 */) {} // Range: 0x802E9528 -> 0x802E95E8 void ChannelData::SetPlayable(class ChannelData * const this /* r30 */) {} // Range: 0x802E95E8 -> 0x802E95FC void ChannelData::ForceOn() {} // Range: 0x802E95FC -> 0x802E9668 void ChannelData::Reset(class ChannelData * const this /* r31 */) {} // Range: 0x802E9668 -> 0x802E967C void ChannelData::Poll() {} // Range: 0x802E967C -> 0x802E9720 void ChannelData::SetSlipTrackSpeed(class ChannelData * const this /* r31 */, float speed /* f31 */) { // Local variables float real_speed; // f0 } // Range: 0x802E9720 -> 0x802E974C void ChannelData::SetFX(class ChannelData * const this /* r6 */) {} // Range: 0x802E974C -> 0x802E977C void ChannelData::SetStereo(class ChannelData * const this /* r5 */, unsigned char stereo /* r0 */) {} // Range: 0x802E977C -> 0x802E9804 void ChannelData::PlayChunk(class ChannelData * const this /* r31 */, float start_ms /* f30 */, float end_ms /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802E9804 -> 0x802E9810 float ChannelData::GetFaderVal() {} // Range: 0x802E9810 -> 0x802E9818 void ChannelData::SetFaderVal() {} // Range: 0x802E9818 -> 0x802E983C void ChannelData::SetPan(class ChannelData * const this /* r4 */) {} // Range: 0x802E983C -> 0x802E9844 float ChannelData::GetPan() {} class TrackData { // total size: 0x58 unsigned char mSucceeding; // offset 0x0, size 0x1 class vector mSucceedingVec; // offset 0x4, size 0x14 class vector mLastGemTimes; // offset 0x18, size 0xC unsigned char mMultiSlot; // offset 0x24, size 0x1 int mLastPlayedGem; // offset 0x28, size 0x4 unsigned char mCaptured; // offset 0x2C, size 0x1 class SlotChannelMapping * mChannelMapping; // offset 0x30, size 0x4 class SubmixCollection * mSubmixes; // offset 0x34, size 0x4 enum AudioStyle mAudioStyle; // offset 0x38, size 0x4 int mPlayer; // offset 0x3C, size 0x4 unsigned char mIndieSlots; // offset 0x40, size 0x1 unsigned char mNonmutable; // offset 0x41, size 0x1 unsigned char mButtonMashingMode; // offset 0x42, size 0x1 float mLastMashTime; // offset 0x44, size 0x4 unsigned char mInFill; // offset 0x48, size 0x1 class DataArray * mOriginalChannelsArray; // offset 0x4C, size 0x4 int mChannelsIndex; // offset 0x50, size 0x4 int mCopiedTo; // offset 0x54, size 0x4 }; // Range: 0x802E9844 -> 0x802E98A0 void * TrackData::TrackData(class TrackData * const this /* r31 */) {} // Range: 0x802E98A0 -> 0x802E9914 void * TrackData::TrackData(class TrackData * const this /* r30 */, class DataArray * channels /* r31 */) {} // Range: 0x802E9914 -> 0x802E9968 void * TrackData::TrackData(class TrackData * const this /* r31 */) {} // Range: 0x802E9968 -> 0x802E9A44 void TrackData::Init(class TrackData * const this /* r28 */, enum AudioStyle audio_style /* r29 */, unsigned char indie_slots /* r30 */) { // References // -> static int kMaxSlots; } class SlotChannelMapping { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; // Range: 0x802E9A44 -> 0x802E9A74 unsigned char TrackData::HasMoreChannelsAvailable() {} // Range: 0x802E9A74 -> 0x802E9B28 unsigned char TrackData::Playable(const class TrackData * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x802E9B28 -> 0x802E9C08 void * TrackData::~TrackData(class TrackData * const this /* r30 */) {} // Range: 0x802E9C08 -> 0x802E9C7C class TrackData * TrackData::CreateSecondaryTrack(class TrackData * const this /* r30 */) {} // Range: 0x802E9C7C -> 0x802E9C9C void TrackData::FillChannelList() {} // Range: 0x802E9C9C -> 0x802E9CBC void TrackData::FillChannelList() {} // Range: 0x802E9CBC -> 0x802E9CFC void TrackData::Hit(class TrackData * const this /* r30 */, int gem_id /* r31 */) {} // Range: 0x802E9CFC -> 0x802E9D08 void TrackData::Miss() {} // Range: 0x802E9D08 -> 0x802E9D10 void TrackData::SetCaptured() {} // Range: 0x802E9D10 -> 0x802E9D18 void TrackData::SetPlayer() {} // Range: 0x802E9D18 -> 0x802E9D20 void TrackData::SetNonmutable() {} // Range: 0x802E9D20 -> 0x802E9D2C void TrackData::SetButtonMashingMode() {} // Range: 0x802E9D2C -> 0x802E9D34 void TrackData::SetLastMashTime() {} // Range: 0x802E9D34 -> 0x802E9D74 void TrackData::Reset(class TrackData * const this /* r31 */) {} // Range: 0x802E9D74 -> 0x802E9F5C void TrackData::SetSucceeding() { // Local variables int i; // r5 } // Range: 0x802E9F5C -> 0x802E9F94 unsigned char TrackData::IsSlotActive() {} // Range: 0x802E9F94 -> 0x802EA110 void TrackData::FillChannelListWithInactiveSlots(const class TrackData * const this /* r25 */, class list & channels /* r26 */, float ms /* f31 */, unsigned char succeeding /* r27 */) { // Local variables int active_channels; // r31 int inactive_channels; // r30 unsigned char all_active_slots_succeeding; // r29 int s; // r28 int c; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } static class Symbol _s; // size: 0x4, address: 0x80A505FC static class Symbol _s; // size: 0x4, address: 0x80A50604 static class Symbol _s; // size: 0x4, address: 0x80A5060C static class Symbol _s; // size: 0x4, address: 0x80A50614 static class Symbol _s; // size: 0x4, address: 0x80A5061C static class Symbol _s; // size: 0x4, address: 0x80A50624 // Range: 0x802EA110 -> 0x802EA838 class DataNode MasterAudio::Handle(class MasterAudio * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x138 } __vt__11MasterAudio; // size: 0x138, address: 0x808CC178 struct { // total size: 0x8 } __RTTI__11MasterAudio; // size: 0x8, address: 0x808CC2E0 struct { // total size: 0x8 } __RTTI__PP9TrackData; // size: 0x8, address: 0x808CC3E8 struct { // total size: 0x8 } __RTTI__PP11ChannelData; // size: 0x8, address: 0x808CC400 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EA838 -> 0x802EAE08 */ // Range: 0x802EA838 -> 0x802EA9A0 void TrackData::SetMapping(class TrackData * const this /* r31 */, class DataArray * channels /* r29 */) { // Local variables const class DataNode & node; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802EA9A0 -> 0x802EACF4 void TrackData::SetMapping(class TrackData * const this /* r30 */, const char * description /* r28 */) { // Local variables class vector new_channels; // r1+0x34 char submix_name[64]; // r1+0x40 const char * c; // r1+0x24 int len; // r29 int new_ch; // r0 class vector * channels; // r29 class vector old_channels; // r1+0x28 int i; // r28 class Submix * submix; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802EACF4 -> 0x802EAE08 unsigned char TrackData::GetSucceeding(const class TrackData * const this /* r30 */, int slot /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EAE08 -> 0x802EAED8 */ // Range: 0x802EAE08 -> 0x802EAE0C void vector::assign() {} // Range: 0x802EAE0C -> 0x802EAE10 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\synth\Stream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EAED8 -> 0x802EAEE8 */ // Range: 0x802EAED8 -> 0x802EAEDC void Stream::AddVirtualChannels() {} // Range: 0x802EAEDC -> 0x802EAEE0 void Stream::RemapChannel() {} // Range: 0x802EAEE0 -> 0x802EAEE8 unsigned char Stream::Fail() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_bvector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EAEE8 -> 0x802EBC40 */ // Range: 0x802EAEE8 -> 0x802EB144 void vector::reserve(class vector * const this /* r29 */) { // Local variables struct _Bit_iter __z; // r1+0xA0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802EB144 -> 0x802EBC40 void vector::assign(class vector * const this /* r28 */, unsigned char __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\SlotChannelMapping_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EBC40 -> 0x802EBC80 */ // Range: 0x802EBC40 -> 0x802EBC80 void * SlotChannelMapping::~SlotChannelMapping(class SlotChannelMapping * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\beatmatch\MasterAudio.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EBC80 -> 0x802EBCBC */ // Range: 0x802EBC80 -> 0x802EBC84 void MasterAudio::Swing() {} // Range: 0x802EBC84 -> 0x802EBC88 void MasterAudio::Capture() {} // Range: 0x802EBC88 -> 0x802EBC8C void MasterAudio::FretButtonDown() {} // Range: 0x802EBC8C -> 0x802EBC90 void MasterAudio::FretButtonUp() {} // Range: 0x802EBC90 -> 0x802EBC94 void MasterAudio::MercurySwitch() {} // Range: 0x802EBC94 -> 0x802EBC98 void MasterAudio::FilteredWhammyBar() {} // Range: 0x802EBC98 -> 0x802EBC9C void MasterAudio::SwingAtHopo() {} // Range: 0x802EBC9C -> 0x802EBCA0 void MasterAudio::Hopo() {} // Range: 0x802EBCA0 -> 0x802EBCA4 void MasterAudio::SetCurrentPhrase() {} // Range: 0x802EBCA4 -> 0x802EBCA8 void MasterAudio::NoCurrentPhrase() {} // Range: 0x802EBCA8 -> 0x802EBCAC void MasterAudio::FillReset() {} // Range: 0x802EBCAC -> 0x802EBCB0 void MasterAudio::FillComplete() {} // Range: 0x802EBCB0 -> 0x802EBCB4 void MasterAudio::UpdateSongPos() {} // Range: 0x802EBCB4 -> 0x802EBCB8 void MasterAudio::Beat() {} // Range: 0x802EBCB8 -> 0x802EBCBC void MasterAudio::WhammyBar() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EBCBC -> 0x802EC138 */ // Range: 0x802EBCBC -> 0x802EBDF4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class TrackData * * __pos /* r28 */, class TrackData * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TrackData * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9TrackData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802EBDF4 -> 0x802EBF2C void vector::_M_insert_overflow(class vector * const this /* r27 */, class ChannelData * * __pos /* r28 */, class ChannelData * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class ChannelData * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11ChannelData; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802EBF2C -> 0x802EC138 void vector::_M_fill_assign(class vector * const this /* r30 */, unsigned long __n /* r31 */, const float & __val /* r28 */) { // Local variables class vector __tmp; // r1+0x28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pf; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\TrackWatcherImpl_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EC138 -> 0x802EC140 */ // Range: 0x802EC138 -> 0x802EC13C void TrackWatcherImpl::JumpHook() {} // Range: 0x802EC13C -> 0x802EC140 void TrackWatcherImpl::PollHook() {} /* Compile unit: C:\rockband2\system\src\beatmatch\MercurySwitchFilter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EC140 -> 0x802EC694 */ static class RndOverlay * gGuitarOverlay; // size: 0x4, address: 0x80A50628 // Range: 0x802EC140 -> 0x802EC474 class MercurySwitchFilter * NewMercurySwitchFilter(class DataArray * cfg /* r31 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__26AnySignMercurySwitchFilter; // -> struct [anonymous] __vt__26LowPassMercurySwitchFilter; // -> const char * gNullStr; // -> static class RndOverlay * gGuitarOverlay; } class AnySignMercurySwitchFilter : public MercurySwitchFilter { // total size: 0x18 float mWindow; // offset 0x4, size 0x4 float mLastOn; // offset 0x8, size 0x4 int mNumFrames; // offset 0xC, size 0x4 int mNumFramesThreshold; // offset 0x10, size 0x4 float mThreshold; // offset 0x14, size 0x4 }; // Range: 0x802EC474 -> 0x802EC490 void AnySignMercurySwitchFilter::Reset() {} // Range: 0x802EC490 -> 0x802EC54C unsigned char AnySignMercurySwitchFilter::Poll(class AnySignMercurySwitchFilter * const this /* r5 */) { // Local variables unsigned char on; // r31 // References // -> static class RndOverlay * gGuitarOverlay; } struct { // total size: 0x14 } __vt__26AnySignMercurySwitchFilter; // size: 0x14, address: 0x808CC57C struct { // total size: 0x8 } __RTTI__26AnySignMercurySwitchFilter; // size: 0x8, address: 0x808CC5B8 class LowPassMercurySwitchFilter : public MercurySwitchFilter { // total size: 0x1C float mSensitivity; // offset 0x4, size 0x4 float mOnThreshold; // offset 0x8, size 0x4 float mOffThreshold; // offset 0xC, size 0x4 unsigned char mState; // offset 0x10, size 0x1 float mLastPoll; // offset 0x14, size 0x4 float mAccum; // offset 0x18, size 0x4 }; // Range: 0x802EC54C -> 0x802EC558 void LowPassMercurySwitchFilter::Reset() {} // Range: 0x802EC558 -> 0x802EC694 unsigned char LowPassMercurySwitchFilter::Poll(class LowPassMercurySwitchFilter * const this /* r31 */, float ms /* f31 */) { // Local variables float dt; // f4 // References // -> static class RndOverlay * gGuitarOverlay; } struct { // total size: 0x14 } __vt__26LowPassMercurySwitchFilter; // size: 0x14, address: 0x808CC5C0 struct { // total size: 0x8 } __RTTI__26LowPassMercurySwitchFilter; // size: 0x8, address: 0x808CC600 struct { // total size: 0x14 } __vt__19MercurySwitchFilter; // size: 0x14, address: 0x808CC608 struct { // total size: 0x8 } __RTTI__19MercurySwitchFilter; // size: 0x8, address: 0x808CC630 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EC694 -> 0x802EC7FC */ // Range: 0x802EC694 -> 0x802EC708 char * MakeString(const char * fmt /* r0 */, float t1 /* f31 */, int t2 /* r30 */, unsigned char t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x802EC708 -> 0x802EC77C char * MakeString(const char * fmt /* r0 */, float t1 /* f30 */, float t2 /* f31 */, unsigned char t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\beatmatch\MidiParser.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802EC7FC -> 0x802F1234 */ class DataArray * types; // size: 0x4, address: 0x80A50630 class Symbol name; // size: 0x4, address: 0x80A50638 class list sParsers; // size: 0x8, address: 0x8097DD08 class DataNode * mpStart; // size: 0x4, address: 0x80A5063C class DataNode * mpEnd; // size: 0x4, address: 0x80A50640 class DataNode * mpLength; // size: 0x4, address: 0x80A50644 class DataNode * mpPrevStartDelta; // size: 0x4, address: 0x80A50648 class DataNode * mpPrevEndDelta; // size: 0x4, address: 0x80A5064C class DataNode * mpVal; // size: 0x4, address: 0x80A50650 class DataNode * mpSingleBit; // size: 0x4, address: 0x80A50654 class DataNode * mpLowestBit; // size: 0x4, address: 0x80A50658 class DataNode * mpData; // size: 0x4, address: 0x80A5065C class DataNode * mpOutOfBounds; // size: 0x4, address: 0x80A50660 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x802EC7FC -> 0x802EC980 void MidiParser::ClearManagedParsers() { // Local variables class list delParsers; // r1+0x38 struct _List_iterator it; // r1+0x24 class MidiParser * parser; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std25_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MsgSource; // -> class ObjectDir * sMainDir; // -> class list sParsers; } class _List_node : public _List_node_base { // total size: 0xC public: class MidiParser * _M_data; // offset 0x8, size 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std25_List_node; // size: 0x8, address: 0x808CC6F0 // Range: 0x802EC980 -> 0x802EC9B0 void * PostProcess::PostProcess() {} // Range: 0x802EC9B0 -> 0x802ECB60 void * MidiParser::MidiParser(class MidiParser * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std25_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sParsers; // -> const char * gNullStr; // -> struct [anonymous] __vt__10MidiParser; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x802ECB60 -> 0x802ECD0C void * MidiParser::~MidiParser(class MidiParser * const this /* r30 */) { // References // -> class list sParsers; // -> struct [anonymous] __vt__10MidiParser; } // Range: 0x802ECD0C -> 0x802ECD14 void MidiParser::Reset() {} static class DataNode & parser; // size: 0x4, address: 0x80A50668 static class Symbol world_drum_triggers; // size: 0x4, address: 0x80A50670 static class Symbol play_tambourine; // size: 0x4, address: 0x80A50678 static class Symbol events_parser; // size: 0x4, address: 0x80A50680 static class Symbol world_camera_parser; // size: 0x4, address: 0x80A50688 // Range: 0x802ECD14 -> 0x802ED0F8 void MidiParser::Poll(class MidiParser * const this /* r30 */) { // Local variables float beat; // f31 class DataNode ret; // r1+0x40 // References // -> class DataNode * mpData; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class DataNode * mpLength; // -> class DataNode * mpEnd; // -> class DataNode * mpStart; // -> static class Symbol world_camera_parser; // -> static class Symbol events_parser; // -> static class Symbol play_tambourine; // -> static class Symbol world_drum_triggers; // -> static class DataNode & parser; // -> class TaskMgr TheTaskMgr; } // Range: 0x802ED0F8 -> 0x802ED1CC unsigned char MidiParser::InsertIdle() { // Local variables class DataNode node; // r1+0x8 } // Range: 0x802ED1CC -> 0x802ED268 unsigned char MidiParser::AllowedNote(class MidiParser * const this /* r28 */, int note /* r29 */) { // Local variables int i; // r30 } // Range: 0x802ED268 -> 0x802ED390 void MidiParser::ParseNote(class MidiParser * const this /* r28 */, int startTick /* r29 */, int endTick /* r30 */, unsigned char data1 /* r31 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x8 int i; // r5 struct Note * it; // r0 } // Range: 0x802ED390 -> 0x802ED680 void MidiParser::PushIdle(class MidiParser * const this /* r28 */, float start /* f30 */, float end /* f31 */, int at /* r29 */, class Symbol & idleMessage /* r30 */) { // Local variables class DataNode ev; // r1+0x40 int which; // r27 class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x14 // References // -> const char * gNullStr; } // Range: 0x802ED680 -> 0x802ED748 int MidiParser::GetIndex(class MidiParser * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802ED748 -> 0x802EDA1C void MidiParser::SetIndex(class MidiParser * const this /* r30 */, int i /* r31 */) { // References // -> class DataNode * mpOutOfBounds; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802EDA1C -> 0x802EE0C4 int MidiParser::ParseAll(class MidiParser * const this /* r29 */, const class GameGemList * gems /* r31 */, class vector & text /* r30 */) { // Local variables class DataArray * init; // r4 int which; // r31 int startTick; // r30 class DataArray * term; // r4 int noteSize; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class DataNode * mpEnd; // -> class DataNode * mpStart; } // Range: 0x802EE0C4 -> 0x802EE4CC void MidiParser::SetGlobalVars(class MidiParser * const this /* r29 */, int endTick /* r28 */, const class DataNode & data /* r30 */) { // Local variables float start; // f0 float end; // f0 int gems; // r28 int lowest; // r30 // References // -> class DataNode * mpLowestBit; // -> class DataNode * mpSingleBit; // -> class DataNode * mpVal; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class DataNode * mpData; // -> class DataNode * mpPrevEndDelta; // -> class DataNode * mpPrevStartDelta; // -> class DataNode * mpLength; // -> class DataNode * mpEnd; // -> class DataNode * mpStart; // -> class DataNode * mpOutOfBounds; } // Range: 0x802EE4CC -> 0x802EE604 void MidiParser::HandleEvent(class MidiParser * const this /* r28 */, int startTick /* r29 */, int endTick /* r30 */, const class DataNode & data /* r31 */) { // References // -> class DataNode * mpData; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802EE604 -> 0x802EE710 void MidiParser::InsertDataEvent(class MidiParser * const this /* r29 */, float start /* f30 */, float end /* f31 */, const class DataNode & ev /* r30 */) { // Local variables int i; // r31 float length; // f0 class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x8 } // Range: 0x802EE710 -> 0x802EEB14 unsigned char MidiParser::AddMessage(class MidiParser * const this /* r26 */, float start /* f30 */, float end /* f31 */, class DataArray * msg /* r27 */, int firstArg /* r28 */) { // Local variables class DataNode type; // r1+0x30 class DataArray * arr; // [invalid] int firstSrc; // [invalid] int size; // r30 int firstDst; // r29 int i; // r24 // References // -> const char * gNullStr; } static class Symbol _s; // size: 0x4, address: 0x80A50690 static class Symbol _s; // size: 0x4, address: 0x80A50698 static class Symbol _s; // size: 0x4, address: 0x80A506A0 static class Symbol _s; // size: 0x4, address: 0x80A506A8 static class Symbol _s; // size: 0x4, address: 0x80A506B0 static class Symbol _s; // size: 0x4, address: 0x80A506B8 static class Symbol _s; // size: 0x4, address: 0x80A506C0 static class Symbol _s; // size: 0x4, address: 0x80A506C8 static class Symbol _s; // size: 0x4, address: 0x80A506D0 static class Symbol _s; // size: 0x4, address: 0x80A506D8 static class Symbol _s; // size: 0x4, address: 0x80A506E0 static class Symbol _s; // size: 0x4, address: 0x80A506E8 static class Symbol _s; // size: 0x4, address: 0x80A506F0 // Range: 0x802EEB14 -> 0x802EFF50 class DataNode MidiParser::Handle(class MidiParser * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x58 class MessageTimer _mt; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class DataNode * mpStart; // -> class DataNode * mpEnd; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x802EFF50 -> 0x802F0150 class DataNode MidiParser::OnInsertIdle(class MidiParser * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables class Symbol idleMessage; // r1+0x14 float idleLength; // f0 float idleStartGap; // f0 float idleEndGap; // f0 float * lastEnd; // r0 float idleStart; // f1 float idleEnd; // f2 float gap; // f0 float gap; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F0150 -> 0x802F01C0 class DataNode MidiParser::OnNextStartDelta(class MidiParser * const this /* r31 */) {} // Range: 0x802F01C0 -> 0x802F03A4 class DataNode MidiParser::OnGetStart(class MidiParser * const this /* r28 */, class DataArray * msg /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F03A4 -> 0x802F0588 class DataNode MidiParser::OnGetEnd(class MidiParser * const this /* r28 */, class DataArray * msg /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F0588 -> 0x802F0694 class DataNode MidiParser::OnDebugDraw(class MidiParser * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables float top; // f0 float beat; // f30 // References // -> class Rnd & TheRnd; } // Range: 0x802F0694 -> 0x802F0734 class DataNode MidiParser::OnBeatToSecLength(class DataArray * msg /* r31 */) { // Local variables float beats; // f0 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x802F0734 -> 0x802F079C class DataNode MidiParser::OnSecOffsetAll(class MidiParser * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables float sec; // f0 } // Range: 0x802F079C -> 0x802F0840 class DataNode MidiParser::OnSecOffset(class DataArray * msg /* r31 */) { // Local variables float beat; // f31 float ms; // f30 } // Range: 0x802F0840 -> 0x802F08AC class DataNode MidiParser::OnNextVal(class DataNode * val /* r29 */, class MidiParser * const this /* r30 */) { // Local variables int index; // r31 // References // -> class DataNode * mpVal; } // Range: 0x802F08AC -> 0x802F096C class DataNode MidiParser::OnPrevVal(class MidiParser * const this /* r30 */) { // Local variables int index; // r31 class DataNode val; // r1+0x8 // References // -> class DataNode * mpVal; } static class Symbol _s; // size: 0x4, address: 0x80A506F8 static class Symbol _s; // size: 0x4, address: 0x80A50700 static class Symbol _s; // size: 0x4, address: 0x80A50708 static class Symbol _s; // size: 0x4, address: 0x80A50710 static class Symbol _s; // size: 0x4, address: 0x80A50718 static class Symbol _s; // size: 0x4, address: 0x80A50720 static class Symbol _s; // size: 0x4, address: 0x80A50728 static class Symbol _s; // size: 0x4, address: 0x80A50730 // Range: 0x802F096C -> 0x802F1134 unsigned char MidiParser::SyncProperty(class MidiParser * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x7C } __vt__10MidiParser; // size: 0x7C, address: 0x808CCAF0 // Range: 0x802F1134 -> 0x802F1160 void _Vector_base::_M_throw_length_error() {} struct { // total size: 0x8 } __RTTI__PQ210MidiParser4Note; // size: 0x8, address: 0x808CCC18 // Range: 0x802F1160 -> 0x802F11BC static void __sinit_\MidiParser_cpp() { // References // -> class list sParsers; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F1234 -> 0x802F17CC */ // Range: 0x802F1234 -> 0x802F1364 void MidiParser::Init() { // References // -> class DataNode * mpOutOfBounds; // -> class DataNode * mpLowestBit; // -> class DataNode * mpSingleBit; // -> class DataNode * mpVal; // -> class DataNode * mpData; // -> class DataNode * mpPrevEndDelta; // -> class DataNode * mpPrevStartDelta; // -> class DataNode * mpLength; // -> class DataNode * mpEnd; // -> class DataNode * mpStart; // -> class Symbol name; } // Range: 0x802F1364 -> 0x802F17CC void MidiParser::SetTypeDef(class MidiParser * const this /* r28 */) { // Local variables int which; // r29 // References // -> class Debug TheDebug; // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F17CC -> 0x802F1824 */ // Range: 0x802F17CC -> 0x802F1824 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\beatmatch\MidiParser.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F1824 -> 0x802F1A40 */ // Range: 0x802F1824 -> 0x802F1868 class Object * MidiParser::NewObject() {} // Range: 0x802F1868 -> 0x802F18AC class Symbol MidiParser::ClassName() { // References // -> class Symbol name; } // Range: 0x802F18AC -> 0x802F1A40 void MidiParser::SetType(class MidiParser * const this /* r29 */, class Symbol & MidiParser /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F1A40 -> 0x802F1AA0 */ // Range: 0x802F1A40 -> 0x802F1AA0 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F1AA0 -> 0x802F21B8 */ // Range: 0x802F1AA0 -> 0x802F1C64 void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables struct Note * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210MidiParser4Note; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F1C64 -> 0x802F1CCC struct Note * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x802F1CCC -> 0x802F1D4C void vector::_M_fill_insert() {} // Range: 0x802F1D4C -> 0x802F1F78 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Note * __pos /* r26 */, const struct Note & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Note * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210MidiParser4Note; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F1F78 -> 0x802F21B8 void vector::_M_fill_insert_aux() { // Local variables struct Note __x_copy; // r1+0x1C unsigned long __elems_after; // r9 struct Note * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\beatmatch\MidiParserMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F21B8 -> 0x802F3034 */ class MidiParserMgr * TheMidiParserMgr; // size: 0x4, address: 0x80A50738 // Range: 0x802F21B8 -> 0x802F2398 void * MidiParserMgr::MidiParserMgr(class MidiParserMgr * const this /* r31 */, class SongData * songData /* r30 */) { // Local variables class DataArray * d; // r30 // References // -> class ObjectDir * sMainDir; // -> class LoadMgr TheLoadMgr; // -> class MidiParserMgr * TheMidiParserMgr; // -> const char * gNullStr; // -> struct [anonymous] __vt__13MidiParserMgr; } // Range: 0x802F2398 -> 0x802F24A4 void * MidiParserMgr::~MidiParserMgr(class MidiParserMgr * const this /* r30 */) { // References // -> struct [anonymous] __vt__13MidiParserMgr; } // Range: 0x802F24A4 -> 0x802F2534 void MidiParserMgr::Reset() { // Local variables float beat; // f31 const class list & parsers; // r31 struct _List_iterator it; // r1+0x18 // References // -> class list sParsers; } // Range: 0x802F2534 -> 0x802F25B0 void MidiParserMgr::Reset() { // Local variables const class list & parsers; // r31 struct _List_iterator it; // r1+0x18 // References // -> class list sParsers; } // Range: 0x802F25B0 -> 0x802F261C void MidiParserMgr::Poll() { // Local variables const class list & parsers; // r31 struct _List_iterator it; // r1+0x18 // References // -> class list sParsers; } // Range: 0x802F261C -> 0x802F2784 void MidiParserMgr::FreeAllData(class MidiParserMgr * const this /* r31 */) { // Local variables int i; // r30 } // Range: 0x802F2784 -> 0x802F2850 void MidiParserMgr::OnNewTrack(class MidiParserMgr * const this /* r30 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x14 } // Range: 0x802F2850 -> 0x802F2984 void MidiParserMgr::OnEndOfTrack(class MidiParserMgr * const this /* r31 */) { // Local variables int track; // r4 class GameGemList * gems; // r30 const class list & parsers; // r29 struct _List_iterator it; // r1+0x24 class MidiParser * mp; // r3 // References // -> class list sParsers; // -> const char * gNullStr; } // Range: 0x802F2984 -> 0x802F2988 void MidiParserMgr::OnAllTracksRead() {} // Range: 0x802F2988 -> 0x802F2A08 void MidiParserMgr::FinishLoad(class MidiParserMgr * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x802F2A08 -> 0x802F2AC8 void MidiParserMgr::OnMidiMessage(class MidiParserMgr * const this /* r28 */, int tick /* r29 */, unsigned char data1 /* r30 */) { // Local variables int startTick; // r1+0x20 const class list & parsers; // r31 struct _List_iterator it; // r1+0x1C class MidiParser * mp; // r3 // References // -> class list sParsers; } // Range: 0x802F2AC8 -> 0x802F2B68 char * MidiParserMgr::StripEndBracket(char * buffer /* r30 */) { // Local variables const char * c; // r5 char * d; // r31 // References // -> class Debug TheDebug; // -> class MidiParserMgr * TheMidiParserMgr; } // Range: 0x802F2B68 -> 0x802F2C58 class DataArray * MidiParserMgr::ParseString(class MidiParserMgr * const this /* r29 */, const char * str /* r6 */, int startTick /* r30 */) { // Local variables char buffer[256]; // r1+0x10 class DataArray * ret; // r31 const char * _err; // r8 const char * m; // r0 // References // -> class MidiParserMgr * TheMidiParserMgr; // -> long TheDebugJump[100]; // -> class Debug TheDebug; } // Range: 0x802F2C58 -> 0x802F2D64 void MidiParserMgr::OnText(class MidiParserMgr * const this /* r29 */, int tick /* r30 */, const char * str /* r31 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x14 class DataArray * data; // r0 struct TextEvent text; // r1+0x18 } // Range: 0x802F2D64 -> 0x802F2E84 unsigned char MidiParserMgr::CreateNote(class MidiParserMgr * const this /* r27 */, int tick /* r28 */, unsigned char status /* r29 */, unsigned char data1 /* r30 */, int & start_tick /* r31 */) { // Local variables int onTick; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F2E84 -> 0x802F2EBC void MidiParserMgr::SetMidiReader(class MidiParserMgr * const this /* r31 */) {} // Range: 0x802F2EBC -> 0x802F2F40 class DataEventList * MidiParserMgr::GetEventsList(class MidiParserMgr * const this /* r31 */) { // Local variables class MidiParser * evParser; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F2F40 -> 0x802F3008 class MidiParser * MidiParserMgr::GetParser(class Symbol & name /* r29 */) { // Local variables const class list & parsers; // r30 struct _List_iterator it; // r1+0x18 // References // -> const char * gNullStr; // -> class list sParsers; } struct { // total size: 0x30 } __vt__13MidiParserMgr; // size: 0x30, address: 0x808CCE48 struct { // total size: 0x8 } __RTTI__13MidiParserMgr; // size: 0x8, address: 0x808CCE98 // Range: 0x802F3008 -> 0x802F3034 void _Vector_base::_M_throw_length_error() {} struct { // total size: 0x8 } __RTTI__PQ210MidiParser9TextEvent; // size: 0x8, address: 0x808CCED8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F3034 -> 0x802F313C */ // Range: 0x802F3034 -> 0x802F30B0 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, class Symbol & t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x802F30B0 -> 0x802F313C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r27 */, class Symbol & t2 /* r28 */, int t3 /* r29 */, char * t4 /* r30 */, const char * t5 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F313C -> 0x802F34B4 */ // Range: 0x802F313C -> 0x802F3328 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct TextEvent * __pos /* r26 */, const struct TextEvent & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct TextEvent * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210MidiParser9TextEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F3328 -> 0x802F34B4 void vector::reserve(class vector * const this /* r29 */, unsigned long __n /* r30 */) { // Local variables struct TextEvent * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210MidiParser9TextEvent; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\Output.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F34B4 -> 0x802F3564 */ class LogFile TheBeatMatchOutput; // size: 0x20, address: 0x8097DD20 // Range: 0x802F34B4 -> 0x802F3504 static void __sinit_\Output_cpp() { // References // -> class LogFile TheBeatMatchOutput; } /* Compile unit: C:\rockband2\system\src\beatmatch\PhraseAnalyzer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F3564 -> 0x802F361C */ struct { // total size: 0x8 } __RTTI__P9RawPhrase; // size: 0x8, address: 0x808CCFA8 struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x802F3564 -> 0x802F356C class vector & PhraseAnalyzer::GetRawPhrases() {} // Range: 0x802F356C -> 0x802F361C void PhraseAnalyzer::SetPhraseIDs(int tracks /* r1+0x8 */) { // Local variables int i; // r4 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F361C -> 0x802F3AE4 */ // Range: 0x802F361C -> 0x802F3734 void PhraseAnalyzer::AddInfo(class PhraseAnalyzer * const this /* r27 */, int track /* r28 */, int start_tick /* r29 */, int end_tick /* r30 */, unsigned char independent /* r31 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F3734 -> 0x802F3AE4 void PhraseAnalyzer::Analyze(class PhraseAnalyzer * const this /* r24 */) { // Local variables int track_bitfield; // r27 int first_raw; // r26 int i; // r25 const char * str; // r4 int i; // r4 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9RawPhrase; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F3AE4 -> 0x802F3B74 */ // Range: 0x802F3AE4 -> 0x802F3B74 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r28 */, int t2 /* r29 */, int t3 /* r30 */, int t4 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\beatmatch\PhraseAnalyzer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F3B74 -> 0x802F3B94 */ // Range: 0x802F3B74 -> 0x802F3B94 static unsigned char RawPhraseCmp() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F3B94 -> 0x802F3B98 */ // Range: 0x802F3B94 -> 0x802F3B98 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F3B98 -> 0x802F3BFC */ // Range: 0x802F3B98 -> 0x802F3BFC class vector & PhraseAnalyzer::GetPhrases(const class PhraseAnalyzer * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F3BFC -> 0x802F441C */ // Range: 0x802F3BFC -> 0x802F3CA0 void sort(struct RawPhrase * __first /* r29 */, struct RawPhrase * __last /* r30 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r31 */) {} // Range: 0x802F3CA0 -> 0x802F3D38 void __final_insertion_sort(struct RawPhrase * __first /* r29 */, struct RawPhrase * __last /* r30 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r31 */) {} // Range: 0x802F3D38 -> 0x802F3DC0 void __unguarded_insertion_sort_aux(struct RawPhrase * __last /* r29 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r30 */) { // Local variables struct RawPhrase * __i; // r31 } // Range: 0x802F3DC0 -> 0x802F3E84 void __unguarded_linear_insert(struct RawPhrase * __last /* r28 */, struct RawPhrase & __val /* r29 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r30 */) { // Local variables struct RawPhrase * __next; // r31 } // Range: 0x802F3E84 -> 0x802F4004 void __insertion_sort(struct RawPhrase * __first /* r28 */, struct RawPhrase * __last /* r29 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r30 */) { // Local variables struct RawPhrase * __i; // r31 } // Range: 0x802F4004 -> 0x802F41B8 void __introsort_loop(struct RawPhrase * __first /* r28 */, struct RawPhrase * __last /* r29 */, long __depth_limit /* r30 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r31 */) { // Local variables struct RawPhrase * __cut; // r27 } // Range: 0x802F41B8 -> 0x802F42CC struct RawPhrase * __unguarded_partition(struct RawPhrase * __first /* r28 */, struct RawPhrase * __last /* r29 */, struct RawPhrase & __pivot /* r30 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r31 */) {} // Range: 0x802F42CC -> 0x802F42D8 void partial_sort() {} // Range: 0x802F42D8 -> 0x802F441C void __partial_sort(struct RawPhrase * __first /* r27 */, struct RawPhrase * __middle /* r28 */, struct RawPhrase * __last /* r29 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r30 */) { // Local variables struct RawPhrase * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F441C -> 0x802F444C */ // Range: 0x802F441C -> 0x802F4434 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x802F4434 -> 0x802F444C struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F444C -> 0x802F47D0 */ // Range: 0x802F444C -> 0x802F4500 void pop_heap(struct RawPhrase * __last /* r11 */) {} // Range: 0x802F4500 -> 0x802F46EC void __adjust_heap(struct RawPhrase * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, struct RawPhrase & __val /* r28 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x802F46EC -> 0x802F47D0 void make_heap(struct RawPhrase * __first /* r30 */, unsigned char (* __comp)(struct RawPhrase &, struct RawPhrase &) /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F47D0 -> 0x802F4A3C */ // Range: 0x802F47D0 -> 0x802F4A3C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct RawPhrase * __pos /* r26 */, const struct RawPhrase & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct RawPhrase * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9RawPhrase; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\PhraseCapturer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F4A3C -> 0x802F4BA4 */ static class Symbol capturer; // size: 0x4, address: 0x80A50744 static class Symbol bar; // size: 0x4, address: 0x80A5074C // Range: 0x802F4A3C -> 0x802F4BA4 class PhraseCapturer * NewPhraseCapturer(class DataArray * cfg /* r30 */, class SongData * song_data /* r27 */, class BeatMatcher * beat_matcher /* r28 */, int track /* r29 */) { // Local variables class Symbol type; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol bar; // -> static class Symbol capturer; } /* Compile unit: C:\rockband2\system\src\beatmatch\PhraseCatcher.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F4BA4 -> 0x802F4D8C */ // Range: 0x802F4BA4 -> 0x802F4BC4 void * PhraseCatcher::PhraseCatcher() {} // Range: 0x802F4BC4 -> 0x802F4BCC void PhraseCatcher::Start() {} // Range: 0x802F4BCC -> 0x802F4BD0 void PhraseCatcher::Poll() {} // Range: 0x802F4BD0 -> 0x802F4BDC void PhraseCatcher::Jump() {} // Range: 0x802F4BDC -> 0x802F4C04 void PhraseCatcher::Hit() {} // Range: 0x802F4C04 -> 0x802F4C2C void PhraseCatcher::Miss() {} // Range: 0x802F4C2C -> 0x802F4C54 void PhraseCatcher::Pass() {} // Range: 0x802F4C54 -> 0x802F4CE0 void PhraseCatcher::ComputeNewPhrase(class PhraseCatcher * const this /* r31 */) { // Local variables unsigned char ok; // r0 } // Range: 0x802F4CE0 -> 0x802F4D28 void PhraseCatcher::FailCurrentPhrase(class PhraseCatcher * const this /* r31 */) {} // Range: 0x802F4D28 -> 0x802F4D8C void PhraseCatcher::Succeed(class PhraseCatcher * const this /* r31 */) { // Local variables struct PhraseInfo captured_phrase; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\beatmatch\PhraseDB.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F4D8C -> 0x802F53AC */ // Range: 0x802F4D8C -> 0x802F4DA0 void * Phrase::Phrase() {} // Range: 0x802F4DA0 -> 0x802F4DBC unsigned char PhraseMsCmp() {} // Range: 0x802F4DBC -> 0x802F4DE0 unsigned char PhraseTickCmp() {} // Range: 0x802F4DE0 -> 0x802F4E70 unsigned char PhraseList::IsMsInPhrase(const class PhraseList * const this /* r31 */, float ms /* r1+0x8 */) {} // Range: 0x802F4E70 -> 0x802F4EF8 unsigned char PhraseList::IsTickInPhrase(const class PhraseList * const this /* r31 */, int tick /* r1+0x8 */) {} // Range: 0x802F4EF8 -> 0x802F4FC0 void * PhraseListCollection::PhraseListCollection(class PhraseListCollection * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x802F4FC0 -> 0x802F5108 void * PhraseListCollection::~PhraseListCollection(class PhraseListCollection * const this /* r29 */) { // Local variables int i; // r31 } // Range: 0x802F5108 -> 0x802F5124 void PhraseListCollection::AddPhrase(enum BeatmatchPhraseType type /* r0 */) {} // Range: 0x802F5124 -> 0x802F514C void * PhraseDB::PhraseDB() {} // Range: 0x802F514C -> 0x802F52F4 void * PhraseDB::~PhraseDB(class PhraseDB * const this /* r29 */) { // Local variables int i; // r31 } // Range: 0x802F52F4 -> 0x802F53AC class PhraseList & PhraseDB::GetPhraseList(const class PhraseDB * const this /* r29 */, int track /* r30 */, enum BeatmatchPhraseType type /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PP20PhraseListCollection; // size: 0x8, address: 0x808CD130 struct { // total size: 0x8 } __RTTI__PP10PhraseList; // size: 0x8, address: 0x808CD148 struct { // total size: 0x8 } __RTTI__P6Phrase; // size: 0x8, address: 0x808CD160 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F53AC -> 0x802F5C10 */ // Range: 0x802F53AC -> 0x802F54FC void PhraseList::AddPhrase(class PhraseList * const this /* r29 */, float ms /* f30 */, int tick /* r30 */, float duration /* f31 */, int duration_ticks /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F54FC -> 0x802F5C10 void PhraseDB::AddTrack(class PhraseDB * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F5C10 -> 0x802F5D30 */ // Range: 0x802F5C10 -> 0x802F5CA0 class Phrase * __lower_bound(const class Phrase * __first /* r26 */, const float & __val /* r27 */, unsigned char (* __comp)(class Phrase &, float) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class Phrase * __middle; // r29 } // Range: 0x802F5CA0 -> 0x802F5D30 class Phrase * __lower_bound(const class Phrase * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(class Phrase &, int) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class Phrase * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F5D30 -> 0x802F6530 */ // Range: 0x802F5D30 -> 0x802F5E0C void PhraseDB::AddPhrase(class PhraseDB * const this /* r27 */, enum BeatmatchPhraseType type /* r28 */, int track /* r29 */, float ms /* f30 */, int tick /* r30 */, float duration /* f31 */, int duration_ticks /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F5E0C -> 0x802F6530 void PhraseDB::CopyTrack(class PhraseDB * const this /* r29 */, int old_track /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F6530 -> 0x802F69CC */ // Range: 0x802F6530 -> 0x802F6668 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PhraseListCollection * * __pos /* r28 */, class PhraseListCollection * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PhraseListCollection * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP20PhraseListCollection; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F6668 -> 0x802F67A0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PhraseList * * __pos /* r28 */, class PhraseList * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PhraseList * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10PhraseList; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F67A0 -> 0x802F69CC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Phrase * __pos /* r26 */, const class Phrase & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Phrase * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Phrase; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\PhraseFinder.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F69CC -> 0x802F6B38 */ static class Symbol finder; // size: 0x4, address: 0x80A50754 static class Symbol bar; // size: 0x4, address: 0x80A5075C // Range: 0x802F69CC -> 0x802F6B38 class PhraseFinder * NewPhraseFinder(class DataArray * cfg /* r30 */, class GameGemInfoList * gem_info /* r28 */, class BarFinder * bar_finder /* r29 */) { // Local variables class Symbol type; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol bar; // -> static class Symbol finder; } /* Compile unit: C:\rockband2\system\src\beatmatch\Playback.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F6B38 -> 0x802F74E4 */ class Playback TheBeatMatchPlayback; // size: 0x28, address: 0x8097DD50 // Range: 0x802F6B38 -> 0x802F6BA0 void * Playback::Playback() { // References // -> struct [anonymous] __vt__8Playback; } struct pair { // total size: 0x8 int first; // offset 0x0, size 0x4 class BeatMatchControllerSink * second; // offset 0x4, size 0x4 }; // Range: 0x802F6BA0 -> 0x802F6C6C void * Playback::~Playback(class Playback * const this /* r29 */) { // References // -> struct [anonymous] __vt__8Playback; } // Range: 0x802F6C6C -> 0x802F6DCC void Playback::Poll(class Playback * const this /* r29 */, float ms /* f30 */) { // Local variables int arraySize; // r0 class DataArray * commandArray; // r31 float commandTime; // f31 class DataNode & timeNode; // r0 class DataNode & timeNode; // r0 } static class Symbol SWING; // size: 0x4, address: 0x80A50764 static class Symbol UP; // size: 0x4, address: 0x80A5076C static class Symbol DOWN; // size: 0x4, address: 0x80A50774 static class Symbol TRACK; // size: 0x4, address: 0x80A5077C static class Symbol HOPO; // size: 0x4, address: 0x80A50784 static class Symbol FLIP; // size: 0x4, address: 0x80A5078C static class Symbol FFLIP; // size: 0x4, address: 0x80A50794 // Range: 0x802F6DCC -> 0x802F7248 void Playback::DoCommand(class Playback * const this /* r30 */, class DataArray * commandArray /* r29 */) { // Local variables int player; // r0 class BeatMatchControllerSink * sink; // r30 // References // -> static class Symbol FFLIP; // -> static class Symbol FLIP; // -> static class Symbol HOPO; // -> static class Symbol TRACK; // -> static class Symbol DOWN; // -> static class Symbol UP; // -> static class Symbol SWING; } // Range: 0x802F7248 -> 0x802F72D0 unsigned char Playback::LoadFile(class Playback * const this /* r30 */, const class String & inFilename /* r31 */) {} // Range: 0x802F72D0 -> 0x802F73B4 void Playback::SetPlayerSink(class Playback * const this /* r7 */, class BeatMatchControllerSink * sink /* r31 */) {} // Range: 0x802F73B4 -> 0x802F749C void Playback::Jump(class Playback * const this /* r29 */, float ms /* f31 */) { // Local variables int i; // r30 class DataNode & timeNode; // r0 } struct { // total size: 0xC } __vt__8Playback; // size: 0xC, address: 0x808CD1F0 struct { // total size: 0x8 } __RTTI__8Playback; // size: 0x8, address: 0x808CD208 struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std67_Rb_tree_node>; // size: 0x8, address: 0x808CD268 // Range: 0x802F749C -> 0x802F74E4 static void __sinit_\Playback_cpp() { // References // -> class Playback TheBeatMatchPlayback; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F74E4 -> 0x802F7B48 */ // Range: 0x802F74E4 -> 0x802F7554 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x802F7554 -> 0x802F7864 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x802F7864 -> 0x802F7A18 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std67_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F7A18 -> 0x802F7B48 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\beatmatch\PlayerTrackConfigList.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F7B48 -> 0x802F811C */ // Range: 0x802F7B48 -> 0x802F7BC8 void * PlayerTrackConfigList::PlayerTrackConfigList(class PlayerTrackConfigList * const this /* r31 */) {} // Range: 0x802F7BC8 -> 0x802F7D34 void PlayerTrackConfigList::Reset(class PlayerTrackConfigList * const this /* r31 */) {} // Range: 0x802F7D34 -> 0x802F7DFC void PlayerTrackConfigList::AddConfig() {} // Range: 0x802F7DFC -> 0x802F7EA4 void PlayerTrackConfigList::AddNullConfig() { // References // -> const char * gNullStr; } // Range: 0x802F7EA4 -> 0x802F7F8C int PlayerTrackConfigList::TrackPlayer(const class PlayerTrackConfigList * const this /* r28 */, int t /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F7F8C -> 0x802F7FC0 unsigned char PlayerTrackConfigList::TrackUsed() {} // Range: 0x802F7FC0 -> 0x802F80C0 int PlayerTrackConfigList::InstrumentPlayer(const class PlayerTrackConfigList * const this /* r28 */, class Symbol & inst /* r29 */, int inst_num /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F80C0 -> 0x802F811C int PlayerTrackConfigList::NumActivePlayers() { // Local variables int num; // r6 int i; // r7 } struct { // total size: 0x8 } __RTTI__P17PlayerTrackConfig; // size: 0x8, address: 0x808CD448 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F811C -> 0x802F8F2C */ // Range: 0x802F811C -> 0x802F8F00 void PlayerTrackConfigList::Process(class PlayerTrackConfigList * const this /* r30 */, class vector & instruments /* r31 */) { // Local variables int num_tracks; // r26 class vector reserved; // r1+0x2D0 int i; // r1+0x3C int i; // r25 class Symbol instrument; // r1+0x38 int this_diff; // r1+0x34 unsigned char ok; // r24 int first_inst_track; // r1+0x30 int t; // r23 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802F8F00 -> 0x802F8F2C void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F8F2C -> 0x802F93D0 */ // Range: 0x802F8F2C -> 0x802F91E0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class PlayerTrackConfig * __pos /* r26 */, const class PlayerTrackConfig & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class PlayerTrackConfig * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P17PlayerTrackConfig; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F91E0 -> 0x802F93D0 void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables class PlayerTrackConfig * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P17PlayerTrackConfig; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\SlotChannelMapping.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802F93D0 -> 0x802FA1F8 */ // Range: 0x802F93D0 -> 0x802F9498 class SlotChannelMapping * NewSlotChannelMapping(class SubmixCollection * submixes /* r31 */, class DataArray * cfg /* r30 */) {} class SingleSlotChannelMapping : public SlotChannelMapping { // total size: 0x8 int mChannel; // offset 0x4, size 0x4 }; // Range: 0x802F9498 -> 0x802F94AC void * SingleSlotChannelMapping::SingleSlotChannelMapping() { // References // -> struct [anonymous] __vt__24SingleSlotChannelMapping; } // Range: 0x802F94AC -> 0x802F9524 void SingleSlotChannelMapping::FillChannelList(const class SingleSlotChannelMapping * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F9524 -> 0x802F959C void SingleSlotChannelMapping::FillChannelList(const class SingleSlotChannelMapping * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } class MassChannelMapping : public SlotChannelMapping { // total size: 0xC class list mChannels; // offset 0x4, size 0x8 }; // Range: 0x802F959C -> 0x802F9690 void * MassChannelMapping::MassChannelMapping(class MassChannelMapping * const this /* r28 */, class DataArray * cfg /* r29 */) { // Local variables int i; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__18MassChannelMapping; } // Range: 0x802F9690 -> 0x802F97BC void MassChannelMapping::FillChannelList() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F97BC -> 0x802F98E8 void MassChannelMapping::FillChannelList() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802F98E8 -> 0x802F9948 int MassChannelMapping::ChannelBitfield() { // Local variables int val; // r6 struct _List_iterator it; // r1+0x18 } class MultiChannelMapping : public SlotChannelMapping { // total size: 0x10 class vector mChannelsPerSlot; // offset 0x4, size 0xC }; // Range: 0x802F9948 -> 0x802FA078 void * MultiChannelMapping::MultiChannelMapping(class MultiChannelMapping * const this /* r26 */, class SubmixCollection * submixes /* r24 */, class DataArray * cfg /* r27 */) { // Local variables int base_index; // [invalid] class Submix * submix; // r30 int i; // r29 class list & channels; // r0 struct _List_iterator j; // r1+0xE0 int i; // r28 class DataNode & node; // r0 class DataArray * channels; // r24 int c; // r25 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__19MultiChannelMapping; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class list * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class list * _M_start; // offset 0x0, size 0x4 class list * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x802FA078 -> 0x802FA1F8 void MultiChannelMapping::FillChannelList(const class MultiChannelMapping * const this /* r29 */, class list & channels /* r30 */) { // Local variables int i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x1C } __vt__19MultiChannelMapping; // size: 0x1C, address: 0x808CD650 struct { // total size: 0x8 } __RTTI__19MultiChannelMapping; // size: 0x8, address: 0x808CD690 struct { // total size: 0x1C } __vt__18MassChannelMapping; // size: 0x1C, address: 0x808CD698 struct { // total size: 0x8 } __RTTI__18MassChannelMapping; // size: 0x8, address: 0x808CD6D8 struct { // total size: 0x1C } __vt__24SingleSlotChannelMapping; // size: 0x1C, address: 0x808CD6E0 struct { // total size: 0x8 } __RTTI__24SingleSlotChannelMapping; // size: 0x8, address: 0x808CD728 struct { // total size: 0x1C } __vt__18SlotChannelMapping; // size: 0x1C, address: 0x808CD730 struct { // total size: 0x8 } __RTTI__18SlotChannelMapping; // size: 0x8, address: 0x808CD760 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std40list>; // size: 0x8, address: 0x808CD7B0 struct _IsPOD { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\beatmatch\SlotChannelMapping_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FA1F8 -> 0x802FA230 */ // Range: 0x802FA1F8 -> 0x802FA210 int MultiChannelMapping::GetNumSlots() {} // Range: 0x802FA210 -> 0x802FA218 int MassChannelMapping::GetNumSlots() {} // Range: 0x802FA218 -> 0x802FA228 int SingleSlotChannelMapping::ChannelBitfield() {} // Range: 0x802FA228 -> 0x802FA230 int SingleSlotChannelMapping::GetNumSlots() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FA230 -> 0x802FA89C */ // Range: 0x802FA230 -> 0x802FA5EC void * MultiChannelMapping::MultiChannelMapping(class MultiChannelMapping * const this /* r26 */, class Submix * submix /* r27 */, const char * submix_name /* r28 */, class vector & new_channels /* r29 */) { // Local variables int i; // r30 class list & channels; // r0 struct _List_iterator j; // r1+0x70 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> struct [anonymous] __vt__19MultiChannelMapping; } // Range: 0x802FA5EC -> 0x802FA79C void MultiChannelMapping::FillChannelList(const class MultiChannelMapping * const this /* r29 */, class list & channels /* r30 */, int slot /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; } // Range: 0x802FA79C -> 0x802FA89C int MultiChannelMapping::ChannelBitfield(const class MultiChannelMapping * const this /* r29 */, int slot /* r30 */) { // Local variables int val; // r3 struct _List_iterator it; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FA89C -> 0x802FA8A0 */ // Range: 0x802FA89C -> 0x802FA8A0 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FA8A0 -> 0x802FA940 */ // Range: 0x802FA8A0 -> 0x802FA914 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, int t2 /* r30 */, unsigned long t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x802FA914 -> 0x802FA940 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FA940 -> 0x802FAFA4 */ // Range: 0x802FA940 -> 0x802FAD50 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class list * __pos /* r25 */, const class list & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0xB4 unsigned long __len; // r29 class list * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std40list>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FAD50 -> 0x802FAFA4 void vector::reserve(class vector * const this /* r25 */, unsigned long __n /* r26 */) { // Local variables class list * __tmp; // r26 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std40list>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FAFA4 -> 0x802FB13C */ // Range: 0x802FAFA4 -> 0x802FAFBC struct __false_type _IsPOD::_Answer() {} /* Compile unit: C:\rockband2\system\src\beatmatch\SongData.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FB13C -> 0x802FC7D8 */ // Range: 0x802FB13C -> 0x802FB1B8 void * TrackInfo::TrackInfo(struct TrackInfo * const this /* r29 */, class Symbol & instrument /* r30 */, unsigned char independent_slots /* r31 */) {} // Range: 0x802FB1B8 -> 0x802FB2C0 void * TrackInfo::~TrackInfo(struct TrackInfo * const this /* r30 */) {} // Range: 0x802FB2C0 -> 0x802FB318 struct TrackInfo * TrackInfo::Duplicate(const struct TrackInfo * const this /* r31 */) {} // Range: 0x802FB318 -> 0x802FB428 void * SongData::SongData(class SongData * const this /* r31 */) { // References // -> struct [anonymous] __vt__8SongData; } // Range: 0x802FB428 -> 0x802FBAAC void * SongData::~SongData(class SongData * const this /* r29 */) { // Local variables int i; // r31 // References // -> struct [anonymous] __vt__8SongData; } union SHA1_WORKSPACE_BLOCK { unsigned char c[64]; // offset 0x0, size 0x40 unsigned long l[16]; // offset 0x0, size 0x40 }; class CSHA1 { // total size: 0xC4 public: unsigned long m_state[5]; // offset 0x0, size 0x14 unsigned long m_count[2]; // offset 0x14, size 0x8 unsigned long m_reserved1[1]; // offset 0x1C, size 0x4 unsigned char m_buffer[64]; // offset 0x20, size 0x40 unsigned char m_digest[20]; // offset 0x60, size 0x14 unsigned long m_reserved2[3]; // offset 0x74, size 0xC private: unsigned char m_workspace[64]; // offset 0x80, size 0x40 union SHA1_WORKSPACE_BLOCK * m_block; // offset 0xC0, size 0x4 }; class StreamChecksum { // total size: 0xCC const unsigned char * mSignature; // offset 0x0, size 0x4 const char * mFile; // offset 0x4, size 0x4 class CSHA1 mSHA1; // offset 0x8, size 0xC4 }; // Range: 0x802FBAAC -> 0x802FBB68 static void Validate(class MemStream * stream /* r29 */, const char * file /* r30 */, unsigned char nameOnly /* r31 */) { // Local variables class StreamChecksum chk; // r1+0x8 } // Range: 0x802FBB68 -> 0x802FBC44 unsigned char SongData::Poll(class SongData * const this /* r30 */) { // Local variables class Timer t; // r1+0x8 } // Range: 0x802FBC44 -> 0x802FBCB4 void SongData::AddSink(class SongParserSink * sink /* r1+0x8 */) {} // Range: 0x802FBCB4 -> 0x802FBFE8 void SongData::DuplicateTrack(class SongData * const this /* r27 */, int old_track /* r28 */) { // Local variables int i; // r29 // References // -> struct [anonymous] __vt__12DrumFillInfo; // -> struct [anonymous] __RTTI__P10FillExtent; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13TickedInfo; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__8FillInfo; } // Range: 0x802FBFE8 -> 0x802FC164 void SongData::FixUpTrackConfig(class SongData * const this /* r30 */, class PlayerTrackConfigList * player_track_config_list /* r31 */) { // Local variables class vector instruments; // r1+0x24 int t; // r29 int t; // r29 } // Range: 0x802FC164 -> 0x802FC1D4 void SongData::SetBeatMatcher(class BeatMatcher * beat_matcher /* r1+0x8 */) {} // Range: 0x802FC1D4 -> 0x802FC1DC void SongData::SetSeparateParts() {} // Range: 0x802FC1DC -> 0x802FC1F8 class PhraseList & SongData::GetPhraseList() {} // Range: 0x802FC1F8 -> 0x802FC40C void SongData::AddTrack(class SongData * const this /* r30 */, int track /* r31 */, class Symbol & name /* r27 */, class Symbol & instrument /* r29 */, unsigned char independent_slots /* r28 */) { // Local variables int i; // r28 // References // -> struct [anonymous] __vt__12DrumFillInfo; } // Range: 0x802FC40C -> 0x802FC414 void SongData::AddVocalNote() {} // Range: 0x802FC414 -> 0x802FC41C void SongData::OnTambourineGem() {} // Range: 0x802FC41C -> 0x802FC424 void SongData::StartVocalPlayerPhrase() {} // Range: 0x802FC424 -> 0x802FC42C void SongData::EndVocalPlayerPhrase() {} // Range: 0x802FC42C -> 0x802FC4D4 void SongData::AddPhrase(class SongData * const this /* r25 */, enum BeatmatchPhraseType type /* r26 */, int track /* r27 */, float ms /* f30 */, int tick /* r28 */, float duration /* f31 */, int duration_ticks /* r29 */) { // Local variables int min_diff; // [invalid] int max_diff; // r31 int i; // r30 } // Range: 0x802FC4D4 -> 0x802FC4DC void SongData::SetFakeHitGemsInFill() {} // Range: 0x802FC4DC -> 0x802FC4E4 unsigned char SongData::GetFakeHitGemsInFill() {} // Range: 0x802FC4E4 -> 0x802FC534 void SongData::RecalculateGemTimes(class SongData * const this /* r30 */) { // Local variables class GameGemDB * const * it; // r31 } // Range: 0x802FC534 -> 0x802FC630 void SongData::EnableGems(float startMs /* f30 */, float endMs /* f31 */) { // Local variables class vector & v; // r0 unsigned int i; // r7 float gemEnd; // f0 } // Range: 0x802FC630 -> 0x802FC640 class GameGemList & SongData::GetGemListByDiff() {} // Range: 0x802FC640 -> 0x802FC650 class GameGemList & SongData::GetGemList() {} // Range: 0x802FC650 -> 0x802FC69C class GameGemInfoList & SongData::GetGemInfoList(int track /* r31 */) {} // Range: 0x802FC69C -> 0x802FC6B8 class TickedInfoCollection * SongData::GetSubmixes() {} // Range: 0x802FC6B8 -> 0x802FC708 int SongData::TrackNamed() { // Local variables int i; // r6 } // Range: 0x802FC708 -> 0x802FC718 class DrumFillInfo * SongData::GetDrumFillInfo() {} // Range: 0x802FC718 -> 0x802FC71C class FillInfo * SongData::GetFillInfo() {} // Range: 0x802FC71C -> 0x802FC72C class DrumMap * SongData::GetDrumMap() {} // Range: 0x802FC72C -> 0x802FC7D8 char * SongData::SongName(const class SongData * const this /* r31 */) { // Local variables const char * extended_name; // r0 const char * c; // r4 } struct { // total size: 0x3C } __vt__8SongData; // size: 0x3C, address: 0x808CDB28 struct { // total size: 0x8 } __RTTI__8SongData; // size: 0x8, address: 0x808CDB80 struct { // total size: 0x3C } __vt__22InternalSongParserSink; // size: 0x3C, address: 0x808CDB88 struct { // total size: 0x8 } __RTTI__22InternalSongParserSink; // size: 0x8, address: 0x808CDBE0 struct { // total size: 0x8 } __RTTI__PP9DrumMixDB; // size: 0x8, address: 0x808CDC70 struct { // total size: 0x8 } __RTTI__PP13GameGemInfoDB; // size: 0x8, address: 0x808CDC90 struct { // total size: 0x8 } __RTTI__PP8PhraseDB; // size: 0x8, address: 0x808CDCA8 struct { // total size: 0x8 } __RTTI__PP9GameGemDB; // size: 0x8, address: 0x808CDCC0 struct { // total size: 0x8 } __RTTI__PP7DrumMap; // size: 0x8, address: 0x808CDCD8 struct { // total size: 0x8 } __RTTI__PP12DrumFillInfo; // size: 0x8, address: 0x808CDCF0 struct { // total size: 0x8 } __RTTI__PPQ28SongData9TrackInfo; // size: 0x8, address: 0x808CDD10 struct { // total size: 0x8 } __RTTI__PP11BeatMatcher; // size: 0x8, address: 0x808CDD28 struct { // total size: 0x8 } __RTTI__PP14SongParserSink; // size: 0x8, address: 0x808CDD48 struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FC7D8 -> 0x802FDC58 */ // Range: 0x802FC7D8 -> 0x802FC9EC void SongData::Load(class SongData * const this /* r23 */, const class DataArray * song_data /* r24 */, int num_difficulties /* r25 */, class PlayerTrackConfigList * player_track_config_list /* r26 */, class vector & receivers /* r27 */, unsigned char synchronous /* r28 */, enum SongDataValidate validateMode /* r29 */, class Symbol & suffix /* r30 */) { // Local variables class FileStream file; // r1+0x20 class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x1C // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x802FC9EC -> 0x802FCE9C void SongData::Load(class SongData * const this /* r23 */, const char * name /* r24 */, const class DataArray * song_data /* r21 */, int num_difficulties /* r25 */, class PlayerTrackConfigList * player_track_config_list /* r26 */, class vector & receivers /* r27 */, unsigned char synchronous /* r28 */, class Symbol & suffix /* r29 */) { // Local variables class DataArray * beatmatcher_cfg; // r22 int hopo_threshold; // r1+0x44 int d; // r30 int i; // r22 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802FCE9C -> 0x802FD260 void SongData::PostLoad(class SongData * const this /* r30 */, class PlayerTrackConfigList * player_track_config_list /* r31 */) { // Local variables int i; // r29 int diff; // r1+0x1C class SongParserSink * * sit; // r29 int i; // r29 int i; // r29 int i; // r4 int t; // r31 const struct TrackInfo & info; // r28 class BeatMatcher * * bit; // r27 class SongParserSink * * sit; // r27 int diff; // r0 const class PhraseDB * phrasedb; // r27 int i; // [invalid] enum BeatmatchPhraseType type; // r28 const class PhraseList & phrase_list; // r26 const class vector & phrases; // r0 const class Phrase * pit; // r25 class SongParserSink * * sit; // r24 const class GameGemList & gem_list; // r0 const class vector & gems; // r0 const class GameGem * git; // r24 class SongParserSink * * sit; // r25 class BeatMatcher * * it; // r24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802FD260 -> 0x802FD474 void SongData::ValidateVocalSPPhrases(class SongData * const this /* r29 */) { // Local variables int track; // r31 const class PhraseList & phraseList; // r31 const class vector & phrases; // r0 int i; // r30 float start; // f0 float end; // f30 const class VocalNote * note; // r0 // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x802FD474 -> 0x802FD570 void SongData::AddMultiGem(class SongData * const this /* r29 */, const class MultiGemInfo & info /* r30 */) { // Local variables unsigned char ok; // r0 // References // -> class Debug TheDebug; } // Range: 0x802FD570 -> 0x802FD640 void SongData::AddDrumFill(class SongData * const this /* r27 */, int lanes /* r28 */, int start_tick /* r29 */) { // Local variables unsigned char ok; // r0 // References // -> class Debug TheDebug; } // Range: 0x802FD640 -> 0x802FD758 void SongData::AddMix(class SongData * const this /* r30 */, int track /* r26 */, int tick /* r31 */, int difficulty /* r27 */, const char * c /* r29 */) { // Local variables unsigned char ok; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802FD758 -> 0x802FD838 void SongData::AddLyricEvent(class SongData * const this /* r28 */, int track /* r30 */, int tick /* r29 */) { // Local variables unsigned char ok; // r0 // References // -> class Debug TheDebug; } // Range: 0x802FD838 -> 0x802FD97C void SongData::DrumMapLane(class SongData * const this /* r28 */, int tick /* r29 */, int lane /* r30 */) { // Local variables unsigned char ok; // r0 unsigned char ok; // r0 // References // -> class Debug TheDebug; } // Range: 0x802FD97C -> 0x802FDA08 void SongData::AddBeat(class SongData * const this /* r29 */, int tick /* r30 */) { // Local variables unsigned char ok; // r0 // References // -> class Debug TheDebug; } // Range: 0x802FDA08 -> 0x802FDB04 void SongData::CopyGems(class SongData * const this /* r25 */, int start_tick /* r26 */, int end_tick /* r27 */, int dest_tick /* r28 */, int gems_tick /* r29 */, int loops /* r30 */, int db /* r24 */, int dest_track /* r31 */, int src_track /* r22 */, int player /* r23 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802FDB04 -> 0x802FDC58 class SongPos SongData::CalcSongPos(class SongData * const this /* r30 */, float ms /* f31 */) { // Local variables float total_tick; // f0 int measure; // r1+0x14 int beat; // r1+0x10 int tick; // r1+0xC int bpm; // r1+0x8 float total_beat; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\beatmatch\InternalSongParserSink_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FDC58 -> 0x802FDC98 */ // Range: 0x802FDC58 -> 0x802FDC98 void * InternalSongParserSink::~InternalSongParserSink(class InternalSongParserSink * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\TempoMap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FDC98 -> 0x802FDCDC */ // Range: 0x802FDC98 -> 0x802FDCD8 void * TempoMap::~TempoMap(class TempoMap * const this /* r31 */) {} // Range: 0x802FDCD8 -> 0x802FDCDC void TempoMap::Finalize() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FDCDC -> 0x802FDDF8 */ // Range: 0x802FDCDC -> 0x802FDD6C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, class Symbol & t2 /* r29 */, int t3 /* r30 */, const char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x802FDD6C -> 0x802FDDF8 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r27 */, class Symbol & t2 /* r28 */, int t3 /* r29 */, int t4 /* r30 */, const char * t5 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FE0DC -> 0x802FF1A4 */ // Range: 0x802FE0DC -> 0x802FE214 void vector::_M_insert_overflow(class vector * const this /* r27 */, class DrumMixDB * * __pos /* r28 */, class DrumMixDB * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class DrumMixDB * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9DrumMixDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FE214 -> 0x802FE35C void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class DrumMixDB * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9DrumMixDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FE35C -> 0x802FE494 void vector::_M_insert_overflow(class vector * const this /* r27 */, class GameGemInfoDB * * __pos /* r28 */, class GameGemInfoDB * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class GameGemInfoDB * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13GameGemInfoDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FE494 -> 0x802FE5DC void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class GameGemInfoDB * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13GameGemInfoDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FE5DC -> 0x802FE714 void vector::_M_insert_overflow(class vector * const this /* r27 */, class PhraseDB * * __pos /* r28 */, class PhraseDB * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class PhraseDB * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8PhraseDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FE714 -> 0x802FE85C void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class PhraseDB * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8PhraseDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FE85C -> 0x802FE994 void vector::_M_insert_overflow(class vector * const this /* r27 */, class GameGemDB * * __pos /* r28 */, class GameGemDB * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class GameGemDB * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9GameGemDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FE994 -> 0x802FEADC void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class GameGemDB * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9GameGemDB; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FEADC -> 0x802FEC14 void vector::_M_insert_overflow(class vector * const this /* r27 */, class DrumMap * * __pos /* r28 */, class DrumMap * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class DrumMap * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP7DrumMap; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FEC14 -> 0x802FED4C void vector::_M_insert_overflow(class vector * const this /* r27 */, class DrumFillInfo * * __pos /* r28 */, class DrumFillInfo * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class DrumFillInfo * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP12DrumFillInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FED4C -> 0x802FEE84 void vector::_M_insert_overflow(class vector * const this /* r27 */, struct TrackInfo * * __pos /* r28 */, struct TrackInfo * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct TrackInfo * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ28SongData9TrackInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FEE84 -> 0x802FEFBC void vector::_M_insert_overflow(class vector * const this /* r27 */, class BeatMatcher * * __pos /* r28 */, class BeatMatcher * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BeatMatcher * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11BeatMatcher; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FEFBC -> 0x802FF0F4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class SongParserSink * * __pos /* r28 */, class SongParserSink * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class SongParserSink * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14SongParserSink; // -> unsigned char gStlAllocNameLookup; } // Range: 0x802FF0F4 -> 0x802FF120 void _Vector_base::_M_throw_length_error() {} // Range: 0x802FF120 -> 0x802FF14C void _Vector_base::_M_throw_length_error() {} // Range: 0x802FF14C -> 0x802FF178 void _Vector_base::_M_throw_length_error() {} // Range: 0x802FF178 -> 0x802FF1A4 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FF1A4 -> 0x802FF204 */ // Range: 0x802FF1A4 -> 0x802FF1BC struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x802FF1BC -> 0x802FF1D4 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x802FF1D4 -> 0x802FF1EC struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x802FF1EC -> 0x802FF204 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\beatmatch\SongParser.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x802FF204 -> 0x803015C0 */ class Timer gSongLoadTimer; // size: 0x38, address: 0x8097DD78 // Range: 0x802FF204 -> 0x802FF218 char * SongParser::FmtTick(class SongParser * const this /* r5 */) {} // Range: 0x802FF218 -> 0x802FF954 void * SongParser::SongParser(class SongParser * const this /* r28 */, class InternalSongParserSink & sink /* r30 */, int num_difficulties /* r29 */, unsigned char separate_parts /* r23 */, class Symbol & suffix /* r24 */, class TempoMap * & tempo_map /* r26 */, class MeasureMap * & measure_map /* r25 */) { // Local variables class DataArray * beatmatcher_cfg; // r26 class DataArray * watcher_cfg; // r27 class DataArray * parser_cfg; // r27 class DataArray * drum_cfg; // r30 int i; // r25 class DataArray * vocal_cfg; // r25 int i; // r27 int i; // r30 // References // -> struct [anonymous] __RTTI__PQ210SongParser13GemInProgress; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> struct [anonymous] __vt__10SongParser; } struct { // total size: 0x8 } __RTTI__PQ210SongParser13GemInProgress; // size: 0x8, address: 0x808CDE80 // Range: 0x802FF954 -> 0x802FFA0C void SongParser::Poll(class SongParser * const this /* r31 */) { // Local variables unsigned char eof; // r0 } // Range: 0x802FFA0C -> 0x802FFA14 void SongParser::SetNumPlayers() {} // Range: 0x802FFA14 -> 0x802FFB20 void SongParser::Reset(class SongParser * const this /* r31 */) { // Local variables int d; // r7 int i; // r8 } // Range: 0x802FFB20 -> 0x802FFB90 void SongParser::AddReceiver(class MidiReceiver * receiver /* r1+0x8 */) {} // Range: 0x802FFB90 -> 0x802FFB98 void SongParser::OnNewTrack() {} // Range: 0x802FFB98 -> 0x802FFC08 void SongParser::OnEndOfTrack(class SongParser * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x802FFC08 -> 0x802FFC78 void SongParser::OnAllTracksRead(class SongParser * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x802FFC78 -> 0x802FFD6C void SongParser::OnMidiMessage(class SongParser * const this /* r26 */, int tick /* r27 */, unsigned char status /* r28 */, unsigned char data1 /* r29 */, unsigned char data2 /* r30 */) { // Local variables int i; // r31 } // Range: 0x802FFD6C -> 0x802FFE2C void SongParser::OnMidiMessageGem(class SongParser * const this /* r28 */, int tick /* r29 */, unsigned char status /* r30 */, unsigned char data1 /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x802FFE2C -> 0x802FFEF4 void SongParser::OnMidiMessageGemOff(class SongParser * const this /* r29 */, int tick /* r30 */, unsigned char pitch /* r31 */) {} // Range: 0x802FFEF4 -> 0x802FFF84 unsigned char SongParser::HandlePhraseEnd(class SongParser * const this /* r29 */, int tick /* r30 */, unsigned char pitch /* r31 */) {} // Range: 0x802FFF84 -> 0x802FFF98 void SongParser::OnCommonPhraseEnd() {} // Range: 0x802FFF98 -> 0x802FFFAC void SongParser::OnSoloPhraseEnd() {} // Range: 0x802FFFAC -> 0x803000D0 void SongParser::AddPhrase(class SongParser * const this /* r25 */, enum BeatmatchPhraseType type /* r26 */, int diff /* r27 */, int & on_tick /* r28 */, int off_tick /* r29 */) { // Local variables float on_time; // f30 float off_time; // f0 } // Range: 0x803000D0 -> 0x80300144 unsigned char SongParser::HandleFillEnd(class SongParser * const this /* r28 */, int tick /* r29 */, unsigned char pitch /* r30 */) { // Local variables unsigned char ok; // r31 } // Range: 0x80300144 -> 0x803001D0 void SongParser::OnFillEnd(class SongParser * const this /* r29 */, int tick /* r30 */) {} // Range: 0x803001D0 -> 0x803003B0 void SongParser::OnGemEnd(class SongParser * const this /* r28 */, int tick /* r24 */) { // Local variables int diff; // r1+0x8 int slot; // r30 int on_tick; // r29 float off_time; // f0 class MultiGemInfo info; // r1+0xC } // Range: 0x803003B0 -> 0x80300488 int SongParser::ComputeSlots(class SongParser * const this /* r26 */, int on_tick /* r27 */, class vector & gems /* r31 */) { // Local variables int slots; // r29 int s; // r28 } // Range: 0x80300488 -> 0x80300690 void SongParser::OnMidiMessageVocals(class SongParser * const this /* r29 */, int tick /* r30 */, unsigned char status /* r28 */, unsigned char data1 /* r31 */) { // Local variables int pitch; // [invalid] int player; // r5 int player; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80300690 -> 0x80300904 void SongParser::EndVocalNote(class SongParser * const this /* r31 */, int tick /* r29 */) { // Local variables float time; // f0 // References // -> class Debug TheDebug; } // Range: 0x80300904 -> 0x80300A38 unsigned char SongParser::ParseAndStripLyricText(const char * text /* r28 */, class VocalNote & note /* r29 */) { // Local variables unsigned char bends; // r30 int len; // r0 const char * endChar; // r31 class String stripped; // r1+0x8 } // Range: 0x80300A38 -> 0x80300B00 void SongParser::OnMidiMessageBeat(class SongParser * const this /* r28 */, int tick /* r29 */, unsigned char status /* r30 */, unsigned char data1 /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80300B00 -> 0x80300C94 void SongParser::OnText(class SongParser * const this /* r28 */, int tick /* r29 */, const char * str /* r30 */, unsigned char type /* r31 */) { // Local variables int i; // r27 // References // -> struct __locale _current_locale; } // Range: 0x80300C94 -> 0x80300DC0 unsigned char SongParser::OnAcceptMaps(class SongParser * const this /* r29 */, class TempoMap * tempo /* r30 */, class MeasureMap * measure /* r31 */) {} // Range: 0x80300DC0 -> 0x80300E44 void SongParser::SetMidiReader(class SongParser * const this /* r29 */, class MidiReader * r /* r30 */) { // Local variables int i; // r31 } // Range: 0x80300E44 -> 0x80300E98 int SongParser::PitchToSlot() { // Local variables int slot; // r6 } // Range: 0x80300E98 -> 0x80300EAC unsigned char SongParser::IsCommonPhraseMarker() {} // Range: 0x80300EAC -> 0x80300EC0 unsigned char SongParser::IsSoloPhraseMarker() {} // Range: 0x80300EC0 -> 0x80300F08 unsigned char SongParser::CheckDrumFillMarker() {} // Range: 0x80300F08 -> 0x80300F0C unsigned char SongParser::CheckFillMarker() {} // Range: 0x80300F0C -> 0x80300FC4 unsigned char SongParser::CheckForceHopoMarker() { // Local variables int slot; // r7 int diff; // r5 } // Range: 0x80300FC4 -> 0x80301040 unsigned char SongParser::CheckDrumMapMarker(class SongParser * const this /* r10 */, int tick /* r9 */, int pitch /* r8 */) {} // Range: 0x80301040 -> 0x803010B8 unsigned char SongParser::SuffixMatches(const char * suffix /* r29 */) { // References // -> const char * gNullStr; } // Range: 0x803010B8 -> 0x80301188 unsigned char SongParser::UseNullSuffix(class SongParser * const this /* r29 */, const class vector & parts /* r30 */, class Symbol & instrument /* r31 */) { // Local variables int t; // r28 // References // -> const char * gNullStr; } // Range: 0x80301188 -> 0x803011D4 unsigned char SongParser::UsePart() { // References // -> const char * gNullStr; } // Range: 0x803011D4 -> 0x80301280 void SplitTrackName(const char * track_name /* r0 */, class Symbol & oInstrument /* r30 */, class Symbol & oMode /* r31 */) { // Local variables char instrument[64]; // r1+0x10 char * c; // r4 // References // -> const char * gNullStr; } // Range: 0x80301280 -> 0x80301328 unsigned char SongParser::InstrumentUsed(class SongParser * const this /* r28 */, class Symbol & instrument /* r29 */) { // Local variables int i; // r30 } // Range: 0x80301328 -> 0x80301338 void SongParser::InitReadingState() {} // Range: 0x80301338 -> 0x80301344 void SongParser::SetSectionBounds() {} // Range: 0x80301344 -> 0x80301384 unsigned char SongParser::FilterTick() {} class MidiTrackLister : public MidiReceiver { // total size: 0xC class vector * mTrackList; // offset 0x8, size 0x4 }; // Range: 0x80301384 -> 0x803013F0 void * MidiTrackLister::MidiTrackLister(class MidiTrackLister * const this /* r29 */, class vector & tracks /* r30 */, class BinStream & file /* r31 */) { // References // -> struct [anonymous] __vt__15MidiTrackLister; } // Range: 0x803013F0 -> 0x80301430 void * MidiTrackLister::~MidiTrackLister(class MidiTrackLister * const this /* r31 */) {} // Range: 0x80301430 -> 0x80301484 void MidiTrackLister::FillTrackList(class MidiTrackLister * const this /* r6 */, class vector & tracks /* r0 */) { // Local variables class MidiReader reader; // r1+0x8 } // Range: 0x80301484 -> 0x8030151C void MidiTrackLister::OnText(class MidiTrackLister * const this /* r31 */) {} // Range: 0x8030151C -> 0x80301578 void FillTrackList(class vector & tracks /* r0 */, class BinStream & file /* r31 */) { // Local variables class MidiTrackLister lister; // r1+0x8 } // Range: 0x80301578 -> 0x8030157C void MidiTrackLister::OnMidiMessage() {} // Range: 0x8030157C -> 0x80301580 void MidiTrackLister::OnAllTracksRead() {} // Range: 0x80301580 -> 0x80301584 void MidiTrackLister::OnEndOfTrack() {} // Range: 0x80301584 -> 0x80301588 void MidiTrackLister::OnNewTrack() {} struct { // total size: 0x30 } __vt__15MidiTrackLister; // size: 0x30, address: 0x808CE0A0 struct { // total size: 0x8 } __RTTI__15MidiTrackLister; // size: 0x8, address: 0x808CE0F0 struct { // total size: 0x30 } __vt__10SongParser; // size: 0x30, address: 0x808CE0F8 struct { // total size: 0x8 } __RTTI__10SongParser; // size: 0x8, address: 0x808CE140 // Range: 0x80301588 -> 0x803015B4 void _Vector_base::_M_throw_length_error() {} struct { // total size: 0x8 } __RTTI__PQ210SongParser14DifficultyInfo; // size: 0x8, address: 0x808CE1A0 struct { // total size: 0x8 } __RTTI__P8PartInfo; // size: 0x8, address: 0x808CE1B8 // Range: 0x803015B4 -> 0x803015C0 static void __sinit_\SongParser_cpp() { // References // -> class Timer gSongLoadTimer; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803015C0 -> 0x80302A08 */ // Range: 0x803015C0 -> 0x8030162C class TempoMap * SongParser::GetTempoMap(class SongParser * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8030162C -> 0x80301720 void SongParser::ReadMidiFile(class SongParser * const this /* r28 */, class BinStream & file /* r29 */, const char * filename /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80301720 -> 0x80301890 void SongParser::OnMidiMessageGemOn(class SongParser * const this /* r29 */, int tick /* r30 */, unsigned char pitch /* r31 */) { // Local variables int diff; // r1+0x8 int slot; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80301890 -> 0x80301C84 void SongParser::StartVocalNote(class SongParser * const this /* r28 */, int tick /* r29 */, unsigned char pitch /* r26 */, const char * text /* r30 */) { // Local variables float time; // f0 float bendStartMs; // f31 int bendStartTick; // r27 class VocalNote bendNote; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x80301C84 -> 0x80301ED8 unsigned char SongParser::OnTrackName(class SongParser * const this /* r31 */, const char * str /* r30 */) { // Local variables class Symbol instrument; // r1+0x44 int i; // r30 // References // -> const char * gNullStr; } // Range: 0x80301ED8 -> 0x8030208C void SongParser::ParseText(class SongParser * const this /* r27 */, int tick /* r28 */, const char * str /* r29 */) { // Local variables const char * c; // r1+0x8 int difficulty; // r30 char mix[64]; // r1+0x50 const char * d; // r4 int len; // r29 const char * c; // r29 char weights[64]; // r1+0x10 const char * d; // r3 int len; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8030208C -> 0x80302220 unsigned char SongParser::SetActivePlayer(class SongParser * const this /* r28 */, int tick /* r29 */, unsigned char onoff /* r30 */) { // Local variables int player; // r31 int difficulty; // r5 class DifficultyInfo & diff_info; // r0 int i; // r6 // References // -> class Debug TheDebug; } // Range: 0x80302220 -> 0x803026B4 void SongParser::AnalyzeTrackList(class SongParser * const this /* r29 */) { // Local variables class vector parts; // r1+0x6C int t; // r30 class Symbol part; // r1+0x68 class Symbol mode; // r1+0x64 class Symbol instrument; // r1+0x60 int t; // r30 int p; // r30 class Symbol inst; // r1+0x5C int q; // r6 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803026B4 -> 0x803027C0 unsigned char SongParser::UsePartTrack(class SongParser * const this /* r28 */, const char * track_name /* r29 */, class Symbol & oInstrument /* r30 */) { // Local variables int p; // r31 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803027C0 -> 0x8030288C void SongParser::UpdateReadingState() { // References // -> class Debug TheDebug; } // Range: 0x8030288C -> 0x80302A08 unsigned char SongParser::ShouldReadTrack(class SongParser * const this /* r29 */, class Symbol & track_name /* r5 */) { // References // -> class Debug TheDebug; // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80302A08 -> 0x80302A0C */ // Range: 0x80302A08 -> 0x80302A0C class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80302A0C -> 0x8030364C */ // Range: 0x80302A0C -> 0x80302FF0 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class DifficultyInfo * __pos /* r25 */, const class DifficultyInfo & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 class DifficultyInfo * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PQ210SongParser13GemInProgress; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210SongParser14DifficultyInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80302FF0 -> 0x8030321C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct GemInProgress * __pos /* r26 */, const struct GemInProgress & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct GemInProgress * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210SongParser13GemInProgress; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8030321C -> 0x803033E0 void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables struct GemInProgress * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210SongParser13GemInProgress; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803033E0 -> 0x8030364C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct PartInfo * __pos /* r26 */, const struct PartInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct PartInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8PartInfo; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\Submix.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030364C -> 0x803039DC */ // Range: 0x8030364C -> 0x803036EC void * Submix::Submix(class Submix * const this /* r29 */, class DataArray * cfg /* r30 */) {} // Range: 0x803036EC -> 0x80303768 void * Submix::~Submix(class Submix * const this /* r30 */) {} // Range: 0x80303768 -> 0x8030377C int Submix::GetNumSlots() {} // Range: 0x8030377C -> 0x80303790 void Submix::FillChannelList() {} // Range: 0x80303790 -> 0x8030389C void * SubmixCollection::SubmixCollection(class SubmixCollection * const this /* r28 */, class DataArray * cfg /* r29 */) { // Local variables int i; // r30 } // Range: 0x8030389C -> 0x8030397C void * SubmixCollection::~SubmixCollection(class SubmixCollection * const this /* r31 */) { // Local variables int i; // r29 } // Range: 0x8030397C -> 0x803039DC class Submix * SubmixCollection::Find() { // Local variables int i; // r7 } struct { // total size: 0x8 } __RTTI__PP6Submix; // size: 0x8, address: 0x808CE218 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803039DC -> 0x80303A08 */ // Range: 0x803039DC -> 0x80303A08 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80303A08 -> 0x80303C88 */ // Range: 0x80303A08 -> 0x80303B40 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Submix * * __pos /* r28 */, class Submix * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Submix * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6Submix; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80303B40 -> 0x80303C88 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class Submix * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6Submix; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80303C88 -> 0x80303CA0 */ // Range: 0x80303C88 -> 0x80303CA0 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\beatmatch\TrackWatcher.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80303CA0 -> 0x8030437C */ static class Symbol guitar; // size: 0x4, address: 0x80A5079C static class Symbol joypad; // size: 0x4, address: 0x80A507A4 static class Symbol joypad_guitar; // size: 0x4, address: 0x80A507AC // Range: 0x80303CA0 -> 0x80303DC4 class Symbol ControllerTypeToTrackWatcherType(class Symbol & controller_type /* r28 */) { // Local variables class DataArray * ctrl_cfg; // r0 class Symbol instrument; // r1+0x20 // References // -> static class Symbol joypad_guitar; // -> static class Symbol joypad; // -> static class Symbol guitar; } static class Symbol guitar; // size: 0x4, address: 0x80A507B4 static class Symbol joypad; // size: 0x4, address: 0x80A507BC // Range: 0x80303DC4 -> 0x80303F94 class TrackWatcherImpl * NewTrackWatcherImpl(int track /* r23 */, unsigned char independent_slots /* r24 */, int player_num /* r25 */, int player_slot /* r26 */, class Symbol & controller_type /* r21 */, class SongData * song_data /* r27 */, class TrackWatcherParent * parent /* r28 */, class DataArray * cfg /* r29 */, class DataArray * song_cfg /* r30 */) { // Local variables class Symbol type; // r1+0x1C class GameGemList * gems; // r22 class GameGemInfoList * gem_infos; // r21 // References // -> class Debug TheDebug; // -> static class Symbol joypad; // -> static class Symbol guitar; } // Range: 0x80303F94 -> 0x80304010 void * TrackWatcher::TrackWatcher(class TrackWatcher * const this /* r31 */, class DataArray * cfg /* r12 */, class DataArray * song_cfg /* r11 */) { // References // -> const char * gNullStr; } // Range: 0x80304010 -> 0x803040C0 void * TrackWatcher::~TrackWatcher(class TrackWatcher * const this /* r30 */) {} // Range: 0x803040C0 -> 0x803040CC void TrackWatcher::ReplaceImpl() {} class TrackWatcherState { // total size: 0x58 public: int mLastGemHit; // offset 0x0, size 0x4 int mAutoCaptureUntil; // offset 0x4, size 0x4 unsigned char mAutoplayCoda; // offset 0x8, size 0x1 unsigned char mIsCurrentTrack; // offset 0x9, size 0x1 int mGemInProgress; // offset 0xC, size 0x4 float mGemInProgressEndMs; // offset 0x10, size 0x4 float mSyncOffset; // offset 0x14, size 0x4 class PhraseCatcher * mCatcher; // offset 0x18, size 0x4 int mTrack; // offset 0x1C, size 0x4 unsigned char mEnabled; // offset 0x20, size 0x1 int mLastGemPassed; // offset 0x24, size 0x4 int mLastGemSeen; // offset 0x28, size 0x4 float mLastMiss; // offset 0x2C, size 0x4 unsigned char mCheating; // offset 0x30, size 0x1 int mCheatError; // offset 0x34, size 0x4 int mNextCheatError; // offset 0x38, size 0x4 int mNextGemToAutoplay; // offset 0x3C, size 0x4 unsigned char mPitchBendReady; // offset 0x40, size 0x1 int mPitchBendRange; // offset 0x44, size 0x4 int mPitchBendMsToFull; // offset 0x48, size 0x4 float mPitchBendMsHit; // offset 0x4C, size 0x4 float mBiggestWhammy; // offset 0x50, size 0x4 unsigned char mCanSwitchTracks; // offset 0x54, size 0x1 unsigned char mSucceeding; // offset 0x55, size 0x1 }; // Range: 0x803040CC -> 0x803041DC void TrackWatcher::SetImpl(class TrackWatcher * const this /* r29 */) { // Local variables class TrackWatcherState state; // r1+0x18 unsigned char saved_state; // r31 int i; // r30 } // Range: 0x803041DC -> 0x803041F0 void TrackWatcher::SetIsCurrentTrack() {} // Range: 0x803041F0 -> 0x80304284 void TrackWatcher::AddSink(class TrackWatcher * const this /* r31 */, class BeatMatchSink * sink /* r1+0x8 */) {} // Range: 0x80304284 -> 0x80304298 void TrackWatcher::SetCatcher() {} // Range: 0x80304298 -> 0x803042AC void TrackWatcher::Poll() {} // Range: 0x803042AC -> 0x803042C0 void TrackWatcher::Jump() {} // Range: 0x803042C0 -> 0x803042D4 unsigned char TrackWatcher::Swing() {} // Range: 0x803042D4 -> 0x803042E8 void TrackWatcher::NonStrumSwing() {} // Range: 0x803042E8 -> 0x803042FC void TrackWatcher::FretButtonDown() {} // Range: 0x803042FC -> 0x80304310 void TrackWatcher::FretButtonUp() {} // Range: 0x80304310 -> 0x80304324 void TrackWatcher::AutoCapture() {} // Range: 0x80304324 -> 0x80304338 void TrackWatcher::Enable() {} // Range: 0x80304338 -> 0x8030434C void TrackWatcher::SetCheating() {} // Range: 0x8030434C -> 0x80304360 void TrackWatcher::SetAutoplayError() {} // Range: 0x80304360 -> 0x80304368 void TrackWatcher::SetAutoplayCoda() {} // Range: 0x80304368 -> 0x8030437C void TrackWatcher::SetSyncOffset() {} struct { // total size: 0x8 } __RTTI__PP13BeatMatchSink; // size: 0x8, address: 0x808CE2A8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030437C -> 0x803044B4 */ // Range: 0x8030437C -> 0x803044B4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class BeatMatchSink * * __pos /* r28 */, class BeatMatchSink * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class BeatMatchSink * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13BeatMatchSink; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\beatmatch\TrackWatcherImpl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803044B4 -> 0x80306BA0 */ static float kCheatCodaSwingFrequency; // size: 0x4, address: 0x80A56AE0 // Range: 0x803044B4 -> 0x8030471C void * TrackWatcherImpl::TrackWatcherImpl(class TrackWatcherImpl * const this /* r28 */, class DataArray * cfg /* r29 */) { // Local variables class DataArray * accuracy_cfg; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__16TrackWatcherImpl; } // Range: 0x8030471C -> 0x803047B4 void * TrackWatcherImpl::~TrackWatcherImpl(class TrackWatcherImpl * const this /* r30 */) { // References // -> struct [anonymous] __vt__16TrackWatcherImpl; } // Range: 0x803047B4 -> 0x80304878 void TrackWatcherImpl::LoadState() {} // Range: 0x80304878 -> 0x8030493C void TrackWatcherImpl::SaveState() {} // Range: 0x8030493C -> 0x803049AC void TrackWatcherImpl::AddSink(class BeatMatchSink * sink /* r1+0x8 */) {} // Range: 0x803049AC -> 0x80304A1C void TrackWatcherImpl::SetCatcher(class TrackWatcherImpl * const this /* r30 */, class PhraseCatcher * catcher /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80304A1C -> 0x80304A24 void TrackWatcherImpl::SetIsCurrentTrack() {} // Range: 0x80304A24 -> 0x80304B00 void TrackWatcherImpl::Poll(class TrackWatcherImpl * const this /* r30 */, float ms /* f31 */) { // Local variables int tick; // r31 } // Range: 0x80304B00 -> 0x80304BC0 void TrackWatcherImpl::Jump(class TrackWatcherImpl * const this /* r31 */, float ms /* f31 */) { // Local variables int first_new_gem; // r3 int last_old_gem; // r4 } // Range: 0x80304BC0 -> 0x80304C5C void TrackWatcherImpl::AutoCapture(class TrackWatcherImpl * const this /* r29 */, const struct PhraseInfo & info /* r30 */, unsigned char autocapture /* r31 */) {} // Range: 0x80304C5C -> 0x80304CD0 void TrackWatcherImpl::SetAutoCaptureExtent(class TrackWatcherImpl * const this /* r30 */, int end_gem /* r31 */) {} // Range: 0x80304CD0 -> 0x80304CD8 void TrackWatcherImpl::Enable() {} // Range: 0x80304CD8 -> 0x80304CE0 unsigned char TrackWatcherImpl::IsCheating() {} // Range: 0x80304CE0 -> 0x80304CE8 void TrackWatcherImpl::SetCheating() {} // Range: 0x80304CE8 -> 0x80304CF0 void TrackWatcherImpl::SetAutoplayError() {} // Range: 0x80304CF0 -> 0x80304CF8 void TrackWatcherImpl::SetAutoplayCoda() {} // Range: 0x80304CF8 -> 0x80304D00 void TrackWatcherImpl::SetSyncOffset() {} // Range: 0x80304D00 -> 0x80304D30 int TrackWatcherImpl::NextGemAfter() {} // Range: 0x80304D30 -> 0x80304E28 int TrackWatcherImpl::ClosestUnplayedGem(class TrackWatcherImpl * const this /* r29 */) { // Local variables int gem_id; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80304E28 -> 0x80304E54 unsigned char TrackWatcherImpl::InSlopWindow() {} // Range: 0x80304E54 -> 0x80304F18 void TrackWatcherImpl::SetGemsPlayedUntil(class TrackWatcherImpl * const this /* r28 */, int end_gem /* r29 */) { // Local variables int gem_id; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80304F18 -> 0x80304FD8 void TrackWatcherImpl::SetGemsUnplayed(class TrackWatcherImpl * const this /* r28 */, int end_gem /* r29 */) { // Local variables int gem_id; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80304FD8 -> 0x80304FE0 void TrackWatcherImpl::SetAllGemsUnplayed() {} // Range: 0x80304FE0 -> 0x80304FE8 void TrackWatcherImpl::FakeHitGem() {} // Range: 0x80304FE8 -> 0x803051D4 void TrackWatcherImpl::HitGem(class TrackWatcherImpl * const this /* r27 */, float ms /* f31 */, int gem_id /* r28 */, unsigned char hopo /* r29 */, unsigned char solo_button /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803051D4 -> 0x80305444 void TrackWatcherImpl::CheckForPasses(class TrackWatcherImpl * const this /* r31 */, float ms /* f30 */) { // Local variables int last_gem; // r28 int next_gem; // r29 float next_gem_ms; // f0 float wait; // f0 float timeout_ms; // r1+0xC int later_gem; // r4 float later_gem_ms; // f0 float midpoint_ms; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80305444 -> 0x80305464 void TrackWatcherImpl::CheckForSustainedNoteTimeout() {} // Range: 0x80305464 -> 0x80305638 void TrackWatcherImpl::CheckForAutoplay(class TrackWatcherImpl * const this /* r31 */, float ms /* f31 */) { // Local variables int current_tick; // r30 int last_gem; // r29 float next_gem_ms; // f0 // References // -> static float kCheatCodaSwingFrequency; } // Range: 0x80305638 -> 0x803056F4 void TrackWatcherImpl::CheckForGemsSeen(class TrackWatcherImpl * const this /* r29 */, float ms /* f31 */) { // Local variables int last_gem; // r31 int next_gem; // r30 float next_gem_ms; // f0 } // Range: 0x803056F4 -> 0x803058C4 void TrackWatcherImpl::CheckForPitchBend(class TrackWatcherImpl * const this /* r31 */, float ms /* f30 */) { // Local variables float whammy; // r1+0x8 float new_whammy; // f31 float bend_fraction; // f0 float bend; // f1 } // Range: 0x803058C4 -> 0x8030592C void TrackWatcherImpl::CheckForCodaLanes(class TrackWatcherImpl * const this /* r31 */) { // Local variables unsigned char in_coda_lane; // r4 } // Range: 0x8030592C -> 0x80305A28 int TrackWatcherImpl::SustainedGemToKill(class TrackWatcherImpl * const this /* r29 */, int slot /* r30 */) { // Local variables int num_frets_down; // r31 int slots; // r0 int i; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80305A28 -> 0x80305B38 void TrackWatcherImpl::KillSustain(class TrackWatcherImpl * const this /* r29 */, int gem_id /* r30 */) { // Local variables float correct_release_time; // f31 float now; // f0 float delta; // f2 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80305B38 -> 0x80305BEC unsigned char TrackWatcherImpl::Playable(class TrackWatcherImpl * const this /* r29 */, int gem_id /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80305BEC -> 0x80305C44 void TrackWatcherImpl::EndSustainedNote(class TrackWatcherImpl * const this /* r31 */) {} // Range: 0x80305C44 -> 0x80305E30 void TrackWatcherImpl::OnHit(class TrackWatcherImpl * const this /* r27 */, float ms /* f31 */, int slot /* r28 */, int gem_id /* r29 */, unsigned char hopo /* r30 */, unsigned char solo_button /* r31 */) { // Local variables int end_tick; // r1+0x8 unsigned char is_fill_completion; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80305E30 -> 0x80305F70 unsigned char TrackWatcherImpl::IsFillCompletion(class TrackWatcherImpl * const this /* r29 */, float ms /* f30 */, int tick /* r30 */, int & solo_end_tick /* r31 */) { // Local variables struct FillExtent extent; // r1+0x8 float extent_end_ms; // f31 } // Range: 0x80305F70 -> 0x803061C8 void TrackWatcherImpl::OnMiss(class TrackWatcherImpl * const this /* r28 */, float ms /* f31 */, int slot /* r29 */, int gem_id /* r30 */) { // Local variables int tick; // r31 int end_tick; // r1+0x8 } // Range: 0x803061C8 -> 0x803062DC void TrackWatcherImpl::OnPass(class TrackWatcherImpl * const this /* r29 */, float ms /* f31 */, int gem_id /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803062DC -> 0x80306384 void TrackWatcherImpl::CodaSwing(class TrackWatcherImpl * const this /* r27 */, int tick /* r28 */, int slot /* r29 */) { // Local variables int lanes; // r0 class BeatMatchSink * * it; // r30 } // Range: 0x80306384 -> 0x80306480 void TrackWatcherImpl::SendHit(class TrackWatcherImpl * const this /* r27 */, float ms /* f31 */, int gem_id /* r28 */, unsigned char hopo /* r29 */, unsigned char solo_button /* r30 */) { // Local variables const char * str; // r0 class BeatMatchSink * * it; // r31 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x80306480 -> 0x803065E0 void TrackWatcherImpl::SendMiss(class TrackWatcherImpl * const this /* r28 */, float ms /* f31 */, int slot /* r29 */, int gem_id /* r30 */) { // Local variables const char * str; // r0 class BeatMatchSink * * it; // r31 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x803065E0 -> 0x803066DC void TrackWatcherImpl::SendPass(class TrackWatcherImpl * const this /* r29 */, float ms /* f31 */, int gem_id /* r30 */) { // Local variables const char * str; // r0 class BeatMatchSink * * it; // r31 // References // -> class LogFile TheBeatMatchOutput; } // Range: 0x803066DC -> 0x8030675C void TrackWatcherImpl::SendCapture(class TrackWatcherImpl * const this /* r28 */, const struct PhraseInfo & info /* r29 */, unsigned char autocapture /* r30 */) { // Local variables class BeatMatchSink * * it; // r31 } // Range: 0x8030675C -> 0x803067CC void TrackWatcherImpl::SendCapturing(class TrackWatcherImpl * const this /* r29 */, unsigned char state /* r30 */) { // Local variables class BeatMatchSink * * it; // r31 } // Range: 0x803067CC -> 0x8030685C void TrackWatcherImpl::SendReleaseGem(class TrackWatcherImpl * const this /* r29 */, float ms /* f30 */, int gem_id /* r30 */, float delta /* f31 */) { // Local variables class BeatMatchSink * * it; // r31 } // Range: 0x8030685C -> 0x803069A4 void TrackWatcherImpl::SendSeen(class TrackWatcherImpl * const this /* r30 */, float ms /* f31 */, int gem_id /* r31 */) { // Local variables const char * str; // r0 class BeatMatchSink * * it; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LogFile TheBeatMatchOutput; } // Range: 0x803069A4 -> 0x80306A28 void TrackWatcherImpl::SendIgnore(class TrackWatcherImpl * const this /* r29 */, float ms /* f31 */, int gem_id /* r30 */) { // Local variables class BeatMatchSink * * it; // r31 } // Range: 0x80306A28 -> 0x80306AA0 void TrackWatcherImpl::SendWhammy(class TrackWatcherImpl * const this /* r30 */, float val /* f31 */) { // Local variables class BeatMatchSink * * it; // r31 } // Range: 0x80306AA0 -> 0x80306B20 void TrackWatcherImpl::SendSwingAtHopo(class TrackWatcherImpl * const this /* r29 */, float ms /* f31 */, int gem_id /* r30 */) { // Local variables class BeatMatchSink * * it; // r31 } // Range: 0x80306B20 -> 0x80306BA0 void TrackWatcherImpl::SendHopo(class TrackWatcherImpl * const this /* r29 */, float ms /* f31 */, int gem_id /* r30 */) { // Local variables class BeatMatchSink * * it; // r31 } struct { // total size: 0x90 } __vt__16TrackWatcherImpl; // size: 0x90, address: 0x808CE3B8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80306BA0 -> 0x80306C28 */ // Range: 0x80306BA0 -> 0x80306C28 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, float t2 /* f31 */, int t3 /* r30 */, unsigned char t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\beatmatch\VocalNoteList.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80306C28 -> 0x80308230 */ // Range: 0x80306C28 -> 0x80306C74 void * VocalPhrase::VocalPhrase() {} float gFreestyleMinDurationMs; // size: 0x4, address: 0x80A46CD4 float gFreestylePadMs; // size: 0x4, address: 0x80A46CD8 // Range: 0x80306C74 -> 0x80306DC8 void * VocalNoteList::VocalNoteList(class VocalNoteList * const this /* r28 */) { // Local variables class DataArray * vox; // r29 // References // -> float gFreestylePadMs; // -> float gFreestyleMinDurationMs; } // Range: 0x80306DC8 -> 0x80306EE0 void VocalNoteList::AddNote(class VocalNoteList * const this /* r31 */, const class VocalNote & note /* r29 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x10 } // Range: 0x80306EE0 -> 0x803078F4 void VocalNoteList::NotesDone(class VocalNoteList * const this /* r24 */, const class TempoMap & tempoMap /* r25 */) { // Local variables int firstPhrase; // r26 class VocalPhrase p; // r1+0xF8 int noteIdx; // r28 int phraseIdx; // r27 unsigned char unpitched; // r26 int i; // r3 int i; // r26 int tick; // r28 unsigned char continueFreestyle; // r26 unsigned int i; // r27 int start; // r28 class VocalPhrase p; // r1+0xC8 int deadSpace; // r28 class VocalPhrase p; // r1+0x98 int j; // r5 float startMs; // f0 float endMs; // f0 unsigned char cfs; // r4 // References // -> float gFreestylePadMs; // -> float gFreestyleMinDurationMs; // -> class Debug TheDebug; } // Range: 0x803078F4 -> 0x80307A74 float VocalNoteList::PitchAt(const class VocalNoteList * const this /* r30 */, float ms /* r1+0x8 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80307A74 -> 0x80307B10 class VocalNote * VocalNoteList::NextNote(const class VocalNoteList * const this /* r31 */, float ms /* r1+0x8 */) {} // Range: 0x80307B10 -> 0x80307B6C int VocalNoteList::NextNoteIndex(const class VocalNoteList * const this /* r31 */) { // Local variables const class VocalNote * note; // r0 } // Range: 0x80307B6C -> 0x80307C3C class VocalNote * VocalNoteList::NoteAt(const class VocalNoteList * const this /* r30 */, float ms /* r1+0x8 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80307C3C -> 0x80307DCC void VocalNoteList::StartPlayerPhrase(class VocalNoteList * const this /* r29 */, int tick /* r30 */, int player /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x80307DCC -> 0x80307F04 void VocalNoteList::EndPlayerPhrase(class VocalNoteList * const this /* r28 */, int tick /* r29 */) { // Local variables int duration; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80307F04 -> 0x80307F74 void VocalNoteList::AddTambourineGem(int tick /* r1+0x8 */) {} // Range: 0x80307F74 -> 0x80307F7C void VocalNoteList::SetSongName() {} // Range: 0x80307F7C -> 0x80308194 void VocalNoteList::Finalize(class VocalNoteList * const this /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9VocalNote; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80308194 -> 0x80308230 unsigned char VocalPhrase::PlayableBy(const class VocalPhrase * const this /* r30 */, int activeNum /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80308230 -> 0x8030849C */ // Range: 0x80308230 -> 0x80308400 void VocalNoteList::GetPlayerTambourineGems(class VocalNoteList * const this /* r27 */, int player /* r28 */, class vector & gems /* r29 */) { // Local variables int phraseIdx; // r31 int gemIdx; // r30 int tick; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80308400 -> 0x8030849C unsigned char VocalNote::PlayableBy(const class VocalNote * const this /* r30 */, int activeNum /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\beatmatch\VocalNote.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030849C -> 0x803084B0 */ // Range: 0x8030849C -> 0x803084B0 unsigned char VocalNoteCmp() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803084B0 -> 0x80308550 */ // Range: 0x803084B0 -> 0x80308550 class VocalNote * __upper_bound(const class VocalNote * __first /* r26 */, const float & __val /* r27 */, unsigned char (* __comp)(float, class VocalNote &) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class VocalNote * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80308550 -> 0x8030974C */ // Range: 0x80308550 -> 0x803088BC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class VocalPhrase * __pos /* r26 */, const class VocalPhrase & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class VocalPhrase * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11VocalPhrase; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803088BC -> 0x80308924 class VocalPhrase * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x80308924 -> 0x803089A4 void vector::_M_fill_insert() {} // Range: 0x803089A4 -> 0x80308D5C void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class VocalNote * __pos /* r25 */, const class VocalNote & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r29 class VocalNote * __new_finish; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9VocalNote; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80308D5C -> 0x80308DDC void vector::_M_fill_insert() {} // Range: 0x80308DDC -> 0x8030924C void vector::_M_fill_insert_aux() { // Local variables class VocalPhrase __x_copy; // r1+0x20 unsigned long __elems_after; // r9 class VocalPhrase * __old_finish; // r0 } // Range: 0x8030924C -> 0x8030974C void vector::_M_fill_insert_aux(class vector * const this /* r24 */, class VocalNote * __pos /* r25 */, unsigned long __n /* r26 */, const class VocalNote & __x /* r27 */) { // Local variables class VocalNote __x_copy; // r1+0x20 unsigned long __elems_after; // r28 class VocalNote * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\char\Char.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030974C -> 0x8030B3F0 */ class Symbol name; // size: 0x4, address: 0x80A507C4 class Symbol name; // size: 0x4, address: 0x80A507CC class Symbol name; // size: 0x4, address: 0x80A507D4 class Symbol name; // size: 0x4, address: 0x80A507DC class Symbol name; // size: 0x4, address: 0x80A507E4 class Symbol name; // size: 0x4, address: 0x80A507EC class Symbol name; // size: 0x4, address: 0x80A507F4 class Symbol name; // size: 0x4, address: 0x80A507FC class Symbol name; // size: 0x4, address: 0x80A50804 class Symbol name; // size: 0x4, address: 0x80A5080C class Symbol name; // size: 0x4, address: 0x80A50814 class Symbol name; // size: 0x4, address: 0x80A5081C class Symbol name; // size: 0x4, address: 0x80A50824 class Symbol name; // size: 0x4, address: 0x80A5082C class Symbol name; // size: 0x4, address: 0x80A50834 class Symbol name; // size: 0x4, address: 0x80A5083C class Symbol name; // size: 0x4, address: 0x80A50844 class Symbol name; // size: 0x4, address: 0x80A5084C class Symbol name; // size: 0x4, address: 0x80A50854 class Symbol name; // size: 0x4, address: 0x80A5085C class Symbol name; // size: 0x4, address: 0x80A50864 class Symbol name; // size: 0x4, address: 0x80A5086C class Symbol name; // size: 0x4, address: 0x80A50874 class Symbol name; // size: 0x4, address: 0x80A5087C class Symbol name; // size: 0x4, address: 0x80A50884 class Symbol name; // size: 0x4, address: 0x80A5088C class Symbol name; // size: 0x4, address: 0x80A50894 class Symbol name; // size: 0x4, address: 0x80A5089C class Symbol name; // size: 0x4, address: 0x80A508A4 class Symbol name; // size: 0x4, address: 0x80A508AC class Symbol name; // size: 0x4, address: 0x80A508B4 class Symbol name; // size: 0x4, address: 0x80A508BC class Symbol name; // size: 0x4, address: 0x80A508C4 class Symbol name; // size: 0x4, address: 0x80A508CC class Symbol name; // size: 0x4, address: 0x80A508D4 class Symbol name; // size: 0x4, address: 0x80A508DC class Symbol name; // size: 0x4, address: 0x80A508E4 class Symbol once; // size: 0x4, address: 0x80A508EC class CharDebug : public Callback { // total size: 0x30 class ObjPtrList mObjects; // offset 0x4, size 0x14 class ObjPtrList mOnce; // offset 0x18, size 0x14 class RndOverlay * mOverlay; // offset 0x2C, size 0x4 }; static class CharDebug TheCharDebug; // size: 0x30, address: 0x8097DDC0 // Range: 0x8030974C -> 0x8030A1F8 class DataNode CharDebug::OnSetObjects(class DataArray * msg /* r28 */) { // References // -> class Symbol once; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class CharDebug TheCharDebug; } // Range: 0x8030A1F8 -> 0x8030A364 void CharDebugOnce(class Object * o /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class CharDebug TheCharDebug; } // Range: 0x8030A364 -> 0x8030ACE4 void CharInit() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> static class CharDebug TheCharDebug; } class CharBoneOffset : public CharPollable { // total size: 0x60 protected: class ObjPtr mDest; // offset 0x8, size 0xC class Vector3 mOffset; // offset 0x20, size 0x10 }; class BoneEntry { // total size: 0x10 public: class ObjOwnerPtr bone; // offset 0x0, size 0xC float weight; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class BoneEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class BoneEntry * _M_start; // offset 0x0, size 0x4 class BoneEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CharBlendBone : public CharPollable { // total size: 0x54 protected: class ObjPtr mDest; // offset 0x8, size 0xC class ObjVector mBones; // offset 0x14, size 0x10 unsigned char mPos; // offset 0x24, size 0x1 }; class CharBonesBlender : public CharPollable, public CharBonesAlloc { // total size: 0x98 protected: class ObjPtr mDest; // offset 0x60, size 0xC }; class CharClipFilter : public virtual Object { // total size: 0x34 public: void * __vptr$; // offset 0x4, size 0x4 }; struct Shape { // total size: 0x8 float offset; // offset 0x0, size 0x4 float radius; // offset 0x4, size 0x4 }; class CharCuff : public RndTransformable { // total size: 0x140 protected: struct Shape mShape[3]; // offset 0xB8, size 0x18 float mOuterRadius; // offset 0xD0, size 0x4 unsigned char mOpenEnd; // offset 0xD4, size 0x1 class ObjPtrList mIgnore; // offset 0xD8, size 0x14 class ObjPtr mBone; // offset 0xEC, size 0xC float mEccentricity; // offset 0xF8, size 0x4 class Symbol mCategory; // offset 0xFC, size 0x4 }; class CharDriverMidi : public CharDriver { // total size: 0xB0 protected: class ObjPtr mInactiveClip; // offset 0x70, size 0xC unsigned char mActive; // offset 0x7C, size 0x1 class Symbol mParser; // offset 0x80, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharLookAt * mPtr; // offset 0x8, size 0x4 }; struct EyeDesc { // total size: 0x24 class ObjOwnerPtr eye; // offset 0x0, size 0xC class ObjPtr upperLid; // offset 0xC, size 0xC class ObjPtr lowerLid; // offset 0x18, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EyeDesc * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EyeDesc * _M_start; // offset 0x0, size 0x4 struct EyeDesc * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; struct Interest { // total size: 0x10 float radius; // offset 0x0, size 0x4 class ObjOwnerPtr trans; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Interest * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Interest * _M_start; // offset 0x0, size 0x4 struct Interest * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharFaceServo * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharWeightSetter * mPtr; // offset 0x8, size 0x4 }; class CharEyes : public RndHighlightable, public CharWeightable, public CharPollable { // total size: 0xD0 protected: class ObjVector mEyes; // offset 0x28, size 0x10 class ObjVector mInterests; // offset 0x38, size 0x10 class ObjPtr mFaceServo; // offset 0x48, size 0xC class ObjPtr mCamWeight; // offset 0x54, size 0xC class Vector3 mTarget; // offset 0x60, size 0x10 class Vector3 mLastFacing; // offset 0x70, size 0x10 float mLastCang; // offset 0x80, size 0x4 float mLastLook; // offset 0x84, size 0x4 float mMaxEyeCang; // offset 0x88, size 0x4 float mAvDelta; // offset 0x8C, size 0x4 float mLastBlinkWeight; // offset 0x90, size 0x4 unsigned char mBlinkDetect; // offset 0x94, size 0x1 }; class CharFaceServo : public CharPollable, public CharBonesMeshes { // total size: 0xCC protected: class ObjPtr mClips; // offset 0x74, size 0xC class ObjPtr mBaseClip; // offset 0x80, size 0xC class ObjPtr mBlinkClip; // offset 0x8C, size 0xC float mBlinkWeight; // offset 0x98, size 0x4 float mRefWeight; // offset 0x9C, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharIKFoot * mPtr; // offset 0x8, size 0x4 }; class CharIKFoot : public CharIKHand { // total size: 0xE0 protected: class ObjPtr mOther; // offset 0x80, size 0xC class ObjPtr mToe; // offset 0x8C, size 0xC float mStep; // offset 0x98, size 0x4 class Vector3 mBase; // offset 0xA0, size 0x10 class RndTransformable * mDummy; // offset 0xB0, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharWeightable * mPtr; // offset 0x8, size 0x4 }; class CharIKMidi : public RndHighlightable, public CharPollable { // total size: 0x110 protected: class ObjPtr mBone; // offset 0x10, size 0xC class ObjPtr mCurSpot; // offset 0x1C, size 0xC class ObjPtr mNewSpot; // offset 0x28, size 0xC class Transform mLocalXfm; // offset 0x40, size 0x40 class Transform mOldLocalXfm; // offset 0x80, size 0x40 float mFrac; // offset 0xC0, size 0x4 float mFracPerBeat; // offset 0xC4, size 0x4 unsigned char mSpotChanged; // offset 0xC8, size 0x1 class ObjPtr mAnimBlender; // offset 0xCC, size 0xC float mMaxAnimBlend; // offset 0xD8, size 0x4 float mAnimFracPerBeat; // offset 0xDC, size 0x4 float mAnimFrac; // offset 0xE0, size 0x4 }; class CharIKRod : public CharPollable { // total size: 0xB0 protected: class ObjPtr mLeftEnd; // offset 0x8, size 0xC class ObjPtr mRightEnd; // offset 0x14, size 0xC float mDestPos; // offset 0x20, size 0x4 class ObjPtr mSideAxis; // offset 0x24, size 0xC unsigned char mVertical; // offset 0x30, size 0x1 class ObjPtr mDest; // offset 0x34, size 0xC class Transform mXfm; // offset 0x40, size 0x40 }; class CharLipSync : public Object { // total size: 0x44 protected: class vector mVisemes; // offset 0x28, size 0xC int mFrames; // offset 0x34, size 0x4 class vector mData; // offset 0x38, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharLipSyncDriver * mPtr; // offset 0x8, size 0x4 }; struct Weight { // total size: 0x10 class CharClip * clip; // offset 0x0, size 0x4 float last; // offset 0x4, size 0x4 float next; // offset 0x8, size 0x4 float current; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Weight * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Weight * _M_start; // offset 0x0, size 0x4 struct Weight * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class PlayBack { // total size: 0x20 protected: class vector mWeights; // offset 0x0, size 0xC class CharLipSync * mLipSync; // offset 0xC, size 0x4 class CharClipSet * mClips; // offset 0x10, size 0x4 int mIndex; // offset 0x14, size 0x4 int mOldIndex; // offset 0x18, size 0x4 int mFrame; // offset 0x1C, size 0x4 }; class CharLipSyncDriver : public CharWeightable, public CharPollable { // total size: 0xA0 protected: class ObjDirPtr mSong; // offset 0x20, size 0xC class String mPart; // offset 0x2C, size 0xC class ObjPtr mClips; // offset 0x38, size 0xC class ObjPtr mBlinkClip; // offset 0x44, size 0xC class ObjPtr mSongOwner; // offset 0x50, size 0xC float mSongOffset; // offset 0x5C, size 0x4 unsigned char mLoop; // offset 0x60, size 0x1 class PlayBack * mSongPlayer; // offset 0x64, size 0x4 class ObjPtr mBones; // offset 0x68, size 0xC }; class CharLookAt : public RndHighlightable, public CharWeightable, public CharPollable { // total size: 0xE0 protected: class ObjPtr mSource; // offset 0x28, size 0xC class ObjPtr mPivot; // offset 0x34, size 0xC class ObjPtr mDest; // offset 0x40, size 0xC float mHalfTime; // offset 0x4C, size 0x4 float mMinYaw; // offset 0x50, size 0x4 float mMaxYaw; // offset 0x54, size 0x4 float mMinPitch; // offset 0x58, size 0x4 float mMaxPitch; // offset 0x5C, size 0x4 float mMinWeightYaw; // offset 0x60, size 0x4 float mMaxWeightYaw; // offset 0x64, size 0x4 float mWeightYawSpeed; // offset 0x68, size 0x4 class Vector3 mLastLocal; // offset 0x70, size 0x10 float mLastYawWeight; // offset 0x80, size 0x4 class Box mBounds; // offset 0x90, size 0x20 unsigned char mShowRange; // offset 0xB0, size 0x1 unsigned char mAllowRoll; // offset 0xB1, size 0x1 unsigned char mClamped; // offset 0xB2, size 0x1 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharServoBone * mPtr; // offset 0x8, size 0x4 }; struct MirrorOp { // total size: 0x8 void * ptr; // offset 0x0, size 0x4 class Symbol op; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct MirrorOp * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct MirrorOp * _M_start; // offset 0x0, size 0x4 struct MirrorOp * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class CharMirror : public CharWeightable, public CharPollable { // total size: 0xF4 protected: class ObjPtr mServo; // offset 0x20, size 0xC class ObjPtr mMirrorServo; // offset 0x2C, size 0xC class CharBonesAlloc mBones; // offset 0x38, size 0x84 class vector mOps; // offset 0xBC, size 0xC }; class CharNeckTwist : public CharPollable { // total size: 0x4C protected: class ObjPtr mTwist; // offset 0x8, size 0xC class ObjPtr mHead; // offset 0x14, size 0xC }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class CharPollGroup : public CharPollable { // total size: 0x48 protected: class ObjPtrList mPolls; // offset 0x8, size 0x14 }; class CharPosConstraint : public CharPollable { // total size: 0x80 protected: class ObjPtr mSrc; // offset 0x8, size 0xC class ObjPtrList mTargets; // offset 0x14, size 0x14 class Box mBox; // offset 0x30, size 0x20 }; class CharTransCopy : public CharPollable { // total size: 0x4C protected: class ObjPtr mSrc; // offset 0x8, size 0xC class ObjPtr mDest; // offset 0x14, size 0xC }; class CharUpperTwist : public CharPollable { // total size: 0x58 protected: class ObjPtr mTwist1; // offset 0x8, size 0xC class ObjPtr mTwist2; // offset 0x14, size 0xC class ObjPtr mUpperArm; // offset 0x20, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharDriver * mPtr; // offset 0x8, size 0x4 }; class CharWeightSetter : public CharWeightable, public CharPollable { // total size: 0x84 protected: class ObjPtr mBase; // offset 0x20, size 0xC class ObjPtr mDriver; // offset 0x2C, size 0xC class ObjPtr mMinWeightable; // offset 0x38, size 0xC int mFlags; // offset 0x44, size 0x4 float mOffset; // offset 0x48, size 0x4 float mScale; // offset 0x4C, size 0x4 float mBaseWeight; // offset 0x50, size 0x4 float mBeatPerWeight; // offset 0x54, size 0x4 }; class CharGuitarString : public CharPollable { // total size: 0x68 protected: unsigned char mOpen; // offset 0x8, size 0x1 class ObjPtr mNut; // offset 0xC, size 0xC class ObjPtr mBridge; // offset 0x18, size 0xC class ObjPtr mBend; // offset 0x24, size 0xC class ObjPtr mTarget; // offset 0x30, size 0xC }; struct Report { // total size: 0x160 char name[32]; // offset 0x0, size 0x20 char charPath[256]; // offset 0x20, size 0x100 char clip[32]; // offset 0x120, size 0x20 class Waypoint * waypoint; // offset 0x140, size 0x4 class Symbol position; // offset 0x144, size 0x4 class Vector3 pos; // offset 0x150, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Report * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Report * _M_start; // offset 0x0, size 0x4 struct Report * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ClipCollide : public Object { // total size: 0x80 protected: class vector mReports; // offset 0x28, size 0xC class RndGraph * mGraph; // offset 0x34, size 0x4 class ObjPtr mChar; // offset 0x38, size 0xC class String mCharPath; // offset 0x44, size 0xC class ObjPtr mWaypoint; // offset 0x50, size 0xC class Symbol mPosition; // offset 0x5C, size 0x4 class ObjPtr mClip; // offset 0x60, size 0xC class String mReportString; // offset 0x6C, size 0xC unsigned char mWorldLines; // offset 0x78, size 0x1 unsigned char mMoveCamera; // offset 0x79, size 0x1 class Symbol mMode; // offset 0x7C, size 0x4 }; // Range: 0x8030ACE4 -> 0x8030AD18 void CharTerminate() { // References // -> class Debug TheDebug; } // Range: 0x8030AD18 -> 0x8030B08C float CharDebug::UpdateOverlay(class CharDebug * const this /* r29 */, class RndOverlay * o /* r30 */, float y /* f31 */) { // Local variables class iterator it; // r1+0x2C class CharDriver * d; // r0 class CharIKMidi * m; // r0 class RndHighlightable * h; // r0 class iterator it; // r1+0x28 class CharDriver * d; // r0 class CharIKMidi * m; // r0 class RndHighlightable * h; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__16RndHighlightable; // -> struct [anonymous] __RTTI__10CharIKMidi; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharDriver; } // Range: 0x8030B08C -> 0x8030B394 void * CharDebug::~CharDebug(class CharDebug * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } struct { // total size: 0x10 } __vt__9CharDebug; // size: 0x10, address: 0x808CE730 struct { // total size: 0x8 } __RTTI__9CharDebug; // size: 0x8, address: 0x808CE758 struct { // total size: 0x8 } __RTTI__10CharIKMidi; // size: 0x8, address: 0x808CE798 // Range: 0x8030B394 -> 0x8030B3F0 static void __sinit_\Char_cpp() { // References // -> struct [anonymous] __vt__36ObjPtrList; // -> struct [anonymous] __vt__9CharDebug; // -> static class CharDebug TheCharDebug; } /* Compile unit: C:\rockband2\system\src\char\CharBones.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B3F0 -> 0x8030B53C */ // Range: 0x8030B3F0 -> 0x8030B478 class Object * CharBonesObject::NewObject() { // References // -> struct [anonymous] __vt__15CharBonesObject; } // Range: 0x8030B478 -> 0x8030B53C void * CharBones::~CharBones(class CharBones * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\char\CharBoneOffset.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B53C -> 0x8030B5B0 */ // Range: 0x8030B53C -> 0x8030B5B0 class Object * CharBoneOffset::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharBlendBone.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B5B0 -> 0x8030B624 */ // Range: 0x8030B5B0 -> 0x8030B624 class Object * CharBlendBone::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharBone.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B624 -> 0x8030B69C */ // Range: 0x8030B624 -> 0x8030B69C class Object * CharBone::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharBonesBlender.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B69C -> 0x8030B710 */ // Range: 0x8030B69C -> 0x8030B710 class Object * CharBonesBlender::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharClipFilter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B710 -> 0x8030B784 */ // Range: 0x8030B710 -> 0x8030B784 class Object * CharClipFilter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharClipSet.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B784 -> 0x8030B7F8 */ // Range: 0x8030B784 -> 0x8030B7F8 class Object * CharClipSet::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharClipGroup.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B7F8 -> 0x8030B86C */ // Range: 0x8030B7F8 -> 0x8030B86C class Object * CharClipGroup::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharCollide.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B86C -> 0x8030B8E4 */ // Range: 0x8030B86C -> 0x8030B8E4 class Object * CharCollide::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharCuff.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B8E4 -> 0x8030B95C */ // Range: 0x8030B8E4 -> 0x8030B95C class Object * CharCuff::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharDriver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B95C -> 0x8030B9D0 */ // Range: 0x8030B95C -> 0x8030B9D0 class Object * CharDriver::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharDriverMidi.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030B9D0 -> 0x8030BA44 */ // Range: 0x8030B9D0 -> 0x8030BA44 class Object * CharDriverMidi::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharEyes.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BA44 -> 0x8030BAB8 */ // Range: 0x8030BA44 -> 0x8030BAB8 class Object * CharEyes::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharFaceServo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BAB8 -> 0x8030BB2C */ // Range: 0x8030BAB8 -> 0x8030BB2C class Object * CharFaceServo::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharForeTwist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BB2C -> 0x8030BBA0 */ // Range: 0x8030BB2C -> 0x8030BBA0 class Object * CharForeTwist::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharHair.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BBA0 -> 0x8030BC14 */ // Range: 0x8030BBA0 -> 0x8030BC14 class Object * CharHair::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKFoot.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BC14 -> 0x8030BC88 */ // Range: 0x8030BC14 -> 0x8030BC88 class Object * CharIKFoot::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKHand.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BC88 -> 0x8030BCFC */ // Range: 0x8030BC88 -> 0x8030BCFC class Object * CharIKHand::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKMidi.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BCFC -> 0x8030BD70 */ // Range: 0x8030BCFC -> 0x8030BD70 class Object * CharIKMidi::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKRod.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BD70 -> 0x8030BDE4 */ // Range: 0x8030BD70 -> 0x8030BDE4 class Object * CharIKRod::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKScale.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BDE4 -> 0x8030BE58 */ // Range: 0x8030BDE4 -> 0x8030BE58 class Object * CharIKScale::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharLipSync.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BE58 -> 0x8030BEB8 */ // Range: 0x8030BE58 -> 0x8030BEB8 class Object * CharLipSync::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharLipSyncDriver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BEB8 -> 0x8030BF2C */ // Range: 0x8030BEB8 -> 0x8030BF2C class Object * CharLipSyncDriver::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharLookAt.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BF2C -> 0x8030BFA0 */ // Range: 0x8030BF2C -> 0x8030BFA0 class Object * CharLookAt::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharMirror.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030BFA0 -> 0x8030C014 */ // Range: 0x8030BFA0 -> 0x8030C014 class Object * CharMirror::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharNeckTwist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C014 -> 0x8030C088 */ // Range: 0x8030C014 -> 0x8030C088 class Object * CharNeckTwist::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharPollGroup.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C088 -> 0x8030C0FC */ // Range: 0x8030C088 -> 0x8030C0FC class Object * CharPollGroup::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharPosConstraint.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C0FC -> 0x8030C170 */ // Range: 0x8030C0FC -> 0x8030C170 class Object * CharPosConstraint::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharServoBone.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C170 -> 0x8030C1E4 */ // Range: 0x8030C170 -> 0x8030C1E4 class Object * CharServoBone::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharTransCopy.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C1E4 -> 0x8030C258 */ // Range: 0x8030C1E4 -> 0x8030C258 class Object * CharTransCopy::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharUpperTwist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C258 -> 0x8030C2CC */ // Range: 0x8030C258 -> 0x8030C2CC class Object * CharUpperTwist::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharWalk.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C2CC -> 0x8030C340 */ // Range: 0x8030C2CC -> 0x8030C340 class Object * CharWalk::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharWeightable.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C340 -> 0x8030C3B4 */ // Range: 0x8030C340 -> 0x8030C3B4 class Object * CharWeightable::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharWeightSetter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C3B4 -> 0x8030C428 */ // Range: 0x8030C3B4 -> 0x8030C428 class Object * CharWeightSetter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\OutfitLoader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C428 -> 0x8030C488 */ // Range: 0x8030C428 -> 0x8030C488 class Object * OutfitLoader::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharGuitarString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C488 -> 0x8030C4FC */ // Range: 0x8030C488 -> 0x8030C4FC class Object * CharGuitarString::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\ClipCollide.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C4FC -> 0x8030C55C */ // Range: 0x8030C4FC -> 0x8030C55C class Object * ClipCollide::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\Character.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8030C55C -> 0x8031227C */ class DataArray * types; // size: 0x4, address: 0x80A508F0 class DataArray * types; // size: 0x4, address: 0x80A508F8 class Symbol name; // size: 0x4, address: 0x80A50900 // Range: 0x8030C55C -> 0x8030C690 class DataNode OnCharSyncEnd(class DataArray * msg /* r30 */) { // Local variables float length; // f31 int i; // r31 float l; // f0 int i; // r31 float frame; // f0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Character; } // Range: 0x8030C690 -> 0x8030C6E8 class BinStream & __ls(class BinStream & d /* r30 */, const class Lod & l /* r31 */) {} static class Character * gMe; // size: 0x4, address: 0x80A50904 static int gRev; // size: 0x4, address: 0x80A50908 struct Node { // total size: 0xC class RndDrawable * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x8030C6E8 -> 0x8030CA40 class BinStream & __rs(class BinStream & d /* r30 */, class Lod & l /* r31 */) { // Local variables class ObjPtrList draws; // r1+0x20 class iterator it; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Symbol name; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> static class Character * gMe; // -> static int gRev; } // Range: 0x8030CA40 -> 0x8030CA6C void * Lod::Lod() { // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x8030CA6C -> 0x8030CAD4 void * Lod::Lod(class Lod * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x8030CAD4 -> 0x8030CB4C class Lod & Lod::__as(class Lod * const this /* r30 */) {} // Range: 0x8030CB4C -> 0x8030CB64 void Lod::Sync() {} struct BoneXfm { // total size: 0x50 class ObjPtr bone; // offset 0x0, size 0xC class Transform xfm; // offset 0x10, size 0x40 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BoneXfm * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BoneXfm * _M_start; // offset 0x0, size 0x4 struct BoneXfm * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class CharClipGroup * mPtr; // offset 0x8, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class CharacterTest : public Callback { // total size: 0xD8 protected: class Character * mMe; // offset 0x4, size 0x4 class ObjVector mLoadPose; // offset 0x8, size 0x10 class ObjPtr mDriver; // offset 0x18, size 0xC class ObjPtr mClip1; // offset 0x24, size 0xC class ObjPtr mClip2; // offset 0x30, size 0xC class ObjPtr mFilterGroup; // offset 0x3C, size 0xC class ObjPtr mTeleportTo; // offset 0x48, size 0xC class ObjPtrList mWalkPath; // offset 0x54, size 0x14 int mLod; // offset 0x68, size 0x4 class Symbol mShowDistMap; // offset 0x6C, size 0x4 int mTransition; // offset 0x70, size 0x4 unsigned char mCycleTransition; // offset 0x74, size 0x1 unsigned char mMetronome; // offset 0x75, size 0x1 unsigned char mZeroTravel; // offset 0x76, size 0x1 unsigned char mShowScreenSize; // offset 0x77, size 0x1 class Symbol mFootSteps; // offset 0x78, size 0x4 unsigned char mFootExtents; // offset 0x7C, size 0x1 unsigned char mClip2RealTime; // offset 0x7D, size 0x1 int mBpm; // offset 0x80, size 0x4 int mInternalTransition; // offset 0x84, size 0x4 class ClipDistMap * mDistMap; // offset 0x88, size 0x4 class Symbol mCycleCategory; // offset 0x8C, size 0x4 float mCycleWait; // offset 0x90, size 0x4 class Timer mCycleTimer; // offset 0x98, size 0x38 class RndOverlay * mOverlay; // offset 0xD0, size 0x4 }; // Range: 0x8030CB64 -> 0x8030CBD8 void Character::Init() { // References // -> class Symbol name; } // Range: 0x8030CBD8 -> 0x8030CBDC void Character::Terminate() {} // Range: 0x8030CBDC -> 0x8030CDD8 void * Character::Character(class Character * const this /* r31 */) { // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__9Character; // -> struct [anonymous] __vt__16RndHighlightable; } class ShadowBone : public RndTransformable { // total size: 0x100 protected: class ObjPtr mParent; // offset 0xB8, size 0xC }; // Range: 0x8030CDD8 -> 0x8030D30C void * Character::~Character(class Character * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__9Character; } // Range: 0x8030D30C -> 0x8030D354 void Character::Enter(class Character * const this /* r31 */) {} // Range: 0x8030D354 -> 0x8030D360 void Character::Exit() {} static class Timer * _t; // size: 0x4, address: 0x80A5090C // Range: 0x8030D360 -> 0x8030D434 void Character::Poll(class Character * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } // Range: 0x8030D434 -> 0x8030D4D4 void Character::DrawLod(class Character * const this /* r31 */) { // References // -> class Rnd & TheRnd; } static class Timer * _t; // size: 0x4, address: 0x80A50914 // Range: 0x8030D4D4 -> 0x8030D65C void Character::DrawShowing(class Character * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0x10 float screenSize; // f0 int lod; // r4 float scale; // f2 // References // -> class RndCam * sCurrent; // -> static class Timer * _t; } // Range: 0x8030D65C -> 0x8030D7E0 void Character::UpdateSphere(class Character * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class Transform t; // r1+0x40 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static char * boneNames[5]; // size: 0x14, address: 0x808CEAA8 // Range: 0x8030D7E0 -> 0x8030DAE0 void Character::CalcBoundingSphere(class Character * const this /* r28 */) { // Local variables int i; // r29 class RndTransformable * clav; // r29 class RndTransformable * hand; // r30 class Vector3 v; // r1+0x20 float length; // f0 class Vector3 v; // r1+0x10 float length; // f0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static char * boneNames[5]; } // Range: 0x8030DAE0 -> 0x8030DC10 unsigned char Character::MakeWorldSphere(class Character * const this /* r29 */, class Sphere & s /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8030DC10 -> 0x8030DD9C void Character::SetSphereBase(class Character * const this /* r30 */, class RndTransformable * t /* r31 */) { // Local variables class Sphere s; // r1+0x10 } // Range: 0x8030DD9C -> 0x8030DDA4 void Character::SetMinLod() {} // Range: 0x8030DDA4 -> 0x8030DEE0 void Character::SetShadow(class Character * const this /* r30 */, class RndGroup * shadow /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8030DEE0 -> 0x8030E15C void Character::DrawShadow(class Character * const this /* r31 */, const class Transform & light /* r29 */, const class Plane & shadowPlane /* r28 */) { // Local variables class Transform invLight; // r1+0xB0 class Plane p; // r1+0x20 class Transform planeLight; // r1+0x70 class Transform worldToShadow; // r1+0x30 int i; // r29 class ShadowBone * s; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8030E15C -> 0x8030E190 class CharServoBone * Character::BoneServo() { // References // -> struct [anonymous] __RTTI__15CharBonesObject; // -> struct [anonymous] __RTTI__13CharServoBone; } // Range: 0x8030E190 -> 0x8030E4A0 void Character::Teleport(class Character * const this /* r30 */, class Waypoint * w /* r31 */) { // Local variables class Transform t; // r1+0x10 } // Range: 0x8030E4A0 -> 0x8030E5F4 float Character::ComputeScreenSize(class RndCam * cam /* r31 */) { // Local variables class Sphere s; // r1+0x10 } // Range: 0x8030E5F4 -> 0x8030E634 class RndGroup * Character::CurGroup() {} // Range: 0x8030E634 -> 0x8030E698 void Character::SetLod(class Character * const this /* r30 */, int lod /* r31 */) { // Local variables class RndGroup * old; // r0 class RndGroup * c; // r0 } // Range: 0x8030E698 -> 0x8030E714 void Character::SyncLods(class Character * const this /* r30 */) { // Local variables int j; // r31 class RndGroup * c; // r0 } // Range: 0x8030E714 -> 0x8030E954 class ShadowBone * Character::AddShadowBone(class Character * const this /* r29 */, class RndTransformable * b /* r30 */) { // Local variables int i; // r6 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__10ShadowBone; // -> struct [anonymous] __vt__16RndHighlightable; // -> class Symbol name; } // Range: 0x8030E954 -> 0x8030EA9C void Character::UnhookShadow(class Character * const this /* r31 */) { // Local variables int i; // r29 class ShadowBone * s; // r30 class ObjRef * r; // r3 } // Range: 0x8030EB7C -> 0x8030EC9C void Character::Replace(class Character * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x8030EC9C -> 0x8030EDE8 void Character::SyncShadow(class Character * const this /* r28 */) { // Local variables const class vector & draws; // r0 class RndDrawable * const * it; // r30 class RndMesh * m; // r29 int b; // r27 // References // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x8030EDE8 -> 0x8030EE9C unsigned char Character::ShouldStrip() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x8030EE9C -> 0x8030F7CC void Character::ConvertBonesToTranses(class Character * const this /* r31 */) { // Local variables class list meshes; // r1+0x50 class ObjDirItr mesh; // r1+0x6C class ObjDirItr trans; // r1+0x58 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Symbol name; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } class _List_node : public _List_node_base { // total size: 0xC public: class RndMesh * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std21_List_node; // size: 0x8, address: 0x808CEB88 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std39_List_node; // size: 0x8, address: 0x808CEBC8 int sSearchID; // size: 0x4, address: 0x80A5091C class CharPollableSorter { // total size: 0x1C protected: class map mDeps; // offset 0x0, size 0x18 struct Dep * mTarget; // offset 0x18, size 0x4 }; // Range: 0x8030F7CC -> 0x8030FD5C void Character::SyncObjects(class Character * const this /* r31 */) { // Local variables class CharPollableSorter sorter; // r1+0xF8 // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__11RndPollable; // -> struct [anonymous] __RTTI__12CharPollable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } struct Dep { // total size: 0x14 class Object * obj; // offset 0x0, size 0x4 class list changedBy; // offset 0x4, size 0x8 class RndPollable * poll; // offset 0xC, size 0x4 int searchID; // offset 0x10, size 0x4 }; struct pair { // total size: 0x18 class Object * const first; // offset 0x0, size 0x4 struct Dep second; // offset 0x4, size 0x14 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Dep * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Dep * * _M_start; // offset 0x0, size 0x4 struct Dep * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: struct Dep * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8030FD5C -> 0x8031009C void CharPollableSorter::AddDeps(class CharPollableSorter * const this /* r26 */, struct Dep * me /* r27 */, const class list & odeps /* r28 */, class list & toDo /* r29 */, unsigned char changedBy /* r30 */) { // Local variables struct _List_iterator i; // r1+0x60 class Object * b; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8031009C -> 0x803102A8 unsigned char CharPollableSorter::ChangedBy(class CharPollableSorter * const this /* r29 */, struct Dep * b /* r30 */) { // References // -> int sSearchID; } // Range: 0x803102A8 -> 0x80310498 unsigned char CharPollableSorter::ChangedByRecurse(class CharPollableSorter * const this /* r29 */, struct Dep * a /* r30 */) { // Local variables struct _List_iterator j; // r1+0x28 // References // -> int sSearchID; } struct AlphaSort { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x80310498 -> 0x80310578 void Character::AddedObject(class Character * const this /* r28 */, class Object * obj /* r29 */) { // Local variables class CharPollable * p; // r0 class CharDriver * d; // r0 class CharWalk * w; // r0 // References // -> struct [anonymous] __RTTI__8CharWalk; // -> struct [anonymous] __RTTI__10CharDriver; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharPollable; } // Range: 0x80310578 -> 0x803105C0 void Character::RemovingObject() {} // Range: 0x803105C0 -> 0x803108DC void Character::PreSave(class Character * const this /* r31 */) { // Local variables class ObjDirItr it; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x803108DC -> 0x80310CA4 void Character::PostSave() { // Local variables class list loaders; // r1+0x38 class ObjDirItr l; // r1+0x40 struct _List_iterator l; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std27_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> class LoadMgr TheLoadMgr; } class _List_node : public _List_node_base { // total size: 0xC public: class OutfitLoader * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std27_List_node; // size: 0x8, address: 0x808CEC58 // Range: 0x80310CA4 -> 0x80310E58 void Character::Save(class Character * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class ObjPtr p; // r1+0x20 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjVector * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjVector * _M_start; // offset 0x0, size 0x4 class ObjVector * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80310E58 -> 0x803110B8 void Character::Copy(class Character * const this /* r30 */, const class Object * o /* r27 */, enum CopyType type /* r26 */) { // Local variables const class Character * c; // r0 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Character; } static class Symbol _s; // size: 0x4, address: 0x80A50924 static class Symbol _s; // size: 0x4, address: 0x80A5092C static class Symbol _s; // size: 0x4, address: 0x80A50934 static class Symbol _s; // size: 0x4, address: 0x80A5093C static class Symbol _s; // size: 0x4, address: 0x80A50944 // Range: 0x803110B8 -> 0x80311894 class DataNode Character::Handle(class Character * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80311894 -> 0x80311998 class DataNode Character::OnPlayClip(class Character * const this /* r29 */, class DataArray * msg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A5094C static class Symbol _s; // size: 0x4, address: 0x80A50954 // Range: 0x80311998 -> 0x80311B50 unsigned char PropSync(class Lod & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A5095C static class Symbol _s; // size: 0x4, address: 0x80A50964 static class Symbol _s; // size: 0x4, address: 0x80A5096C static class Symbol _s; // size: 0x4, address: 0x80A50974 static class Symbol _s; // size: 0x4, address: 0x80A5097C static class Symbol _s; // size: 0x4, address: 0x80A50984 // Range: 0x80311B50 -> 0x80312010 unsigned char Character::SyncProperty(class Character * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> struct [anonymous] __RTTI__8RndGroup; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; } // Range: 0x80312010 -> 0x8031227C unsigned char PropSync(class ObjVector & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r27 */, int i /* r30 */, enum PropOp op /* r29 */) { // Local variables class Lod * it; // r28 class Lod tmp; // r1+0x20 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x9C } __vt__10ShadowBone; // size: 0x9C, address: 0x808CEDA0 struct { // total size: 0x8 } __RTTI__10ShadowBone; // size: 0x8, address: 0x808CEE70 struct { // total size: 0x18 } __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // size: 0x18, address: 0x808CEE78 struct { // total size: 0x8 } __RTTI__36ObjPtrList<11RndDrawable,9ObjectDir>; // size: 0x8, address: 0x808CEEC0 struct { // total size: 0x8 } __RTTI__13CharServoBone; // size: 0x8, address: 0x808CEFB8 struct { // total size: 0x8 } __RTTI__8CharWalk; // size: 0x8, address: 0x808CEFF0 struct { // total size: 0x8 } __RTTI__15CharBonesMeshes; // size: 0x8, address: 0x808CF038 struct { // total size: 0x8 } __RTTI__14CharBonesAlloc; // size: 0x8, address: 0x808CF128 struct { // total size: 0x8 } __RTTI__15CharBonesObject; // size: 0x8, address: 0x808CF160 struct { // total size: 0x8 } __RTTI__9CharBones; // size: 0x8, address: 0x808CF178 struct { // total size: 0x21C } __vt__9Character; // size: 0x21C, address: 0x808CF1C0 struct { // total size: 0x8 } __RTTI__PPQ218CharPollableSorter3Dep; // size: 0x8, address: 0x808CF8E0 struct { // total size: 0x8 } __RTTI__PP10ShadowBone; // size: 0x8, address: 0x808CF8F8 struct { // total size: 0x8 } __RTTI__PQ29Character3Lod; // size: 0x8, address: 0x808CF930 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__P27ObjVector; // size: 0x8, address: 0x808CF958 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std80_Rb_tree_node>; // size: 0x8, address: 0x808CF9C0 /* Compile unit: C:\rockband2\system\src\char\Character.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031227C -> 0x803124C8 */ // Range: 0x8031227C -> 0x803122F0 class Object * Character::NewObject() { // References // -> class Symbol name; } // Range: 0x803122F0 -> 0x80312334 class Symbol Character::ClassName() { // References // -> class Symbol name; } // Range: 0x80312334 -> 0x803124C8 void Character::SetType(class Character * const this /* r29 */, class Symbol & Character /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803124C8 -> 0x8031316C */ // Range: 0x803124C8 -> 0x8031286C class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8031286C -> 0x80312A1C void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; } // Range: 0x80312A1C -> 0x80312B98 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Lod * t; // r27 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x80312B98 -> 0x80312F34 class BinStream & __rs(class BinStream & d /* r27 */, class ObjVector & c /* r28 */) { // Local variables unsigned int s; // r1+0x50 class ObjVector * t; // r24 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } // Range: 0x80312F34 -> 0x80313138 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80313138 -> 0x80313140 class Object * ObjPtrList::RefOwner() {} // Range: 0x80313140 -> 0x8031316C void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031316C -> 0x8031422C */ // Range: 0x8031316C -> 0x80313340 void Character::PreLoad(class Character * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int oldRev; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80313340 -> 0x80313F04 void Character::PostLoad(class Character * const this /* r27 */, class BinStream & d /* r28 */) { // Local variables class ObjVector outfits; // r1+0x108 class ObjPtr p; // r1+0xF8 class ObjVector outfits; // r1+0xE8 int i; // r24 float radius; // f1 int i; // r4 // References // -> static class Character * gMe; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> static int gRev; // -> class list sRevs; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031422C -> 0x803142B0 */ // Range: 0x8031422C -> 0x803142AC void * vector::~vector(class vector * const this /* r30 */) {} // Range: 0x803142AC -> 0x803142B0 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\Std.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803142B0 -> 0x80314350 */ // Range: 0x803142B0 -> 0x80314350 void VectorRemove(class vector & l /* r31 */) { // Local variables class RndDrawable * * i; // r6 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80314350 -> 0x803144D4 */ // Range: 0x80314350 -> 0x80314354 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x80314354 -> 0x803143E4 struct _List_iterator list::insert(struct _List_iterator & __position /* r30 */, struct Dep * const & __x /* r31 */) { // Local variables struct _List_node_base * __n; // r4 struct _List_node_base * __p; // r5 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803143E4 -> 0x8031445C void list::push_back(struct Dep * const & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8031445C -> 0x803144D4 void list::push_back(class Object * const & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_map.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803144D4 -> 0x803146D4 */ // Range: 0x803144D4 -> 0x803146D4 struct Dep & map::__vc(class map * const this /* r31 */) { // Local variables struct _Rb_tree_iterator __i; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803146D4 -> 0x80314D40 */ // Range: 0x803146D4 -> 0x80314778 void sort(struct Dep * * __first /* r29 */, struct Dep * * __last /* r30 */, struct AlphaSort & __comp /* r31 */) {} // Range: 0x80314778 -> 0x80314818 void __final_insertion_sort(struct Dep * * __first /* r29 */, struct Dep * * __last /* r30 */, struct AlphaSort & __comp /* r31 */) {} // Range: 0x80314818 -> 0x80314880 void __unguarded_insertion_sort_aux(struct Dep * * __last /* r29 */, struct AlphaSort & __comp /* r30 */) { // Local variables struct Dep * * __i; // r31 } // Range: 0x80314880 -> 0x803148FC void __unguarded_linear_insert(struct Dep * * __last /* r28 */, struct Dep * __val /* r29 */) { // Local variables struct Dep * * __next; // r30 } // Range: 0x803148FC -> 0x803149C4 void __insertion_sort(struct Dep * * __first /* r27 */, struct Dep * * __last /* r28 */, struct AlphaSort & __comp /* r29 */) { // Local variables struct Dep * * __i; // r30 } // Range: 0x803149C4 -> 0x80314B48 void __introsort_loop(struct Dep * * __first /* r28 */, struct Dep * * __last /* r29 */, long __depth_limit /* r30 */, struct AlphaSort & __comp /* r31 */) { // Local variables struct Dep * * __cut; // r24 } // Range: 0x80314B48 -> 0x80314C20 struct Dep * * __unguarded_partition(struct Dep * * __first /* r28 */, struct Dep * * __last /* r29 */, struct Dep * __pivot /* r30 */) {} // Range: 0x80314C20 -> 0x80314C50 void partial_sort() {} // Range: 0x80314C50 -> 0x80314D40 void __partial_sort(struct Dep * * __first /* r30 */, struct Dep * * __middle /* r31 */, struct Dep * * __last /* r25 */, struct AlphaSort & __comp /* r26 */) { // Local variables struct Dep * * __i; // r27 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80314D40 -> 0x80314D70 */ // Range: 0x80314D40 -> 0x80314D58 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x80314D58 -> 0x80314D70 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80314D70 -> 0x80314F7C */ // Range: 0x80314D70 -> 0x80314DC4 void pop_heap(struct Dep * * __last /* r7 */) {} // Range: 0x80314DC4 -> 0x80314EE4 void __adjust_heap(struct Dep * * __first /* r26 */, long __holeIndex /* r27 */, long __len /* r28 */, struct Dep * __val /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x80314EE4 -> 0x80314F7C void make_heap(struct Dep * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80314F7C -> 0x80315004 */ // Range: 0x80314F7C -> 0x80315004 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Lod * t; // r31 } /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80315004 -> 0x803151EC */ // Range: 0x80315004 -> 0x80315048 class Symbol RndTransformable::ClassName() { // References // -> class Symbol name; } // Range: 0x80315048 -> 0x803151EC void RndTransformable::SetType(class RndTransformable * const this /* r29 */, class Symbol & RndTransformable /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803151EC -> 0x80315AF0 */ // Range: 0x803151EC -> 0x8031527C void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x8031527C -> 0x80315580 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x80315580 -> 0x803159C4 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r27 */, struct _Rb_tree_node_base * __parent /* r28 */, const struct pair & __val /* r29 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r30 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std80_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803159C4 -> 0x80315AF0 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80315AF0 -> 0x80315C10 */ // Range: 0x80315AF0 -> 0x80315B50 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80315B50 -> 0x80315BB0 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80315BB0 -> 0x80315C10 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80315C10 -> 0x803175B4 */ // Range: 0x80315C10 -> 0x80315C80 void vector::_M_fill_insert() {} // Range: 0x80315C80 -> 0x80315DB8 void vector::_M_insert_overflow(class vector * const this /* r27 */, struct Dep * * __pos /* r28 */, struct Dep * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct Dep * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ218CharPollableSorter3Dep; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80315DB8 -> 0x80315F00 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables struct Dep * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ218CharPollableSorter3Dep; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80315F00 -> 0x80316038 void vector::_M_insert_overflow(class vector * const this /* r27 */, class ShadowBone * * __pos /* r28 */, class ShadowBone * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class ShadowBone * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10ShadowBone; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80316038 -> 0x80316308 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29Character3Lod; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80316308 -> 0x80316360 class Lod * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x80316360 -> 0x803163D0 void vector::_M_fill_insert() {} // Range: 0x803163D0 -> 0x803168E8 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class ObjVector * __pos /* r25 */, const class ObjVector & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 class ObjVector * __new_finish; // r28 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __RTTI__PQ29Character3Lod; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P27ObjVector; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803168E8 -> 0x80317188 void vector::_M_fill_insert_aux(class vector * const this /* r24 */, class ObjVector * __pos /* r25 */, unsigned long __n /* r26 */, const class ObjVector & __x /* r27 */) { // Local variables class ObjVector __x_copy; // r1+0xB0 unsigned long __elems_after; // r28 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29Character3Lod; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80317188 -> 0x80317398 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Lod * __pos /* r26 */, const class Lod & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Lod * __new_finish; // r29 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29Character3Lod; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80317398 -> 0x803175B4 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class Lod * __pos /* r29 */, unsigned long __n /* r24 */, const class Lod & __x /* r30 */) { // Local variables class Lod __x_copy; // r1+0x20 unsigned long __elems_after; // r25 class Lod * __old_finish; // r0 // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharBlendBone.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803175B4 -> 0x80318F98 */ class DataArray * types; // size: 0x4, address: 0x80A50988 class Symbol name; // size: 0x4, address: 0x80A50990 class DataArray * types; // size: 0x4, address: 0x80A50994 // Range: 0x803175B4 -> 0x803176C4 void * CharBlendBone::CharBlendBone(class CharBlendBone * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__13CharBlendBone; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8031774C -> 0x80317928 void CharBlendBone::Replace(class CharBlendBone * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables int i; // r31 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80317928 -> 0x80317C24 void CharBlendBone::Poll(class CharBlendBone * const this /* r28 */) { // Local variables class Transform dst; // r1+0x40 class Quat q; // r1+0x30 float weight; // f31 int i; // r29 class Quat tmp; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80317C24 -> 0x80317D58 void CharBlendBone::PollDeps(class CharBlendBone * const this /* r30 */, class list & changedBy /* r31 */) { // Local variables int i; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80317D58 -> 0x80317E64 void CharBlendBone::Save(class CharBlendBone * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int i; // r28 } static int gRev; // size: 0x4, address: 0x80A5099C // Range: 0x80317E64 -> 0x80318208 void CharBlendBone::Load(class CharBlendBone * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int size; // r1+0x28 int i; // r26 class Transform t; // r1+0x40 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80318208 -> 0x803184E4 void CharBlendBone::Copy(class CharBlendBone * const this /* r29 */, const class Object * o /* r25 */) { // Local variables const class CharBlendBone * b; // r0 int i; // r30 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharBlendBone; } // Range: 0x803184E4 -> 0x803187A8 class DataNode CharBlendBone::Handle(class CharBlendBone * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A509A4 static class Symbol _s; // size: 0x4, address: 0x80A509AC // Range: 0x803187A8 -> 0x80318960 unsigned char PropSync(class BoneEntry & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x80318960 -> 0x80318AAC unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A509B4 static class Symbol _s; // size: 0x4, address: 0x80A509BC static class Symbol _s; // size: 0x4, address: 0x80A509C4 // Range: 0x80318AAC -> 0x80318CC0 unsigned char CharBlendBone::SyncProperty(class CharBlendBone * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80318CC0 -> 0x80318F98 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class BoneEntry * it; // r31 class BoneEntry tmp; // r1+0x20 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x94 } __vt__13CharBlendBone; // size: 0x94, address: 0x808CFD28 struct { // total size: 0x8 } __RTTI__13CharBlendBone; // size: 0x8, address: 0x808CFDF0 struct { // total size: 0x80 } __vt__12CharPollable; // size: 0x80, address: 0x808CFDF8 struct { // total size: 0x8 } __RTTI__PQ213CharBlendBone9BoneEntry; // size: 0x8, address: 0x808CFE98 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80318F98 -> 0x8031913C */ // Range: 0x80318F98 -> 0x8031913C class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } /* Compile unit: C:\rockband2\system\src\char\CharBlendBone.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803193C4 -> 0x8031959C */ // Range: 0x803193C4 -> 0x80319408 class Symbol CharBlendBone::ClassName() { // References // -> class Symbol name; } // Range: 0x80319408 -> 0x8031959C void CharBlendBone::SetType(class CharBlendBone * const this /* r29 */, class Symbol & CharBlendBone /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Poll.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031959C -> 0x80319774 */ // Range: 0x8031959C -> 0x803195E0 class Symbol RndPollable::ClassName() { // References // -> class Symbol name; } // Range: 0x803195E0 -> 0x80319774 void RndPollable::SetType(class RndPollable * const this /* r29 */, class Symbol & RndPollable /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80319774 -> 0x80319EAC */ // Range: 0x80319774 -> 0x803197CC class BoneEntry * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x803197CC -> 0x8031983C void vector::_M_fill_insert() {} // Range: 0x8031983C -> 0x80319B10 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class BoneEntry * __pos /* r26 */, const class BoneEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class BoneEntry * __new_finish; // r29 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213CharBlendBone9BoneEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80319B10 -> 0x80319EAC void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class BoneEntry * __pos /* r27 */, unsigned long __n /* r28 */, const class BoneEntry & __x /* r29 */) { // Local variables class BoneEntry __x_copy; // r1+0x20 unsigned long __elems_after; // r30 class BoneEntry * __old_finish; // r0 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharBone.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80319EAC -> 0x8031B158 */ class DataArray * types; // size: 0x4, address: 0x80A509C8 // Range: 0x80319EAC -> 0x80319FD0 void * CharBone::CharBone(class CharBone * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharBone,9ObjectDir>; // -> struct [anonymous] __vt__8CharBone; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80319FD0 -> 0x80319FE0 class Symbol CharBone::ChannelName() {} class _List_node : public _List_node_base { // total size: 0x10 public: struct Bone _M_data; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80319FE0 -> 0x8031A19C void CharBone::StuffBones(const class CharBone * const this /* r30 */, class list & bones /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_List_node; // size: 0x8, address: 0x808CFF68 // Range: 0x8031A19C -> 0x8031A1D0 unsigned char CharBone::Used() {} // Range: 0x8031A1D0 -> 0x8031A324 unsigned char CharBone::UsedRecurse(class CharBone * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x2C class CharBone * bone; // r0 struct _List_iterator i; // r1+0x28 class CharBone * child; // r0 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; } static int gRev; // size: 0x4, address: 0x80A509D0 // Range: 0x8031A324 -> 0x8031A3F8 void CharBone::Save(class CharBone * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8031A3F8 -> 0x8031A490 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8031A490 -> 0x8031A664 void CharBone::Load(class CharBone * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int deltaRotation; // r1+0x10 // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8031A664 -> 0x8031A74C void CharBone::Copy(class CharBone * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class CharBone * s; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; } // Range: 0x8031A74C -> 0x8031AB44 class DataNode CharBone::Handle(class CharBone * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A509D8 static class Symbol _s; // size: 0x4, address: 0x80A509E0 static class Symbol _s; // size: 0x4, address: 0x80A509E8 static class Symbol _s; // size: 0x4, address: 0x80A509F0 static class Symbol _s; // size: 0x4, address: 0x80A509F8 // Range: 0x8031AB44 -> 0x8031AFF0 unsigned char CharBone::SyncProperty(class CharBone * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8031AFF0 -> 0x8031B158 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x9C } __vt__8CharBone; // size: 0x9C, address: 0x808D0030 struct { // total size: 0x8 } __RTTI__8CharBone; // size: 0x8, address: 0x808D0100 struct { // total size: 0x18 } __vt__28ObjPtr<8CharBone,9ObjectDir>; // size: 0x18, address: 0x808D0108 struct { // total size: 0x8 } __RTTI__28ObjPtr<8CharBone,9ObjectDir>; // size: 0x8, address: 0x808D0148 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031B158 -> 0x8031B430 */ // Range: 0x8031B158 -> 0x8031B1D0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharBone,9ObjectDir>; } // Range: 0x8031B1D0 -> 0x8031B378 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; } // Range: 0x8031B378 -> 0x8031B380 class Object * ObjPtr::RefOwner() {} // Range: 0x8031B380 -> 0x8031B430 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; } /* Compile unit: C:\rockband2\system\src\char\CharBone.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031B600 -> 0x8031B7E8 */ // Range: 0x8031B600 -> 0x8031B644 class Symbol CharBone::ClassName() { // References // -> class Symbol name; } // Range: 0x8031B644 -> 0x8031B7E8 void CharBone::SetType(class CharBone * const this /* r29 */, class Symbol & CharBone /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharBones.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031B7E8 -> 0x8031F2C0 */ class DataArray * types; // size: 0x4, address: 0x80A50A00 // Range: 0x8031B7E8 -> 0x8031B83C void * CharBones::CharBones() { // Local variables int i; // r5 // References // -> struct [anonymous] __vt__9CharBones; } static char * suffixes[7]; // size: 0x1C, address: 0x808D03F4 // Range: 0x8031B83C -> 0x8031B8AC char * CharBones::SuffixOf(enum Type t /* r30 */) { // References // -> static char * suffixes[7]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8031B8AC -> 0x8031B954 class Symbol CharBones::ChannelName(const char * name /* r31 */, enum Type t /* r30 */) { // Local variables char buffer[256]; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8031B954 -> 0x8031B9D8 int CharBones::CompareBones(class Symbol & a /* r29 */, class Symbol & b /* r30 */) { // Local variables int at; // r0 int bt; // r0 } // Range: 0x8031B9D8 -> 0x8031BAB4 void CharBones::ClearBones() { // Local variables int i; // r5 } // Range: 0x8031BAB4 -> 0x8031BB04 unsigned char CharBones::BoneWeights() { // Local variables int i; // r5 } // Range: 0x8031BB04 -> 0x8031BB3C void CharBones::SetWeights() { // Local variables int i; // r5 } // Range: 0x8031BB3C -> 0x8031BC4C void CharBones::AddBoneInternal(class CharBones * const this /* r30 */, const struct Bone & bone /* r28 */) { // Local variables int t; // r31 int i; // r29 int delta; // r0 } // Range: 0x8031BC4C -> 0x8031BCC0 void CharBones::AddBones(class CharBones * const this /* r29 */, const class vector & bones /* r30 */) { // Local variables const struct Bone * it; // r31 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8031BCC0 -> 0x8031BD4C void CharBones::AddBones(class CharBones * const this /* r30 */, const class list & bones /* r31 */) { // Local variables struct _List_iterator it; // r1+0x18 } // Range: 0x8031BD4C -> 0x8031BE18 void CharBones::ListBones(const class CharBones * const this /* r28 */, class list & bones /* r29 */) { // Local variables int i; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8031BE18 -> 0x8031BE2C void CharBones::Zero(class CharBones * const this /* r5 */) {} // Range: 0x8031BE2C -> 0x8031BE9C int CharBones::TypeSize() {} // Range: 0x8031BE9C -> 0x8031BF58 int CharBones::FindOffset(const class CharBones * const this /* r28 */, class Symbol & name /* r29 */) { // Local variables int t; // r31 int end; // r30 int size; // r0 int offset; // r5 int i; // r6 } // Range: 0x8031BF58 -> 0x8031C008 int CharBones::FindIndex(const class CharBones * const this /* r28 */, class Symbol & name /* r29 */) { // Local variables int t; // r31 int end; // r30 int i; // r3 } // Range: 0x8031C008 -> 0x8031C058 void * CharBones::FindPtr(const class CharBones * const this /* r31 */) { // Local variables int offset; // r0 } // Range: 0x8031C058 -> 0x8031C33C void CharBones::ScaleDown() { // Local variables const struct Bone * name; // r5 const struct Bone * endName; // r9 const struct Bone * boneName; // r6 class Vector3 * pos; // r10 class Quat * quat; // r10 float * ang; // r4 class Vector3 * pos; // r10 class Quat * quat; // r10 float * ang; // r4 } struct ShortVector3 { // total size: 0x6 signed short x; // offset 0x0, size 0x2 signed short y; // offset 0x2, size 0x2 signed short z; // offset 0x4, size 0x2 }; // Range: 0x8031C33C -> 0x8031CB00 void CharBones::ScaleAdd() { // Local variables const struct Bone * name; // r5 const struct Bone * endName; // r6 struct Bone * boneName; // r7 class Vector3 * pos; // r10 const struct ShortVector3 * sp; // r11 class Vector3 v; // r1+0x40 const class Vector3 * p; // r11 float fweight; // f0 class Quat * quat; // r8 float fqweight; // f3 float qweight; // f4 const struct ByteQuat * bq; // r11 class Quat s; // r1+0x30 float fqweight; // f3 float qweight; // f4 const struct ShortQuat * qs; // r11 class Quat s; // r1+0x20 const class Quat * q; // r11 class Quat s; // r1+0x10 float * ang; // r8 float aweight; // f3 const signed short * as; // r4 const float * a; // r4 } // Range: 0x8031CB00 -> 0x8031D118 void CharBones::RotateBy() { // Local variables const struct Bone * name; // r5 const struct Bone * endName; // r6 const struct Bone * boneName; // r7 class Vector3 * pos; // r10 const struct ShortVector3 * sp; // r11 class Vector3 v; // r1+0x30 const class Vector3 * p; // r11 class Quat * quat; // r8 const struct ByteQuat * bq; // r11 class Quat s; // r1+0x20 const struct ShortQuat * qs; // r11 class Quat s; // r1+0x10 const class Quat * q; // r11 float * ang; // r8 const signed short * as; // r4 const float * a; // r4 } // Range: 0x8031D118 -> 0x8031D864 void CharBones::RotateTo() { // Local variables const struct Bone * name; // r5 const struct Bone * endName; // r6 const struct Bone * boneName; // r7 class Vector3 * pos; // r10 const struct ShortVector3 * sp; // r11 class Vector3 v; // r1+0x40 const class Vector3 * p; // r11 class Quat * quat; // r8 const struct ByteQuat * bq; // r11 class Quat s; // r1+0x30 const struct ShortQuat * qs; // r11 class Quat s; // r1+0x20 const class Quat * q; // r11 class Quat s; // r1+0x10 float * ang; // r8 float shortWeight; // f2 const signed short * as; // r4 const float * a; // r4 } // Range: 0x8031D864 -> 0x8031D8B0 void CharBones::ScaleAddIdentity() { // Local variables const class Quat * end; // r5 class Quat * q; // r3 } // Range: 0x8031D8B0 -> 0x8031D950 void CharBones::RecomputeSizes(class CharBones * const this /* r31 */) { // Local variables int i; // r28 int num; // r27 } // Range: 0x8031D950 -> 0x8031D968 void CharBones::SetCompression() {} static class Transform t; // size: 0x40, address: 0x8097DDF0 // Range: 0x8031D968 -> 0x8031DC00 static class Transform & LocalXfm() { // Local variables class RndTransformable * trans; // r0 class CharBone * bone; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__8CharBone; // -> static class Transform t; } // Range: 0x8031DC00 -> 0x8031DF38 void CharBones::SetFromMeshes(class CharBones * const this /* r29 */, class ObjectDir * dir /* r30 */) { // Local variables const struct Bone * bone; // r31 class Vector3 * p; // r28 class Vector3 * s; // r27 class Quat * q; // r28 class Matrix3 mat; // r1+0x10 float * a; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8031DF38 -> 0x8031EA5C void CharBones::CopyInto(const class CharBones * const this /* r30 */, class CharBones & set /* r31 */) { // Local variables const struct Bone * bone; // r29 const struct Bone * oldBone; // r28 struct ShortVector3 * p; // r27 const struct ShortVector3 * end; // r26 struct ShortVector3 * oldP; // r22 const struct ShortVector3 * oldEnd; // r23 class Vector3 * oldP; // r22 const class Vector3 * oldEnd; // r23 class Vector3 * p; // r26 const class Vector3 * end; // r27 struct ShortVector3 * oldPos; // r25 const struct ShortVector3 * oldEnd; // r24 class Vector3 * oldPos; // r22 const class Vector3 * oldEnd; // r23 const struct Bone * bone; // r24 int newSize; // r25 char * q; // r26 const char * end; // r27 const struct Bone * oldBone; // r28 int oldSize; // r0 char * oldQ; // r23 const char * oldEnd; // r22 class Quat tempQuat; // r1+0x40 struct ShortQuat * newQ; // r0 class Quat * q; // r0 const struct Bone * bone; // r22 int newSize; // r23 char * a; // r24 const char * end; // r26 const struct Bone * oldBone; // r27 int oldSize; // r0 char * oldA; // r28 const char * oldEnd; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8031EA5C -> 0x8031EA78 void CharBones::ScaleAdd(class CharBones * const this /* r0 */) {} // Range: 0x8031EA78 -> 0x8031EA88 void CharBones::StuffBones(class CharBones * const this /* r0 */) {} // Range: 0x8031EA88 -> 0x8031EBB0 void * CharBonesAlloc::~CharBonesAlloc(class CharBonesAlloc * const this /* r30 */) { // References // -> struct [anonymous] __vt__14CharBonesAlloc; } // Range: 0x8031ECA0 -> 0x8031ECE8 void CharBonesAlloc::ReallocateInternal(class CharBonesAlloc * const this /* r31 */) {} class CharBones * gPropBones; // size: 0x4, address: 0x80A50A08 static class Symbol _s; // size: 0x4, address: 0x80A50A10 static class Symbol _s; // size: 0x4, address: 0x80A50A18 static class Symbol _s; // size: 0x4, address: 0x80A50A20 // Range: 0x8031ECE8 -> 0x8031EFF8 unsigned char PropSync(struct Bone & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class CharBones * gPropBones; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A50A28 // Range: 0x8031EFF8 -> 0x8031F0C0 unsigned char CharBonesObject::SyncProperty(class CharBonesObject * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class CharBones * gPropBones; } // Range: 0x8031F0C0 -> 0x8031F2C0 unsigned char PropSync(class vector & v /* r30 */, class DataNode & n /* r31 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r28 */) { // Local variables struct Bone * it; // r29 struct Bone tmp; // r1+0x20 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x7C } __vt__14CharBonesAlloc; // size: 0x7C, address: 0x808D0610 struct { // total size: 0x7C } __vt__15CharBonesObject; // size: 0x7C, address: 0x808D06C8 struct { // total size: 0x1C } __vt__9CharBones; // size: 0x1C, address: 0x808D0780 struct { // total size: 0x8 } __RTTI__PQ29CharBones4Bone; // size: 0x8, address: 0x808D07F8 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031F2C0 -> 0x8031FAB4 */ // Range: 0x8031F2C0 -> 0x8031F670 void CharBones::Blend(const class CharBones * const this /* r30 */, class CharBones & bones /* r31 */) { // Local variables const struct Bone * name; // r3 const struct Bone * endName; // r6 const struct Bone * boneName; // r7 const class Vector3 * p; // r8 class Vector3 * pos; // r9 class Quat * quat; // r8 const class Quat * q; // r9 float ds; // f1 float fweight; // f0 class Quat s; // r1+0x10 float * ang; // r5 const float * a; // r8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8031F670 -> 0x8031F9C4 char * CharBones::StringVal(class CharBones * const this /* r28 */, class Symbol & name /* r29 */) { // Local variables void * ptr; // r0 class Vector3 v; // r1+0x40 class Quat cur; // r1+0x30 class Vector3 e; // r1+0x20 float ang; // f1 } // Range: 0x8031F9C4 -> 0x8031FA50 void CharBones::Print(class CharBones * const this /* r30 */) { // Local variables const struct Bone * bone; // r31 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\char\CharBones.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031FAB4 -> 0x8031FD64 */ // Range: 0x8031FAB4 -> 0x8031FB88 enum Type CharBones::TypeOf() { // Local variables const char * c; // r5 // References // -> class Debug TheDebug; } // Range: 0x8031FB88 -> 0x8031FB8C void CharBones::ReallocateInternal() {} // Range: 0x8031FB8C -> 0x8031FBD0 class Symbol CharBonesObject::ClassName() { // References // -> class Symbol name; } // Range: 0x8031FBD0 -> 0x8031FD64 void CharBonesObject::SetType(class CharBonesObject * const this /* r29 */, class Symbol & CharBonesObject /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031FD64 -> 0x8031FED8 */ // Range: 0x8031FD64 -> 0x8031FDC4 char * MakeString(const char * fmt /* r0 */, float t1 /* f31 */, signed short t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8031FDC4 -> 0x8031FE5C char * MakeString(float t1 /* f25 */, float t2 /* f26 */, float t3 /* f27 */, float t4 /* f28 */, float t5 /* f29 */, float t6 /* f30 */, float t7 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8031FE5C -> 0x8031FED8 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r30 */, float t2 /* f31 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8031FED8 -> 0x80320374 */ // Range: 0x8031FED8 -> 0x8031FF30 struct Bone * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8031FF30 -> 0x8031FFA0 void vector::_M_fill_insert() {} // Range: 0x8031FFA0 -> 0x8032018C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Bone * __pos /* r26 */, const struct Bone & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Bone * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29CharBones4Bone; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8032018C -> 0x80320374 void vector::_M_fill_insert_aux() { // Local variables struct Bone __x_copy; // r1+0x20 unsigned long __elems_after; // r9 struct Bone * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\char\CharBoneOffset.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80320374 -> 0x80320CE8 */ class DataArray * types; // size: 0x4, address: 0x80A50A30 // Range: 0x80320374 -> 0x8032046C void * CharBoneOffset::CharBoneOffset(class CharBoneOffset * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__14CharBoneOffset; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8032046C -> 0x80320590 void CharBoneOffset::Poll(class CharBoneOffset * const this /* r30 */) { // Local variables class Transform local; // r1+0x50 class Transform world; // r1+0x10 } // Range: 0x80320590 -> 0x8032069C void CharBoneOffset::PollDeps(class CharBoneOffset * const this /* r29 */, class list & changedBy /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8032069C -> 0x80320748 void CharBoneOffset::Save(class CharBoneOffset * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A50A38 // Range: 0x80320748 -> 0x80320844 void CharBoneOffset::Load(class CharBoneOffset * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80320844 -> 0x80320910 void CharBoneOffset::Copy(class CharBoneOffset * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharBoneOffset * b; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharBoneOffset; } // Range: 0x80320910 -> 0x80320BD4 class DataNode CharBoneOffset::Handle(class CharBoneOffset * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50A40 static class Symbol _s; // size: 0x4, address: 0x80A50A48 // Range: 0x80320BD4 -> 0x80320CE8 unsigned char CharBoneOffset::SyncProperty(class CharBoneOffset * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__14CharBoneOffset; // size: 0x90, address: 0x808D0930 struct { // total size: 0x8 } __RTTI__14CharBoneOffset; // size: 0x8, address: 0x808D09F8 /* Compile unit: C:\rockband2\system\src\char\CharBoneOffset.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80320E54 -> 0x8032102C */ // Range: 0x80320E54 -> 0x80320E98 class Symbol CharBoneOffset::ClassName() { // References // -> class Symbol name; } // Range: 0x80320E98 -> 0x8032102C void CharBoneOffset::SetType(class CharBoneOffset * const this /* r29 */, class Symbol & CharBoneOffset /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharBonesMeshes.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032102C -> 0x80321EF0 */ // Range: 0x8032102C -> 0x803211A0 void * CharBonesMeshes::CharBonesMeshes(class CharBonesMeshes * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Symbol name; // -> struct [anonymous] __vt__15CharBonesMeshes; // -> struct [anonymous] __vt__14CharBonesAlloc; // -> struct [anonymous] __vt__15CharBonesObject; } // Range: 0x803211A0 -> 0x803213E0 void * CharBonesMeshes::~CharBonesMeshes(class CharBonesMeshes * const this /* r29 */) { // References // -> struct [anonymous] __vt__15CharBonesMeshes; } // Range: 0x803213E0 -> 0x80321520 void CharBonesMeshes::Replace(class CharBonesMeshes * const this /* r29 */) { // Local variables class ObjOwnerPtr * it; // r30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80321520 -> 0x80321A64 void CharBonesMeshes::PoseMeshes(class CharBonesMeshes * const this /* r29 */) { // Local variables class ObjOwnerPtr * bone; // r31 const class Vector3 * pend; // r28 class Vector3 * p; // r30 const class Quat * qend; // r28 class Quat * q; // r27 float * a; // r30 const float * xend; // r27 const float * yend; // r27 const float * end; // r27 const class Vector3 * send; // r27 class Vector3 * s; // r30 class Vector3 blendScale; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80321A64 -> 0x80321B48 void CharBonesMeshes::StuffMeshes(class CharBonesMeshes * const this /* r29 */, class list & l /* r30 */) { // Local variables int i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } static class Symbol _s; // size: 0x4, address: 0x80A50A54 // Range: 0x80321B48 -> 0x80321C20 unsigned char CharBonesMeshes::SyncProperty(class CharBonesMeshes * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } // Range: 0x80321C20 -> 0x80321EF0 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class ObjOwnerPtr * it; // r31 class ObjOwnerPtr tmp; // r1+0x20 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x80 } __vt__15CharBonesMeshes; // size: 0x80, address: 0x808D0AF0 struct { // total size: 0x8 } __RTTI__P42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // size: 0x8, address: 0x808D0D80 /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80321F54 -> 0x8032264C */ // Range: 0x80321F54 -> 0x8032264C void CharBonesMeshes::ReallocateInternal(class CharBonesMeshes * const this /* r29 */) { // Local variables class String missing; // r1+0x60 class ObjVector tmp; // r1+0x50 int i; // r30 class ObjOwnerPtr * bone; // r30 const class Vector3 * pend; // r25 class Vector3 * p; // r26 const class Vector3 * send; // r25 class Vector3 * s; // r26 const class Quat * qend; // r25 class Quat * q; // r26 float * a; // r25 const float * xend; // r26 const float * yend; // r26 const float * end; // r26 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032264C -> 0x80322D70 */ // Range: 0x8032264C -> 0x803226B4 class ObjOwnerPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x803226B4 -> 0x80322734 void vector::_M_fill_insert() {} // Range: 0x80322734 -> 0x803229EC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjOwnerPtr * __pos /* r26 */, const class ObjOwnerPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjOwnerPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803229EC -> 0x80322D70 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjOwnerPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjOwnerPtr & __x /* r29 */) { // Local variables class ObjOwnerPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharBonesSamples.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80322D70 -> 0x803266E8 */ // Range: 0x80322D70 -> 0x80322DC8 void * CharBonesSamples::CharBonesSamples(class CharBonesSamples * const this /* r31 */) { // References // -> struct [anonymous] __vt__16CharBonesSamples; } // Range: 0x80322DC8 -> 0x80322EE0 void * CharBonesSamples::~CharBonesSamples(class CharBonesSamples * const this /* r30 */) { // References // -> struct [anonymous] __vt__16CharBonesSamples; } // Range: 0x80322EE0 -> 0x80322F48 void CharBonesSamples::Clone(class CharBonesSamples * const this /* r30 */, const class CharBonesSamples & b /* r31 */) {} // Range: 0x80322F48 -> 0x80323038 void CharBonesSamples::Transfer(class CharBonesSamples * const this /* r29 */, class CharBonesSamples & b /* r30 */) {} // Range: 0x80323038 -> 0x8032324C void CharBonesSamples::InsertBones(class CharBonesSamples * const this /* r30 */, const class vector & bones /* r31 */) { // Local variables class CharBonesSamples tmp; // r1+0x38 class vector bs; // r1+0x2C int i; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29CharBones4Bone; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8032324C -> 0x80323410 void CharBonesSamples::RemoveBones(class CharBonesSamples * const this /* r29 */, const class vector & bones /* r30 */) { // Local variables class CharBonesSamples tmp; // r1+0x30 const class vector & src; // r0 class vector bs; // r1+0x24 int i; // r31 int j; // r7 } // Range: 0x80323410 -> 0x80323420 int CharBonesSamples::AllocateSize() {} // Range: 0x80323420 -> 0x80323654 int CharBonesSamples::FracToSample(float * frac /* r30 */) { // Local variables int lastSample; // r6 int sample; // r29 float w; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80323654 -> 0x80323E64 void CharBonesSamples::EvaluateChannel() { // Local variables const char * src; // r6 const char * src2; // r7 float & d; // r0 class Quat a; // r1+0x60 class Quat b; // r1+0x50 class Quat a; // r1+0x40 class Quat b; // r1+0x30 class Vector3 a; // r1+0x20 class Vector3 b; // r1+0x10 } // Range: 0x80323E64 -> 0x80323E7C void CharBonesSamples::RotateBy() {} // Range: 0x80323E7C -> 0x80323F3C void CharBonesSamples::RotateTo(class CharBonesSamples * const this /* r29 */, class CharBones & bones /* r30 */, float weight /* f30 */, int sample /* r31 */, float frac /* f31 */) {} // Range: 0x80323F3C -> 0x80323FFC void CharBonesSamples::ScaleAddSample(class CharBonesSamples * const this /* r29 */, class CharBones & bones /* r30 */, float weight /* f30 */, int sample /* r31 */, float frac /* f31 */) {} // Range: 0x80323FFC -> 0x803250DC void CharBonesSamples::Relativize(class CharBonesSamples * const this /* r26 */, class CharClip * clip /* r27 */) { // Local variables int i; // r31 const struct Bone * bone; // r30 struct ShortVector3 * sp; // [invalid] class Vector3 first; // r1+0x140 class Vector3 v; // r1+0x130 class Vector3 * p; // r29 class Vector3 first; // r1+0x120 struct ByteQuat * bq; // [invalid] class Quat first; // r1+0x110 class Matrix3 firstMat; // r1+0x240 class Quat q; // r1+0x100 class Matrix3 m; // r1+0x210 signed short * sa; // r29 float first; // r1+0x38 float a; // f1 struct ShortQuat * sq; // [invalid] class Quat first; // r1+0xF0 class Matrix3 firstMat; // r1+0x1E0 class Quat q; // r1+0xE0 class Matrix3 m; // r1+0x1B0 signed short * sa; // r29 float first; // r1+0x34 float a; // f1 class Quat * q; // r28 class Quat first; // r1+0xD0 class Matrix3 firstMat; // r1+0x180 class Matrix3 m; // r1+0x150 float * a; // r29 float first; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803250DC -> 0x80325160 void CharBonesSamples::ChangeCompression(class CharBonesSamples * const this /* r30 */, enum CompressionType comp /* r31 */) { // Local variables class CharBonesSamples old; // r1+0x8 } // Range: 0x80325160 -> 0x803251F0 void CharBonesSamples::DecimateKeyframes(class CharBonesSamples * const this /* r28 */, int num /* r29 */) { // Local variables int i; // r31 int j; // r30 } // Range: 0x803251F0 -> 0x8032551C void CharBonesSamples::RemoveKeyframe(class CharBonesSamples * const this /* r30 */, int which /* r31 */) { // Local variables int i; // r4 class CharBonesSamples old; // r1+0x18 int i; // r29 int last; // r6 int next; // [invalid] int i; // r7 int i; // r8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032551C -> 0x8032575C void CharBonesSamples::Groom() { // Local variables int i; // r5 class Quat * q; // r6 float * a; // r7 } // Range: 0x8032575C -> 0x8032577C void CharBonesSamples::SetKeyFrame(int sample /* r6 */) {} // Range: 0x8032577C -> 0x80325898 void CharBonesSamples::Print(class CharBonesSamples * const this /* r30 */) { // Local variables int i; // r31 int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x80325898 -> 0x80325A34 void CharBonesSamples::DeleteSamples(class CharBonesSamples * const this /* r30 */, int firstSample /* r31 */, int numSamples /* r26 */) { // Local variables char * oldData; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static int gVer; // size: 0x4, address: 0x80A50A58 // Range: 0x80325A34 -> 0x80325A94 void CharBonesSamples::SetVer(int ver /* r31 */) { // References // -> static int gVer; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80325A94 -> 0x80325AD8 void CharBonesSamples::Save() { // References // -> class Debug TheDebug; } // Range: 0x80325AD8 -> 0x80325B8C void CharBonesSamples::Load(class CharBonesSamples * const this /* r28 */, class BinStream & d /* r29 */, const char * dirName /* r30 */, const char * clipName /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gVer; } // Range: 0x80325B8C -> 0x80325C9C void CharBonesSamples::ReadCounts(class CharBonesSamples * const this /* r28 */, class BinStream & d /* r29 */, int count /* r1+0x8 */) { // Local variables int i; // [invalid] int read; // r31 int j; // r31 int tmp; // r1+0xC int j; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80325C9C -> 0x80326054 void CharBonesSamples::LoadHeader(class CharBonesSamples * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int size; // r1+0x2C int i; // r31 int count; // r28 int tmp; // r1+0x28 // References // -> static int gVer; // -> const char * gNullStr; } // Range: 0x80326054 -> 0x80326370 void CharBonesSamples::LoadData(class CharBonesSamples * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int i; // r1+0x10 const struct ShortVector3 * send; // r29 struct ShortVector3 * sp; // [invalid] const class Vector3 * send; // r29 class Vector3 * p; // r28 const struct ByteQuat * qend; // r28 struct ByteQuat * bq; // r29 const struct ShortQuat * qend; // r28 struct ShortQuat * q; // r29 const class Quat * qend; // r28 class Quat * q; // r29 const signed short * rend; // r28 signed short * a; // r29 const float * rend; // r28 float * a; // r29 // References // -> static int gVer; } // Range: 0x80326370 -> 0x803263A8 void CharBonesSamples::SetPreview() {} static class Symbol _s; // size: 0x4, address: 0x80A50A60 static class Symbol _s; // size: 0x4, address: 0x80A50A68 static class Symbol _s; // size: 0x4, address: 0x80A50A70 static class Symbol _s; // size: 0x4, address: 0x80A50A78 static class Symbol _s; // size: 0x4, address: 0x80A50A80 // Range: 0x803263A8 -> 0x803266E8 unsigned char CharBonesSamples::SyncProperty(class CharBonesSamples * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> class CharBones * gPropBones; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x20 } __vt__16CharBonesSamples; // size: 0x20, address: 0x808D1068 struct { // total size: 0x8 } __RTTI__16CharBonesSamples; // size: 0x8, address: 0x808D10A8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803266E8 -> 0x803266EC */ // Range: 0x803266E8 -> 0x803266EC class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803266EC -> 0x80326888 */ // Range: 0x803266EC -> 0x803267B8 void CharBonesSamples::Set(class CharBonesSamples * const this /* r28 */, const class vector & bones /* r29 */, int numSamples /* r30 */, enum CompressionType compression /* r31 */) {} // Range: 0x803267B8 -> 0x80326888 void CharBonesSamples::CopyInto(class CharBonesSamples * const this /* r29 */, class CharBonesSamples & set /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80326888 -> 0x80326910 */ // Range: 0x80326888 -> 0x80326910 char * MakeString(const char * fmt /* r0 */, int t1 /* r28 */, int t2 /* r29 */, int t3 /* r30 */, enum CompressionType t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\char\CharBonesBlender.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80326910 -> 0x80327488 */ class DataArray * types; // size: 0x4, address: 0x80A50A88 // Range: 0x80326910 -> 0x80326A60 void * CharBonesBlender::CharBonesBlender(class CharBonesBlender * const this /* r31 */) { // References // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; // -> struct [anonymous] __vt__16CharBonesBlender; // -> struct [anonymous] __vt__14CharBonesAlloc; // -> struct [anonymous] __vt__15CharBonesObject; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x80326A60 -> 0x80326B38 void * CharBonesBlender::~CharBonesBlender(class CharBonesBlender * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; } // Range: 0x80326B38 -> 0x80326B74 void CharBonesBlender::Enter(class CharBonesBlender * const this /* r31 */) {} // Range: 0x80326B74 -> 0x80326BD8 void CharBonesBlender::Poll(class CharBonesBlender * const this /* r31 */) {} // Range: 0x80326BD8 -> 0x80326C64 void CharBonesBlender::SetDest(class CharBonesBlender * const this /* r30 */, class CharBonesObject * dest /* r31 */) {} // Range: 0x80326C64 -> 0x80326CBC void CharBonesBlender::ReallocateInternal(class CharBonesBlender * const this /* r31 */) {} // Range: 0x80326CBC -> 0x80326D3C void CharBonesBlender::PollDeps() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80326D3C -> 0x80326DA0 void CharBonesBlender::Save(class CharBonesBlender * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A50A90 // Range: 0x80326DA0 -> 0x80326ECC void CharBonesBlender::Load(class CharBonesBlender * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class ObjPtr dest; // r1+0xC // References // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80326ECC -> 0x80326F40 void CharBonesBlender::Copy(class CharBonesBlender * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class CharBonesBlender * c; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16CharBonesBlender; } // Range: 0x80326F40 -> 0x8032732C class DataNode CharBonesBlender::Handle(class CharBonesBlender * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50A98 // Range: 0x8032732C -> 0x80327488 unsigned char CharBonesBlender::SyncProperty(class CharBonesBlender * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharBonesObject; // -> static class Symbol _s; } struct { // total size: 0xBC } __vt__16CharBonesBlender; // size: 0xBC, address: 0x808D11D0 struct { // total size: 0x8 } __RTTI__16CharBonesBlender; // size: 0x8, address: 0x808D12E0 struct { // total size: 0x18 } __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; // size: 0x18, address: 0x808D12E8 struct { // total size: 0x8 } __RTTI__36ObjPtr<15CharBonesObject,9ObjectDir>; // size: 0x8, address: 0x808D1330 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80327488 -> 0x80327744 */ // Range: 0x80327488 -> 0x803274FC void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; } // Range: 0x803274FC -> 0x80327698 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharBonesObject; } // Range: 0x80327698 -> 0x803276A0 class Object * ObjPtr::RefOwner() {} // Range: 0x803276A0 -> 0x80327744 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharBonesObject; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80327744 -> 0x803277D8 */ // Range: 0x80327744 -> 0x803277D8 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\char\CharBonesBlender.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803278A0 -> 0x80327A78 */ // Range: 0x803278A0 -> 0x803278E4 class Symbol CharBonesBlender::ClassName() { // References // -> class Symbol name; } // Range: 0x803278E4 -> 0x80327A78 void CharBonesBlender::SetType(class CharBonesBlender * const this /* r29 */, class Symbol & CharBonesBlender /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharClip.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80327A78 -> 0x8032B960 */ static class Symbol ccg; // size: 0x4, address: 0x80A50AA4 // Range: 0x80327A78 -> 0x80327CE4 unsigned char CharClip::Match(class CharClip * const this /* r29 */, const class DataNode & n /* r30 */) { // Local variables class DataArray * d; // r31 int i; // r30 const char * str; // r30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; // -> static class Symbol ccg; } // Range: 0x80327CE4 -> 0x80327CF8 void * FrameEvent::FrameEvent() { // References // -> const char * gNullStr; } // Range: 0x80327CF8 -> 0x80327D14 void * FrameEvent::FrameEvent() { // References // -> const char * gNullStr; } // Range: 0x80327D14 -> 0x80327D28 class FrameEvent & FrameEvent::__as() {} // Range: 0x80327D28 -> 0x80327D80 void FrameEvent::Save(class FrameEvent * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80327D80 -> 0x80327DD0 void FrameEvent::Load(class FrameEvent * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80327DD0 -> 0x80327EC0 void * CharClip::CharClip(class CharClip * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__8CharClip; } // Range: 0x80327EC0 -> 0x80327FF0 void * CharClip::~CharClip(class CharClip * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__8CharClip; } // Range: 0x80327FF0 -> 0x80328068 void CharClip::StuffBones(class CharBones & bones /* r30 */) { // Local variables class list b; // r1+0x18 } // Range: 0x80328068 -> 0x8032806C int CharClip::AllocSize() {} // Range: 0x8032806C -> 0x8032807C int CharClip::NodesSize() {} // Range: 0x8032807C -> 0x80328098 void CharClip::SetStart() {} // Range: 0x80328098 -> 0x803280B4 void CharClip::SetEnd() {} // Range: 0x803280B4 -> 0x803280D0 void CharClip::SetFramesPerSec() {} // Range: 0x803280D0 -> 0x803280EC void CharClip::SetPlayFlags() {} // Range: 0x803280EC -> 0x80328108 void CharClip::SetFlags() {} // Range: 0x80328108 -> 0x80328124 void CharClip::SetBlendWidth() {} // Range: 0x80328124 -> 0x803281F0 unsigned char CharClip::SharesGroups(class CharClip * const this /* r30 */, class CharClip * c /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 class Object * o; // r0 const class CharClipGroup * group; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x803281F0 -> 0x80328218 class CharClipSet * CharClip::GetCharClipSet() { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; } // Range: 0x80328218 -> 0x80328258 class NodeVector * CharClip::FindNodes() { // Local variables class NodeVector * n; // r5 } // Range: 0x80328258 -> 0x803282D0 struct CharGraphNode * CharClip::FindFirstNode(float frame /* f31 */) { // Local variables const class NodeVector * n; // r0 int i; // r5 } // Range: 0x803282D0 -> 0x80328348 struct CharGraphNode * CharClip::FindLastNode(float frame /* f31 */) { // Local variables const class NodeVector * n; // r0 int i; // r5 } static struct CharGraphNode node; // size: 0x8, address: 0x8097DE30 // Range: 0x80328348 -> 0x80328564 struct CharGraphNode * CharClip::FindNode(const class CharClip * const this /* r28 */, class CharClip * clip /* r29 */, float frame /* f31 */) { // Local variables const struct CharGraphNode * n; // r30 float beatAlign; // f30 float endBorder; // f1 float f; // f2 // References // -> static struct CharGraphNode node; // -> class Debug TheDebug; } // Range: 0x80328564 -> 0x80328650 void CharClip::Replace(class CharClip * const this /* r29 */) { // Local variables class NodeVector * n; // r30 class CharClip * clip; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x80328650 -> 0x803286D0 void CharClip::ClearAllNodes(class CharClip * const this /* r30 */) { // Local variables const class NodeVector * n; // r31 } // Range: 0x803286D0 -> 0x80328774 void CharClip::RemoveNodes(class CharClip * const this /* r29 */, class CharClip * clip /* r30 */) { // Local variables class NodeVector * n; // r31 char * next; // r30 } // Range: 0x80328774 -> 0x803288A4 class NodeVector * CharClip::ResizeNodes(class CharClip * const this /* r27 */, int newSize /* r28 */, const class NodeVector * old /* r29 */) { // Local variables int n; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803288A4 -> 0x80328A1C void CharClip::AddNode(class CharClip * const this /* r28 */, class CharClip * clip /* r29 */, const struct CharGraphNode & node /* r30 */) { // Local variables class NodeVector * n; // r31 int newSize; // r0 int moveSize; // r29 int i; // r5 int j; // r6 } // Range: 0x80328A1C -> 0x80328A58 void CharClip::SortEvents(class CharClip * const this /* r4 */) {} struct SortByFrame { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; static int gRev; // size: 0x4, address: 0x80A50AAC // Range: 0x80328A58 -> 0x80328CDC void CharClip::Save(class CharClip * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int count; // r4 class NodeVector * n; // r3 class NodeVector * n; // r28 int i; // r27 int i; // r27 } // Range: 0x80328CDC -> 0x80328D70 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class ObjectDir * sdir; // size: 0x4, address: 0x80A50AB0 // Range: 0x80328D70 -> 0x803296AC void CharClip::Load(class CharClip * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int num; // r1+0x40 int i; // r27 char name[256]; // r1+0x220 int numNodes; // r1+0x3C int j; // r26 struct CharGraphNode n; // r1+0x58 int maxSize; // r1+0x38 int num; // r1+0x34 class NodeVector * start; // r26 class NodeVector * n; // r25 int i; // r24 char name[256]; // r1+0x120 int j; // r28 int size; // r1+0x30 int j; // r27 struct CharGraphNode n; // r1+0x50 int num; // r1+0x2C class String tmp; // r1+0x90 int i; // r24 int num; // r1+0x28 int i; // r24 class String s; // r1+0x84 float lastFrame; // f31 int num; // r1+0x24 int i; // r24 float frame; // r1+0x20 // References // -> static class ObjectDir * sdir; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803296AC -> 0x803298AC void CharClip::Copy(class CharClip * const this /* r30 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class CharClip * c; // r0 int i; // r27 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x803298AC -> 0x803298DC void CharClip::SetDefaultBlend() { // Local variables int f; // r1+0x8 } // Range: 0x803298DC -> 0x8032990C void CharClip::SetDefaultLoop() { // Local variables int f; // r1+0x8 } // Range: 0x8032990C -> 0x80329944 void CharClip::SetBeatAlignMode() { // Local variables int f; // r1+0x8 } // Range: 0x80329944 -> 0x803299FC int CharClip::InGroups(class CharClip * const this /* r30 */) { // Local variables int count; // r31 struct _List_iterator i; // r1+0x18 class Object * o; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } static class Symbol s; // size: 0x4, address: 0x80A50AB8 // Range: 0x803299FC -> 0x80329B54 void CharClip::MakeMRU(class CharClip * const this /* r30 */) { // Local variables class CharClipGroup * groups[256]; // r1+0x20 int num; // r31 struct _List_iterator i; // r1+0x1C class Object * o; // r28 class CharClipGroup * g; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; // -> static class Symbol s; } // Range: 0x80329B54 -> 0x80329C78 void CharClip::LockAndDelete(class CharClip * * deathRow /* r29 */, int count /* r30 */, int remaining /* r31 */) { // Local variables int i; // r5 class CharClip * c; // r6 class CharClip * c; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A50AC0 static class Symbol _s; // size: 0x4, address: 0x80A50AC8 static class Symbol _s; // size: 0x4, address: 0x80A50AD0 static class Symbol _s; // size: 0x4, address: 0x80A50AD8 static class Symbol _s; // size: 0x4, address: 0x80A50AE0 // Range: 0x80329C78 -> 0x8032A470 class DataNode CharClip::Handle(class CharClip * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8032A470 -> 0x8032A5DC class DataNode CharClip::OnGroups(class DataNode * n /* r29 */, class CharClip * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x18 class Object * o; // r0 class CharClipGroup * group; // r3 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x8032A5DC -> 0x8032A8B8 float CharClip::CheckStick(class CharClip * const this /* r27 */, float tolerance /* f30 */) { // Local variables class RndTransformable * stick; // r28 class RndTransformable * arm; // r30 class CharBonesMeshes bones; // r1+0x30 class Vector3 stickDown; // r1+0x20 class Vector3 armDown; // r1+0x10 float angle; // f31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } static class Symbol _s; // size: 0x4, address: 0x80A50AE8 static class Symbol _s; // size: 0x4, address: 0x80A50AF0 // Range: 0x8032A8B8 -> 0x8032AA84 unsigned char PropSync(class FrameEvent & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A50AF8 static class Symbol _s; // size: 0x4, address: 0x80A50B00 static class Symbol _s; // size: 0x4, address: 0x80A50B08 static class Symbol _s; // size: 0x4, address: 0x80A50B10 static class Symbol _s; // size: 0x4, address: 0x80A50B18 static class Symbol _s; // size: 0x4, address: 0x80A50B20 static class Symbol _s; // size: 0x4, address: 0x80A50B28 static class Symbol _s; // size: 0x4, address: 0x80A50B30 static class Symbol _s; // size: 0x4, address: 0x80A50B38 static class Symbol _s; // size: 0x4, address: 0x80A50B40 static class Symbol _s; // size: 0x4, address: 0x80A50B48 static class Symbol _s; // size: 0x4, address: 0x80A50B50 static class Symbol _s; // size: 0x4, address: 0x80A50B58 static class Symbol _s; // size: 0x4, address: 0x80A50B60 static class Symbol _s; // size: 0x4, address: 0x80A50B68 static class Symbol _s; // size: 0x4, address: 0x80A50B70 static class Symbol _s; // size: 0x4, address: 0x80A50B78 static class Symbol _s; // size: 0x4, address: 0x80A50B80 static class Symbol _s; // size: 0x4, address: 0x80A50B88 // Range: 0x8032AA84 -> 0x8032B76C unsigned char CharClip::SyncProperty(class CharClip * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8032B76C -> 0x8032B960 unsigned char PropSync(class vector & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r27 */, int i /* r30 */, enum PropOp op /* r29 */) { // Local variables class FrameEvent * it; // r28 class FrameEvent tmp; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xA8 } __vt__8CharClip; // size: 0xA8, address: 0x808D1910 struct { // total size: 0x8 } __RTTI__PQ28CharClip10FrameEvent; // size: 0x8, address: 0x808D1A88 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032B9EC -> 0x8032BA60 */ // Range: 0x8032B9EC -> 0x8032BA60 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, float t2 /* f31 */, class String & t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032BA60 -> 0x8032C0E0 */ // Range: 0x8032BA60 -> 0x8032BB04 void sort(class FrameEvent * __first /* r29 */, class FrameEvent * __last /* r30 */, struct SortByFrame & __comp /* r31 */) {} // Range: 0x8032BB04 -> 0x8032BBA4 void __final_insertion_sort(class FrameEvent * __first /* r29 */, class FrameEvent * __last /* r30 */, struct SortByFrame & __comp /* r31 */) {} // Range: 0x8032BBA4 -> 0x8032BC18 void __unguarded_insertion_sort_aux(class FrameEvent * __last /* r29 */, struct SortByFrame & __comp /* r30 */) { // Local variables class FrameEvent * __i; // r31 } // Range: 0x8032BC18 -> 0x8032BC80 void __unguarded_linear_insert(class FrameEvent & __val /* r30 */) { // Local variables class FrameEvent * __next; // r31 } // Range: 0x8032BC80 -> 0x8032BD7C void __insertion_sort(class FrameEvent * __first /* r25 */, class FrameEvent * __last /* r26 */, struct SortByFrame & __comp /* r27 */) { // Local variables class FrameEvent * __i; // r28 } // Range: 0x8032BD7C -> 0x8032BED4 void __introsort_loop(class FrameEvent * __first /* r28 */, class FrameEvent * __last /* r29 */, long __depth_limit /* r30 */, struct SortByFrame & __comp /* r31 */) { // Local variables class FrameEvent * __cut; // r27 } // Range: 0x8032BED4 -> 0x8032BFA8 class FrameEvent * __unguarded_partition(class FrameEvent * __first /* r29 */, class FrameEvent * __last /* r30 */, class FrameEvent & __pivot /* r31 */) {} // Range: 0x8032BFA8 -> 0x8032BFD8 void partial_sort() {} // Range: 0x8032BFD8 -> 0x8032C0E0 void __partial_sort(class FrameEvent * __first /* r27 */, class FrameEvent * __middle /* r28 */, class FrameEvent * __last /* r29 */, struct SortByFrame & __comp /* r30 */) { // Local variables class FrameEvent * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032C0E0 -> 0x8032C110 */ // Range: 0x8032C0E0 -> 0x8032C0F8 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8032C0F8 -> 0x8032C110 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032C110 -> 0x8032C374 */ // Range: 0x8032C110 -> 0x8032C19C void pop_heap(class FrameEvent * __first /* r30 */, class FrameEvent * __last /* r31 */) {} // Range: 0x8032C19C -> 0x8032C2D0 void __adjust_heap(class FrameEvent * __first /* r29 */, long __holeIndex /* r30 */, long __len /* r26 */, class FrameEvent & __val /* r27 */) { // Local variables long __topIndex; // r31 long __secondChild; // r28 } // Range: 0x8032C2D0 -> 0x8032C374 void make_heap(class FrameEvent * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032C374 -> 0x8032C3D4 */ // Range: 0x8032C374 -> 0x8032C3D4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032C3D4 -> 0x8032C870 */ // Range: 0x8032C3D4 -> 0x8032C42C class FrameEvent * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8032C42C -> 0x8032C49C void vector::_M_fill_insert() {} // Range: 0x8032C49C -> 0x8032C678 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class FrameEvent * __pos /* r26 */, const class FrameEvent & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class FrameEvent * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharClip10FrameEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8032C678 -> 0x8032C870 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class FrameEvent * __pos /* r29 */, unsigned long __n /* r24 */, const class FrameEvent & __x /* r30 */) { // Local variables class FrameEvent __x_copy; // r1+0x20 unsigned long __elems_after; // r25 class FrameEvent * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\char\CharClipFilter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032C870 -> 0x8032CD74 */ class DataArray * types; // size: 0x4, address: 0x80A50B90 // Range: 0x8032C870 -> 0x8032C8DC void * CharClipFilter::CharClipFilter(class CharClipFilter * const this /* r31 */) { // References // -> struct [anonymous] __vt__14CharClipFilter; } // Range: 0x8032C8DC -> 0x8032C8E4 void CharClipFilter::Save() {} static class Message filterClips; // size: 0x8, address: 0x8097DE48 // Range: 0x8032C8E4 -> 0x8032CA54 void CharClipFilter::Load(class CharClipFilter * const this /* r31 */) { // References // -> static class Message filterClips; // -> struct [anonymous] __vt__7Message; } // Range: 0x8032CA54 -> 0x8032CA5C void CharClipFilter::Copy() {} // Range: 0x8032CA5C -> 0x8032CD20 class DataNode CharClipFilter::Handle(class CharClipFilter * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x8032CD20 -> 0x8032CD74 unsigned char CharClipFilter::SyncProperty(class DataArray * _prop /* r31 */) {} struct { // total size: 0x7C } __vt__14CharClipFilter; // size: 0x7C, address: 0x808D1B70 struct { // total size: 0x8 } __RTTI__14CharClipFilter; // size: 0x8, address: 0x808D1C10 /* Compile unit: C:\rockband2\system\src\char\CharClipFilter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032CE88 -> 0x8032D060 */ // Range: 0x8032CE88 -> 0x8032CECC class Symbol CharClipFilter::ClassName() { // References // -> class Symbol name; } // Range: 0x8032CECC -> 0x8032D060 void CharClipFilter::SetType(class CharClipFilter * const this /* r29 */, class Symbol & CharClipFilter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharClipDriver.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032D060 -> 0x8032E290 */ // Range: 0x8032D060 -> 0x8032D168 void * CharClipDriver::CharClipDriver(class CharClipDriver * const this /* r29 */, class Object * owner /* r30 */, const class CharClipDriver & d /* r31 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x8032D168 -> 0x8032D1E8 void * CharClipDriver::~CharClipDriver(class CharClipDriver * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } static class Symbol exit; // size: 0x4, address: 0x80A50B9C // Range: 0x8032D1E8 -> 0x8032D28C class CharClipDriver * CharClipDriver::Exit(class CharClipDriver * const this /* r30 */, unsigned char stack /* r31 */) { // Local variables class CharClipDriver * next; // r31 // References // -> static class Symbol exit; } // Range: 0x8032D28C -> 0x8032D2D4 void CharClipDriver::DeleteStack(class CharClipDriver * const this /* r31 */) {} // Range: 0x8032D2D4 -> 0x8032D33C class CharClipDriver * CharClipDriver::DeleteClip(class CharClipDriver * const this /* r31 */) {} // Range: 0x8032D33C -> 0x8032DA1C float CharClipDriver::Evaluate(class CharClipDriver * const this /* r31 */, float frame /* f29 */, float dframe /* f30 */, float dt /* f27 */) { // Local variables float nextWeight; // f31 unsigned char rt; // r0 unsigned char ut; // r0 float rampDelta; // f0 float oldFrame; // f28 float delta; // f0 float dfrac; // f1 float length; // f28 float length; // f28 float w; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032DA1C -> 0x8032DB3C void CharClipDriver::ScaleAdd(class CharClipDriver * const this /* r30 */, class CharBones & bones /* r31 */, float weight /* f30 */) { // Local variables float w; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032DB3C -> 0x8032DC90 void CharClipDriver::RotateTo(class CharClipDriver * const this /* r30 */, class CharBones & bones /* r31 */, float weight /* f30 */) { // Local variables float w; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032DC90 -> 0x8032DDD0 float CharClipDriver::AlignToFrame(class CharClipDriver * const this /* r31 */) { // Local variables float alignBeat; // f31 float delta; // f30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol enter; // size: 0x4, address: 0x80A50BA4 static class DataNode & instant; // size: 0x4, address: 0x80A50BAC // Range: 0x8032DDD0 -> 0x8032DFB4 void CharClipDriver::PlayEvents(class CharClipDriver * const this /* r31 */, float oldFrame /* f31 */) { // Local variables float frame; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class DataNode & instant; // -> static class Symbol enter; } static class DataNode & dude; // size: 0x4, address: 0x80A50BB4 static class Message h; // size: 0x8, address: 0x8097DE60 // Range: 0x8032DFB4 -> 0x8032E290 void CharClipDriver::ExecuteEvent(class CharClipDriver * const this /* r30 */, class Symbol & handler /* r31 */) { // References // -> static class Message h; // -> struct [anonymous] __vt__7Message; // -> static class DataNode & dude; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } struct { // total size: 0x18 } __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; // size: 0x18, address: 0x808D1CB0 struct { // total size: 0x8 } __RTTI__33ObjOwnerPtr<8CharClip,9ObjectDir>; // size: 0x8, address: 0x808D1CF8 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032E290 -> 0x8032E7D8 */ // Range: 0x8032E290 -> 0x8032E718 void * CharClipDriver::CharClipDriver(class CharClipDriver * const this /* r30 */, class CharClip * clip /* r31 */, int playFlags /* r29 */, class CharClipDriver * next /* r28 */, float startFrame /* f30 */, float deltaStart /* f29 */) { // Local variables const struct CharGraphNode * n; // r0 float offset; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x8032E718 -> 0x8032E78C void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x8032E78C -> 0x8032E794 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8032E794 -> 0x8032E7D8 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\char\CharClipGroup.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8032E7D8 -> 0x80330E44 */ class DataArray * types; // size: 0x4, address: 0x80A50BC0 // Range: 0x8032E7D8 -> 0x8032E870 void * CharClipGroup::CharClipGroup(class CharClipGroup * const this /* r31 */) { // References // -> struct [anonymous] __vt__13CharClipGroup; } // Range: 0x8032E870 -> 0x8032E8D8 class CharClip * CharClipGroup::GetClip() {} // Range: 0x8032E8D8 -> 0x8032E9B4 class CharClip * CharClipGroup::GetClip() { // Local variables int size; // r8 int i; // r9 int i; // r8 } // Range: 0x8032E9B4 -> 0x8032EC20 void CharClipGroup::Replace(class CharClipGroup * const this /* r28 */, class Object * from /* r29 */, class Object * t /* r30 */) { // Local variables int i; // r31 int s; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x8032EC20 -> 0x8032ED00 unsigned char CharClipGroup::FlagUnique(class CharClipGroup * const this /* r27 */, class CharClip * c /* r28 */, int mask /* r29 */) { // Local variables int f; // r31 int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032ED00 -> 0x8032EDE0 int CharClipGroup::NumFlagDuplicates(class CharClipGroup * const this /* r26 */, class CharClip * c /* r27 */, int mask /* r28 */) { // Local variables int ret; // r31 int f; // r30 int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032EDE0 -> 0x8032EE58 void CharClipGroup::DeleteRemaining() { // Local variables class CharClip * deathRow[256]; // r1+0x8 int i; // r8 } // Range: 0x8032EE58 -> 0x8032F0B8 void CharClipGroup::AddClip(class CharClipGroup * const this /* r30 */, class CharClip * c /* r26 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x8032F0B8 -> 0x8032F1D0 void CharClipGroup::RemoveClip(class CharClipGroup * const this /* r29 */, class CharClip * c /* r30 */) { // Local variables class ObjOwnerPtr * it; // r31 } // Range: 0x8032F1D0 -> 0x8032F208 unsigned char CharClipGroup::HasClip() { // Local variables const class ObjOwnerPtr * it; // r6 } // Range: 0x8032F208 -> 0x8032F2E8 class CharClip * CharClipGroup::FindClip(const class CharClipGroup * const this /* r29 */, const char * name /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032F2E8 -> 0x8032F434 void CharClipGroup::Randomize(class CharClipGroup * const this /* r30 */) { // Local variables int i; // r31 int which; // r0 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x8032F434 -> 0x8032F470 void CharClipGroup::Sort(class CharClipGroup * const this /* r4 */) {} struct Alphabetically { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x8032F470 -> 0x8032F570 void CharClipGroup::SetClipFlags(class CharClipGroup * const this /* r29 */, int flags /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032F570 -> 0x8032F730 void CharClipGroup::MakeMRU(class CharClipGroup * const this /* r31 */) { // Local variables int next; // r8 int i; // r27 int i; // r27 } // Range: 0x8032F730 -> 0x8032F7D0 void CharClipGroup::MakeMRU() { // Local variables int i; // r7 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8032F7D0 -> 0x8032F864 void CharClipGroup::Save(class CharClipGroup * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8032F864 -> 0x8032F92C class BinStream & __ls(class BinStream & d /* r30 */, const class ObjOwnerPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static int gRev; // size: 0x4, address: 0x80A50BC8 // Range: 0x8032F92C -> 0x8032FA30 void CharClipGroup::Load(class CharClipGroup * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8032FA30 -> 0x8032FED0 void CharClipGroup::Copy(class CharClipGroup * const this /* r28 */, const class Object * o /* r25 */, enum CopyType type /* r24 */) { // Local variables const class CharClipGroup * g; // r0 int i; // r29 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } static class Symbol _s; // size: 0x4, address: 0x80A50BD0 static class Symbol _s; // size: 0x4, address: 0x80A50BD8 static class Symbol _s; // size: 0x4, address: 0x80A50BE0 static class Symbol _s; // size: 0x4, address: 0x80A50BE8 static class Symbol _s; // size: 0x4, address: 0x80A50BF0 static class Symbol _s; // size: 0x4, address: 0x80A50BF8 static class Symbol _s; // size: 0x4, address: 0x80A50C00 // Range: 0x8032FED0 -> 0x80330888 class DataNode CharClipGroup::Handle(class CharClipGroup * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50C08 static class Symbol _s; // size: 0x4, address: 0x80A50C10 // Range: 0x80330888 -> 0x80330A44 unsigned char CharClipGroup::SyncProperty(class CharClipGroup * const this /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80330A44 -> 0x80330D04 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class ObjOwnerPtr * it; // r31 class ObjOwnerPtr tmp; // r1+0x20 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80330D04 -> 0x80330E44 unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x80 } __vt__13CharClipGroup; // size: 0x80, address: 0x808D1ED0 struct { // total size: 0x8 } __RTTI__P33ObjOwnerPtr<8CharClip,9ObjectDir>; // size: 0x8, address: 0x808D2018 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80330F68 -> 0x803312C8 */ // Range: 0x80330F68 -> 0x80331130 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjOwnerPtr * t; // r26 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x80331130 -> 0x803312C8 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803312C8 -> 0x80331D20 */ // Range: 0x803312C8 -> 0x8033137C void sort(class ObjOwnerPtr * __first /* r29 */, class ObjOwnerPtr * __last /* r30 */, struct Alphabetically & __comp /* r31 */) {} // Range: 0x8033137C -> 0x8033142C void __final_insertion_sort(class ObjOwnerPtr * __first /* r29 */, class ObjOwnerPtr * __last /* r30 */, struct Alphabetically & __comp /* r31 */) {} // Range: 0x8033142C -> 0x803314E4 void __unguarded_insertion_sort_aux(class ObjOwnerPtr * __last /* r29 */, struct Alphabetically & __comp /* r30 */) { // Local variables class ObjOwnerPtr * __i; // r31 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x803314E4 -> 0x803315BC void __unguarded_linear_insert(class ObjOwnerPtr * __last /* r27 */, class ObjOwnerPtr & __val /* r28 */) { // Local variables class ObjOwnerPtr * __next; // r29 } // Range: 0x803315BC -> 0x8033168C void __insertion_sort(class ObjOwnerPtr * __first /* r28 */, class ObjOwnerPtr * __last /* r29 */, struct Alphabetically & __comp /* r30 */) { // Local variables class ObjOwnerPtr * __i; // r31 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x8033168C -> 0x80331818 void __linear_insert(class ObjOwnerPtr * __first /* r29 */, class ObjOwnerPtr * __last /* r30 */, class ObjOwnerPtr & __val /* r31 */, struct Alphabetically & __comp /* r26 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x80331818 -> 0x80331A18 void __introsort_loop(class ObjOwnerPtr * __first /* r27 */, class ObjOwnerPtr * __last /* r28 */, long __depth_limit /* r29 */, struct Alphabetically & __comp /* r30 */) { // Local variables class ObjOwnerPtr * __cut; // r24 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x80331A18 -> 0x80331BAC class ObjOwnerPtr * __unguarded_partition(class ObjOwnerPtr * __first /* r29 */, class ObjOwnerPtr * __last /* r30 */, class ObjOwnerPtr & __pivot /* r31 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x80331BAC -> 0x80331BDC void partial_sort() {} // Range: 0x80331BDC -> 0x80331D20 void __partial_sort(class ObjOwnerPtr * __first /* r30 */, class ObjOwnerPtr * __middle /* r31 */, class ObjOwnerPtr * __last /* r27 */, struct Alphabetically & __comp /* r28 */) { // Local variables class ObjOwnerPtr * __i; // r29 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80331D20 -> 0x80331D50 */ // Range: 0x80331D20 -> 0x80331D38 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80331D38 -> 0x80331D50 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80331D50 -> 0x803321D0 */ // Range: 0x80331D50 -> 0x80331E04 void pop_heap(class ObjOwnerPtr * __first /* r30 */, class ObjOwnerPtr * __last /* r31 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x80331E04 -> 0x80331FB0 void __adjust_heap(class ObjOwnerPtr * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, class ObjOwnerPtr & __val /* r28 */, struct Alphabetically & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } // Range: 0x80331FB0 -> 0x803320D4 void __push_heap(class ObjOwnerPtr * __first /* r28 */, long __holeIndex /* r29 */, long __topIndex /* r30 */, class ObjOwnerPtr & __val /* r31 */) { // Local variables long __parent; // r25 } // Range: 0x803320D4 -> 0x803321D0 void make_heap(class ObjOwnerPtr * __first /* r31 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803321D0 -> 0x803322D4 */ // Range: 0x803321D0 -> 0x803322D4 void __pop_heap(class ObjOwnerPtr * __first /* r26 */, class ObjOwnerPtr * __last /* r27 */, class ObjOwnerPtr * __result /* r28 */, class ObjOwnerPtr & __val /* r29 */, struct Alphabetically & __comp /* r30 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803322D4 -> 0x8033236C */ // Range: 0x803322D4 -> 0x8033236C class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class ObjOwnerPtr * t; // r31 } /* Compile unit: C:\rockband2\system\src\char\CharClipGroup.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033236C -> 0x80332544 */ // Range: 0x8033236C -> 0x803323B0 class Symbol CharClipGroup::ClassName() { // References // -> class Symbol name; } // Range: 0x803323B0 -> 0x80332544 void CharClipGroup::SetType(class CharClipGroup * const this /* r29 */, class Symbol & CharClipGroup /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80332544 -> 0x80333080 */ // Range: 0x80332544 -> 0x803328E4 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P33ObjOwnerPtr<8CharClip,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803328E4 -> 0x8033294C class ObjOwnerPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8033294C -> 0x803329CC void vector::_M_fill_insert() {} // Range: 0x803329CC -> 0x80332C74 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjOwnerPtr * __pos /* r26 */, const class ObjOwnerPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjOwnerPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P33ObjOwnerPtr<8CharClip,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80332C74 -> 0x80332FCC void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjOwnerPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjOwnerPtr & __x /* r29 */) { // Local variables class ObjOwnerPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8CharClip,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharClipSamples.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80333080 -> 0x80334F64 */ class DataArray * types; // size: 0x4, address: 0x80A50C18 class Symbol name; // size: 0x4, address: 0x80A50C20 struct FacingBones mFacingPos; // size: 0x80, address: 0x8097DE80 struct FacingBones mFacingRotAndPos; // size: 0x80, address: 0x8097DF10 // Range: 0x80333080 -> 0x803330DC void CharClipSamples::Init() { // References // -> class Symbol name; } // Range: 0x803330DC -> 0x80333130 void CharClipSamples::ListBones(class CharClipSamples * const this /* r30 */, class list & b /* r31 */) {} // Range: 0x80333130 -> 0x80333190 int CharClipSamples::AllocSize(class CharClipSamples * const this /* r29 */) { // Local variables int graph; // r0 } // Range: 0x80333190 -> 0x803331CC void * FacingBones::FacingBones(struct FacingBones * const this /* r31 */) { // References // -> struct [anonymous] __vt__Q315CharClipSamples9FacingSet11FacingBones; } // Range: 0x803331CC -> 0x80333344 void FacingBones::Set(struct FacingBones * const this /* r31 */, unsigned char rotAndPos /* r29 */) { // Local variables class list bones; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80333344 -> 0x80333350 void FacingBones::ReallocateInternal() {} // Range: 0x80333350 -> 0x8033338C void FacingSet::Init() { // References // -> struct FacingBones mFacingRotAndPos; // -> struct FacingBones mFacingPos; } // Range: 0x8033338C -> 0x803333AC void * FacingSet::FacingSet() {} // Range: 0x803333AC -> 0x80333400 void FacingSet::ListBones(struct FacingSet * const this /* r30 */, class list & b /* r31 */) {} // Range: 0x80333400 -> 0x80333414 void FacingSet::ScaleDown() {} // Range: 0x80333414 -> 0x80333600 void FacingSet::ScaleAdd(struct FacingSet * const this /* r27 */, class CharBonesSamples & full /* r28 */, class CharBones & bones /* r29 */, float weight /* f31 */, int sample /* r30 */, float frac /* f30 */, int lastSample /* r31 */, float lastFrac /* f29 */) { // Local variables class Vector3 curPos; // r1+0x20 float curAng; // r1+0x14 float lastAng; // r1+0x10 } // Range: 0x80333600 -> 0x80333694 void * CharClipSamples::CharClipSamples(class CharClipSamples * const this /* r31 */) { // References // -> struct [anonymous] __vt__15CharClipSamples; } // Range: 0x80333694 -> 0x8033373C void * CharClipSamples::~CharClipSamples(class CharClipSamples * const this /* r29 */) {} // Range: 0x8033373C -> 0x8033376C int CharClipSamples::FrameToSample() {} // Range: 0x8033376C -> 0x80333798 int CharClipSamples::NumSamples() {} // Range: 0x80333798 -> 0x8033399C void CharClipSamples::FreezeBones(class CharClipSamples * const this /* r30 */, const class vector & bones /* r31 */) { // Local variables class vector bs; // r1+0x3C int i; // r29 int index; // r0 } // Range: 0x8033399C -> 0x80333A24 void * CharClipSamples::GetChannel(class CharClipSamples * const this /* r30 */, class Symbol & name /* r31 */) { // Local variables int d; // r0 } // Range: 0x80333A24 -> 0x80333AB8 unsigned char CharClipSamples::EvaluateChannel() { // Local variables int offset; // r7 // References // -> class Debug TheDebug; } // Range: 0x80333AB8 -> 0x80333B18 unsigned char CharClipSamples::EvaluateChannel(class CharClipSamples * const this /* r29 */, void * dst /* r30 */, void * data /* r31 */) { // Local variables float frac; // r1+0x8 int sample; // r0 } // Range: 0x80333B18 -> 0x80333B64 void CharClipSamples::SetWeights(class CharClipSamples * const this /* r31 */, float w /* f31 */) {} // Range: 0x80333B64 -> 0x80333BCC void CharClipSamples::ScaleDown(class CharClipSamples * const this /* r30 */, class CharBones & bones /* r31 */, float scale /* f31 */) {} // Range: 0x80333BCC -> 0x80333C70 void CharClipSamples::RotateBy(class CharClipSamples * const this /* r29 */, class CharBones & bones /* r30 */) { // Local variables float frac; // r1+0x8 int sample; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80333C70 -> 0x80333CF4 void CharClipSamples::RotateTo(class CharClipSamples * const this /* r30 */, class CharBones & bones /* r31 */, float weight /* f31 */) { // Local variables float frac; // r1+0x8 int sample; // r0 } // Range: 0x80333CF4 -> 0x80333DAC void CharClipSamples::ScaleAdd(class CharClipSamples * const this /* r29 */, class CharBones & bones /* r30 */, float weight /* f29 */, float frame /* f30 */, float dframe /* f31 */) { // Local variables float frac; // r1+0xC float lastFrac; // r1+0x8 int sample; // r31 int lastSample; // r0 } // Range: 0x80333DAC -> 0x80333E78 void CharClipSamples::ScaleAdd(class CharClipSamples * const this /* r28 */, class CharBones & bones /* r29 */, float weight /* f29 */, int sample /* r30 */, float frac /* f30 */, int lastSample /* r31 */, float lastFrac /* f31 */) {} // Range: 0x80333E78 -> 0x80333ED4 unsigned char CharClipSamples::BoneWeights(class CharClipSamples * const this /* r30 */) {} // Range: 0x80333ED4 -> 0x80333F94 void CharClipSamples::Relativize(class CharClipSamples * const this /* r30 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80333F94 -> 0x80334058 void CharClipSamples::SetRelative(class CharClipSamples * const this /* r30 */, class CharClip * clip /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x80334058 -> 0x803340AC float CharClipSamples::SamplesPerFrame() { // Local variables float length; // f0 } // Range: 0x803340AC -> 0x80334100 void CharClipSamples::ChangeCompression(class CharClipSamples * const this /* r30 */, enum CompressionType comp /* r31 */) {} // Range: 0x80334100 -> 0x80334108 void CharClipSamples::DecimateKeyframes() {} // Range: 0x80334108 -> 0x803341E4 void CharClipSamples::Print(class CharClipSamples * const this /* r28 */) { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A50C24 // Range: 0x803341E4 -> 0x80334274 void CharClipSamples::Save(class CharClipSamples * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80334274 -> 0x80334470 void CharClipSamples::Load(class CharClipSamples * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class CharBonesSamples delta; // r1+0xC // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80334470 -> 0x803344F8 void CharClipSamples::Copy(class CharClipSamples * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class CharClipSamples * c; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharClipSamples; } static class Symbol _s; // size: 0x4, address: 0x80A50C2C static class Symbol _s; // size: 0x4, address: 0x80A50C34 static class Symbol _s; // size: 0x4, address: 0x80A50C3C // Range: 0x803344F8 -> 0x80334AFC class DataNode CharClipSamples::Handle(class CharClipSamples * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80334AFC -> 0x80334C68 class DataNode CharClipSamples::OnFreezeBones(class CharClipSamples * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables class vector s; // r1+0x2C class DataArray * arr; // r31 int i; // r30 } static class Symbol _s; // size: 0x4, address: 0x80A50C44 static class Symbol _s; // size: 0x4, address: 0x80A50C4C static class Symbol _s; // size: 0x4, address: 0x80A50C54 // Range: 0x80334C68 -> 0x80334E34 unsigned char CharClipSamples::SyncProperty(class CharClipSamples * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xB4 } __vt__15CharClipSamples; // size: 0xB4, address: 0x808D2330 struct { // total size: 0x1C } __vt__Q315CharClipSamples9FacingSet11FacingBones; // size: 0x1C, address: 0x808D2420 struct { // total size: 0x8 } __RTTI__Q315CharClipSamples9FacingSet11FacingBones; // size: 0x8, address: 0x808D2478 // Range: 0x80334E34 -> 0x80334E9C static void __sinit_\CharClipSamples_cpp() { // References // -> struct FacingBones mFacingRotAndPos; // -> struct FacingBones mFacingPos; } /* Compile unit: C:\rockband2\system\src\char\CharClipSamples.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80334F64 -> 0x803351B0 */ // Range: 0x80334F64 -> 0x80334FD8 class Object * CharClipSamples::NewObject() { // References // -> class Symbol name; } // Range: 0x80334FD8 -> 0x8033501C class Symbol CharClipSamples::ClassName() { // References // -> class Symbol name; } // Range: 0x8033501C -> 0x803351B0 void CharClipSamples::SetType(class CharClipSamples * const this /* r29 */, class Symbol & CharClipSamples /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803351B0 -> 0x80335258 */ // Range: 0x803351B0 -> 0x80335258 void FacingSet::Set(struct FacingSet * const this /* r30 */, class CharBonesSamples & full /* r31 */) { // References // -> struct FacingBones mFacingPos; // -> struct FacingBones mFacingRotAndPos; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80335258 -> 0x80335408 */ // Range: 0x80335258 -> 0x803352CC char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, int t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x803352CC -> 0x80335340 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, float t2 /* f31 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\char\CharClipSet.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80335408 -> 0x8033BB1C */ class DataArray * types; // size: 0x4, address: 0x80A50C58 class _List_node : public _List_node_base { // total size: 0xC public: class CharClip * _M_data; // offset 0x8, size 0x4 }; struct AlphaSort { // total size: 0x1 }; // Range: 0x80335408 -> 0x803354D8 void CharClipSet::ResetPreviewState(class CharClipSet * const this /* r31 */) { // References // -> class FilePath sRoot; } // Range: 0x803354D8 -> 0x80335A5C void * CharClipSet::~CharClipSet(class CharClipSet * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8CharBone,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80335A5C -> 0x80335B50 void CharClipSet::AddedObject(class CharClipSet * const this /* r31 */) { // Local variables class CharClip * clip; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x808D25B8 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80335B50 -> 0x80335C8C void CharClipSet::RemovingObject(class CharClipSet * const this /* r30 */, class Object * o /* r31 */) { // Local variables int i; // r7 struct _List_iterator it; // r1+0x24 } // Range: 0x80335C8C -> 0x80335DA8 static void StuffGroups(class CharClip * clip /* r29 */, class CharClipSet * dir /* r30 */, class vector & groups /* r31 */) { // Local variables struct _List_iterator i; // r1+0x20 class Object * o; // r0 class CharClipGroup * group; // r1+0x1C // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x80335DA8 -> 0x80335E60 static unsigned char ClipUnique(class CharClip * c /* r28 */, int mask /* r29 */, class vector & groups /* r30 */) { // Local variables int i; // r31 } class vector : protected _Vector_base { // total size: 0xC }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; // Range: 0x80335E60 -> 0x803363C8 int CharClipSet::DeleteVariants(class CharClipSet * const this /* r21 */, int mask /* r22 */, class CharClipSet * dst /* r23 */, class DataArray * limits /* r24 */) { // Local variables class vector clips; // r1+0xA4 int saved; // r30 class vector groups; // r1+0x98 class map limitMap; // r1+0xB0 int i; // r20 class Symbol name; // r1+0x54 int i; // r29 class CharClip * c; // r28 unsigned char remove; // r27 int flags; // r26 int j; // r25 int numDupes; // r0 class Symbol groupName; // r1+0x50 class DataArray * limitArr; // r19 int limit; // r18 int k; // r17 int j; // r17 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8CharClip; // -> unsigned char gStlAllocNameLookup; } struct ClipSizeSort { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PP8CharClip; // size: 0x8, address: 0x808D2670 class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class CharClipGroup * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class CharClipGroup * * _M_start; // offset 0x0, size 0x4 class CharClipGroup * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 class DataArray * second; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; // Range: 0x803363C8 -> 0x80336734 int CharClipSet::TotalSize(class CharClipSet * const this /* r29 */) { // Local variables int total; // r31 int i; // r30 class ObjDirItr t; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80336734 -> 0x8033685C void CharClipSet::SetLRU(class CharClipSet * const this /* r30 */) { // Local variables int i; // r31 class CharClip * c; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8033685C -> 0x80336890 void CharClipSet::ResetEditorState(class CharClipSet * const this /* r31 */) {} class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharClip * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; struct SortClips { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std31_List_node; // size: 0x8, address: 0x808D2718 class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharClipGroup * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80336890 -> 0x80336B90 void CharClipSet::RandomizeGroups() { // Local variables class ObjDirItr g; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x80336B90 -> 0x80336E90 void CharClipSet::SortGroups() { // Local variables class ObjDirItr g; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x80336E90 -> 0x80337228 void Recenter::Sync(class Recenter * const this /* r30 */) { // Local variables class CharClipSet * clips; // r31 struct _List_iterator it; // r1+0x2C class CharBone * b; // r0 class CharClipSet * clips; // r31 struct _List_iterator it; // r1+0x28 class CharBone * b; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__8CharBone; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } static int gRev; // size: 0x4, address: 0x80A50C60 // Range: 0x80337228 -> 0x8033732C int CharClipSet::TypeVersion(class CharClipSet * const this /* r29 */) { // Local variables int version; // r30 const class DataNode * vp; // r0 // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x8033732C -> 0x80337370 void CharClipSet::PreSave() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80337370 -> 0x803378C0 void CharClipSet::PostSave(class CharClipSet * const this /* r30 */) { // Local variables class list loaders; // r1+0x58 class ObjDirItr l; // r1+0x60 struct _List_iterator l; // r1+0x2C class Object * milo; // r29 // References // -> struct [anonymous] __vt__7Message; // -> class ObjectDir * sMainDir; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std27_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> class LoadMgr TheLoadMgr; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharClipSamples * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x803378C0 -> 0x80337BC0 void CharClipSet::RecenterAll() { // Local variables class ObjDirItr clip; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharClipSamples; } // Range: 0x80337BC0 -> 0x80337EF4 class BinStream & __rs(class BinStream & d /* r29 */, class Recenter & r /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gRev; } // Range: 0x80337EF4 -> 0x80337F54 class BinStream & __ls(class BinStream & d /* r30 */, class Recenter & r /* r31 */) {} // Range: 0x80337F54 -> 0x80337F58 void CharClipSet::Load() {} // Range: 0x80337F58 -> 0x80338150 void CharClipSet::Save(class CharClipSet * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int i; // r29 class CharClip * c; // r28 class CharClipSamples * cs; // r0 // References // -> class FilePath sRoot; // -> struct [anonymous] __RTTI__8CharClip; // -> struct [anonymous] __RTTI__15CharClipSamples; } static class Message filterClips; // size: 0x8, address: 0x8097DFA0 // Range: 0x80338150 -> 0x80338948 void CharClipSet::PostLoad(class CharClipSet * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int blendWidth; // r1+0x68 int playFlags; // r1+0x64 int flags; // r1+0x60 class FilePath dummy; // r1+0x98 class String oldGeomPath; // r1+0x8C int size; // r1+0x5C int i; // r26 class ObjPtr clip; // r1+0x80 int flags; // r1+0x58 int size; // r1+0x54 int size; // r1+0x50 int i; // r26 class Symbol s; // r1+0x4C // References // -> static class Message filterClips; // -> struct [anonymous] __vt__7Message; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> class Debug TheDebug; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static int gRev; // -> class list sRevs; } // Range: 0x80338948 -> 0x80338A60 void CharClipSet::Copy(class CharClipSet * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharClipSet * c; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } // Range: 0x80338A60 -> 0x80338AD0 void CharClipSet::StuffBones(class CharBones & bones /* r30 */) { // Local variables class list bs; // r1+0x18 } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharBone * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80338AD0 -> 0x80338FF0 void CharClipSet::ListBones(class CharClipSet * const this /* r28 */, class list & l /* r29 */, unsigned char includeDelta /* r30 */) { // Local variables class ObjDirItr bone; // r1+0x58 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80338FF0 -> 0x80339010 void CharClipSet::DrawShowing() {} // Range: 0x80339038 -> 0x80339054 float CharClipSet::StartFrame() {} // Range: 0x80339054 -> 0x80339070 float CharClipSet::EndFrame() {} class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharPollable * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80339070 -> 0x803393B0 int CharClipSet::PruneCharBones() { // Local variables int count; // r31 class ObjDirItr bone; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; } // Range: 0x803393B0 -> 0x803399EC void CharClipSet::GrabLoadPose(class CharClipSet * const this /* r27 */) { // Local variables class ObjDirItr bone; // r1+0x30 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } static class Symbol _s; // size: 0x4, address: 0x80A50C68 static class Symbol _s; // size: 0x4, address: 0x80A50C70 static class Symbol _s; // size: 0x4, address: 0x80A50C78 static class Symbol _s; // size: 0x4, address: 0x80A50C80 static class Symbol _s; // size: 0x4, address: 0x80A50C88 static class Symbol _s; // size: 0x4, address: 0x80A50C90 static class Symbol _s; // size: 0x4, address: 0x80A50C98 static class Symbol _s; // size: 0x4, address: 0x80A50CA0 static class Symbol _s; // size: 0x4, address: 0x80A50CA8 static class Symbol _s; // size: 0x4, address: 0x80A50CB0 static class Symbol _s; // size: 0x4, address: 0x80A50CB8 static class Symbol _s; // size: 0x4, address: 0x80A50CC0 // Range: 0x803399EC -> 0x8033A8D0 class DataNode CharClipSet::Handle(class CharClipSet * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x50 class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50CC8 static class Symbol _s; // size: 0x4, address: 0x80A50CD0 static class Symbol _s; // size: 0x4, address: 0x80A50CD8 // Range: 0x8033A8D0 -> 0x8033AAE4 unsigned char PropSync(class Recenter & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8033AAE4 -> 0x8033B19C unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class CharBone * obj; // r31 class CharBone * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A50CE0 static class Symbol _s; // size: 0x4, address: 0x80A50CE8 static class Symbol _s; // size: 0x4, address: 0x80A50CF0 static class Symbol _s; // size: 0x4, address: 0x80A50CF8 static class Symbol _s; // size: 0x4, address: 0x80A50D00 static class Symbol _s; // size: 0x4, address: 0x80A50D08 static class Symbol _s; // size: 0x4, address: 0x80A50D10 static class Symbol _s; // size: 0x4, address: 0x80A50D18 static class Symbol _s; // size: 0x4, address: 0x80A50D20 static class Symbol _s; // size: 0x4, address: 0x80A50D28 static class Symbol _s; // size: 0x4, address: 0x80A50D30 static class Symbol _s; // size: 0x4, address: 0x80A50D38 // Range: 0x8033B19C -> 0x8033B9C0 unsigned char CharClipSet::SyncProperty(class CharClipSet * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8033B9C0 -> 0x8033BB1C unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__13CharNeckTwist; // size: 0x8, address: 0x808D2D08 struct { // total size: 0x8 } __RTTI__14CharUpperTwist; // size: 0x8, address: 0x808D2D48 struct { // total size: 0x174 } __vt__11CharClipSet; // size: 0x174, address: 0x808D2E78 struct { // total size: 0x18 } __vt__32ObjPtrList<8CharBone,9ObjectDir>; // size: 0x18, address: 0x808D3080 struct { // total size: 0x8 } __RTTI__32ObjPtrList<8CharBone,9ObjectDir>; // size: 0x8, address: 0x808D30C8 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PP13CharClipGroup; // size: 0x8, address: 0x808D35D0 struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211CharClipSet7BoneXfm; // size: 0x8, address: 0x808D3618 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std58_Rb_tree_node>; // size: 0x8, address: 0x808D3670 /* Compile unit: C:\rockband2\system\src\char\CharClipFilter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033BB1C -> 0x8033BDE8 */ // Range: 0x8033BB1C -> 0x8033BDE8 void * CharClipSet::CharClipSet(class CharClipSet * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__32ObjPtrList<8CharBone,9ObjectDir>; // -> struct [anonymous] __vt__11CharClipSet; // -> struct [anonymous] __vt__16RndHighlightable; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033BDE8 -> 0x8033C6E4 */ // Range: 0x8033BDE8 -> 0x8033BF98 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8CharBone,9ObjectDir>; } // Range: 0x8033BF98 -> 0x8033C33C class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8033C33C -> 0x8033C4D8 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x8033C4D8 -> 0x8033C6DC void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8033C6DC -> 0x8033C6E4 class Object * ObjPtrList::RefOwner() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033C6E4 -> 0x8033EEBC */ // Range: 0x8033C6E4 -> 0x8033C8F0 class CharClip * CharClipSet::FindClip(class CharClipSet * const this /* r31 */) { // Local variables const class DataNode & node; // r30 class Object * o; // r28 class CharClip * c; // r0 class CharClipGroup * g; // r27 // References // -> struct [anonymous] __RTTI__13CharClipGroup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8033C8F0 -> 0x8033C984 int CharClipSet::Index() { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8033C984 -> 0x8033CA74 void CharClipSet::DeleteFlags(class CharClipSet * const this /* r26 */, int flagMask /* r27 */, int flags /* r28 */, unsigned char equal /* r29 */, int remaining /* r30 */) { // Local variables int count; // r31 class CharClip * deathRow[2048]; // r1+0x18 struct _List_iterator it; // r1+0x10 class CharClip * c; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8033CA74 -> 0x8033D4F8 void CharClipSet::SyncObjects(class CharClipSet * const this /* r30 */) { // Local variables class list transes; // r1+0x90 class ObjDirItr t; // r1+0xAC struct _List_iterator it; // r1+0x7C class Symbol s; // r1+0x78 class CharBone * b; // r0 enum Type t; // r0 class ObjDirItr clip; // r1+0x98 // References // -> class Symbol name; // -> struct [anonymous] __RTTI__14CharClipFilter; // -> struct [anonymous] __RTTI__8CharClip; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__8CharBone; // -> class Symbol name; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x8033D4F8 -> 0x8033D53C void CharClipSet::RegenerateTransitions() { // References // -> class Debug TheDebug; } // Range: 0x8033D53C -> 0x8033D618 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtrList & c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8033D618 -> 0x8033D774 void CharClipSet::PreLoad(class CharClipSet * const this /* r28 */, class BinStream & d /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8033D774 -> 0x8033DDBC void CharClipSet::MergeCharacter(class CharClipSet * const this /* r29 */, const class FilePath & p /* r27 */) { // Local variables class ObjectDir * dude; // r31 class list transes; // r1+0x48 class ObjDirItr bone; // r1+0x68 class RndTransformable * t; // r30 class CharBone * bone; // r27 // References // -> const char * kAssertStr; // -> class Symbol name; // -> struct [anonymous] __RTTI__8CharBone; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x8033DDBC -> 0x8033E030 void CharClipSet::LoadCharacter(class CharClipSet * const this /* r29 */) { // Local variables class Object * milo; // r31 // References // -> struct [anonymous] __vt__7Message; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x8033E030 -> 0x8033E310 class DataNode CharClipSet::OnListClips(class DataNode * ret /* r29 */, class CharClipSet * const this /* r30 */) { // Local variables class list l; // r1+0x58 int i; // r31 class CharClip * c; // r28 int i; // r28 struct _List_iterator it; // r1+0x34 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8033E310 -> 0x8033EB50 void CharClipSet::SetFrame(class CharClipSet * const this /* r27 */, float frame /* f30 */) { // Local variables class CharBonesMeshes bones; // r1+0xD0 class CharBonesMeshes theseBones; // r1+0x38 class RndTransformable * pelvis; // r28 float * facingRot; // r0 class Vector3 * facingPos; // r0 class ObjDirItr t; // r1+0x20 // References // -> struct [anonymous] __RTTI__13CharNeckTwist; // -> struct [anonymous] __RTTI__14CharUpperTwist; // -> struct [anonymous] __RTTI__13CharForeTwist; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharPollable; } // Range: 0x8033EB50 -> 0x8033ED18 void CharClipSet::SetBpm(class CharClipSet * const this /* r30 */, int bpm /* r31 */) { // Local variables class Object * milo; // r29 // References // -> struct [anonymous] __vt__7Message; // -> class ObjectDir * sMainDir; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033EEBC -> 0x8033EF18 */ // Range: 0x8033EEBC -> 0x8033EF14 void * list::~list(class list * const this /* r30 */) {} // Range: 0x8033EF14 -> 0x8033EF18 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033EF8C -> 0x8033EF90 */ // Range: 0x8033EF8C -> 0x8033EF90 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033EF90 -> 0x8033FB8C */ // Range: 0x8033EF90 -> 0x8033F034 void sort(class CharClip * * __first /* r29 */, class CharClip * * __last /* r30 */, struct ClipSizeSort & __comp /* r31 */) {} // Range: 0x8033F034 -> 0x8033F0D4 void __final_insertion_sort(class CharClip * * __first /* r29 */, class CharClip * * __last /* r30 */, struct ClipSizeSort & __comp /* r31 */) {} // Range: 0x8033F0D4 -> 0x8033F13C void __unguarded_insertion_sort_aux(class CharClip * * __last /* r29 */, struct ClipSizeSort & __comp /* r30 */) { // Local variables class CharClip * * __i; // r31 } // Range: 0x8033F13C -> 0x8033F16C void __unguarded_linear_insert() { // Local variables class CharClip * * __next; // r7 } // Range: 0x8033F16C -> 0x8033F224 void __insertion_sort(class CharClip * * __first /* r27 */, class CharClip * * __last /* r28 */, struct ClipSizeSort & __comp /* r29 */) { // Local variables class CharClip * * __i; // r30 } // Range: 0x8033F224 -> 0x8033F35C void __introsort_loop(class CharClip * * __first /* r28 */, class CharClip * * __last /* r29 */, long __depth_limit /* r30 */, struct ClipSizeSort & __comp /* r31 */) { // Local variables class CharClip * * __cut; // r27 } // Range: 0x8033F35C -> 0x8033F410 class CharClip * * __unguarded_partition(class CharClip * * __first /* r29 */, class CharClip * * __last /* r30 */, class CharClip * __pivot /* r31 */) {} // Range: 0x8033F410 -> 0x8033F440 void partial_sort() {} // Range: 0x8033F440 -> 0x8033F520 void __partial_sort(class CharClip * * __first /* r27 */, class CharClip * * __middle /* r28 */, class CharClip * * __last /* r29 */, struct ClipSizeSort & __comp /* r30 */) { // Local variables class CharClip * * __i; // r31 } // Range: 0x8033F520 -> 0x8033F5C4 void sort(class CharClip * * __first /* r29 */, class CharClip * * __last /* r30 */, struct SortClips & __comp /* r31 */) {} // Range: 0x8033F5C4 -> 0x8033F664 void __final_insertion_sort(class CharClip * * __first /* r29 */, class CharClip * * __last /* r30 */, struct SortClips & __comp /* r31 */) {} // Range: 0x8033F664 -> 0x8033F6CC void __unguarded_insertion_sort_aux(class CharClip * * __last /* r29 */, struct SortClips & __comp /* r30 */) { // Local variables class CharClip * * __i; // r31 } // Range: 0x8033F6CC -> 0x8033F744 void __unguarded_linear_insert(class CharClip * * __last /* r29 */, class CharClip * __val /* r30 */) { // Local variables class CharClip * * __next; // r31 } // Range: 0x8033F744 -> 0x8033F80C void __insertion_sort(class CharClip * * __first /* r27 */, class CharClip * * __last /* r28 */, struct SortClips & __comp /* r29 */) { // Local variables class CharClip * * __i; // r30 } // Range: 0x8033F80C -> 0x8033F990 void __introsort_loop(class CharClip * * __first /* r28 */, class CharClip * * __last /* r29 */, long __depth_limit /* r30 */, struct SortClips & __comp /* r31 */) { // Local variables class CharClip * * __cut; // r24 } // Range: 0x8033F990 -> 0x8033FA68 class CharClip * * __unguarded_partition(class CharClip * * __first /* r28 */, class CharClip * * __last /* r29 */, class CharClip * __pivot /* r30 */) {} // Range: 0x8033FA68 -> 0x8033FA98 void partial_sort() {} // Range: 0x8033FA98 -> 0x8033FB8C void __partial_sort(class CharClip * * __first /* r30 */, class CharClip * * __middle /* r31 */, class CharClip * * __last /* r27 */, struct SortClips & __comp /* r28 */) { // Local variables class CharClip * * __i; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033FB8C -> 0x8033FBD4 */ // Range: 0x8033FB8C -> 0x8033FBA4 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8033FBA4 -> 0x8033FBBC struct __true_type _OKToSwap::_Answer() {} // Range: 0x8033FBBC -> 0x8033FBD4 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8033FBD4 -> 0x8033FFA0 */ // Range: 0x8033FBD4 -> 0x8033FC28 void pop_heap(class CharClip * * __last /* r7 */) {} // Range: 0x8033FC28 -> 0x8033FCF8 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r10 } // Range: 0x8033FCF8 -> 0x8033FD90 void make_heap(class CharClip * * __first /* r29 */) {} // Range: 0x8033FD90 -> 0x8033FDE4 void pop_heap(class CharClip * * __last /* r7 */) {} // Range: 0x8033FDE4 -> 0x8033FF08 void __adjust_heap(class CharClip * * __first /* r26 */, long __holeIndex /* r27 */, long __len /* r28 */, class CharClip * __val /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x8033FF08 -> 0x8033FFA0 void make_heap(class CharClip * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034001C -> 0x8034074C */ // Range: 0x8034001C -> 0x8034018C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x8034018C -> 0x803402FC void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x803402FC -> 0x8034046C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharClipSamples; } // Range: 0x8034046C -> 0x803405DC void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharBone; } // Range: 0x803405DC -> 0x8034074C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharPollable; } /* Compile unit: C:\rockband2\system\src\char\CharClipSet.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034074C -> 0x80340924 */ // Range: 0x8034074C -> 0x80340790 class Symbol CharClipSet::ClassName() { // References // -> class Symbol name; } // Range: 0x80340790 -> 0x80340924 void CharClipSet::SetType(class CharClipSet * const this /* r29 */, class Symbol & CharClipSet /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80340924 -> 0x80340E84 */ // Range: 0x80340924 -> 0x80340CD0 void _S_sort(class list & __that /* r28 */, struct AlphaSort & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x80340CD0 -> 0x80340DC4 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x80340DC4 -> 0x80340E24 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80340E24 -> 0x80340E84 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80340E84 -> 0x80341228 */ // Range: 0x80340E84 -> 0x80341228 unsigned char PropSync(class list & l /* r27 */, class DataNode & n /* r31 */, class DataArray * prop /* r30 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables struct _List_iterator it; // r1+0x3C int which; // r3 class Symbol tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80341228 -> 0x803418A8 */ // Range: 0x80341228 -> 0x80341298 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x80341298 -> 0x803413C4 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x803413C4 -> 0x803416C8 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x803416C8 -> 0x803416F4 void _Vector_base::_M_throw_length_error() {} // Range: 0x803416F4 -> 0x803418A8 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std58_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803418A8 -> 0x803427CC */ // Range: 0x803418A8 -> 0x803419E0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class CharClipGroup * * __pos /* r28 */, class CharClipGroup * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class CharClipGroup * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13CharClipGroup; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803419E0 -> 0x80341B28 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class CharClipGroup * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13CharClipGroup; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80341B28 -> 0x80341BA8 void vector::_M_fill_insert() {} // Range: 0x80341BA8 -> 0x80341CE0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class CharClip * * __pos /* r28 */, class CharClip * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class CharClip * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8CharClip; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80341CE0 -> 0x80342130 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BoneXfm * __pos /* r26 */, const struct BoneXfm & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BoneXfm * __new_finish; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211CharClipSet7BoneXfm; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80342130 -> 0x803427CC void vector::_M_fill_insert_aux(class vector * const this /* r25 */, struct BoneXfm * __pos /* r26 */, unsigned long __n /* r31 */, const struct BoneXfm & __x /* r27 */) { // Local variables struct BoneXfm __x_copy; // r1+0x30 unsigned long __elems_after; // r28 struct BoneXfm * __old_finish; // r0 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharClipUtl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803427CC -> 0x803453F8 */ class CharClipUtl { // total size: 0x1 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndTransAnim * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x803427CC -> 0x80342BD0 void CharClipUtl::SetCharClipSamples(class CharClipSamples * clip /* r28 */, int numSamples /* r29 */, float startFrame /* f29 */, float endFrame /* f30 */) { // Local variables class CharClipSet * clips; // r31 int i; // r30 float frame; // f31 class ObjDirItr ta; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Transform * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Transform * _M_start; // offset 0x0, size 0x4 class Transform * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class CharUtlBoneSaver { // total size: 0x10 protected: class ObjectDir * mDir; // offset 0x0, size 0x4 class vector mXfms; // offset 0x4, size 0xC }; // Range: 0x80342BD0 -> 0x8034309C void CharClipUtl::Recenter(class CharClipSamples * clip /* r27 */) { // Local variables class CharClipSet * clips; // r30 class CharUtlBoneSaver boneSaver; // r1+0x60 class CharBonesSamples & full; // r29 class vector offsets; // r1+0x50 class iterator target; // r1+0x3C int i; // r28 class Symbol channel; // r1+0x38 class CharBonesMeshes bones; // r1+0x90 class Vector3 center[2]; // r1+0x70 int i; // r25 int i; // r5 float frac; // f0 class Vector3 tmp; // r1+0x40 int j; // r6 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x8034309C -> 0x803437FC float CharClipUtl::GetCenterAndFacing(class ObjectDir * dir /* r25 */, class Vector3 & pos /* r30 */) { // Local variables float facing; // f31 class RndTransformable * pelvis; // r31 class RndTransformable * ltoe; // r28 class RndTransformable * rtoe; // r27 class RndTransformable * lankle; // r26 class RndTransformable * rankle; // r27 class Vector3 tmp; // r1+0x40 class Vector3 tmp2; // r1+0x30 class Vector3 tmp; // r1+0x20 class Vector3 tmp2; // r1+0x10 float pelvisWeight; // f0 float pelvisFacing; // f4 // References // -> class Debug TheDebug; } // Range: 0x803437FC -> 0x80343954 void CharClipUtl::GetCenter(class CharClipSet * clips /* r29 */, class Vector3 & center /* r30 */) { // Local variables class iterator bone; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80343954 -> 0x8034399C void CharClipUtl::SetKeyFrame(class CharClipSamples * clip /* r30 */, int sample /* r31 */) { // Local variables class CharClipSet * clips; // r0 } // Range: 0x8034399C -> 0x80343A38 static void OneRemove() { // Local variables struct Bone * it; // r6 } class ClipCompressor { // total size: 0xD0 protected: class CharClipSet * mClips; // offset 0x0, size 0x4 float mTolerance; // offset 0x4, size 0x4 class vector mEnds; // offset 0x8, size 0xC class CharBonesMeshes mBones; // offset 0x14, size 0x98 class CharClipSamples * mClip; // offset 0xAC, size 0x4 class vector mSamples; // offset 0xB0, size 0xC class vector mFrames; // offset 0xBC, size 0xC int mSaved; // offset 0xC8, size 0x4 int mTotal; // offset 0xCC, size 0x4 }; // Range: 0x80343A38 -> 0x80343C78 void CharClipUtl::KeyframeCompressClip(class CharClipSamples * c /* r31 */) { // Local variables class CharClipSet * clips; // r28 class ClipCompressor cc; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class StlNodeAlloc { // total size: 0x1 }; struct BoneDesc { // total size: 0x40 class RndTransformable * bone; // offset 0x0, size 0x4 class Vector3 offset; // offset 0x10, size 0x10 float weight; // offset 0x20, size 0x4 protected: class Vector3 pos; // offset 0x30, size 0x10 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BoneDesc * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BoneDesc * _M_start; // offset 0x0, size 0x4 struct BoneDesc * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80343C78 -> 0x8034455C void CharClipUtl::CompressClip(class CharClipSamples * c /* r25 */, enum CompressionType comp /* r26 */) { // Local variables class CharBonesSamples & set; // r30 class vector oneBones; // r1+0xD0 char * start; // r0 int i; // r27 class Symbol bone; // r1+0x68 int sample; // r29 int offset; // r28 const struct Bone * bone; // r27 class Vector3 * p; // r24 const class Vector3 * first; // r3 class Vector3 tmp; // r1+0xC0 class Quat * q; // r23 class Matrix3 m; // r1+0x110 class Matrix3 cur; // r1+0xE0 class Vector3 euler; // r1+0xB0 float * a; // r24 class CharBonesSamples oldFull; // r1+0x140 class vector newFullBones; // r1+0xA0 int i; // r5 struct Bone * it; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29CharBones4Bone; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } class vector : protected _Vector_base { // total size: 0xC }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8034455C -> 0x803453F8 void CharClipUtl::AnalyzeDof(class CharClipSet * clips /* r28 */) { // Local variables class CharBones bones; // r1+0x1E0 class vector quats; // r1+0xF8 int start; // r31 int end; // r30 int i; // r5 class vector poss; // r1+0xEC int i; // r5 class ObjDirItr clip; // r1+0x104 int samples; // r0 int i; // r30 int j; // r29 int j; // r29 class String s; // r1+0xE0 int i; // r29 int i; // r27 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharClipSamples; // -> const char * gNullStr; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class QuatDesc * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class QuatDesc * _M_start; // offset 0x0, size 0x4 class QuatDesc * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class PosDesc * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class PosDesc * _M_start; // offset 0x0, size 0x4 class PosDesc * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class PosDesc { // total size: 0x40 protected: class Symbol channel; // offset 0x0, size 0x4 class Vector3 firstPos; // offset 0x10, size 0x10 class Vector3 maxDelta; // offset 0x20, size 0x10 unsigned char posType; // offset 0x30, size 0x1 }; class QuatDesc { // total size: 0x50 protected: class Symbol channel; // offset 0x0, size 0x4 class Vector3 maxAxis; // offset 0x10, size 0x10 class Vector3 maxDelta; // offset 0x20, size 0x10 class Quat firstQuat; // offset 0x30, size 0x10 enum Type rotType; // offset 0x40, size 0x4 }; struct { // total size: 0x8 } __RTTI__P7PosDesc; // size: 0x8, address: 0x808D3EB0 struct { // total size: 0x8 } __RTTI__P8QuatDesc; // size: 0x8, address: 0x808D3EC8 /* Compile unit: C:\rockband2\system\src\char\CharClipSamples.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803453F8 -> 0x80345D2C */ // Range: 0x803453F8 -> 0x8034546C static unsigned char FacingBone() {} // Range: 0x8034546C -> 0x803456CC void CharClipUtl::CreateClip(class CharClipSamples * clip /* r28 */, int numSamples /* r29 */) { // Local variables class list bones; // r1+0x58 class CharClipSet * clips; // r0 class vector full; // r1+0x6C struct _List_iterator it; // r1+0x40 class vector empty; // r1+0x60 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803456CC -> 0x80345804 void CharClipUtl::FinishClip(class CharClipSamples * clip /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x80345804 -> 0x80345D2C void CharClipUtl::BakeOutClipFacing(class CharClipSamples * clip /* r28 */) { // Local variables unsigned char bakeFacing; // r0 unsigned char bakePos; // r0 class ObjectDir * dude; // r30 class CharUtlBoneSaver boneSaver; // r1+0x40 class CharBonesMeshes bones; // r1+0xD0 class CharBonesSamples & full; // r29 int pelvisPosOffset; // r0 int facingPosOffset; // r0 int facingRotOffset; // r0 int pelvisRotOffset; // r0 class RndTransformable * pelvis; // r0 int i; // r31 float ang; // f30 class Transform pelvis; // r1+0x90 class Transform facing; // r1+0x50 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80345D2C -> 0x80345E9C */ // Range: 0x80345D2C -> 0x80345E9C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80345E9C -> 0x80346038 */ // Range: 0x80345E9C -> 0x80345EFC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, unsigned long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80345EFC -> 0x80345F8C char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r31 */, float t2 /* f29 */, float t3 /* f30 */, float t4 /* f31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x80345F8C -> 0x80346038 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r31 */, float t2 /* f26 */, float t3 /* f27 */, float t4 /* f28 */, float t5 /* f29 */, float t6 /* f30 */, float t7 /* f31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80346038 -> 0x80346F10 */ // Range: 0x80346038 -> 0x803460A8 void vector::_M_fill_insert() {} // Range: 0x803460A8 -> 0x80346128 void vector::_M_fill_insert() {} // Range: 0x80346128 -> 0x803463D4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class PosDesc * __pos /* r26 */, const class PosDesc & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class PosDesc * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7PosDesc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803463D4 -> 0x8034674C void vector::_M_fill_insert_aux() { // Local variables class PosDesc __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class PosDesc * __old_finish; // r0 } // Range: 0x8034674C -> 0x80346A98 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class QuatDesc * __pos /* r26 */, const class QuatDesc & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class QuatDesc * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8QuatDesc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80346A98 -> 0x80346F10 void vector::_M_fill_insert_aux() { // Local variables class QuatDesc __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class QuatDesc * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\char\CharCollide.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80346F10 -> 0x80347F28 */ class DataArray * types; // size: 0x4, address: 0x80A50D40 // Range: 0x80346F10 -> 0x80347004 void * CharCollide::CharCollide(class CharCollide * const this /* r31 */) { // References // -> struct [anonymous] __vt__11CharCollide; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80347004 -> 0x803470B4 void * CharCollide::~CharCollide(class CharCollide * const this /* r30 */) {} static int gRev; // size: 0x4, address: 0x80A50D48 // Range: 0x803470B4 -> 0x803471AC void CharCollide::Save(class CharCollide * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803471AC -> 0x80347328 void CharCollide::Load(class CharCollide * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80347328 -> 0x803473DC void CharCollide::Copy(class CharCollide * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class CharCollide * c; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharCollide; } // Range: 0x803473DC -> 0x803474E8 void CharCollide::ComputeRadius(class CharCollide * const this /* r31 */) { // Local variables class Vector3 offset; // r1+0x10 } // Range: 0x803474E8 -> 0x803474F4 void CharCollide::SyncRadius() {} static class Symbol _s; // size: 0x4, address: 0x80A50D50 // Range: 0x803474F4 -> 0x803479CC class DataNode CharCollide::Handle(class CharCollide * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50D58 static class Symbol _s; // size: 0x4, address: 0x80A50D60 static class Symbol _s; // size: 0x4, address: 0x80A50D68 static class Symbol _s; // size: 0x4, address: 0x80A50D70 static class Symbol _s; // size: 0x4, address: 0x80A50D78 // Range: 0x803479CC -> 0x80347F28 unsigned char CharCollide::SyncProperty(class CharCollide * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x9C } __vt__11CharCollide; // size: 0x9C, address: 0x808D4040 /* Compile unit: C:\rockband2\system\src\char\CharCollide.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80347F28 -> 0x8034829C */ // Range: 0x80347F28 -> 0x803480B4 void CharCollide::Highlight(class CharCollide * const this /* r31 */) { // Local variables class Color col; // r1+0x30 // References // -> class Debug TheDebug; } // Range: 0x803480B4 -> 0x803480F8 class Symbol CharCollide::ClassName() { // References // -> class Symbol name; } // Range: 0x803480F8 -> 0x8034829C void CharCollide::SetType(class CharCollide * const this /* r29 */, class Symbol & CharCollide /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharCuff.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80348364 -> 0x8034AF24 */ class DataArray * types; // size: 0x4, address: 0x80A50D80 // Range: 0x80348364 -> 0x803484F8 void * CharCuff::CharCuff(class CharCuff * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__8CharCuff; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803484F8 -> 0x80348740 void * CharCuff::~CharCuff(class CharCuff * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80348740 -> 0x80348790 float CharCuff::Eccentricity() { // Local variables float s; // f2 float y2; // f3 float x2; // f0 } // Range: 0x80348790 -> 0x80348CDC void CharCuff::Highlight(class CharCuff * const this /* r28 */) { // Local variables class Color col; // r1+0x60 int i; // r30 int j; // r29 float heading; // f31 class Vector3 la; // r1+0x50 class Vector3 lb; // r1+0x40 class Vector3 wa; // r1+0x30 class Vector3 wb; // r1+0x20 float h2; // f28 class Vector3 la; // r1+0x10 float h2; // f28 // References // -> class Rnd & TheRnd; } // Range: 0x80348CDC -> 0x80348DB4 static int BoneMask(class list & bones /* r28 */, class RndMesh * mesh /* r29 */) { // Local variables int mask; // r31 int i; // r30 } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharCuff * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80348DB4 -> 0x803490C4 void CharCuff::DeformAll(class SyncMeshCB * cb /* r31 */) { // Local variables class ObjDirItr cuff; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharCuff; } static int gRev; // size: 0x4, address: 0x80A50D88 // Range: 0x803490C4 -> 0x803491F8 void CharCuff::Save(class CharCuff * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables int i; // r30 } // Range: 0x803491F8 -> 0x803492D4 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtrList & c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803492D4 -> 0x803495BC void CharCuff::Load(class CharCuff * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int i; // r27 // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803495BC -> 0x803499C0 void CharCuff::Copy(class CharCuff * const this /* r29 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class CharCuff * c; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharCuff; } // Range: 0x803499C0 -> 0x80349DB8 class DataNode CharCuff::Handle(class CharCuff * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50D90 static class Symbol _s; // size: 0x4, address: 0x80A50D98 static class Symbol _s; // size: 0x4, address: 0x80A50DA0 static class Symbol _s; // size: 0x4, address: 0x80A50DA8 static class Symbol _s; // size: 0x4, address: 0x80A50DB0 static class Symbol _s; // size: 0x4, address: 0x80A50DB8 static class Symbol _s; // size: 0x4, address: 0x80A50DC0 static class Symbol _s; // size: 0x4, address: 0x80A50DC8 static class Symbol _s; // size: 0x4, address: 0x80A50DD0 static class Symbol _s; // size: 0x4, address: 0x80A50DD8 static class Symbol _s; // size: 0x4, address: 0x80A50DE0 static class Symbol _s; // size: 0x4, address: 0x80A50DE8 // Range: 0x80349DB8 -> 0x8034A86C unsigned char CharCuff::SyncProperty(class CharCuff * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8034A86C -> 0x8034AF24 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class RndMesh * obj; // r31 class RndMesh * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x9C } __vt__8CharCuff; // size: 0x9C, address: 0x808D45AC struct { // total size: 0x8 } __RTTI__8CharCuff; // size: 0x8, address: 0x808D4678 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034AF24 -> 0x8034B2C8 */ // Range: 0x8034AF24 -> 0x8034B2C8 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034B2C8 -> 0x8034B378 */ // Range: 0x8034B2C8 -> 0x8034B320 struct _List_iterator find() {} // Range: 0x8034B320 -> 0x8034B378 struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\char\CharCuff.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034B378 -> 0x8034B64C */ // Range: 0x8034B378 -> 0x8034B464 static void AddBoneChildren(class list & bones /* r30 */, class RndTransformable * trans /* r31 */) { // Local variables struct _List_iterator i; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8034B464 -> 0x8034B4A8 class Symbol CharCuff::ClassName() { // References // -> class Symbol name; } // Range: 0x8034B4A8 -> 0x8034B64C void CharCuff::SetType(class CharCuff * const this /* r29 */, class Symbol & CharCuff /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034B64C -> 0x8034C7C8 */ // Range: 0x8034B64C -> 0x8034BE1C void CharCuff::Deform(class CharCuff * const this /* r29 */, class SyncMeshCB * cb /* r30 */) { // Local variables class list meshes; // r1+0x98 class ObjDirItr cuff; // r1+0xB4 class iterator it; // r1+0x68 struct Category * cat; // r31 class ObjDirItr ol; // r1+0xA0 class list bones; // r1+0x90 class iterator i; // r1+0x64 class RndMesh * mesh; // r1+0x60 int mask; // r28 // References // -> struct [anonymous] __RTTI__7RndMesh; // -> struct [anonymous] __RTTI__12OutfitLoader; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharCuff; // -> class Debug TheDebug; } // Range: 0x8034BE1C -> 0x8034C6D8 void CharCuff::DeformMesh(class CharCuff * const this /* r22 */, class RndMesh * mesh /* r23 */, int boneMask /* r24 */, class SyncMeshCB * cb /* r25 */) { // Local variables float s; // f31 unsigned char changed; // r28 class VertVector & verts; // r0 class Transform w; // r1+0xD0 class Transform inv; // r1+0x90 class Plane p; // r1+0x80 class Vector3 bottom; // r1+0x70 int i; // r29 float d; // f0 class Vector3 center; // r1+0x60 class Vector3 delta; // r1+0x50 float rad2; // f30 float x; // f4 float y; // f2 float allowedRadius; // f29 float frac; // f2 float frac; // f2 int end; // r27 int i; // r26 int j; // r3 float d; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034C7C8 -> 0x8034C938 */ // Range: 0x8034C7C8 -> 0x8034C938 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharCuff; } /* Compile unit: C:\rockband2\system\src\char\CharDriver.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8034C938 -> 0x80351F20 */ class DataArray * types; // size: 0x4, address: 0x80A50DF0 // Range: 0x8034C938 -> 0x8034CAF4 void * CharDriver::CharDriver(class CharDriver * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; // -> struct [anonymous] __vt__10CharDriver; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8034CAF4 -> 0x8034CEE4 void * CharDriver::~CharDriver(class CharDriver * const this /* r30 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__10CharDriver; } // Range: 0x8034CEE4 -> 0x8034CEF4 void CharDriver::Highlight() {} // Range: 0x8034CEF4 -> 0x8034CF80 void CharDriver::Enter(class CharDriver * const this /* r31 */) {} // Range: 0x8034CF80 -> 0x8034CFFC void CharDriver::Exit(class CharDriver * const this /* r31 */) {} // Range: 0x8034CFFC -> 0x8034D03C void CharDriver::Clear(class CharDriver * const this /* r31 */) {} // Range: 0x8034D03C -> 0x8034D2F0 void CharDriver::SetClips(class CharDriver * const this /* r31 */, class ObjDirPtr & c /* r25 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; } // Range: 0x8034D2F0 -> 0x8034D370 void CharDriver::SetBones(class CharDriver * const this /* r30 */, class CharBonesObject * bones /* r31 */) {} // Range: 0x8034D370 -> 0x8034D388 void CharDriver::SetApply() {} // Range: 0x8034D388 -> 0x8034D59C void CharDriver::SyncBones(class CharDriver * const this /* r31 */) { // References // -> struct [anonymous] __vt__14CharBonesAlloc; // -> struct [anonymous] __vt__15CharBonesObject; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8034D59C -> 0x8034D5D8 unsigned char CharDriver::Starved() {} // Range: 0x8034D5D8 -> 0x8034D6DC class CharClipDriver * CharDriver::Play(class CharDriver * const this /* r29 */, class CharClip * c /* r30 */, int playFlags /* r31 */, float startFrame /* f30 */, float deltaStart /* f31 */) {} // Range: 0x8034D6DC -> 0x8034D764 class CharClipDriver * CharDriver::Play(class CharDriver * const this /* r29 */, const class DataNode & n /* r30 */, int playFlags /* r31 */, float startFrame /* f30 */, float deltaStart /* f31 */) {} // Range: 0x8034D764 -> 0x8034D8A4 class CharClipDriver * CharDriver::PlayGroup(class CharDriver * const this /* r27 */, const char * groupName /* r28 */, int playFlags /* r29 */, float startFrame /* f30 */, float deltaStart /* f31 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct FindRestrictLength { // total size: 0xC float mLength; // offset 0x0, size 0x4 int mSafeFlags; // offset 0x4, size 0x4 const class DataNode & mNode; // offset 0x8, size 0x4 }; // Range: 0x8034D8A4 -> 0x8034DB54 class CharClipDriver * CharDriver::PlayIfSafe(class CharDriver * const this /* r29 */, const class DataNode & n /* r30 */, int playFlags /* r31 */, int safeFlags /* r26 */, float length /* f31 */) { // Local variables class CharClipDriver * d; // r0 struct FindRestrictLength match; // r1+0x44 class String s; // r1+0x38 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8034DB54 -> 0x8034DBA8 void CharDriver::ExitUnplaying(class CharDriver * const this /* r31 */) {} // Range: 0x8034DBA8 -> 0x8034DBB4 void CharDriver::SetStarved() {} // Range: 0x8034DBB4 -> 0x8034DC4C void CharDriver::SetBeatScale(class CharDriver * const this /* r31 */, float newScale /* f31 */) { // Local variables class CharClipDriver * fp; // r3 float invScale; // f1 class CharClipDriver * cd; // r6 } // Range: 0x8034DC4C -> 0x8034DD64 float CharDriver::EvaluateFlags(int flags /* r30 */) { // Local variables float weight; // f30 float flagWeight; // f29 class CharClipDriver * cd; // r31 float w; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8034DD64 -> 0x8034DD88 class CharClipDriver * CharDriver::Last() { // Local variables class CharClipDriver * cd; // r3 } // Range: 0x8034DD88 -> 0x8034DDAC class CharClipDriver * CharDriver::Before() { // Local variables class CharClipDriver * cd; // r3 } // Range: 0x8034DDAC -> 0x8034DDD4 class CharClipDriver * CharDriver::FirstPlaying() { // Local variables class CharClipDriver * cd; // r3 } // Range: 0x8034DDD4 -> 0x8034DF00 class CharClipDriver * CharDriver::MostPlaying() { // Local variables float maxWeight; // f30 class CharClipDriver * best; // r31 float weight; // f29 class CharClipDriver * cd; // r30 float w; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8034DF00 -> 0x8034DF18 static class CharClip * ClipOf() {} // Range: 0x8034DF18 -> 0x8034DF20 class CharClip * CharDriver::FirstClip() {} // Range: 0x8034DF20 -> 0x8034DF44 class CharClip * CharDriver::LastClip() {} // Range: 0x8034DF44 -> 0x8034DF68 class CharClip * CharDriver::FirstPlayingClip() {} // Range: 0x8034DF68 -> 0x8034DFB0 void CharDriver::Offset(class CharDriver * const this /* r31 */) {} // Range: 0x8034DFB0 -> 0x8034E030 void CharDriver::PollDeps() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8034E030 -> 0x8034E084 void CharDriver::Replace(class CharDriver * const this /* r30 */, class Object * from /* r31 */) {} // Range: 0x8034E084 -> 0x8034E0E0 void CharDriver::Load(class CharDriver * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A50DF8 static class FilePath sClipsPath; // size: 0xC, address: 0x8097DFB4 static class Message msg; // size: 0x8, address: 0x8097DFD0 // Range: 0x8034E0E0 -> 0x8034ED68 void CharDriver::PreLoad(class CharDriver * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int tmp; // r1+0x18 class ObjPtr p; // r1+0x3C // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __vt__32ObjPtr<11CharClipSet,9ObjectDir>; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> static class FilePath sClipsPath; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8034ED68 -> 0x8034F008 void CharDriver::PostLoad(class CharDriver * const this /* r31 */, class BinStream & d /* r25 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> static int gRev; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; } // Range: 0x8034F008 -> 0x8034F350 void CharDriver::Copy(class CharDriver * const this /* r31 */, const class Object * o /* r25 */, enum CopyType type /* r24 */) { // Local variables const class CharDriver * d; // r0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharDriver; } static class Symbol _s; // size: 0x4, address: 0x80A50E00 static class Symbol _s; // size: 0x4, address: 0x80A50E08 static class Symbol _s; // size: 0x4, address: 0x80A50E10 static class Symbol _s; // size: 0x4, address: 0x80A50E18 static class Symbol _s; // size: 0x4, address: 0x80A50E20 static class Symbol _s; // size: 0x4, address: 0x80A50E28 static class Symbol _s; // size: 0x4, address: 0x80A50E30 static class Symbol _s; // size: 0x4, address: 0x80A50E38 static class Symbol _s; // size: 0x4, address: 0x80A50E40 static class Symbol _s; // size: 0x4, address: 0x80A50E48 static class Symbol _s; // size: 0x4, address: 0x80A50E50 static class Symbol _s; // size: 0x4, address: 0x80A50E58 static class Symbol _s; // size: 0x4, address: 0x80A50E60 static class Symbol _s; // size: 0x4, address: 0x80A50E68 static class Symbol _s; // size: 0x4, address: 0x80A50E70 static class Symbol _s; // size: 0x4, address: 0x80A50E78 // Range: 0x8034F350 -> 0x8034FD24 class DataNode CharDriver::Handle(class CharDriver * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class FilePath sClipsPath; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8034FD24 -> 0x803508E8 class DataNode CharDriver::OnLoadClips(class CharDriver * const this /* r30 */, const class DataArray * msg /* r24 */) { // Local variables unsigned char async; // r0 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x803508E8 -> 0x803509D0 class DataNode CharDriver::OnPlay(class CharDriver * const this /* r29 */, const class DataArray * msg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803509D0 -> 0x80350A94 class DataNode CharDriver::OnPlayIfSafe(class CharDriver * const this /* r28 */, const class DataArray * msg /* r29 */) {} // Range: 0x80350A94 -> 0x80350B84 class DataNode CharDriver::OnPlayGroup(class CharDriver * const this /* r29 */, const class DataArray * msg /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80350B84 -> 0x80350D5C class DataNode CharDriver::OnPlayGroupFlags(class CharDriver * const this /* r27 */, const class DataArray * msg /* r28 */) { // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80350D5C -> 0x80350DAC class DataNode CharDriver::OnGetFirstPlayingFlags() { // Local variables class CharClip * clip; // r0 } // Range: 0x80350DAC -> 0x80350DFC class DataNode CharDriver::OnGetFirstFlags() { // Local variables class CharClip * clip; // r0 } // Range: 0x80350DFC -> 0x80350EAC class DataNode CharDriver::OnPrint(class CharDriver * const this /* r31 */) { // Local variables class CharClipDriver * cd; // r31 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A50E80 static class Symbol _s; // size: 0x4, address: 0x80A50E88 static class Symbol _s; // size: 0x4, address: 0x80A50E90 static class Symbol _s; // size: 0x4, address: 0x80A50E98 static class Symbol _s; // size: 0x4, address: 0x80A50EA0 static class Symbol _s; // size: 0x4, address: 0x80A50EA8 static class Symbol _s; // size: 0x4, address: 0x80A50EB0 // Range: 0x80350EAC -> 0x80351D68 unsigned char CharDriver::SyncProperty(class CharDriver * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> class FilePath sNull; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11CharClipSet; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__24ObjDirPtr<11CharClipSet>; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharBonesObject; // -> static class Symbol _s; } struct { // total size: 0xF8 } __vt__10CharDriver; // size: 0xF8, address: 0x808D4E60 struct { // total size: 0x18 } __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // size: 0x18, address: 0x808D5068 struct { // total size: 0x8 } __RTTI__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // size: 0x8, address: 0x808D50B8 // Range: 0x80351D68 -> 0x80351DBC static void __sinit_\CharDriver_cpp() { // References // -> struct [anonymous] __vt__8FilePath; // -> static class FilePath sClipsPath; } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80351F20 -> 0x80352064 */ // Range: 0x80351FC4 -> 0x80352014 class CharDriver * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharDriver; } // Range: 0x80352014 -> 0x80352064 class CharClipSet * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80352064 -> 0x80352124 */ // Range: 0x80352064 -> 0x803520D8 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; } // Range: 0x803520D8 -> 0x803520E0 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x803520E0 -> 0x80352124 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\char\CharDriver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80352124 -> 0x80352A94 */ // Range: 0x80352124 -> 0x803521F8 void CharDriver::Transfer(class CharDriver * const this /* r30 */, const class CharDriver & cd /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803521F8 -> 0x803523A0 class CharClip * CharDriver::FindClip(class CharDriver * const this /* r28 */, const class DataNode & n /* r29 */, unsigned char fail /* r31 */) { // Local variables class CharClip * c; // r30 class String s; // r1+0x14 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x803523A0 -> 0x803528BC void CharDriver::Poll(class CharDriver * const this /* r30 */) { // Local variables float beat; // f29 float dbeat; // f31 const class SongPos & s; // r0 class CharClipDriver * fp; // r29 int firstAlign; // r0 int align; // r28 class CharClipDriver * cd; // r3 int beatDiff; // r3 class CharClipDriver * cd; // r4 int flags; // r1+0x10 float weight; // f30 float w; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> class TaskMgr TheTaskMgr; } // Range: 0x803528BC -> 0x80352900 class Symbol CharDriver::ClassName() { // References // -> class Symbol name; } // Range: 0x80352900 -> 0x80352A94 void CharDriver::SetType(class CharDriver * const this /* r29 */, class Symbol & CharDriver /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80352A94 -> 0x80352B68 */ // Range: 0x80352A94 -> 0x80352B08 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, class String & t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80352B08 -> 0x80352B68 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r31 */, float t2 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80352B68 -> 0x80352D18 */ // Range: 0x80352B68 -> 0x80352D18 void CharDriver::Save(class CharDriver * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class FilePath sRoot; // -> class FilePath sNull; } /* Compile unit: C:\rockband2\system\src\utl\FilePath.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80352D18 -> 0x80352D2C */ // Range: 0x80352D18 -> 0x80352D2C void FilePath::__as() { // References // -> class FilePath sRoot; } /* Compile unit: C:\rockband2\system\src\char\CharWeightable.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80352D2C -> 0x80352D34 */ // Range: 0x80352D2C -> 0x80352D34 void CharWeightable::SetWeight() {} /* Compile unit: C:\rockband2\system\src\char\CharDriverMidi.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80352D34 -> 0x80353C54 */ class DataArray * types; // size: 0x4, address: 0x80A50EB8 // Range: 0x80352D34 -> 0x80352DF4 void CharDriverMidi::Enter(class CharDriverMidi * const this /* r31 */) { // Local variables class MsgSource * midiParser; // r3 // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MsgSource; } // Range: 0x80352DF4 -> 0x80352E74 void CharDriverMidi::Exit(class CharDriverMidi * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MsgSource; // -> class ObjectDir * sMainDir; } // Range: 0x80352E74 -> 0x80352E78 void CharDriverMidi::Poll() {} // Range: 0x80352E78 -> 0x80352E7C void CharDriverMidi::PollDeps() {} // Range: 0x80352E7C -> 0x80352EEC void CharDriverMidi::Save(class CharDriverMidi * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A50EC0 // Range: 0x80352EEC -> 0x80352F48 void CharDriverMidi::Load(class CharDriverMidi * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80352F48 -> 0x80353060 void CharDriverMidi::PreLoad(class CharDriverMidi * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80353060 -> 0x803531D4 void CharDriverMidi::PostLoad(class CharDriverMidi * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class ObjPtr inactiveClip; // r1+0x20 class String msgSource; // r1+0x14 // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> static int gRev; // -> class list sRevs; } // Range: 0x803531D4 -> 0x8035328C void CharDriverMidi::Copy(class CharDriverMidi * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharDriverMidi * d; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharDriverMidi; } static class Symbol _s; // size: 0x4, address: 0x80A50EC8 static class Symbol _s; // size: 0x4, address: 0x80A50ED0 // Range: 0x8035328C -> 0x803537FC class DataNode CharDriverMidi::Handle(class CharDriverMidi * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x803537FC -> 0x80353938 class DataNode CharDriverMidi::OnSetInactiveClipName(class CharDriverMidi * const this /* r30 */, class DataArray * d /* r31 */) { // Local variables class CharClip * pClip; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80353938 -> 0x80353A70 class DataNode CharDriverMidi::OnMidiParser(class CharDriverMidi * const this /* r29 */, class DataArray * d /* r30 */) { // Local variables float blendWidth; // f31 } static class Symbol _s; // size: 0x4, address: 0x80A50ED8 static class Symbol _s; // size: 0x4, address: 0x80A50EE0 // Range: 0x80353A70 -> 0x80353C54 unsigned char CharDriverMidi::SyncProperty(class CharDriverMidi * const this /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xF8 } __vt__14CharDriverMidi; // size: 0xF8, address: 0x808D57F8 struct { // total size: 0x8 } __RTTI__14CharDriverMidi; // size: 0x8, address: 0x808D5940 /* Compile unit: C:\rockband2\system\src\char\CharDriverMidi.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80353C54 -> 0x80353F00 */ // Range: 0x80353C54 -> 0x80353D28 void * CharDriverMidi::CharDriverMidi(class CharDriverMidi * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__14CharDriverMidi; } // Range: 0x80353D28 -> 0x80353D6C class Symbol CharDriverMidi::ClassName() { // References // -> class Symbol name; } // Range: 0x80353D6C -> 0x80353F00 void CharDriverMidi::SetType(class CharDriverMidi * const this /* r29 */, class Symbol & CharDriverMidi /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharEyes.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80354110 -> 0x80357E4C */ class DataArray * types; // size: 0x4, address: 0x80A50EE8 static float kMaxEyeAng; // size: 0x4, address: 0x80A56CE0 static float kMaxLook; // size: 0x4, address: 0x80A56CE4 static float kMinLook; // size: 0x4, address: 0x80A56CE8 // Range: 0x80354110 -> 0x8035418C void * EyeDesc::EyeDesc() { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; } // Range: 0x8035418C -> 0x8035425C void * EyeDesc::EyeDesc(struct EyeDesc * const this /* r30 */, const struct EyeDesc & d /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; } // Range: 0x8035425C -> 0x80354360 struct EyeDesc & EyeDesc::__as(struct EyeDesc * const this /* r29 */, const struct EyeDesc & d /* r30 */) {} // Range: 0x80354360 -> 0x80354550 void * CharEyes::CharEyes(class CharEyes * const this /* r31 */) { // References // -> static float kMaxEyeAng; // -> struct [anonymous] __vt__37ObjPtr<16CharWeightSetter,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13CharFaceServo,9ObjectDir>; // -> struct [anonymous] __vt__8CharEyes; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80354550 -> 0x80354878 void * CharEyes::~CharEyes(class CharEyes * const this /* r30 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13CharFaceServo,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16CharWeightSetter,9ObjectDir>; } // Range: 0x80354878 -> 0x80354974 void CharEyes::Enter(class CharEyes * const this /* r30 */) { // Local variables class RndTransformable * head; // r31 struct EyeDesc * it; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80354974 -> 0x80354AFC void CharEyes::Exit(class CharEyes * const this /* r31 */) { // Local variables struct EyeDesc * it; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Drawable * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Drawable * * _M_start; // offset 0x0, size 0x4 class Drawable * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class RndGraph { // total size: 0x18 protected: unsigned char mEnable; // offset 0x0, size 0x1 unsigned char mDrawFixedZ; // offset 0x1, size 0x1 float mZ; // offset 0x4, size 0x4 void * mId; // offset 0x8, size 0x4 class vector mStuff; // offset 0xC, size 0xC }; // Range: 0x80354AFC -> 0x80354D64 void CharEyes::Highlight(class CharEyes * const this /* r31 */) { // Local variables class RndGraph * g; // r29 class RndTransformable * eye; // r30 struct EyeDesc * it; // r28 class Vector3 d; // r1+0x50 struct Interest * it; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80354D64 -> 0x80355480 void CharEyes::Poll(class CharEyes * const this /* r31 */) { // Local variables class RndTransformable * h; // r29 float camWeight; // f29 float blinkWeight; // f0 unsigned char blink; // r30 class Vector3 delta; // r1+0x10 float cang; // f0 float sec; // f0 float d; // f0 class RndTransformable * dest; // r29 float weight; // f0 class RndCam * srcCam; // r30 class Transform t; // r1+0x60 class Transform t; // r1+0x20 struct EyeDesc * it; // r29 float height; // f29 // References // -> class Rnd & TheRnd; // -> class RndCam * sCurrent; // -> class WorldDir * TheWorld; // -> static float kMinLook; // -> static float kMaxLook; // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80355480 -> 0x803554FC class RndTransformable * CharEyes::GetDest() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803554FC -> 0x8035559C class RndTransformable * CharEyes::GetHead() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8035559C -> 0x80355A74 void CharEyes::NextLook(class CharEyes * const this /* r31 */) { // Local variables class Vector3 facing; // r1+0x60 class Vector3 delta; // r1+0x50 float d; // f0 float tanang; // f0 class RndTransformable * d; // r29 float h; // f1 float scale; // f1 class Vector3 delta; // r1+0x40 struct Interest * it; // r28 class Vector3 b; // r1+0x30 float dist; // f0 class Vector3 c; // r1+0x20 float d2; // f0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static float kMaxEyeAng; } // Range: 0x80355A74 -> 0x80355DCC void CharEyes::Replace(class CharEyes * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Interest * it; // r31 struct EyeDesc * it; // r31 // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__10CharLookAt; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80355DCC -> 0x80355E84 void CharEyes::ListPollChildren(const class CharEyes * const this /* r28 */, class list & l /* r29 */) { // Local variables const struct EyeDesc * it; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node; // size: 0x8, address: 0x808D5C18 // Range: 0x80355E84 -> 0x80356030 void CharEyes::PollDeps(class CharEyes * const this /* r29 */, class list & changedBy /* r30 */, class list & change /* r31 */) { // Local variables struct Interest * it; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80356030 -> 0x80356084 void __ls(class BinStream & d /* r30 */, const struct Interest & interest /* r31 */) {} // Range: 0x80356084 -> 0x803560D8 class BinStream & __ls(class BinStream & d /* r30 */, const struct EyeDesc & desc /* r31 */) {} // Range: 0x803560D8 -> 0x8035616C void CharEyes::Save(class CharEyes * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A50EF0 // Range: 0x8035616C -> 0x803561B8 void __rs(class BinStream & d /* r30 */, struct Interest & interest /* r31 */) {} // Range: 0x803561B8 -> 0x80356218 class BinStream & __rs(class BinStream & d /* r30 */, struct EyeDesc & desc /* r31 */) { // References // -> static int gRev; } struct Node { // total size: 0xC class CharLookAt * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x80356218 -> 0x80356954 void CharEyes::Load(class CharEyes * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables class ObjPtrList eyes; // r1+0x4C int i; // r30 class iterator it; // r1+0x3C class ObjPtr rightLid; // r1+0x40 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtrList<10CharLookAt,9ObjectDir>; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80356954 -> 0x80356E24 void CharEyes::Copy(class CharEyes * const this /* r28 */, const class Object * o /* r26 */, enum CopyType type /* r25 */) { // Local variables const class CharEyes * e; // r0 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharEyes; } static class Symbol _s; // size: 0x4, address: 0x80A50EF8 // Range: 0x80356E24 -> 0x80357240 class DataNode CharEyes::Handle(class CharEyes * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80357240 -> 0x80357558 class DataNode CharEyes::OnAddInterest(class CharEyes * const this /* r30 */, class DataArray * msg /* r25 */) { // Local variables struct Interest interest; // r1+0x28 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } static class Symbol _s; // size: 0x4, address: 0x80A50F00 static class Symbol _s; // size: 0x4, address: 0x80A50F08 static class Symbol _s; // size: 0x4, address: 0x80A50F10 // Range: 0x80357558 -> 0x803576B8 unsigned char PropSync(struct EyeDesc & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x803576B8 -> 0x803577F8 unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharLookAt; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A50F18 static class Symbol _s; // size: 0x4, address: 0x80A50F20 // Range: 0x803577F8 -> 0x803579B0 unsigned char PropSync(struct Interest & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A50F28 static class Symbol _s; // size: 0x4, address: 0x80A50F30 static class Symbol _s; // size: 0x4, address: 0x80A50F38 static class Symbol _s; // size: 0x4, address: 0x80A50F40 // Range: 0x803579B0 -> 0x80357B70 unsigned char CharEyes::SyncProperty(class CharEyes * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80357B70 -> 0x80357E4C unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables struct Interest * it; // r31 struct Interest tmp; // r1+0x20 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x18 } __vt__35ObjPtrList<10CharLookAt,9ObjectDir>; // size: 0x18, address: 0x808D5D78 struct { // total size: 0x8 } __RTTI__35ObjPtrList<10CharLookAt,9ObjectDir>; // size: 0x8, address: 0x808D5DC0 struct { // total size: 0xF4 } __vt__8CharEyes; // size: 0xF4, address: 0x808D5DC8 struct { // total size: 0x8 } __RTTI__8CharEyes; // size: 0x8, address: 0x808D5F00 struct { // total size: 0x18 } __vt__34ObjPtr<13CharFaceServo,9ObjectDir>; // size: 0x18, address: 0x808D5F08 struct { // total size: 0x8 } __RTTI__34ObjPtr<13CharFaceServo,9ObjectDir>; // size: 0x8, address: 0x808D5F50 struct { // total size: 0x18 } __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // size: 0x18, address: 0x808D5F58 struct { // total size: 0x8 } __RTTI__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // size: 0x8, address: 0x808D5FA0 struct { // total size: 0x8 } __RTTI__13CharFaceServo; // size: 0x8, address: 0x808D6000 struct { // total size: 0x8 } __RTTI__10CharLookAt; // size: 0x8, address: 0x808D6090 struct { // total size: 0x8 } __RTTI__16CharWeightSetter; // size: 0x8, address: 0x808D60D8 struct { // total size: 0x18 } __vt__37ObjPtr<16CharWeightSetter,9ObjectDir>; // size: 0x18, address: 0x808D60E0 struct { // total size: 0x8 } __RTTI__37ObjPtr<16CharWeightSetter,9ObjectDir>; // size: 0x8, address: 0x808D6128 class _List_node : public _List_node_base { // total size: 0xC public: class RndPollable * _M_data; // offset 0x8, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ28CharEyes7EyeDesc; // size: 0x8, address: 0x808D6528 struct { // total size: 0x8 } __RTTI__PQ28CharEyes8Interest; // size: 0x8, address: 0x808D6548 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80357E4C -> 0x80359380 */ // Range: 0x80357E4C -> 0x80357EC0 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; } // Range: 0x80357EC0 -> 0x80357F34 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13CharFaceServo,9ObjectDir>; } // Range: 0x80357F34 -> 0x80357FA8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16CharWeightSetter,9ObjectDir>; } // Range: 0x80357FA8 -> 0x80358070 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjOwnerPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80358070 -> 0x80358104 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80358104 -> 0x80358198 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80358198 -> 0x80358330 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharLookAt; } // Range: 0x80358330 -> 0x803584CC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16CharWeightSetter; } // Range: 0x803584CC -> 0x80358668 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharFaceServo; } // Range: 0x80358668 -> 0x80358850 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct Interest * t; // r26 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80358850 -> 0x80358BEC class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharLookAt; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80358BEC -> 0x80358E2C class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct EyeDesc * t; // r27 // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80358E2C -> 0x80358FD8 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__35ObjPtrList<10CharLookAt,9ObjectDir>; } // Range: 0x80358FD8 -> 0x803591D4 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharLookAt; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803591D4 -> 0x803591DC class Object * ObjPtrList::RefOwner() {} // Range: 0x803591DC -> 0x803591E4 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x803591E4 -> 0x80359228 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } // Range: 0x80359228 -> 0x80359230 class Object * ObjPtr::RefOwner() {} // Range: 0x80359230 -> 0x803592D4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharFaceServo; } // Range: 0x803592D4 -> 0x803592DC class Object * ObjPtr::RefOwner() {} // Range: 0x803592DC -> 0x80359380 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16CharWeightSetter; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80359380 -> 0x803594A0 */ // Range: 0x80359380 -> 0x80359408 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct Interest * t; // r31 } // Range: 0x80359408 -> 0x803594A0 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct EyeDesc * t; // r31 } /* Compile unit: C:\rockband2\system\src\char\CharEyes.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803594A0 -> 0x80359678 */ // Range: 0x803594A0 -> 0x803594E4 class Symbol CharEyes::ClassName() { // References // -> class Symbol name; } // Range: 0x803594E4 -> 0x80359678 void CharEyes::SetType(class CharEyes * const this /* r29 */, class Symbol & CharEyes /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80359678 -> 0x80359CB8 */ // Range: 0x80359678 -> 0x803597D4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16CharWeightSetter; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803597D4 -> 0x80359930 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharFaceServo; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80359930 -> 0x80359CB8 unsigned char PropSync(class ObjVector & v /* r30 */, class DataNode & n /* r31 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r29 */) { // Local variables struct EyeDesc * it; // r28 struct EyeDesc tmp; // r1+0x20 // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80359CB8 -> 0x8035B2D4 */ // Range: 0x80359CB8 -> 0x8035A078 class vector & vector::__as(class vector * const this /* r27 */, const class vector & __x /* r31 */) { // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharEyes8Interest; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8035A078 -> 0x8035A0D0 struct Interest * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8035A0D0 -> 0x8035A140 void vector::_M_fill_insert() {} // Range: 0x8035A140 -> 0x8035A51C class vector & vector::__as(class vector * const this /* r27 */, const class vector & __x /* r31 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharEyes7EyeDesc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8035A51C -> 0x8035A584 struct EyeDesc * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8035A584 -> 0x8035A604 void vector::_M_fill_insert() {} // Range: 0x8035A604 -> 0x8035A8DC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Interest * __pos /* r26 */, const struct Interest & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Interest * __new_finish; // r29 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharEyes8Interest; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8035A8DC -> 0x8035AC78 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, struct Interest * __pos /* r27 */, unsigned long __n /* r28 */, const struct Interest & __x /* r29 */) { // Local variables struct Interest __x_copy; // r1+0x20 unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8035AC78 -> 0x8035AF04 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct EyeDesc * __pos /* r26 */, const struct EyeDesc & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct EyeDesc * __new_finish; // r29 // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharEyes7EyeDesc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8035AF04 -> 0x8035B190 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, struct EyeDesc * __pos /* r27 */, unsigned long __n /* r28 */, const struct EyeDesc & __x /* r29 */) { // Local variables struct EyeDesc __x_copy; // r1+0x1C unsigned long __elems_after; // r30 struct EyeDesc * __old_finish; // r0 // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10CharLookAt,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharFaceServo.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8035B2D4 -> 0x8035BF08 */ class DataArray * types; // size: 0x4, address: 0x80A50F48 // Range: 0x8035B2D4 -> 0x8035B444 void * CharFaceServo::CharFaceServo(class CharFaceServo * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11CharClipSet,9ObjectDir>; // -> struct [anonymous] __vt__13CharFaceServo; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8035B444 -> 0x8035B56C void * CharFaceServo::~CharFaceServo(class CharFaceServo * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11CharClipSet,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; } // Range: 0x8035B56C -> 0x8035B5A0 void CharFaceServo::Enter(class CharFaceServo * const this /* r31 */) {} // Range: 0x8035B5A0 -> 0x8035B5A8 void CharFaceServo::ReallocateInternal() {} static class Timer * _t; // size: 0x4, address: 0x80A50F50 // Range: 0x8035B5A8 -> 0x8035B6B0 void CharFaceServo::Poll(class CharFaceServo * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } // Range: 0x8035B6B0 -> 0x8035B79C void CharFaceServo::ScaleAdd(class CharFaceServo * const this /* r30 */, class CharClip * clip /* r31 */, float weight /* f29 */, float frame /* f30 */, float dframe /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8035B79C -> 0x8035B7A0 void CharFaceServo::StuffBones() {} // Range: 0x8035B7A0 -> 0x8035B7D8 void CharFaceServo::Reset(class CharFaceServo * const this /* r4 */) {} // Range: 0x8035B7D8 -> 0x8035B7E4 void CharFaceServo::PollDeps() {} // Range: 0x8035B7E4 -> 0x8035B848 void CharFaceServo::Save(class CharFaceServo * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8035B848 -> 0x8035B8DC class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static int gRev; // size: 0x4, address: 0x80A50F58 // Range: 0x8035B8DC -> 0x8035B9B4 void CharFaceServo::Load(class CharFaceServo * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8035B9B4 -> 0x8035BAE8 void CharFaceServo::Copy(class CharFaceServo * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharFaceServo * b; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharFaceServo; } // Range: 0x8035BAE8 -> 0x8035BDAC class DataNode CharFaceServo::Handle(class CharFaceServo * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50F60 // Range: 0x8035BDAC -> 0x8035BF08 unsigned char CharFaceServo::SyncProperty(class CharFaceServo * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; // -> static class Symbol _s; } struct { // total size: 0xC8 } __vt__13CharFaceServo; // size: 0xC8, address: 0x808D68B0 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8035BF08 -> 0x8035C0A4 */ // Range: 0x8035BF08 -> 0x8035C0A4 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } /* Compile unit: C:\rockband2\system\src\char\CharFaceServo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8035C0A4 -> 0x8035C44C */ // Range: 0x8035C0A4 -> 0x8035C274 void CharFaceServo::SetClips(class CharFaceServo * const this /* r30 */, class CharClipSet * c /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x8035C274 -> 0x8035C2B8 class Symbol CharFaceServo::ClassName() { // References // -> class Symbol name; } // Range: 0x8035C2B8 -> 0x8035C44C void CharFaceServo::SetType(class CharFaceServo * const this /* r29 */, class Symbol & CharFaceServo /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharForeTwist.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8035C538 -> 0x8035D4D8 */ class DataArray * types; // size: 0x4, address: 0x80A50F68 // Range: 0x8035C538 -> 0x8035C65C void * CharForeTwist::CharForeTwist(class CharForeTwist * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__13CharForeTwist; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8035C65C -> 0x8035CA04 void CharForeTwist::Poll(class CharForeTwist * const this /* r31 */) { // Local variables class Quat q; // r1+0x50 class Vector3 tmp; // r1+0x40 float ang; // f30 } // Range: 0x8035CA04 -> 0x8035CB6C void CharForeTwist::PollDeps(class CharForeTwist * const this /* r29 */, class list & change /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8035CB6C -> 0x8035CB88 void CharForeTwist::MeasureLengthScale() {} // Range: 0x8035CB88 -> 0x8035CC28 void CharForeTwist::Save(class CharForeTwist * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A50F70 // Range: 0x8035CC28 -> 0x8035CD38 void CharForeTwist::Load(class CharForeTwist * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8035CD38 -> 0x8035CE40 void CharForeTwist::Copy(class CharForeTwist * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharForeTwist * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharForeTwist; } static class Symbol _s; // size: 0x4, address: 0x80A50F78 // Range: 0x8035CE40 -> 0x8035D1E4 class DataNode CharForeTwist::Handle(class CharForeTwist * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A50F80 static class Symbol _s; // size: 0x4, address: 0x80A50F88 static class Symbol _s; // size: 0x4, address: 0x80A50F90 static class Symbol _s; // size: 0x4, address: 0x80A50F98 // Range: 0x8035D1E4 -> 0x8035D4D8 unsigned char CharForeTwist::SyncProperty(class CharForeTwist * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__13CharForeTwist; // size: 0x90, address: 0x808D6AE0 /* Compile unit: C:\rockband2\system\src\char\CharForeTwist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8035D670 -> 0x8035D848 */ // Range: 0x8035D670 -> 0x8035D6B4 class Symbol CharForeTwist::ClassName() { // References // -> class Symbol name; } // Range: 0x8035D6B4 -> 0x8035D848 void CharForeTwist::SetType(class CharForeTwist * const this /* r29 */, class Symbol & CharForeTwist /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharHair.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8035D848 -> 0x80363CA0 */ struct { // total size: 0x8 } __RTTI__PQ28CharHair5Point; // size: 0x8, address: 0x808D6E88 class DataArray * types; // size: 0x4, address: 0x80A50FA0 // Range: 0x8035D848 -> 0x8035DA2C void Strand::SetRoot(class Strand * const this /* r28 */) { // Local variables int i; // r31 class RndTransformable * r; // r30 class RndTransformable * r; // r30 struct Point * last; // r30 int i; // r31 class RndTransformable * bone; // r29 struct Point & p; // r29 } // Range: 0x8035DA2C -> 0x8035DB64 void CharHair::SetCloth() { // Local variables int i; // r5 class Strand & s; // r11 class Strand & lastStrand; // r0 int j; // r12 } // Range: 0x8035DB64 -> 0x8035DDD8 void Strand::SetAngle(class Strand * const this /* r31 */) { // Local variables class Matrix3 m; // r1+0x40 } class vector : protected _Vector_base { // total size: 0xC }; static class vector gHairs; // size: 0xC, address: 0x8097DFE4 // Range: 0x8035DDD8 -> 0x8035DF88 void * CharHair::CharHair(class CharHair * const this /* r1+0x8 */) { // References // -> static class vector gHairs; // -> struct [anonymous] __vt__8CharHair; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8035DF88 -> 0x8035E3A0 void * CharHair::~CharHair(class CharHair * const this /* r1+0x8 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> static class vector gHairs; // -> struct [anonymous] __vt__8CharHair; } // Range: 0x8035E3A0 -> 0x8035E3B0 void CharHair::Enter() {} // Range: 0x8035E3B0 -> 0x8035E618 void CharHair::DoReset(class CharHair * const this /* r27 */, int loops /* r28 */) { // Local variables unsigned char oldSimulate; // r31 int i; // r30 class ObjVector & ps; // r0 class Transform t; // r1+0x10 int j; // r29 float oldInertia; // f31 float oldFriction; // f30 int i; // r25 } // Range: 0x8035E618 -> 0x8035E724 static unsigned char StrandVisible(class Strand & s /* r29 */) { // Local variables class Vector3 delta; // r1+0x10 // References // -> class RndCam * sCurrent; } // Range: 0x8035E724 -> 0x8035F3A4 void CharHair::Highlight(class CharHair * const this /* r26 */) { // Local variables int i; // r28 class Strand & s; // r0 class Strand & lastStrand; // r0 class ObjVector & ps; // r0 class Transform t; // r1+0x240 int j; // r25 class Vector3 lastPos; // r1+0x1F0 class Transform t; // r1+0x200 class Vector3 b; // r1+0x1E0 class Vector3 lastPos; // r1+0x1D0 int j; // r27 class Vector3 delta; // r1+0x1C0 float l; // f0 float minLength; // f30 float maxLength; // f29 class Vector3 end; // r1+0x1B0 class Vector3 start; // r1+0x1A0 class Vector3 tmp; // r1+0x190 class iterator it; // r1+0x20 class Color col; // r1+0x180 // References // -> class Rnd & TheRnd; } // Range: 0x8035F3A4 -> 0x8035F448 void CharHair::SetName(class CharHair * const this /* r28 */, class ObjectDir * d /* r29 */) { // References // -> struct [anonymous] __RTTI__8WorldDir; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9Character; } // Range: 0x8035F448 -> 0x8035F510 void CharHair::Poll(class CharHair * const this /* r30 */) { // Local variables float kFPS; // f1 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8035F510 -> 0x8035FC8C void CharHair::Simulate(class CharHair * const this /* r25 */) { // Local variables float kTimeDelta; // f2 float kTimeCorrection; // f3 float kGrav; // f31 float kWeight; // f30 int i; // r30 class Strand & lastStrand; // r29 class Strand & s; // r28 class Transform t; // r1+0xB0 class ObjVector & ps; // r28 int j; // r31 struct Point & p; // r27 class Vector3 lastPos; // r1+0x70 class Vector3 delta; // r1+0x60 struct Point & lastP; // r26 float l2; // f0 float min2; // f3 float v2; // f1 float max2; // f2 float v2; // f1 class Matrix3 m; // r1+0x80 float l; // f0 float rat; // f28 class Vector3 ideal; // r1+0x50 class iterator it; // r1+0x18 class CharCollide * coll; // r26 class Vector3 delta; // r1+0x40 float dot; // f0 float radius; // f29 float outerRadius; // f27 float l2; // f0 float l; // f0 float frac; // f1 float l; // f0 float dot; // f0 float radius; // f27 float innerRadius; // f28 float l2; // f0 float l; // f0 float frac; // f1 class Vector3 friction; // r1+0x30 class Vector3 delta; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; } // Range: 0x8035FC8C -> 0x80360144 void CharHair::SimulateZeroTime(class CharHair * const this /* r30 */) { // Local variables int i; // r31 class Transform t; // r1+0x70 class ObjVector & ps; // r0 int j; // r27 class Matrix3 m; // r1+0x40 } // Range: 0x80360144 -> 0x80360284 void CharHair::PollDeps(class CharHair * const this /* r28 */, class list & changedBy /* r29 */, class list & change /* r30 */) { // Local variables int i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } class vector : protected _Vector_base { // total size: 0xC }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharCollide * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80360284 -> 0x80360BE0 void CharHair::Hookup(class CharHair * const this /* r24 */) { // Local variables class vector collides; // r1+0x60 class ObjDirItr c; // r1+0x6C int i; // r28 int j; // r27 int k; // r27 class CharCollide * c; // r26 class Vector3 delta; // r1+0x50 float rootDist; // f31 class Vector3 d; // r1+0x40 float length; // f30 int j; // r25 float maxRadius; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharCollide; } struct SortCollides { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class CharCollide * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class CharCollide * * _M_start; // offset 0x0, size 0x4 class CharCollide * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; static int gRev; // size: 0x4, address: 0x80A50FA8 // Range: 0x80360BE0 -> 0x80360CC4 void __ls(class BinStream & d /* r30 */, const struct Point & p /* r31 */) {} // Range: 0x80360CC4 -> 0x80361030 void __rs(class BinStream & d /* r29 */, struct Point & p /* r30 */) { // Local variables int tmp; // r1+0x18 char buff[256]; // r1+0x120 int count; // r1+0x14 float offset; // r1+0x10 char buff[256]; // r1+0x20 float tmp; // r1+0xC unsigned char side; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gRev; } // Range: 0x80361030 -> 0x8036125C void Strand::Save(const class Strand * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8036125C -> 0x80361400 void Strand::Load(class Strand * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> static int gRev; } // Range: 0x80361400 -> 0x80361410 void __ls(class BinStream & d /* r0 */) {} // Range: 0x80361410 -> 0x80361420 void __rs(class BinStream & d /* r0 */) {} // Range: 0x80361420 -> 0x8036155C void CharHair::Save(class CharHair * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8036155C -> 0x803616E8 void CharHair::Load(class CharHair * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803616E8 -> 0x8036181C void CharHair::Copy(class CharHair * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharHair * h; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharHair; } static class CharHair * gHair; // size: 0x4, address: 0x80A50FAC static class Strand * gStrand; // size: 0x4, address: 0x80A50FB0 static class Symbol _s; // size: 0x4, address: 0x80A50FB8 static class Symbol _s; // size: 0x4, address: 0x80A50FC0 static class Symbol _s; // size: 0x4, address: 0x80A50FC8 static class Symbol _s; // size: 0x4, address: 0x80A50FD0 // Range: 0x8036181C -> 0x80362028 class DataNode CharHair::Handle(class CharHair * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80362028 -> 0x80362168 class DataNode CharHair::OnValidate(class CharHair * const this /* r30 */) { // Local variables int i; // r31 class ObjVector & ps; // r0 int j; // r27 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A50FD8 static class Symbol _s; // size: 0x4, address: 0x80A50FE0 static class Symbol _s; // size: 0x4, address: 0x80A50FE8 static class Symbol _s; // size: 0x4, address: 0x80A50FF0 static class Symbol _s; // size: 0x4, address: 0x80A50FF8 static class Symbol _s; // size: 0x4, address: 0x80A51000 // Range: 0x80362168 -> 0x8036263C unsigned char PropSync(struct Point & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8036263C -> 0x80362CF4 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class CharCollide * obj; // r31 class CharCollide * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharCollide; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A51008 static class Symbol _s; // size: 0x4, address: 0x80A51010 static class Symbol _s; // size: 0x4, address: 0x80A51018 static class Symbol _s; // size: 0x4, address: 0x80A51020 static class Symbol _s; // size: 0x4, address: 0x80A51028 static class Symbol _s; // size: 0x4, address: 0x80A51030 static class Symbol _s; // size: 0x4, address: 0x80A51038 // Range: 0x80362CF4 -> 0x80363328 unsigned char PropSync(class Strand & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> static class Strand * gStrand; } static class Symbol _s; // size: 0x4, address: 0x80A51040 static class Symbol _s; // size: 0x4, address: 0x80A51048 static class Symbol _s; // size: 0x4, address: 0x80A51050 static class Symbol _s; // size: 0x4, address: 0x80A51058 static class Symbol _s; // size: 0x4, address: 0x80A51060 static class Symbol _s; // size: 0x4, address: 0x80A51068 static class Symbol _s; // size: 0x4, address: 0x80A51070 static class Symbol _s; // size: 0x4, address: 0x80A51078 static class Symbol _s; // size: 0x4, address: 0x80A51080 static class Symbol _s; // size: 0x4, address: 0x80A51088 // Range: 0x80363328 -> 0x80363C74 unsigned char CharHair::SyncProperty(class CharHair * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class CharHair * gHair; } struct { // total size: 0xBC } __vt__8CharHair; // size: 0xBC, address: 0x808D7348 struct { // total size: 0x18 } __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // size: 0x18, address: 0x808D7448 struct { // total size: 0x8 } __RTTI__36ObjPtrList<11CharCollide,9ObjectDir>; // size: 0x8, address: 0x808D7490 struct { // total size: 0x8 } __RTTI__PP11CharCollide; // size: 0x8, address: 0x808D7758 struct { // total size: 0x8 } __RTTI__PP8CharHair; // size: 0x8, address: 0x808D7770 struct { // total size: 0x8 } __RTTI__PQ28CharHair6Strand; // size: 0x8, address: 0x808D7790 // Range: 0x80363C74 -> 0x80363CA0 static void __sinit_\CharHair_cpp() { // References // -> static class vector gHairs; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class CharHair * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class CharHair * * _M_start; // offset 0x0, size 0x4 class CharHair * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80363CA0 -> 0x803655C4 */ // Range: 0x80363CA0 -> 0x80363D14 void ObjPtr::__as(class ObjPtr * const this /* r30 */, class RndTransformable * obj /* r31 */) {} // Range: 0x80363D14 -> 0x80363D1C class RndTransformable * ObjPtr::__opP16RndTransformable() {} // Range: 0x80363D80 -> 0x80364608 void ObjVector::resize(class ObjVector * const this /* r27 */, unsigned long s /* r6 */) { // Local variables class vector * a; // [invalid] // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80364608 -> 0x803647B8 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; } // Range: 0x8036499C -> 0x803649B0 class iterator ObjPtrList::end() {} // Range: 0x803649B0 -> 0x803649B8 class RndTransformable * ObjPtr::__rf() {} // Range: 0x803649B8 -> 0x803649CC class iterator ObjPtrList::begin() {} // Range: 0x803649D8 -> 0x803649E4 class CharCollide * iterator::__ml() {} // Range: 0x803649E4 -> 0x803649F8 class iterator iterator::__pp() {} // Range: 0x803649F8 -> 0x80364A14 unsigned char iterator::__ne() {} // Range: 0x80364A14 -> 0x803652D4 class BinStream & __rs(class BinStream & d /* r25 */, class ObjVector & c /* r26 */) { // Local variables unsigned int s; // r1+0x28 struct Point * t; // r24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x803652D4 -> 0x80365384 class BinStream & __rs(class BinStream & d /* r29 */, class ObjVector & c /* r30 */) { // Local variables unsigned int s; // r1+0x10 class Strand * t; // r31 } // Range: 0x80365384 -> 0x8036538C class Object * ObjVector::Owner() {} // Range: 0x8036538C -> 0x80365590 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharCollide; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80365590 -> 0x80365598 class Object * ObjPtrList::RefOwner() {} // Range: 0x80365598 -> 0x803655C4 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803655C4 -> 0x8036562C */ // Range: 0x803655C4 -> 0x803655CC class list & RndTransformable::TransChildren() {} // Range: 0x803655E8 -> 0x80365624 class Transform & RndTransformable::WorldXfm(class RndTransformable * const this /* r31 */) {} // Range: 0x80365624 -> 0x8036562C class RndTransformable * RndTransformable::TransParent() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036562C -> 0x80368C68 */ // Range: 0x8036562C -> 0x80365644 unsigned long vector::size() {} // Range: 0x80365644 -> 0x80365654 struct Point & vector::__vc() {} // Range: 0x80365654 -> 0x80365660 struct Point & vector::back() {} // Range: 0x80365660 -> 0x80365670 class Strand & vector::__vc() {} // Range: 0x80365670 -> 0x80365678 class Strand * vector::begin() {} // Range: 0x80365678 -> 0x803656A0 unsigned long vector::size() {} // Range: 0x80365930 -> 0x80366610 void vector::resize(class vector * const this /* r31 */, unsigned long __new_size /* r9 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80366610 -> 0x803672A0 class Strand * vector::erase(class vector * const this /* r21 */, class Strand * __pos /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x803672A0 -> 0x80367584 void vector::_M_clear(class vector * const this /* r26 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; } // Range: 0x80367584 -> 0x803677B8 void vector::_M_clear(class vector * const this /* r28 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; } // Range: 0x803677B8 -> 0x80367F54 class Strand * vector::_M_allocate_and_copy(const class Strand * __first /* r22 */, const class Strand * __last /* r23 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair6Strand; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80367F54 -> 0x80368530 struct Point * vector::_M_allocate_and_copy(const struct Point * __first /* r25 */, const struct Point * __last /* r26 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80368530 -> 0x80368534 class StlNodeAlloc vector::get_allocator() {} // Range: 0x80368534 -> 0x8036854C unsigned long vector::capacity() {} // Range: 0x8036854C -> 0x80368574 unsigned long vector::capacity() {} // Range: 0x80368574 -> 0x8036859C unsigned char vector::_M_is_inside() {} // Range: 0x8036859C -> 0x80368880 void vector::_M_clear_after_move(class vector * const this /* r26 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; } // Range: 0x80368880 -> 0x80368890 void vector::_M_set() {} // Range: 0x80368890 -> 0x803688B8 unsigned char vector::_M_is_inside() {} // Range: 0x803688B8 -> 0x80368AEC void vector::_M_clear_after_move(class vector * const this /* r28 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; } // Range: 0x80368AEC -> 0x80368AFC void vector::_M_set() {} // Range: 0x80368AFC -> 0x80368B7C void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\math\Vec.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80368C68 -> 0x80368ED4 */ // Range: 0x80368C68 -> 0x80368C9C void ScaleAdd() {} // Range: 0x80368C9C -> 0x80368CD0 void Subtract() {} // Range: 0x80368CD0 -> 0x80368CF8 float Dot() {} // Range: 0x80368CF8 -> 0x80368D3C float Length() { // Local variables float vxy; // f0 float vzz; // f1 float sqmag; // f1 float rmag; // f0 float nwork0; // f2 float nwork1; // f0 float c_three; // f3 float c_half; // f4 float c_zero; // f2 } // Range: 0x80368D3C -> 0x80368D70 void ScaleAddEq() {} // Range: 0x80368D70 -> 0x80368DA4 class Vector3 & Vector3::__apl() {} // Range: 0x80368DA4 -> 0x80368DC0 float LengthSquared() {} // Range: 0x80368DC0 -> 0x80368DE8 class Vector3 & Vector3::__amu() {} // Range: 0x80368DE8 -> 0x80368E1C class Vector3 & Vector3::__ami() {} // Range: 0x80368E1C -> 0x80368EAC void Interp() {} // Range: 0x80368EAC -> 0x80368ED4 float __ml() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_construct.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80368ED4 -> 0x8036A040 */ // Range: 0x80368ED4 -> 0x803690C4 void _Destroy_Range(struct Point * __last /* r29 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; } // Range: 0x803690C4 -> 0x8036935C void _Destroy_Range(class Strand * __last /* r27 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; } // Range: 0x8036935C -> 0x803698F0 void _Copy_Construct(const struct Point & __val /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x803698F0 -> 0x8036A040 void _Copy_Construct(const class Strand & __val /* r24 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036A040 -> 0x8036A070 */ // Range: 0x8036A040 -> 0x8036A054 unsigned char _List_base::empty() {} // Range: 0x8036A054 -> 0x8036A070 class RndTransformable * const & list::front() {} /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036A070 -> 0x8036A0A8 */ // Range: 0x8036A070 -> 0x8036A088 int Mod() {} // Range: 0x8036A088 -> 0x8036A0A8 float Clamp() {} /* Compile unit: C:\rockband2\system\src\char\CharHair.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036A0A8 -> 0x8036B028 */ // Range: 0x8036A0A8 -> 0x8036A0B0 class ObjVector & Strand::Points() {} // Range: 0x8036A0B0 -> 0x8036A0B8 class RndTransformable * Strand::Root() {} // Range: 0x8036A0B8 -> 0x8036A0C0 class Matrix3 & Strand::RootMat() {} // Range: 0x8036A0C0 -> 0x8036A104 class Symbol CharHair::ClassName() { // References // -> class Symbol name; } // Range: 0x8036A104 -> 0x8036A1B8 void * Strand::Strand() { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8036A1B8 -> 0x8036A34C void CharHair::SetType(class CharHair * const this /* r29 */, class Symbol & CharHair /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8036A34C -> 0x8036A8DC void * Point::Point(struct Point * const this /* r28 */, const struct Point & p /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8036A8DC -> 0x8036B028 void * Strand::Strand(class Strand * const this /* r24 */, const class Strand & s /* r25 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\math\Mtx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036B028 -> 0x8036B37C */ // Range: 0x8036B028 -> 0x8036B02C void * Matrix3::Matrix3() {} // Range: 0x8036B02C -> 0x8036B20C void Multiply() { // Local variables class Vector3 x; // r1+0x30 class Vector3 y; // r1+0x20 class Vector3 z; // r1+0x10 } // Range: 0x8036B20C -> 0x8036B210 void * Transform::Transform() {} // Range: 0x8036B210 -> 0x8036B37C void Normalize() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036B37C -> 0x8036B3C4 */ // Range: 0x8036B37C -> 0x8036B3A0 struct Point * StlNodeAlloc::allocate() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8036B3A0 -> 0x8036B3C4 class Strand * StlNodeAlloc::allocate() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair6Strand; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036B3C4 -> 0x8036B4A4 */ // Range: 0x8036B3C4 -> 0x8036B4A4 class CharHair * * find() {} /* Compile unit: C:\rockband2\system\src\char\CharCollide.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036B4A4 -> 0x8036B4C4 */ // Range: 0x8036B4A4 -> 0x8036B4AC enum Shape CharCollide::GetShape() {} // Range: 0x8036B4AC -> 0x8036B4B4 float CharCollide::MinLength() {} // Range: 0x8036B4B4 -> 0x8036B4BC float CharCollide::MaxLength() {} // Range: 0x8036B4BC -> 0x8036B4C4 float CharCollide::Radius() {} /* Compile unit: C:\cw_rvl\PowerPC_EABI_Support\MSL\MSL_C\MSL_Common\include\cmath Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036B4C4 -> 0x8036B4E8 */ // Range: 0x8036B4C4 -> 0x8036B4E8 float sqrt() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036B4E8 -> 0x8036BAD0 */ // Range: 0x8036B4E8 -> 0x8036B58C void sort(class CharCollide * * __first /* r29 */, class CharCollide * * __last /* r30 */, struct SortCollides & __comp /* r31 */) {} // Range: 0x8036B58C -> 0x8036B62C void __final_insertion_sort(class CharCollide * * __first /* r29 */, class CharCollide * * __last /* r30 */, struct SortCollides & __comp /* r31 */) {} // Range: 0x8036B62C -> 0x8036B694 void __unguarded_insertion_sort_aux(class CharCollide * * __last /* r29 */, struct SortCollides & __comp /* r30 */) { // Local variables class CharCollide * * __i; // r31 } // Range: 0x8036B694 -> 0x8036B6D0 void __unguarded_linear_insert() { // Local variables class CharCollide * * __next; // r6 } // Range: 0x8036B6D0 -> 0x8036B790 void __insertion_sort(class CharCollide * * __first /* r27 */, class CharCollide * * __last /* r28 */, struct SortCollides & __comp /* r29 */) { // Local variables class CharCollide * * __i; // r30 } // Range: 0x8036B790 -> 0x8036B8F0 void __introsort_loop(class CharCollide * * __first /* r28 */, class CharCollide * * __last /* r29 */, long __depth_limit /* r30 */, struct SortCollides & __comp /* r31 */) { // Local variables class CharCollide * * __cut; // r27 } // Range: 0x8036B8F0 -> 0x8036B9B8 class CharCollide * * __unguarded_partition(class CharCollide * * __first /* r29 */, class CharCollide * * __last /* r30 */, class CharCollide * __pivot /* r31 */) {} // Range: 0x8036B9B8 -> 0x8036B9E8 void partial_sort() {} // Range: 0x8036B9E8 -> 0x8036BAD0 void __partial_sort(class CharCollide * * __first /* r27 */, class CharCollide * * __middle /* r28 */, class CharCollide * * __last /* r29 */, struct SortCollides & __comp /* r30 */) { // Local variables class CharCollide * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036BAD0 -> 0x8036BB00 */ // Range: 0x8036BAD0 -> 0x8036BAE8 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8036BAE8 -> 0x8036BB00 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036BB00 -> 0x8036BCD0 */ // Range: 0x8036BB00 -> 0x8036BB54 void pop_heap(class CharCollide * * __last /* r7 */) {} // Range: 0x8036BB54 -> 0x8036BC38 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r9 } // Range: 0x8036BC38 -> 0x8036BCD0 void make_heap(class CharCollide * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036BCD0 -> 0x8036BE40 */ // Range: 0x8036BCD0 -> 0x8036BE40 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharCollide; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036BE40 -> 0x8036BF60 */ // Range: 0x8036BE40 -> 0x8036BEC8 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const struct Point * t; // r31 } // Range: 0x8036BEC8 -> 0x8036BF60 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Strand * t; // r31 } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036BF60 -> 0x8036CC10 */ // Range: 0x8036BF60 -> 0x8036CA60 unsigned char PropSync(class ObjVector & v /* r27 */, class DataNode & n /* r29 */, class DataArray * prop /* r31 */, int i /* r26 */, enum PropOp op /* r25 */) { // Local variables struct Point * it; // r28 struct Point tmp; // r1+0x30 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8036CA60 -> 0x8036CC10 unsigned char PropSync(class ObjVector & v /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class Strand * it; // r31 class Strand tmp; // r1+0x20 // References // -> class DebugFailer TheDebugFailer; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036CC10 -> 0x8036D910 */ // Range: 0x8036CC10 -> 0x8036CD48 void vector::_M_insert_overflow(class vector * const this /* r27 */, class CharCollide * * __pos /* r28 */, class CharCollide * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class CharCollide * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11CharCollide; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8036CD48 -> 0x8036CE90 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class CharCollide * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11CharCollide; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8036CE90 -> 0x8036CFC8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class CharHair * * __pos /* r28 */, class CharHair * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class CharHair * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8CharHair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8036CFC8 -> 0x8036D104 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // Local variables unsigned long __xlen; // r30 class Strand * __tmp; // r31 class Strand * __i; // r0 } // Range: 0x8036D104 -> 0x8036D16C class Strand * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8036D16C -> 0x8036D1EC void vector::_M_fill_insert() {} // Range: 0x8036D1EC -> 0x8036D328 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // Local variables unsigned long __xlen; // r30 struct Point * __tmp; // r31 struct Point * __i; // r0 } // Range: 0x8036D328 -> 0x8036D380 struct Point * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8036D380 -> 0x8036D3F0 void vector::_M_fill_insert() {} // Range: 0x8036D3F0 -> 0x8036D514 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class Strand * __pos /* r25 */, const class Strand & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x28 unsigned long __len; // r30 class Strand * __new_start; // r29 class Strand * __new_finish; // r28 } // Range: 0x8036D514 -> 0x8036D688 void vector::_M_fill_insert_aux(class vector * const this /* r29 */, class Strand * __pos /* r30 */, unsigned long __n /* r28 */, const class Strand & __x /* r31 */) { // Local variables class Strand __x_copy; // r1+0x30 unsigned long __elems_after; // r26 } // Range: 0x8036D688 -> 0x8036D7AC void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct Point * __pos /* r25 */, const struct Point & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x28 unsigned long __len; // r30 struct Point * __new_start; // r29 struct Point * __new_finish; // r28 } // Range: 0x8036D7AC -> 0x8036D910 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, struct Point * __pos /* r27 */, unsigned long __n /* r31 */, const struct Point & __x /* r28 */) { // Local variables struct Point __x_copy; // r1+0x30 unsigned long __elems_after; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_uninitialized.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8036D910 -> 0x80370D70 */ // Range: 0x8036D910 -> 0x8036DEBC struct Point * __uninitialized_copy(const struct Point * __first /* r27 */, const struct Point * __last /* r28 */) { // Local variables struct Point * __cur; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8036DEBC -> 0x8036E628 class Strand * __uninitialized_copy(const class Strand * __first /* r23 */, const class Strand * __last /* r24 */) { // Local variables class Strand * __cur; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8036E628 -> 0x8036EBD4 struct Point * __uninitialized_move(struct Point * __last /* r27 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8036EBD4 -> 0x8036F340 class Strand * __uninitialized_move(class Strand * __last /* r23 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8036F340 -> 0x8036F8EC struct Point * __uninitialized_fill_n(unsigned long __n /* r27 */, const struct Point & __x /* r28 */) { // Local variables struct Point * __cur; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8036F8EC -> 0x80370058 class Strand * __uninitialized_fill_n(unsigned long __n /* r23 */, const class Strand & __x /* r24 */) { // Local variables class Strand * __cur; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80370058 -> 0x80370604 struct Point * __uninitialized_copy(struct Point * __first /* r27 */, struct Point * __last /* r28 */) { // Local variables struct Point * __cur; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80370604 -> 0x80370D70 class Strand * __uninitialized_copy(class Strand * __first /* r23 */, class Strand * __last /* r24 */) { // Local variables class Strand * __cur; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CharHair5Point; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80370D70 -> 0x803738AC */ // Range: 0x80370D70 -> 0x803711D0 struct Point * __copy_ptrs() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803711D0 -> 0x80371BEC class Strand * __copy_ptrs() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80371BEC -> 0x80372038 void fill(struct Point * __first /* r28 */, struct Point * __last /* r29 */, const struct Point & __val /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80372038 -> 0x80372A30 void fill(class Strand * __first /* r23 */, class Strand * __last /* r24 */, const class Strand & __val /* r25 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80372A30 -> 0x80372E90 struct Point * __copy_backward_ptrs() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80372E90 -> 0x803738AC class Strand * __copy_backward_ptrs() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11CharCollide,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharIKFoot.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803738AC -> 0x803742BC */ class DataArray * types; // size: 0x4, address: 0x80A51090 // Range: 0x803738AC -> 0x80373A30 void * CharIKFoot::CharIKFoot(class CharIKFoot * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Symbol name; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10CharIKFoot,9ObjectDir>; // -> struct [anonymous] __vt__10CharIKFoot; } // Range: 0x80373A30 -> 0x80373B10 void * CharIKFoot::~CharIKFoot(class CharIKFoot * const this /* r29 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10CharIKFoot,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80373B10 -> 0x80373B34 void CharIKFoot::Poll() {} // Range: 0x80373B34 -> 0x80373B38 void CharIKFoot::PollDeps() {} // Range: 0x80373B38 -> 0x80373BA8 void CharIKFoot::Save(class CharIKFoot * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51098 // Range: 0x80373BA8 -> 0x80373C8C void CharIKFoot::Load(class CharIKFoot * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80373C8C -> 0x80373D78 void CharIKFoot::Copy(class CharIKFoot * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharIKFoot * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharIKFoot; } // Range: 0x80373D78 -> 0x8037403C class DataNode CharIKFoot::Handle(class CharIKFoot * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A510A0 static class Symbol _s; // size: 0x4, address: 0x80A510A8 // Range: 0x8037403C -> 0x80374160 unsigned char CharIKFoot::SyncProperty(class CharIKFoot * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80374160 -> 0x803742BC unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharIKFoot; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xE4 } __vt__10CharIKFoot; // size: 0xE4, address: 0x808D7A38 struct { // total size: 0x8 } __RTTI__10CharIKFoot; // size: 0x8, address: 0x808D7B68 struct { // total size: 0x18 } __vt__31ObjPtr<10CharIKFoot,9ObjectDir>; // size: 0x18, address: 0x808D7B70 struct { // total size: 0x8 } __RTTI__31ObjPtr<10CharIKFoot,9ObjectDir>; // size: 0x8, address: 0x808D7BB8 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803742BC -> 0x80374578 */ // Range: 0x803742BC -> 0x80374330 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10CharIKFoot,9ObjectDir>; } // Range: 0x80374330 -> 0x803744CC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharIKFoot; } // Range: 0x803744CC -> 0x803744D4 class Object * ObjPtr::RefOwner() {} // Range: 0x803744D4 -> 0x80374578 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharIKFoot; } /* Compile unit: C:\rockband2\system\src\char\CharIKFoot.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037469C -> 0x80374908 */ // Range: 0x8037469C -> 0x80374730 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80374730 -> 0x80374774 class Symbol CharIKFoot::ClassName() { // References // -> class Symbol name; } // Range: 0x80374774 -> 0x80374908 void CharIKFoot::SetType(class CharIKFoot * const this /* r29 */, class Symbol & CharIKFoot /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKHand.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80374908 -> 0x80377A3C */ class DataArray * types; // size: 0x4, address: 0x80A510B0 // Range: 0x80374908 -> 0x80374AC4 void * CharIKHand::CharIKHand(class CharIKHand * const this /* r31 */) { // References // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__10CharIKHand; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80374AC4 -> 0x80374D80 void * CharIKHand::~CharIKHand(class CharIKHand * const this /* r29 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; } // Range: 0x80374D80 -> 0x80375420 void CharIKHand::Poll(class CharIKHand * const this /* r31 */) { // Local variables float weight; // f31 class Vector3 destPos; // r1+0xC0 class Quat destQuat; // r1+0xB0 class Matrix3 m; // r1+0x2D0 int i; // r28 float weights[16]; // r1+0x290 float total; // f30 class iterator it; // r1+0x28 float leftover; // f0 class iterator it; // r1+0x24 float w; // f29 const class Transform & t; // r29 class Matrix3 m; // r1+0x260 class Quat tmp; // r1+0xA0 class Transform dest; // r1+0x220 class Transform x; // r1+0x1E0 class RndTransformable * shoulder; // r28 class RndTransformable * elbow; // r29 class Transform t; // r1+0x1A0 class Quat q; // r1+0x90 class Vector3 oldFingerPos; // r1+0x80 class Matrix3 elbowWorld; // r1+0x170 class Matrix3 handWorld; // r1+0x140 class Vector3 xAxis; // r1+0x70 class Vector3 yAxis; // r1+0x60 class Vector3 zAxis; // r1+0x50 float angle; // f29 class Quat q; // r1+0x40 class Transform newWorld; // r1+0x100 class Matrix3 m; // r1+0xD0 class Vector3 fingerDiff; // r1+0x30 } // Range: 0x80375420 -> 0x80375AF4 void CharIKHand::IKElbow(class CharIKHand * const this /* r28 */, class RndTransformable * elbow /* r29 */, class RndTransformable * shoulder /* r30 */) { // Local variables float c2; // f0 float cosc; // f31 float sinc; // f30 class Vector3 localDst; // r1+0x90 class Vector3 localSrc; // r1+0x80 class Vector2 s; // r1+0x20 class Vector2 d; // r1+0x18 float val; // f6 float f; // f0 class Quat q; // r1+0x70 class Matrix3 m; // r1+0xA0 } // Range: 0x80375AF4 -> 0x80375B70 void CharIKHand::SetHand(class CharIKHand * const this /* r30 */, class RndTransformable * hand /* r31 */) {} // Range: 0x80375B70 -> 0x80375BC0 void CharIKHand::UpdateHand(class CharIKHand * const this /* r31 */) {} // Range: 0x80375BC0 -> 0x80375CC0 void CharIKHand::MeasureLengths() { // Local variables float l; // f0 } // Range: 0x80375CC0 -> 0x803760C8 void CharIKHand::PollDeps(class CharIKHand * const this /* r29 */, class list & changedBy /* r30 */, class list & change /* r31 */) { // Local variables class iterator it; // r1+0x3C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803760C8 -> 0x80376210 void CharIKHand::Save(class CharIKHand * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A510B8 // Range: 0x80376210 -> 0x80376778 void CharIKHand::Load(class CharIKHand * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class ObjPtr dest; // r1+0x1C // References // -> const char * kAssertStr; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80376778 -> 0x80376B94 void CharIKHand::Copy(class CharIKHand * const this /* r29 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class CharIKHand * i; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharIKHand; } static class Symbol _s; // size: 0x4, address: 0x80A510C0 // Range: 0x80376B94 -> 0x80377060 class DataNode CharIKHand::Handle(class CharIKHand * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A510C8 static class Symbol _s; // size: 0x4, address: 0x80A510D0 static class Symbol _s; // size: 0x4, address: 0x80A510D8 static class Symbol _s; // size: 0x4, address: 0x80A510E0 static class Symbol _s; // size: 0x4, address: 0x80A510E8 static class Symbol _s; // size: 0x4, address: 0x80A510F0 static class Symbol _s; // size: 0x4, address: 0x80A510F8 static class Symbol _s; // size: 0x4, address: 0x80A51100 static class Symbol _s; // size: 0x4, address: 0x80A51108 static class Symbol _s; // size: 0x4, address: 0x80A51110 static class Symbol _s; // size: 0x4, address: 0x80A51118 // Range: 0x80377060 -> 0x80377A3C unsigned char CharIKHand::SyncProperty(class CharIKHand * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; } struct { // total size: 0xE4 } __vt__10CharIKHand; // size: 0xE4, address: 0x808D7DD4 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80377A3C -> 0x80377B90 */ // Range: 0x80377A3C -> 0x80377A4C unsigned char ObjPtrList::empty() {} // Range: 0x80377A4C -> 0x80377A54 int ObjPtrList::size() {} // Range: 0x80377A54 -> 0x80377ABC class RndTransformable * ObjPtrList::front(const class ObjPtrList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80377ABC -> 0x80377AD0 class iterator ObjPtrList::begin() {} // Range: 0x80377ADC -> 0x80377AE8 class RndTransformable * iterator::__ml() {} // Range: 0x80377AE8 -> 0x80377AFC class iterator iterator::__pp() {} // Range: 0x80377AFC -> 0x80377B10 class iterator ObjPtrList::end() {} // Range: 0x80377B10 -> 0x80377B2C unsigned char iterator::__ne() {} /* Compile unit: C:\rockband2\system\src\math\Vec.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80377B90 -> 0x80377BD0 */ // Range: 0x80377B90 -> 0x80377BD0 void Cross() {} /* Compile unit: C:\rockband2\system\src\char\CharWeightable.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80377CF4 -> 0x80377D5C */ // Range: 0x80377CF4 -> 0x80377D5C float CharWeightable::Weight(class CharWeightable * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\math\Rot.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80377D5C -> 0x80377EB8 */ // Range: 0x80377D5C -> 0x80377D70 void * Quat::Quat() {} // Range: 0x80377D70 -> 0x80377DA0 void * Quat::Quat(class Quat * const this /* r31 */) {} // Range: 0x80377DA0 -> 0x80377EB4 void ScaleAddEq() { // Local variables float fweight; // f0 class Quat s; // r1+0x10 } // Range: 0x80377EB4 -> 0x80377EB8 void * Quat::Quat() {} /* Compile unit: C:\rockband2\system\src\math\Mtx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80377F04 -> 0x80378034 */ // Range: 0x80377F04 -> 0x80377FA4 void Invert(class Transform & b /* r31 */) { // Local variables class Vector3 v; // r1+0x10 } // Range: 0x80377FA4 -> 0x80377FE8 void Multiply() { // Local variables float a_xy; // f0 float a_yz; // f1 float b_xy; // f2 float b_z1; // f3 float result_xy; // f4 float result_zz; // f5 } // Range: 0x80377FE8 -> 0x80378034 void Matrix3::Set() {} /* Compile unit: C:\cw_rvl\PowerPC_EABI_Support\MSL\MSL_C\MSL_Common\include\cmath Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80378034 -> 0x80378058 */ // Range: 0x80378034 -> 0x80378058 float acos() {} /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80378058 -> 0x80378084 */ // Range: 0x80378058 -> 0x8037806C float Abs() {} // Range: 0x8037806C -> 0x80378084 float & Max() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80378084 -> 0x803785BC */ // Range: 0x80378084 -> 0x803784E0 void CharIKHand::Highlight(class CharIKHand * const this /* r29 */) { // Local variables float weight; // f31 class Vector3 destPos; // r1+0xE0 class Quat destQuat; // r1+0xD0 int i; // r30 float weights[16]; // r1+0xF0 float total; // f30 class iterator it; // r1+0x34 float leftover; // f29 class iterator it; // r1+0x30 float w; // f29 // References // -> class Rnd & TheRnd; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803784E0 -> 0x803785BC class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtrList & c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\char\CharIKHand.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803785BC -> 0x80378794 */ // Range: 0x803785BC -> 0x80378600 class Symbol CharIKHand::ClassName() { // References // -> class Symbol name; } // Range: 0x80378600 -> 0x80378794 void CharIKHand::SetType(class CharIKHand * const this /* r29 */, class Symbol & CharIKHand /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKMidi.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80378794 -> 0x80379E54 */ class DataArray * types; // size: 0x4, address: 0x80A51120 // Range: 0x80378794 -> 0x80378970 void * CharIKMidi::CharIKMidi(class CharIKMidi * const this /* r31 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14CharWeightable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__10CharIKMidi; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80378970 -> 0x80378AD4 void * CharIKMidi::~CharIKMidi(class CharIKMidi * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtr<14CharWeightable,9ObjectDir>; } // Range: 0x80378AD4 -> 0x80378BDC void CharIKMidi::Enter(class CharIKMidi * const this /* r31 */) {} // Range: 0x80378BDC -> 0x80378BEC void CharIKMidi::Highlight() {} // Range: 0x80378BEC -> 0x80378CD4 void CharIKMidi::NewSpot(class CharIKMidi * const this /* r30 */, class RndTransformable * spot /* r31 */, float delta /* f31 */) {} // Range: 0x80378CD4 -> 0x803790D8 void CharIKMidi::Poll(class CharIKMidi * const this /* r31 */) { // Local variables class Transform t; // r1+0x70 float frac; // f31 class Quat q; // r1+0x20 class Transform t; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class TaskMgr TheTaskMgr; } // Range: 0x803790D8 -> 0x80379234 void CharIKMidi::PollDeps(class CharIKMidi * const this /* r29 */, class list & changedBy /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80379234 -> 0x803792BC void CharIKMidi::Save(class CharIKMidi * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51128 class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; // Range: 0x803792BC -> 0x803794B4 void CharIKMidi::Load(class CharIKMidi * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class ObjVector spots; // r1+0x30 class String msgSource; // r1+0x20 // References // -> class Debug TheDebug; // -> static int gRev; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x803794B4 -> 0x803795AC void CharIKMidi::Copy(class CharIKMidi * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharIKMidi * i; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharIKMidi; } static class Symbol _s; // size: 0x4, address: 0x80A51130 // Range: 0x803795AC -> 0x80379A1C class DataNode CharIKMidi::Handle(class CharIKMidi * const this /* r30 */, class DataArray * _msg /* r26 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51138 static class Symbol _s; // size: 0x4, address: 0x80A51140 static class Symbol _s; // size: 0x4, address: 0x80A51148 static class Symbol _s; // size: 0x4, address: 0x80A51150 // Range: 0x80379A1C -> 0x80379CF8 unsigned char CharIKMidi::SyncProperty(class CharIKMidi * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80379CF8 -> 0x80379E54 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xB8 } __vt__10CharIKMidi; // size: 0xB8, address: 0x808D8570 struct { // total size: 0x18 } __vt__35ObjPtr<14CharWeightable,9ObjectDir>; // size: 0x18, address: 0x808D8668 struct { // total size: 0x8 } __RTTI__35ObjPtr<14CharWeightable,9ObjectDir>; // size: 0x8, address: 0x808D86B0 struct { // total size: 0x8 } __RTTI__P37ObjPtr<16RndTransformable,9ObjectDir>; // size: 0x8, address: 0x808D8958 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80379E54 -> 0x8037A2E4 */ // Range: 0x80379E54 -> 0x80379EC8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__35ObjPtr<14CharWeightable,9ObjectDir>; } // Range: 0x80379EC8 -> 0x8037A064 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; } // Range: 0x8037A064 -> 0x8037A238 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8037A238 -> 0x8037A240 class Object * ObjPtr::RefOwner() {} // Range: 0x8037A240 -> 0x8037A2E4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037A2E4 -> 0x8037A450 */ // Range: 0x8037A2E4 -> 0x8037A378 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\char\CharIKMidi.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037A450 -> 0x8037A628 */ // Range: 0x8037A450 -> 0x8037A494 class Symbol CharIKMidi::ClassName() { // References // -> class Symbol name; } // Range: 0x8037A494 -> 0x8037A628 void CharIKMidi::SetType(class CharIKMidi * const this /* r29 */, class Symbol & CharIKMidi /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037A628 -> 0x8037ACE8 */ // Range: 0x8037A628 -> 0x8037A6A8 void vector::_M_fill_insert() {} // Range: 0x8037A6A8 -> 0x8037A960 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P37ObjPtr<16RndTransformable,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8037A960 -> 0x8037ACE8 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharIKRod.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037ACE8 -> 0x8037C3C0 */ class DataArray * types; // size: 0x4, address: 0x80A51158 // Range: 0x8037ACE8 -> 0x8037AE70 void * CharIKRod::CharIKRod(class CharIKRod * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__9CharIKRod; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8037AE70 -> 0x8037AFC0 void * CharIKRod::~CharIKRod(class CharIKRod * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8037AFC0 -> 0x8037B024 void CharIKRod::Poll(class CharIKRod * const this /* r31 */) { // Local variables class Transform rod; // r1+0x50 class Transform t; // r1+0x10 } // Range: 0x8037B024 -> 0x8037B43C unsigned char CharIKRod::ComputeRod(class CharIKRod * const this /* r28 */, class Transform & t /* r31 */) {} // Range: 0x8037B43C -> 0x8037B528 void CharIKRod::SyncBones(class CharIKRod * const this /* r30 */) { // Local variables class Transform rod; // r1+0x20 } // Range: 0x8037B528 -> 0x8037B6E4 void CharIKRod::PollDeps(class CharIKRod * const this /* r30 */, class list & changedBy /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8037B6E4 -> 0x8037B8BC void CharIKRod::Save(class CharIKRod * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51160 // Range: 0x8037B8BC -> 0x8037BAA0 void CharIKRod::Load(class CharIKRod * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8037BAA0 -> 0x8037BCB0 void CharIKRod::Copy(class CharIKRod * const this /* r30 */, const class Object * o /* r29 */) { // Local variables const class CharIKRod * r; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9CharIKRod; } // Range: 0x8037BCB0 -> 0x8037BF74 class DataNode CharIKRod::Handle(class CharIKRod * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51168 static class Symbol _s; // size: 0x4, address: 0x80A51170 static class Symbol _s; // size: 0x4, address: 0x80A51178 static class Symbol _s; // size: 0x4, address: 0x80A51180 static class Symbol _s; // size: 0x4, address: 0x80A51188 static class Symbol _s; // size: 0x4, address: 0x80A51190 // Range: 0x8037BF74 -> 0x8037C3C0 unsigned char CharIKRod::SyncProperty(class CharIKRod * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__9CharIKRod; // size: 0x90, address: 0x808D8BD8 struct { // total size: 0x8 } __RTTI__9CharIKRod; // size: 0x8, address: 0x808D8C98 /* Compile unit: C:\rockband2\system\src\char\CharIKRod.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037C460 -> 0x8037C638 */ // Range: 0x8037C460 -> 0x8037C4A4 class Symbol CharIKRod::ClassName() { // References // -> class Symbol name; } // Range: 0x8037C4A4 -> 0x8037C638 void CharIKRod::SetType(class CharIKRod * const this /* r29 */, class Symbol & CharIKRod /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharIKScale.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037C638 -> 0x8037E040 */ class DataArray * types; // size: 0x4, address: 0x80A51198 // Range: 0x8037C638 -> 0x8037C784 void * CharIKScale::CharIKScale(class CharIKScale * const this /* r31 */) { // References // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__11CharIKScale; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8037C784 -> 0x8037C9FC void * CharIKScale::~CharIKScale(class CharIKScale * const this /* r29 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; } // Range: 0x8037C9FC -> 0x8037CDA8 void CharIKScale::Poll(class CharIKScale * const this /* r30 */) { // Local variables float weight; // f31 float height; // f1 class Transform t; // r1+0xA0 class Vector3 v; // r1+0x50 float scale; // f0 class Vector3 v2; // r1+0x40 class Vector3 diff; // r1+0x30 class iterator tar; // r1+0x20 class Transform t2; // r1+0x60 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8037CDA8 -> 0x8037CDC0 void CharIKScale::CaptureBefore() {} // Range: 0x8037CDC0 -> 0x8037CDE0 void CharIKScale::CaptureAfter() {} // Range: 0x8037CDE0 -> 0x8037CF84 void CharIKScale::PollDeps(class CharIKScale * const this /* r29 */, class list & changedBy /* r30 */, class list & change /* r31 */) { // Local variables class iterator tar; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8037CF84 -> 0x8037D060 void CharIKScale::Save(class CharIKScale * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A511A0 // Range: 0x8037D060 -> 0x8037D1B0 void CharIKScale::Load(class CharIKScale * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8037D1B0 -> 0x8037D5A0 void CharIKScale::Copy(class CharIKScale * const this /* r29 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class CharIKScale * i; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharIKScale; } static class Symbol _s; // size: 0x4, address: 0x80A511A8 static class Symbol _s; // size: 0x4, address: 0x80A511B0 // Range: 0x8037D5A0 -> 0x8037DB48 class DataNode CharIKScale::Handle(class CharIKScale * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A511B8 static class Symbol _s; // size: 0x4, address: 0x80A511C0 static class Symbol _s; // size: 0x4, address: 0x80A511C8 static class Symbol _s; // size: 0x4, address: 0x80A511D0 static class Symbol _s; // size: 0x4, address: 0x80A511D8 static class Symbol _s; // size: 0x4, address: 0x80A511E0 // Range: 0x8037DB48 -> 0x8037E040 unsigned char CharIKScale::SyncProperty(class CharIKScale * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xB8 } __vt__11CharIKScale; // size: 0xB8, address: 0x808D90F8 /* Compile unit: C:\rockband2\system\src\char\CharIKScale.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037E124 -> 0x8037E2FC */ // Range: 0x8037E124 -> 0x8037E168 class Symbol CharIKScale::ClassName() { // References // -> class Symbol name; } // Range: 0x8037E168 -> 0x8037E2FC void CharIKScale::SetType(class CharIKScale * const this /* r29 */, class Symbol & CharIKScale /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharLipSync.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037E2FC -> 0x8037F1FC */ class DataArray * types; // size: 0x4, address: 0x80A511E8 // Range: 0x8037E2FC -> 0x8037E324 void * PlayBack::PlayBack() {} // Range: 0x8037E324 -> 0x8037E530 void PlayBack::Set(class PlayBack * const this /* r31 */) { // Local variables int i; // r25 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x8037E530 -> 0x8037E584 void PlayBack::Reset() { // Local variables int i; // r5 } // Range: 0x8037E584 -> 0x8037E774 void PlayBack::Poll(class PlayBack * const this /* r29 */) { // Local variables float fFrame; // f31 int iFrame; // r30 float frac; // f31 class vector & data; // r0 int count; // r6 int old; // r4 int count; // r5 int index; // r0 } // Range: 0x8037E774 -> 0x8037E7D0 void * CharLipSync::CharLipSync(class CharLipSync * const this /* r31 */) { // References // -> struct [anonymous] __vt__11CharLipSync; } // Range: 0x8037E7D0 -> 0x8037E904 void * CharLipSync::~CharLipSync(class CharLipSync * const this /* r30 */) {} static int gRev; // size: 0x4, address: 0x80A511F0 // Range: 0x8037E904 -> 0x8037E98C void CharLipSync::Save(class CharLipSync * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8037E98C -> 0x8037EA04 void CharLipSync::Load(class CharLipSync * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> static int gRev; } // Range: 0x8037EA04 -> 0x8037EA88 void CharLipSync::Copy(class CharLipSync * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class CharLipSync * c; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharLipSync; } static class Symbol _s; // size: 0x4, address: 0x80A511F8 static class Symbol _s; // size: 0x4, address: 0x80A51200 static class Symbol _s; // size: 0x4, address: 0x80A51208 // Range: 0x8037EA88 -> 0x8037ED08 unsigned char CharLipSync::SyncProperty(class CharLipSync * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8037ED08 -> 0x8037EF54 unsigned char PropSync(class vector & v /* r30 */, class DataNode & n /* r31 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r29 */) { // Local variables class String * it; // r28 class String tmp; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8037EF54 -> 0x8037F1FC class DataNode CharLipSync::Handle(class CharLipSync * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__11CharLipSync; // size: 0x54, address: 0x808D9750 struct { // total size: 0x8 } __RTTI__11CharLipSync; // size: 0x8, address: 0x808D97C8 struct { // total size: 0x8 } __RTTI__PQ311CharLipSync9Generator6Weight; // size: 0x8, address: 0x808D9880 struct { // total size: 0x8 } __RTTI__PQ311CharLipSync8PlayBack6Weight; // size: 0x8, address: 0x808D98A8 /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037F1FC -> 0x8037F568 */ // Range: 0x8037F1FC -> 0x8037F288 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const unsigned char * t; // r31 } // Range: 0x8037F288 -> 0x8037F320 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class String * t; // r31 } // Range: 0x8037F320 -> 0x8037F400 class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 unsigned char * t; // r31 } // Range: 0x8037F400 -> 0x8037F568 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class String * t; // r27 } /* Compile unit: C:\rockband2\system\src\char\CharLipSync.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037F568 -> 0x8037F72C */ // Range: 0x8037F568 -> 0x8037F6E8 void CharLipSync::SetType(class CharLipSync * const this /* r29 */, class Symbol & CharLipSync /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8037F6E8 -> 0x8037F72C class Symbol CharLipSync::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8037F72C -> 0x803803B8 */ // Range: 0x8037F72C -> 0x8037F8BC class vector & vector::__as(class vector * const this /* r30 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8037F8BC -> 0x8037F92C void vector::_M_fill_insert() {} // Range: 0x8037F92C -> 0x8037FC24 class vector & vector::__as(class vector * const this /* r27 */, const class vector & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6String; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8037FC24 -> 0x8037FC8C class String * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8037FC8C -> 0x8037FD0C void vector::_M_fill_insert() {} // Range: 0x8037FD0C -> 0x8037FF38 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Weight * __pos /* r26 */, const struct Weight & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Weight * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ311CharLipSync8PlayBack6Weight; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8037FF38 -> 0x80380190 void vector::_M_fill_insert_aux() { // Local variables struct Weight __x_copy; // r1+0x20 unsigned long __elems_after; // r10 struct Weight * __old_finish; // r0 } // Range: 0x80380190 -> 0x803803B8 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class String * __pos /* r27 */, unsigned long __n /* r28 */, const class String & __x /* r29 */) { // Local variables class String __x_copy; // r1+0x1C unsigned long __elems_after; // r30 class String * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\char\CharLipSyncDriver.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803803B8 -> 0x80383DC4 */ class DataArray * types; // size: 0x4, address: 0x80A51210 // Range: 0x803803B8 -> 0x80380598 void * CharLipSyncDriver::CharLipSyncDriver(class CharLipSyncDriver * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; // -> struct [anonymous] __vt__38ObjPtr<17CharLipSyncDriver,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11CharClipSet,9ObjectDir>; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__17CharLipSyncDriver; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x80380598 -> 0x803809AC void * CharLipSyncDriver::~CharLipSyncDriver(class CharLipSyncDriver * const this /* r30 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11CharClipSet,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__38ObjPtr<17CharLipSyncDriver,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtr<15CharBonesObject,9ObjectDir>; // -> struct [anonymous] __vt__17CharLipSyncDriver; } // Range: 0x803809AC -> 0x80380B10 void CharLipSyncDriver::Enter(class CharLipSyncDriver * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80380B10 -> 0x80380B90 void CharLipSyncDriver::SetClips(class CharLipSyncDriver * const this /* r30 */, class CharClipSet * c /* r31 */) {} // Range: 0x80380B90 -> 0x80380DC4 void CharLipSyncDriver::SetSong(class CharLipSyncDriver * const this /* r29 */) { // References // -> class LoadMgr TheLoadMgr; } static class Timer * _t; // size: 0x4, address: 0x80A51218 // Range: 0x80380DC4 -> 0x80381310 void CharLipSyncDriver::Poll(class CharLipSyncDriver * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC float myWeight; // f0 float audioTime; // f1 int i; // r27 float weight; // f28 class CharClip * clip; // r28 float frame; // f2 float audioTime; // f1 int i; // r26 float weight; // f28 class CharClip * clip; // r4 float frame; // f2 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; } // Range: 0x80381310 -> 0x80381390 void CharLipSyncDriver::PollDeps() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80381390 -> 0x80381474 void CharLipSyncDriver::Save(class CharLipSyncDriver * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class FilePath sRoot; // -> class FilePath sNull; } static int gRev; // size: 0x4, address: 0x80A51220 // Range: 0x80381474 -> 0x803814D0 void CharLipSyncDriver::Load(class CharLipSyncDriver * const this /* r30 */, class BinStream & d /* r31 */) {} static class Message changeSong; // size: 0x8, address: 0x8097E000 // Range: 0x803814D0 -> 0x80381D24 void CharLipSyncDriver::PreLoad(class CharLipSyncDriver * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class FilePath songPath; // r1+0x34 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> static class Message changeSong; // -> struct [anonymous] __vt__7Message; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80381D24 -> 0x80381EC0 void CharLipSyncDriver::PostLoad(class CharLipSyncDriver * const this /* r28 */) { // References // -> class LoadMgr TheLoadMgr; // -> static int gRev; // -> class list sRevs; } // Range: 0x80381EC0 -> 0x80382230 void CharLipSyncDriver::Copy(class CharLipSyncDriver * const this /* r31 */, const class Object * o /* r29 */, enum CopyType type /* r28 */) { // Local variables const class CharLipSyncDriver * b; // r0 // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17CharLipSyncDriver; } static class Symbol _s; // size: 0x4, address: 0x80A51228 // Range: 0x80382230 -> 0x8038264C class DataNode CharLipSyncDriver::Handle(class CharLipSyncDriver * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8038264C -> 0x80383178 class DataNode CharLipSyncDriver::OnLoadSong(class CharLipSyncDriver * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables unsigned char async; // r0 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } static class Symbol _s; // size: 0x4, address: 0x80A51230 static class Symbol _s; // size: 0x4, address: 0x80A51238 static class Symbol _s; // size: 0x4, address: 0x80A51240 static class Symbol _s; // size: 0x4, address: 0x80A51248 static class Symbol _s; // size: 0x4, address: 0x80A51250 static class Symbol _s; // size: 0x4, address: 0x80A51258 static class Symbol _s; // size: 0x4, address: 0x80A51260 // Range: 0x80383178 -> 0x80383C68 unsigned char CharLipSyncDriver::SyncProperty(class CharLipSyncDriver * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class FilePath sNull; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80383C68 -> 0x80383DC4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17CharLipSyncDriver; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xC4 } __vt__17CharLipSyncDriver; // size: 0xC4, address: 0x808D9AB0 struct { // total size: 0x8 } __RTTI__17CharLipSyncDriver; // size: 0x8, address: 0x808D9BB8 struct { // total size: 0x18 } __vt__38ObjPtr<17CharLipSyncDriver,9ObjectDir>; // size: 0x18, address: 0x808D9C10 struct { // total size: 0x8 } __RTTI__38ObjPtr<17CharLipSyncDriver,9ObjectDir>; // size: 0x8, address: 0x808D9C60 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80383DC4 -> 0x80383EE4 */ // Range: 0x80383DC4 -> 0x80383E38 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__38ObjPtr<17CharLipSyncDriver,9ObjectDir>; } // Range: 0x80383E38 -> 0x80383E40 class Object * ObjPtr::RefOwner() {} // Range: 0x80383E40 -> 0x80383EE4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17CharLipSyncDriver; } /* Compile unit: C:\rockband2\system\src\char\CharLipSyncDriver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80383EE4 -> 0x80384344 */ // Range: 0x80383EE4 -> 0x8038416C void CharLipSyncDriver::Sync(class CharLipSyncDriver * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__11CharLipSync; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x8038416C -> 0x803841B0 class Symbol CharLipSyncDriver::ClassName() { // References // -> class Symbol name; } // Range: 0x803841B0 -> 0x80384344 void CharLipSyncDriver::SetType(class CharLipSyncDriver * const this /* r29 */, class Symbol & CharLipSyncDriver /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80384458 -> 0x803845B4 */ // Range: 0x80384458 -> 0x803845B4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharBonesObject; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\char\CharLookAt.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803845B4 -> 0x80386974 */ class DataArray * types; // size: 0x4, address: 0x80A51268 static float kMaxAng; // size: 0x4, address: 0x80A56E20 // Range: 0x803845B4 -> 0x80384720 static void DrawBounds(class Vector3 & dir /* r0 */) { // Local variables float kSize; // f7 } // Range: 0x80384720 -> 0x8038491C void * CharLookAt::CharLookAt(class CharLookAt * const this /* r31 */) { // References // -> static float kMaxAng; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__10CharLookAt; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8038491C -> 0x80384A9C void * CharLookAt::~CharLookAt(class CharLookAt * const this /* r30 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80384A9C -> 0x80384AB8 void CharLookAt::Enter() {} // Range: 0x80384AB8 -> 0x80384D34 void CharLookAt::Highlight(class CharLookAt * const this /* r29 */) { // Local variables class RndGraph * g; // r31 class Matrix3 m; // r1+0xA0 const class Vector3 & v; // r30 } // Range: 0x80384D34 -> 0x80385368 void CharLookAt::Poll(class CharLookAt * const this /* r29 */) { // Local variables class RndTransformable * source; // r30 float dt; // f0 class Vector3 delta; // r1+0x70 float weight; // f30 class Vector3 a; // r1+0x60 class Vector3 b; // r1+0x50 float yawDot; // f3 float yaw; // f0 float w; // f28 float yawVel; // r1+0x10 class Transform worldPivot; // r1+0xE0 class Quat q; // r1+0x40 class Matrix3 m; // r1+0xB0 int which; // r0 class Quat q; // r1+0x30 class Matrix3 m; // r1+0x80 class Matrix3 & m; // r30 // References // -> class DebugFailer TheDebugFailer; // -> const char * kAssertStr; // -> class TaskMgr TheTaskMgr; } // Range: 0x80385368 -> 0x80385370 void CharLookAt::SetMinYaw() {} // Range: 0x80385370 -> 0x80385378 void CharLookAt::SetMaxYaw() {} // Range: 0x80385378 -> 0x80385380 void CharLookAt::SetMinPitch() {} // Range: 0x80385380 -> 0x80385388 void CharLookAt::SetMaxPitch() {} // Range: 0x80385388 -> 0x80385594 void CharLookAt::SyncLimits(class CharLookAt * const this /* r31 */) { // Local variables float maxYaw; // r1+0x1C float maxPitch; // r1+0x18 float maxAng; // f1 // References // -> static float kMaxAng; } // Range: 0x80385594 -> 0x80385714 void CharLookAt::PollDeps(class CharLookAt * const this /* r30 */, class list & changedBy /* r28 */, class list & change /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80385714 -> 0x80385874 void CharLookAt::Save(class CharLookAt * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51270 // Range: 0x80385874 -> 0x80385A34 void CharLookAt::Load(class CharLookAt * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80385A34 -> 0x80385BD4 void CharLookAt::Copy(class CharLookAt * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class CharLookAt * b; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharLookAt; } // Range: 0x80385BD4 -> 0x80385FC0 class DataNode CharLookAt::Handle(class CharLookAt * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51278 static class Symbol _s; // size: 0x4, address: 0x80A51280 static class Symbol _s; // size: 0x4, address: 0x80A51288 static class Symbol _s; // size: 0x4, address: 0x80A51290 static class Symbol _s; // size: 0x4, address: 0x80A51298 static class Symbol _s; // size: 0x4, address: 0x80A512A0 static class Symbol _s; // size: 0x4, address: 0x80A512A8 static class Symbol _s; // size: 0x4, address: 0x80A512B0 static class Symbol _s; // size: 0x4, address: 0x80A512B8 static class Symbol _s; // size: 0x4, address: 0x80A512C0 static class Symbol _s; // size: 0x4, address: 0x80A512C8 static class Symbol _s; // size: 0x4, address: 0x80A512D0 static class Symbol _s; // size: 0x4, address: 0x80A512D8 // Range: 0x80385FC0 -> 0x80386974 unsigned char CharLookAt::SyncProperty(class CharLookAt * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xE8 } __vt__10CharLookAt; // size: 0xE8, address: 0x808DA4D8 /* Compile unit: C:\rockband2\system\src\math\Vec.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80386974 -> 0x80386A00 */ // Range: 0x80386974 -> 0x803869F0 void Normalize() { // Local variables float c_half; // f0 float c_three; // f1 float v1_xy; // f2 float v1_z; // f3 float xx_zz; // f4 float xx_yy; // f5 float sqsum; // f4 float rsqrt; // f5 float nwork0; // f6 float nwork1; // f0 } // Range: 0x803869F0 -> 0x80386A00 void Vector3::Set() {} /* Compile unit: C:\rockband2\system\src\math\Mtx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80386A00 -> 0x80386A64 */ // Range: 0x80386A00 -> 0x80386A64 void Multiply() {} /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80386A64 -> 0x80386AA0 */ // Range: 0x80386A64 -> 0x80386AA0 class Transform & RndTransformable::DirtyLocalXfm(class RndTransformable * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\char\CharLookAt.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80386AA0 -> 0x80386C98 */ // Range: 0x80386AA0 -> 0x80386AC0 class RndTransformable * CharLookAt::GetSource() {} // Range: 0x80386AC0 -> 0x80386B04 class Symbol CharLookAt::ClassName() { // References // -> class Symbol name; } // Range: 0x80386B04 -> 0x80386C98 void CharLookAt::SetType(class CharLookAt * const this /* r29 */, class Symbol & CharLookAt /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80386C98 -> 0x80386CBC */ // Range: 0x80386C98 -> 0x80386CBC unsigned char MinEq() {} /* Compile unit: C:\rockband2\system\src\char\CharMeshHide.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80386DD4 -> 0x803882B8 */ class DataArray * types; // size: 0x4, address: 0x80A512E0 class Symbol name; // size: 0x4, address: 0x80A512E8 // Range: 0x80386DD4 -> 0x80386E28 class BinStream & __ls(class BinStream & d /* r30 */, const class Hide & h /* r31 */) {} // Range: 0x80386E28 -> 0x80386E74 class BinStream & __rs(class BinStream & d /* r30 */, class Hide & h /* r31 */) {} class Hide { // total size: 0x10 public: class ObjPtr mDraw; // offset 0x0, size 0xC int mFlags; // offset 0xC, size 0x4 }; // Range: 0x80386E74 -> 0x80386EB8 void * Hide::Hide() { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x80386EB8 -> 0x80386F2C void * Hide::Hide(class Hide * const this /* r30 */, const class Hide & h /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x80386F2C -> 0x80386FB8 class Hide & Hide::__as(class Hide * const this /* r29 */, const class Hide & h /* r30 */) {} // Range: 0x80386FB8 -> 0x8038702C static class DataNode OnCharMeshHide(class DataArray * msg /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class CharMeshHide : public Object { // total size: 0x3C protected: class ObjVector mHides; // offset 0x28, size 0x10 int mFlags; // offset 0x38, size 0x4 }; class list : public _List_base { // total size: 0x8 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class CharMeshHide * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8038702C -> 0x803873F8 void CharMeshHide::HideAll() { // Local variables class list hides; // r1+0x38 int flags; // r31 class ObjDirItr h; // r1+0x40 struct _List_iterator it; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std27_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharMeshHide; } class _List_node : public _List_node_base { // total size: 0xC public: class CharMeshHide * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std27_List_node; // size: 0x8, address: 0x808DAAA0 // Range: 0x803873F8 -> 0x8038744C void CharMeshHide::HideDraws() { // Local variables int i; // r7 } // Range: 0x8038744C -> 0x803874A0 void * CharMeshHide::CharMeshHide(class CharMeshHide * const this /* r31 */) { // References // -> struct [anonymous] __vt__12CharMeshHide; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Hide * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Hide * _M_start; // offset 0x0, size 0x4 class Hide * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x803874A0 -> 0x803875B4 void * CharMeshHide::~CharMeshHide(class CharMeshHide * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } static int gRev; // size: 0x4, address: 0x80A512EC // Range: 0x803875B4 -> 0x80387630 void CharMeshHide::Save(class CharMeshHide * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80387630 -> 0x803876F4 void CharMeshHide::Load(class CharMeshHide * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803876F4 -> 0x803878A8 void CharMeshHide::Copy(class CharMeshHide * const this /* r30 */, const class Object * o /* r26 */) { // Local variables const class CharMeshHide * h; // r0 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharMeshHide; } // Range: 0x803878A8 -> 0x80387B50 class DataNode CharMeshHide::Handle(class CharMeshHide * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A512F4 static class Symbol _s; // size: 0x4, address: 0x80A512FC // Range: 0x80387B50 -> 0x80387D0C unsigned char PropSync(class Hide & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80387D0C -> 0x80387E74 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A51304 static class Symbol _s; // size: 0x4, address: 0x80A5130C // Range: 0x80387E74 -> 0x80388044 unsigned char CharMeshHide::SyncProperty(class CharMeshHide * const this /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x80388044 -> 0x803882B8 unsigned char PropSync(class ObjVector & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r27 */, int i /* r30 */, enum PropOp op /* r29 */) { // Local variables class Hide * it; // r28 class Hide tmp; // r1+0x20 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x54 } __vt__12CharMeshHide; // size: 0x54, address: 0x808DAB48 struct { // total size: 0x8 } __RTTI__12CharMeshHide; // size: 0x8, address: 0x808DABC0 struct { // total size: 0x8 } __RTTI__PQ212CharMeshHide4Hide; // size: 0x8, address: 0x808DABE0 /* Compile unit: C:\rockband2\system\src\char\CharMeshHide.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803882B8 -> 0x803885E8 */ // Range: 0x803882B8 -> 0x80388350 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80388350 -> 0x803883C4 void CharMeshHide::Init() { // References // -> class Symbol name; } // Range: 0x803883C4 -> 0x80388424 class Object * CharMeshHide::NewObject() { // References // -> class Symbol name; } // Range: 0x80388424 -> 0x80388468 class Symbol CharMeshHide::ClassName() { // References // -> class Symbol name; } // Range: 0x80388468 -> 0x803885E8 void CharMeshHide::SetType(class CharMeshHide * const this /* r29 */, class Symbol & CharMeshHide /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803885E8 -> 0x80388914 */ // Range: 0x803885E8 -> 0x80388790 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } // Range: 0x80388790 -> 0x80388914 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Hide * t; // r27 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80388914 -> 0x80388A84 */ // Range: 0x80388914 -> 0x80388A84 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharMeshHide; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80388A84 -> 0x80388B0C */ // Range: 0x80388A84 -> 0x80388B0C class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Hide * t; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80388B0C -> 0x80388B6C */ // Range: 0x80388B0C -> 0x80388B6C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80388B6C -> 0x80389338 */ // Range: 0x80388B6C -> 0x80388E40 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212CharMeshHide4Hide; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80388E40 -> 0x80388E98 class Hide * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x80388E98 -> 0x80388F08 void vector::_M_fill_insert() {} // Range: 0x80388F08 -> 0x80389118 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Hide * __pos /* r26 */, const class Hide & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Hide * __new_finish; // r29 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212CharMeshHide4Hide; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80389118 -> 0x80389338 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class Hide * __pos /* r29 */, unsigned long __n /* r24 */, const class Hide & __x /* r30 */) { // Local variables class Hide __x_copy; // r1+0x20 unsigned long __elems_after; // r25 class Hide * __old_finish; // r0 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharMirror.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80389338 -> 0x8038A488 */ class DataArray * types; // size: 0x4, address: 0x80A51310 // Range: 0x80389338 -> 0x803894E8 void * CharMirror::CharMirror(class CharMirror * const this /* r31 */) { // References // -> struct [anonymous] __vt__14CharBonesAlloc; // -> struct [anonymous] __vt__15CharBonesObject; // -> struct [anonymous] __vt__34ObjPtr<13CharServoBone,9ObjectDir>; // -> struct [anonymous] __vt__10CharMirror; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } static class Symbol x; // size: 0x4, address: 0x80A51318 static class Symbol xy; // size: 0x4, address: 0x80A51320 static class Symbol zw; // size: 0x4, address: 0x80A51328 static class Symbol mirror_x; // size: 0x4, address: 0x80A51330 // Range: 0x803894E8 -> 0x803897D8 void CharMirror::Poll(class CharMirror * const this /* r30 */) { // Local variables float weight; // f31 struct MirrorOp * m; // r31 class Vector3 * dv; // r4 class Quat * dq; // r29 float * da; // r4 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol mirror_x; // -> static class Symbol zw; // -> static class Symbol xy; // -> static class Symbol x; } // Range: 0x803897D8 -> 0x80389858 void CharMirror::SetServo(class CharMirror * const this /* r30 */, class CharServoBone * b /* r31 */) {} // Range: 0x80389858 -> 0x803898D8 void CharMirror::SetMirrorServo(class CharMirror * const this /* r30 */, class CharServoBone * b /* r31 */) {} // Range: 0x803898D8 -> 0x80389BE8 void CharMirror::SyncBones(class CharMirror * const this /* r29 */) { // Local variables class list bones; // r1+0x68 class DataArray * cd; // r31 int i; // r27 int i; // r30 class Symbol n; // r1+0x40 class DataArray * d; // r26 // References // -> const char * gNullStr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80389BE8 -> 0x80389C68 void CharMirror::PollDeps() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80389C68 -> 0x80389CE4 void CharMirror::Save(class CharMirror * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51334 // Range: 0x80389CE4 -> 0x80389DD0 void CharMirror::Load(class CharMirror * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80389DD0 -> 0x80389E6C void CharMirror::Copy(class CharMirror * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class CharMirror * b; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharMirror; } // Range: 0x80389E6C -> 0x8038A258 class DataNode CharMirror::Handle(class CharMirror * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A5133C static class Symbol _s; // size: 0x4, address: 0x80A51344 // Range: 0x8038A258 -> 0x8038A488 unsigned char CharMirror::SyncProperty(class CharMirror * const this /* r27 */, class DataNode & _val /* r31 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharServoBone; // -> static class Symbol _s; } struct { // total size: 0xB8 } __vt__10CharMirror; // size: 0xB8, address: 0x808DACF8 struct { // total size: 0x8 } __RTTI__10CharMirror; // size: 0x8, address: 0x808DADE8 struct { // total size: 0x18 } __vt__34ObjPtr<13CharServoBone,9ObjectDir>; // size: 0x18, address: 0x808DADF0 struct { // total size: 0x8 } __RTTI__34ObjPtr<13CharServoBone,9ObjectDir>; // size: 0x8, address: 0x808DAE38 struct { // total size: 0x8 } __RTTI__PQ210CharMirror8MirrorOp; // size: 0x8, address: 0x808DAE58 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038A488 -> 0x8038A600 */ // Range: 0x8038A488 -> 0x8038A51C class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038A600 -> 0x8038A8BC */ // Range: 0x8038A600 -> 0x8038A674 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13CharServoBone,9ObjectDir>; } // Range: 0x8038A674 -> 0x8038A810 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharServoBone; } // Range: 0x8038A810 -> 0x8038A818 class Object * ObjPtr::RefOwner() {} // Range: 0x8038A818 -> 0x8038A8BC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharServoBone; } /* Compile unit: C:\rockband2\system\src\char\CharMirror.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038AA74 -> 0x8038AC4C */ // Range: 0x8038AA74 -> 0x8038AAB8 class Symbol CharMirror::ClassName() { // References // -> class Symbol name; } // Range: 0x8038AAB8 -> 0x8038AC4C void CharMirror::SetType(class CharMirror * const this /* r29 */, class Symbol & CharMirror /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038AC4C -> 0x8038B090 */ // Range: 0x8038AC4C -> 0x8038ACBC void vector::_M_fill_insert() {} // Range: 0x8038ACBC -> 0x8038AEA8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct MirrorOp * __pos /* r26 */, const struct MirrorOp & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct MirrorOp * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210CharMirror8MirrorOp; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8038AEA8 -> 0x8038B090 void vector::_M_fill_insert_aux() { // Local variables struct MirrorOp __x_copy; // r1+0x20 unsigned long __elems_after; // r9 struct MirrorOp * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\char\CharNeckTwist.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038B090 -> 0x8038BAA8 */ class DataArray * types; // size: 0x4, address: 0x80A51348 // Range: 0x8038B090 -> 0x8038B1A8 void * CharNeckTwist::CharNeckTwist(class CharNeckTwist * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__13CharNeckTwist; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8038B1A8 -> 0x8038B394 void CharNeckTwist::Poll(class CharNeckTwist * const this /* r29 */) { // Local variables class RndTransformable * neck; // r0 class Transform localHead; // r1+0x30 class RndTransformable * bone; // r30 class Quat q; // r1+0x20 class Vector3 tmp; // r1+0x10 float ang; // f30 } // Range: 0x8038B394 -> 0x8038B490 void CharNeckTwist::PollDeps(class CharNeckTwist * const this /* r29 */, class list & change /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8038B490 -> 0x8038B500 void CharNeckTwist::Save(class CharNeckTwist * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51350 // Range: 0x8038B500 -> 0x8038B5D8 void CharNeckTwist::Load(class CharNeckTwist * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8038B5D8 -> 0x8038B6D0 void CharNeckTwist::Copy(class CharNeckTwist * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharNeckTwist * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharNeckTwist; } // Range: 0x8038B6D0 -> 0x8038B994 class DataNode CharNeckTwist::Handle(class CharNeckTwist * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51358 static class Symbol _s; // size: 0x4, address: 0x80A51360 // Range: 0x8038B994 -> 0x8038BAA8 unsigned char CharNeckTwist::SyncProperty(class CharNeckTwist * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__13CharNeckTwist; // size: 0x90, address: 0x808DAF10 /* Compile unit: C:\rockband2\system\src\char\CharNeckTwist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038BC40 -> 0x8038BE18 */ // Range: 0x8038BC40 -> 0x8038BC84 class Symbol CharNeckTwist::ClassName() { // References // -> class Symbol name; } // Range: 0x8038BC84 -> 0x8038BE18 void CharNeckTwist::SetType(class CharNeckTwist * const this /* r29 */, class Symbol & CharNeckTwist /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharPosConstraint.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038BE18 -> 0x8038D030 */ class DataArray * types; // size: 0x4, address: 0x80A51368 // Range: 0x8038BE18 -> 0x8038BF80 void * CharPosConstraint::CharPosConstraint(class CharPosConstraint * const this /* r31 */) { // References // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__17CharPosConstraint; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8038BF80 -> 0x8038C1B4 void * CharPosConstraint::~CharPosConstraint(class CharPosConstraint * const this /* r29 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; } // Range: 0x8038C1B4 -> 0x8038C3C0 void CharPosConstraint::Poll(class CharPosConstraint * const this /* r29 */) { // Local variables const class Vector3 & pos; // r0 class iterator it; // r1+0x20 class Transform t; // r1+0x30 float delta; // f0 float delta; // f0 float delta; // f0 } // Range: 0x8038C3C0 -> 0x8038C568 void CharPosConstraint::PollDeps(class CharPosConstraint * const this /* r28 */, class list & changedBy /* r30 */, class list & change /* r31 */) { // Local variables class iterator it; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8038C568 -> 0x8038C668 void CharPosConstraint::Save(class CharPosConstraint * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51370 // Range: 0x8038C668 -> 0x8038C810 void CharPosConstraint::Load(class CharPosConstraint * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8038C810 -> 0x8038CC0C void CharPosConstraint::Copy(class CharPosConstraint * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class CharPosConstraint * p; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17CharPosConstraint; } // Range: 0x8038CC0C -> 0x8038CED0 class DataNode CharPosConstraint::Handle(class CharPosConstraint * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51378 static class Symbol _s; // size: 0x4, address: 0x80A51380 static class Symbol _s; // size: 0x4, address: 0x80A51388 // Range: 0x8038CED0 -> 0x8038D030 unsigned char CharPosConstraint::SyncProperty(class CharPosConstraint * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__17CharPosConstraint; // size: 0x90, address: 0x808DB020 struct { // total size: 0x8 } __RTTI__17CharPosConstraint; // size: 0x8, address: 0x808DB0E8 /* Compile unit: C:\rockband2\system\src\char\CharPosConstraint.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038D0D0 -> 0x8038D2A8 */ // Range: 0x8038D0D0 -> 0x8038D114 class Symbol CharPosConstraint::ClassName() { // References // -> class Symbol name; } // Range: 0x8038D114 -> 0x8038D2A8 void CharPosConstraint::SetType(class CharPosConstraint * const this /* r29 */, class Symbol & CharPosConstraint /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharPollGroup.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038D2A8 -> 0x8038E6E4 */ class DataArray * types; // size: 0x4, address: 0x80A51390 // Range: 0x8038D2A8 -> 0x8038D390 void * CharPollGroup::CharPollGroup(class CharPollGroup * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtrList<12CharPollable,9ObjectDir>; // -> struct [anonymous] __vt__13CharPollGroup; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } struct Node { // total size: 0xC class CharPollable * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; // Range: 0x8038D390 -> 0x8038D594 void * CharPollGroup::~CharPollGroup(class CharPollGroup * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__37ObjPtrList<12CharPollable,9ObjectDir>; } class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x8038D594 -> 0x8038D600 void CharPollGroup::Enter() { // Local variables class iterator it; // r1+0x18 } // Range: 0x8038D600 -> 0x8038D66C void CharPollGroup::Exit() { // Local variables class iterator it; // r1+0x18 } // Range: 0x8038D66C -> 0x8038D6D8 void CharPollGroup::Poll() { // Local variables class iterator it; // r1+0x18 } // Range: 0x8038D6D8 -> 0x8038D794 void CharPollGroup::ListPollChildren(class list & l /* r30 */) { // Local variables class iterator it; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8038D794 -> 0x8038D820 void CharPollGroup::PollDeps(class list & changedBy /* r30 */, class list & change /* r31 */) { // Local variables class iterator it; // r1+0x18 } // Range: 0x8038D820 -> 0x8038D884 void CharPollGroup::Save(class CharPollGroup * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51398 // Range: 0x8038D884 -> 0x8038D950 void CharPollGroup::Load(class CharPollGroup * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8038D950 -> 0x8038DCB8 void CharPollGroup::Copy(class CharPollGroup * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class CharPollGroup * p; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharPollGroup; } // Range: 0x8038DCB8 -> 0x8038DF7C class DataNode CharPollGroup::Handle(class CharPollGroup * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A513A0 // Range: 0x8038DF7C -> 0x8038E040 unsigned char CharPollGroup::SyncProperty(class CharPollGroup * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } // Range: 0x8038E040 -> 0x8038E6E4 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class CharPollable * obj; // r31 class CharPollable * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharPollable; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x90 } __vt__13CharPollGroup; // size: 0x90, address: 0x808DB1F0 struct { // total size: 0x8 } __RTTI__13CharPollGroup; // size: 0x8, address: 0x808DB2B8 struct { // total size: 0x18 } __vt__37ObjPtrList<12CharPollable,9ObjectDir>; // size: 0x18, address: 0x808DB2C0 struct { // total size: 0x8 } __RTTI__37ObjPtrList<12CharPollable,9ObjectDir>; // size: 0x8, address: 0x808DB308 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038E784 -> 0x8038EED0 */ // Range: 0x8038E784 -> 0x8038E930 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__37ObjPtrList<12CharPollable,9ObjectDir>; } // Range: 0x8038E930 -> 0x8038ECCC class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharPollable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8038ECCC -> 0x8038EEC8 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12CharPollable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8038EEC8 -> 0x8038EED0 class Object * ObjPtrList::RefOwner() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038EED0 -> 0x8038EFA8 */ // Range: 0x8038EED0 -> 0x8038EFA8 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtrList & c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\char\CharPollGroup.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038EFA8 -> 0x8038F180 */ // Range: 0x8038EFA8 -> 0x8038EFEC class Symbol CharPollGroup::ClassName() { // References // -> class Symbol name; } // Range: 0x8038EFEC -> 0x8038F180 void CharPollGroup::SetType(class CharPollGroup * const this /* r29 */, class Symbol & CharPollGroup /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharServoBone.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8038F180 -> 0x80390CBC */ class DataArray * types; // size: 0x4, address: 0x80A513A8 // Range: 0x8038F180 -> 0x8038F314 void * CharServoBone::CharServoBone(class CharServoBone * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Waypoint,9ObjectDir>; // -> struct [anonymous] __vt__13CharServoBone; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8038F314 -> 0x8038F444 void * CharServoBone::~CharServoBone(class CharServoBone * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Waypoint,9ObjectDir>; } // Range: 0x8038F444 -> 0x8038F4A0 void CharServoBone::SetName(class CharServoBone * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9Character; } // Range: 0x8038F4A0 -> 0x8038F820 void CharServoBone::Poll(class CharServoBone * const this /* r31 */) { // Local variables class Transform world; // r1+0x130 class Transform worldPelv; // r1+0xF0 class Transform invPelv; // r1+0xB0 class Transform worldPelv; // r1+0x70 class Transform invPelv; // r1+0x30 } // Range: 0x8038F820 -> 0x8038F898 void CharServoBone::Enter(class CharServoBone * const this /* r31 */) {} // Range: 0x8038F898 -> 0x8038F8B0 void CharServoBone::Recenter() {} // Range: 0x8038F8B0 -> 0x8038F8E4 void CharServoBone::ZeroDeltas() {} // Range: 0x8038F8E4 -> 0x8038F900 void CharServoBone::SetMoveSelf() {} // Range: 0x8038F900 -> 0x8038FB48 void CharServoBone::MoveToFacing(class CharServoBone * const this /* r30 */, class Transform & t /* r31 */) {} // Range: 0x8038FB48 -> 0x8038FD74 void CharServoBone::MoveToDeltaFacing(class Transform & t /* r31 */) { // Local variables class Vector3 dPos; // r1+0x10 } class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class RndTransformable * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class RndTransformable * * _M_start; // offset 0x0, size 0x4 class RndTransformable * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ClipBonePredict { // total size: 0x130 protected: class Transform mBaseXfm; // offset 0x0, size 0x40 class Transform mXfm; // offset 0x40, size 0x40 class CharBonesMeshes mBones; // offset 0x80, size 0x98 class Vector3 * mFacingPos; // offset 0x118, size 0x4 float * mFacingRot; // offset 0x11C, size 0x4 class vector mMeshes; // offset 0x120, size 0xC }; // Range: 0x8038FD74 -> 0x8038FF30 void CharServoBone::RegulateOverride(class CharServoBone * const this /* r28 */, class CharClip * c /* r29 */, float frame /* f31 */, class Waypoint * way /* r30 */, const char * bone /* r31 */) { // Local variables char * names[2]; // r1+0x18 class ClipBonePredict pred; // r1+0x20 } // Range: 0x8038FF30 -> 0x803901BC void CharServoBone::Regulate(class CharServoBone * const this /* r26 */) { // Local variables class CharClipDriver * before; // r0 class Waypoint * w; // r27 class ClipPredict pred; // r1+0x40 float rawDf; // f2 float df; // f29 float dt; // f31 class Vector3 pos; // r1+0x30 class Vector3 delta; // r1+0x20 float dang; // f0 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803901BC -> 0x803901C8 void CharServoBone::PollDeps() {} // Range: 0x803901C8 -> 0x80390220 void CharServoBone::Save(class CharServoBone * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A513B0 // Range: 0x80390220 -> 0x803902E0 void CharServoBone::Load(class CharServoBone * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803902E0 -> 0x8039034C void CharServoBone::Copy(class CharServoBone * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class CharServoBone * c; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharServoBone; } static class Symbol _s; // size: 0x4, address: 0x80A513B8 // Range: 0x8039034C -> 0x803908C8 class DataNode CharServoBone::Handle(class CharServoBone * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__8CharClip; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A513C0 static class Symbol _s; // size: 0x4, address: 0x80A513C8 static class Symbol _s; // size: 0x4, address: 0x80A513D0 // Range: 0x803908C8 -> 0x80390B54 unsigned char CharServoBone::SyncProperty(class CharServoBone * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80390B54 -> 0x80390CBC unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xC4 } __vt__13CharServoBone; // size: 0xC4, address: 0x808DB6A0 struct { // total size: 0x18 } __vt__28ObjPtr<8Waypoint,9ObjectDir>; // size: 0x18, address: 0x808DB7C0 struct { // total size: 0x8 } __RTTI__28ObjPtr<8Waypoint,9ObjectDir>; // size: 0x8, address: 0x808DB800 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80390CBC -> 0x80390DEC */ // Range: 0x80390CBC -> 0x80390D34 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8Waypoint,9ObjectDir>; } // Range: 0x80390D34 -> 0x80390D3C class Object * ObjPtr::RefOwner() {} // Range: 0x80390D3C -> 0x80390DEC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } /* Compile unit: C:\rockband2\system\src\char\CharServoBone.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80390DEC -> 0x803910E4 */ // Range: 0x80390DEC -> 0x80390F0C void CharServoBone::ReallocateInternal(class CharServoBone * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80390F0C -> 0x80390F50 class Symbol CharServoBone::ClassName() { // References // -> class Symbol name; } // Range: 0x80390F50 -> 0x803910E4 void CharServoBone::SetType(class CharServoBone * const this /* r29 */, class Symbol & CharServoBone /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharTaskMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803911D4 -> 0x8039122C */ unsigned char sShowGraph; // size: 0x1, address: 0x80A513D8 // Range: 0x803911D4 -> 0x803911F4 static class DataNode OnToggleCharTaskGraph() { // References // -> unsigned char sShowGraph; } class CharTaskMgr { // total size: 0x14 public: int mInstanceNum; // offset 0x0, size 0x4 protected: class vector mTasks; // offset 0x4, size 0xC class Task * mConflict; // offset 0x10, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Task * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Task * * _M_start; // offset 0x0, size 0x4 class Task * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x803911F4 -> 0x8039122C void CharTaskMgr::Init() {} class Task { // total size: 0x18 public: void * __vptr$; // offset 0x0, size 0x4 protected: float mStart; // offset 0x4, size 0x4 float mEnd; // offset 0x8, size 0x4 float mPriority; // offset 0xC, size 0x4 int mConflictFlags; // offset 0x10, size 0x4 unsigned char mStarted; // offset 0x14, size 0x1 }; /* Compile unit: C:\rockband2\system\src\char\CharTransCopy.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039122C -> 0x80391D24 */ class DataArray * types; // size: 0x4, address: 0x80A513E0 // Range: 0x8039122C -> 0x80391344 void * CharTransCopy::CharTransCopy(class CharTransCopy * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__13CharTransCopy; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x80391344 -> 0x8039143C void * CharTransCopy::~CharTransCopy(class CharTransCopy * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8039143C -> 0x803914EC void CharTransCopy::Poll() {} // Range: 0x803914EC -> 0x803915E8 void CharTransCopy::PollDeps(class CharTransCopy * const this /* r29 */, class list & changedBy /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803915E8 -> 0x80391658 void CharTransCopy::Save(class CharTransCopy * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A513E8 // Range: 0x80391658 -> 0x80391730 void CharTransCopy::Load(class CharTransCopy * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80391730 -> 0x80391828 void CharTransCopy::Copy(class CharTransCopy * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharTransCopy * i; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharTransCopy; } // Range: 0x80391828 -> 0x80391C14 class DataNode CharTransCopy::Handle(class CharTransCopy * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A513F0 static class Symbol _s; // size: 0x4, address: 0x80A513F8 // Range: 0x80391C14 -> 0x80391D24 unsigned char CharTransCopy::SyncProperty(class CharTransCopy * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__13CharTransCopy; // size: 0x90, address: 0x808DBDA8 struct { // total size: 0x8 } __RTTI__13CharTransCopy; // size: 0x8, address: 0x808DBE70 /* Compile unit: C:\rockband2\system\src\char\CharTransCopy.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80391DC4 -> 0x80391F9C */ // Range: 0x80391DC4 -> 0x80391E08 class Symbol CharTransCopy::ClassName() { // References // -> class Symbol name; } // Range: 0x80391E08 -> 0x80391F9C void CharTransCopy::SetType(class CharTransCopy * const this /* r29 */, class Symbol & CharTransCopy /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharacterTest.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80391F9C -> 0x803938B8 */ unsigned char sEnablePose; // size: 0x1, address: 0x80A46E50 static float kOutfitCycleWait; // size: 0x4, address: 0x80A56EA0 static class Symbol none; // size: 0x4, address: 0x80A51404 class Array2d { // total size: 0xC protected: int mWidth; // offset 0x0, size 0x4 int mHeight; // offset 0x4, size 0x4 float * mData; // offset 0x8, size 0x4 }; struct Node { // total size: 0xC float a; // offset 0x0, size 0x4 float b; // offset 0x4, size 0x4 float err; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Node * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Node * _M_start; // offset 0x0, size 0x4 struct Node * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ClipDistMap { // total size: 0x50 protected: class CharClip * mClipA; // offset 0x0, size 0x4 class CharClip * mClipB; // offset 0x4, size 0x4 class CharClipSet * mClips; // offset 0x8, size 0x4 const class DataArray * mWeightData; // offset 0xC, size 0x4 float mAStart; // offset 0x10, size 0x4 float mAEnd; // offset 0x14, size 0x4 float mBStart; // offset 0x18, size 0x4 float mBEnd; // offset 0x1C, size 0x4 float mDFrame; // offset 0x20, size 0x4 float mWorstErr; // offset 0x24, size 0x4 float mLastMinErr; // offset 0x28, size 0x4 float mBeatAlign; // offset 0x2C, size 0x4 int mBeatAlignOffset; // offset 0x30, size 0x4 int mBeatAlignPeriod; // offset 0x34, size 0x4 class Array2d mDists; // offset 0x38, size 0xC class vector mNodes; // offset 0x44, size 0xC }; // Range: 0x80391F9C -> 0x803921D8 void * CharacterTest::CharacterTest(class CharacterTest * const this /* r31 */) { // References // -> static class Symbol none; // -> static float kOutfitCycleWait; // -> const char * gNullStr; // -> struct [anonymous] __vt__32ObjPtrList<8Waypoint,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Waypoint,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13CharClipGroup,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10CharDriver,9ObjectDir>; // -> struct [anonymous] __vt__13CharacterTest; } struct Node { // total size: 0xC class Waypoint * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; // Range: 0x803921D8 -> 0x8039254C void * CharacterTest::~CharacterTest(class CharacterTest * const this /* r29 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10CharDriver,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__34ObjPtr<13CharClipGroup,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Waypoint,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8Waypoint,9ObjectDir>; // -> struct [anonymous] __vt__13CharacterTest; } // Range: 0x8039254C -> 0x80392568 class CharClipSet * CharacterTest::Clips() {} // Range: 0x80392568 -> 0x80392BB4 void CharacterTest::GrabLoadPose(class CharacterTest * const this /* r27 */) { // Local variables class ObjDirItr bone; // r1+0x30 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> unsigned char sEnablePose; } // Range: 0x80392BB4 -> 0x80392C88 void CharacterTest::GrabLoadPose() { // Local variables int i; // r7 } static int gRev; // size: 0x4, address: 0x80A51408 // Range: 0x80392C88 -> 0x80392E3C void CharacterTest::Save(class CharacterTest * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80392E3C -> 0x80392F18 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtrList & c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80392F18 -> 0x80392FB0 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80392FB0 -> 0x803935E8 void CharacterTest::Load(class CharacterTest * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class ObjPtr tmp; // r1+0x14 char buffer[256]; // r1+0x120 // References // -> static float kOutfitCycleWait; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> static int gRev; } static class Symbol _s; // size: 0x4, address: 0x80A51410 // Range: 0x803935E8 -> 0x803938B8 class DataNode CharacterTest::Handle(class CharacterTest * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__13CharacterTest; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> unsigned char sActive; } struct { // total size: 0x14 } __vt__13CharacterTest; // size: 0x14, address: 0x808DBF08 struct { // total size: 0x8 } __RTTI__13CharacterTest; // size: 0x8, address: 0x808DBF38 struct { // total size: 0x18 } __vt__32ObjPtrList<8Waypoint,9ObjectDir>; // size: 0x18, address: 0x808DBF40 struct { // total size: 0x8 } __RTTI__32ObjPtrList<8Waypoint,9ObjectDir>; // size: 0x8, address: 0x808DBF88 struct { // total size: 0x18 } __vt__34ObjPtr<13CharClipGroup,9ObjectDir>; // size: 0x18, address: 0x808DBF90 struct { // total size: 0x8 } __RTTI__34ObjPtr<13CharClipGroup,9ObjectDir>; // size: 0x8, address: 0x808DBFD8 struct { // total size: 0x18 } __vt__31ObjPtr<10CharDriver,9ObjectDir>; // size: 0x18, address: 0x808DBFE0 struct { // total size: 0x8 } __RTTI__31ObjPtr<10CharDriver,9ObjectDir>; // size: 0x8, address: 0x808DC028 struct { // total size: 0x8 } __RTTI__PQ213CharacterTest7BoneXfm; // size: 0x8, address: 0x808DC050 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803938B8 -> 0x80394630 */ // Range: 0x803938B8 -> 0x8039392C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10CharDriver,9ObjectDir>; } // Range: 0x8039392C -> 0x803939A0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13CharClipGroup,9ObjectDir>; } // Range: 0x803939A0 -> 0x80393B50 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8Waypoint,9ObjectDir>; } // Range: 0x80393B50 -> 0x80393BE4 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80393BE4 -> 0x80393F88 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80393F88 -> 0x80394130 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } // Range: 0x80394130 -> 0x803942CC class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharDriver; } // Range: 0x803942CC -> 0x803944D0 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803944D0 -> 0x803944D8 class Object * ObjPtrList::RefOwner() {} // Range: 0x803944D8 -> 0x803944E0 class Object * ObjPtr::RefOwner() {} // Range: 0x803944E0 -> 0x80394584 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13CharClipGroup; } // Range: 0x80394584 -> 0x8039458C class Object * ObjPtr::RefOwner() {} // Range: 0x8039458C -> 0x80394630 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharDriver; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80394630 -> 0x8039519C */ // Range: 0x80394630 -> 0x803946B0 void vector::_M_fill_insert() {} // Range: 0x803946B0 -> 0x80394B00 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BoneXfm * __pos /* r26 */, const struct BoneXfm & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BoneXfm * __new_finish; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213CharacterTest7BoneXfm; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80394B00 -> 0x8039519C void vector::_M_fill_insert_aux(class vector * const this /* r25 */, struct BoneXfm * __pos /* r26 */, unsigned long __n /* r31 */, const struct BoneXfm & __x /* r27 */) { // Local variables struct BoneXfm __x_copy; // r1+0x30 unsigned long __elems_after; // r28 struct BoneXfm * __old_finish; // r0 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharUpperTwist.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039519C -> 0x803963BC */ class DataArray * types; // size: 0x4, address: 0x80A51418 // Range: 0x8039519C -> 0x803952E4 void * CharUpperTwist::CharUpperTwist(class CharUpperTwist * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__14CharUpperTwist; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x803952E4 -> 0x80395408 void * CharUpperTwist::~CharUpperTwist(class CharUpperTwist * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80395408 -> 0x80395BA0 void CharUpperTwist::Poll(class CharUpperTwist * const this /* r31 */) { // Local variables class Quat q; // r1+0xB0 class Vector3 tmp; // r1+0xA0 float ang; // f0 class Matrix3 mat; // r1+0xF0 class Matrix3 mat; // r1+0xC0 } // Range: 0x80395BA0 -> 0x80395CFC void CharUpperTwist::PollDeps(class CharUpperTwist * const this /* r29 */, class list & change /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80395CFC -> 0x80395D78 void CharUpperTwist::Save(class CharUpperTwist * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51420 // Range: 0x80395D78 -> 0x80395E5C void CharUpperTwist::Load(class CharUpperTwist * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80395E5C -> 0x80395F98 void CharUpperTwist::Copy(class CharUpperTwist * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class CharUpperTwist * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharUpperTwist; } // Range: 0x80395F98 -> 0x8039625C class DataNode CharUpperTwist::Handle(class CharUpperTwist * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51428 static class Symbol _s; // size: 0x4, address: 0x80A51430 static class Symbol _s; // size: 0x4, address: 0x80A51438 // Range: 0x8039625C -> 0x803963BC unsigned char CharUpperTwist::SyncProperty(class CharUpperTwist * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__14CharUpperTwist; // size: 0x90, address: 0x808DC210 /* Compile unit: C:\rockband2\system\src\char\CharUpperTwist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039645C -> 0x80396634 */ // Range: 0x8039645C -> 0x803964A0 class Symbol CharUpperTwist::ClassName() { // References // -> class Symbol name; } // Range: 0x803964A0 -> 0x80396634 void CharUpperTwist::SetType(class CharUpperTwist * const this /* r29 */, class Symbol & CharUpperTwist /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharUtl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80396634 -> 0x80398F0C */ // Range: 0x80396634 -> 0x803966A8 static class DataNode OnValidateStops(class DataArray * msg /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } // Range: 0x803966A8 -> 0x8039671C static class DataNode OnResetHair(class DataArray * msg /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Character; } // Range: 0x8039671C -> 0x803968B4 static class DataNode OnCharCompressClips(class DataArray * msg /* r29 */) { // Local variables class ClipCompressor comp; // r1+0x28 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11CharClipSet; } class MeshCacheMgr : public SyncMeshCB { // total size: 0x10 protected: class vector mCache; // offset 0x4, size 0xC }; // Range: 0x803968B4 -> 0x803968D4 void * MeshCacheMgr::MeshCacheMgr() { // References // -> struct [anonymous] __vt__12MeshCacheMgr; } class StlNodeAlloc { // total size: 0x1 }; class MeshCacher { // total size: 0x20 protected: class RndMesh * mMesh; // offset 0x0, size 0x4 int mSyncFlags; // offset 0x4, size 0x4 class vector mVerts; // offset 0x8, size 0xC class vector mFaces; // offset 0x14, size 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class MeshCacher * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class MeshCacher * * _M_start; // offset 0x0, size 0x4 class MeshCacher * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x803968D4 -> 0x80396C58 void * MeshCacheMgr::~MeshCacheMgr(class MeshCacheMgr * const this /* r28 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12MeshCacheMgr; } class vector : protected _Vector_base { // total size: 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Vert * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Vert * _M_start; // offset 0x0, size 0x4 struct Vert * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; // Range: 0x80396C58 -> 0x80396CA4 unsigned char MeshCacheMgr::HasMesh() { // Local variables int i; // r6 } // Range: 0x80396CA4 -> 0x803970CC void MeshCacheMgr::SyncMesh(class MeshCacheMgr * const this /* r29 */, class RndMesh * mesh /* r27 */, int syncFlags /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803970CC -> 0x8039723C void MeshCacheMgr::StuffMeshes(class MeshCacheMgr * const this /* r29 */, class ObjPtrList & meshes /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8039723C -> 0x8039737C unsigned char CharUtlIsAnimatable(class RndTransformable * bone /* r29 */) { // Local variables class RndMesh * m; // r0 // References // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __RTTI__8CharCuff; // -> struct [anonymous] __RTTI__11CharCollide; // -> struct [anonymous] __RTTI__6RndCam; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x8039737C -> 0x803975C4 static void MoveToFacing(class Transform & t /* r29 */, float * rot /* r30 */, class Vector3 * pos /* r31 */) {} // Range: 0x803975C4 -> 0x80397A48 void * CharUtlBoneSaver::~CharUtlBoneSaver(class CharUtlBoneSaver * const this /* r28 */) { // Local variables int i; // r30 class ObjDirItr bone; // r1+0x2C // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80397A48 -> 0x80397DA4 void CharUtlResetTransform() { // Local variables class ObjDirItr t; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80397DA4 -> 0x80397DAC class CharClip * ClipPredict::Clip() {} // Range: 0x80397DAC -> 0x80397FE0 void ClipPredict::PredictNext(class ClipPredict * const this /* r31 */, float frame /* f29 */) { // Local variables class Vector3 pos; // r1+0x10 float ang; // f31 float dang; // f0 } // Range: 0x80397FE0 -> 0x80398230 void ClipPredict::Predict(class ClipPredict * const this /* r31 */, float startFrame /* f31 */, float endFrame /* f30 */) { // Local variables class Vector3 pos; // r1+0x20 float ang; // r1+0x10 float dang; // f0 } // Range: 0x80398230 -> 0x80398324 void ClipBonePredict::Predict(class ClipBonePredict * const this /* r30 */, class CharClip * clip /* r31 */, float frame /* f31 */) {} // Range: 0x80398324 -> 0x80398B0C void CharUtlValidateStops(class CharClipSet * clips /* r29 */) { // Local variables class ObjDirItr left; // r1+0x50 const char * lf; // r0 char buffer[256]; // r1+0xC0 char * rf; // r30 class CharClip * right; // r28 class ClipPredict pred; // r1+0x70 float stride; // f31 float br; // f30 float leftBlendStart; // f29 class Vector3 leftBlend; // r1+0x40 float rightStride; // f28 float rightBlendStart; // f6 class Vector3 rightBlend; // r1+0x30 float dist; // f30 float frac; // f28 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x80398B0C -> 0x80398C00 class RndTransformable * CharUtlFindBone(const char * prefix /* r0 */, class ObjectDir * parent /* r28 */) { // Local variables char buffer[256]; // r1+0x8 char * c; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80398C00 -> 0x80398F0C void CharUtlResetHair() { // Local variables class ObjDirItr hair; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharHair; } struct { // total size: 0x14 } __vt__12MeshCacheMgr; // size: 0x14, address: 0x808DCA58 struct { // total size: 0x8 } __RTTI__12MeshCacheMgr; // size: 0x8, address: 0x808DCA88 struct { // total size: 0x14 } __vt__10SyncMeshCB; // size: 0x14, address: 0x808DCA90 struct { // total size: 0x8 } __RTTI__10SyncMeshCB; // size: 0x8, address: 0x808DCAB0 struct { // total size: 0x8 } __RTTI__PP10MeshCacher; // size: 0x8, address: 0x808DCC00 struct { // total size: 0x8 } __RTTI__P9Transform; // size: 0x8, address: 0x808DCC18 struct { // total size: 0x8 } __RTTI__PP16RndTransformable; // size: 0x8, address: 0x808DCC38 struct _OKToMemCpy { // total size: 0x1 }; struct Vert { // total size: 0x20 class Vector3 p; // offset 0x0, size 0x10 class Vector3 n; // offset 0x10, size 0x10 }; struct { // total size: 0x8 } __RTTI__PQ210MeshCacher4Vert; // size: 0x8, address: 0x808DCC70 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80398F0C -> 0x80399208 */ // Range: 0x80398F0C -> 0x80398FB8 void * ClipPredict::ClipPredict(class ClipPredict * const this /* r30 */, const class Vector3 & pos /* r31 */, float ang /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80398FB8 -> 0x8039908C void ClipPredict::SetClip(class ClipPredict * const this /* r29 */, class CharClip * c /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8039908C -> 0x80399208 void * ClipBonePredict::ClipBonePredict(class ClipBonePredict * const this /* r27 */, const char * * names /* r28 */, class CharClipSet * clips /* r29 */) { // Local variables int i; // r30 } /* Compile unit: C:\rockband2\system\src\rndobj\MeshDeform.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80399208 -> 0x80399248 */ // Range: 0x80399208 -> 0x80399248 void * SyncMeshCB::~SyncMeshCB(class SyncMeshCB * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80399248 -> 0x803992D0 */ // Range: 0x80399248 -> 0x803992D0 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, char * t2 /* r31 */, float t3 /* f30 */, float t4 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\char\CharBone.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803992D0 -> 0x8039973C */ // Range: 0x803992D0 -> 0x80399344 void CharUtlInit() {} // Range: 0x80399344 -> 0x8039973C void * CharUtlBoneSaver::CharUtlBoneSaver(class CharUtlBoneSaver * const this /* r31 */) { // Local variables class ObjDirItr bone; // r1+0x20 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039973C -> 0x80399768 */ // Range: 0x8039973C -> 0x80399768 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80399768 -> 0x8039A6F4 */ // Range: 0x80399768 -> 0x803997D8 void vector::_M_fill_insert() {} // Range: 0x803997D8 -> 0x80399910 void vector::_M_insert_overflow(class vector * const this /* r27 */, class MeshCacher * * __pos /* r28 */, class MeshCacher * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class MeshCacher * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10MeshCacher; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80399910 -> 0x80399A48 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndTransformable * * __pos /* r28 */, class RndTransformable * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndTransformable * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP16RndTransformable; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80399A48 -> 0x80399B90 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class RndTransformable * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP16RndTransformable; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80399B90 -> 0x80399EBC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Transform * __pos /* r26 */, const class Transform & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Transform * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9Transform; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80399EBC -> 0x8039A180 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27RndMesh4Face; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8039A180 -> 0x8039A3EC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Vert * __pos /* r26 */, const struct Vert & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Vert * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210MeshCacher4Vert; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8039A3EC -> 0x8039A6F4 void vector::_M_fill_insert_aux() { // Local variables struct Vert __x_copy; // r1+0x30 unsigned long __elems_after; // r9 struct Vert * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039A6F4 -> 0x8039A70C */ // Range: 0x8039A6F4 -> 0x8039A70C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\char\CharWalk.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039A70C -> 0x8039C0CC */ class DataArray * types; // size: 0x4, address: 0x80A51440 // Range: 0x8039A70C -> 0x8039A8C8 static float AngleBetween() { // Local variables class Vector3 ta; // r1+0x40 class Vector3 tb; // r1+0x30 class Vector3 tc; // r1+0x20 float la; // r1+0x14 float lb; // r1+0x10 float l1; // f2 float l2; // f0 } // Range: 0x8039A8C8 -> 0x8039A9B0 void * CharWalk::CharWalk(class CharWalk * const this /* r31 */) { // References // -> struct [anonymous] __vt__8CharWalk; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8039A9B0 -> 0x8039AB48 void * CharWalk::~CharWalk(class CharWalk * const this /* r30 */) {} // Range: 0x8039AB48 -> 0x8039ABB4 void CharWalk::SetTypeDef(class CharWalk * const this /* r30 */, class DataArray * d /* r31 */) {} // Range: 0x8039ABB4 -> 0x8039AC10 void CharWalk::SetName(class CharWalk * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9Character; } // Range: 0x8039AC10 -> 0x8039ADB4 void CharWalk::Enter(class CharWalk * const this /* r31 */) {} // Range: 0x8039ADB4 -> 0x8039AF6C void CharWalk::Poll(class CharWalk * const this /* r31 */) { // Local variables class CharClipDriver * most; // r30 } class StlNodeAlloc { // total size: 0x1 }; // Range: 0x8039AF6C -> 0x8039B0EC void CharWalk::ForwardPredict(class CharWalk * const this /* r28 */, class ClipPredict & pred /* r29 */, float kLookAhead /* f30 */, int & dstNode /* r30 */, float & dstFrame /* r31 */) { // Local variables float frame; // f31 float nextFrame; // f30 } // Range: 0x8039B0EC -> 0x8039B290 void CharWalk::BackPredict(class CharWalk * const this /* r29 */, class Vector3 & backPos /* r30 */, int dstNode /* r31 */, float dstFrame /* f30 */) { // Local variables class ClipPredict backPred; // r1+0x10 float end; // f31 int i; // r27 } // Range: 0x8039B290 -> 0x8039B930 void CharWalk::RegulateWalk(class CharWalk * const this /* r28 */) { // Local variables const class CharClipDriver * mostPlaying; // r0 int curNode; // r29 float kLookAhead; // f31 class ClipPredict pred; // r1+0x80 float dstFrame; // r1+0x20 int dstNode; // r1+0x1C class Vector3 backPos; // r1+0x70 class Vector3 delta; // r1+0x60 class Vector3 backProj; // r1+0x50 class Vector3 delta; // r1+0x40 float l; // f0 float deltaPosAng; // f0 float posDang; // f31 float estDist; // f5 float realDist; // f6 class Vector3 lastPos; // r1+0x30 int i; // r4 float delta; // f31 float beatsLeft; // r1+0x18 float l; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class TaskMgr TheTaskMgr; } // Range: 0x8039B930 -> 0x8039BA2C float CharWalk::FindStartFrame(class ClipPredict & pred /* r30 */, float br /* f30 */) { // Local variables class CharClip * stopClip; // r0 float startFrame; // f31 // References // -> class Debug TheDebug; } // Range: 0x8039BA2C -> 0x8039BAF4 void CharWalk::SetWaypoint() {} // Range: 0x8039BAF4 -> 0x8039BB4C unsigned char CharWalk::IsWalkClip() { // Local variables int i; // r7 } // Range: 0x8039BB4C -> 0x8039BC4C void CharWalk::PollDeps(class CharWalk * const this /* r29 */, class list & change /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8039BC4C -> 0x8039BCA4 void CharWalk::Save(class CharWalk * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51448 // Range: 0x8039BCA4 -> 0x8039BD64 void CharWalk::Load(class CharWalk * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8039BD64 -> 0x8039BDB4 void CharWalk::Copy(const class Object * o /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharWalk; } // Range: 0x8039BDB4 -> 0x8039C078 class DataNode CharWalk::Handle(class CharWalk * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x8039C078 -> 0x8039C0CC unsigned char CharWalk::SyncProperty(class DataArray * _prop /* r31 */) {} struct { // total size: 0x98 } __vt__8CharWalk; // size: 0x98, address: 0x808DCD68 /* Compile unit: C:\rockband2\system\src\char\CharWalk.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039C194 -> 0x8039C36C */ // Range: 0x8039C194 -> 0x8039C1D8 class Symbol CharWalk::ClassName() { // References // -> class Symbol name; } // Range: 0x8039C1D8 -> 0x8039C36C void CharWalk::SetType(class CharWalk * const this /* r29 */, class Symbol & CharWalk /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharWeightable.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039C36C -> 0x8039CCEC */ class DataArray * types; // size: 0x4, address: 0x80A51450 // Range: 0x8039C36C -> 0x8039C414 void * CharWeightable::CharWeightable(class CharWeightable * const this /* r31 */) { // References // -> struct [anonymous] __vt__40ObjOwnerPtr<14CharWeightable,9ObjectDir>; // -> struct [anonymous] __vt__14CharWeightable; } // Range: 0x8039C414 -> 0x8039C4FC void CharWeightable::Replace(class CharWeightable * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; } // Range: 0x8039C4FC -> 0x8039C56C void CharWeightable::Save(class CharWeightable * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51458 // Range: 0x8039C56C -> 0x8039C648 void CharWeightable::Load(class CharWeightable * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8039C648 -> 0x8039C774 void CharWeightable::Copy(class CharWeightable * const this /* r29 */, enum CopyType type /* r30 */) { // Local variables const class CharWeightable * w; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; } // Range: 0x8039C774 -> 0x8039CA38 class DataNode CharWeightable::Handle(class CharWeightable * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51460 static class Symbol _s; // size: 0x4, address: 0x80A51468 // Range: 0x8039CA38 -> 0x8039CBAC unsigned char CharWeightable::SyncProperty(class CharWeightable * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8039CBAC -> 0x8039CCEC unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x84 } __vt__14CharWeightable; // size: 0x84, address: 0x808DCEC4 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039CCEC -> 0x8039CE84 */ // Range: 0x8039CCEC -> 0x8039CE84 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; } /* Compile unit: C:\rockband2\system\src\char\CharWeightable.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039CE84 -> 0x8039D124 */ // Range: 0x8039CE84 -> 0x8039CF4C class BinStream & __ls(class BinStream & d /* r30 */, const class ObjOwnerPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8039CF4C -> 0x8039CF90 class Symbol CharWeightable::ClassName() { // References // -> class Symbol name; } // Range: 0x8039CF90 -> 0x8039D124 void CharWeightable::SetType(class CharWeightable * const this /* r29 */, class Symbol & CharWeightable /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\char\CharWeightSetter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039D1D8 -> 0x8039E68C */ class DataArray * types; // size: 0x4, address: 0x80A51470 // Range: 0x8039D1D8 -> 0x8039D35C void * CharWeightSetter::CharWeightSetter(class CharWeightSetter * const this /* r31 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10CharDriver,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16CharWeightSetter,9ObjectDir>; // -> struct [anonymous] __vt__16CharWeightSetter; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x8039D35C -> 0x8039D368 void CharWeightSetter::SetWeight() {} // Range: 0x8039D368 -> 0x8039D500 void CharWeightSetter::Poll(class CharWeightSetter * const this /* r30 */) { // Local variables float delta; // f2 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8039D500 -> 0x8039D73C void CharWeightSetter::PollDeps(class CharWeightSetter * const this /* r30 */, class list & changedBy /* r28 */, class list & change /* r31 */) { // Local variables struct _List_iterator it; // r1+0x28 class CharWeightable * w; // r3 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8039D73C -> 0x8039D83C void CharWeightSetter::Save(class CharWeightSetter * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51478 struct Node { // total size: 0xC class CharWeightable * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x8039D83C -> 0x8039DC40 void CharWeightSetter::Load(class CharWeightSetter * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class ObjPtrList w; // r1+0x24 class iterator it; // r1+0x20 // References // -> const char * kAssertStr; // -> struct [anonymous] __vt__39ObjPtrList<14CharWeightable,9ObjectDir>; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x8039DC40 -> 0x8039DDA0 void CharWeightSetter::Copy(class CharWeightSetter * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class CharWeightSetter * b; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16CharWeightSetter; } // Range: 0x8039DDA0 -> 0x8039E064 class DataNode CharWeightSetter::Handle(class CharWeightSetter * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51480 static class Symbol _s; // size: 0x4, address: 0x80A51488 static class Symbol _s; // size: 0x4, address: 0x80A51490 static class Symbol _s; // size: 0x4, address: 0x80A51498 static class Symbol _s; // size: 0x4, address: 0x80A514A0 static class Symbol _s; // size: 0x4, address: 0x80A514A8 static class Symbol _s; // size: 0x4, address: 0x80A514B0 static class Symbol _s; // size: 0x4, address: 0x80A514B8 // Range: 0x8039E064 -> 0x8039E68C unsigned char CharWeightSetter::SyncProperty(class CharWeightSetter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x18 } __vt__39ObjPtrList<14CharWeightable,9ObjectDir>; // size: 0x18, address: 0x808DD0C8 struct { // total size: 0x8 } __RTTI__39ObjPtrList<14CharWeightable,9ObjectDir>; // size: 0x8, address: 0x808DD118 struct { // total size: 0xB8 } __vt__16CharWeightSetter; // size: 0xB8, address: 0x808DD120 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039E68C -> 0x8039EDD8 */ // Range: 0x8039E68C -> 0x8039EA28 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8039EA28 -> 0x8039EBD4 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__39ObjPtrList<14CharWeightable,9ObjectDir>; } // Range: 0x8039EBD4 -> 0x8039EDD0 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14CharWeightable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8039EDD0 -> 0x8039EDD8 class Object * ObjPtrList::RefOwner() {} /* Compile unit: C:\rockband2\system\src\char\CharWeightSetter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039F018 -> 0x8039F1F0 */ // Range: 0x8039F018 -> 0x8039F05C class Symbol CharWeightSetter::ClassName() { // References // -> class Symbol name; } // Range: 0x8039F05C -> 0x8039F1F0 void CharWeightSetter::SetType(class CharWeightSetter * const this /* r29 */, class Symbol & CharWeightSetter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039F1F0 -> 0x8039F34C */ // Range: 0x8039F1F0 -> 0x8039F34C unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10CharDriver; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\char\ClipCollide.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8039F34C -> 0x803A3A44 */ class DataArray * types; // size: 0x4, address: 0x80A514C0 // Range: 0x8039F34C -> 0x8039F4E0 void * ClipCollide::~ClipCollide(class ClipCollide * const this /* r30 */) { // References // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Waypoint,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__11ClipCollide; } // Range: 0x8039F4E0 -> 0x8039F5D8 void ClipCollide::SyncChar(class ClipCollide * const this /* r29 */) { // Local variables class FilePath f; // r1+0x14 class FilePath cur; // r1+0x8 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } static class Symbol front; // size: 0x4, address: 0x80A514C8 static class Symbol back; // size: 0x4, address: 0x80A514D0 static class Symbol left; // size: 0x4, address: 0x80A514D8 static class Symbol right; // size: 0x4, address: 0x80A514E0 // Range: 0x8039F5D8 -> 0x8039F904 void ClipCollide::SyncWaypoint(class ClipCollide * const this /* r31 */) { // Local variables class Transform t; // r1+0x10 float yRadius; // f0 // References // -> static class Symbol right; // -> static class Symbol left; // -> static class Symbol back; // -> static class Symbol front; } // Range: 0x8039F904 -> 0x8039FD04 void ClipCollide::AddReport(class ClipCollide * const this /* r30 */, class Vector3 & pos /* r31 */) { // Local variables struct Report r; // r1+0x50 class String p; // r1+0x40 // References // -> const char * gNullStr; } // Range: 0x8039FD04 -> 0x803A0320 void ClipCollide::PickReport(class ClipCollide * const this /* r30 */, const char * r /* r27 */) { // Local variables int which; // r0 class Message mc; // r1+0x28 class DataNode n; // r1+0x20 class Vector3 dir; // r1+0x40 class Transform t; // r1+0x50 // References // -> struct [anonymous] __RTTI__6RndCam; // -> struct [anonymous] __vt__7Message; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8CharClip; } // Range: 0x803A0320 -> 0x803A0634 void ClipCollide::ClearReport(class ClipCollide * const this /* r31 */) {} // Range: 0x803A0634 -> 0x803A068C void ClipCollide::Demonstrate(class ClipCollide * const this /* r31 */) {} // Range: 0x803A068C -> 0x803A06C0 unsigned char ClipCollide::ValidState() {} // Range: 0x803A06C0 -> 0x803A0754 void ClipCollide::SetTypeDef(class ClipCollide * const this /* r30 */, class DataArray * d /* r31 */) {} // Range: 0x803A0754 -> 0x803A0BB4 void ClipCollide::Collide(class ClipCollide * const this /* r28 */) { // Local variables class RndDrawable * w; // r31 char * names[3]; // r1+0x7C class RndTransformable * meshes[3]; // r1+0x70 class Vector3 points[3]; // r1+0xB0 int i; // r29 class CharServoBone * b; // r30 float delta; // f31 float f; // f30 int i; // r29 class Vector3 p; // r1+0x60 class Segment s; // r1+0x90 float dist; // r1+0x10 class Plane plane; // r1+0x50 class RndDrawable * d; // r26 class Vector3 pos; // r1+0x40 unsigned char punt; // r27 class RndMesh * mesh; // r0 // References // -> struct [anonymous] __RTTI__7RndMesh; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11RndDrawable; } // Range: 0x803A0BB4 -> 0x803A0BD4 class CharClipSet * ClipCollide::Clips() {} static class Message vw; // size: 0x8, address: 0x8097E018 // Range: 0x803A0BD4 -> 0x803A0E54 unsigned char ClipCollide::ValidWaypoint(class ClipCollide * const this /* r30 */, class Waypoint * w /* r31 */) { // Local variables class DataNode ret; // r1+0x28 // References // -> static class Message vw; // -> struct [anonymous] __vt__7Message; } static class Message vw; // size: 0x8, address: 0x8097E030 // Range: 0x803A0E54 -> 0x803A11A4 unsigned char ClipCollide::ValidClip(class ClipCollide * const this /* r30 */, class CharClip * clip /* r31 */) { // Local variables class DataNode ret; // r1+0x38 // References // -> static class Message vw; // -> struct [anonymous] __vt__7Message; } // Range: 0x803A11A4 -> 0x803A12AC void ClipCollide::TestChars(class ClipCollide * const this /* r29 */) { // Local variables class DataArray * chars; // r31 int i; // r30 class String s; // r1+0xC } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class Waypoint * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x803A12AC -> 0x803A1628 void ClipCollide::TestWaypoints(class ClipCollide * const this /* r31 */) { // Local variables class ObjDirItr w; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } // Range: 0x803A1628 -> 0x803A1758 void ClipCollide::TestClips(class ClipCollide * const this /* r30 */) { // Local variables class CharClipSet * clips; // r0 int i; // r31 class CharClip * c; // r28 char * poses[4]; // r1+0x10 int j; // r27 } // Range: 0x803A1758 -> 0x803A1A00 class DataNode ClipCollide::OnVenueName() { // Local variables class String s; // r1+0x28 class Message cf; // r1+0x20 class DataNode n; // r1+0x18 char buffer[256]; // r1+0x38 int len; // r0 char * c; // r4 // References // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> class ObjectDir * sMainDir; } int gRev; // size: 0x4, address: 0x80A514E8 // Range: 0x803A1A00 -> 0x803A1A88 void ClipCollide::Save(class ClipCollide * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803A1A88 -> 0x803A1B8C void ClipCollide::Load(class ClipCollide * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class Debug TheDebug; // -> int gRev; } // Range: 0x803A1B8C -> 0x803A1BD8 void ClipCollide::Copy(const class Object * o /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11ClipCollide; } // Range: 0x803A1BD8 -> 0x803A1D80 void ClipCollide::SyncMode(class ClipCollide * const this /* r31 */) { // Local variables class Message m; // r1+0x30 // References // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; } static class Symbol _s; // size: 0x4, address: 0x80A514F0 static class Symbol _s; // size: 0x4, address: 0x80A514F8 static class Symbol _s; // size: 0x4, address: 0x80A51500 static class Symbol _s; // size: 0x4, address: 0x80A51508 static class Symbol _s; // size: 0x4, address: 0x80A51510 static class Symbol _s; // size: 0x4, address: 0x80A51518 static class Symbol _s; // size: 0x4, address: 0x80A51520 static class Symbol _s; // size: 0x4, address: 0x80A51528 static class Symbol _s; // size: 0x4, address: 0x80A51530 static class Symbol _s; // size: 0x4, address: 0x80A51538 // Range: 0x803A1D80 -> 0x803A2AA4 class DataNode ClipCollide::Handle(class ClipCollide * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x48 class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x803A2AA4 -> 0x803A2D5C class DataNode ClipCollide::OnListClips(class DataNode * ret /* r30 */, class ClipCollide * const this /* r31 */) { // Local variables class list l; // r1+0x58 class CharClipSet * clips; // r0 int i; // r28 class CharClip * c; // r27 int i; // r27 struct _List_iterator it; // r1+0x34 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; } class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x803A2D5C -> 0x803A32BC class DataNode ClipCollide::OnListWaypoints(class DataNode * ret /* r29 */, class ClipCollide * const this /* r30 */) { // Local variables class list l; // r1+0x68 class ObjDirItr w; // r1+0x70 int i; // r30 struct _List_iterator it; // r1+0x44 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class _List_node : public _List_node_base { // total size: 0xC public: class Waypoint * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x808DD8C8 static class Symbol _s; // size: 0x4, address: 0x80A51540 static class Symbol _s; // size: 0x4, address: 0x80A51548 static class Symbol _s; // size: 0x4, address: 0x80A51550 static class Symbol _s; // size: 0x4, address: 0x80A51558 static class Symbol _s; // size: 0x4, address: 0x80A51560 static class Symbol _s; // size: 0x4, address: 0x80A51568 static class Symbol _s; // size: 0x4, address: 0x80A51570 static class Symbol _s; // size: 0x4, address: 0x80A51578 static class Symbol _s; // size: 0x4, address: 0x80A51580 static class Symbol _s; // size: 0x4, address: 0x80A51588 // Range: 0x803A32BC -> 0x803A3A44 unsigned char ClipCollide::SyncProperty(class ClipCollide * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x54 } __vt__11ClipCollide; // size: 0x54, address: 0x808DD9F8 struct { // total size: 0x8 } __RTTI__11ClipCollide; // size: 0x8, address: 0x808DDA70 struct { // total size: 0x18 } __vt__29ObjPtr<9Character,9ObjectDir>; // size: 0x18, address: 0x808DDAC0 struct { // total size: 0x8 } __RTTI__29ObjPtr<9Character,9ObjectDir>; // size: 0x8, address: 0x808DDB08 struct { // total size: 0x8 } __RTTI__PQ211ClipCollide6Report; // size: 0x8, address: 0x808DDEB8 /* Compile unit: C:\rockband2\system\src\char\ClipCollide.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A3A44 -> 0x803A3D04 */ // Range: 0x803A3A44 -> 0x803A3B40 void * ClipCollide::ClipCollide(class ClipCollide * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__28ObjPtr<8CharClip,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8Waypoint,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; // -> struct [anonymous] __vt__11ClipCollide; } // Range: 0x803A3B40 -> 0x803A3B84 class Symbol ClipCollide::ClassName() { // References // -> class Symbol name; } // Range: 0x803A3B84 -> 0x803A3D04 void ClipCollide::SetType(class ClipCollide * const this /* r29 */, class Symbol & ClipCollide /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A3D04 -> 0x803A3EF8 */ // Range: 0x803A3D04 -> 0x803A3ED0 class DataNode ClipCollide::OnListReport(class DataNode * ret /* r28 */, class ClipCollide * const this /* r29 */) { // Local variables class DataArray * d; // r31 int i; // r30 } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A3EF8 -> 0x803A4248 */ // Range: 0x803A3EF8 -> 0x803A3F6C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; } // Range: 0x803A3F6C -> 0x803A4000 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803A4000 -> 0x803A419C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Character; } // Range: 0x803A419C -> 0x803A41A4 class Object * ObjPtr::RefOwner() {} // Range: 0x803A41A4 -> 0x803A4248 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Character; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A4248 -> 0x803A43B8 */ // Range: 0x803A4248 -> 0x803A43B8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A43B8 -> 0x803A4440 */ // Range: 0x803A43B8 -> 0x803A4440 char * MakeString(const char * fmt /* r0 */, int t1 /* r28 */, char * t2 /* r29 */, const char * t3 /* r30 */, char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A4440 -> 0x803A4948 */ // Range: 0x803A4440 -> 0x803A47EC void _S_sort(class list & __that /* r28 */, struct AlphaSort & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x803A47EC -> 0x803A48E8 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803A48E8 -> 0x803A4948 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A4948 -> 0x803A49A4 */ // Range: 0x803A4948 -> 0x803A494C class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x803A494C -> 0x803A49A4 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A49A4 -> 0x803A4B00 */ // Range: 0x803A49A4 -> 0x803A4B00 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Character; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A4B00 -> 0x803A55FC */ // Range: 0x803A4B00 -> 0x803A55FC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Report * __pos /* r26 */, const struct Report & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Report * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211ClipCollide6Report; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\char\ClipCompressor.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A55FC -> 0x803A6754 */ static int total; // size: 0x4, address: 0x80A51590 static int saved; // size: 0x4, address: 0x80A51594 // Range: 0x803A55FC -> 0x803A5AD8 void ClipCompressor::CompressAll(class ClipCompressor * const this /* r29 */) { // Local variables class CharClipSamples * maxClip; // r30 float maxFrac; // f31 class ObjDirItr clip; // r1+0x18 int size; // r0 int saved; // r0 float frac; // f0 // References // -> static int saved; // -> static int total; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15CharClipSamples; // -> class Debug TheDebug; } // Range: 0x803A5AD8 -> 0x803A5C64 void ClipCompressor::FillInFrames(class ClipCompressor * const this /* r31 */) { // Local variables int k; // r4 int front; // r5 int back; // r6 int spacing; // r7 int i; // r8 } // Range: 0x803A5C64 -> 0x803A5DD8 void ClipCompressor::BackAdjust(class ClipCompressor * const this /* r31 */) { // Local variables int j; // r30 int front; // r29 int back; // r28 int minMiddle; // r27 float minErr; // f31 float oldErr; // f0 int middle; // r26 float err; // r1+0xC float err2; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803A5DD8 -> 0x803A60CC int ClipCompressor::CompressClip(class ClipCompressor * const this /* r28 */, class CharClipSamples * c /* r29 */, unsigned char finish /* r30 */) { // Local variables float avErr; // f31 float maxErr; // f30 float err; // r1+0x2C int b; // r25 int saved; // r25 int total; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803A60CC -> 0x803A61F4 void ClipCompressor::FinishClip(class ClipCompressor * const this /* r31 */) { // Local variables int last; // r5 int i; // r29 int index; // r28 int gap; // r5 } // Range: 0x803A61F4 -> 0x803A6264 void ClipCompressor::PoseSingle(class ClipCompressor * const this /* r30 */, int sample /* r31 */) {} // Range: 0x803A6264 -> 0x803A63D4 void ClipCompressor::PoseDouble(class ClipCompressor * const this /* r29 */, float sample /* f31 */, int front /* r30 */, int back /* r31 */) { // Local variables float frac; // f31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803A63D4 -> 0x803A645C int ClipCompressor::FindNextFrame(class ClipCompressor * const this /* r27 */, float & err /* r28 */) { // Local variables int numSamples; // r31 int back; // r30 int front; // r29 float curErr; // f0 } // Range: 0x803A645C -> 0x803A6528 float ClipCompressor::CompressError(class ClipCompressor * const this /* r28 */, int front /* r29 */, int back /* r30 */) { // Local variables float maxError; // f31 int i; // r31 } // Range: 0x803A6528 -> 0x803A65F8 void ClipCompressor::InitError(class ClipCompressor * const this /* r28 */) { // Local variables int j; // r29 } // Range: 0x803A65F8 -> 0x803A6754 float ClipCompressor::GrabError(class ClipCompressor * const this /* r28 */) { // Local variables float maxError; // f31 int i; // r29 float d2; // f0 } struct { // total size: 0x8 } __RTTI__PQ214ClipCompressor8BoneDesc; // size: 0x8, address: 0x808DE1E0 /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A6754 -> 0x803A6990 */ // Range: 0x803A6754 -> 0x803A6990 void ClipCompressor::SetupCompression(class ClipCompressor * const this /* r26 */, class CharClipSet * clips /* r27 */) { // Local variables class DataArray * compression; // r29 class DataArray * ends; // r29 int i; // r28 struct BoneDesc d; // r1+0x30 } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A6990 -> 0x803A6A78 */ // Range: 0x803A6990 -> 0x803A6A04 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, int t2 /* r31 */, float t3 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x803A6A04 -> 0x803A6A78 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r31 */, float t2 /* f30 */, float t3 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A6A78 -> 0x803A6D24 */ // Range: 0x803A6A78 -> 0x803A6D24 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BoneDesc * __pos /* r26 */, const struct BoneDesc & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BoneDesc * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214ClipCompressor8BoneDesc; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A6D24 -> 0x803A6D28 */ // Range: 0x803A6D24 -> 0x803A6D28 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A6D28 -> 0x803A725C */ // Range: 0x803A6D28 -> 0x803A6FBC class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector3; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803A6FBC -> 0x803A702C void vector::_M_fill_insert() {} // Range: 0x803A702C -> 0x803A725C void vector::_M_fill_insert_aux() { // Local variables class Vector3 __x_copy; // r1+0x30 unsigned long __elems_after; // r8 class Vector3 * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\char\DisplayDriver.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A725C -> 0x803A8A10 */ static float kXOffset; // size: 0x4, address: 0x80A56F58 static float kBarHeight; // size: 0x4, address: 0x80A56F5C static float kSpacing; // size: 0x4, address: 0x80A56F60 class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class MsgSource * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x803A725C -> 0x803A75C4 static class Object * FindSource(class Object * d /* r31 */) { // Local variables class ObjDirItr p; // r1+0x2C struct _List_iterator it; // r1+0x28 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MsgSource; // -> class ObjectDir * sMainDir; } static class Message msg; // size: 0x8, address: 0x8097E048 class CharDriverDisplay { // total size: 0x20 protected: float mBeatScale; // offset 0x0, size 0x4 class vector mXOffsets; // offset 0x4, size 0xC float mYOffset; // offset 0x10, size 0x4 float mBarWidth; // offset 0x14, size 0x4 float mEm; // offset 0x18, size 0x4 float mRight; // offset 0x1C, size 0x4 }; // Range: 0x803A75C4 -> 0x803A7FA8 float CharDriverDisplay::Draw(class CharDriverDisplay * const this /* r23 */, class CharDriver * d /* r24 */, float top /* f30 */) { // Local variables int count; // r29 class Object * source; // r30 float bottom; // f31 char buffer[256]; // r1+0x100 class CharClipDriver * cd; // r0 float frame; // f29 float sample; // f2 class CharClipDriver * c; // r22 class CharClipDriver * entryB; // r28 int aCount; // r27 const class NodeVector * nv; // r0 int i; // r26 int aOffset; // r21 int bOffset; // r25 class Vector2 p; // r1+0x68 int j; // r20 class CharClipDriver * c; // r0 unsigned char first; // r20 int i; // r21 class Vector2 p; // r1+0x60 float height; // f29 class Rect r; // r1+0xF0 // References // -> class TaskMgr TheTaskMgr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static float kXOffset; // -> static float kSpacing; // -> class Rnd & TheRnd; } // Range: 0x803A7FA8 -> 0x803A8240 void CharDriverDisplay::SetOffsets(class CharDriverDisplay * const this /* r30 */, float top /* f30 */, class CharDriver * d /* r31 */) { // Local variables class CharClipDriver * c; // r26 float tmp; // f31 int i; // r25 // References // -> static float kXOffset; // -> static float kSpacing; // -> class Rnd & TheRnd; } // Range: 0x803A8240 -> 0x803A83E4 void CharDriverDisplay::DrawTransition(class CharDriverDisplay * const this /* r29 */, class CharClipDriver * d /* r30 */, int which /* r31 */, float frame /* f30 */, float blendWidth /* f31 */) { // Local variables class Rect r; // r1+0x30 // References // -> class Rnd & TheRnd; // -> static float kBarHeight; } // Range: 0x803A83E4 -> 0x803A874C void CharDriverDisplay::DrawTrack(class CharDriverDisplay * const this /* r29 */, int which /* r30 */) { // Local variables class CharClip * c; // r0 class Rect r; // r1+0xA0 class Color col; // r1+0x90 float kTickHeight; // f30 float beat; // f29 float beatScale; // f0 float firstBeat; // f28 class Color col; // r1+0x80 float height; // f27 class Rect r; // r1+0x70 // References // -> class Rnd & TheRnd; // -> static float kBarHeight; } // Range: 0x803A874C -> 0x803A884C void CharDriverDisplay::DrawBeat(class CharDriverDisplay * const this /* r28 */, int which /* r29 */, float beat /* f30 */, const class Color & col /* r30 */) { // Local variables const char * s; // r0 // References // -> class Rnd & TheRnd; } // Range: 0x803A884C -> 0x803A8940 void CharDriverDisplay::DrawCursor(class CharDriverDisplay * const this /* r30 */, int which /* r31 */, float frame /* f30 */) { // Local variables float kOver; // f31 class Rect r; // r1+0x20 // References // -> class Rnd & TheRnd; // -> static float kBarHeight; } // Range: 0x803A8940 -> 0x803A8958 float CharDriverDisplay::GetX() {} // Range: 0x803A8958 -> 0x803A8998 float CharDriverDisplay::GetY() { // References // -> static float kSpacing; } // Range: 0x803A8998 -> 0x803A8A10 float DisplayCharDriver() { // Local variables class CharDriverDisplay dc; // r1+0x10 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A8A10 -> 0x803A8B80 */ // Range: 0x803A8A10 -> 0x803A8B80 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MsgSource; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A8B80 -> 0x803A8BF4 */ // Range: 0x803A8B80 -> 0x803A8BF4 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, float t2 /* f31 */, char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\char\DisplayIKMidi.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A8BF4 -> 0x803A9354 */ static class Message msg; // size: 0x8, address: 0x8097E060 // Range: 0x803A8BF4 -> 0x803A91F8 static void DoDebugDraws(class CharIKMidi * m /* r31 */, float y /* f31 */) { // Local variables class ObjDirItr p; // r1+0x68 struct _List_iterator it; // r1+0x30 // References // -> class TaskMgr TheTaskMgr; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MsgSource; // -> class ObjectDir * sMainDir; } // Range: 0x803A91F8 -> 0x803A9354 float DisplayIKMidi(class CharIKMidi * m /* r31 */, float top /* f30 */) { // Local variables class Color white; // r1+0x20 float kSpacing; // f31 float kLeft; // f0 class Vector2 pos; // r1+0x10 // References // -> class Rnd & TheRnd; } /* Compile unit: C:\rockband2\system\src\char\OutfitLoader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803A9354 -> 0x803AF4D8 */ class DataArray * types; // size: 0x4, address: 0x80A515A8 unsigned char sDisableAll; // size: 0x1, address: 0x80A515AD // Range: 0x803A9354 -> 0x803A9394 class Symbol Category::Name() {} // Range: 0x803A9394 -> 0x803A94F0 int Category::GetOutfitIndex(const struct Category * const this /* r27 */, const class DataNode & n /* r28 */, unsigned char notify /* r29 */) { // Local variables int i; // r30 class String s; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803A94F0 -> 0x803A95A4 void Category::Clear(struct Category * const this /* r30 */, unsigned char isChanged /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol none; // size: 0x4, address: 0x80A515B0 // Range: 0x803A95A4 -> 0x803A962C class Symbol Category::OutfitName(const struct Category * const this /* r30 */, int outfit /* r31 */) { // References // -> static class Symbol none; } // Range: 0x803A962C -> 0x803A976C class DataNode Category::OutfitList(class DataNode * n /* r30 */, struct Category * const this /* r31 */) { // Local variables class DataArray * arr; // r29 int i; // r28 } static class Timer * _t; // size: 0x4, address: 0x80A515B4 // Range: 0x803A976C -> 0x803A98F8 void Category::SetAllowShowing(struct Category * const this /* r30 */, unsigned char allowed /* r31 */) { // Local variables class AutoTimer _at; // r1+0x20 class iterator i; // r1+0x1C class RndDrawable * mesh; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> static class Timer * _t; } // Range: 0x803A98F8 -> 0x803A9938 class Symbol Outfit::Name() {} // Range: 0x803A9938 -> 0x803A9A1C void * OutfitLoader::OutfitLoader(class OutfitLoader * const this /* r29 */) { // References // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__12OutfitLoader; } class _List_node : public _List_node_base { // total size: 0x1C public: struct LoaderDesc _M_data; // offset 0x8, size 0x14 }; // Range: 0x803A9A1C -> 0x803A9D60 void * OutfitLoader::~OutfitLoader(class OutfitLoader * const this /* r27 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__12OutfitLoader; } static class Symbol path; // size: 0x4, address: 0x80A515BC static class Symbol outfits; // size: 0x4, address: 0x80A515C4 static class DataNode & meVar; // size: 0x4, address: 0x80A515CC // Range: 0x803A9D60 -> 0x803AA938 void OutfitLoader::SetTypeDef(class OutfitLoader * const this /* r30 */, class DataArray * d /* r31 */) { // Local variables class DataNode oldMe; // r1+0x78 class DataArray * cats; // r23 int i; // r26 class DataArray * pathData; // r22 class DataArray * outfitData; // r27 int j; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; // -> static class DataNode & meVar; // -> static class Symbol outfits; // -> static class Symbol path; } // Range: 0x803AA938 -> 0x803AAA98 void OutfitLoader::Reset(class OutfitLoader * const this /* r30 */) { // Local variables int i; // r31 struct Category & category; // r0 int j; // r27 } // Range: 0x803AAA98 -> 0x803AABB0 void OutfitLoader::SetPrefab(class OutfitLoader * const this /* r28 */, const class DataArray * data /* r29 */) { // Local variables class String s; // r1+0x18 int i; // r30 // References // -> class Debug TheDebug; } // Range: 0x803AABB0 -> 0x803AAC04 struct Category * OutfitLoader::FindCategory(class OutfitLoader * const this /* r31 */) { // Local variables int i; // r0 } // Range: 0x803AAC04 -> 0x803AACE8 int OutfitLoader::FindCategoryIndex(class OutfitLoader * const this /* r28 */, class Symbol & name /* r29 */, unsigned char fail /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x803AACE8 -> 0x803AAD7C int OutfitLoader::FindOutfitIndex(class Symbol & outfit /* r31 */) { // Local variables struct Category * cat; // r0 } // Range: 0x803AAD7C -> 0x803AAE80 void OutfitLoader::Select(class OutfitLoader * const this /* r28 */, struct Category * cat /* r29 */, int select /* r30 */, int dir /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x803AAE80 -> 0x803AAF48 void OutfitLoader::Select(class OutfitLoader * const this /* r28 */, class Symbol & outfit /* r30 */, int dir /* r29 */) { // Local variables struct Category * cat; // r31 int o; // r30 } // Range: 0x803AAF48 -> 0x803AB064 unsigned char OutfitLoader::IsMatch(class DataArray * d /* r25 */, struct Category * cat /* r26 */) { // Local variables int outfit; // r30 int i; // r29 class DataArray * e; // r28 int j; // r27 } // Range: 0x803AB064 -> 0x803AB0CC unsigned char OutfitLoader::CanShow() {} class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x803AB0CC -> 0x803AB288 unsigned char OutfitLoader::TryShow(class OutfitLoader * const this /* r25 */, struct Category * cat /* r26 */, int outfit /* r27 */, unsigned char force /* r28 */) { // Local variables unsigned char success; // r30 int first; // r29 class vector changed; // r1+0x10 } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Category * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Category * * _M_start; // offset 0x0, size 0x4 struct Category * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x803AB288 -> 0x803AB318 void OutfitLoader::ReshowChanged(class OutfitLoader * const this /* r29 */, class vector & changed /* r30 */) { // Local variables int i; // r31 struct Category * cat; // r4 } static class Symbol hide; // size: 0x4, address: 0x80A515D4 static class Symbol unhide; // size: 0x4, address: 0x80A515DC static class Symbol desire; // size: 0x4, address: 0x80A515E4 // Range: 0x803AB318 -> 0x803AB46C void OutfitLoader::ChangeRestrictions(class OutfitLoader * const this /* r27 */, struct Category * cat /* r28 */, int delta /* r29 */, class vector & changed /* r30 */) { // Local variables const class DataArray * data; // r31 // References // -> static class Symbol desire; // -> static class Symbol unhide; // -> static class Symbol hide; } // Range: 0x803AB46C -> 0x803AB590 void OutfitLoader::UpdateExclude(class OutfitLoader * const this /* r26 */, struct Category * cat /* r27 */, int delta /* r28 */, class vector & changed /* r29 */) { // Local variables int i; // r30 } // Range: 0x803AB590 -> 0x803AB748 void OutfitLoader::Exclude(class OutfitLoader * const this /* r27 */, class DataArray * d /* r28 */, int delta /* r29 */, class vector & changed /* r30 */) { // Local variables int i; // r31 class DataArray * e; // r26 struct Category * cat; // r1+0x14 int j; // r5 int j; // r25 } // Range: 0x803AB748 -> 0x803AB88C void OutfitLoader::UpdateDesire(class OutfitLoader * const this /* r26 */, class DataArray * data /* r27 */, int delta /* r28 */, class vector & changed /* r29 */) { // Local variables int j; // r30 struct Category * cat; // r1+0x14 } // Range: 0x803AB88C -> 0x803ABA4C void OutfitLoader::UpdateHide(class OutfitLoader * const this /* r27 */, class DataArray * d /* r28 */, int delta /* r29 */, class vector & changed /* r30 */) { // Local variables int j; // r31 class DataArray * h; // r26 struct Category * cat; // r1+0x14 int k; // r5 int k; // r25 } // Range: 0x803ABA4C -> 0x803ABA54 void OutfitLoader::StartLoad() {} static class Message changeOutfit; // size: 0x8, address: 0x8097E078 // Range: 0x803ABA54 -> 0x803ABDB8 void OutfitLoader::StartLoadInternal(class OutfitLoader * const this /* r29 */, unsigned char async /* r30 */, unsigned char loading /* r31 */) { // Local variables int i; // r28 // References // -> class LoadMgr TheLoadMgr; // -> static class Message changeOutfit; // -> struct [anonymous] __vt__7Message; } // Range: 0x803ABDB8 -> 0x803ABE64 void OutfitLoader::Clear(class OutfitLoader * const this /* r30 */) { // Local variables int i; // r31 } static class Symbol none; // size: 0x4, address: 0x80A515EC static class Message msg; // size: 0x8, address: 0x8097E090 // Range: 0x803ABE64 -> 0x803AC2B4 void OutfitLoader::CreatePath(class OutfitLoader * const this /* r27 */, class FilePath & p /* r28 */, const struct Category & cat /* r29 */, class Symbol & outfit /* r30 */) { // Local variables class DataNode ret; // r1+0x58 class FilePathTracker _fptracker; // r1+0x6C class FilePathTracker _fptracker; // r1+0x60 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; // -> static class Symbol none; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x803AC2B4 -> 0x803AC518 void OutfitLoader::MergeMiloFile(class OutfitLoader * const this /* r30 */, struct Category & cat /* r31 */) { // Local variables struct _List_iterator it; // r1+0x20 struct LoaderDesc d; // r1+0x30 class FilePathTracker _fptracker; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std40_List_node; // -> unsigned char gStlAllocNameLookup; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std40_List_node; // size: 0x8, address: 0x808DE4C8 // Range: 0x803AC518 -> 0x803AC654 void OutfitLoader::NoneFinishedLoading(class OutfitLoader * const this /* r29 */, class Loader * l /* r30 */) { // References // -> unsigned char sDisableAll; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803AC654 -> 0x803AC728 void OutfitLoader::CheckDone(class OutfitLoader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803AC728 -> 0x803AC8F0 void OutfitLoader::Save(class OutfitLoader * const this /* r27 */, class BinStream & d /* r28 */) { // Local variables int i; // r30 const struct Category & cat; // r0 int j; // r29 // References // -> class FilePath sRoot; } // Range: 0x803AC8F0 -> 0x803AC8F4 void OutfitLoader::PostLoad() {} // Range: 0x803AC8F4 -> 0x803AC950 void OutfitLoader::Load(class OutfitLoader * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803AC950 -> 0x803AC9D4 void OutfitLoader::Copy(class OutfitLoader * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class OutfitLoader * s; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitLoader; } static class Symbol _s; // size: 0x4, address: 0x80A515F4 static class Symbol _s; // size: 0x4, address: 0x80A515FC static class Symbol _s; // size: 0x4, address: 0x80A51604 static class Symbol _s; // size: 0x4, address: 0x80A5160C static class Symbol _s; // size: 0x4, address: 0x80A51614 static class Symbol _s; // size: 0x4, address: 0x80A5161C static class Symbol _s; // size: 0x4, address: 0x80A51624 static class Symbol _s; // size: 0x4, address: 0x80A5162C static class Symbol _s; // size: 0x4, address: 0x80A51634 static class Symbol _s; // size: 0x4, address: 0x80A5163C static class Symbol _s; // size: 0x4, address: 0x80A51644 static class Symbol _s; // size: 0x4, address: 0x80A5164C static class Symbol _s; // size: 0x4, address: 0x80A51654 static class Symbol _s; // size: 0x4, address: 0x80A5165C static class Symbol _s; // size: 0x4, address: 0x80A51664 // Range: 0x803AC9D4 -> 0x803ADD2C class DataNode OutfitLoader::Handle(class OutfitLoader * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0xAC class MessageTimer _mt; // r1+0xE0 class DataNode r; // r1+0xD8 class DataNode r; // r1+0xD0 class DataNode r; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode _n; // r1+0xB0 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x803ADD2C -> 0x803ADEF0 class DataNode OutfitLoader::OnListCategories(class DataNode * n /* r28 */, class OutfitLoader * const this /* r29 */) { // Local variables class DataArray * cats; // r31 int i; // r30 } // Range: 0x803ADEF0 -> 0x803ADF7C class DataNode OutfitLoader::OnStartLoad(class OutfitLoader * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x803ADF7C -> 0x803ADF8C class DataNode OutfitLoader::OnMergeBack() {} // Range: 0x803ADF8C -> 0x803AE0B0 class DataNode OutfitLoader::OnSelectAll(class OutfitLoader * const this /* r30 */, class DataArray * arr /* r31 */) { // Local variables int s; // r1+0xC int i; // r31 } struct FileStat { // total size: 0x14 unsigned int st_mode; // offset 0x0, size 0x4 unsigned int st_size; // offset 0x4, size 0x4 unsigned long st_ctime; // offset 0x8, size 0x4 unsigned long st_atime; // offset 0xC, size 0x4 unsigned long st_mtime; // offset 0x10, size 0x4 }; // Range: 0x803AE0B0 -> 0x803AE210 class DataNode OutfitLoader::OnValidate(class OutfitLoader * const this /* r28 */) { // Local variables int i; // r31 struct Category & cat; // r30 int j; // r29 class FilePath p; // r1+0x10 struct FileStat fstat; // r1+0x1C // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; } static class OutfitLoader * gLoader; // size: 0x4, address: 0x80A51668 static class Symbol _s; // size: 0x4, address: 0x80A51670 static class Symbol _s; // size: 0x4, address: 0x80A51678 static class Symbol _s; // size: 0x4, address: 0x80A51680 static class Symbol _s; // size: 0x4, address: 0x80A51688 static class Symbol _s; // size: 0x4, address: 0x80A51690 static class Symbol _s; // size: 0x4, address: 0x80A51698 // Range: 0x803AE210 -> 0x803AE6A0 unsigned char PropSync(struct Category & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r27 */, enum PropOp _op /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class OutfitLoader * gLoader; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A516A0 static class Symbol _s; // size: 0x4, address: 0x80A516A8 static class Symbol _s; // size: 0x4, address: 0x80A516B0 static class Symbol _s; // size: 0x4, address: 0x80A516B8 // Range: 0x803AE6A0 -> 0x803AE904 unsigned char OutfitLoader::SyncProperty(class OutfitLoader * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> unsigned char sDisableAll; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class OutfitLoader * gLoader; } // Range: 0x803AE904 -> 0x803AF418 unsigned char PropSync(class vector & v /* r27 */, class DataNode & n /* r29 */, class DataArray * prop /* r24 */, int i /* r26 */, enum PropOp op /* r25 */) { // Local variables struct Category * it; // r28 struct Category tmp; // r1+0x60 // References // -> struct [anonymous] __vt__36ObjPtrList; // -> class Debug TheDebug; // -> const char * kAssertStr; } class NoneLoader : public Loader { // total size: 0x18 protected: class OutfitLoader * mOutfit; // offset 0x14, size 0x4 }; // Range: 0x803AF418 -> 0x803AF470 void NoneLoader::PollLoading(class NoneLoader * const this /* r31 */) {} // Range: 0x803AF470 -> 0x803AF4D0 void * NoneLoader::~NoneLoader(class NoneLoader * const this /* r30 */) {} // Range: 0x803AF4D0 -> 0x803AF4D8 unsigned char NoneLoader::IsLoaded() {} struct { // total size: 0x14 } __vt__10NoneLoader; // size: 0x14, address: 0x808DE890 struct { // total size: 0x8 } __RTTI__10NoneLoader; // size: 0x8, address: 0x808DE8C0 struct { // total size: 0x84 } __vt__12OutfitLoader; // size: 0x84, address: 0x808DE928 struct { // total size: 0x10 } __vt__11MergeFilter; // size: 0x10, address: 0x808DEA38 struct { // total size: 0x14 } __vt__Q29DirLoader8Callback; // size: 0x14, address: 0x808DEE18 struct { // total size: 0x8 } __RTTI__PPQ212OutfitLoader8Category; // size: 0x8, address: 0x808DEF30 struct { // total size: 0x8 } __RTTI__PQ212OutfitLoader6Outfit; // size: 0x8, address: 0x808DEF50 struct { // total size: 0x8 } __RTTI__PQ212OutfitLoader8Category; // size: 0x8, address: 0x808DEF78 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803AF4D8 -> 0x803AF560 */ // Range: 0x803AF4D8 -> 0x803AF560 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, unsigned long t2 /* r29 */, const char * t3 /* r30 */, unsigned long t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\DirLoader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803AF560 -> 0x803AF5A8 */ // Range: 0x803AF560 -> 0x803AF5A0 void * Callback::~Callback(class Callback * const this /* r31 */) {} // Range: 0x803AF5A0 -> 0x803AF5A4 void Callback::FailedLoading() {} // Range: 0x803AF5A4 -> 0x803AF5A8 void Callback::FinishLoading() {} /* Compile unit: C:\rockband2\system\src\obj\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803AF5A8 -> 0x803AF5F0 */ // Range: 0x803AF5A8 -> 0x803AF5E8 void * MergeFilter::~MergeFilter(class MergeFilter * const this /* r31 */) {} // Range: 0x803AF5E8 -> 0x803AF5F0 enum Action MergeFilter::Filter() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803AF5F0 -> 0x803B07AC */ // Range: 0x803AF5F0 -> 0x803AF7A8 void OutfitLoader::LaunchNextLoader(class OutfitLoader * const this /* r28 */) { // References // -> struct [anonymous] __vt__10NoneLoader; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803AF7A8 -> 0x803AFD60 enum Action OutfitLoader::Filter(class OutfitLoader * const this /* r24 */, class Object * from /* r29 */, class Object * to /* r26 */) { // Local variables class ObjectDir * dir; // r25 class Character * me; // r30 class Character * c; // r29 class ObjVector & your; // r0 class ObjVector & my; // r0 int size; // r25 int j; // r26 int j; // r25 class RndTransformable * t; // r0 class RndGroup * g; // r25 class RndTex * t; // r0 // References // -> struct [anonymous] __RTTI__6RndTex; // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __RTTI__13CharClipGroup; // -> struct [anonymous] __RTTI__8RndGroup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9Character; } // Range: 0x803AFD60 -> 0x803AFED4 void OutfitLoader::FailedLoading(class OutfitLoader * const this /* r28 */, class DirLoader * l /* r29 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803AFED4 -> 0x803B02C8 void OutfitLoader::FinishLoading(class OutfitLoader * const this /* r30 */, class DirLoader * l /* r28 */) { // Local variables class Symbol category; // r1+0x3C class RndPollable * p; // r0 class Message msg; // r1+0x58 class String config_name; // r1+0x60 unsigned char char_edit_mode; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12OutfitConfig; // -> struct [anonymous] __vt__7Message; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__11RndPollable; // -> unsigned char sDisableAll; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803B02C8 -> 0x803B0788 void OutfitLoader::PreLoad(class OutfitLoader * const this /* r25 */, class BinStream & d /* r26 */) { // Local variables int version; // r1+0x1C unsigned char recover; // r29 char tmp; // r1+0xB signed short tmpSize; // r1+0xC int i; // r28 struct Category & cat; // r0 class String oldPath; // r1+0x20 int j; // r27 char variant; // r1+0xA char hide; // r1+0x9 char exclude; // r1+0x8 int os[256]; // r1+0x130 int i; // r3 int i; // r26 // References // -> const char * kAssertStr; // -> class FilePath sRoot; // -> class Debug TheDebug; } // Range: 0x803B0788 -> 0x803B07AC struct Category * StlNodeAlloc::allocate() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212OutfitLoader8Category; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B07AC -> 0x803B13C8 */ // Range: 0x803B09F0 -> 0x803B0A18 unsigned long vector::size() {} // Range: 0x803B0A18 -> 0x803B0CBC void vector::_M_clear(class vector * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } // Range: 0x803B0CBC -> 0x803B10C4 struct Category * vector::_M_allocate_and_copy(const struct Category * __first /* r27 */, const struct Category * __last /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212OutfitLoader8Category; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803B10C4 -> 0x803B10EC unsigned long vector::capacity() {} // Range: 0x803B10EC -> 0x803B1114 unsigned char vector::_M_is_inside() {} // Range: 0x803B1114 -> 0x803B13B8 void vector::_M_clear_after_move(class vector * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } // Range: 0x803B13B8 -> 0x803B13C8 void vector::_M_set() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_construct.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B13C8 -> 0x803B19D4 */ // Range: 0x803B13C8 -> 0x803B1618 void _Destroy_Range(struct Category * __last /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } // Range: 0x803B1618 -> 0x803B19D4 void _Copy_Construct(const struct Category & __val /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B19D4 -> 0x803B1AB4 */ // Range: 0x803B19D4 -> 0x803B1AB4 struct Category * * find() {} /* Compile unit: C:\rockband2\system\src\char\OutfitLoader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B1AB4 -> 0x803B2030 */ // Range: 0x803B1AB4 -> 0x803B1AF8 class Symbol OutfitLoader::ClassName() { // References // -> class Symbol name; } // Range: 0x803B1AF8 -> 0x803B1C78 void OutfitLoader::SetType(class OutfitLoader * const this /* r29 */, class Symbol & OutfitLoader /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x803B1C78 -> 0x803B2030 void * Category::Category(struct Category * const this /* r29 */, const struct Category & c /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B2030 -> 0x803B20B0 */ // Range: 0x803B2030 -> 0x803B20B0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B20B0 -> 0x803B2E6C */ // Range: 0x803B20B0 -> 0x803B21E8 void vector::_M_insert_overflow(class vector * const this /* r27 */, struct Category * * __pos /* r28 */, struct Category * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct Category * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ212OutfitLoader8Category; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803B21E8 -> 0x803B2324 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // Local variables unsigned long __xlen; // r30 struct Category * __tmp; // r31 struct Category * __i; // r0 } // Range: 0x803B2324 -> 0x803B238C struct Category * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x803B238C -> 0x803B240C void vector::_M_fill_insert() {} // Range: 0x803B240C -> 0x803B26F8 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212OutfitLoader6Outfit; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803B26F8 -> 0x803B2778 void vector::_M_fill_insert() {} // Range: 0x803B2778 -> 0x803B289C void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct Category * __pos /* r25 */, const struct Category & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x28 unsigned long __len; // r30 struct Category * __new_start; // r29 struct Category * __new_finish; // r28 } // Range: 0x803B289C -> 0x803B2A00 void vector::_M_fill_insert_aux(class vector * const this /* r29 */, struct Category * __pos /* r30 */, unsigned long __n /* r28 */, const struct Category & __x /* r31 */) { // Local variables struct Category __x_copy; // r1+0x20 unsigned long __elems_after; // r26 } // Range: 0x803B2A00 -> 0x803B2C2C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Outfit * __pos /* r26 */, const struct Outfit & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Outfit * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212OutfitLoader6Outfit; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803B2C2C -> 0x803B2E6C void vector::_M_fill_insert_aux() { // Local variables struct Outfit __x_copy; // r1+0x1C unsigned long __elems_after; // r10 struct Outfit * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_uninitialized.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B2E6C -> 0x803B3DCC */ // Range: 0x803B2E6C -> 0x803B3244 struct Category * __uninitialized_copy(const struct Category * __first /* r28 */, const struct Category * __last /* r29 */) { // Local variables struct Category * __cur; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } // Range: 0x803B3244 -> 0x803B361C struct Category * __uninitialized_move(struct Category * __last /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } // Range: 0x803B361C -> 0x803B39F4 struct Category * __uninitialized_fill_n(unsigned long __n /* r28 */, const struct Category & __x /* r29 */) { // Local variables struct Category * __cur; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } // Range: 0x803B39F4 -> 0x803B3DCC struct Category * __uninitialized_copy(struct Category * __first /* r28 */, struct Category * __last /* r29 */) { // Local variables struct Category * __cur; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B3DCC -> 0x803B48F8 */ // Range: 0x803B3DCC -> 0x803B4184 struct Category * __copy_ptrs() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803B4184 -> 0x803B4518 void fill(struct Category * __first /* r28 */, struct Category * __last /* r29 */, const struct Category & __val /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803B4518 -> 0x803B48D0 struct Category * __copy_backward_ptrs() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\char\Waypoint.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B48F8 -> 0x803B7388 */ class DataArray * types; // size: 0x4, address: 0x80A516C0 class list sWaypoints; // size: 0x8, address: 0x8097E0A8 unsigned char sShowGraph; // size: 0x1, address: 0x80A516C5 // Range: 0x803B48F8 -> 0x803B49C0 void Waypoint::Init() { // References // -> class Symbol name; } // Range: 0x803B49C0 -> 0x803B4A24 class Waypoint * Waypoint::Find() { // Local variables struct _List_iterator it; // r1+0x10 // References // -> class list sWaypoints; } // Range: 0x803B4A24 -> 0x803B4B58 class Waypoint * Waypoint::FindNearest(const class Vector3 & p /* r27 */, int flags /* r28 */) { // Local variables float dist; // f31 class Waypoint * best; // r29 struct _List_iterator it; // r1+0x18 // References // -> class list sWaypoints; } class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class Waypoint * mPtr; // offset 0x8, size 0x4 }; // Range: 0x803B4B58 -> 0x803B4BC0 class DataNode Waypoint::OnWaypointFind(class DataArray * msg /* r31 */) {} // Range: 0x803B4BC0 -> 0x803B4C7C class DataNode Waypoint::OnWaypointNearest(class DataArray * msg /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x803B4C7C -> 0x803B4C9C class DataNode Waypoint::OnWaypointToggleShow() { // References // -> unsigned char sShowGraph; } // Range: 0x803B4C9C -> 0x803B4D90 class DataNode Waypoint::OnWaypointLast(class DataArray * msg /* r31 */) { // Local variables class Waypoint * w; // r0 struct _List_iterator it; // r1+0x24 // References // -> class list sWaypoints; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } // Range: 0x803B4D90 -> 0x803B4F88 void * Waypoint::Waypoint(class Waypoint * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sWaypoints; // -> struct [anonymous] __vt__8Waypoint; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803B4F88 -> 0x803B51B4 void * Waypoint::~Waypoint(class Waypoint * const this /* r30 */) { // Local variables struct _List_iterator it; // r1+0x2C // References // -> class list sWaypoints; // -> struct [anonymous] __vt__8Waypoint; } // Range: 0x803B51B4 -> 0x803B539C void Waypoint::Replace(class Waypoint * const this /* r26 */, class Object * from /* r27 */, class Object * to /* r28 */) { // Local variables int i; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } static class Timer * _t; // size: 0x4, address: 0x80A516C8 static class Timer * _t; // size: 0x4, address: 0x80A516D0 // Range: 0x803B539C -> 0x803B5AD4 void Waypoint::DrawShowing(class Waypoint * const this /* r30 */) { // Local variables class Box b; // r1+0xF0 float rad; // f31 class Vector3 line; // r1+0xE0 int i; // r31 class Vector3 a; // r1+0xD0 class Vector3 b; // r1+0xC0 class Vector3 mid; // r1+0xB0 class Vector3 delta; // r1+0xA0 // References // -> static class Timer * _t; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Rnd & TheRnd; // -> unsigned char sShowGraph; // -> static class Timer * _t; } // Range: 0x803B5AD4 -> 0x803B5BC0 void Waypoint::Constrain(class Waypoint * const this /* r30 */, class Transform & t /* r31 */) { // Local variables class Vector3 delta; // r1+0x10 float ang; // f2 float dang; // f0 } // Range: 0x803B5BC0 -> 0x803B5BCC void Waypoint::ShapeDelta() {} // Range: 0x803B5BCC -> 0x803B5BD8 float Waypoint::ShapeDelta() {} // Range: 0x803B5BD8 -> 0x803B5E3C void Waypoint::ShapeDeltaBox(class Waypoint * const this /* r29 */, const class Vector3 & pos /* r30 */, float xradius /* f30 */, float yradius /* f31 */, class Vector3 & delta /* r31 */) { // Local variables float x; // f0 float y; // f2 float newX; // f0 float newY; // f0 float l; // f0 } // Range: 0x803B5E3C -> 0x803B5F08 float Waypoint::ShapeDeltaAng(class Waypoint * const this /* r31 */, float angLimit /* f30 */, float ang /* f31 */) { // Local variables float delta; // f0 } // Range: 0x803B5F08 -> 0x803B6160 void Waypoint::Copy(class Waypoint * const this /* r28 */, const class Object * o /* r26 */, enum CopyType type /* r25 */) { // Local variables const class Waypoint * w; // r0 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } // Range: 0x803B6160 -> 0x803B6240 void Waypoint::Save(class Waypoint * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803B6240 -> 0x803B630C class BinStream & __ls(class BinStream & d /* r30 */, const class ObjOwnerPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803B630C -> 0x803B646C void Waypoint::Load(class Waypoint * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A516D8 static class Symbol _s; // size: 0x4, address: 0x80A516E0 static class Symbol _s; // size: 0x4, address: 0x80A516E8 static class Symbol _s; // size: 0x4, address: 0x80A516F0 static class Symbol _s; // size: 0x4, address: 0x80A516F8 static class Symbol _s; // size: 0x4, address: 0x80A51700 // Range: 0x803B646C -> 0x803B69F0 unsigned char Waypoint::SyncProperty(class Waypoint * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> unsigned char sShowGraph; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x803B69F0 -> 0x803B6CC0 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class ObjOwnerPtr * it; // r31 class ObjOwnerPtr tmp; // r1+0x20 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803B6CC0 -> 0x803B6E0C unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803B6E0C -> 0x803B732C class DataNode Waypoint::Handle(class Waypoint * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } struct { // total size: 0x18 } __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; // size: 0x18, address: 0x808DF208 struct { // total size: 0x8 } __RTTI__33ObjOwnerPtr<8Waypoint,9ObjectDir>; // size: 0x8, address: 0x808DF250 struct { // total size: 0xF4 } __vt__8Waypoint; // size: 0xF4, address: 0x808DF258 struct { // total size: 0x8 } __RTTI__P33ObjOwnerPtr<8Waypoint,9ObjectDir>; // size: 0x8, address: 0x808DF520 // Range: 0x803B732C -> 0x803B7388 static void __sinit_\Waypoint_cpp() { // References // -> class list sWaypoints; } /* Compile unit: C:\rockband2\system\src\char\Waypoint.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B7388 -> 0x803B75EC */ // Range: 0x803B7388 -> 0x803B7400 class Object * Waypoint::NewObject() { // References // -> class Symbol name; } // Range: 0x803B7400 -> 0x803B7444 class Symbol Waypoint::ClassName() { // References // -> class Symbol name; } // Range: 0x803B7444 -> 0x803B75E8 void Waypoint::SetType(class Waypoint * const this /* r29 */, class Symbol & Waypoint /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x803B75E8 -> 0x803B75EC void Waypoint::Highlight() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B75EC -> 0x803B7A28 */ // Range: 0x803B75EC -> 0x803B7664 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; } // Range: 0x803B7664 -> 0x803B7838 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjOwnerPtr * t; // r26 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; } // Range: 0x803B7838 -> 0x803B79DC class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Waypoint; } // Range: 0x803B79DC -> 0x803B79E4 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x803B79E4 -> 0x803B7A28 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B7B68 -> 0x803B7C00 */ // Range: 0x803B7B68 -> 0x803B7C00 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class ObjOwnerPtr * t; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B7C00 -> 0x803B86DC */ // Range: 0x803B7C00 -> 0x803B7FB8 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P33ObjOwnerPtr<8Waypoint,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803B7FB8 -> 0x803B8020 class ObjOwnerPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x803B8020 -> 0x803B80A0 void vector::_M_fill_insert() {} // Range: 0x803B80A0 -> 0x803B8358 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjOwnerPtr * __pos /* r26 */, const class ObjOwnerPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjOwnerPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P33ObjOwnerPtr<8Waypoint,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803B8358 -> 0x803B86DC void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjOwnerPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjOwnerPtr & __x /* r29 */) { // Local variables class ObjOwnerPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8Waypoint,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\char\CharGuitarString.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B86DC -> 0x803B9670 */ class DataArray * types; // size: 0x4, address: 0x80A51708 // Range: 0x803B86DC -> 0x803B885C void * CharGuitarString::CharGuitarString(class CharGuitarString * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__16CharGuitarString; // -> struct [anonymous] __vt__12CharPollable; // -> struct [anonymous] __vt__11RndPollable; } // Range: 0x803B885C -> 0x803B89AC void * CharGuitarString::~CharGuitarString(class CharGuitarString * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x803B89AC -> 0x803B8C44 void CharGuitarString::Poll(class CharGuitarString * const this /* r28 */) { // Local variables class Transform t; // r1+0x30 const class Vector3 & nut; // r0 const class Vector3 & bridge; // r0 const class Vector3 & target; // r0 class Vector3 c; // r1+0x20 class Vector3 b; // r1+0x10 float frac; // f4 } // Range: 0x803B8C44 -> 0x803B8E0C void CharGuitarString::PollDeps(class CharGuitarString * const this /* r29 */, class list & changedBy /* r30 */, class list & change /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803B8E0C -> 0x803B8E94 void CharGuitarString::Save(class CharGuitarString * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A51710 // Range: 0x803B8E94 -> 0x803B8F84 void CharGuitarString::Load(class CharGuitarString * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803B8F84 -> 0x803B9104 void CharGuitarString::Copy(class CharGuitarString * const this /* r31 */, const class Object * o /* r29 */) { // Local variables const class CharGuitarString * p; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16CharGuitarString; } static class Symbol _s; // size: 0x4, address: 0x80A51718 // Range: 0x803B9104 -> 0x803B94C4 class DataNode CharGuitarString::Handle(class CharGuitarString * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51720 static class Symbol _s; // size: 0x4, address: 0x80A51728 static class Symbol _s; // size: 0x4, address: 0x80A51730 static class Symbol _s; // size: 0x4, address: 0x80A51738 // Range: 0x803B94C4 -> 0x803B9670 unsigned char CharGuitarString::SyncProperty(class CharGuitarString * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x90 } __vt__16CharGuitarString; // size: 0x90, address: 0x808DF7F0 struct { // total size: 0x8 } __RTTI__16CharGuitarString; // size: 0x8, address: 0x808DF8B8 /* Compile unit: C:\rockband2\system\src\char\CharGuitarString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B9710 -> 0x803B98E8 */ // Range: 0x803B9710 -> 0x803B9754 class Symbol CharGuitarString::ClassName() { // References // -> class Symbol name; } // Range: 0x803B9754 -> 0x803B98E8 void CharGuitarString::SetType(class CharGuitarString * const this /* r29 */, class Symbol & CharGuitarString /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\dsp\IIRFilter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B98E8 -> 0x803B99F8 */ // Range: 0x803B98E8 -> 0x803B9974 void * IIR4PoleFilter::IIR4PoleFilter() { // Local variables int i; // r7 } // Range: 0x803B9974 -> 0x803B9978 void IIR4PoleFilter::Begin() {} // Range: 0x803B9978 -> 0x803B997C void IIR4PoleFilter::End() {} // Range: 0x803B997C -> 0x803B99F8 float IIR4PoleFilter::FilterSlow() { // Local variables float y; // f3 } /* Compile unit: C:\rockband2\system\src\dsp\SndAnalysis.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B99F8 -> 0x803B9DDC */ // Range: 0x803B99F8 -> 0x803B9A54 void ShiftedDotProduct() { // Local variables int vlen; // r6 int p; // r7 float ss; // f2 int n; // r8 } static float bonus_exp; // size: 0x4, address: 0x80A51740 // Range: 0x803B9A54 -> 0x803B9C78 int FindCCPeak(const float * dp_data /* r27 */, const float * ss_data /* r28 */) { // Local variables int n; // r31 int vlen; // r30 float bestcor; // r1+0xC int peaks[10]; // r1+0x60 float cors[10]; // r1+0x38 int num_peaks; // r29 float norm; // r1+0x8 float dp_ratio; // f0 float goodness[10]; // r1+0x10 // References // -> static float bonus_exp; } // Range: 0x803B9C78 -> 0x803B9DDC float RefinePeriod2() { // Local variables int vlen; // r9 float alpha; // f2 int attempt; // r10 float v1v1; // f3 float v2v2; // f4 float wv1; // f2 float wv2; // f5 float v1v2; // f6 int n; // r11 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B9DDC -> 0x803B9E14 */ // Range: 0x803B9DDC -> 0x803B9E14 float * max_element() { // Local variables float * __result; // r5 } /* Compile unit: C:\rockband2\system\src\dsp\PitchDetector.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803B9E14 -> 0x803BA458 */ // Range: 0x803B9E14 -> 0x803B9ED8 void * PitchDetector::PitchDetector(class PitchDetector * const this /* r31 */) { // Local variables float B[5]; // r1+0x1C float A[5]; // r1+0x8 } // Range: 0x803B9ED8 -> 0x803B9F48 void * PitchDetector::~PitchDetector(class PitchDetector * const this /* r30 */) {} // Range: 0x803B9F48 -> 0x803BA2E0 void PitchDetector::AnalyzeBlock(class PitchDetector * const this /* r22 */, signed short * data /* r23 */, int size /* r24 */, float & pitch /* r25 */, float & energy /* r26 */) { // Local variables int residual; // r7 int dec_size; // r30 int n; // r29 float prev_ss; // f31 int overlap; // r28 float ss_offset; // f1 int trim; // r0 int i; // r28 int beg_n; // r27 float val; // f0 int int_period; // r0 float freq; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BA2E0 -> 0x803BA458 void PitchDetector::SetSampleRate(class PitchDetector * const this /* r31 */, int samplesPerSec /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\dsp\VibratoDetector.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BA458 -> 0x803BA818 */ // Range: 0x803BA458 -> 0x803BA4CC void * VibratoDetector::VibratoDetector(class VibratoDetector * const this /* r31 */) {} // Range: 0x803BA4CC -> 0x803BA50C void * VibratoDetector::~VibratoDetector(class VibratoDetector * const this /* r31 */) {} // Range: 0x803BA50C -> 0x803BA67C int VibratoDetector::Analyze(class VibratoDetector * const this /* r30 */) { // Local variables int vib_len; // r31 float alpha; // f3 int length; // r1+0xC int max_length; // r1+0x8 } // Range: 0x803BA67C -> 0x803BA818 int VibratoDetector::Detect() { // Local variables int idx; // r0 int last; // r8 float last_pitch; // f2 float diffs[4]; // r1+0x18 float diffs_pitch[4]; // r1+0x8 int d; // r4 float total; // f3 int i; // r9 int cur; // r6 float cur_pitch; // f4 float diff; // f0 float diff_pitch; // f0 float ave; // f2 } /* Compile unit: C:\rockband2\system\src\dsp\VocalEvaluator.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BA818 -> 0x803BB7B8 */ float gTotalPhonemeAccuracy; // size: 0x4, address: 0x80A51748 float gLogLookupTable[256]; // size: 0x400, address: 0x808DFB28 // Range: 0x803BA818 -> 0x803BA830 void * VocalEvaluator::VocalEvaluator() {} // Range: 0x803BA830 -> 0x803BA8A8 void * VocalEvaluator::~VocalEvaluator(class VocalEvaluator * const this /* r30 */) {} // Range: 0x803BA8A8 -> 0x803BAB70 unsigned char VocalEvaluator::UseReferenceFile(class VocalEvaluator * const this /* r31 */, const char * panFile /* r29 */, unsigned char frameRate /* r1+0x8 */) { // Local variables class FileStream fileStream; // r1+0x18 } // Range: 0x803BAB70 -> 0x803BAD44 unsigned char VocalEvaluator::GetAnalyses(class VocalEvaluator * const this /* r29 */, float ms /* f31 */, struct SpeechAnalysis * outs /* r30 */, int * count /* r31 */) {} // Range: 0x803BAD44 -> 0x803BAE6C unsigned char VocalEvaluator::EvaluateFrame(class VocalInterpreter * interper /* r29 */, struct SpeechAnalysis & out /* r30 */, float & energy /* r31 */) { // Local variables struct ComplexSample fftHalf[128]; // r1+0x10 float sequentialError; // r1+0x8 } // Range: 0x803BAE6C -> 0x803BAF68 float VocalEvaluator::ScoreFrame(struct SpeechAnalysis & mic /* r30 */, struct SpeechAnalysis & ref /* r31 */) { // Local variables float peakScore; // f0 float errorScore; // f3 float score; // f1 // References // -> float gTotalPhonemeAccuracy; } // Range: 0x803BAF68 -> 0x803BB014 float VocalEvaluator::ScorePeakMagnitudes(unsigned char * refMagnitudes /* r8 */, float distanceScale /* f31 */) { // Local variables int micLast; // r5 int refLast; // r6 float score; // f0 } // Range: 0x803BB014 -> 0x803BB070 unsigned char VocalEvaluator::IsVoiced() {} // Range: 0x803BB070 -> 0x803BB184 unsigned char VocalEvaluator::ReadHeader(class VocalEvaluator * const this /* r30 */, unsigned char & frameRate /* r31 */) { // Local variables unsigned char byte; // r1+0x8 } // Range: 0x803BB184 -> 0x803BB290 unsigned char VocalEvaluator::WriteHeader(class VocalEvaluator * const this /* r31 */, unsigned char frameRate /* r1+0x8 */) { // Local variables unsigned char byte; // r1+0x9 } // Range: 0x803BB290 -> 0x803BB55C unsigned char VocalEvaluator::CollectOneFrame(class VocalEvaluator * const this /* r29 */, struct SpeechAnalysis * outs /* r30 */, int * count /* r31 */) { // Local variables unsigned char size; // r1+0xA int left; // r28 unsigned char energy; // r1+0x9 unsigned char size2; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BB55C -> 0x803BB644 unsigned char VocalEvaluator::AdvanceOneFrame(class VocalEvaluator * const this /* r31 */) { // Local variables unsigned char size; // r1+0x8 } // Range: 0x803BB644 -> 0x803BB730 unsigned char VocalEvaluator::RetreatOneFrame(class VocalEvaluator * const this /* r31 */) { // Local variables unsigned char size; // r1+0x8 } // Range: 0x803BB730 -> 0x803BB7B8 float VocalEvaluator::ComparePeakMagnitudes() { // Local variables float dsum; // f2 int nn; // r10 float term; // f0 // References // -> float gLogLookupTable[256]; } /* Compile unit: C:\rockband2\system\src\dsp\VocalInterpreter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BB7B8 -> 0x803BC6B8 */ class Timer gAnalysisPartTimer; // size: 0x38, address: 0x8097E0B0 const char * gFFTOutputFile; // size: 0x4, address: 0x80A51750 class FileStream * gFFTOutputStream; // size: 0x4, address: 0x80A51754 // Range: 0x803BB7B8 -> 0x803BB850 void * VocalInterpreter::VocalInterpreter(class VocalInterpreter * const this /* r29 */, int inputRate /* r30 */, int afterRate /* r31 */) {} // Range: 0x803BB850 -> 0x803BB890 void * VocalInterpreter::~VocalInterpreter(class VocalInterpreter * const this /* r31 */) {} // Range: 0x803BB890 -> 0x803BB9B4 unsigned char VocalInterpreter::MakeLowpassFIRFilter(int passFreq /* r25 */, int sampleRate /* r26 */, signed short * buffer /* r27 */, int count /* r28 */, int shift /* r29 */) { // Local variables int ii; // r30 float tt; // f31 float vv; // f31 } // Range: 0x803BB9B4 -> 0x803BBA20 unsigned char VocalInterpreter::AnalyzeFrame(class VocalInterpreter * const this /* r31 */) {} // Range: 0x803BBA20 -> 0x803BBB98 unsigned char VocalInterpreter::CalculateFrameFFT(class VocalInterpreter * const this /* r30 */, struct ComplexSample * output /* r26 */) { // Local variables struct ComplexSample zz[256]; // r1+0x210 signed short xx[256]; // r1+0x10 signed short max; // r31 int ii; // r27 int ii; // r27 unsigned char cx; // r1+0x8 // References // -> class FileStream * gFFTOutputStream; // -> const char * gFFTOutputFile; } // Range: 0x803BBB98 -> 0x803BBC98 unsigned char VocalInterpreter::ConvertFFTToPeakMagnitude(unsigned char * peakMagnitudes /* r30 */, int size /* r31 */) { // Local variables struct ComplexSample fftMaxima[256]; // r1+0x208 signed short fullMagnitudes[256]; // r1+0x8 signed short maxPeak; // r27 int ii; // r26 int ii; // r4 } // Range: 0x803BBC98 -> 0x803BBE00 unsigned char VocalInterpreter::CalculateSequentialError(struct ComplexSample * fftHalf /* r28 */, int fftHalfCount /* r29 */, float & error /* r30 */, float & energy /* r31 */) { // Local variables int ii; // r25 struct ComplexSample diff; // r1+0x8 } // Range: 0x803BBE00 -> 0x803BBFD8 unsigned char VocalInterpreter::DownSampleInto(class VocalInterpreter * const this /* r25 */, signed short * before /* r26 */, int count /* r27 */, signed short * after /* r28 */) { // Local variables int subsample; // r31 int copied; // r30 int start; // [invalid] int ii; // r29 } // Range: 0x803BBFD8 -> 0x803BC060 unsigned char VocalInterpreter::PreemphasizeBuffer() { // Local variables int ii; // r7 } // Range: 0x803BC060 -> 0x803BC0D4 unsigned char VocalInterpreter::WindowBuffer() { // Local variables int ii; // r8 } // Range: 0x803BC0D4 -> 0x803BC1AC unsigned char VocalInterpreter::MaximaDownSample(struct ComplexSample * fftHalf /* r24 */, int fftCount /* r25 */, int spacing /* r26 */, struct ComplexSample * fftMaxima /* r27 */) { // Local variables int ii; // r31 int maxindex; // r30 signed short maxmag; // r29 int jj; // r28 } // Range: 0x803BC1AC -> 0x803BC210 signed short VocalInterpreter::ComplexMagnitude() {} // Range: 0x803BC210 -> 0x803BC22C signed short VocalInterpreter::ComplexSqrMagnitude() {} // Range: 0x803BC22C -> 0x803BC25C struct ComplexSample VocalInterpreter::ComplexDiff() { // Local variables struct ComplexSample diff; // r1+0x8 } // Range: 0x803BC25C -> 0x803BC2F4 void VocalInterpreter::ComplexFromReal(int nn /* r1+0x8 */, int mm /* r1+0xC */) { // Local variables int ii; // r6 int ii; // r4 } // Range: 0x803BC2F4 -> 0x803BC45C void VocalInterpreter::Radix2FFT(struct ComplexSample * xx /* r29 */, struct ComplexSample * ww /* r30 */) { // Local variables int tempr; // r0 int tempi; // r5 int q; // r6 int j; // r7 int k; // r8 int n1; // r4 int n2; // r0 int n3; // r25 int L; // r9 int kL; // r10 int r; // r11 int L2; // r12 int t; // r31 } // Range: 0x803BC45C -> 0x803BC5B4 void VocalInterpreter::Radix2Twiddles(struct ComplexSample * ww /* r27 */, int n /* r28 */) { // Local variables int L; // r31 int k; // r30 double theta; // f31 int j; // r29 } // Range: 0x803BC5B4 -> 0x803BC6AC void VocalInterpreter::Radix2BitReverse() { // Local variables signed short * ri; // r0 signed short tempr; // r12 int nn; // r0 int j; // r3 int i; // r5 int m; // r6 } // Range: 0x803BC6AC -> 0x803BC6B8 static void __sinit_\VocalInterpreter_cpp() { // References // -> class Timer gAnalysisPartTimer; } /* Compile unit: C:\rockband2\system\src\midi\MidiReader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BC6B8 -> 0x803BDB00 */ class MidiChunkID { // total size: 0x4 char mStr[4]; // offset 0x0, size 0x4 }; class MidiChunkID kMThd; // size: 0x4, address: 0x80A51758 class MidiChunkID kMTrk; // size: 0x4, address: 0x80A5175C // Range: 0x803BC6B8 -> 0x803BC800 static unsigned char DefaultMidiLess() {} unsigned char sVerify; // size: 0x1, address: 0x80A51760 // Range: 0x803BC800 -> 0x803BC8E8 void * MidiReader::MidiReader(class MidiReader * const this /* r29 */, class BinStream & stream /* r0 */, class MidiReceiver & recvr /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BC8E8 -> 0x803BC960 void MidiReader::Init(class MidiReader * const this /* r31 */) {} // Range: 0x803BC960 -> 0x803BCB3C void * MidiReader::~MidiReader(class MidiReader * const this /* r30 */) {} // Range: 0x803BCC10 -> 0x803BCC74 void MidiReader::ReadAllTracks(class MidiReader * const this /* r31 */) {} // Range: 0x803BCC74 -> 0x803BCCE4 unsigned char MidiReader::ReadSomeEvents(class MidiReader * const this /* r29 */, int num_events /* r30 */) { // Local variables int i; // r31 } // Range: 0x803BCCE4 -> 0x803BCD38 unsigned char MidiReader::ReadTrack(class MidiReader * const this /* r31 */) {} // Range: 0x803BCD38 -> 0x803BCDDC void MidiReader::SkipCurrentTrack(class MidiReader * const this /* r31 */) {} // Range: 0x803BCDDC -> 0x803BCDE4 char * MidiReader::GetFilename() {} // Range: 0x803BCDE4 -> 0x803BCE78 void MidiReader::ReadNextEvent(class MidiReader * const this /* r31 */) { // Local variables const char * _err; // r4 // References // -> long TheDebugJump[100]; // -> class Debug TheDebug; // -> unsigned char sVerify; } // Range: 0x803BCE78 -> 0x803BCEB8 void MidiReader::ReadNextEventImpl() {} class MidiChunkHeader { // total size: 0x8 class MidiChunkID mID; // offset 0x0, size 0x4 unsigned int mLength; // offset 0x4, size 0x4 }; // Range: 0x803BCEB8 -> 0x803BD0E8 void MidiReader::ReadFileHeader(class MidiReader * const this /* r29 */, class BinStream & stream /* r30 */) { // Local variables class MidiChunkHeader hdr; // r1+0x10 signed short format; // r1+0x8 // References // -> class MidiChunkID kMThd; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BD0E8 -> 0x803BD228 void MidiReader::ReadTrackHeader(class MidiReader * const this /* r29 */, class BinStream & stream /* r30 */) { // Local variables class MidiChunkHeader trackHdr; // r1+0x8 // References // -> class MidiChunkID kMTrk; // -> class Debug TheDebug; // -> const char * kAssertStr; } class MidiVarLenNumber { // total size: 0x4 int mValue; // offset 0x0, size 0x4 }; // Range: 0x803BD228 -> 0x803BD3F8 void MidiReader::ReadEvent(class MidiReader * const this /* r29 */, class BinStream & stream /* r30 */) { // Local variables unsigned char status; // r1+0x9 unsigned char data1; // r1+0x8 unsigned char runningStatus; // r27 class MidiVarLenNumber deltaTick; // r1+0xC int curTick; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BD3F8 -> 0x803BD518 void MidiReader::ReadMidiEvent(class MidiReader * const this /* r28 */, int tick /* r29 */, unsigned char status /* r30 */, unsigned char data1 /* r31 */) { // Local variables unsigned char data2; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x803BD518 -> 0x803BD5D4 void MidiReader::ReadSystemEvent(class MidiReader * const this /* r29 */, int tick /* r30 */, class BinStream & stream /* r31 */) { // Local variables class MidiVarLenNumber len; // r1+0xC unsigned char type; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x803BD5D4 -> 0x803BD930 void MidiReader::ReadMetaEvent(class MidiReader * const this /* r27 */, int tick /* r28 */, unsigned char type /* r25 */, class BinStream & stream /* r29 */) { // Local variables class MidiVarLenNumber len; // r1+0x1C int startPos; // r0 char s[256]; // r1+0x20 unsigned char a; // r1+0xC unsigned char b; // r1+0xB unsigned char c; // r1+0xA int tempo; // r26 unsigned char numer; // r1+0x9 unsigned char denomExp; // r1+0x8 int denom; // r26 int m; // r1+0x18 int b; // r1+0x14 int t; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BD930 -> 0x803BD9E8 void MidiReader::QueueChannelMsg() { // Local variables struct Midi m; // r1+0x10 } // Range: 0x803BD9E8 -> 0x803BDB00 void MidiReader::ProcessMidiList(class MidiReader * const this /* r31 */) { // Local variables struct Midi * it; // r30 } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ210MidiReader4Midi; // size: 0x8, address: 0x808E0108 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BDB00 -> 0x803BDB44 */ // Range: 0x803BDB00 -> 0x803BDB44 static void __sinit_\MidiReader_cpp() { // References // -> class MidiChunkID kMTrk; // -> class MidiChunkID kMThd; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BDB44 -> 0x803BE278 */ // Range: 0x803BDB44 -> 0x803BDBE4 void sort(struct Midi * __first /* r29 */, struct Midi * __last /* r30 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r31 */) {} // Range: 0x803BDBE4 -> 0x803BDC78 void __final_insertion_sort(struct Midi * __first /* r29 */, struct Midi * __last /* r30 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r31 */) {} // Range: 0x803BDC78 -> 0x803BDCF0 void __unguarded_insertion_sort_aux(struct Midi * __last /* r29 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r30 */) { // Local variables struct Midi * __i; // r31 } // Range: 0x803BDCF0 -> 0x803BDD94 void __unguarded_linear_insert(struct Midi * __last /* r28 */, struct Midi & __val /* r29 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r30 */) { // Local variables struct Midi * __next; // r31 } // Range: 0x803BDD94 -> 0x803BDEC8 void __insertion_sort(struct Midi * __first /* r28 */, struct Midi * __last /* r29 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r30 */) { // Local variables struct Midi * __i; // r31 } // Range: 0x803BDEC8 -> 0x803BE058 void __introsort_loop(struct Midi * __first /* r28 */, struct Midi * __last /* r29 */, long __depth_limit /* r30 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r31 */) { // Local variables struct Midi * __cut; // r27 } // Range: 0x803BE058 -> 0x803BE158 struct Midi * __unguarded_partition(struct Midi * __first /* r28 */, struct Midi * __last /* r29 */, struct Midi & __pivot /* r30 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r31 */) {} // Range: 0x803BE158 -> 0x803BE164 void partial_sort() {} // Range: 0x803BE164 -> 0x803BE278 void __partial_sort(struct Midi * __first /* r29 */, struct Midi * __middle /* r30 */, struct Midi * __last /* r27 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r31 */) { // Local variables struct Midi * __i; // r28 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BE278 -> 0x803BE2A8 */ // Range: 0x803BE278 -> 0x803BE290 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x803BE290 -> 0x803BE2A8 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BE2A8 -> 0x803BE5B4 */ // Range: 0x803BE2A8 -> 0x803BE330 void pop_heap(struct Midi * __last /* r6 */) {} // Range: 0x803BE330 -> 0x803BE4F4 void __adjust_heap(struct Midi * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, struct Midi & __val /* r28 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x803BE4F4 -> 0x803BE5B4 void make_heap(struct Midi * __first /* r30 */, unsigned char (* __comp)(struct Midi &, struct Midi &) /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BE5B4 -> 0x803BE7E4 */ // Range: 0x803BE5B4 -> 0x803BE7E4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Midi * __pos /* r26 */, const struct Midi & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Midi * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210MidiReader4Midi; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\midi\MidiReceiver.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BE7E4 -> 0x803BE968 */ // Range: 0x803BE7E4 -> 0x803BE7FC void * MidiReceiver::MidiReceiver() { // References // -> struct [anonymous] __vt__12MidiReceiver; } // Range: 0x803BE7FC -> 0x803BE900 void MidiReceiver::Error(class MidiReceiver * const this /* r27 */, const char * msg /* r25 */, int tick /* r26 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BE900 -> 0x803BE968 void MidiReceiver::SkipCurrentTrack(class MidiReceiver * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x30 } __vt__12MidiReceiver; // size: 0x30, address: 0x808E01C8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BE968 -> 0x803BEA74 */ // Range: 0x803BE968 -> 0x803BE9F0 char * MakeString(const char * fmt /* r0 */, int t1 /* r28 */, const char * t2 /* r29 */, const char * t3 /* r30 */, const char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x803BE9F0 -> 0x803BEA74 char * MakeString(const char * fmt /* r0 */, int t1 /* r27 */, const char * t2 /* r28 */, const char * t3 /* r29 */, const char * t4 /* r30 */, const char * t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\midi\MidiVarLen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BEA74 -> 0x803BEB5C */ // Range: 0x803BEA74 -> 0x803BEAA4 void * MidiVarLenNumber::MidiVarLenNumber(class MidiVarLenNumber * const this /* r31 */) {} // Range: 0x803BEAA4 -> 0x803BEB5C class BinStream & MidiVarLenNumber::Read(class MidiVarLenNumber * const this /* r30 */, class BinStream & stream /* r31 */) { // Local variables unsigned char byte; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\movie\Movie_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BEB5C -> 0x803BF4A8 */ struct BINKRECT { // total size: 0x10 int Left; // offset 0x0, size 0x4 int Top; // offset 0x4, size 0x4 int Width; // offset 0x8, size 0x4 int Height; // offset 0xC, size 0x4 }; struct BINKPLANE { // total size: 0xC int Allocate; // offset 0x0, size 0x4 void * Buffer; // offset 0x4, size 0x4 unsigned int BufferPitch; // offset 0x8, size 0x4 }; struct BINKFRAMEPLANESET { // total size: 0x30 struct BINKPLANE YPlane; // offset 0x0, size 0xC struct BINKPLANE cRPlane; // offset 0xC, size 0xC struct BINKPLANE cBPlane; // offset 0x18, size 0xC struct BINKPLANE APlane; // offset 0x24, size 0xC }; struct BINKFRAMEBUFFERS { // total size: 0x78 int TotalFrames; // offset 0x0, size 0x4 unsigned int YABufferWidth; // offset 0x4, size 0x4 unsigned int YABufferHeight; // offset 0x8, size 0x4 unsigned int cRcBBufferWidth; // offset 0xC, size 0x4 unsigned int cRcBBufferHeight; // offset 0x10, size 0x4 unsigned int FrameNum; // offset 0x14, size 0x4 struct BINKFRAMEPLANESET Frames[2]; // offset 0x18, size 0x60 }; struct BINKSND { // total size: 0x180 unsigned char * sndwritepos; // offset 0x0, size 0x4 unsigned int audiodecompsize; // offset 0x4, size 0x4 unsigned int sndbufsize; // offset 0x8, size 0x4 unsigned char * sndbuf; // offset 0xC, size 0x4 unsigned char * sndend; // offset 0x10, size 0x4 unsigned int sndcomp; // offset 0x14, size 0x4 unsigned char * sndreadpos; // offset 0x18, size 0x4 unsigned int orig_freq; // offset 0x1C, size 0x4 unsigned int freq; // offset 0x20, size 0x4 int bits; // offset 0x24, size 0x4 int chans; // offset 0x28, size 0x4 int BestSizeIn16; // offset 0x2C, size 0x4 unsigned int BestSizeMask; // offset 0x30, size 0x4 int OnOff; // offset 0x34, size 0x4 unsigned int Latency; // offset 0x38, size 0x4 unsigned int VideoScale; // offset 0x3C, size 0x4 unsigned int sndendframe; // offset 0x40, size 0x4 unsigned int sndpad; // offset 0x44, size 0x4 int sndprime; // offset 0x48, size 0x4 int NoThreadService; // offset 0x4C, size 0x4 unsigned int SoundDroppedOut; // offset 0x50, size 0x4 unsigned int sndconvert8; // offset 0x54, size 0x4 unsigned char snddata[256]; // offset 0x58, size 0x100 int (* Ready)(struct BINKSND *); // offset 0x158, size 0x4 int (* Lock)(struct BINKSND *, unsigned char * *, unsigned int *); // offset 0x15C, size 0x4 int (* Unlock)(struct BINKSND *, unsigned int); // offset 0x160, size 0x4 void (* Volume)(struct BINKSND *, int); // offset 0x164, size 0x4 void (* Pan)(struct BINKSND *, int); // offset 0x168, size 0x4 int (* Pause)(struct BINKSND *, int); // offset 0x16C, size 0x4 int (* SetOnOff)(struct BINKSND *, int); // offset 0x170, size 0x4 void (* Close)(struct BINKSND *); // offset 0x174, size 0x4 void (* MixBins)(struct BINKSND *, unsigned int *, unsigned int); // offset 0x178, size 0x4 void (* MixBinVols)(struct BINKSND *, unsigned int *, int *, unsigned int); // offset 0x17C, size 0x4 }; struct BUNDLEPOINTERS { // total size: 0x24 void * typeptr; // offset 0x0, size 0x4 void * type16ptr; // offset 0x4, size 0x4 void * colorptr; // offset 0x8, size 0x4 void * bits2ptr; // offset 0xC, size 0x4 void * motionXptr; // offset 0x10, size 0x4 void * motionYptr; // offset 0x14, size 0x4 void * dctptr; // offset 0x18, size 0x4 void * mdctptr; // offset 0x1C, size 0x4 void * patptr; // offset 0x20, size 0x4 }; struct BINKIO { // total size: 0x144 unsigned int (* ReadHeader)(struct BINKIO *, int, void *, unsigned int); // offset 0x0, size 0x4 unsigned int (* ReadFrame)(struct BINKIO *, unsigned int, int, void *, unsigned int); // offset 0x4, size 0x4 unsigned int (* GetBufferSize)(struct BINKIO *, unsigned int); // offset 0x8, size 0x4 void (* SetInfo)(struct BINKIO *, void *, unsigned int, unsigned int, unsigned int); // offset 0xC, size 0x4 unsigned int (* Idle)(struct BINKIO *); // offset 0x10, size 0x4 void (* Close)(struct BINKIO *); // offset 0x14, size 0x4 int (* BGControl)(struct BINKIO *, unsigned int); // offset 0x18, size 0x4 struct BINK * bink; // offset 0x1C, size 0x4 unsigned int ReadError; // offset 0x20, size 0x4 unsigned int DoingARead; // offset 0x24, size 0x4 unsigned int BytesRead; // offset 0x28, size 0x4 unsigned int Working; // offset 0x2C, size 0x4 unsigned int TotalTime; // offset 0x30, size 0x4 unsigned int ForegroundTime; // offset 0x34, size 0x4 unsigned int IdleTime; // offset 0x38, size 0x4 unsigned int ThreadTime; // offset 0x3C, size 0x4 unsigned int BufSize; // offset 0x40, size 0x4 unsigned int BufHighUsed; // offset 0x44, size 0x4 unsigned int CurBufSize; // offset 0x48, size 0x4 unsigned int CurBufUsed; // offset 0x4C, size 0x4 unsigned int Suspended; // offset 0x50, size 0x4 unsigned char iodata[160]; // offset 0x54, size 0xA0 void (* suspend_callback)(struct BINKIO *); // offset 0xF4, size 0x4 int (* try_suspend_callback)(struct BINKIO *); // offset 0xF8, size 0x4 void (* resume_callback)(struct BINKIO *); // offset 0xFC, size 0x4 void (* idle_on_callback)(struct BINKIO *); // offset 0x100, size 0x4 unsigned int callback_control[16]; // offset 0x104, size 0x40 }; struct BINK { // total size: 0x39C unsigned int Width; // offset 0x0, size 0x4 unsigned int Height; // offset 0x4, size 0x4 unsigned int Frames; // offset 0x8, size 0x4 unsigned int FrameNum; // offset 0xC, size 0x4 unsigned int LastFrameNum; // offset 0x10, size 0x4 unsigned int FrameRate; // offset 0x14, size 0x4 unsigned int FrameRateDiv; // offset 0x18, size 0x4 unsigned int ReadError; // offset 0x1C, size 0x4 unsigned int OpenFlags; // offset 0x20, size 0x4 unsigned int BinkType; // offset 0x24, size 0x4 unsigned int Size; // offset 0x28, size 0x4 unsigned int FrameSize; // offset 0x2C, size 0x4 unsigned int SndSize; // offset 0x30, size 0x4 unsigned int FrameChangePercent; // offset 0x34, size 0x4 struct BINKRECT FrameRects[8]; // offset 0x38, size 0x80 int NumRects; // offset 0xB8, size 0x4 struct BINKFRAMEBUFFERS * FrameBuffers; // offset 0xBC, size 0x4 void * MaskPlane; // offset 0xC0, size 0x4 unsigned int MaskPitch; // offset 0xC4, size 0x4 unsigned int MaskLength; // offset 0xC8, size 0x4 void * AsyncMaskPlane; // offset 0xCC, size 0x4 void * InUseMaskPlane; // offset 0xD0, size 0x4 void * LastMaskPlane; // offset 0xD4, size 0x4 unsigned int LargestFrameSize; // offset 0xD8, size 0x4 unsigned int InternalFrames; // offset 0xDC, size 0x4 int NumTracks; // offset 0xE0, size 0x4 unsigned int Highest1SecRate; // offset 0xE4, size 0x4 unsigned int Highest1SecFrame; // offset 0xE8, size 0x4 int Paused; // offset 0xEC, size 0x4 int async_in_progress[2]; // offset 0xF0, size 0x8 unsigned int soundon; // offset 0xF8, size 0x4 unsigned int videoon; // offset 0xFC, size 0x4 void * compframe; // offset 0x100, size 0x4 unsigned int compframesize; // offset 0x104, size 0x4 unsigned int compframeoffset; // offset 0x108, size 0x4 unsigned int compframekey; // offset 0x10C, size 0x4 unsigned int skippedlastblit; // offset 0x110, size 0x4 unsigned int playingtracks; // offset 0x114, size 0x4 struct BINKSND * bsnd; // offset 0x118, size 0x4 int * trackindexes; // offset 0x11C, size 0x4 struct BUNDLEPOINTERS bunp; // offset 0x120, size 0x24 unsigned int changepercent; // offset 0x144, size 0x4 void * preloadptr; // offset 0x148, size 0x4 unsigned int * frameoffsets; // offset 0x14C, size 0x4 struct BINKIO bio; // offset 0x150, size 0x144 unsigned char * ioptr; // offset 0x294, size 0x4 unsigned int iosize; // offset 0x298, size 0x4 unsigned int decompwidth; // offset 0x29C, size 0x4 unsigned int decompheight; // offset 0x2A0, size 0x4 unsigned int * tracksizes; // offset 0x2A4, size 0x4 unsigned int * tracktypes; // offset 0x2A8, size 0x4 int * trackIDs; // offset 0x2AC, size 0x4 unsigned int numrects; // offset 0x2B0, size 0x4 unsigned int playedframes; // offset 0x2B4, size 0x4 unsigned int firstframetime; // offset 0x2B8, size 0x4 unsigned int startblittime; // offset 0x2BC, size 0x4 unsigned int startsynctime; // offset 0x2C0, size 0x4 unsigned int startsyncframe; // offset 0x2C4, size 0x4 unsigned int twoframestime; // offset 0x2C8, size 0x4 unsigned int slowestframetime; // offset 0x2CC, size 0x4 unsigned int slowestframe; // offset 0x2D0, size 0x4 unsigned int slowest2frametime; // offset 0x2D4, size 0x4 unsigned int slowest2frame; // offset 0x2D8, size 0x4 unsigned int totalmem; // offset 0x2DC, size 0x4 unsigned int timevdecomp; // offset 0x2E0, size 0x4 unsigned int timeadecomp; // offset 0x2E4, size 0x4 unsigned int timeblit; // offset 0x2E8, size 0x4 unsigned int timeopen; // offset 0x2EC, size 0x4 unsigned int fileframerate; // offset 0x2F0, size 0x4 unsigned int fileframeratediv; // offset 0x2F4, size 0x4 unsigned int runtimeframes; // offset 0x2F8, size 0x4 int rtindex; // offset 0x2FC, size 0x4 unsigned int * rtframetimes; // offset 0x300, size 0x4 unsigned int * rtadecomptimes; // offset 0x304, size 0x4 unsigned int * rtvdecomptimes; // offset 0x308, size 0x4 unsigned int * rtblittimes; // offset 0x30C, size 0x4 unsigned int * rtreadtimes; // offset 0x310, size 0x4 unsigned int * rtidlereadtimes; // offset 0x314, size 0x4 unsigned int * rtthreadreadtimes; // offset 0x318, size 0x4 unsigned int lastblitflags; // offset 0x31C, size 0x4 unsigned int lastdecompframe; // offset 0x320, size 0x4 unsigned int lastfinisheddoframe; // offset 0x324, size 0x4 unsigned int lastresynctime; // offset 0x328, size 0x4 unsigned int doresync; // offset 0x32C, size 0x4 unsigned int soundskips; // offset 0x330, size 0x4 unsigned int skipped_status_this_frame; // offset 0x334, size 0x4 unsigned int very_delayed; // offset 0x338, size 0x4 unsigned int skippedblits; // offset 0x33C, size 0x4 unsigned int skipped_in_a_row; // offset 0x340, size 0x4 unsigned int paused_sync_diff; // offset 0x344, size 0x4 unsigned int last_time_almost_empty; // offset 0x348, size 0x4 unsigned int last_read_count; // offset 0x34C, size 0x4 unsigned int last_sound_count; // offset 0x350, size 0x4 unsigned int snd_callback_buffer[16]; // offset 0x354, size 0x40 int allkeys; // offset 0x394, size 0x4 struct BINKFRAMEBUFFERS * allocatedframebuffers; // offset 0x398, size 0x4 }; struct BINKFRAMETEXTURES { // total size: 0x80 struct _GXTexObj Ytexture; // offset 0x0, size 0x20 struct _GXTexObj cRtexture; // offset 0x20, size 0x20 struct _GXTexObj cBtexture; // offset 0x40, size 0x20 struct _GXTexObj Atexture; // offset 0x60, size 0x20 }; struct BINKTEXTURESET { // total size: 0x1D8 struct BINKFRAMEBUFFERS bink_buffers; // offset 0x0, size 0x78 struct BINKFRAMETEXTURES textures[2]; // offset 0x78, size 0x100 void * base_ptr; // offset 0x178, size 0x4 unsigned int framesize; // offset 0x17C, size 0x4 unsigned int YAdeswizzle_width; // offset 0x180, size 0x4 unsigned int YAdeswizzle_height; // offset 0x184, size 0x4 unsigned int cRcBdeswizzle_width; // offset 0x188, size 0x4 unsigned int cRcBdeswizzle_height; // offset 0x18C, size 0x4 struct _GXTexObj YAdeswizzle; // offset 0x190, size 0x20 struct _GXTexObj cRcBdeswizzle; // offset 0x1B0, size 0x20 int drawing[2]; // offset 0x1D0, size 0x8 }; struct Impl { // total size: 0x208 class FileLoader * mLoader; // offset 0x0, size 0x4 class String mPath; // offset 0x4, size 0xC struct BINK * mBink; // offset 0x10, size 0x4 struct BINKTEXTURESET texture_set; // offset 0x14, size 0x1D8 char * mPreload; // offset 0x1EC, size 0x4 unsigned char mLoop; // offset 0x1F0, size 0x1 unsigned char mMute; // offset 0x1F1, size 0x1 unsigned char mFillWidth; // offset 0x1F2, size 0x1 unsigned char mAnamorphic; // offset 0x1F3, size 0x1 class Rect mRect; // offset 0x1F4, size 0x10 class RndTex * mBufferTex; // offset 0x204, size 0x4 }; // Range: 0x803BEB5C -> 0x803BEBAC void * Impl::Impl(struct Impl * const this /* r30 */) {} // Range: 0x803BEBAC -> 0x803BEC00 unsigned char Impl::Ready() {} struct BINKSUMMARY { // total size: 0x7C unsigned int Width; // offset 0x0, size 0x4 unsigned int Height; // offset 0x4, size 0x4 unsigned int TotalTime; // offset 0x8, size 0x4 unsigned int FileFrameRate; // offset 0xC, size 0x4 unsigned int FileFrameRateDiv; // offset 0x10, size 0x4 unsigned int FrameRate; // offset 0x14, size 0x4 unsigned int FrameRateDiv; // offset 0x18, size 0x4 unsigned int TotalOpenTime; // offset 0x1C, size 0x4 unsigned int TotalFrames; // offset 0x20, size 0x4 unsigned int TotalPlayedFrames; // offset 0x24, size 0x4 unsigned int SkippedFrames; // offset 0x28, size 0x4 unsigned int SkippedBlits; // offset 0x2C, size 0x4 unsigned int SoundSkips; // offset 0x30, size 0x4 unsigned int TotalBlitTime; // offset 0x34, size 0x4 unsigned int TotalReadTime; // offset 0x38, size 0x4 unsigned int TotalVideoDecompTime; // offset 0x3C, size 0x4 unsigned int TotalAudioDecompTime; // offset 0x40, size 0x4 unsigned int TotalIdleReadTime; // offset 0x44, size 0x4 unsigned int TotalBackReadTime; // offset 0x48, size 0x4 unsigned int TotalReadSpeed; // offset 0x4C, size 0x4 unsigned int SlowestFrameTime; // offset 0x50, size 0x4 unsigned int Slowest2FrameTime; // offset 0x54, size 0x4 unsigned int SlowestFrameNum; // offset 0x58, size 0x4 unsigned int Slowest2FrameNum; // offset 0x5C, size 0x4 unsigned int AverageDataRate; // offset 0x60, size 0x4 unsigned int AverageFrameSize; // offset 0x64, size 0x4 unsigned int HighestMemAmount; // offset 0x68, size 0x4 unsigned int TotalIOMemory; // offset 0x6C, size 0x4 unsigned int HighestIOUsed; // offset 0x70, size 0x4 unsigned int Highest1SecRate; // offset 0x74, size 0x4 unsigned int Highest1SecFrame; // offset 0x78, size 0x4 }; // Range: 0x803BEC00 -> 0x803BED94 unsigned char Impl::Poll(struct Impl * const this /* r30 */) { // Local variables unsigned char decode; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BED94 -> 0x803BEDD8 void Impl::Draw(struct Impl * const this /* r31 */) { // References // -> class Rnd & TheRnd; } // Range: 0x803BEDD8 -> 0x803BEE50 void Impl::CheckReadError() { // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x803BEE50 -> 0x803BEEA0 void Impl::AllocFrames(struct Impl * const this /* r31 */) {} // Range: 0x803BEEA0 -> 0x803BEEE0 void Impl::FreeFrames(struct Impl * const this /* r31 */) {} class WiiOrthoProj { // total size: 0x1C float mSavedProjection[7]; // offset 0x0, size 0x1C }; // Range: 0x803BEEE0 -> 0x803BF014 void Impl::DrawBinkTexture(struct Impl * const this /* r30 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x8 // References // -> class WiiRnd TheWiiRnd; } // Range: 0x803BF014 -> 0x803BF090 void Impl::DrawNativeRes(struct Impl * const this /* r31 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x8 } // Range: 0x803BF090 -> 0x803BF110 void Movie::Init() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; } // Range: 0x803BF110 -> 0x803BF114 void Movie::Terminate() {} static unsigned char initialized; // size: 0x1, address: 0x80A51768 // Range: 0x803BF114 -> 0x803BF1A4 void * Movie::Movie(class Movie * const this /* r31 */) { // References // -> static unsigned char initialized; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BF1A4 -> 0x803BF220 void * Movie::~Movie(class Movie * const this /* r29 */) {} // Range: 0x803BF220 -> 0x803BF228 unsigned char Movie::Ready() {} // Range: 0x803BF228 -> 0x803BF230 unsigned char Movie::Begin() {} static class Timer * _t; // size: 0x4, address: 0x80A5176C // Range: 0x803BF230 -> 0x803BF2FC unsigned char Movie::Poll(class Movie * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A51774 // Range: 0x803BF2FC -> 0x803BF3C8 void Movie::Draw(class Movie * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } // Range: 0x803BF3C8 -> 0x803BF3D0 void Movie::End() {} static class Timer * _t; // size: 0x4, address: 0x80A5177C // Range: 0x803BF3D0 -> 0x803BF49C void Movie::DrawNativeRes(class Movie * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } // Range: 0x803BF49C -> 0x803BF4A8 void Movie::SetAnamorphic() {} /* Compile unit: C:\rockband2\system\src\rndobj\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BF4A8 -> 0x803BFD04 */ // Range: 0x803BF4A8 -> 0x803BF530 static void EndianSwapBuffer(void * ptr /* r30 */) { // Local variables int size; // r0 unsigned int * p; // [invalid] unsigned int * q; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BF530 -> 0x803BF7DC unsigned char Impl::Begin(struct Impl * const this /* r31 */, const char * file /* r25 */, unsigned char mute /* r26 */, unsigned char loop /* r27 */, unsigned char preload /* r30 */, unsigned char fillWidth /* r28 */) { // Local variables class DataArray * exec; // r4 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803BF7DC -> 0x803BFBB8 unsigned char Impl::FinishOpen(struct Impl * const this /* r31 */) { // Local variables struct BINKSUMMARY summary; // r1+0x18 float sw; // f31 float sh; // f30 float mw; // f29 float mh; // f28 float dw; // f2 float dh; // f3 float maspect; // f0 // References // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> class Rnd & TheRnd; // -> class Debug TheDebug; } // Range: 0x803BFBB8 -> 0x803BFD04 void Impl::End(struct Impl * const this /* r30 */) { // Local variables class DataArray * exec; // r4 } /* Compile unit: C:\rockband2\system\src\os\Endian.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BFD04 -> 0x803BFD10 */ // Range: 0x803BFD04 -> 0x803BFD10 void EndianSwapEq() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BFD10 -> 0x803BFD70 */ // Range: 0x803BFD10 -> 0x803BFD70 char * MakeString(const char * fmt /* r0 */, class String & t1 /* r30 */, char * t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\movie\Bink_WiiTextures.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803BFD70 -> 0x803C1488 */ // Range: 0x803BFD70 -> 0x803BFDB0 void Free_Bink_textures(struct BINKTEXTURESET * set_textures /* r31 */) {} // Range: 0x803BFDB0 -> 0x803BFDC4 static unsigned int nextpow2() {} // Range: 0x803BFDC4 -> 0x803BFE38 static void fill_offset_buffer() { // Local variables unsigned int finalwidth; // r6 int srcx; // r7 int srcy; // r8 int x; // r9 int y; // r10 unsigned int texoffset; // r11 } // Range: 0x803BFE38 -> 0x803BFED8 static void swizzle_offsets() { // Local variables unsigned int tilex; // r6 unsigned int tiley; // r7 unsigned int pitch; // r8 unsigned int tilesw; // r9 unsigned int tilesh; // r10 unsigned int swizzoffset; // r11 unsigned int row; // r12 unsigned int sourceoffset; // r31 unsigned int * dest; // r30 unsigned int * src; // r5 } enum _GXTexFmt { GX_TF_I4 = 0, GX_TF_I8 = 1, GX_TF_IA4 = 2, GX_TF_IA8 = 3, GX_TF_RGB565 = 4, GX_TF_RGB5A3 = 5, GX_TF_RGBA8 = 6, GX_TF_CMPR = 14, GX_CTF_R4 = 32, GX_CTF_RA4 = 34, GX_CTF_RA8 = 35, GX_CTF_YUVA8 = 38, GX_CTF_A8 = 39, GX_CTF_R8 = 40, GX_CTF_G8 = 41, GX_CTF_B8 = 42, GX_CTF_RG8 = 43, GX_CTF_GB8 = 44, GX_TF_Z8 = 17, GX_TF_Z16 = 19, GX_TF_Z24X8 = 22, GX_CTF_Z4 = 48, GX_CTF_Z8M = 57, GX_CTF_Z8L = 58, GX_CTF_Z16L = 60, GX_TF_A8 = 39, }; // Range: 0x803BFED8 -> 0x803BFF5C static int make_texture(unsigned int pitch /* r11 */, unsigned int height /* r10 */, enum _GXTexFmt format /* r0 */, struct _GXTexObj * texture /* r31 */) {} // Range: 0x803BFF5C -> 0x803BFF68 static unsigned int divisible128() {} // Range: 0x803BFF68 -> 0x803BFF88 static unsigned int swizz_div() { // Local variables unsigned int offwidth; // r3 } // Range: 0x803BFF88 -> 0x803C0040 static unsigned int make_swizzler(void * data /* r26 */, struct _GXTexObj * obj /* r27 */, unsigned int * out_swidth /* r28 */, unsigned int * out_sheight /* r30 */, unsigned int sourcewidth /* r29 */) { // Local variables unsigned int offwidth; // r31 unsigned int offsize; // r30 unsigned char buffer[2048]; // r1+0x8 } // Range: 0x803C0040 -> 0x803C00A4 static void do_deswizzlers(struct BINKTEXTURESET * set_textures /* r30 */, unsigned char * data /* r31 */) {} // Range: 0x803C00A4 -> 0x803C01BC static void calc_layout(struct BINKFRAMEBUFFERS * buffers /* r21 */, unsigned int * cRoffset /* r22 */, unsigned int * cBoffset /* r23 */, unsigned int * Aoffset /* r24 */, unsigned int * framesize /* r25 */, unsigned int * swizzlesize /* r26 */, unsigned int * YApitch /* r27 */, unsigned int * cRcBpitch /* r28 */) { // Local variables unsigned int yaheight; // r18 unsigned int crcbheight; // r19 unsigned int ysize; // r0 unsigned int asize; // r0 unsigned int crcbsize; // r0 } static int _x; // size: 0x4, address: 0x80A51788 // Range: 0x803C01BC -> 0x803C0448 int Create_Bink_textures(struct BINKTEXTURESET * set_textures /* r28 */) { // Local variables int i; // r30 unsigned int cRoffset; // r1+0x20 unsigned int cBoffset; // r1+0x1C unsigned int Aoffset; // r1+0x18 unsigned int framesize; // r1+0x14 unsigned int swizzlesize; // r1+0x10 unsigned int YApitch; // r1+0xC unsigned int cRcBpitch; // r1+0x8 unsigned char * data; // r29 // References // -> static int _x; } struct _GXColorS10 { // total size: 0x8 signed short r; // offset 0x0, size 0x2 signed short g; // offset 0x2, size 0x2 signed short b; // offset 0x4, size 0x2 signed short a; // offset 0x6, size 0x2 }; static struct _GXColorS10 reg0color; // size: 0x8, address: 0x80848DA0 struct _GXColor { // total size: 0x4 unsigned char r; // offset 0x0, size 0x1 unsigned char g; // offset 0x1, size 0x1 unsigned char b; // offset 0x2, size 0x1 unsigned char a; // offset 0x3, size 0x1 }; static struct _GXColor color0; // size: 0x4, address: 0x80A570C4 static struct _GXColor color1; // size: 0x4, address: 0x80A570C8 static struct _GXColor color2; // size: 0x4, address: 0x80A570CC static struct _GXColor color3; // size: 0x4, address: 0x80A570D0 static float indMtx[2][3]; // size: 0x18, address: 0x80848DA8 static float id_texmtx[2][4]; // size: 0x20, address: 0x80848DC0 static float yswiz_texmtx[2][4]; // size: 0x20, address: 0x8097E100 static float crcbswiz_texmtx[2][4]; // size: 0x20, address: 0x8097E120 // Range: 0x803C0448 -> 0x803C0C1C void Select_Bink_textures(struct BINKTEXTURESET * set_textures /* r30 */) { // Local variables float yaswizzletexU; // f3 float yaSwizzletexV; // f4 float crcbswizzletexU; // f5 float crcbswizzletexV; // f0 // References // -> static float id_texmtx[2][4]; // -> static float crcbswiz_texmtx[2][4]; // -> static float yswiz_texmtx[2][4]; // -> static float indMtx[2][3]; // -> static struct _GXColor color3; // -> static struct _GXColor color2; // -> static struct _GXColor color1; // -> static struct _GXColor color0; // -> static struct _GXColorS10 reg0color; } // Range: 0x803C0C1C -> 0x803C11A8 void Select_Bink_textures_grayscale(struct BINKTEXTURESET * set_textures /* r30 */) { // Local variables float yaswizzletexU; // f3 float yaSwizzletexV; // f4 float crcbswizzletexU; // f5 float crcbswizzletexV; // f0 // References // -> static float id_texmtx[2][4]; // -> static float crcbswiz_texmtx[2][4]; // -> static float yswiz_texmtx[2][4]; // -> static float indMtx[2][3]; // -> static struct _GXColor color3; // -> static struct _GXColor color2; // -> static struct _GXColor color1; // -> static struct _GXColor color0; // -> static struct _GXColorS10 reg0color; } // Range: 0x803C11A8 -> 0x803C1380 void JustDraw_Bink_textures(signed short x_offset /* r28 */, signed short y_offset /* r29 */) { // Local variables signed short x2; // r31 signed short y2; // r30 } // Range: 0x803C1380 -> 0x803C1408 void Deselect_Bink_textures() { // Local variables int i; // r31 } // Range: 0x803C1408 -> 0x803C1488 void Draw_Bink_textures(struct BINKTEXTURESET * set_textures /* r27 */, signed short width /* r28 */, signed short height /* r29 */, signed short x_offset /* r30 */, signed short y_offset /* r31 */) {} /* Compile unit: C:\rockband2\system\src\track\Track.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C1488 -> 0x803C151C */ class Symbol name; // size: 0x4, address: 0x80A51794 class Symbol name; // size: 0x4, address: 0x80A5179C // Range: 0x803C1488 -> 0x803C151C void TrackInit() { // References // -> class Symbol name; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\track\TrackDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C151C -> 0x803C1590 */ // Range: 0x803C151C -> 0x803C1590 class Object * TrackDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\track\TrackWidget.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C1590 -> 0x803C1608 */ // Range: 0x803C1590 -> 0x803C1608 class Object * TrackWidget::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\track\TrackDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C1608 -> 0x803C3A00 */ class DataArray * types; // size: 0x4, address: 0x80A517A0 class TrackTest { // total size: 0x14 class TrackDir * mTrack; // offset 0x0, size 0x4 class ObjPtr mWidget; // offset 0x4, size 0xC int mSlot; // offset 0x10, size 0x4 }; // Range: 0x803C1608 -> 0x803C17C8 void * TrackDir::TrackDir(class TrackDir * const this /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8TrackDir; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803C17C8 -> 0x803C19D0 void * TrackDir::~TrackDir(class TrackDir * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11TrackWidget,9ObjectDir>; // -> struct [anonymous] __vt__8TrackDir; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class TrackWidget * mPtr; // offset 0x8, size 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class TrackWidget * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x803C19D0 -> 0x803C1CE4 void TrackDir::SyncObjects(class TrackDir * const this /* r31 */) { // Local variables class ObjDirItr i; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x803C1CE4 -> 0x803C1E5C void TrackDir::Copy(class TrackDir * const this /* r28 */, const class Object * o /* r29 */) { // Local variables const class TrackDir * d; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8TrackDir; } // Range: 0x803C1E5C -> 0x803C1EB8 void TrackDir::Load(class TrackDir * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803C1EB8 -> 0x803C2004 void TrackDir::PostLoad(class TrackDir * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class list sRevs; } // Range: 0x803C2004 -> 0x803C20F4 void TrackDir::DrawShowing(class TrackDir * const this /* r30 */) { // Local variables class RndCam * oldcam; // r31 // References // -> class RndCam * sCurrent; } // Range: 0x803C20F4 -> 0x803C218C void TrackDir::Poll(class TrackDir * const this /* r31 */) { // Local variables class Timer tm; // r1+0x8 float nowY; // f1 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803C218C -> 0x803C219C float TrackDir::TopSeconds() {} // Range: 0x803C219C -> 0x803C21AC float TrackDir::BottomSeconds() {} // Range: 0x803C21AC -> 0x803C21B8 float TrackDir::SecondsToY() {} // Range: 0x803C21B8 -> 0x803C21C4 float TrackDir::YToSeconds() {} // Range: 0x803C21C4 -> 0x803C220C float TrackDir::CutOffY(const class TrackDir * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803C220C -> 0x803C22E8 void TrackDir::SetSlotPosition(class TrackDir * const this /* r29 */, int index /* r30 */, struct SlotPosition & pos /* r31 */) {} // Range: 0x803C22E8 -> 0x803C2350 void TrackDir::MakeSecondsXfm(class Transform & t /* r31 */) {} // Range: 0x803C2350 -> 0x803C23A4 void TrackDir::MakeWidgetXfm(const class TrackDir * const this /* r30 */, float seconds /* f31 */, class Transform & t /* r31 */) {} // Range: 0x803C23A4 -> 0x803C23AC void TrackDir::SetYPerSecond() {} // Range: 0x803C23AC -> 0x803C23C8 void TrackDir::SetScrollSpeed() {} // Range: 0x803C23C8 -> 0x803C26C8 void TrackDir::ClearAllWidgets() { // Local variables class ObjDirItr i; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x803C26C8 -> 0x803C2A0C void TrackDir::ClearWidgets(float seconds /* f31 */, const class Symbol & except /* r31 */) { // Local variables class ObjDirItr i; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x803C2A0C -> 0x803C2A74 void TrackDir::ToggleRunning(class TrackDir * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A517A8 static class Symbol _s; // size: 0x4, address: 0x80A517B0 static class Symbol _s; // size: 0x4, address: 0x80A517B8 // Range: 0x803C2A74 -> 0x803C3020 class DataNode TrackDir::Handle(class TrackDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A517C0 static class Symbol _s; // size: 0x4, address: 0x80A517C8 // Range: 0x803C3020 -> 0x803C3274 unsigned char PropSync(struct SlotPosition & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A517D0 static class Symbol _s; // size: 0x4, address: 0x80A517D8 static class Symbol _s; // size: 0x4, address: 0x80A517E0 static class Symbol _s; // size: 0x4, address: 0x80A517E8 static class Symbol _s; // size: 0x4, address: 0x80A517F0 static class Symbol _s; // size: 0x4, address: 0x80A517F8 static class Symbol _s; // size: 0x4, address: 0x80A51800 static class Symbol _s; // size: 0x4, address: 0x80A51808 // Range: 0x803C3274 -> 0x803C3804 unsigned char TrackDir::SyncProperty(class TrackDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x803C3804 -> 0x803C3A00 unsigned char PropSync(class vector & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables struct SlotPosition * it; // r30 struct SlotPosition tmp; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x18 } __vt__32ObjPtr<11TrackWidget,9ObjectDir>; // size: 0x18, address: 0x808E0678 struct { // total size: 0x8 } __RTTI__32ObjPtr<11TrackWidget,9ObjectDir>; // size: 0x8, address: 0x808E06C0 struct { // total size: 0x23C } __vt__8TrackDir; // size: 0x23C, address: 0x808E06C8 struct { // total size: 0x8 } __RTTI__P12SlotPosition; // size: 0x8, address: 0x808E0CD0 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C3A00 -> 0x803C3CD8 */ // Range: 0x803C3A00 -> 0x803C3A78 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11TrackWidget,9ObjectDir>; } // Range: 0x803C3A78 -> 0x803C3C20 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x803C3C20 -> 0x803C3C28 class Object * ObjPtr::RefOwner() {} // Range: 0x803C3C28 -> 0x803C3CD8 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C3CD8 -> 0x803C3E48 */ // Range: 0x803C3CD8 -> 0x803C3E48 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } /* Compile unit: C:\rockband2\system\src\track\TrackDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C3E48 -> 0x803C46F8 */ // Range: 0x803C3E48 -> 0x803C3E8C void TrackDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x803C3E8C -> 0x803C3FA4 void TrackDir::PreLoad(class TrackDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } // Range: 0x803C3FA4 -> 0x803C3FE8 class Symbol TrackDir::ClassName() { // References // -> class Symbol name; } // Range: 0x803C3FE8 -> 0x803C40C4 void TrackDir::MakeSlotXfm(const class TrackDir * const this /* r29 */, int slot /* r30 */, class Transform & t /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803C40C4 -> 0x803C4428 void TrackDir::ClearAllFillWidgets() { // Local variables class ObjDirItr i; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x803C4428 -> 0x803C4564 void TrackDir::AddTestWidget(class TrackDir * const this /* r29 */, class TrackWidget * w /* r30 */, int slot /* r31 */) { // Local variables class Transform t; // r1+0x10 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; } // Range: 0x803C4564 -> 0x803C46F8 void TrackDir::SetType(class TrackDir * const this /* r29 */, class Symbol & TrackDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C46F8 -> 0x803C4840 */ // Range: 0x803C46F8 -> 0x803C4840 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct SlotPosition * t; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C4840 -> 0x803C5180 */ // Range: 0x803C4840 -> 0x803C4A2C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct SlotPosition * __pos /* r26 */, const struct SlotPosition & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct SlotPosition * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12SlotPosition; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803C4A2C -> 0x803C4CA0 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12SlotPosition; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803C4CA0 -> 0x803C4CF8 struct SlotPosition * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x803C4CF8 -> 0x803C4D68 void vector::_M_fill_insert() {} // Range: 0x803C4D68 -> 0x803C4F50 void vector::_M_fill_insert_aux() { // Local variables struct SlotPosition __x_copy; // r1+0x20 unsigned long __elems_after; // r8 struct SlotPosition * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\track\TrackTest.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C5180 -> 0x803C54F8 */ // Range: 0x803C5180 -> 0x803C51D4 void * TrackTest::TrackTest() { // References // -> struct [anonymous] __vt__32ObjPtr<11TrackWidget,9ObjectDir>; } static class Symbol _s; // size: 0x4, address: 0x80A51814 static class Symbol _s; // size: 0x4, address: 0x80A5181C // Range: 0x803C51D4 -> 0x803C5390 unsigned char PropSync(class TrackTest & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x803C5390 -> 0x803C54F8 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\track\TrackWidget.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C54F8 -> 0x803C6C68 */ class DataArray * types; // size: 0x4, address: 0x80A51820 // Range: 0x803C54F8 -> 0x803C568C void * TrackWidget::TrackWidget(class TrackWidget * const this /* r31 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__11TrackWidget; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803C568C -> 0x803C5958 void * TrackWidget::~TrackWidget(class TrackWidget * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__31ObjPtrList<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__11TrackWidget; } class TrackWidgetImp { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; // Range: 0x803C5958 -> 0x803C59E8 void TrackWidget::DrawShowing(class TrackWidget * const this /* r31 */) { // References // -> class RndEnviron * sCurrent; } // Range: 0x803C59E8 -> 0x803C5A58 void TrackWidget::Enter(class TrackWidget * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8TrackDir; } // Range: 0x803C5A58 -> 0x803C5B60 void TrackWidget::Poll(class TrackWidget * const this /* r30 */) { // Local variables class list & instances; // r31 float cutOffY; // f31 struct _List_iterator inst; // r1+0x2C } // Range: 0x803C5B60 -> 0x803C5B74 class list & TrackWidget::Instances() {} static class DebugWarner _dw; // size: 0x100, address: 0x8097E140 // Range: 0x803C5B74 -> 0x803C5D70 void TrackWidget::AddInstance(class TrackWidget * const this /* r28 */, const class Transform & xfm /* r31 */, float duration /* f31 */) { // Local variables class list & instances; // r29 // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; } struct InstanceCmp { // total size: 0x1 }; // Range: 0x803C5D98 -> 0x803C5EF4 void TrackWidget::RemoveAt(class TrackWidget * const this /* r30 */, float seconds /* f31 */) { // Local variables class list & instances; // r31 float y; // f0 struct _List_iterator from; // r1+0x38 struct _List_iterator to; // r1+0x34 } // Range: 0x803C5EF4 -> 0x803C603C void TrackWidget::RemoveAt(class TrackWidget * const this /* r29 */, float seconds /* f30 */, int slot /* r30 */) { // Local variables class list & instances; // r0 float y; // f0 float x; // f30 struct _List_iterator end; // r1+0x1C struct _List_iterator it; // r1+0x18 } // Range: 0x803C603C -> 0x803C6070 void TrackWidget::Clear() {} // Range: 0x803C6070 -> 0x803C61C4 void TrackWidget::Mats(class TrackWidget * const this /* r29 */, class list & mats /* r30 */) { // Local variables class iterator it; // r1+0x20 struct MatShaderOptions opts; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803C61C4 -> 0x803C61F0 unsigned char TrackWidget::Prunable() {} // Range: 0x803C61F0 -> 0x803C6214 static unsigned char NearOne() {} static class Symbol _s; // size: 0x4, address: 0x80A51828 // Range: 0x803C6214 -> 0x803C66EC class DataNode TrackWidget::Handle(class TrackWidget * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51830 static class Symbol _s; // size: 0x4, address: 0x80A51838 static class Symbol _s; // size: 0x4, address: 0x80A51840 static class Symbol _s; // size: 0x4, address: 0x80A51848 static class Symbol _s; // size: 0x4, address: 0x80A51850 static class Symbol _s; // size: 0x4, address: 0x80A51858 // Range: 0x803C66EC -> 0x803C6C68 unsigned char TrackWidget::SyncProperty(class TrackWidget * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x14 } __vt__14TrackWidgetImp; // size: 0x14, address: 0x808E1230 struct { // total size: 0x8 } __RTTI__14TrackWidgetImp; // size: 0x8, address: 0x808E1258 struct { // total size: 0xE8 } __vt__11TrackWidget; // size: 0xE8, address: 0x808E1260 /* Compile unit: C:\rockband2\system\src\track\TrackWidgetImp.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C6D60 -> 0x803C6DA0 */ // Range: 0x803C6D60 -> 0x803C6DA0 void * TrackWidgetImp::~TrackWidgetImp(class TrackWidgetImp * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\track\TrackWidget.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C6DA0 -> 0x803C7574 */ // Range: 0x803C6DA0 -> 0x803C71CC void TrackWidget::Copy(class TrackWidget * const this /* r29 */, enum CopyType type /* r27 */) { // Local variables const class TrackWidget * tw; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11TrackWidget; } // Range: 0x803C71CC -> 0x803C7210 void TrackWidget::Save() { // References // -> class Debug TheDebug; } // Range: 0x803C7210 -> 0x803C738C void TrackWidget::Load(class TrackWidget * const this /* r31 */, class BinStream & d /* r29 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; } // Range: 0x803C738C -> 0x803C73D0 class Symbol TrackWidget::ClassName() { // References // -> class Symbol name; } // Range: 0x803C73D0 -> 0x803C7574 void TrackWidget::SetType(class TrackWidget * const this /* r29 */, class Symbol & TrackWidget /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C7574 -> 0x803C7D20 */ // Range: 0x803C7574 -> 0x803C7920 void _S_sort(class list & __that /* r28 */, struct InstanceCmp & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x803C7920 -> 0x803C79F4 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803C79F4 -> 0x803C7D20 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C7D20 -> 0x803C7F00 */ // Range: 0x803C7D20 -> 0x803C7E38 void TrackWidget::SyncImp(class TrackWidget * const this /* r31 */) { // References // -> struct [anonymous] __vt__18ImmediateWidgetImp; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } // Range: 0x803C7E38 -> 0x803C7F00 void TrackWidget::CheckScales() { // Local variables class iterator mit; // r1+0x18 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C7F00 -> 0x803C7F5C */ // Range: 0x803C7F00 -> 0x803C7F58 void * list::~list(class list * const this /* r30 */) {} // Range: 0x803C7F58 -> 0x803C7F5C class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\track\TrackWidgetImp.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C7F5C -> 0x803C8694 */ class Symbol name; // size: 0x4, address: 0x80A51864 class ImmediateWidgetImp : public TrackWidgetImp { // total size: 0x10 class list mInstances; // offset 0x4, size 0x8 unsigned char mAllowRotation; // offset 0xC, size 0x1 }; // Range: 0x803C7F5C -> 0x803C8490 void ImmediateWidgetImp::DrawInstances(class ImmediateWidgetImp * const this /* r27 */, int maxMeshes /* r28 */) { // Local variables class Transform retXform; // r1+0xC0 int count; // r31 class iterator mit; // r1+0x64 class RndMesh * mesh; // r30 struct _List_iterator inst; // r1+0x60 class RndTransformable * bone; // r29 class Vector3 bonePos; // r1+0x70 class Transform t; // r1+0x80 // References // -> class LoadMgr TheLoadMgr; } class MultiMeshWidgetImp : public TrackWidgetImp { // total size: 0x8 class RndMultiMesh * mMulti; // offset 0x4, size 0x4 }; // Range: 0x803C8490 -> 0x803C8558 void * MultiMeshWidgetImp::MultiMeshWidgetImp(class MultiMeshWidgetImp * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; // -> class Symbol name; // -> struct [anonymous] __vt__18MultiMeshWidgetImp; } // Range: 0x803C8558 -> 0x803C85D8 void * MultiMeshWidgetImp::~MultiMeshWidgetImp(class MultiMeshWidgetImp * const this /* r30 */) { // References // -> struct [anonymous] __vt__18MultiMeshWidgetImp; } // Range: 0x803C85D8 -> 0x803C85E4 class list & MultiMeshWidgetImp::Instances() {} // Range: 0x803C85E4 -> 0x803C8694 void MultiMeshWidgetImp::DrawInstances(class MultiMeshWidgetImp * const this /* r29 */, int maxMeshes /* r30 */) { // Local variables int count; // r31 class iterator mit; // r1+0x18 } struct { // total size: 0x14 } __vt__18MultiMeshWidgetImp; // size: 0x14, address: 0x808E1828 struct { // total size: 0x8 } __RTTI__18MultiMeshWidgetImp; // size: 0x8, address: 0x808E1860 struct { // total size: 0x14 } __vt__18ImmediateWidgetImp; // size: 0x14, address: 0x808E1868 struct { // total size: 0x8 } __RTTI__18ImmediateWidgetImp; // size: 0x8, address: 0x808E18A0 /* Compile unit: C:\rockband2\system\src\track\TrackWidgetImp.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C8694 -> 0x803C869C */ // Range: 0x803C8694 -> 0x803C869C class list & ImmediateWidgetImp::Instances() {} /* Compile unit: C:\rockband2\system\src\rndobj\MultiMesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C869C -> 0x803C87D4 */ // Range: 0x803C869C -> 0x803C87D4 void * RndMultiMesh::~RndMultiMesh(class RndMultiMesh * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__12RndMultiMesh; } /* Compile unit: C:\rockband2\system\src\ui\Button.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C8834 -> 0x803C8AA4 */ class DataArray * types; // size: 0x4, address: 0x80A51868 class Symbol name; // size: 0x4, address: 0x80A51870 // Range: 0x803C8834 -> 0x803C8918 void * UIButton::UIButton(class UIButton * const this /* r31 */) { // References // -> struct [anonymous] __vt__8UIButton; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803C8918 -> 0x803C8974 void UIButton::Load(class UIButton * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803C8974 -> 0x803C8978 void UIButton::PostLoad() {} // Range: 0x803C8978 -> 0x803C8A24 class DataNode UIButton::OnMsg(class UIButton * const this /* r29 */, const class ButtonDownMsg & msg /* r30 */) {} // Range: 0x803C8A24 -> 0x803C8AA4 unsigned char UIButton::SyncProperty(class UIButton * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0x154 } __vt__8UIButton; // size: 0x154, address: 0x808E1934 /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C8AA4 -> 0x803C913C */ // Range: 0x803C8AA4 -> 0x803C8B1C void UIButton::Init() { // References // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x803C8B1C -> 0x803C8BBC void UIButton::Copy(class UIButton * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class UIButton * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIButton; } // Range: 0x803C8BBC -> 0x803C8C00 void UIButton::Save() { // References // -> class Debug TheDebug; } // Range: 0x803C8C00 -> 0x803C8CC4 void UIButton::PreLoad(class UIButton * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; } // Range: 0x803C8CC4 -> 0x803C913C class DataNode UIButton::Handle(class UIButton * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\ui\Button.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C913C -> 0x803C9390 */ // Range: 0x803C913C -> 0x803C91B4 class Object * UIButton::NewObject() { // References // -> class Symbol name; } // Range: 0x803C91B4 -> 0x803C91F8 class Symbol UIButton::ClassName() { // References // -> class Symbol name; } // Range: 0x803C91F8 -> 0x803C9390 void UIButton::SetType(class UIButton * const this /* r29 */, class Symbol & UIButton /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\CheatProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C951C -> 0x803C9AD4 */ class DataArray * types; // size: 0x4, address: 0x80A51878 class Symbol name; // size: 0x4, address: 0x80A51880 class CheatProvider : public ListProvider, public Object { // total size: 0x38 class vector mCheats; // offset 0x2C, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; struct Cheat { // total size: 0x1C class String mKey; // offset 0x0, size 0xC class String mDesc; // offset 0xC, size 0xC class DataArray * mScript; // offset 0x18, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Cheat * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Cheat * _M_start; // offset 0x0, size 0x4 struct Cheat * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; static class Symbol key; // size: 0x4, address: 0x80A51888 static class Symbol description; // size: 0x4, address: 0x80A51890 // Range: 0x803C951C -> 0x803C9618 char * CheatProvider::Text(const class CheatProvider * const this /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol description; // -> static class Symbol key; } // Range: 0x803C9618 -> 0x803C9664 class RndMat * CheatProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803C9664 -> 0x803C9690 int CheatProvider::NumData() {} // Range: 0x803C9690 -> 0x803C9718 unsigned char CheatProvider::Invoke() { // Local variables class DataArray * script; // r4 } static class Symbol _s; // size: 0x4, address: 0x80A51898 // Range: 0x803C9718 -> 0x803C9AD4 class DataNode CheatProvider::Handle(class CheatProvider * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xA4 } __vt__13CheatProvider; // size: 0xA4, address: 0x808E1B80 struct { // total size: 0x8 } __RTTI__13CheatProvider; // size: 0x8, address: 0x808E1C50 struct { // total size: 0x8 } __RTTI__PQ213CheatProvider5Cheat; // size: 0x8, address: 0x808E1CB8 /* Compile unit: C:\rockband2\system\src\ui\CheatProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803C9AD4 -> 0x803CA134 */ // Range: 0x803C9AD4 -> 0x803C9F5C void * CheatProvider::CheatProvider(class CheatProvider * const this /* r25 */) { // Local variables class DataArray * cheats; // r29 int i; // r28 class DataArray * sub_cheats; // r27 const char * title; // r26 int j; // r26 enum DataType key_type; // r0 const char * key_str; // r21 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__13CheatProvider; // -> struct [anonymous] __vt__12ListProvider; } // Range: 0x803C9F5C -> 0x803C9FA0 class Symbol CheatProvider::ClassName() { // References // -> class Symbol name; } // Range: 0x803C9FA0 -> 0x803CA134 void CheatProvider::SetType(class CheatProvider * const this /* r29 */, class Symbol & CheatProvider /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803CA264 -> 0x803CA4E0 */ // Range: 0x803CA264 -> 0x803CA4E0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Cheat * __pos /* r26 */, const struct Cheat & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Cheat * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213CheatProvider5Cheat; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\ui\Label.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803CA4E0 -> 0x803CE950 */ class DataArray * types; // size: 0x4, address: 0x80A518A0 class Symbol name; // size: 0x4, address: 0x80A518A8 unsigned char sDebugHighlight; // size: 0x1, address: 0x80A518AC // Range: 0x803CA4E0 -> 0x803CA714 void * UILabel::UILabel(class UILabel * const this /* r31 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; // -> class Symbol name; // -> struct [anonymous] __vt__7UILabel; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803CA714 -> 0x803CA850 void * UILabel::~UILabel(class UILabel * const this /* r30 */) { // References // -> struct [anonymous] __vt__7UILabel; } // Range: 0x803CA850 -> 0x803CA8C8 void UILabel::Init() { // References // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x803CA8C8 -> 0x803CA97C void UILabel::Copy(class UILabel * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class UILabel * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; } // Range: 0x803CA97C -> 0x803CAAE4 void UILabel::CopyMembers(class UILabel * const this /* r30 */, const class UIComponent * c /* r31 */) { // Local variables const class UILabel * l; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __RTTI__7UILabel; } static int REV; // size: 0x4, address: 0x80A46F10 // Range: 0x803CAAE4 -> 0x803CAB28 void UILabel::Save() { // References // -> class Debug TheDebug; } // Range: 0x803CAB28 -> 0x803CAB84 void UILabel::Load(class UILabel * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803CAB84 -> 0x803CAEEC void UILabel::PreLoad(class UILabel * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x14 // References // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> static int REV; } // Range: 0x803CAEEC -> 0x803CAF44 void UILabel::Print(class UILabel * const this /* r4 */) { // References // -> class Debug TheDebug; } // Range: 0x803CAF44 -> 0x803CB0A8 void UILabel::PostLoad(class UILabel * const this /* r29 */) { // References // -> unsigned char sVerboseNotify; // -> class Debug TheDebug; // -> class UIManager TheUI; } static class Symbol text; // size: 0x4, address: 0x80A518B0 // Range: 0x803CB0A8 -> 0x803CB230 void UILabel::DrawShowing(class UILabel * const this /* r31 */) { // Local variables class RndFont * state_font; // r0 // References // -> unsigned char sDebugHighlight; // -> class Debug TheDebug; // -> unsigned char sVerboseNotify; // -> static class Symbol text; } // Range: 0x803CB230 -> 0x803CB418 void UILabel::Highlight(class UILabel * const this /* r31 */) { // Local variables class Vector3 min; // r1+0x30 class Vector3 max; // r1+0x20 class Box box; // r1+0x40 class Color c; // r1+0x10 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803CB418 -> 0x803CB45C class RndDrawable * UILabel::CollideShowing(class UILabel * const this /* r31 */) {} // Range: 0x803CB45C -> 0x803CB470 int UILabel::CollidePlane() {} // Range: 0x803CB470 -> 0x803CB4CC class Symbol UILabel::TextToken() { // Local variables char editor_text[1024]; // r1+0x10 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x803CB4CC -> 0x803CB4D4 class RndText * UILabel::TextObj() {} // Range: 0x803CB4D4 -> 0x803CB5A8 void UILabel::SetTextToken(class UILabel * const this /* r31 */) { // Local variables char buf[1024]; // r1+0x10 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x803CB5A8 -> 0x803CB5EC void UILabel::SetLocalized(class UILabel * const this /* r31 */) {} static class Symbol size_range; // size: 0x4, address: 0x80A518B8 static class Symbol text; // size: 0x4, address: 0x80A518C0 // Range: 0x803CB5EC -> 0x803CC044 unsigned char UILabel::CheckValid(class UILabel * const this /* r29 */, unsigned char notify /* r30 */) { // Local variables float width; // r1+0x90 float height; // r1+0x8C class vector lines; // r1+0xA0 float textSize; // f1 class Vector2 textSizeRange; // r1+0x98 class DataArray * rangeArray; // r27 class RndText * resourceText; // r0 float lineHeight; // f0 float textWidth; // f2 int i; // r6 float w; // f0 // References // -> static class Symbol text; // -> const char * gNullStr; // -> static class Symbol size_range; // -> unsigned char sVerboseNotify; // -> unsigned char sDebugHighlight; // -> class Debug TheDebug; } static class Symbol text; // size: 0x4, address: 0x80A518C8 // Range: 0x803CC044 -> 0x803CC288 void UILabel::LabelUpdate(class UILabel * const this /* r26 */, unsigned char forceUpdateText /* r27 */) { // Local variables class RndText * t; // r29 class RndFont * font; // r28 float font_kerning; // f31 unsigned char textChanged; // r1+0x10 // References // -> class LoadMgr TheLoadMgr; // -> static class Symbol text; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803CC288 -> 0x803CC2C0 void UILabel::Validate() { // References // -> unsigned char sVerboseNotify; } // Range: 0x803CC2C0 -> 0x803CC468 void UILabel::AdjustHeight(class UILabel * const this /* r31 */, unsigned char useReserveLines /* r29 */) { // Local variables float w; // r1+0x1C class vector lines; // r1+0x20 } static class Message localize_fail; // size: 0x8, address: 0x8097E250 // Range: 0x803CC468 -> 0x803CC7F8 void UILabel::CheckLocale(class UILabel * const this /* r30 */) { // References // -> static class Message localize_fail; // -> struct [anonymous] __vt__7Message; // -> const char * kNotObjectMsg; // -> class ObjectDir * sMainDir; // -> const char * gNullStr; // -> class Locale TheLocale; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x803CC7F8 -> 0x803CC80C void UILabel::SetAlignment() {} // Range: 0x803CC80C -> 0x803CC820 void UILabel::SetCapsMode() {} // Range: 0x803CC820 -> 0x803CC834 void UILabel::SetFitType() {} // Range: 0x803CC834 -> 0x803CCE4C void UILabel::FitText(class UILabel * const this /* r28 */, unsigned char * update /* r29 */) { // Local variables float width; // f0 class Transform xfm; // r1+0x90 float scaleWidth; // f31 float top; // r1+0x4C float bottom; // r1+0x48 float height; // f0 float scaleHeight; // f5 class Vector3 v; // r1+0x80 float size; // f31 float width; // r1+0x44 float height; // r1+0x40 class vector lines; // r1+0x74 float fontAspectRatio; // f0 class String trunc_str; // r1+0x68 class String str; // r1+0x5C int len; // r30 float width; // r1+0x3C float height; // r1+0x38 class vector lines; // r1+0x50 unsigned int pos; // r0 int trunc_len; // r0 int i; // r26 int i; // r26 } static class Symbol _s; // size: 0x4, address: 0x80A518D0 static class Symbol _s; // size: 0x4, address: 0x80A518D8 static class Symbol _s; // size: 0x4, address: 0x80A518E0 static class Symbol _s; // size: 0x4, address: 0x80A518E8 static class Symbol _s; // size: 0x4, address: 0x80A518F0 // Range: 0x803CCE4C -> 0x803CD5A8 class DataNode UILabel::Handle(class UILabel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A518F8 static class Symbol _s; // size: 0x4, address: 0x80A51900 static class Symbol _s; // size: 0x4, address: 0x80A51908 static class Symbol _s; // size: 0x4, address: 0x80A51910 static class Symbol _s; // size: 0x4, address: 0x80A51918 static class Symbol _s; // size: 0x4, address: 0x80A51920 static class Symbol _s; // size: 0x4, address: 0x80A51928 static class Symbol _s; // size: 0x4, address: 0x80A51930 static class Symbol _s; // size: 0x4, address: 0x80A51938 static class Symbol _s; // size: 0x4, address: 0x80A51940 static class Symbol _s; // size: 0x4, address: 0x80A51948 static class Symbol _s; // size: 0x4, address: 0x80A51950 static class Symbol _s; // size: 0x4, address: 0x80A51958 static class Symbol _s; // size: 0x4, address: 0x80A51960 static class Symbol _s; // size: 0x4, address: 0x80A51968 static class Symbol _s; // size: 0x4, address: 0x80A51970 static class Symbol _s; // size: 0x4, address: 0x80A51978 static class Symbol _s; // size: 0x4, address: 0x80A51980 static class Symbol _s; // size: 0x4, address: 0x80A51988 static class Symbol _s; // size: 0x4, address: 0x80A51990 // Range: 0x803CD5A8 -> 0x803CE950 unsigned char UILabel::SyncProperty(class UILabel * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x154 } __vt__7UILabel; // size: 0x154, address: 0x808E2288 class Locale { // total size: 0x18 protected: int mSize; // offset 0x0, size 0x4 class Symbol * mSymTable; // offset 0x4, size 0x4 const char * * mStrTable; // offset 0x8, size 0x4 class StringTable * mStringData; // offset 0xC, size 0x4 class Symbol mFile; // offset 0x10, size 0x4 int mNumFilesLoaded; // offset 0x14, size 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803CE950 -> 0x803CEC38 */ // Range: 0x803CE950 -> 0x803CE9EC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, const char * t2 /* r30 */, float t3 /* f30 */, float t4 /* f31 */, const char * t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x803CE9EC -> 0x803CEA74 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, const char * t2 /* r29 */, int t3 /* r30 */, int t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x803CEA74 -> 0x803CEAFC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, const char * t2 /* r29 */, int t3 /* r30 */, unsigned int t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\ui\Label.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803CEC38 -> 0x803CEE8C */ // Range: 0x803CEC38 -> 0x803CECB0 class Object * UILabel::NewObject() { // References // -> class Symbol name; } // Range: 0x803CECB0 -> 0x803CECF4 class Symbol UILabel::ClassName() { // References // -> class Symbol name; } // Range: 0x803CECF4 -> 0x803CEE8C void UILabel::SetType(class UILabel * const this /* r29 */, class Symbol & UILabel /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\List.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803CEE8C -> 0x803D2834 */ class Symbol t; // size: 0x4, address: 0x80A5199C class Symbol t; // size: 0x4, address: 0x80A519A4 class DataArray * types; // size: 0x4, address: 0x80A519A8 // Range: 0x803CEE8C -> 0x803CF044 void * UIList::UIList(class UIList * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__6UIList; // -> struct [anonymous] __vt__12ListProvider; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803CF044 -> 0x803CF1F4 void * UIList::~UIList(class UIList * const this /* r30 */) { // References // -> struct [anonymous] __vt__6UIList; } static int REV; // size: 0x4, address: 0x80A46F34 static int gRev; // size: 0x4, address: 0x80A519B0 // Range: 0x803CF1F4 -> 0x803CF238 void UIList::Save() { // References // -> class Debug TheDebug; } // Range: 0x803CF238 -> 0x803CF294 void UIList::Load(class UIList * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803CF294 -> 0x803CF35C void UIList::PreLoad(class UIList * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int REV; // -> static int gRev; } // Range: 0x803CF35C -> 0x803CF3B4 void UIList::Print(class UIList * const this /* r4 */) { // References // -> class Debug TheDebug; } static unsigned char gLoading; // size: 0x1, address: 0x80A519B4 // Range: 0x803CF3B4 -> 0x803CF764 void UIList::PostLoad(class UIList * const this /* r23 */, class BinStream & d /* r24 */) { // Local variables float spacing; // r1+0x38 float arrowOffset; // r1+0x34 enum ListShowing arrow_showing; // r31 unsigned char arrow_only_scroll; // r30 unsigned char arrows_on_highlight; // r29 enum ListShowing highlight_showing; // r28 int fadeOffset; // r1+0x30 int numDisplay; // r1+0x2C unsigned char circular; // r27 float speed; // r1+0x28 unsigned char scroll_past_min_display; // r26 unsigned char scroll_past_max_display; // r25 int min_display; // r1+0x24 int max_display; // r1+0x20 int as; // r1+0x1C int ls; // r1+0x18 float tmpGapSize; // r1+0x14 int tmpGapFrequency; // r1+0x10 // References // -> static unsigned char gLoading; // -> static int gRev; } // Range: 0x803CF764 -> 0x803CF76C float UIList::Spacing() {} // Range: 0x803CF76C -> 0x803CF774 float UIList::ArrowOffset() {} // Range: 0x803CF774 -> 0x803CF77C int UIList::NumDisplay() {} // Range: 0x803CF77C -> 0x803CF784 unsigned char UIList::IsCircular() {} // Range: 0x803CF784 -> 0x803CF78C float UIList::Speed() {} // Range: 0x803CF78C -> 0x803CF794 int UIList::FadeOffset() {} // Range: 0x803CF794 -> 0x803CF79C int UIList::FirstShowing() {} // Range: 0x803CF79C -> 0x803CF7A4 int UIList::Selected() {} // Range: 0x803CF7A4 -> 0x803CF7AC int UIList::SelectedDisplay() {} // Range: 0x803CF7AC -> 0x803CF7B4 int UIList::SelectedData() {} // Range: 0x803CF7B4 -> 0x803CF7BC int UIList::SelectedPos() {} // Range: 0x803CF7BC -> 0x803CF88C class Symbol UIList::SelectedSym(const class UIList * const this /* r29 */, unsigned char fail /* r30 */) { // Local variables class Symbol selected; // r1+0xC // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x803CF88C -> 0x803CF894 unsigned char UIList::IsScrolling() {} static class Symbol element; // size: 0x4, address: 0x80A519B8 static class Symbol dummy; // size: 0x4, address: 0x80A519C0 // Range: 0x803CF894 -> 0x803CF958 char * UIList::DummyData(const class UIList * const this /* r30 */, class Symbol & slot /* r31 */) { // References // -> static class Symbol dummy; // -> static class Symbol element; } // Range: 0x803CF958 -> 0x803CF960 void UIList::CalcBoundingBox() {} // Range: 0x803CF960 -> 0x803CF968 class ListState & UIList::GetListState() {} // Range: 0x803CF968 -> 0x803CF9A4 class UIList * UIList::ChildList(class UIList * const this /* r31 */) {} // Range: 0x803CF9A4 -> 0x803CF9AC unsigned char UIList::IsAutoScrolling() {} // Range: 0x803CF9AC -> 0x803CF9F0 void UIList::SetSpacing(class UIList * const this /* r31 */) {} // Range: 0x803CF9F0 -> 0x803CF9F8 void UIList::SetArrowOffset() {} // Range: 0x803CF9F8 -> 0x803CFA48 void UIList::SetNumDisplay(class UIList * const this /* r31 */) { // References // -> static unsigned char gLoading; } // Range: 0x803CFA48 -> 0x803CFAA0 void UIList::SetCircular(class UIList * const this /* r31 */) { // References // -> static unsigned char gLoading; } // Range: 0x803CFAA0 -> 0x803CFAB4 void UIList::SetCircularOnly() { // References // -> static unsigned char gLoading; } // Range: 0x803CFAB4 -> 0x803CFABC void UIList::SetSpeed() {} // Range: 0x803CFABC -> 0x803CFAC4 void UIList::SetFadeOffset() {} // Range: 0x803CFAC4 -> 0x803CFB50 void UIList::SetSelected(class UIList * const this /* r29 */, int pos /* r30 */, int first_showing /* r31 */) {} // Range: 0x803CFB50 -> 0x803CFC14 unsigned char UIList::SetSelected(class UIList * const this /* r28 */, class Symbol & sym /* r29 */, unsigned char fail /* r30 */, int first_showing /* r31 */) { // Local variables int data; // r4 // References // -> class Debug TheDebug; } // Range: 0x803CFC14 -> 0x803CFC90 void UIList::SetSelectedSimulateScroll(class UIList * const this /* r30 */, int pos /* r31 */) {} // Range: 0x803CFC90 -> 0x803CFD44 unsigned char UIList::SetSelectedSimulateScroll(class UIList * const this /* r29 */, class Symbol & sym /* r30 */, unsigned char fail /* r31 */) { // Local variables int data; // r4 // References // -> class Debug TheDebug; } // Range: 0x803CFD44 -> 0x803CFDB0 void UIList::SetProvider(class UIList * const this /* r31 */) {} // Range: 0x803CFDB0 -> 0x803CFE00 void UIList::Scroll(class UIList * const this /* r30 */, int direction /* r31 */) {} // Range: 0x803CFE00 -> 0x803CFE08 void UIList::SetParent() {} // Range: 0x803CFE08 -> 0x803CFEB4 void UIList::SelectChildList(class UIList * const this /* r30 */, class UIList * l /* r31 */) { // Local variables class PanelDir * d; // r0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8PanelDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803CFEB4 -> 0x803CFF60 void UIList::SelectParentList(class UIList * const this /* r31 */) { // Local variables class PanelDir * d; // r0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8PanelDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803CFF60 -> 0x803CFFAC void UIList::AutoScroll(class UIList * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803CFFAC -> 0x803CFFB8 void UIList::StopAutoScroll() {} // Range: 0x803CFFB8 -> 0x803D0068 void UIList::Update(class UIList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static unsigned char gLoading; } // Range: 0x803D0068 -> 0x803D009C void UIList::Enter(class UIList * const this /* r31 */) {} // Range: 0x803D009C -> 0x803D0134 void UIList::Poll(class UIList * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803D0134 -> 0x803D013C void UIList::DrawShowing() {} // Range: 0x803D013C -> 0x803D0144 void UIList::PreDraw() {} // Range: 0x803D0144 -> 0x803D0198 void UIList::DrawImp(class UIList * const this /* r30 */, unsigned char pre_draw /* r31 */) {} // Range: 0x803D0198 -> 0x803D01DC class RndDrawable * UIList::CollideShowing(class UIList * const this /* r31 */) {} // Range: 0x803D01DC -> 0x803D01E4 int UIList::CollidePlane() {} // Range: 0x803D01E4 -> 0x803D0210 char * UIList::Text() {} // Range: 0x803D0210 -> 0x803D0290 class RndMat * UIList::Mat(const class UIList * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class UIManager TheUI; } // Range: 0x803D0290 -> 0x803D0298 int UIList::NumData() {} // Range: 0x803D0298 -> 0x803D02A0 int UIList::SelectedAux() {} // Range: 0x803D02A0 -> 0x803D02A8 void UIList::SetSelectedAux() {} // Range: 0x803D02A8 -> 0x803D0518 class DataNode UIList::OnMsg(class UIList * const this /* r28 */, const class ButtonDownMsg & msg /* r29 */) { // Local variables class Symbol type; // r1+0x10 int direction; // r4 int page_direction; // r4 class UIList * l; // r4 } // Range: 0x803D0518 -> 0x803D0558 class DataNode UIList::OnMsg() {} // Range: 0x803D0558 -> 0x803D08D0 class DataNode UIList::OnMsg(class UIList * const this /* r28 */) { // Local variables int selected_pos; // r0 const class ListProvider * p; // r3 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class TaskMgr TheTaskMgr; } // Range: 0x803D08D0 -> 0x803D08D8 void UIList::MakeDirty() {} static class Symbol _s; // size: 0x4, address: 0x80A519C8 static class Symbol _s; // size: 0x4, address: 0x80A519D0 static class Symbol _s; // size: 0x4, address: 0x80A519D8 static class Symbol _s; // size: 0x4, address: 0x80A519E0 static class Symbol _s; // size: 0x4, address: 0x80A519E8 static class Symbol _s; // size: 0x4, address: 0x80A519F0 static class Symbol _s; // size: 0x4, address: 0x80A519F8 static class Symbol _s; // size: 0x4, address: 0x80A51A00 static class Symbol _s; // size: 0x4, address: 0x80A51A08 static class Symbol _s; // size: 0x4, address: 0x80A51A10 static class Symbol _s; // size: 0x4, address: 0x80A51A18 static class Symbol _s; // size: 0x4, address: 0x80A51A20 static class Symbol _s; // size: 0x4, address: 0x80A51A28 static class Symbol _s; // size: 0x4, address: 0x80A51A30 static class Symbol _s; // size: 0x4, address: 0x80A51A38 static class Symbol _s; // size: 0x4, address: 0x80A51A40 static class Symbol _s; // size: 0x4, address: 0x80A51A48 static class Symbol _s; // size: 0x4, address: 0x80A51A50 // Range: 0x803D08D8 -> 0x803D13D4 class DataNode UIList::Handle(class UIList * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x803D13D4 -> 0x803D14FC class DataNode UIList::OnSetData(class UIList * const this /* r28 */, class DataArray * args /* r29 */) { // References // -> struct [anonymous] __vt__12DataProvider; } // Range: 0x803D14FC -> 0x803D1710 class DataNode UIList::OnSetSelected(class UIList * const this /* r28 */, class DataArray * args /* r29 */) { // Local variables class DataNode arg; // r1+0x10 int first_showing; // r31 unsigned char fail; // r30 // References // -> class Debug TheDebug; } // Range: 0x803D1710 -> 0x803D18D8 class DataNode UIList::OnSetSelectedSimulateScroll(class UIList * const this /* r30 */, class DataArray * args /* r31 */) { // Local variables class DataNode arg; // r1+0x10 // References // -> class Debug TheDebug; } // Range: 0x803D18D8 -> 0x803D199C class DataNode UIList::OnScroll(class UIList * const this /* r29 */, class DataArray * msg /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } static class Symbol _s; // size: 0x4, address: 0x80A51A58 static class Symbol _s; // size: 0x4, address: 0x80A51A60 static class Symbol _s; // size: 0x4, address: 0x80A51A68 static class Symbol _s; // size: 0x4, address: 0x80A51A70 static class Symbol _s; // size: 0x4, address: 0x80A51A78 static class Symbol _s; // size: 0x4, address: 0x80A51A80 static class Symbol _s; // size: 0x4, address: 0x80A51A88 static class Symbol _s; // size: 0x4, address: 0x80A51A90 static class Symbol _s; // size: 0x4, address: 0x80A51A98 static class Symbol _s; // size: 0x4, address: 0x80A51AA0 static class Symbol _s; // size: 0x4, address: 0x80A51AA8 static class Symbol _s; // size: 0x4, address: 0x80A51AB0 static class Symbol _s; // size: 0x4, address: 0x80A51AB8 static class Symbol _s; // size: 0x4, address: 0x80A51AC0 static class Symbol _s; // size: 0x4, address: 0x80A51AC8 static class Symbol _s; // size: 0x4, address: 0x80A51AD0 static class Symbol _s; // size: 0x4, address: 0x80A51AD8 static class Symbol _s; // size: 0x4, address: 0x80A51AE0 static class Symbol _s; // size: 0x4, address: 0x80A51AE8 // Range: 0x803D199C -> 0x803D2834 unsigned char UIList::SyncProperty(class UIList * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x1C8 } __vt__6UIList; // size: 0x1C8, address: 0x808E2CC0 struct { // total size: 0xC } __vt__13ListScrollMsg; // size: 0xC, address: 0x808E2F00 struct { // total size: 0x8 } __RTTI__13ListScrollMsg; // size: 0x8, address: 0x808E2F28 struct { // total size: 0xC } __vt__18ListScrollStartMsg; // size: 0xC, address: 0x808E2F30 struct { // total size: 0x8 } __RTTI__18ListScrollStartMsg; // size: 0x8, address: 0x808E2F60 struct { // total size: 0x44 } __vt__12DataProvider; // size: 0x44, address: 0x808E2F68 struct { // total size: 0x8 } __RTTI__12DataProvider; // size: 0x8, address: 0x808E2FC8 /* Compile unit: C:\rockband2\system\src\ui\ListProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D2834 -> 0x803D2AD4 */ // Range: 0x803D2834 -> 0x803D28C4 void * DataProvider::~DataProvider(class DataProvider * const this /* r30 */) { // References // -> struct [anonymous] __vt__12DataProvider; } // Range: 0x803D28C4 -> 0x803D2940 void DataProvider::Disable(class Symbol & element /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803D2940 -> 0x803D29C4 unsigned char DataProvider::IsActive(const class DataProvider * const this /* r31 */) {} // Range: 0x803D29C4 -> 0x803D2A34 class Symbol DataProvider::DataSymbol(const class DataProvider * const this /* r5 */) { // Local variables class DataNode & n; // r0 } // Range: 0x803D2A34 -> 0x803D2A48 int DataProvider::NumData() {} // Range: 0x803D2A48 -> 0x803D2A94 class RndMat * DataProvider::Mat() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D2A94 -> 0x803D2AD4 char * DataProvider::Text() {} /* Compile unit: C:\rockband2\system\src\ui\ScrollSelect.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D2AD4 -> 0x803D2BD8 */ // Range: 0x803D2AD4 -> 0x803D2B14 void * ScrollSelect::~ScrollSelect(class ScrollSelect * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D2BD8 -> 0x803D2E3C */ // Range: 0x803D2BD8 -> 0x803D2C50 void UIList::Init() { // References // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x803D2C50 -> 0x803D2E3C void UIList::Copy(class UIList * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class UIList * l; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6UIList; } /* Compile unit: C:\rockband2\system\src\ui\List.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D2E3C -> 0x803D3090 */ // Range: 0x803D2E3C -> 0x803D2EB4 class Object * UIList::NewObject() { // References // -> class Symbol name; } // Range: 0x803D2EB4 -> 0x803D2EF8 class Symbol UIList::ClassName() { // References // -> class Symbol name; } // Range: 0x803D2EF8 -> 0x803D3090 void UIList::SetType(class UIList * const this /* r29 */, class Symbol & UIList /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D3090 -> 0x803D31E8 */ // Range: 0x803D3090 -> 0x803D30E0 class ListProvider * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ListProvider; } /* Compile unit: C:\rockband2\system\src\ui\ListState.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D31E8 -> 0x803D32C8 */ // Range: 0x803D31E8 -> 0x803D322C class Symbol ListScrollStartMsg::Type() { // References // -> class Symbol t; } // Range: 0x803D322C -> 0x803D3258 void * ListScrollStartMsg::ListScrollStartMsg() { // References // -> struct [anonymous] __vt__18ListScrollStartMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x803D3258 -> 0x803D329C class Symbol ListScrollMsg::Type() { // References // -> class Symbol t; } // Range: 0x803D329C -> 0x803D32C8 void * ListScrollMsg::ListScrollMsg() { // References // -> struct [anonymous] __vt__13ListScrollMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\ui\ListDisplay.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D344C -> 0x803D50F8 */ // Range: 0x803D344C -> 0x803D3674 void * ListDisplay::ListDisplay(class ListDisplay * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } // Range: 0x803D3674 -> 0x803D37A8 void * ListDisplay::~ListDisplay(class ListDisplay * const this /* r31 */) {} // Range: 0x803D37A8 -> 0x803D3884 unsigned char ListDisplay::Collide(class ListDisplay * const this /* r27 */, const class Segment & s /* r28 */, float & dist /* r29 */, class Plane & plane /* r30 */) {} // Range: 0x803D3884 -> 0x803D395C int ListDisplay::CollidePlane(class ListDisplay * const this /* r29 */, const class Plane & plane /* r30 */) { // Local variables int collide; // r0 } // Range: 0x803D395C -> 0x803D3964 float ListDisplay::Spacing() {} // Range: 0x803D3964 -> 0x803D396C float ListDisplay::ArrowOffset() {} // Range: 0x803D396C -> 0x803D3974 enum ListShowing ListDisplay::GetArrowShowing() {} // Range: 0x803D3974 -> 0x803D397C unsigned char ListDisplay::ArrowOnlyScroll() {} // Range: 0x803D397C -> 0x803D3984 unsigned char ListDisplay::ArrowsOnHighlight() {} // Range: 0x803D3984 -> 0x803D398C enum ListShowing ListDisplay::GetHighlightShowing() {} // Range: 0x803D398C -> 0x803D3994 unsigned char ListDisplay::IsVertical() {} // Range: 0x803D3994 -> 0x803D399C int ListDisplay::FadeOffset() {} // Range: 0x803D399C -> 0x803D39A4 void ListDisplay::SetSpacing() {} // Range: 0x803D39A4 -> 0x803D39AC void ListDisplay::SetArrowOffset() {} // Range: 0x803D39AC -> 0x803D39B4 void ListDisplay::SetArrowShowing() {} // Range: 0x803D39B4 -> 0x803D39BC void ListDisplay::SetArrowOnlyScroll() {} // Range: 0x803D39BC -> 0x803D39C4 void ListDisplay::SetArrowsOnHighlight() {} // Range: 0x803D39C4 -> 0x803D39CC void ListDisplay::SetHighlightShowing() {} // Range: 0x803D39CC -> 0x803D39D4 void ListDisplay::SetVertical() {} static class Symbol vertical; // size: 0x4, address: 0x80A51AF4 static class Symbol element; // size: 0x4, address: 0x80A51AFC static class Symbol colors; // size: 0x4, address: 0x80A51B04 static class Symbol back_arrow; // size: 0x4, address: 0x80A51B0C static class Symbol next_arrow; // size: 0x4, address: 0x80A51B14 static class Symbol highlight; // size: 0x4, address: 0x80A51B1C static class Symbol draw_first; // size: 0x4, address: 0x80A51B24 // Range: 0x803D39D4 -> 0x803D3D08 void ListDisplay::UpdateObjects(class ListDisplay * const this /* r28 */, class DataArray * listType /* r29 */, class ObjectDir * resources /* r30 */) { // Local variables class DataArray * h; // r31 int i; // r29 // References // -> static class Symbol draw_first; // -> static class Symbol highlight; // -> static class Symbol next_arrow; // -> static class Symbol back_arrow; // -> static class Symbol colors; // -> static class Symbol element; // -> static class Symbol vertical; } static class Symbol focused; // size: 0x4, address: 0x80A51B2C static class Symbol selected; // size: 0x4, address: 0x80A51B34 static class Symbol selecting; // size: 0x4, address: 0x80A51B3C static class Symbol normal; // size: 0x4, address: 0x80A51B44 static class Symbol highlight; // size: 0x4, address: 0x80A51B4C static class Symbol disabled; // size: 0x4, address: 0x80A51B54 // Range: 0x803D3D08 -> 0x803D4290 void ListDisplay::Draw(class ListDisplay * const this /* r19 */, class Symbol & state /* r20 */, unsigned char pre_draw /* r21 */) { // Local variables class ListState & ls; // r27 unsigned char highlight_showing; // r0 int display; // r18 int showing; // r26 int data; // r25 class Symbol elementState; // r1+0x1C int highlight_idx; // r24 int direction; // r0 int num_display; // r23 int new_data; // r22 unsigned char can_scroll_back; // r18 unsigned char can_scroll_next; // r20 // References // -> static class Symbol disabled; // -> static class Symbol highlight; // -> static class Symbol normal; // -> static class Symbol selecting; // -> static class Symbol selected; // -> static class Symbol focused; } static class Symbol selecting; // size: 0x4, address: 0x80A51B5C static class Symbol normal; // size: 0x4, address: 0x80A51B64 static class Symbol disabled; // size: 0x4, address: 0x80A51B6C // Range: 0x803D4290 -> 0x803D448C void ListDisplay::DrawHighlight(class ListDisplay * const this /* r30 */, class Symbol & state /* r31 */) { // Local variables const class ListState & ls; // r28 class Color highlight_color; // r1+0x30 int data; // r27 int showing; // r26 // References // -> static class Symbol disabled; // -> static class Symbol normal; // -> static class Symbol selecting; } // Range: 0x803D448C -> 0x803D45A0 void ListDisplay::CalcBoundingBox(class ListDisplay * const this /* r29 */, class Box & bb /* r30 */) { // Local variables class Box element_box; // r1+0x10 } // Range: 0x803D45A0 -> 0x803D45B0 class UIList * ListDisplay::ChildList() {} // Range: 0x803D45B0 -> 0x803D45F0 void ListDisplay::Poll(class ListDisplay * const this /* r31 */) {} // Range: 0x803D45F0 -> 0x803D4658 void ListDisplay::FillAll(class ListDisplay * const this /* r29 */) { // Local variables int num_display; // r0 int i; // r30 } // Range: 0x803D4658 -> 0x803D4664 void ListDisplay::MakeDirty() {} // Range: 0x803D4664 -> 0x803D476C class ListElement * ListDisplay::Create(class ListDisplay * const this /* r29 */, class DataArray * slots /* r30 */, class ObjectDir * resources /* r31 */) { // Local variables class ListElement * e; // r1+0x10 // References // -> class Symbol name; } // Range: 0x803D476C -> 0x803D4860 void ListDisplay::DestroyAll(class ListDisplay * const this /* r29 */) {} // Range: 0x803D4860 -> 0x803D4990 void ListDisplay::StartScroll(class ListDisplay * const this /* r29 */) { // Local variables class ListState & ls; // r30 class ListElement * * it; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D4990 -> 0x803D4CA0 void ListDisplay::PollElements(class ListDisplay * const this /* r29 */) { // Local variables class ListState & ls; // r31 int numDisplay; // r30 int offset; // r23 float topFadePos; // f0 float botFadePos; // f0 float scroll; // f1 float elePos; // f28 float gap; // f0 float fade; // f1 float bot_fade_gap; // f29 float lastFade; // f0 // References // -> class Debug TheDebug; } // Range: 0x803D4CA0 -> 0x803D4D68 void ListDisplay::CompleteScroll(class ListDisplay * const this /* r31 */) { // Local variables class ListState & ls; // r0 class ListElement * newNext; // r1+0x14 } // Range: 0x803D4D68 -> 0x803D4DB0 void ListDisplay::SetListPos(class ListDisplay * const this /* r30 */, class RndTransformable * t /* r31 */) {} // Range: 0x803D4DB0 -> 0x803D4DE4 float ListDisplay::ElementPos() {} // Range: 0x803D4DE4 -> 0x803D4E70 void ListDisplay::SetTransPos() { // Local variables class Vector3 transPos; // r1+0x10 } // Range: 0x803D4E70 -> 0x803D4F20 void ListDisplay::FillElement(class ListDisplay * const this /* r27 */, int display /* r28 */) { // Local variables class ListState & ls; // r31 int data; // r30 int showing; // r29 class ListElement * element; // r28 } // Range: 0x803D4F20 -> 0x803D4FC4 int ListDisplay::NumDisplay() { // Local variables class ListState & ls; // r31 int num; // r1+0xC int num_data; // r1+0x8 } // Range: 0x803D4FC4 -> 0x803D50F8 void ListDisplay::CopyTypeMesh(class ListDisplay * const this /* r26 */, class RndMesh * m /* r27 */, class ObjectDir * dir /* r28 */, const char * name /* r29 */) { // Local variables unsigned char showing; // r0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } struct { // total size: 0x8 } __RTTI__PP11ListElement; // size: 0x8, address: 0x808E3590 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\rndobj\Mesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D50F8 -> 0x803D5164 */ // Range: 0x803D50F8 -> 0x803D5164 void ListDisplay::SetFadeOffset(class ListDisplay * const this /* r30 */, int offset /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D5164 -> 0x803D5244 */ // Range: 0x803D5164 -> 0x803D5244 class ListElement * * find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D5244 -> 0x803D55F4 */ // Range: 0x803D5244 -> 0x803D537C void vector::_M_insert_overflow(class vector * const this /* r27 */, class ListElement * * __pos /* r28 */, class ListElement * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class ListElement * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11ListElement; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803D537C -> 0x803D53D4 class ListElement * * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x803D53D4 -> 0x803D5440 void vector::_M_fill_insert() {} // Range: 0x803D5440 -> 0x803D55F4 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class ListElement * * __pos /* r29 */, unsigned long __n /* r25 */, class ListElement * const & __x /* r30 */) { // Local variables class ListElement * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D55F4 -> 0x803D560C */ // Range: 0x803D55F4 -> 0x803D560C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\ui\ListElement.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D560C -> 0x803D6D9C */ static class Symbol object; // size: 0x4, address: 0x80A51B74 static class Symbol highlight_only; // size: 0x4, address: 0x80A51B7C static class Symbol text; // size: 0x4, address: 0x80A51B84 static class Symbol mesh; // size: 0x4, address: 0x80A51B8C static class Symbol list; // size: 0x4, address: 0x80A51B94 static class Symbol custom; // size: 0x4, address: 0x80A51B9C // Range: 0x803D560C -> 0x803D5F34 void * ListElement::ListElement(class ListElement * const this /* r24 */, class UIList * parent /* r25 */, class ObjectDir * resourceDir /* r26 */, class DataArray * slots /* r27 */) { // Local variables int i; // r28 class Symbol name; // r1+0x60 class DataArray * o; // r22 class Symbol type; // r1+0x5C unsigned char ho; // r1+0xC class ListSlot * slot; // r1+0x58 // References // -> struct [anonymous] __RTTI__11UIComponent; // -> struct [anonymous] __vt__14CustomListSlot; // -> struct [anonymous] __RTTI__6UIList; // -> struct [anonymous] __vt__11SubListSlot; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> struct [anonymous] __vt__8MeshSlot; // -> const char * gNullStr; // -> const char * kNotObjectMsg; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UILabel; // -> class Symbol name; // -> struct [anonymous] __vt__8TextSlot; // -> struct [anonymous] __vt__8ListSlot; // -> static class Symbol custom; // -> static class Symbol list; // -> static class Symbol mesh; // -> static class Symbol text; // -> static class Symbol highlight_only; // -> static class Symbol object; // -> struct [anonymous] __vt__11ListElement; // -> struct [anonymous] __vt__16RndHighlightable; } class ListSlot { // total size: 0xC public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned char mHighlightOnly; // offset 0x4, size 0x1 class Symbol mName; // offset 0x8, size 0x4 }; // Range: 0x803D5F34 -> 0x803D5F74 void * ListSlot::~ListSlot(class ListSlot * const this /* r31 */) {} // Range: 0x803D5F74 -> 0x803D6118 void * ListElement::~ListElement(class ListElement * const this /* r30 */) { // References // -> struct [anonymous] __vt__11ListElement; } class list : public _List_base { // total size: 0x8 }; // Range: 0x803D6118 -> 0x803D61D4 unsigned char ListElement::Collide(class ListElement * const this /* r27 */, const class Segment & s /* r28 */, float & dist /* r29 */, class Plane & plane /* r30 */) { // Local variables class list colls; // r1+0x18 class ListSlot * * it; // r31 } struct Collision { // total size: 0x20 class RndDrawable * object; // offset 0x0, size 0x4 float distance; // offset 0x4, size 0x4 class Plane plane; // offset 0x10, size 0x10 }; class _List_node : public _List_node_base { // total size: 0x30 public: struct Collision _M_data; // offset 0x10, size 0x20 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; // Range: 0x803D61D4 -> 0x803D62A0 int ListElement::CollidePlane(class ListElement * const this /* r28 */, const class Plane & plane /* r29 */) { // Local variables class list colls; // r1+0x18 class ListSlot * * it; // r31 int collide; // r30 } // Range: 0x803D62A0 -> 0x803D6348 void ListElement::BoundingBox(class ListElement * const this /* r29 */, class Box & b /* r30 */) { // Local variables class Box slotBox; // r1+0x10 class ListSlot * * it; // r31 } // Range: 0x803D6348 -> 0x803D63C4 class UIList * ListElement::ChildList(class ListElement * const this /* r30 */) { // Local variables class ListSlot * * it; // r31 class SubListSlot * sls; // r0 // References // -> struct [anonymous] __RTTI__8ListSlot; // -> struct [anonymous] __RTTI__11SubListSlot; } // Range: 0x803D63C4 -> 0x803D644C void ListElement::Fill(class ListElement * const this /* r27 */, const class ListProvider & provider /* r28 */, int showing /* r29 */, int data /* r30 */) { // Local variables class ListSlot * * it; // r31 } static class Symbol highlight; // size: 0x4, address: 0x80A51BA4 // Range: 0x803D644C -> 0x803D661C void ListElement::Draw(class ListElement * const this /* r25 */, const class ListProvider & provider /* r26 */, int showing /* r27 */, int data /* r28 */, class Symbol & compState /* r29 */, class Symbol & eleState /* r30 */, class DataArray * colors /* r31 */) { // Local variables class ListSlot * * it; // r23 class ListSlot * s; // r22 class RndMat * mat; // r0 float old_alpha; // f31 class Color old_color; // r1+0x30 class Color c; // r1+0x20 // References // -> static class Symbol highlight; } // Range: 0x803D661C -> 0x803D6624 unsigned char ListSlot::HightlightOnly() {} // Range: 0x803D6624 -> 0x803D662C void ListElement::SetFade() {} // Range: 0x803D662C -> 0x803D6688 void ListElement::Poll(class ListElement * const this /* r30 */) { // Local variables class ListSlot * * s; // r31 } // Range: 0x803D6688 -> 0x803D668C void ListSlot::Poll() {} class CustomListSlot : public ListSlot { // total size: 0x10 class Object * mCustom; // offset 0xC, size 0x4 }; // Range: 0x803D668C -> 0x803D66D8 void CustomListSlot::Fill(class CustomListSlot * const this /* r8 */) {} // Range: 0x803D66D8 -> 0x803D673C void CustomListSlot::SetColorAlpha(float alpha /* f31 */) { // Local variables class ListAlphable * a; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12ListAlphable; } // Range: 0x803D673C -> 0x803D6740 void CustomListSlot::BoundingBox() {} // Range: 0x803D6740 -> 0x803D6748 class RndMat * CustomListSlot::Mat() {} // Range: 0x803D6748 -> 0x803D6768 class RndDrawable * CustomListSlot::Drawable() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } // Range: 0x803D6768 -> 0x803D6788 class RndTransformable * CustomListSlot::Trans() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x803D6788 -> 0x803D6808 void * CustomListSlot::~CustomListSlot(class CustomListSlot * const this /* r30 */) { // References // -> struct [anonymous] __vt__14CustomListSlot; } struct { // total size: 0x2C } __vt__14CustomListSlot; // size: 0x2C, address: 0x808E3604 struct { // total size: 0x8 } __RTTI__14CustomListSlot; // size: 0x8, address: 0x808E3650 class SubListSlot : public ListSlot { // total size: 0x10 class UIList * mList; // offset 0xC, size 0x4 }; // Range: 0x803D6808 -> 0x803D681C void SubListSlot::Poll() {} // Range: 0x803D681C -> 0x803D6820 void SubListSlot::SetColorAlpha() {} // Range: 0x803D6820 -> 0x803D695C void SubListSlot::Fill(class SubListSlot * const this /* r26 */, const class ListProvider & p /* r27 */, int showing /* r28 */, int data /* r29 */, class Symbol & slot /* r30 */) { // Local variables const class ListProvider * old_provider; // r0 class Symbol old_selected; // r1+0x14 class ListProvider * sub_provider; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; // -> const char * gNullStr; } // Range: 0x803D695C -> 0x803D6964 void SubListSlot::BoundingBox() {} // Range: 0x803D6964 -> 0x803D696C class RndMat * SubListSlot::Mat() {} // Range: 0x803D696C -> 0x803D6974 class RndDrawable * SubListSlot::Drawable() {} // Range: 0x803D6974 -> 0x803D6988 class RndTransformable * SubListSlot::Trans() {} // Range: 0x803D6988 -> 0x803D6A08 void * SubListSlot::~SubListSlot(class SubListSlot * const this /* r30 */) { // References // -> struct [anonymous] __vt__11SubListSlot; } struct { // total size: 0x2C } __vt__11SubListSlot; // size: 0x2C, address: 0x808E3658 struct { // total size: 0x8 } __RTTI__11SubListSlot; // size: 0x8, address: 0x808E36A0 class MeshSlot : public ListSlot { // total size: 0x10 class RndMesh * mMesh; // offset 0xC, size 0x4 }; // Range: 0x803D6A08 -> 0x803D6A84 void MeshSlot::Fill(class MeshSlot * const this /* r30 */) { // Local variables class RndMat * mat; // r31 } // Range: 0x803D6A84 -> 0x803D6B00 void MeshSlot::SetColorAlpha(const class Color & c /* r31 */, float alpha /* f31 */) { // Local variables class RndMat * mat; // r0 } // Range: 0x803D6B00 -> 0x803D6B0C class RndMat * MeshSlot::Mat() {} // Range: 0x803D6B0C -> 0x803D6B14 void MeshSlot::BoundingBox() {} // Range: 0x803D6B14 -> 0x803D6B1C class RndDrawable * MeshSlot::Drawable() {} // Range: 0x803D6B1C -> 0x803D6B30 class RndTransformable * MeshSlot::Trans() {} // Range: 0x803D6B30 -> 0x803D6BB0 void * MeshSlot::~MeshSlot(class MeshSlot * const this /* r30 */) { // References // -> struct [anonymous] __vt__8MeshSlot; } struct { // total size: 0x2C } __vt__8MeshSlot; // size: 0x2C, address: 0x808E36A8 struct { // total size: 0x8 } __RTTI__8MeshSlot; // size: 0x8, address: 0x808E36F0 class TextSlot : public ListSlot { // total size: 0x10 class UILabel * mLabel; // offset 0xC, size 0x4 }; // Range: 0x803D6BB0 -> 0x803D6C0C void TextSlot::Fill(class TextSlot * const this /* r31 */) {} // Range: 0x803D6C0C -> 0x803D6C98 void TextSlot::SetColorAlpha(class TextSlot * const this /* r30 */, const class Color & c /* r31 */, float alpha /* f31 */) { // Local variables class RndMat * mat; // r0 } // Range: 0x803D6C98 -> 0x803D6CC4 class RndMat * TextSlot::Mat() {} // Range: 0x803D6CC4 -> 0x803D6D00 void TextSlot::BoundingBox(class Box & b /* r31 */) {} // Range: 0x803D6D00 -> 0x803D6D08 class RndDrawable * TextSlot::Drawable() {} // Range: 0x803D6D08 -> 0x803D6D1C class RndTransformable * TextSlot::Trans() {} // Range: 0x803D6D1C -> 0x803D6D9C void * TextSlot::~TextSlot(class TextSlot * const this /* r30 */) { // References // -> struct [anonymous] __vt__8TextSlot; } struct { // total size: 0x2C } __vt__8TextSlot; // size: 0x2C, address: 0x808E36F8 struct { // total size: 0x8 } __RTTI__8TextSlot; // size: 0x8, address: 0x808E3740 struct { // total size: 0x2C } __vt__8ListSlot; // size: 0x2C, address: 0x808E3748 struct { // total size: 0x8 } __RTTI__8ListSlot; // size: 0x8, address: 0x808E3780 struct { // total size: 0x9C } __vt__11ListElement; // size: 0x9C, address: 0x808E3948 struct { // total size: 0x8 } __RTTI__11ListElement; // size: 0x8, address: 0x808E3A18 struct { // total size: 0x8 } __RTTI__PP8ListSlot; // size: 0x8, address: 0x808E3B48 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D6E8C -> 0x803D6EEC */ // Range: 0x803D6E8C -> 0x803D6EEC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D6EEC -> 0x803D7024 */ // Range: 0x803D6EEC -> 0x803D7024 void vector::_M_insert_overflow(class vector * const this /* r27 */, class ListSlot * * __pos /* r28 */, class ListSlot * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class ListSlot * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8ListSlot; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\ui\ListProvider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D7024 -> 0x803D70E8 */ static class Symbol colors; // size: 0x4, address: 0x80A51BAC // Range: 0x803D7024 -> 0x803D70E8 void ListProvider::GetColor(class Color & color /* r27 */, class Symbol & slot /* r28 */, class Symbol & compState /* r29 */, class Symbol & eleState /* r30 */, class DataArray * slots /* r31 */) { // Local variables class DataArray * c; // r0 // References // -> static class Symbol colors; } struct { // total size: 0x44 } __vt__12ListProvider; // size: 0x44, address: 0x808E3C98 /* Compile unit: C:\rockband2\system\src\ui\ListState.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D70E8 -> 0x803D8CD8 */ // Range: 0x803D70E8 -> 0x803D7220 void * ListState::ListState(class ListState * const this /* r30 */, class ListProvider * provider /* r31 */) { // References // -> struct [anonymous] __vt__9ListState; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x803D7220 -> 0x803D7258 int ListState::Selected(const class ListState * const this /* r31 */) {} // Range: 0x803D7258 -> 0x803D72D4 int ListState::SelectedNoWrap(const class ListState * const this /* r30 */) { // Local variables int showing; // r31 } // Range: 0x803D72D4 -> 0x803D730C int ListState::SelectedData(const class ListState * const this /* r31 */) {} // Range: 0x803D730C -> 0x803D7334 int ListState::SelectedDisplay() {} // Range: 0x803D7334 -> 0x803D7350 unsigned char ListState::IsScrolling() {} // Range: 0x803D7350 -> 0x803D73A0 int ListState::NumShowing() {} // Range: 0x803D73A0 -> 0x803D73A8 int ListState::MinDisplay() {} // Range: 0x803D73A8 -> 0x803D73B0 int ListState::MaxDisplay() {} // Range: 0x803D73B0 -> 0x803D73B8 float ListState::Speed() {} // Range: 0x803D73B8 -> 0x803D73C0 unsigned char ListState::ScrollPastMinDisplay() {} // Range: 0x803D73C0 -> 0x803D73C8 unsigned char ListState::ScrollPastMaxDisplay() {} // Range: 0x803D73C8 -> 0x803D7468 unsigned char ListState::CanScrollBack(const class ListState * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x803D7468 -> 0x803D7534 unsigned char ListState::CanScrollNext(const class ListState * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x803D7534 -> 0x803D753C float ListState::StepPercent() {} // Range: 0x803D753C -> 0x803D7544 class ListProvider * ListState::Provider() {} // Range: 0x803D7544 -> 0x803D754C class ListProvider * ListState::Provider() {} // Range: 0x803D754C -> 0x803D75B4 int ListState::WrapShowing(const class ListState * const this /* r30 */, int showing /* r31 */) {} // Range: 0x803D75B4 -> 0x803D75FC int ListState::Display2Data(const class ListState * const this /* r31 */) { // Local variables int showing; // r4 } // Range: 0x803D75FC -> 0x803D7678 int ListState::Display2Showing(const class ListState * const this /* r30 */) { // Local variables int showing; // r31 } // Range: 0x803D7678 -> 0x803D76CC int ListState::Showing2Data(const class ListState * const this /* r31 */) { // Local variables int data; // r3 const int * it; // r4 } // Range: 0x803D76CC -> 0x803D77F8 int ListState::MaxFirstShowing(const class ListState * const this /* r31 */) { // Local variables int num_showing; // r1+0x10 int max; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D77F8 -> 0x803D78C4 int ListState::ScrollMaxDisplay(const class ListState * const this /* r31 */) { // Local variables int max_display; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D78C4 -> 0x803D78CC int ListState::CurrentScroll() {} // Range: 0x803D78CC -> 0x803D7A50 void ListState::SetProvider(class ListState * const this /* r29 */, class ListProvider * provider /* r30 */, class RndDir * dir /* r31 */) { // Local variables int i; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D7A50 -> 0x803D7AE0 void ListState::SetNumDisplay(class ListState * const this /* r29 */, int num /* r30 */, unsigned char reset /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D7AE0 -> 0x803D7B4C void ListState::SetMinDisplay(class ListState * const this /* r30 */, int min /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D7B4C -> 0x803D7BF4 void ListState::SetMaxDisplay(class ListState * const this /* r30 */, int max /* r31 */) { // References // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D7BF4 -> 0x803D7C10 void ListState::SetCircular() {} // Range: 0x803D7C10 -> 0x803D7C8C void ListState::SetSpeed(class ListState * const this /* r31 */, float speed /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D7C8C -> 0x803D7CC0 void ListState::SetScrollPastMinDisplay() {} // Range: 0x803D7CC0 -> 0x803D7CC8 void ListState::SetScrollPastMaxDisplay() {} // Range: 0x803D7CC8 -> 0x803D7DF4 void ListState::SetSelected(class ListState * const this /* r31 */, int showing /* r29 */, int first_showing /* r30 */) {} // Range: 0x803D7DF4 -> 0x803D8064 void ListState::SetSelectedSimulateScroll(class ListState * const this /* r31 */) { // Local variables int amount; // r28 // References // -> struct [anonymous] __vt__13ListScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D8064 -> 0x803D83B0 void ListState::Scroll(class ListState * const this /* r31 */, int amount /* r27 */, unsigned char simulate /* r28 */) { // Local variables struct ScrollState state; // r1+0x28 unsigned char scroll; // r30 unsigned char atEnd; // r29 // References // -> struct [anonymous] __vt__13ListScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D83B0 -> 0x803D8434 void ListState::PageScroll() {} unsigned char gCreditsPanelLoaded; // size: 0x1, address: 0x80A51BB0 // Range: 0x803D8434 -> 0x803D8944 void ListState::Poll(class ListState * const this /* r31 */, float time /* f31 */) { // Local variables float calculatedTime; // f1 float overshot; // f0 // References // -> struct [anonymous] __vt__13ListScrollMsg; // -> class Symbol t; // -> unsigned char gCreditsPanelLoaded; // -> struct [anonymous] __vt__18ListScrollStartMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x803D8944 -> 0x803D8BDC unsigned char ListState::BuildScroll(const class ListState * const this /* r28 */, int amount /* r26 */, int targetShowing /* r29 */, int selectedDisplay /* r30 */, struct ScrollState & state /* r31 */) { // Local variables int newTarget; // r26 int current; // r0 int maxDisplay; // r1+0xC } // Range: 0x803D8BDC -> 0x803D8C3C int ListState::State2Data(const class ListState * const this /* r30 */, const struct ScrollState & state /* r31 */) {} // Range: 0x803D8C3C -> 0x803D8CD8 int ListState::ScrollToTarget() { // Local variables int direct; // r29 int wrap; // r0 } struct { // total size: 0x6C } __vt__9ListState; // size: 0x6C, address: 0x808E3D74 struct { // total size: 0x8 } __RTTI__9ListState; // size: 0x8, address: 0x808E3E08 /* Compile unit: C:\rockband2\system\src\ui\Component.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803D8D00 -> 0x803DAEC0 */ class DataArray * types; // size: 0x4, address: 0x80A51BB8 class Symbol name; // size: 0x4, address: 0x80A51BC0 int sSelectFrames; // size: 0x4, address: 0x80A51BC4 // Range: 0x803D8D00 -> 0x803D8EA4 void * UIComponent::UIComponent(class UIComponent * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11UIComponent,9ObjectDir>; // -> struct [anonymous] __vt__11UIComponent; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803D8EA4 -> 0x803D8F70 void UIComponent::Init() { // References // -> int sSelectFrames; // -> class Symbol name; } // Range: 0x803D8F70 -> 0x803D9104 void * UIComponent::~UIComponent(class UIComponent * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11UIComponent,9ObjectDir>; // -> struct [anonymous] __vt__11UIComponent; } static class Symbol syms[5]; // size: 0x14, address: 0x8097E258 // Range: 0x803D9104 -> 0x803D91B0 class Symbol UIComponent::StateSym(const class UIComponent * const this /* r29 */) { // References // -> static class Symbol syms[5]; } // Range: 0x803D91B0 -> 0x803D9354 void UIComponent::SetTypeDef(class UIComponent * const this /* r28 */, class DataArray * d /* r29 */) { // Local variables class DataArray * obj_data; // r30 class DataArray * types; // r30 class DataArray * def; // r29 // References // -> class Debug TheDebug; } // Range: 0x803D9354 -> 0x803D9424 void UIComponent::Copy(class UIComponent * const this /* r29 */, enum CopyType type /* r30 */) { // Local variables const class UIComponent * c; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x803D9424 -> 0x803D9518 void UIComponent::ResourceCopy(class UIComponent * const this /* r30 */, const class UIComponent * c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803D9518 -> 0x803D9624 void UIComponent::CopyMembers(class UIComponent * const this /* r29 */, const class UIComponent * c /* r30 */, enum CopyType t /* r31 */) {} // Range: 0x803D9624 -> 0x803D9668 void UIComponent::Save() { // References // -> class Debug TheDebug; } // Range: 0x803D9668 -> 0x803D96C4 void UIComponent::Load(class UIComponent * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803D96C4 -> 0x803D97D4 void UIComponent::PreLoad(class UIComponent * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; } // Range: 0x803D97D4 -> 0x803D97E8 void UIComponent::PostLoad() {} // Range: 0x803D97E8 -> 0x803D9800 unsigned char UIComponent::Exiting() {} // Range: 0x803D9800 -> 0x803D984C void UIComponent::Enter(class UIComponent * const this /* r31 */) {} // Range: 0x803D984C -> 0x803D9854 void UIComponent::Exit() {} // Range: 0x803D9854 -> 0x803D9874 void UIComponent::Poll() {} static class UIComponentSelectMsg select_msg; // size: 0x8, address: 0x8097E278 // Range: 0x803D9874 -> 0x803D9C60 void UIComponent::SendSelect(class UIComponent * const this /* r29 */, class User * user /* r30 */) { // References // -> int sSelectFrames; // -> class UIManager TheUI; // -> struct [anonymous] __vt__20UIComponentSelectMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class UIComponentSelectMsg select_msg; } // Range: 0x803D9C60 -> 0x803D9CAC void UIComponent::MockSelect(class UIComponent * const this /* r31 */) { // References // -> int sSelectFrames; } static unsigned char gResettingType; // size: 0x1, address: 0x80A51BCA // Range: 0x803D9CAC -> 0x803D9F58 void UIComponent::Update(class UIComponent * const this /* r31 */) { // Local variables class DataArray * types; // r30 class DataArray * default_type; // r26 // References // -> static unsigned char gResettingType; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x803D9F58 -> 0x803D9FE0 void UIComponent::UpdateResource(class UIComponent * const this /* r31 */) { // References // -> static unsigned char gResettingType; // -> class UIManager TheUI; } static class UIComponentSelectDoneMsg select_msg; // size: 0x8, address: 0x8097E290 // Range: 0x803D9FE0 -> 0x803DA3E4 void UIComponent::FinishSelecting(class UIComponent * const this /* r30 */) { // References // -> struct [anonymous] __vt__24UIComponentSelectDoneMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class UIComponentSelectDoneMsg select_msg; // -> class UIManager TheUI; } static class Symbol _s; // size: 0x4, address: 0x80A51BD0 static class Symbol _s; // size: 0x4, address: 0x80A51BD8 // Range: 0x803DA3E4 -> 0x803DAC08 class DataNode UIComponent::Handle(class UIComponent * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51BE0 static class Symbol _s; // size: 0x4, address: 0x80A51BE8 // Range: 0x803DAC08 -> 0x803DAD58 unsigned char UIComponent::SyncProperty(class UIComponent * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x803DAD58 -> 0x803DAEC0 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x14C } __vt__11UIComponent; // size: 0x14C, address: 0x808E40E8 struct { // total size: 0x18 } __vt__32ObjPtr<11UIComponent,9ObjectDir>; // size: 0x18, address: 0x808E4280 struct { // total size: 0x8 } __RTTI__32ObjPtr<11UIComponent,9ObjectDir>; // size: 0x8, address: 0x808E42C8 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803DAEC0 -> 0x803DB198 */ // Range: 0x803DAEC0 -> 0x803DAF38 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11UIComponent,9ObjectDir>; } // Range: 0x803DAF38 -> 0x803DB0E0 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x803DB0E0 -> 0x803DB0E8 class Object * ObjPtr::RefOwner() {} // Range: 0x803DB0E8 -> 0x803DB198 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } /* Compile unit: C:\rockband2\system\src\ui\Component.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803DB198 -> 0x803DB3EC */ // Range: 0x803DB198 -> 0x803DB210 class Object * UIComponent::NewObject() { // References // -> class Symbol name; } // Range: 0x803DB210 -> 0x803DB254 class Symbol UIComponent::ClassName() { // References // -> class Symbol name; } // Range: 0x803DB254 -> 0x803DB3EC void UIComponent::SetType(class UIComponent * const this /* r29 */, class Symbol & UIComponent /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803DB3EC -> 0x803DB610 */ // Range: 0x803DB3EC -> 0x803DB484 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r28 */, const char * t2 /* r29 */, const char * t3 /* r30 */, class Symbol & t4 /* r31 */) { // Local variables class FormatString f; // r1+0x10 } /* Compile unit: C:\rockband2\system\src\ui\Panel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803DB610 -> 0x803DDE3C */ // Range: 0x803DB610 -> 0x803DB6B8 void * UIPanel::UIPanel(class UIPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__7UIPanel; } // Range: 0x803DB6B8 -> 0x803DB6E0 class ObjectDir * UIPanel::DataDir() {} static class Symbol focus; // size: 0x4, address: 0x80A51BF4 static class Symbol force_exit; // size: 0x4, address: 0x80A51BFC // Range: 0x803DB6E0 -> 0x803DB7B8 void UIPanel::SetTypeDef(class UIPanel * const this /* r30 */, class DataArray * data /* r31 */) { // References // -> static class Symbol force_exit; // -> static class Symbol focus; } // Range: 0x803DB7B8 -> 0x803DB7E0 void UIPanel::CheckLoad() {} static class Message msg; // size: 0x8, address: 0x8097E2A8 // Range: 0x803DB7E0 -> 0x803DB960 void UIPanel::CheckUnload(class UIPanel * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x803DB960 -> 0x803DB9E0 void UIPanel::SetLoadedDir(class UIPanel * const this /* r29 */, class PanelDir * dir /* r30 */, unsigned char shared /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803DB9E0 -> 0x803DBA4C void UIPanel::UnsetLoadedDir(class UIPanel * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x8097E2C0 static class Symbol proj_file; // size: 0x4, address: 0x80A51C04 static class Symbol fileSym; // size: 0x4, address: 0x80A51C0C static class Symbol allow_home_menu; // size: 0x4, address: 0x80A51C14 // Range: 0x803DBA4C -> 0x803DBDC4 void UIPanel::Load(class UIPanel * const this /* r29 */) { // Local variables class FilePath file; // r1+0x28 enum LoaderPos pos; // r30 class DataArray * data; // r27 class Object * old_this; // r26 class DataArray * data; // r26 // References // -> static class Symbol allow_home_menu; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol fileSym; // -> static class Symbol proj_file; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x8097E2D8 // Range: 0x803DBDC4 -> 0x803DBF80 void UIPanel::Unload(class UIPanel * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x8097E2F0 // Range: 0x803DBF80 -> 0x803DC214 unsigned char UIPanel::IsLoaded(class UIPanel * const this /* r31 */) { // Local variables class DataNode ret; // r1+0x18 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8PanelDir; } // Range: 0x803DC214 -> 0x803DC288 unsigned char UIPanel::CheckIsLoaded(class UIPanel * const this /* r31 */) {} static class Message msg; // size: 0x8, address: 0x8097E308 // Range: 0x803DC288 -> 0x803DC3D4 void UIPanel::FinishLoad(class UIPanel * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x803DC3D4 -> 0x803DC3F8 class UIComponent * UIPanel::FocusComponent() {} // Range: 0x803DC3F8 -> 0x803DC4A8 void * UIPanel::~UIPanel(class UIPanel * const this /* r30 */) { // References // -> struct [anonymous] __vt__7UIPanel; } // Range: 0x803DC4A8 -> 0x803DC4DC unsigned char UIPanel::Entering() {} // Range: 0x803DC4DC -> 0x803DC510 unsigned char UIPanel::Exiting() {} static class Message msg; // size: 0x8, address: 0x8097E320 // Range: 0x803DC510 -> 0x803DC6F8 void UIPanel::Enter(class UIPanel * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x8097E338 // Range: 0x803DC6F8 -> 0x803DC920 void UIPanel::Exit(class UIPanel * const this /* r31 */) { // Local variables unsigned char resetFocus; // r1+0x8 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x8097E350 // Range: 0x803DC920 -> 0x803DCA8C void UIPanel::Poll(class UIPanel * const this /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x803DCA8C -> 0x803DCABC void UIPanel::Draw() {} // Range: 0x803DCABC -> 0x803DCADC void UIPanel::SetFocusComponent() {} static class Symbol _s; // size: 0x4, address: 0x80A51C20 static class Symbol _s; // size: 0x4, address: 0x80A51C28 static class Symbol _s; // size: 0x4, address: 0x80A51C30 static class Symbol _s; // size: 0x4, address: 0x80A51C38 static class Symbol _s; // size: 0x4, address: 0x80A51C40 static class Symbol _s; // size: 0x4, address: 0x80A51C48 static class Symbol _s; // size: 0x4, address: 0x80A51C50 static class Symbol _s; // size: 0x4, address: 0x80A51C58 static class Symbol _s; // size: 0x4, address: 0x80A51C60 static class Symbol _s; // size: 0x4, address: 0x80A51C68 static class Symbol _s; // size: 0x4, address: 0x80A51C70 static class Symbol _s; // size: 0x4, address: 0x80A51C78 static class Symbol _s; // size: 0x4, address: 0x80A51C80 static class Symbol _s; // size: 0x4, address: 0x80A51C88 static class Symbol _s; // size: 0x4, address: 0x80A51C90 // Range: 0x803DCADC -> 0x803DDD60 class DataNode UIPanel::Handle(class UIPanel * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x60 class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x78 class DataNode _n; // r1+0x70 class DataNode _n; // r1+0x68 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__8PanelDir; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x803DDD60 -> 0x803DDE3C class DataNode UIPanel::OnLoad(class UIPanel * const this /* r30 */, class DataArray * d /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } struct { // total size: 0xAC } __vt__7UIPanel; // size: 0xAC, address: 0x808E4930 /* Compile unit: C:\rockband2\system\src\ui\PanelDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803DDE50 -> 0x803E1948 */ static unsigned char gSendFocusMsg; // size: 0x1, address: 0x80A46F78 // Range: 0x803DDE50 -> 0x803DE020 void * PanelDir::PanelDir(class PanelDir * const this /* r31 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__8PanelDir; // -> struct [anonymous] __vt__16RndHighlightable; } class UITrigger : public EventTrigger { // total size: 0xBC unsigned char mBlockTransition; // offset 0xB0, size 0x1 float mStartTime; // offset 0xB4, size 0x4 float mEndTime; // offset 0xB8, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class UITrigger * _M_data; // offset 0x8, size 0x4 }; struct ObjMatchPr { // total size: 0x4 class Object * mObj; // offset 0x0, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class UIComponent * _M_data; // offset 0x8, size 0x4 }; // Range: 0x803DE020 -> 0x803DE674 void * PanelDir::~PanelDir(class PanelDir * const this /* r29 */) { // Local variables class RndDir * * i; // r31 class RndDir * * i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__8PanelDir; } // Range: 0x803DE674 -> 0x803DE6B8 void PanelDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x803DE6B8 -> 0x803DE7D0 void PanelDir::PreLoad(class PanelDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } // Range: 0x803DE7D0 -> 0x803DE94C void PanelDir::PostLoad(class PanelDir * const this /* r31 */, class BinStream & d /* r29 */) { // Local variables class Symbol testEvent; // r1+0x18 // References // -> class UIManager TheUI; // -> const char * gNullStr; // -> class list sRevs; } // Range: 0x803DE94C -> 0x803DEA2C void PanelDir::Copy(class PanelDir * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class PanelDir * p; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8PanelDir; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class UIComponent * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class UITrigger * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x803DEA2C -> 0x803DF0F0 void PanelDir::SyncObjects(class PanelDir * const this /* r31 */) { // Local variables class ObjDirItr i; // r1+0x44 class ObjDirItr i; // r1+0x30 // References // -> static unsigned char gSendFocusMsg; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std23_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__9UITrigger; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std23_List_node; // size: 0x8, address: 0x808E4BB8 // Range: 0x803DF0F0 -> 0x803DF1A8 void PanelDir::RemovingObject(class PanelDir * const this /* r30 */, class Object * o /* r31 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x803DF1A8 -> 0x803DF1E0 class RndCam * PanelDir::CamOverride() { // References // -> class UIManager TheUI; // -> class LoadMgr TheLoadMgr; } // Range: 0x803DF1E0 -> 0x803DF304 void PanelDir::DrawShowing(class PanelDir * const this /* r30 */) { // Local variables class RndCam * cam; // r0 class RndDir * * i; // r31 class RndDir * * i; // r31 // References // -> class RndEnviron * sCurrent; // -> class UIManager TheUI; // -> class RndCam * sCurrent; // -> class Rnd & TheRnd; } static class Message msg; // size: 0x8, address: 0x8097E368 static class Symbol ui_enter_forward; // size: 0x4, address: 0x80A51C9C static class Symbol ui_enter_back; // size: 0x4, address: 0x80A51CA4 // Range: 0x803DF304 -> 0x803DF4B4 void PanelDir::Enter(class PanelDir * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x20 // References // -> static class Symbol ui_enter_back; // -> static class Symbol ui_enter_forward; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x8097E380 static class Symbol ui_exit_forward; // size: 0x4, address: 0x80A51CAC static class Symbol ui_exit_back; // size: 0x4, address: 0x80A51CB4 // Range: 0x803DF4B4 -> 0x803DF628 void PanelDir::Exit(class PanelDir * const this /* r30 */) { // References // -> static class Symbol ui_exit_back; // -> static class Symbol ui_exit_forward; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message dirMsg; // size: 0x8, address: 0x8097E398 // Range: 0x803DF628 -> 0x803DF85C void PanelDir::SendTransition(class PanelDir * const this /* r28 */, const class Message & msg /* r29 */, class Symbol & forward /* r30 */, class Symbol & back /* r31 */) { // References // -> class UIManager TheUI; // -> static class Message dirMsg; // -> struct [anonymous] __vt__7Message; } // Range: 0x803DF85C -> 0x803DF92C unsigned char PanelDir::Entering(class PanelDir * const this /* r31 */) { // Local variables struct _List_iterator c; // r1+0x1C struct _List_iterator c; // r1+0x18 } // Range: 0x803DF92C -> 0x803DF9FC unsigned char PanelDir::Exiting(class PanelDir * const this /* r31 */) { // Local variables struct _List_iterator c; // r1+0x1C struct _List_iterator c; // r1+0x18 } // Range: 0x803DF9FC -> 0x803DFA3C class UIComponent * PanelDir::FindComponent() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x803DFA3C -> 0x803DFAB4 void PanelDir::AddComponent(class UIComponent * component /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node; // size: 0x8, address: 0x808E4C48 // Range: 0x803DFAB4 -> 0x803DFDBC void PanelDir::SetFocusComponent(class PanelDir * const this /* r30 */, class UIComponent * newComponent /* r31 */) { // Local variables class UIComponentFocusChangeMsg msg; // r1+0x38 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__25UIComponentFocusChangeMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static unsigned char gSendFocusMsg; } // Range: 0x803DFDBC -> 0x803DFE54 void PanelDir::EnableComponent(class PanelDir * const this /* r29 */, class UIComponent * c /* r30 */, enum RequestFocus focusable /* r31 */) {} static class Symbol none; // size: 0x4, address: 0x80A51CBC // Range: 0x803DFE54 -> 0x803DFFA4 void PanelDir::DisableComponent(class PanelDir * const this /* r27 */, class UIComponent * c /* r28 */, enum JoypadAction nav_action /* r29 */) { // References // -> static class Symbol none; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A51CC4 static class Symbol _s; // size: 0x4, address: 0x80A51CCC static class Symbol _s; // size: 0x4, address: 0x80A51CD4 static class Symbol _s; // size: 0x4, address: 0x80A51CDC // Range: 0x803DFFA4 -> 0x803E0A44 class DataNode PanelDir::Handle(class PanelDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x803E0A44 -> 0x803E0B00 unsigned char PanelDir::PanelNav(class PanelDir * const this /* r28 */, enum JoypadAction a /* r29 */, enum JoypadButton b /* r30 */, class Symbol & controller_type /* r31 */) { // Local variables class UIComponent * c; // r4 } // Range: 0x803E0B00 -> 0x803E0C68 class UIComponent * PanelDir::ComponentNav(class PanelDir * const this /* r29 */, class UIComponent * c /* r30 */, enum JoypadAction a /* r28 */) { // Local variables class UIComponent * next; // r31 unsigned char overload; // r0 struct _List_iterator i; // r1+0x20 struct _List_iterator i; // r1+0x1C // References // -> class UIManager TheUI; } // Range: 0x803E0C68 -> 0x803E0E04 class DataNode PanelDir::OnMsg(class PanelDir * const this /* r28 */, const class ButtonDownMsg & msg /* r29 */) { // Local variables class DataNode ret; // r1+0x18 } // Range: 0x803E0E04 -> 0x803E0F04 class DataNode PanelDir::OnEnableComponent(class PanelDir * const this /* r29 */, const class DataArray * a /* r30 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x803E0F04 -> 0x803E1004 class DataNode PanelDir::OnDisableComponent(class PanelDir * const this /* r29 */, const class DataArray * a /* r30 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x803E1004 -> 0x803E12B4 void PanelDir::SyncEditModePanels(class PanelDir * const this /* r31 */) { // Local variables class RndDir * * i; // r30 class RndDir * * i; // r30 class FilePath * i; // r29 class FilePath path; // r1+0x24 class RndDir * dir; // r1+0x14 class FilePath * i; // r29 class FilePath path; // r1+0x18 class RndDir * dir; // r1+0x10 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __vt__8FilePath; // -> class LoadMgr TheLoadMgr; } // Range: 0x803E12B4 -> 0x803E15B4 unsigned char PanelDir::PropSyncEditModePanels(class PanelDir * const this /* r29 */, class vector & paths /* r30 */, class DataNode & n /* r31 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r28 */) { // Local variables class FilePath * it; // r27 // References // -> struct [anonymous] __vt__8FilePath; // -> class FilePath sRoot; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A51CE4 static class Symbol _s; // size: 0x4, address: 0x80A51CEC static class Symbol _s; // size: 0x4, address: 0x80A51CF4 static class Symbol _s; // size: 0x4, address: 0x80A51CFC static class Symbol _s; // size: 0x4, address: 0x80A51D04 // Range: 0x803E15B4 -> 0x803E1948 unsigned char PanelDir::SyncProperty(class PanelDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__9UITrigger; // size: 0x8, address: 0x808E4E50 struct { // total size: 0x234 } __vt__8PanelDir; // size: 0x234, address: 0x808E4F10 struct { // total size: 0x8 } __RTTI__PP6RndDir; // size: 0x8, address: 0x808E55C0 struct { // total size: 0x8 } __RTTI__P8FilePath; // size: 0x8, address: 0x808E55D8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E1948 -> 0x803E1A38 */ // Range: 0x803E1948 -> 0x803E1A38 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E1A38 -> 0x803E1BC8 */ // Range: 0x803E1A38 -> 0x803E1BC8 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class FilePath * t; // r27 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E1BC8 -> 0x803E1EA8 */ // Range: 0x803E1BC8 -> 0x803E1D38 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; } // Range: 0x803E1D38 -> 0x803E1EA8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9UITrigger; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E1EA8 -> 0x803E20A8 */ // Range: 0x803E1EA8 -> 0x803E1F3C void _S_remove_if(struct ObjMatchPr & __pred /* r31 */) { // Local variables struct _List_iterator __first; // r1+0x1C struct _List_iterator __last; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803E1F3C -> 0x803E1FE8 void _S_remove_if(struct ObjMatchPr & __pred /* r31 */) { // Local variables struct _List_iterator __first; // r1+0x1C struct _List_iterator __last; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803E1FE8 -> 0x803E2048 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x803E2048 -> 0x803E20A8 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E20A8 -> 0x803E2C4C */ // Range: 0x803E20A8 -> 0x803E21E0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndDir * * __pos /* r28 */, class RndDir * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndDir * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6RndDir; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803E21E0 -> 0x803E24F0 class vector & vector::__as(class vector * const this /* r27 */, const class vector & __x /* r31 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8FilePath; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803E24F0 -> 0x803E2558 class FilePath * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x803E2558 -> 0x803E25D8 void vector::_M_fill_insert() {} // Range: 0x803E25D8 -> 0x803E2820 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class FilePath * __pos /* r26 */, const class FilePath & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class FilePath * __new_finish; // r29 // References // -> struct [anonymous] __vt__8FilePath; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8FilePath; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803E2820 -> 0x803E2A74 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class FilePath * __pos /* r27 */, unsigned long __n /* r28 */, const class FilePath & __x /* r29 */) { // Local variables class FilePath __x_copy; // r1+0x1C unsigned long __elems_after; // r30 class FilePath * __old_finish; // r0 // References // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\ui\Picture.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E2C4C -> 0x803E3B54 */ class DataArray * types; // size: 0x4, address: 0x80A51D08 class Symbol name; // size: 0x4, address: 0x80A51D10 class UIPicture : public UIComponent { // total size: 0x1A0 protected: class ObjPtr mMesh; // offset 0x130, size 0xC class FilePath mTexFile; // offset 0x13C, size 0xC class FilePath mLoadedFile; // offset 0x148, size 0xC class RndTex * mTex; // offset 0x154, size 0x4 class FileLoader * mLoader; // offset 0x158, size 0x4 unsigned char mHookTex; // offset 0x15C, size 0x1 }; // Range: 0x803E2C4C -> 0x803E2E30 void * UIPicture::UIPicture(class UIPicture * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__9UIPicture; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803E2E30 -> 0x803E2F94 void * UIPicture::~UIPicture(class UIPicture * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__9UIPicture; } static int gRev; // size: 0x4, address: 0x80A51D14 // Range: 0x803E2F94 -> 0x803E2FF0 void UIPicture::Load(class UIPicture * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803E2FF0 -> 0x803E30F4 void UIPicture::PreLoad(class UIPicture * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class FilePath sRoot; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803E30F4 -> 0x803E3128 void UIPicture::PostLoad(class UIPicture * const this /* r31 */) {} // Range: 0x803E3128 -> 0x803E3180 void UIPicture::Poll(class UIPicture * const this /* r31 */) {} // Range: 0x803E3180 -> 0x803E31B4 void UIPicture::Exit(class UIPicture * const this /* r31 */) {} // Range: 0x803E31B4 -> 0x803E3300 void UIPicture::SetTex(class UIPicture * const this /* r29 */, const class FilePath & path /* r30 */) { // References // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x803E3300 -> 0x803E33A4 void UIPicture::FinishLoading(class UIPicture * const this /* r31 */) {} // Range: 0x803E33A4 -> 0x803E349C void UIPicture::HookupMesh(class UIPicture * const this /* r29 */) { // References // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } // Range: 0x803E349C -> 0x803E34C4 void UIPicture::SetHookTex() { // References // -> class FilePath sRoot; } static class Symbol _s; // size: 0x4, address: 0x80A51D1C static class Symbol _s; // size: 0x4, address: 0x80A51D24 // Range: 0x803E34C4 -> 0x803E3970 class DataNode UIPicture::Handle(class UIPicture * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51D2C static class Symbol _s; // size: 0x4, address: 0x80A51D34 // Range: 0x803E3970 -> 0x803E3B54 unsigned char UIPicture::SyncProperty(class UIPicture * const this /* r31 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; } struct { // total size: 0x14C } __vt__9UIPicture; // size: 0x14C, address: 0x808E5854 struct { // total size: 0x8 } __RTTI__9UIPicture; // size: 0x8, address: 0x808E59E8 /* Compile unit: C:\rockband2\system\src\ui\Picture.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E3CB4 -> 0x803E40BC */ // Range: 0x803E3CB4 -> 0x803E3DA8 void UIPicture::SetTypeDef(class UIPicture * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables class DataArray * initial_tex; // r31 class FilePath path; // r1+0xC // References // -> struct [anonymous] __vt__8FilePath; } // Range: 0x803E3DA8 -> 0x803E3E9C void UIPicture::Copy(class UIPicture * const this /* r29 */, enum CopyType type /* r30 */) { // Local variables const class UIPicture * p; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9UIPicture; } // Range: 0x803E3E9C -> 0x803E3EE0 void UIPicture::Save() { // References // -> class Debug TheDebug; } // Range: 0x803E3EE0 -> 0x803E3F24 class Symbol UIPicture::ClassName() { // References // -> class Symbol name; } // Range: 0x803E3F24 -> 0x803E40BC void UIPicture::SetType(class UIPicture * const this /* r29 */, class Symbol & UIPicture /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Proxy.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E40BC -> 0x803E60C0 */ class DataArray * types; // size: 0x4, address: 0x80A51D38 class Symbol name; // size: 0x4, address: 0x80A51D40 // Range: 0x803E40BC -> 0x803E4240 void * UIProxy::UIProxy(class UIProxy * const this /* r31 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; // -> struct [anonymous] __vt__7UIProxy; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x803E4240 -> 0x803E42EC void UIProxy::Copy(class UIProxy * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class UIProxy * p; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIProxy; } static int gRev; // size: 0x4, address: 0x80A51D44 // Range: 0x803E42EC -> 0x803E4330 void UIProxy::Save() { // References // -> class Debug TheDebug; } // Range: 0x803E4330 -> 0x803E438C void UIProxy::Load(class UIProxy * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803E438C -> 0x803E44A8 void UIProxy::PreLoad(class UIProxy * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803E44A8 -> 0x803E46A8 void UIProxy::PostLoad(class UIProxy * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> static int gRev; // -> class list sRevs; } // Range: 0x803E46A8 -> 0x803E4908 void UIProxy::Poll(class UIProxy * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x803E4908 -> 0x803E4AC4 void UIProxy::DrawShowing(class UIProxy * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803E4AC4 -> 0x803E4B94 class RndDrawable * UIProxy::CollideShowing(class UIProxy * const this /* r28 */, const class Segment & s /* r29 */, float & dist /* r30 */, class Plane & plane /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803E4B94 -> 0x803E4C30 int UIProxy::CollidePlane(class UIProxy * const this /* r30 */, const class Plane & plane /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803E4C30 -> 0x803E50DC void UIProxy::SetProxyDir(class UIProxy * const this /* r29 */, const class FilePath & path /* r30 */, unsigned char share /* r31 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x803E50DC -> 0x803E5338 void UIProxy::SetProxyDir(class UIProxy * const this /* r31 */, class RndDir * dir /* r25 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } static class Message msg; // size: 0x8, address: 0x8097E3B0 // Range: 0x803E5338 -> 0x803E5784 void UIProxy::SyncDir(class UIProxy * const this /* r30 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x803E5784 -> 0x803E59B4 void UIProxy::UpdateDir(class UIProxy * const this /* r28 */) { // Local variables class DataArray * trans; // r29 // References // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803E59B4 -> 0x803E5ADC class DataNode UIProxy::OnSetProxyDir(class UIProxy * const this /* r29 */, class DataArray * a /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } static class Symbol _s; // size: 0x4, address: 0x80A51D4C static class Symbol _s; // size: 0x4, address: 0x80A51D54 // Range: 0x803E5ADC -> 0x803E5FE8 class DataNode UIProxy::Handle(class UIProxy * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51D5C // Range: 0x803E5FE8 -> 0x803E60C0 unsigned char UIProxy::SyncProperty(class UIProxy * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } struct { // total size: 0x14C } __vt__7UIProxy; // size: 0x14C, address: 0x808E5EE0 struct { // total size: 0x18 } __vt__18ObjDirPtr<6RndDir>; // size: 0x18, address: 0x808E6080 struct { // total size: 0x8 } __RTTI__18ObjDirPtr<6RndDir>; // size: 0x8, address: 0x808E60B8 /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E60C0 -> 0x803E67F8 */ // Range: 0x803E60C0 -> 0x803E6318 void * ObjDirPtr::~ObjDirPtr(class ObjDirPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; } // Range: 0x803E6318 -> 0x803E6568 class ObjDirPtr & ObjDirPtr::__as(class ObjDirPtr * const this /* r25 */, class RndDir * dir /* r26 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x803E6568 -> 0x803E6570 class Object * ObjDirPtr::RefOwner() {} // Range: 0x803E6570 -> 0x803E67F0 void ObjDirPtr::Replace(class ObjDirPtr * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x803E67F0 -> 0x803E67F8 unsigned char ObjDirPtr::IsDirPtr() {} /* Compile unit: C:\rockband2\system\src\ui\Proxy.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E6C5C -> 0x803E7610 */ // Range: 0x803E6C5C -> 0x803E7434 void UIProxy::SetTypeDef(class UIProxy * const this /* r29 */, class DataArray * t /* r30 */) { // Local variables class DataArray * file; // r24 unsigned char share; // r1+0x8 class FilePath path; // r1+0x24 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x803E7434 -> 0x803E7478 class Symbol UIProxy::ClassName() { // References // -> class Symbol name; } // Range: 0x803E7478 -> 0x803E7610 void UIProxy::SetType(class UIProxy * const this /* r29 */, class Symbol & UIProxy /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Screen.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E7610 -> 0x803E9B34 */ class DataArray * types; // size: 0x4, address: 0x80A51D60 class Symbol name; // size: 0x4, address: 0x80A51D68 // Range: 0x803E7610 -> 0x803E7680 void * UIScreen::UIScreen(class UIScreen * const this /* r31 */) { // References // -> struct [anonymous] __vt__8UIScreen; } static class Symbol panels; // size: 0x4, address: 0x80A51D70 static class Symbol focus; // size: 0x4, address: 0x80A51D78 static class Symbol clear_vram; // size: 0x4, address: 0x80A51D80 // Range: 0x803E7680 -> 0x803E78C0 void UIScreen::SetTypeDef(class UIScreen * const this /* r29 */, class DataArray * data /* r30 */) { // Local variables class DataArray * panelData; // r27 int i; // r26 class DataArray * focusData; // r26 // References // -> static class Symbol clear_vram; // -> static class Symbol focus; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> static class Symbol panels; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std21_List_node; // size: 0x8, address: 0x808E6660 static class Symbol _s; // size: 0x4, address: 0x80A51D88 static class Symbol _s; // size: 0x4, address: 0x80A51D90 static class Symbol _s; // size: 0x4, address: 0x80A51D98 static class Symbol _s; // size: 0x4, address: 0x80A51DA0 static class Symbol _s; // size: 0x4, address: 0x80A51DA8 static class Symbol _s; // size: 0x4, address: 0x80A51DB0 static class Symbol _s; // size: 0x4, address: 0x80A51DB8 static class Symbol _s; // size: 0x4, address: 0x80A51DC0 // Range: 0x803E78C0 -> 0x803E864C class DataNode UIScreen::Handle(class UIScreen * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0x78 class DataNode _n; // r1+0x70 class DataNode _n; // r1+0x68 class DataNode r; // r1+0x60 // References // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x803E864C -> 0x803E86D0 unsigned char UIScreen::Entering(class UIScreen * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x803E86D0 -> 0x803E8754 unsigned char UIScreen::Exiting(class UIScreen * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } static class Message msg; // size: 0x8, address: 0x8097E3C8 // Range: 0x803E8754 -> 0x803E88EC void UIScreen::Poll(class UIScreen * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 class UIPanel * p; // r3 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x8097E3E0 // Range: 0x803E88EC -> 0x803E8B70 void UIScreen::Enter(class UIScreen * const this /* r30 */, class UIScreen * from /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x803E8B70 -> 0x803E8BF8 void UIScreen::Draw(class UIScreen * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x803E8BF8 -> 0x803E8C70 void UIScreen::SetFocusPanel(class UIScreen * const this /* r30 */, class UIPanel * panel /* r31 */) {} // Range: 0x803E8C70 -> 0x803E8CBC unsigned char UIScreen::InComponentSelect() { // Local variables class UIComponent * u; // r0 // References // -> class UIManager TheUI; } // Range: 0x803E8CBC -> 0x803E8D44 unsigned char UIScreen::SharesPanels(class UIScreen * const this /* r30 */, class UIScreen * screen /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x803E8D44 -> 0x803E8D9C unsigned char UIScreen::HasPanel() { // Local variables struct _List_iterator i; // r1+0x10 } static class Message msg; // size: 0x8, address: 0x8097E3F8 // Range: 0x803E8D9C -> 0x803E9030 void UIScreen::Exit(class UIScreen * const this /* r30 */, class UIScreen * to /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x803E9030 -> 0x803E90E8 void UIScreen::ReenterScreen(class UIScreen * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x1C struct _List_iterator i; // r1+0x18 } // Range: 0x803E90E8 -> 0x803E90F0 void UIScreen::SetShowing() {} static class Message msg; // size: 0x8, address: 0x8097E410 // Range: 0x803E90F0 -> 0x803E9270 void UIScreen::LoadPanels(class UIScreen * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } struct iterator { // total size: 0x1 }; class reverse_iterator : public iterator { // total size: 0x4 protected: struct _List_iterator current; // offset 0x0, size 0x4 }; // Range: 0x803E9270 -> 0x803E92F8 void UIScreen::UnloadPanels(class UIScreen * const this /* r31 */) { // Local variables class reverse_iterator i; // r1+0x24 } // Range: 0x803E92F8 -> 0x803E9370 unsigned char UIScreen::CheckIsLoaded(class UIScreen * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x803E9370 -> 0x803E93CC unsigned char UIScreen::IsLoaded() { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x803E93CC -> 0x803E9428 unsigned char UIScreen::AllPanelsDown() { // Local variables struct _List_iterator i; // r1+0x10 } static class Symbol file; // size: 0x4, address: 0x80A51DCC // Range: 0x803E9428 -> 0x803E965C void UIScreen::Print(class UIScreen * const this /* r28 */, class TextStream & s /* r29 */) { // Local variables struct _List_iterator i; // r1+0x28 class UIPanel * p; // r30 class DataArray * f; // r0 class DataNode n; // r1+0x30 // References // -> static class Symbol file; } static class Symbol goto_screen; // size: 0x4, address: 0x80A51DD4 // Range: 0x803E965C -> 0x803E999C class DataNode UIScreen::OnMsg(class UIScreen * const this /* r29 */) { // Local variables class DataNode screen; // r1+0x48 class DataArrayPtr msg; // r1+0x40 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol goto_screen; } // Range: 0x803E999C -> 0x803E9B34 class DataNode UIScreen::ForeachPanel(class UIScreen * const this /* r29 */, const class DataArray * a /* r30 */) { // Local variables class DataNode * var; // r31 class DataNode tmp; // r1+0x28 struct _List_iterator p; // r1+0x10 int j; // r27 } struct { // total size: 0x80 } __vt__8UIScreen; // size: 0x80, address: 0x808E6780 /* Compile unit: C:\rockband2\system\src\ui\Screen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E9B34 -> 0x803E9CF8 */ // Range: 0x803E9B34 -> 0x803E9CB4 void UIScreen::SetType(class UIScreen * const this /* r29 */, class Symbol & UIScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x803E9CB4 -> 0x803E9CF8 class Symbol UIScreen::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\ScrollSelect.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803E9CF8 -> 0x803EAC44 */ class Symbol t; // size: 0x4, address: 0x80A51DDC // Range: 0x803E9CF8 -> 0x803E9D3C void * ScrollSelect::ScrollSelect(class ScrollSelect * const this /* r31 */) { // References // -> struct [anonymous] __vt__12ScrollSelect; } // Range: 0x803E9D3C -> 0x803E9D58 unsigned char ScrollSelect::IsScrollSelected() {} // Range: 0x803E9D58 -> 0x803E9D94 void ScrollSelect::Store(class ScrollSelect * const this /* r31 */) {} // Range: 0x803E9D94 -> 0x803E9DA0 void ScrollSelect::Reset() {} // Range: 0x803E9DA0 -> 0x803E9E54 unsigned char ScrollSelect::SelectScrollSelect(class ScrollSelect * const this /* r29 */, class UIComponent * c /* r30 */, class User * user /* r31 */) {} // Range: 0x803E9E54 -> 0x803EA184 unsigned char ScrollSelect::RevertScrollSelect(class ScrollSelect * const this /* r27 */, class UIComponent * c /* r28 */, class User * user /* r29 */) { // Local variables unsigned char change; // r30 class DataNode ret; // r1+0x40 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x803EA184 -> 0x803EA1AC unsigned char ScrollSelect::CanScroll() {} static class Symbol selected; // size: 0x4, address: 0x80A51DE4 // Range: 0x803EA1AC -> 0x803EA258 class Symbol ScrollSelect::DrawState(const class ScrollSelect * const this /* r30 */, class UIComponent * c /* r31 */) { // References // -> static class Symbol selected; } // Range: 0x803EA258 -> 0x803EA2A4 unsigned char ScrollSelect::CatchNavAction() {} class UIComponentScrollSelectMsg : public Message { // total size: 0x8 }; static class UIComponentScrollSelectMsg scroll_select_msg; // size: 0x8, address: 0x8097E428 // Range: 0x803EA2A4 -> 0x803EA6D0 class DataNode ScrollSelect::SendScrollSelected(class ScrollSelect * const this /* r28 */, class UIComponent * c /* r29 */, class User * user /* r30 */) { // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__26UIComponentScrollSelectMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class UIComponentScrollSelectMsg scroll_select_msg; } static class Symbol _s; // size: 0x4, address: 0x80A51DEC static class Symbol _s; // size: 0x4, address: 0x80A51DF4 // Range: 0x803EA754 -> 0x803EAACC class DataNode ScrollSelect::Handle(class ScrollSelect * const this /* r29 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x28 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__12ScrollSelect; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51DFC // Range: 0x803EAACC -> 0x803EAC44 unsigned char ScrollSelect::SyncProperty(class ScrollSelect * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xC } __vt__26UIComponentScrollSelectMsg; // size: 0xC, address: 0x808E69B0 struct { // total size: 0x8 } __RTTI__26UIComponentScrollSelectMsg; // size: 0x8, address: 0x808E69E8 struct { // total size: 0x1C } __vt__12ScrollSelect; // size: 0x1C, address: 0x808E6A10 /* Compile unit: C:\rockband2\system\src\ui\Slider.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EAC44 -> 0x803EC624 */ class DataArray * types; // size: 0x4, address: 0x80A51E00 class Symbol name; // size: 0x4, address: 0x80A51E08 // Range: 0x803EAC44 -> 0x803EAD50 void * UISlider::UISlider(class UISlider * const this /* r31 */) { // References // -> struct [anonymous] __vt__8UISlider; // -> struct [anonymous] __vt__16RndHighlightable; } static int gRev; // size: 0x4, address: 0x80A51E0C // Range: 0x803EAD50 -> 0x803EAD94 void UISlider::Save() { // References // -> class Debug TheDebug; } // Range: 0x803EAD94 -> 0x803EADF0 void UISlider::Load(class UISlider * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x803EADF0 -> 0x803EAEB4 void UISlider::PreLoad(class UISlider * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x803EAEB4 -> 0x803EAF30 void UISlider::PostLoad(class UISlider * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> static int gRev; } // Range: 0x803EAF30 -> 0x803EAF64 void UISlider::Enter(class UISlider * const this /* r31 */) {} // Range: 0x803EAF64 -> 0x803EAFC4 void UISlider::DrawShowing(class UISlider * const this /* r31 */) {} // Range: 0x803EAFC4 -> 0x803EB04C class RndDrawable * UISlider::CollideShowing(class UISlider * const this /* r28 */, const class Segment & s /* r29 */, float & dist /* r30 */, class Plane & plane /* r31 */) {} // Range: 0x803EB04C -> 0x803EB0A0 int UISlider::CollidePlane(class UISlider * const this /* r30 */, const class Plane & plane /* r31 */) {} // Range: 0x803EB0A0 -> 0x803EB0A8 int UISlider::Current() {} // Range: 0x803EB0A8 -> 0x803EB108 float UISlider::Frame() {} // Range: 0x803EB108 -> 0x803EB164 void UISlider::SetCurrent(class UISlider * const this /* r5 */) { // References // -> class Debug TheDebug; } // Range: 0x803EB164 -> 0x803EB1AC void UISlider::SetNumSteps() { // References // -> class Debug TheDebug; } // Range: 0x803EB1AC -> 0x803EB210 void UISlider::Update(class UISlider * const this /* r30 */) {} // Range: 0x803EB210 -> 0x803EB28C void UISlider::SyncSlider(class UISlider * const this /* r30 */) {} // Range: 0x803EB28C -> 0x803EB364 void UISlider::SetFrame(class UISlider * const this /* r31 */, float frame /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803EB364 -> 0x803EB368 int UISlider::SelectedAux() {} // Range: 0x803EB368 -> 0x803EB378 void UISlider::SetSelectedAux() {} static class Symbol _s; // size: 0x4, address: 0x80A51E14 static class Symbol _s; // size: 0x4, address: 0x80A51E1C static class Symbol _s; // size: 0x4, address: 0x80A51E24 static class Symbol _s; // size: 0x4, address: 0x80A51E2C static class Symbol _s; // size: 0x4, address: 0x80A51E34 static class Symbol _s; // size: 0x4, address: 0x80A51E3C static class Symbol _s; // size: 0x4, address: 0x80A51E44 static class Symbol _s; // size: 0x4, address: 0x80A51E4C static class Symbol _s; // size: 0x4, address: 0x80A51E54 // Range: 0x803EB378 -> 0x803EC15C class DataNode UISlider::Handle(class UISlider * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x50 class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } // Range: 0x803EC15C -> 0x803EC57C class DataNode UISlider::OnMsg(class UISlider * const this /* r28 */, const class ButtonDownMsg & msg /* r29 */) { // Local variables class Symbol type; // r1+0x18 int direction; // r3 int newStep; // r4 enum JoypadAction action; // r0 class User * user; // r29 // References // -> class UIManager TheUI; // -> struct [anonymous] __vt__20UIComponentScrollMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x803EC57C -> 0x803EC624 unsigned char UISlider::SyncProperty(class UISlider * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0x174 } __vt__8UISlider; // size: 0x174, address: 0x808E6CA0 /* Compile unit: C:\rockband2\system\src\ui\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EC624 -> 0x803EC754 */ // Range: 0x803EC624 -> 0x803EC69C void UISlider::Init() { // References // -> class Symbol name; // -> class UIManager TheUI; } // Range: 0x803EC69C -> 0x803EC754 void UISlider::Copy(class UISlider * const this /* r29 */, enum CopyType type /* r30 */) { // Local variables const class UISlider * s; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UISlider; } /* Compile unit: C:\rockband2\system\src\ui\Slider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EC754 -> 0x803EC9A8 */ // Range: 0x803EC754 -> 0x803EC7CC class Object * UISlider::NewObject() { // References // -> class Symbol name; } // Range: 0x803EC7CC -> 0x803EC810 class Symbol UISlider::ClassName() { // References // -> class Symbol name; } // Range: 0x803EC810 -> 0x803EC9A8 void UISlider::SetType(class UISlider * const this /* r29 */, class Symbol & UISlider /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Splash.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803ECC10 -> 0x803ECEB8 */ // Range: 0x803ECC10 -> 0x803ECCAC void * Splash::~Splash(class Splash * const this /* r30 */) { // References // -> class WiiRnd TheWiiRnd; } // Range: 0x803ECCAC -> 0x803ECCB4 void Splash::SetMinSplashTime() {} // Range: 0x803ECCB4 -> 0x803ECD98 void Splash::Wait(class Splash * const this /* r30 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x803ECD98 -> 0x803ECEB8 void Splash::Draw(class Splash * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class WiiRnd TheWiiRnd; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803ECEB8 -> 0x803ED2C4 */ // Range: 0x803ECEB8 -> 0x803ECF90 void * Splash::Splash(class Splash * const this /* r30 */) { // References // -> class WiiRnd TheWiiRnd; } // Range: 0x803ECF90 -> 0x803ED16C void Splash::Show(class Splash * const this /* r28 */) { // Local variables class RndDir * d; // r30 class RndCam * c; // r29 int i; // r31 // References // -> class Rnd & TheRnd; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x803ED16C -> 0x803ED2C4 void * SplashPoll() { // Local variables class Splash * splasher; // r30 int retryCount; // r29 unsigned char discError; // r31 long status; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> enum quitType gPowerCallback; // -> class WiiRnd TheWiiRnd; // -> class PlatformMgr ThePlatformMgr; } /* Compile unit: C:\rockband2\system\src\ui\Trigger.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803ED2C4 -> 0x803EE160 */ class DataArray * types; // size: 0x4, address: 0x80A51E58 class Symbol name; // size: 0x4, address: 0x80A51E60 // Range: 0x803ED2C4 -> 0x803ED310 void * UITrigger::UITrigger(class UITrigger * const this /* r31 */) { // References // -> struct [anonymous] __vt__9UITrigger; } // Range: 0x803ED6D0 -> 0x803ED738 void UITrigger::Copy(class UITrigger * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class UITrigger * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9UITrigger; } static int REV; // size: 0x4, address: 0x80A46FC0 // Range: 0x803ED738 -> 0x803ED77C void UITrigger::Save() { // References // -> class Debug TheDebug; } // Range: 0x803ED77C -> 0x803EDAD8 void UITrigger::Load(class UITrigger * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x34 class Symbol evt; // r1+0x30 class ObjPtr anim; // r1+0x38 // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11UIComponent; // -> class Symbol name; // -> class Debug TheDebug; // -> static int REV; } // Range: 0x803EDAD8 -> 0x803EDB18 void UITrigger::Enter(class UITrigger * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803EDB18 -> 0x803EDBA8 unsigned char UITrigger::IsBlocking(const class UITrigger * const this /* r30 */) { // References // -> class TaskMgr TheTaskMgr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; static class DataArray * events; // size: 0x4, address: 0x80A51E64 // Range: 0x803EDBA8 -> 0x803EDC4C class DataArray * UITrigger::SupportedEvents() { // References // -> static class DataArray * events; } static class Symbol _s; // size: 0x4, address: 0x80A51E6C // Range: 0x803EDC4C -> 0x803EDFD4 class DataNode UITrigger::Handle(class UITrigger * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A51E74 // Range: 0x803EDFD4 -> 0x803EE160 unsigned char UITrigger::SyncProperty(class UITrigger * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x60 } __vt__9UITrigger; // size: 0x60, address: 0x808E7348 struct { // total size: 0x18 } __vt__32ObjPtrList<8Sequence,9ObjectDir>; // size: 0x18, address: 0x808E74F8 struct { // total size: 0x8 } __RTTI__32ObjPtrList<8Sequence,9ObjectDir>; // size: 0x8, address: 0x808E7540 class _List_node : public _List_node_base { // total size: 0x18 public: struct HideDelay _M_data; // offset 0x8, size 0x10 }; class _List_node : public _List_node_base { // total size: 0x24 public: struct ProxyCall _M_data; // offset 0x8, size 0x1C }; class _List_node : public _List_node_base { // total size: 0x3C public: struct Anim _M_data; // offset 0x8, size 0x34 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std33_List_node; // size: 0x8, address: 0x808E7650 struct { // total size: 0x18 } __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // size: 0x18, address: 0x808E76A8 struct { // total size: 0x8 } __RTTI__29ObjPtr<9ObjectDir,9ObjectDir>; // size: 0x8, address: 0x808E76F0 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EE160 -> 0x803EE61C */ // Range: 0x803EE160 -> 0x803EE308 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8Sequence,9ObjectDir>; } // Range: 0x803EE308 -> 0x803EE4F4 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803EE4F4 -> 0x803EE4FC class Object * ObjPtrList::RefOwner() {} // Range: 0x803EE4FC -> 0x803EE570 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; } // Range: 0x803EE570 -> 0x803EE578 class Object * ObjPtr::RefOwner() {} // Range: 0x803EE578 -> 0x803EE61C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EE61C -> 0x803EE690 */ // Range: 0x803EE61C -> 0x803EE690 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, const char * t2 /* r31 */, float t3 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\ui\Trigger.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EE690 -> 0x803EE854 */ // Range: 0x803EE690 -> 0x803EE6D4 class Symbol UITrigger::ClassName() { // References // -> class Symbol name; } // Range: 0x803EE6D4 -> 0x803EE854 void UITrigger::SetType(class UITrigger * const this /* r29 */, class Symbol & UITrigger /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EE854 -> 0x803EEE80 */ // Range: 0x803EE854 -> 0x803EE9F4 void UITrigger::Trigger(class UITrigger * const this /* r30 */) { // Local variables float frames; // f1 float scale; // f30 struct _List_iterator itr; // r1+0x10 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; } // Range: 0x803EE9F4 -> 0x803EEABC void UITrigger::CheckAnims(class UITrigger * const this /* r30 */) { // Local variables struct _List_iterator itr; // r1+0x10 // References // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EEE80 -> 0x803EF270 */ // Range: 0x803EEE80 -> 0x803EF07C void list::resize(const struct Anim & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x803EF07C -> 0x803EF118 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x803EF118 -> 0x803EF1D8 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x803EF1D8 -> 0x803EF270 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\ui\UI.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803EF270 -> 0x803F5B64 */ class Symbol t; // size: 0x4, address: 0x80A51E7C class Symbol name; // size: 0x4, address: 0x80A51E84 class Symbol button_down; // size: 0x4, address: 0x80A51E8C class Symbol button_down; // size: 0x4, address: 0x80A51E94 class Message msg; // size: 0x8, address: 0x8097E570 class Symbol button_down; // size: 0x4, address: 0x80A51E9C class ButtonDownMsg b_msg; // size: 0x8, address: 0x8097E578 static class Symbol _s; // size: 0x4, address: 0x80A51EA4 static class Symbol _s; // size: 0x4, address: 0x80A51EAC static class Symbol _s; // size: 0x4, address: 0x80A51EB4 static class Symbol _s; // size: 0x4, address: 0x80A51EBC static class Symbol _s; // size: 0x4, address: 0x80A51EC4 class Automator : public Object { // total size: 0x60 class DataArray * mScreenScripts; // offset 0x28, size 0x4 class DataArray * mRecord; // offset 0x2C, size 0x4 class String mRecordPath; // offset 0x30, size 0xC class String mAutoPath; // offset 0x3C, size 0xC class DataArray * mCurScript; // offset 0x48, size 0x4 int mCurScreenIndex; // offset 0x4C, size 0x4 int mCurMsgIndex; // offset 0x50, size 0x4 int mFramesSinceAdvance; // offset 0x54, size 0x4 class list mCustomMsgs; // offset 0x58, size 0x8 }; // Range: 0x803EF270 -> 0x803EF8C8 class DataNode Automator::Handle(class Automator * const this /* r29 */, class DataArray * _msg /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x803EF8C8 -> 0x803EFB08 char * Automator::ToggleAuto(class Automator * const this /* r31 */) { // Local variables class Loader * l; // r27 class DataLoader * dl; // r27 // References // -> const char * gNullStr; // -> class UIManager TheUI; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10DataLoader; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x803EFB08 -> 0x803EFBF4 char * Automator::ToggleRecord(class Automator * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803EFBF4 -> 0x803EFCA8 void Automator::AddMessageType(class Automator * const this /* r30 */, class Symbol & msg_type /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; } // Range: 0x803EFCA8 -> 0x803EFE24 class DataNode Automator::OnMsg(class Automator * const this /* r31 */) { // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; } // Range: 0x803EFE24 -> 0x803F0310 class DataNode Automator::OnMsg(class Automator * const this /* r29 */, const class ButtonDownMsg & msg /* r26 */) { // Local variables class DataArrayPtr b_array; // r1+0x68 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class Symbol button_down; // -> class UIManager TheUI; } // Range: 0x803F0310 -> 0x803F0808 class DataNode Automator::OnMsg(class Automator * const this /* r29 */) { // References // -> class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class UIManager TheUI; } // Range: 0x803F0808 -> 0x803F0D00 class DataNode Automator::OnMsg(class Automator * const this /* r29 */) { // References // -> class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class UIManager TheUI; } // Range: 0x803F0D00 -> 0x803F11F8 class DataNode Automator::OnMsg(class Automator * const this /* r29 */) { // References // -> class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class UIManager TheUI; } // Range: 0x803F11F8 -> 0x803F16F0 class DataNode Automator::OnMsg(class Automator * const this /* r29 */) { // References // -> class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class UIManager TheUI; } // Range: 0x803F16F0 -> 0x803F1C34 class DataNode Automator::OnCustomMsg(class Automator * const this /* r29 */) { // Local variables class Symbol type; // r1+0x50 // References // -> class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class UIManager TheUI; } class UIManager TheUI; // size: 0xE8, address: 0x8097E458 // Range: 0x803F1C34 -> 0x803F1D60 void * UIManager::UIManager(class UIManager * const this /* r29 */) { // References // -> struct [anonymous] __vt__9Automator; // -> struct [anonymous] __vt__9UIManager; } class _List_node : public _List_node_base { // total size: 0xC public: class UIScreen * _M_data; // offset 0x8, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class UIResource * _M_data; // offset 0x8, size 0x4 }; struct Compare { // total size: 0x1 }; // Range: 0x803F1D60 -> 0x803F1E10 void * UIManager::~UIManager(class UIManager * const this /* r30 */) { // References // -> struct [anonymous] __vt__9UIManager; } // Range: 0x803F1E10 -> 0x803F1F70 void * Automator::~Automator(class Automator * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__9Automator; } // Range: 0x803F1F70 -> 0x803F1F7C static void TerminateCallback() { // References // -> class UIManager TheUI; } static class Message cheat_init_msg; // size: 0x8, address: 0x8097E550 static class Message init_msg; // size: 0x8, address: 0x8097E568 // Range: 0x803F1F7C -> 0x803F2978 void UIManager::Init(class UIManager * const this /* r28 */) { // Local variables class DataArray * data; // r29 class DataArray * cam; // r25 class DataArray * zrange; // r25 class Color c; // r1+0xE0 unsigned char b; // r1+0x10 // References // -> static class Message init_msg; // -> static class Message cheat_init_msg; // -> struct [anonymous] __vt__7Message; // -> class Symbol name; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> unsigned char sVerboseNotify; // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class Symbol name; // -> class ObjectDir * sMainDir; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x803F2978 -> 0x803F2D30 void UIManager::Terminate(class UIManager * const this /* r30 */) { // Local variables struct _List_iterator itr; // r1+0x20 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x803F2D30 -> 0x803F3EC8 void UIManager::Poll(class UIManager * const this /* r27 */) { // Local variables struct _List_iterator i; // r1+0x64 class UIScreen * to; // r3 class UIScreen * prevScreen; // r26 class UITransitionCompleteMsg msg; // r1+0x120 class UITransitionCompleteMsg msg; // r1+0x118 // References // -> struct [anonymous] __vt__23UITransitionCompleteMsg; // -> class Symbol t; // -> class PlatformMgr ThePlatformMgr; // -> class TaskMgr TheTaskMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class UIManager TheUI; // -> class Message msg; // -> struct [anonymous] __vt__7Message; // -> class UserMgr * TheUserMgr; // -> class Symbol button_down; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ButtonDownMsg b_msg; // -> class Symbol button_down; } // Range: 0x803F3EC8 -> 0x803F3F54 void UIManager::Draw(class UIManager * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x803F3F54 -> 0x803F4048 void UIManager::CancelTransition(class UIManager * const this /* r31 */) { // Local variables enum TransitionState state; // r3 class UIScreen * screen; // r4 // References // -> class Debug TheDebug; } // Range: 0x803F4048 -> 0x803F43FC void UIManager::GotoScreen(class UIManager * const this /* r30 */, class UIScreen * screen /* r31 */, unsigned char back /* r28 */) { // Local variables struct _List_iterator i; // r1+0x18 class UIScreenChangeMsg msg; // r1+0x48 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__17UIScreenChangeMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Debug TheDebug; } // Range: 0x803F43FC -> 0x803F45FC void UIManager::PushScreen(class UIManager * const this /* r30 */, class UIScreen * screen /* r31 */) { // Local variables struct _List_iterator s; // r1+0x30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x808E7AE0 // Range: 0x803F45FC -> 0x803F4620 unsigned char UIManager::InComponentSelect() {} // Range: 0x803F4620 -> 0x803F4644 class UIPanel * UIManager::FocusPanel() {} // Range: 0x803F4644 -> 0x803F4678 class UIComponent * UIManager::FocusComponent() { // Local variables class UIPanel * p; // r0 } // Range: 0x803F4678 -> 0x803F4710 class UIResource * UIManager::Resource(class UIManager * const this /* r29 */, const class UIComponent * const c /* r30 */) { // Local variables class UIResource * typeRes; // r31 class UIResource * classRes; // r31 } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std25_List_node; // size: 0x8, address: 0x808E7B68 struct pair { // total size: 0x8 struct _List_iterator first; // offset 0x0, size 0x4 struct _List_iterator second; // offset 0x4, size 0x4 }; // Range: 0x803F4710 -> 0x803F4874 class UIResource * UIManager::FindResource(class UIManager * const this /* r29 */, const class UIComponent * const c /* r30 */, unsigned char useType /* r31 */) { // Local variables class Symbol className; // r1+0x58 class Symbol typeName; // r1+0x54 struct pair p; // r1+0x68 // References // -> const char * gNullStr; } // Range: 0x803F4874 -> 0x803F49E0 class DataNode UIManager::OnIsResource(class UIManager * const this /* r31 */, class DataArray * msg /* r26 */) { // Local variables class FilePath path; // r1+0x24 struct _List_iterator itr; // r1+0x20 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x803F49E0 -> 0x803F4AA0 void UIManager::UseJoypad(class UIManager * const this /* r30 */, unsigned char autoRepeat /* r31 */) {} static class DataArray * presets; // size: 0x4, address: 0x80A51ECC // Range: 0x803F4AA0 -> 0x803F4B44 class DataArray * UIManager::ColorPresets() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class DataArray * presets; } // Range: 0x803F4B44 -> 0x803F4B90 static enum JoypadAction NavButtonToNavAction() {} static class Symbol none; // size: 0x4, address: 0x80A51ED4 // Range: 0x803F4B90 -> 0x803F4C60 unsigned char UIManager::OverloadHorizontalNav(const class UIManager * const this /* r30 */, enum JoypadAction action /* r27 */, enum JoypadButton button /* r29 */, class Symbol & controller_type /* r28 */) { // References // -> static class Symbol none; } // Range: 0x803F4C60 -> 0x803F4C68 unsigned char UIManager::RequireFixedText() {} // Range: 0x803F4C68 -> 0x803F4C70 void UIManager::SetRequireFixedText() {} // Range: 0x803F4C70 -> 0x803F4C9C class UIScreen * UIManager::BottomScreen() {} // Range: 0x803F4C9C -> 0x803F4CF0 void UIManager::ToggleLoadTimes(class UIManager * const this /* r31 */) { // References // -> const char * gNullStr; } static class Symbol _s; // size: 0x4, address: 0x80A51EDC static class Symbol _s; // size: 0x4, address: 0x80A51EE4 static class Symbol _s; // size: 0x4, address: 0x80A51EEC static class Symbol _s; // size: 0x4, address: 0x80A51EF4 static class Symbol _s; // size: 0x4, address: 0x80A51EFC static class Symbol _s; // size: 0x4, address: 0x80A51F04 static class Symbol _s; // size: 0x4, address: 0x80A51F0C static class Symbol _s; // size: 0x4, address: 0x80A51F14 static class Symbol _s; // size: 0x4, address: 0x80A51F1C static class Symbol _s; // size: 0x4, address: 0x80A51F24 static class Symbol _s; // size: 0x4, address: 0x80A51F2C static class Symbol _s; // size: 0x4, address: 0x80A51F34 static class Symbol _s; // size: 0x4, address: 0x80A51F3C static class Symbol _s; // size: 0x4, address: 0x80A51F44 static class Symbol _s; // size: 0x4, address: 0x80A51F4C // Range: 0x803F4CF0 -> 0x803F56E8 class DataNode UIManager::Handle(class UIManager * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x60 class DataNode _n; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } class KeyboardKeyMsg : public Message { // total size: 0x8 }; // Range: 0x803F56E8 -> 0x803F585C class DataNode UIManager::OnGotoScreen(class UIManager * const this /* r28 */, const class DataArray * a /* r29 */) { // Local variables class UIScreen * scr; // r30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8UIScreen; } // Range: 0x803F585C -> 0x803F5B1C class DataNode UIManager::ForeachScreen(class UIManager * const this /* r29 */, const class DataArray * a /* r30 */) { // Local variables class DataNode * var; // r31 class DataNode tmp; // r1+0x68 class list screens; // r1+0x60 struct _List_iterator s; // r1+0x3C int j; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x54 } __vt__9Automator; // size: 0x54, address: 0x808E7C9C struct { // total size: 0x8 } __RTTI__9Automator; // size: 0x8, address: 0x808E7D10 struct { // total size: 0x54 } __vt__9UIManager; // size: 0x54, address: 0x808E7D18 struct { // total size: 0x8 } __RTTI__9UIManager; // size: 0x8, address: 0x808E7D90 class _List_node : public _List_node_base { // total size: 0x18 public: struct UIText _M_data; // offset 0x8, size 0x10 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct UIFont _M_data; // offset 0x8, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct UIMat _M_data; // offset 0x8, size 0x8 }; // Range: 0x803F5B1C -> 0x803F5B64 static void __sinit_\UI_cpp() { // References // -> class UIManager TheUI; } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F5B64 -> 0x803F5BB4 */ // Range: 0x803F5B64 -> 0x803F5BB4 class MsgSource * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9MsgSource; } /* Compile unit: C:\rockband2\system\src\ui\UI.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F5BB4 -> 0x803F5BC4 */ // Range: 0x803F5BB4 -> 0x803F5BBC class UIScreen * UIManager::CurrentScreen() {} // Range: 0x803F5BBC -> 0x803F5BC4 class UIScreen * UIManager::TransitionScreen() {} /* Compile unit: C:\rockband2\system\src\obj\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F5BC4 -> 0x803F5BE4 */ // Range: 0x803F5BC4 -> 0x803F5BE4 void * Message::Message() { // References // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F5BE4 -> 0x803F5CCC */ // Range: 0x803F5BE4 -> 0x803F5CCC struct _List_iterator __lower_bound() { // Local variables long __len; // r8 long __half; // r9 struct _List_iterator __middle; // r1+0x1C } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F5CCC -> 0x803F610C */ // Range: 0x803F5CCC -> 0x803F5D7C void UIManager::PopScreen(class UIManager * const this /* r30 */, class UIScreen * screen /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x803F5D7C -> 0x803F5E88 void UIManager::ResetScreen(class UIManager * const this /* r29 */, class UIScreen * screen /* r30 */) { // Local variables unsigned char notify; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803F5E88 -> 0x803F5F5C unsigned char UIManager::GetHomeMenuAllowed() { // Local variables int panelCount; // r5 int homeMenuAllowedCount; // r6 struct _List_iterator panelItr; // r1+0x18 class UIPanel * panel; // r3 // References // -> class Debug TheDebug; } // Range: 0x803F5F5C -> 0x803F610C void UIManager::InitResources(class UIManager * const this /* r31 */) { // Local variables class DataArray * data; // r30 class UIResource * classResource; // r29 class DataArray * types; // r28 int i; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std25_List_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F610C -> 0x803F616C */ // Range: 0x803F610C -> 0x803F6164 void * list::~list(class list * const this /* r30 */) {} // Range: 0x803F6164 -> 0x803F6168 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x803F6168 -> 0x803F616C class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\ui\Screen.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F616C -> 0x803F619C */ // Range: 0x803F616C -> 0x803F619C class Object * UIScreen::NewObject() {} /* Compile unit: C:\rockband2\system\src\ui\Panel.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F619C -> 0x803F61E0 */ // Range: 0x803F619C -> 0x803F61E0 class Object * UIPanel::NewObject() {} /* Compile unit: C:\rockband2\system\src\ui\PanelDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F61E0 -> 0x803F6254 */ // Range: 0x803F61E0 -> 0x803F6254 class Object * PanelDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Picture.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F6254 -> 0x803F62CC */ // Range: 0x803F6254 -> 0x803F62CC class Object * UIPicture::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Proxy.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F62CC -> 0x803F6344 */ // Range: 0x803F62CC -> 0x803F6344 class Object * UIProxy::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\Trigger.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F6344 -> 0x803F63A4 */ // Range: 0x803F6344 -> 0x803F63A4 class Object * UITrigger::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\ui\CheatProvider.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F63A4 -> 0x803F63E0 */ // Range: 0x803F63A4 -> 0x803F63E0 class Object * CheatProvider::NewObject() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F63E0 -> 0x803F6AE8 */ // Range: 0x803F63E0 -> 0x803F678C void _S_sort(class list & __that /* r28 */, struct Compare & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x803F678C -> 0x803F6860 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803F6860 -> 0x803F68E4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x803F68E4 -> 0x803F6968 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x803F6968 -> 0x803F69C8 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x803F69C8 -> 0x803F6A28 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x803F6A28 -> 0x803F6A88 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x803F6A88 -> 0x803F6AE8 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F6B10 -> 0x803F6E00 */ // Range: 0x803F6B10 -> 0x803F6D18 struct pair __equal_range(struct _List_iterator & __first /* r28 */, const class Symbol & __val /* r29 */, struct Compare & __comp /* r30 */) { // Local variables long __len; // r31 long __half; // r10 struct _List_iterator __middle; // r1+0x5C struct _List_iterator __left; // r1+0x58 struct _List_iterator __right; // r1+0x54 } // Range: 0x803F6D18 -> 0x803F6E00 struct _List_iterator __upper_bound() { // Local variables long __len; // r8 long __half; // r9 struct _List_iterator __middle; // r1+0x1C } /* Compile unit: C:\rockband2\system\src\os\Keyboard.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F6E00 -> 0x803F6E40 */ // Range: 0x803F6E00 -> 0x803F6E40 class Symbol KeyboardKeyMsg::Type() { // References // -> class Symbol t; } /* Compile unit: C:\rockband2\system\src\ui\UIResource.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F6E40 -> 0x803F792C */ // Range: 0x803F6E40 -> 0x803F6F34 void * UIResource::UIResource(class UIResource * const this /* r29 */, class DataArray * classData /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; // -> struct [anonymous] __vt__8FilePath; } struct TextCompare { // total size: 0x1 }; // Range: 0x803F6F34 -> 0x803F7030 void * UIResource::UIResource(class UIResource * const this /* r28 */, class DataArray * typeData /* r29 */, const class UIResource * classResource /* r30 */) { // References // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x803F7030 -> 0x803F7040 unsigned char UIResource::IsValid() { // References // -> class FilePath sNull; } // Range: 0x803F7040 -> 0x803F7088 class Symbol UIResource::ClassName() {} // Range: 0x803F7088 -> 0x803F753C void UIResource::Load(class UIResource * const this /* r30 */, unsigned char async /* r31 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct StateCompare { // total size: 0x1 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct StateCompare { // total size: 0x1 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std18_List_node<5UIMat>; // size: 0x8, address: 0x808E85D8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std19_List_node<6UIMesh>; // size: 0x8, address: 0x808E8608 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std19_List_node<6UIFont>; // size: 0x8, address: 0x808E8638 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std19_List_node<6UIText>; // size: 0x8, address: 0x808E8668 // Range: 0x803F753C -> 0x803F777C void UIResource::ForceRelease(class UIResource * const this /* r26 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x803F777C -> 0x803F792C class RndFont * UIResource::StateFont(class Symbol & state /* r31 */) { // Local variables struct UIText t; // r1+0x70 struct _List_iterator f; // r1+0x58 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIFont>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__7RndFont; // size: 0x8, address: 0x808E86D8 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F792C -> 0x803F7C08 */ // Range: 0x803F792C -> 0x803F79B0 void UIResource::Release(class UIResource * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803F7A28 -> 0x803F7B44 void UIResource::UpdateMeshes(class UIResource * const this /* r29 */, class Symbol & state /* r30 */) { // Local variables struct _List_iterator i; // r1+0x40 class list & mats; // r31 struct _List_iterator matIt; // r1+0x3C // References // -> class Debug TheDebug; } // Range: 0x803F7B44 -> 0x803F7C08 struct UIText & UIResource::FindTextTemplate(class UIResource * const this /* r31 */) { // Local variables struct _List_iterator t; // r1+0x2C // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F7C08 -> 0x803F8958 */ // Range: 0x803F7C08 -> 0x803F7C60 void * list::~list(class list * const this /* r30 */) {} // Range: 0x803F7C60 -> 0x803F7D68 void UIResource::Init(class UIResource * const this /* r28 */, class DataArray * data /* r30 */, const class UIResource * classResource /* r29 */) { // Local variables class DataArray * file; // r30 // References // -> struct [anonymous] __vt__8FilePath; // -> class FilePath sNull; } // Range: 0x803F7D68 -> 0x803F7DD0 class Symbol UIResource::MakeID() { // References // -> const char * gNullStr; } // Range: 0x803F7DD0 -> 0x803F8898 void UIResource::PostLoad(class UIResource * const this /* r27 */) { // Local variables class DataArray * meshes; // r30 int i; // r29 struct UIMesh uiMesh; // r1+0x108 int j; // r28 struct UIMat uiMat; // r1+0xF0 class DataArray * texts; // r28 int i; // r29 struct UIText uiText; // r1+0xF8 int j; // r30 struct UIFont uiFont; // r1+0xE8 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIText>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIFont>; // -> struct [anonymous] __RTTI__7RndFont; // -> struct [anonymous] __RTTI__7RndText; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIMesh>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node<5UIMat>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__6RndMat; // -> const char * gNullStr; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x803F8898 -> 0x803F889C class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x803F889C -> 0x803F88A0 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x803F88A0 -> 0x803F88F8 void * list::~list(class list * const this /* r30 */) {} // Range: 0x803F88F8 -> 0x803F88FC class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x803F88FC -> 0x803F8954 void * list::~list(class list * const this /* r30 */) {} // Range: 0x803F8954 -> 0x803F8958 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803F8958 -> 0x803FA270 */ // Range: 0x803F8958 -> 0x803F8D04 void _S_sort(class list & __that /* r28 */, struct TextCompare & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x803F8D04 -> 0x803F8DD0 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803F8DD0 -> 0x803F917C void _S_sort(class list & __that /* r28 */, struct StateCompare & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x803F917C -> 0x803F9248 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803F9248 -> 0x803F95F4 void _S_sort(class list & __that /* r28 */, struct StateCompare & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x803F95F4 -> 0x803F96C0 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x803F96C0 -> 0x803F9A34 class list & list::__as(class list * const this /* r30 */) { // Local variables struct _List_iterator __first1; // r1+0xA8 struct _List_iterator __last1; // r1+0xA4 struct _List_iterator __first2; // r1+0xA0 struct _List_iterator __last2; // r1+0x9C // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIFont>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIText>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803F9A34 -> 0x803F9D98 class list & list::__as(class list * const this /* r30 */) { // Local variables struct _List_iterator __first1; // r1+0xA8 struct _List_iterator __last1; // r1+0xA4 struct _List_iterator __first2; // r1+0xA0 struct _List_iterator __last2; // r1+0x9C // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node<5UIMat>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIMesh>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803F9D98 -> 0x803FA004 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6UIFont>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x803FA004 -> 0x803FA270 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x88 struct _List_iterator __last1; // r1+0x84 struct _List_iterator __first2; // r1+0x80 struct _List_iterator __last2; // r1+0x7C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node<5UIMat>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803FA270 -> 0x803FA51C */ // Range: 0x803FA270 -> 0x803FA354 struct _List_iterator __lower_bound() { // Local variables long __len; // r8 long __half; // r9 struct _List_iterator __middle; // r1+0x1C } // Range: 0x803FA354 -> 0x803FA438 struct _List_iterator __lower_bound() { // Local variables long __len; // r8 long __half; // r9 struct _List_iterator __middle; // r1+0x1C } // Range: 0x803FA438 -> 0x803FA51C struct _List_iterator __lower_bound() { // Local variables long __len; // r8 long __half; // r9 struct _List_iterator __middle; // r1+0x1C } /* Compile unit: C:\rockband2\system\src\ui\Utl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803FA51C -> 0x803FA664 */ // Range: 0x803FA51C -> 0x803FA61C int ScrollDirection(const class ButtonDownMsg & msg /* r26 */, class Symbol & controller_type /* r27 */, unsigned char vertical /* r28 */) { // Local variables enum JoypadAction action; // r0 enum JoypadAction back; // r0 enum JoypadAction next; // r0 // References // -> class UIManager TheUI; } // Range: 0x803FA61C -> 0x803FA644 int PageDirection() {} // Range: 0x803FA644 -> 0x803FA664 unsigned char IsNavAction() {} /* Compile unit: C:\rockband2\system\src\ui\Splash_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803FA664 -> 0x803FBF70 */ static float ANIM_FRAME_TIME_MS; // size: 0x4, address: 0x80A571A8 // Range: 0x803FA664 -> 0x803FA698 void * AllocateDiscErrorImage(int size /* r1+0x8 */) { // References // -> struct TPLPalette * gEjectErrorImg; } // Range: 0x803FA698 -> 0x803FA6CC void * AllocateDiscRetryImage(int size /* r1+0x8 */) { // References // -> struct TPLPalette * gRetryErrorImg; } // Range: 0x803FA6CC -> 0x803FA6FC void * AllocateMEM2(int size /* r1+0x8 */) {} // Range: 0x803FA6FC -> 0x803FA7C0 void * SplasherDiscErrorThread() { // Local variables class SplashWii * splasher; // r31 int retryCount; // r30 unsigned char discError; // r29 long status; // r28 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x803FA7C0 -> 0x803FA824 void * SplashWii::SplashWii(class SplashWii * const this /* r31 */) { // References // -> static float ANIM_FRAME_TIME_MS; } // Range: 0x803FA824 -> 0x803FA890 void * SplashWii::~SplashWii(class SplashWii * const this /* r30 */) {} // Range: 0x803FA890 -> 0x803FA91C void SplashWii::Init(class SplashWii * const this /* r30 */) { // Local variables unsigned int size; // r1+0x8 // References // -> class PlatformMgr ThePlatformMgr; // -> class WiiRnd TheWiiRnd; } // Range: 0x803FA91C -> 0x803FAAD0 void SplashWii::Show(class SplashWii * const this /* r31 */) { // Local variables unsigned char alpha; // r29 // References // -> class WiiRnd TheWiiRnd; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x803FAAD0 -> 0x803FAC70 void SplashWii::EndShow(class SplashWii * const this /* r31 */) { // Local variables unsigned char alpha; // r29 // References // -> class WiiRnd TheWiiRnd; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x803FAC70 -> 0x803FACB4 void SplashWii::ShowLoading(class SplashWii * const this /* r31 */) {} // Range: 0x803FACB4 -> 0x803FADB4 void SplashWii::EndShowLoading(class SplashWii * const this /* r30 */) { // References // -> class WiiRnd TheWiiRnd; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x803FADB4 -> 0x803FAEAC int SplashWii::PollWPAD(class SplashWii * const this /* r30 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x803FAEAC -> 0x803FAF0C void SplashWii::PollWPADThread() { // References // -> class PlatformMgr ThePlatformMgr; // -> enum quitType gPowerCallback; } // Range: 0x803FAF0C -> 0x803FAF8C void SplashWii::Draw(class SplashWii * const this /* r30 */) { // References // -> class WiiRnd TheWiiRnd; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x803FAF8C -> 0x803FB018 void SplashWii::DrawLoading(class SplashWii * const this /* r30 */) { // References // -> class WiiRnd TheWiiRnd; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x803FB018 -> 0x803FB080 void SplashWii::SuspendMainThread(class SplashWii * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x803FB080 -> 0x803FB0BC void SplashWii::InitPAD() {} // Range: 0x803FB0BC -> 0x803FB2C0 void SplashWii::InitSplasher(class SplashWii * const this /* r30 */) { // Local variables unsigned int size; // r1+0x8 unsigned char langType; // r0 } // Range: 0x803FB2C0 -> 0x803FB3C8 void SplashWii::InitDiscError(class SplashWii * const this /* r31 */) { // Local variables unsigned int size; // r1+0x8 char discErrorFileName[1024]; // r1+0x410 char discRetryFileName[1024]; // r1+0x10 // References // -> struct TPLPalette * gRetryErrorImg; // -> struct TPLPalette * gEjectErrorImg; } // Range: 0x803FB3C8 -> 0x803FB44C void SplashWii::LoadLoadingImage(class SplashWii * const this /* r31 */) { // Local variables unsigned int size; // r1+0x8 } // Range: 0x803FB44C -> 0x803FB71C void SplashWii::DrawSplasher(class SplashWii * const this /* r31 */, unsigned char alpha /* r29 */) { // Local variables struct _GXColor matColor; // r1+0x14 struct _GXColor ambColor; // r1+0x10 // References // -> class WiiRnd TheWiiRnd; } // Range: 0x803FB71C -> 0x803FBC04 void SplashWii::DrawLoadingAnimation(class SplashWii * const this /* r30 */) { // Local variables struct _GXColor matColor; // r1+0x14 struct _GXColor ambColor; // r1+0x10 struct TPLPalette * pal; // r0 int width; // r30 int height; // r28 struct TPLDescriptor * desc; // r0 float x; // f31 float y; // f30 // References // -> static float ANIM_FRAME_TIME_MS; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class WiiRnd TheWiiRnd; } // Range: 0x803FBC04 -> 0x803FBD50 void SplashWii::PollUntilScreenCanEnd(class SplashWii * const this /* r31 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x803FBD50 -> 0x803FBDC4 void SplashWii::StartDiscErrorThread(class SplashWii * const this /* r31 */) { // References // -> class WiiRnd TheWiiRnd; } // Range: 0x803FBDC4 -> 0x803FBE10 void SplashWii::EndDiscErrorThread() { // References // -> class WiiRnd TheWiiRnd; } // Range: 0x803FBE10 -> 0x803FBF70 void * SplashWii::LoadFile(class SplashWii * const this /* r28 */, unsigned int & size /* r30 */, void * (* memoryAlloc)(int) /* r29 */) { // Local variables struct DVDFileInfo fileInfo; // r1+0x8 void * buffer; // r31 long status; // r30 int retryCount; // r29 // References // -> class PlatformMgr ThePlatformMgr; } /* Compile unit: C:\rockband2\system\src\world\CameraManager.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803FBF70 -> 0x803FFF3C */ static class Rand sRand; // size: 0x410, address: 0x8097E580 static int sSeed; // size: 0x4, address: 0x80A51F50 class FreeCamera { // total size: 0x80 public: void * __vptr$; // offset 0x0, size 0x4 protected: class RndTransformable * mParent; // offset 0x4, size 0x4 class Vector3 mRot; // offset 0x10, size 0x10 class Transform mXfm; // offset 0x20, size 0x40 float mFov; // offset 0x60, size 0x4 unsigned char mFrozen; // offset 0x64, size 0x1 unsigned char mActive; // offset 0x65, size 0x1 int mController; // offset 0x68, size 0x4 float mRotateRate; // offset 0x6C, size 0x4 float mSlewRate; // offset 0x70, size 0x4 float mFocalPlane; // offset 0x74, size 0x4 unsigned char mUseParentRotateX; // offset 0x78, size 0x1 unsigned char mUseParentRotateY; // offset 0x79, size 0x1 unsigned char mUseParentRotateZ; // offset 0x7A, size 0x1 int mStateNum; // offset 0x7C, size 0x4 }; // Range: 0x803FBF70 -> 0x803FC0C4 void * CameraManager::CameraManager(class CameraManager * const this /* r28 */, class WorldDir * parent /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__27ObjPtr<7CamShot,9ObjectDir>; // -> struct [anonymous] __vt__13CameraManager; } class _Slist_node : public _Slist_node_base { // total size: 0x10 public: struct pair _M_data; // offset 0x4, size 0xC }; // Range: 0x803FC0C4 -> 0x803FC21C void * CameraManager::~CameraManager(class CameraManager * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7CamShot,9ObjectDir>; // -> struct [anonymous] __vt__13CameraManager; } struct _Ht_iterator { // total size: 0x4 class _Slist_iterator _M_ite; // offset 0x0, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x803FC21C -> 0x803FC8F8 void CameraManager::SyncObjects(class CameraManager * const this /* r30 */) { // Local variables class ObjDirItr shotItr; // r1+0xD4 struct _Ht_iterator it; // r1+0x98 int count; // r31 class CamShot * shots[1000]; // r1+0xE8 class list & cams; // r30 struct _List_iterator cam; // r1+0x94 int i; // r27 int which; // r0 int i; // r27 // References // -> static int sSeed; // -> static class Rand sRand; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; } class _List_node : public _List_node_base { // total size: 0xC public: class CamShot * _M_data; // offset 0x8, size 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std21_List_node; // size: 0x8, address: 0x808E88A8 static class Symbol flags_exact; // size: 0x4, address: 0x80A51F58 static class Symbol flags_any; // size: 0x4, address: 0x80A51F60 // Range: 0x803FC8F8 -> 0x803FCBEC unsigned char CameraManager::ShotMatches(class CamShot * shot /* r28 */, const class vector & filters /* r29 */) { // Local variables const struct PropertyFilter * it; // r30 class DataNode val; // r1+0x28 class Symbol p; // r1+0x10 class DataArray * matches; // r27 unsigned int j; // r26 // References // -> static class Symbol flags_any; // -> static class Symbol flags_exact; } static class Symbol flags_exact; // size: 0x4, address: 0x80A51F68 static class Symbol flags_any; // size: 0x4, address: 0x80A51F70 // Range: 0x803FCBEC -> 0x803FCEA0 class CamShot * CameraManager::PickCameraShot(class CameraManager * const this /* r29 */, class Symbol & category /* r27 */, const class vector & filters /* r28 */) { // Local variables class CamShot * shot; // r26 class String note; // r1+0x28 const struct PropertyFilter * it; // r29 // References // -> class Debug TheDebug; // -> static class Symbol flags_any; // -> static class Symbol flags_exact; } static class Message first_shot_ok; // size: 0x8, address: 0x8097E9A0 // Range: 0x803FCEA0 -> 0x803FD2A8 class CamShot * CameraManager::FindCameraShot(class CameraManager * const this /* r28 */, class Symbol & category /* r29 */, const class vector & filters /* r30 */) { // Local variables struct _List_iterator it; // r1+0x7C class CamShot * cam; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> class WorldDir * TheWorld; // -> static class Message first_shot_ok; // -> struct [anonymous] __vt__7Message; } static class Symbol flags_exact; // size: 0x4, address: 0x80A51F78 static class Symbol flags_any; // size: 0x4, address: 0x80A51F80 struct PropertyFilter { // total size: 0x14 class DataNode prop; // offset 0x0, size 0x8 class DataNode match; // offset 0x8, size 0x8 int mask; // offset 0x10, size 0x4 }; // Range: 0x803FD2A8 -> 0x803FD618 class Symbol CameraManager::MakeCategoryAndFilters(class DataArray * args /* r27 */, class vector & filterList /* r29 */) { // Local variables class Symbol cat; // r1+0x20 unsigned int i; // r30 struct PropertyFilter filt; // r1+0x38 // References // -> static class Symbol flags_any; // -> static class Symbol flags_exact; } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x803FD618 -> 0x803FD7A8 class DataNode CameraManager::OnPickCameraShot(class CameraManager * const this /* r31 */, class DataArray * args /* r30 */) { // Local variables class vector filterList; // r1+0x28 class Symbol cat; // r1+0x24 } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct PropertyFilter * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct PropertyFilter * _M_start; // offset 0x0, size 0x4 struct PropertyFilter * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x803FD7A8 -> 0x803FD938 class DataNode CameraManager::OnFindCameraShot(class CameraManager * const this /* r31 */, class DataArray * args /* r30 */) { // Local variables class vector filterList; // r1+0x28 class Symbol category; // r1+0x24 } // Range: 0x803FD938 -> 0x803FD9E4 void CameraManager::ForceCameraShot(class CameraManager * const this /* r30 */, class CamShot * shot /* r31 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x803FD9E4 -> 0x803FDAA4 void CameraManager::StartShot_(class CameraManager * const this /* r30 */, class CamShot * shot /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x803FDAA4 -> 0x803FE27C class DataNode CameraManager::OnCycleShot(class CameraManager * const this /* r31 */) { // Local variables class ObjDirItr shot; // r1+0x58 class ObjDirItr shot; // r1+0x44 class ObjDirItr first; // r1+0x30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; } // Range: 0x803FE27C -> 0x803FE2F8 unsigned char CameraManager::ToggleFreeCam(class CameraManager * const this /* r30 */, int controller /* r31 */) {} // Range: 0x803FE2F8 -> 0x803FE340 unsigned char CameraManager::FreeCamActive() {} // Range: 0x803FE340 -> 0x803FE388 void CameraManager::SetFreeCamParent(class CameraManager * const this /* r30 */, class RndTransformable * parent /* r31 */) {} // Range: 0x803FE388 -> 0x803FE3E4 void CameraManager::SetFreeCamPos(class CameraManager * const this /* r30 */, const class Vector3 & pos /* r31 */) {} // Range: 0x803FE3E4 -> 0x803FE440 void CameraManager::SetFreeCamRot(class CameraManager * const this /* r30 */, const class Vector3 & rot /* r31 */) {} // Range: 0x803FE440 -> 0x803FE4C4 void CameraManager::SetFreeCamParentDof(class CameraManager * const this /* r28 */, int x /* r29 */, int y /* r30 */, int z /* r31 */) {} // Range: 0x803FE4C4 -> 0x803FE528 void CameraManager::StartNextShot(class CameraManager * const this /* r31 */) {} static class Symbol shot; // size: 0x4, address: 0x80A51F88 static class Symbol category; // size: 0x4, address: 0x80A51F90 // Range: 0x803FE528 -> 0x803FE614 void CameraManager::Poll(class CameraManager * const this /* r31 */) { // Local variables float time; // f0 float dur; // f31 // References // -> class TaskMgr TheTaskMgr; // -> static class Symbol category; // -> static class Symbol shot; } static class Symbol _s; // size: 0x4, address: 0x80A51F98 static class Symbol _s; // size: 0x4, address: 0x80A51FA0 static class Symbol _s; // size: 0x4, address: 0x80A51FA8 static class Symbol _s; // size: 0x4, address: 0x80A51FB0 static class Symbol _s; // size: 0x4, address: 0x80A51FB8 static class Symbol _s; // size: 0x4, address: 0x80A51FC0 static class Symbol _s; // size: 0x4, address: 0x80A51FC8 static class Symbol _s; // size: 0x4, address: 0x80A51FD0 static class Symbol _s; // size: 0x4, address: 0x80A51FD8 static class Symbol _s; // size: 0x4, address: 0x80A51FE0 static class Symbol _s; // size: 0x4, address: 0x80A51FE8 static class Symbol _s; // size: 0x4, address: 0x80A51FF0 static class Symbol _s; // size: 0x4, address: 0x80A51FF8 static class Symbol _s; // size: 0x4, address: 0x80A52000 static class Symbol _s; // size: 0x4, address: 0x80A52008 static class Symbol _s; // size: 0x4, address: 0x80A52010 static class Symbol _s; // size: 0x4, address: 0x80A52018 // Range: 0x803FE614 -> 0x803FFC08 class DataNode CameraManager::Handle(class CameraManager * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x68 class MessageTimer _mt; // r1+0xD0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__7CamShot; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__13CameraManager; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> unsigned char sActive; } // Range: 0x803FFC08 -> 0x803FFC80 class DataNode CameraManager::OnGetFreeCamState(class CameraManager * const this /* r31 */) {} // Range: 0x803FFC80 -> 0x803FFCC4 class DataNode CameraManager::OnNextFreeCamState() {} // Range: 0x803FFCC4 -> 0x803FFD00 class DataNode CameraManager::OnResyncCategories() {} // Range: 0x803FFD00 -> 0x803FFD58 class DataNode CameraManager::OnRandomSeed(class DataArray * msg /* r31 */) { // References // -> static int sSeed; } // Range: 0x803FFD58 -> 0x803FFF2C class DataNode CameraManager::OnIterateShot(class CameraManager * const this /* r27 */, class DataArray * msg /* r29 */) { // Local variables class DataNode * var; // r31 class DataNode val; // r1+0x40 struct _Ht_iterator it; // r1+0x28 class list & cams; // r30 struct _List_iterator cam; // r1+0x24 class CamShot * shot; // r3 int j; // r27 } struct { // total size: 0x10 } __vt__13CameraManager; // size: 0x10, address: 0x808E8A58 struct { // total size: 0x8 } __RTTI__13CameraManager; // size: 0x8, address: 0x808E8A78 struct { // total size: 0x18 } __vt__27ObjPtr<7CamShot,9ObjectDir>; // size: 0x18, address: 0x808E8A80 struct { // total size: 0x8 } __RTTI__27ObjPtr<7CamShot,9ObjectDir>; // size: 0x8, address: 0x808E8AC0 unsigned long _list[28]; // size: 0x70, address: 0x80848F38 class _Stl_prime { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PPQ29stlp_priv16_Slist_node_base; // size: 0x8, address: 0x808E8C20 struct { // total size: 0x8 } __RTTI__PQ213CameraManager14PropertyFilter; // size: 0x8, address: 0x808E8C48 struct _OKToMemCpy { // total size: 0x1 }; struct pair { // total size: 0x8 struct _Ht_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct _Slist_iterator_base { // total size: 0x4 struct _Slist_node_base * _M_node; // offset 0x0, size 0x4 }; class _Slist_iterator : public _Slist_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ29stlp_priv118_Slist_node>>>; // size: 0x8, address: 0x808E8CD0 class _Sl_global { // total size: 0x1 }; // Range: 0x803FFF2C -> 0x803FFF3C static void __sinit_\CameraManager_cpp() { // References // -> static class Rand sRand; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_slist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803FFF3C -> 0x803FFF44 */ // Range: 0x803FFF3C -> 0x803FFF40 class StlNodeAlloc slist::get_allocator() {} // Range: 0x803FFF40 -> 0x803FFF44 class StlNodeAlloc _Slist_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803FFF44 -> 0x803FFF48 */ // Range: 0x803FFF44 -> 0x803FFF48 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x803FFF48 -> 0x80400068 */ // Range: 0x803FFF48 -> 0x803FFFBC void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7CamShot,9ObjectDir>; } // Range: 0x803FFFBC -> 0x803FFFC4 class Object * ObjPtr::RefOwner() {} // Range: 0x803FFFC4 -> 0x80400068 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80400068 -> 0x8040006C */ // Range: 0x80400068 -> 0x8040006C class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040006C -> 0x804000CC */ // Range: 0x8040006C -> 0x804000CC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_hashtable.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804000CC -> 0x80400A9C */ // Range: 0x804000CC -> 0x80400144 unsigned long _Stl_prime::_S_next_size(unsigned long __n /* r1+0x8 */) { // Local variables const unsigned long * __last; // r30 const unsigned long * pos; // r0 // References // -> unsigned long _list[28]; } // Range: 0x80400144 -> 0x804001B0 void hashtable::clear(class hashtable * const this /* r30 */) {} // Range: 0x804001B0 -> 0x80400208 struct pair & hashtable::_M_insert(class hashtable * const this /* r30 */, const struct pair & __obj /* r31 */) {} // Range: 0x80400208 -> 0x80400234 void _Vector_base::_M_throw_length_error() {} // Range: 0x80400234 -> 0x80400478 struct pair hashtable::insert_unique_noresize(class hashtable * const this /* r29 */, const struct pair & __obj /* r30 */) { // Local variables class _Slist_iterator __cur; // r1+0x58 class _Slist_iterator __last; // r1+0x54 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29stlp_priv118_Slist_node>>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80400478 -> 0x80400578 void hashtable::resize(class hashtable * const this /* r31 */, unsigned long __num_elements_hint /* r1+0x8 */) { // Local variables unsigned long __num_buckets_hint; // r0 unsigned long __num_buckets; // r0 } // Range: 0x80400578 -> 0x80400744 struct _Ht_iterator hashtable::_M_insert_noresize(class hashtable * const this /* r29 */, unsigned long __n /* r30 */, const struct pair & __obj /* r26 */) { // Local variables unsigned long __prev; // r1+0x44 class _Slist_iterator __pos; // r1+0x40 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29stlp_priv118_Slist_node>>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80400744 -> 0x804009D0 void hashtable::_M_rehash(class hashtable * const this /* r29 */, unsigned long __num_buckets /* r30 */) { // Local variables class slist __tmp_elems; // r1+0x50 class vector __tmp; // r1+0x54 class _Slist_iterator __cur; // r1+0x4C unsigned long __new_bucket; // r0 unsigned long __prev_bucket; // r31 class _Slist_iterator __prev; // r1+0x48 class _Slist_iterator __pos; // r1+0x44 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ29stlp_priv16_Slist_node_base; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804009D0 -> 0x80400A9C struct _Ht_iterator hashtable::_M_before_begin() { // Local variables class slist & __mutable_elems; // r7 struct _Slist_node_base * const * __bpos; // r8 class _Slist_iterator __pos; // r1+0x24 struct _Slist_node_base * const * __bcur; // r7 struct _Slist_node_base * __pos_node; // r0 class _Slist_iterator __cur; // r1+0x20 class _Slist_iterator __prev; // r1+0x1C } /* Compile unit: C:\rockband2\system\src\stlport\stl\_slist.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80400A9C -> 0x80400B2C */ // Range: 0x80400A9C -> 0x80400B2C struct _Slist_node_base * _Slist_base::_M_erase_after(struct _Slist_node_base * __before_first /* r28 */, struct _Slist_node_base * __last_node /* r29 */) { // Local variables struct _Slist_node_base * __cur; // r31 class _Slist_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80400B2C -> 0x804013BC */ // Range: 0x80400B2C -> 0x80400C74 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables struct _Slist_node_base * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ29stlp_priv16_Slist_node_base; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80400C74 -> 0x80400E80 void vector::_M_fill_assign(class vector * const this /* r30 */, unsigned long __n /* r31 */, struct _Slist_node_base * const & __val /* r28 */) { // Local variables class vector __tmp; // r1+0x28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ29stlp_priv16_Slist_node_base; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80400E80 -> 0x80401148 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct PropertyFilter * __pos /* r26 */, const struct PropertyFilter & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r29 struct PropertyFilter * __new_finish; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213CameraManager14PropertyFilter; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80401148 -> 0x80401390 void vector::reserve(class vector * const this /* r27 */, unsigned long __n /* r28 */) { // Local variables struct PropertyFilter * __tmp; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213CameraManager14PropertyFilter; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80401390 -> 0x804013BC void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804013BC -> 0x804013D0 */ // Range: 0x804013BC -> 0x804013D0 struct less __less() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804013D0 -> 0x8040141C */ // Range: 0x804013D0 -> 0x8040141C unsigned long * __lower_bound() { // Local variables long __len; // r6 long __half; // r7 const unsigned long * __middle; // r8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040141C -> 0x80401434 */ // Range: 0x8040141C -> 0x80401434 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_slist_base.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80401434 -> 0x80401460 */ // Range: 0x80401434 -> 0x80401460 void _Sl_global::__splice_after() { // Local variables struct _Slist_node_base * __first; // r6 struct _Slist_node_base * __after; // r7 } /* Compile unit: C:\rockband2\system\src\world\CameraShot.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80401460 -> 0x8040B1D0 */ class DataArray * types; // size: 0x4, address: 0x80A52020 class Symbol name; // size: 0x4, address: 0x80A52028 class CamShot * sCurrent; // size: 0x4, address: 0x80A5202C static class Symbol _s; // size: 0x4, address: 0x80A52034 static class Symbol _s; // size: 0x4, address: 0x80A5203C // Range: 0x80401460 -> 0x804016D8 unsigned char PropSync(class ShotTarget & _me /* r30 */, class DataNode & _val /* r31 */, class DataArray * _prop /* r28 */, enum PropOp _op /* r29 */) { // References // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A52044 static class Symbol _s; // size: 0x4, address: 0x80A5204C static class Symbol _s; // size: 0x4, address: 0x80A52054 static class Symbol _s; // size: 0x4, address: 0x80A5205C static class Symbol _s; // size: 0x4, address: 0x80A52064 static class Symbol _s; // size: 0x4, address: 0x80A5206C static class Symbol _s; // size: 0x4, address: 0x80A52074 static class Symbol _s; // size: 0x4, address: 0x80A5207C static class Symbol _s; // size: 0x4, address: 0x80A52084 static class Symbol _s; // size: 0x4, address: 0x80A5208C static class Symbol _s; // size: 0x4, address: 0x80A52094 static class Symbol _s; // size: 0x4, address: 0x80A5209C static class Symbol _s; // size: 0x4, address: 0x80A520A4 static class Symbol _s; // size: 0x4, address: 0x80A520AC static class Symbol _s; // size: 0x4, address: 0x80A520B4 static class Symbol _s; // size: 0x4, address: 0x80A520BC static class Symbol _s; // size: 0x4, address: 0x80A520C4 static class Symbol _s; // size: 0x4, address: 0x80A520CC // Range: 0x804016D8 -> 0x804023F4 unsigned char PropSync(class CamShotFrame & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A520D4 static class Symbol _s; // size: 0x4, address: 0x80A520DC static class Symbol _s; // size: 0x4, address: 0x80A520E4 static class Symbol _s; // size: 0x4, address: 0x80A520EC static class Symbol _s; // size: 0x4, address: 0x80A520F4 static class Symbol _s; // size: 0x4, address: 0x80A520FC static class Symbol _s; // size: 0x4, address: 0x80A52104 static class Symbol _s; // size: 0x4, address: 0x80A5210C static class Symbol _s; // size: 0x4, address: 0x80A52114 static class Symbol _s; // size: 0x4, address: 0x80A5211C static class Symbol _s; // size: 0x4, address: 0x80A52124 static class Symbol _s; // size: 0x4, address: 0x80A5212C static class Symbol _s; // size: 0x4, address: 0x80A52134 static class Symbol _s; // size: 0x4, address: 0x80A5213C static class Symbol _s; // size: 0x4, address: 0x80A52144 static class Symbol _s; // size: 0x4, address: 0x80A5214C static class Symbol _s; // size: 0x4, address: 0x80A52154 static class Symbol _s; // size: 0x4, address: 0x80A5215C static class Symbol _s; // size: 0x4, address: 0x80A52164 static class Symbol _s; // size: 0x4, address: 0x80A5216C static class Symbol _s; // size: 0x4, address: 0x80A52174 static class Symbol _s; // size: 0x4, address: 0x80A5217C static class Symbol _s; // size: 0x4, address: 0x80A52184 static class Symbol _s; // size: 0x4, address: 0x80A5218C // Range: 0x804023F4 -> 0x80403684 unsigned char CamShot::SyncProperty(class CamShot * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80403690 -> 0x804037F8 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804037F8 -> 0x80403EB0 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class RndDrawable * obj; // r31 class RndDrawable * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A52194 static class Symbol _s; // size: 0x4, address: 0x80A5219C static class Symbol _s; // size: 0x4, address: 0x80A521A4 static class Symbol _s; // size: 0x4, address: 0x80A521AC static class Symbol _s; // size: 0x4, address: 0x80A521B4 static class Symbol _s; // size: 0x4, address: 0x80A521BC static class Symbol _s; // size: 0x4, address: 0x80A521C4 static class Symbol _s; // size: 0x4, address: 0x80A521CC static class Symbol _s; // size: 0x4, address: 0x80A521D4 static class Symbol _s; // size: 0x4, address: 0x80A521DC // Range: 0x80403EB0 -> 0x80404D94 class DataNode CamShot::Handle(class CamShot * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 class DataNode _n; // r1+0x50 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80404D94 -> 0x80404DD8 void * ShotTarget::ShotTarget() { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80404DD8 -> 0x80404E54 void * ShotTarget::~ShotTarget(class ShotTarget * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80404E54 -> 0x80404F1C void ShotTarget::SetPart(class ShotTarget * const this /* r30 */, class RndTransformable * subpart /* r31 */) { // Local variables class RndTransformable * parent; // r0 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80404F1C -> 0x80404F3C class RndTransformable * ShotTarget::GetPart() { // References // -> const char * gNullStr; } // Range: 0x80404F3C -> 0x80405090 class RndTransformable * ShotTarget::Resolve(const class ShotTarget * const this /* r28 */) { // Local variables class ObjectDir * targetDir; // r29 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9ObjectDir; // -> const char * gNullStr; } // Range: 0x80405090 -> 0x80405248 void ShotTarget::Load(class ShotTarget * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x8 // References // -> struct [anonymous] __RTTI__7CamShot; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; } // Range: 0x80405248 -> 0x80405574 void * CamShot::CamShot(class CamShot * const this /* r31 */) { // References // -> struct [anonymous] __vt__29ObjPtr<9Spotlight,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10WorldCrowd,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__7CamShot; } // Range: 0x80405574 -> 0x80406084 void * CamShot::~CamShot(class CamShot * const this /* r29 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10WorldCrowd,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9Spotlight,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> class CamShot * sCurrent; } // Range: 0x80406084 -> 0x804060DC void CamShot::Init() { // References // -> class Symbol name; } static class Object * camShotTarget; // size: 0x4, address: 0x80A521E0 // Range: 0x804060DC -> 0x80406184 class Object * CamShot::AnimTarget() { // References // -> static class Object * camShotTarget; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol name; } static class Timer * _t; // size: 0x4, address: 0x80A521E8 static class Message msg; // size: 0x8, address: 0x8097E9C0 // Range: 0x80406184 -> 0x80406460 void CamShot::StartAnim(class CamShot * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0x14 class WorldDir * dir; // r30 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8WorldDir; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class CamShot * sCurrent; // -> static class Timer * _t; } static class Message msg; // size: 0x8, address: 0x8097E9D8 // Range: 0x80406460 -> 0x804065D4 void CamShot::EndAnim(class CamShot * const this /* r31 */) { // References // -> class CamShot * sCurrent; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x804065D4 -> 0x80406B6C void CamShot::DoHide(class CamShot * const this /* r30 */) { // Local variables class iterator i; // r1+0x3C class iterator i; // r1+0x38 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80406B6C -> 0x80406ED0 void CamShot::UnHide(class CamShot * const this /* r30 */) { // Local variables class iterator i; // r1+0x2C class iterator i; // r1+0x28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80406ED0 -> 0x80406F94 void CamShot::Set3DCrowd(class CamShot * const this /* r7 */) {} static class DebugWarner _dw; // size: 0x100, address: 0x8097E9E0 static class DebugWarner _dw; // size: 0x100, address: 0x8097EAE0 static class DebugWarner _dw; // size: 0x100, address: 0x8097EBE0 // Range: 0x80406F94 -> 0x80407144 class RndCam * CamShot::GetCam(class CamShot * const this /* r28 */) { // Local variables class RndCam * cam; // r29 class PanelDir * dir; // r0 // References // -> static class DebugWarner _dw; // -> static class DebugWarner _dw; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__8PanelDir; // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> class WorldDir * TheWorld; } static class Timer * _t; // size: 0x4, address: 0x80A521F0 static class CamShotFrame nullFrame; // size: 0x120, address: 0x8097ECF0 static class Message msg; // size: 0x8, address: 0x8097EE20 static class Message msg; // size: 0x8, address: 0x8097EE38 // Range: 0x80407144 -> 0x804076CC void CamShot::SetFrame(class CamShot * const this /* r29 */, float frame /* f30 */, float blend /* f31 */) { // Local variables class AutoTimer _at; // r1+0x28 class RndCam * cam; // r28 float keyBlend; // r1+0x24 class CamShotFrame * prev; // r1+0x20 class CamShotFrame * next; // r1+0x1C // References // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class CamShotFrame nullFrame; // -> static class Timer * _t; } // Range: 0x804076CC -> 0x80407C6C void CamShot::Shake(class CamShot * const this /* r28 */, float freq /* f29 */, float amp /* f31 */, const class Vector2 & ang /* r31 */, class Vector3 & output /* r29 */, class Vector3 & eulerOutput /* r30 */) { // Local variables class Vector2 maxAng; // r1+0x10 float ang; // f30 float mag; // f29 float c; // f2 float len; // f7 class Vector3 diff; // r1+0x40 float kFPS; // f0 float kDeltaTime; // f0 float kAdjustTime; // f31 class Vector3 shakeVel; // r1+0x30 float kAdjustedVelocityDamper; // f0 class Vector3 shakeAngVel; // r1+0x20 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80407C6C -> 0x804080B0 void CamShot::GetKey(class CamShot * const this /* r25 */, float frame /* f31 */, class CamShotFrame * & prev /* r26 */, class CamShotFrame * & next /* r27 */, float & keyBlend /* r28 */) { // Local variables float duration; // f30 float fadeStart; // f30 int before; // r30 int after; // r29 int between; // r6 float f; // f0 float fadeStart; // f30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804080B0 -> 0x80408110 void CamShot::CacheFrames() { // Local variables float frame; // f2 unsigned int i; // r6 } // Range: 0x80408110 -> 0x80408180 class DataNode CamShot::OnHasTargets(class CamShot * const this /* r30 */, class DataArray * args /* r31 */) {} // Range: 0x80408180 -> 0x804081F4 class DataNode CamShot::OnSetPos(class CamShot * const this /* r30 */, class DataArray * args /* r31 */) {} // Range: 0x804081F4 -> 0x804086AC unsigned char CamShot::SetPos(class CamShot * const this /* r29 */, class CamShotFrame & frame /* r30 */) { // Local variables class RndCam * camera; // r31 class Vector3 targetPos; // r1+0x70 class Vector3 objOffset; // r1+0x60 class Vector3 centerOffset; // r1+0x50 float dot; // f0 class Vector3 centerPt; // r1+0x40 class Vector3 pan; // r1+0x30 class RndTransformable * parent; // r31 class Transform parentToWorld; // r1+0x100 class Transform worldToParent; // r1+0xC0 class Transform pathXfm; // r1+0x80 } // Range: 0x804086AC -> 0x804086FC unsigned char CamShot::PlatformOk() { // Local variables enum Platform p; // r3 // References // -> class LoadMgr TheLoadMgr; } static class Message msg; // size: 0x8, address: 0x8097EE50 // Range: 0x804086FC -> 0x80408B10 unsigned char CamShot::ShotOk(class CamShot * const this /* r29 */, class CamShot * prevShot /* r30 */) { // Local variables class DataNode result; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } // Range: 0x80408B10 -> 0x80408CF4 void CamShot::Copy(class CamShot * const this /* r28 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class CamShot * c; // r0 unsigned int i; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; } // Range: 0x80408CF4 -> 0x80408D38 void CamShot::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A521FC // Range: 0x80408D38 -> 0x80409938 void CamShot::Load(class CamShot * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables unsigned char wasHidden; // r30 float weight; // r1+0x64 int platformBan; // r1+0x60 int modifyStamp; // r1+0x5C float p; // r1+0x58 float i; // r1+0x54 float dgain; // r1+0x50 float freq; // r1+0x4C float amp; // r1+0x48 unsigned int i; // r6 class Vector2 ang; // r1+0x68 unsigned int i; // r5 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x80409938 -> 0x80409A18 void CamShot::OnCrowdChanged(class CamShot * const this /* r31 */) { // References // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } // Range: 0x80409A18 -> 0x80409B24 class DataNode CamShot::OnClearCrowdChars() { // References // -> class Debug TheDebug; } class list : public _List_base { // total size: 0x8 }; // Range: 0x80409B24 -> 0x80409BE0 class DataNode CamShot::OnSetCrowdChars(class CamShot * const this /* r31 */) { // Local variables class list chars; // r1+0x20 } class StlNodeAlloc { // total size: 0x1 }; struct pair { // total size: 0x8 class RndMultiMesh * first; // offset 0x0, size 0x4 struct _List_iterator second; // offset 0x4, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct pair _M_data; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; // Range: 0x80409BE0 -> 0x80409C6C class DataNode CamShot::OnAddCrowdChars(class CamShot * const this /* r29 */) { // Local variables class list chars; // r1+0x18 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80409C6C -> 0x80409DB8 void CamShot::GetSelectedCrowd(class list & out /* r31 */) { // Local variables struct _List_iterator i; // r1+0x24 class RndMultiMeshProxy * proxy; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std141_List_node>>>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class list sProxyPool; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std141_List_node>>>; // size: 0x8, address: 0x808E9370 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80409DB8 -> 0x80409ED4 void * CamShotFrame::CamShotFrame(class CamShotFrame * const this /* r29 */, class Object * owner /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; } // Range: 0x80409ED4 -> 0x8040A174 void * CamShotFrame::CamShotFrame(class CamShotFrame * const this /* r29 */, class Object * owner /* r30 */, const class CamShotFrame & rhs /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10ShotTarget; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__P10ShotTarget; // size: 0x8, address: 0x808E93C8 // Range: 0x8040A174 -> 0x8040A454 void CamShotFrame::Load(class CamShotFrame * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables float far; // r1+0x10 float maxFocalBlur; // r1+0xC // References // -> static int gRev; } // Range: 0x8040A454 -> 0x8040A50C unsigned char CamShotFrame::OnSyncTargets(class CamShotFrame * const this /* r26 */, class ObjVector & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r31 */, enum PropOp _op /* r30 */) { // Local variables unsigned char b; // r31 } // Range: 0x8040A50C -> 0x8040A5B4 unsigned char CamShotFrame::OnSyncParent(class CamShotFrame * const this /* r26 */, class ShotTarget & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r31 */, enum PropOp _op /* r30 */) { // Local variables unsigned char b; // r31 } // Range: 0x8040A5B4 -> 0x8040A66C unsigned char CamShotFrame::SameTargets() { // Local variables unsigned int i; // r11 unsigned int j; // r12 } class ATanInterpolator : public Interpolator { // total size: 0x3C protected: class LinearInterpolator mXMapping; // offset 0x14, size 0x1C float mScale; // offset 0x30, size 0x4 float mOffset; // offset 0x34, size 0x4 float mSeverity; // offset 0x38, size 0x4 }; // Range: 0x8040A66C -> 0x8040A748 void CamShotFrame::UpdateTarget(const class CamShotFrame * const this /* r30 */) { // Local variables class RndTransformable * parent; // r31 } // Range: 0x8040A748 -> 0x8040A890 void CamShotFrame::GetCurrentTargetPosition(const class CamShotFrame * const this /* r27 */, class Vector3 & out /* r28 */) { // Local variables int numTargets; // r31 int i; // r30 class RndTransformable * target; // r29 } // Range: 0x8040A890 -> 0x8040A908 unsigned char CamShotFrame::HasTargets(const class CamShotFrame * const this /* r30 */) { // Local variables int i; // r31 class RndTransformable * target; // r0 } // Range: 0x8040A908 -> 0x8040B1C8 void CamShotFrame::BuildTransform(const class CamShotFrame * const this /* r27 */, class RndCam * camera /* r28 */, class Transform & position /* r29 */, unsigned char applyScreenOffset /* r30 */) { // Local variables class RndTransformable * parent; // r31 class Vector3 targetPos; // r1+0x30 class Vector2 targetScreenPos; // r1+0x18 float filter; // f31 float iframe; // f30 class LinearInterpolator interp; // r1+0x40 class ATanInterpolator interp; // r1+0xA0 class Transform parentPos; // r1+0x60 class RndTransformable * target; // r26 float height; // f1 float targetDist; // f0 class Vector3 v; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8040B1C8 -> 0x8040B1CC void CamShot::GenHideList() {} // Range: 0x8040B1CC -> 0x8040B1D0 void CamShot::ClearHideList() {} struct { // total size: 0xA0 } __vt__7CamShot; // size: 0xA0, address: 0x808E94F8 struct { // total size: 0x18 } __vt__29ObjPtr<9Spotlight,9ObjectDir>; // size: 0x18, address: 0x808E95C8 struct { // total size: 0x8 } __RTTI__29ObjPtr<9Spotlight,9ObjectDir>; // size: 0x8, address: 0x808E9610 struct { // total size: 0x18 } __vt__31ObjPtr<10WorldCrowd,9ObjectDir>; // size: 0x18, address: 0x808E9618 struct { // total size: 0x8 } __RTTI__31ObjPtr<10WorldCrowd,9ObjectDir>; // size: 0x8, address: 0x808E9660 struct { // total size: 0x8 } __RTTI__9Spotlight; // size: 0x8, address: 0x808E96F8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std9pair; // size: 0x8, address: 0x808E9A40 struct { // total size: 0x8 } __RTTI__P12CamShotFrame; // size: 0x8, address: 0x808E9A58 class RndMultiMeshProxy : public RndTransformable, public RndDrawable { // total size: 0x140 protected: class ObjPtr mMultiMesh; // offset 0xF4, size 0xC struct _List_iterator mIndex; // offset 0x100, size 0x4 }; struct pair { // total size: 0x8 class RndMultiMeshProxy * first; // offset 0x0, size 0x4 int second; // offset 0x4, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct pair _M_data; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040B1D0 -> 0x8040BE78 */ // Range: 0x8040B1D0 -> 0x8040B338 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8040B338 -> 0x8040B494 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8040B494 -> 0x8040BC14 unsigned char PropSync(class ObjVector & v /* r27 */, class DataNode & n /* r29 */, class DataArray * prop /* r25 */, int i /* r24 */, enum PropOp op /* r23 */) { // Local variables class CamShotFrame * it; // r28 class CamShotFrame tmp; // r1+0x80 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8040BC14 -> 0x8040BE78 unsigned char PropSync(class ObjVector & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r30 */, int i /* r29 */, enum PropOp op /* r28 */) { // Local variables class ShotTarget * it; // r27 class ShotTarget tmp; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040BE78 -> 0x8040C624 */ // Range: 0x8040BE78 -> 0x8040BEA0 unsigned long vector::size() {} // Range: 0x8040BFA0 -> 0x8040C48C void vector::clear(class vector * const this /* r27 */) {} // Range: 0x8040C48C -> 0x8040C49C class CamShotFrame & vector::__vc() {} // Range: 0x8040C49C -> 0x8040C4A0 class StlNodeAlloc vector::get_allocator() {} // Range: 0x8040C4A0 -> 0x8040C4C8 unsigned char vector::_M_is_inside() {} // Range: 0x8040C4C8 -> 0x8040C614 void vector::_M_clear_after_move(class vector * const this /* r30 */) {} // Range: 0x8040C614 -> 0x8040C624 void vector::_M_set() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040C624 -> 0x8040D0AC */ // Range: 0x8040C624 -> 0x8040C998 void CamShot::AddCrowdChars(class CamShot * const this /* r27 */, const class list & chars /* r28 */) { // Local variables float oldFullness; // f31 struct _List_iterator i; // r1+0x8C class RndMultiMesh * mmesh; // r3 const struct _List_iterator & mmeshit; // r0 unsigned int ji; // r30 struct _List_iterator j; // r1+0x88 unsigned int ki; // r29 struct _List_iterator k; // r1+0x84 struct pair pair; // r1+0x90 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x8040C998 -> 0x8040CA1C float CamShot::GetDurationSeconds(const class CamShot * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8040CA1C -> 0x8040D088 void CamShotFrame::Interp(class CamShotFrame * const this /* r29 */, const class CamShotFrame & towards /* r30 */, float interp /* f30 */, float blend /* f31 */, class RndCam * camera /* r31 */) { // Local variables class ATanInterpolator interper; // r1+0x1E0 float fov; // f28 unsigned char hasTarget; // r0 unsigned char thasTarget; // r0 unsigned char sameTargets; // r0 class Transform currentPos; // r1+0x1A0 class Transform newPos; // r1+0x160 class Transform interpPos; // r1+0x120 class Transform lookAtCurrent; // r1+0xE0 class Transform lookAtNew; // r1+0xA0 class Vector2 screenOffset; // r1+0x38 float interpTargetDist; // r1+0x2C class Vector3 v; // r1+0x60 float zoomFOV; // r1+0x28 class RndTransformable * focus; // r24 class RndTransformable * towardFocus; // r28 float blurDepth; // r1+0x24 float focal; // r1+0x20 float maxBlur; // r1+0x1C float minBlur; // r1+0x18 float dist; // f28 float towardsDist; // f29 float interpDist; // f0 float focalDist; // f1 float amp; // r1+0x14 float freq; // r1+0x10 class Vector2 ang; // r1+0x30 class Vector3 shake; // r1+0x50 class Vector3 shakeEuler; // r1+0x40 class Matrix3 matShake; // r1+0x70 // References // -> class DebugFailer TheDebugFailer; // -> const char * kAssertStr; } // Range: 0x8040D088 -> 0x8040D0AC class CamShotFrame * StlNodeAlloc::allocate() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12CamShotFrame; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040D0AC -> 0x8040EC38 */ // Range: 0x8040D0AC -> 0x8040D124 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10WorldCrowd,9ObjectDir>; } // Range: 0x8040D124 -> 0x8040D19C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__29ObjPtr<9Spotlight,9ObjectDir>; } // Range: 0x8040D19C -> 0x8040DB38 void ObjVector::push_back(class ObjVector * const this /* r24 */, const class CamShotFrame & x /* r25 */) {} // Range: 0x8040DB38 -> 0x8040DBA4 void ObjPtr::__as(class ObjPtr * const this /* r30 */) {} // Range: 0x8040DBA4 -> 0x8040DEF0 void ObjPtrList::__as(class ObjPtrList * const this /* r29 */, const class ObjPtrList & x /* r30 */) { // Local variables struct Node * to; // r28 struct Node * from; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8040DEF0 -> 0x8040DF64 void ObjPtr::__as(class ObjPtr * const this /* r30 */) {} // Range: 0x8040DF64 -> 0x8040DFD8 void ObjPtr::__as(class ObjPtr * const this /* r30 */) {} // Range: 0x8040DFD8 -> 0x8040E180 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x8040E180 -> 0x8040E328 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; } // Range: 0x8040E328 -> 0x8040E940 class BinStream & __rs(class BinStream & d /* r24 */, class ObjVector & c /* r25 */) { // Local variables unsigned int s; // r1+0x58 class CamShotFrame * t; // r22 } // Range: 0x8040E940 -> 0x8040EAC8 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ShotTarget * t; // r26 } // Range: 0x8040EAC8 -> 0x8040EAD0 class Object * ObjPtr::RefOwner() {} // Range: 0x8040EAD0 -> 0x8040EB80 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x8040EB80 -> 0x8040EB88 class Object * ObjPtr::RefOwner() {} // Range: 0x8040EB88 -> 0x8040EC38 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; } /* Compile unit: C:\rockband2\system\src\world\CameraShot.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040EC38 -> 0x8040EE84 */ // Range: 0x8040EC38 -> 0x8040ECAC class Object * CamShot::NewObject() { // References // -> class Symbol name; } // Range: 0x8040ECAC -> 0x8040ECF0 class Symbol CamShot::ClassName() { // References // -> class Symbol name; } // Range: 0x8040ECF0 -> 0x8040EE84 void CamShot::SetType(class CamShot * const this /* r29 */, class Symbol & CamShot /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\math\Vec.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040EE84 -> 0x8040EF1C */ // Range: 0x8040EE84 -> 0x8040EE88 void * Vector2::Vector2() {} // Range: 0x8040EE9C -> 0x8040EEF0 float Distance() { // Local variables float v0yz; // f0 float v1yz; // f1 float v0xy; // f0 float v1xy; // f1 float dyz; // f2 float dxy; // f0 float sqdist; // f1 float rdist; // f0 float nwork0; // f2 float nwork1; // f0 float c_half; // f3 float c_three; // f4 float c_zero; // f0 } // Range: 0x8040EEF0 -> 0x8040EF1C void Interp() {} /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040EF1C -> 0x8040EFF0 */ // Range: 0x8040EF1C -> 0x8040EFB0 void RndTransformable::SetLocalXfm() {} /* Compile unit: C:\rockband2\system\src\rndobj\Cam.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040EFF0 -> 0x8040F000 */ // Range: 0x8040EFF0 -> 0x8040EFF8 float RndCam::YFov() {} // Range: 0x8040EFF8 -> 0x8040F000 class Transform & RndCam::LocalProjectXfm() {} /* Compile unit: C:\rockband2\system\src\math\Mtx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040F000 -> 0x8040F200 */ // Range: 0x8040F000 -> 0x8040F1B4 void Transform::LookAt() {} // Range: 0x8040F1B4 -> 0x8040F200 void Multiply() { // Local variables float a_xy; // f0 float a_yz; // f1 float b_xy; // f2 float b_z1; // f3 float result_xy; // f4 float result_zz; // f5 } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040F200 -> 0x8040F380 */ // Range: 0x8040F200 -> 0x8040F330 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct pair * t; // r29 } // Range: 0x8040F330 -> 0x8040F380 class BinStream & __rs(class BinStream & d /* r30 */, struct pair & c /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040F380 -> 0x8040F540 */ // Range: 0x8040F380 -> 0x8040F540 struct pair * find() {} /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040F540 -> 0x8040F55C */ // Range: 0x8040F540 -> 0x8040F54C float Interp() {} // Range: 0x8040F54C -> 0x8040F55C void Interp() {} /* Compile unit: C:\rockband2\system\src\world\DOFProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040F55C -> 0x8040F600 */ // Range: 0x8040F55C -> 0x8040F5CC void DOFProc::SetDepthOfField(class RndCam * cam /* r31 */, float focalPlane /* f28 */, float blurDepth /* f29 */, float maxBlur /* f30 */, float minBlur /* f31 */) {} // Range: 0x8040F5CC -> 0x8040F5D0 void DOFProc::Set() {} // Range: 0x8040F5D0 -> 0x8040F600 void DOFProc::UnSetDepthOfField() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040F600 -> 0x8040F660 */ // Range: 0x8040F600 -> 0x8040F660 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8040F660 -> 0x80410B0C */ // Range: 0x8040F660 -> 0x8040F6C8 class CamShotFrame * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8040F6C8 -> 0x8040F748 void vector::_M_fill_insert() {} // Range: 0x8040F748 -> 0x8040FAB8 class vector & vector::__as(class vector * const this /* r27 */, const class vector & __x /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10ShotTarget; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8040FAB8 -> 0x8040FB10 class ShotTarget * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8040FB10 -> 0x8040FB80 void vector::_M_fill_insert() {} // Range: 0x8040FB80 -> 0x8040FD6C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct pair * __pos /* r26 */, const struct pair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct pair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std9pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8040FD6C -> 0x8040FFE0 class vector & vector::__as(class vector * const this /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std9pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8040FFE0 -> 0x80410050 void vector::_M_fill_insert() {} // Range: 0x80410050 -> 0x80410174 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class CamShotFrame * __pos /* r25 */, const class CamShotFrame & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x28 unsigned long __len; // r30 class CamShotFrame * __new_start; // r29 class CamShotFrame * __new_finish; // r28 } // Range: 0x80410174 -> 0x804102E8 void vector::_M_fill_insert_aux(class vector * const this /* r29 */, class CamShotFrame * __pos /* r30 */, unsigned long __n /* r28 */, const class CamShotFrame & __x /* r31 */) { // Local variables class CamShotFrame __x_copy; // r1+0x30 unsigned long __elems_after; // r26 } // Range: 0x804102E8 -> 0x80410598 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ShotTarget * __pos /* r26 */, const class ShotTarget & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ShotTarget * __new_finish; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10ShotTarget; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80410598 -> 0x80410924 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, class ShotTarget * __pos /* r26 */, unsigned long __n /* r27 */, const class ShotTarget & __x /* r28 */) { // Local variables class ShotTarget __x_copy; // r1+0x20 unsigned long __elems_after; // r29 class ShotTarget * __old_finish; // r0 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80410924 -> 0x80410B0C void vector::_M_fill_insert_aux() { // Local variables struct pair __x_copy; // r1+0x20 unsigned long __elems_after; // r9 struct pair * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80410B0C -> 0x80411688 */ // Range: 0x80410B0C -> 0x80410EE8 void fill(class CamShotFrame * __first /* r28 */, class CamShotFrame * __last /* r29 */, const class CamShotFrame & __val /* r30 */) {} // Range: 0x80410EE8 -> 0x804112E8 class CamShotFrame * __copy_backward_ptrs() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_uninitialized.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80411688 -> 0x80411FE8 */ // Range: 0x80411688 -> 0x804119A8 class CamShotFrame * __uninitialized_move(class CamShotFrame * __last /* r29 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10ShotTarget; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804119A8 -> 0x80411CC8 class CamShotFrame * __uninitialized_fill_n(unsigned long __n /* r29 */, const class CamShotFrame & __x /* r30 */) { // Local variables class CamShotFrame * __cur; // r31 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10ShotTarget; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80411CC8 -> 0x80411FE8 class CamShotFrame * __uninitialized_copy(class CamShotFrame * __first /* r29 */, class CamShotFrame * __last /* r30 */) { // Local variables class CamShotFrame * __cur; // r31 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10ShotTarget; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_construct.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80411FE8 -> 0x804122EC */ // Range: 0x80411FE8 -> 0x804122EC void _Copy_Construct(const class CamShotFrame & __val /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P10ShotTarget; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\world\Crowd.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804122EC -> 0x80418D74 */ class DataArray * types; // size: 0x4, address: 0x80A52200 class Symbol name; // size: 0x4, address: 0x80A52208 class vector sPoints; // size: 0xC, address: 0x8097EE64 class vector : protected _Vector_base { // total size: 0xC }; class vector sRemoveSet; // size: 0xC, address: 0x8097EE7C static class RndCam * gImpostorCamera; // size: 0x4, address: 0x80A5220C static class RndTex * gImpostorTextures[2]; // size: 0x8, address: 0x8097EE88 static class RndMat * gImpostorMat; // size: 0x4, address: 0x80A52210 static int gNumCrowd; // size: 0x4, address: 0x80A52214 // Range: 0x804122EC -> 0x80412758 void * WorldCrowd::WorldCrowd(class WorldCrowd * const this /* r31 */) { // Local variables int w; // r29 int h; // r28 int bpp; // r27 int i; // r26 // References // -> static class RndCam * gImpostorCamera; // -> struct [anonymous] __RTTI__6RndCam; // -> class Symbol name; // -> static class RndMat * gImpostorMat; // -> struct [anonymous] __RTTI__6RndMat; // -> class Symbol name; // -> static class RndTex * gImpostorTextures[2]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> static int gNumCrowd; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__10WorldCrowd; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80412758 -> 0x804127F4 void WorldCrowd::SetMatAndCameraLod(class WorldCrowd * const this /* r30 */) { // References // -> static class RndMat * gImpostorMat; // -> static class RndTex * gImpostorTextures[2]; // -> static class RndCam * gImpostorCamera; } // Range: 0x804127F4 -> 0x80412BDC void * WorldCrowd::~WorldCrowd(class WorldCrowd * const this /* r29 */) { // Local variables struct _List_iterator i; // r1+0x40 int i; // r26 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> static class RndMat * gImpostorMat; // -> static class RndCam * gImpostorCamera; // -> static class RndTex * gImpostorTextures[2]; // -> static int gNumCrowd; // -> class vector sRemoveSet; // -> class vector sPoints; // -> struct [anonymous] __vt__10WorldCrowd; } class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct pair * _M_start; // offset 0x0, size 0x4 struct pair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x80412BDC -> 0x80412D7C void WorldCrowd::CreateMeshes(class WorldCrowd * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x14 class RndMesh * bb; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; // -> class Symbol name; } // Range: 0x80412D7C -> 0x80412E5C static float EnergyOf() { // Local variables const class Vector3 & pos; // r0 struct _List_iterator itr; // r1+0x14 float e; // f1 int i; // r9 } // Range: 0x80412E5C -> 0x80412EEC static float TotalEnergy(class vector & members /* r30 */) { // Local variables float e; // f31 int i; // r31 } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80412EEC -> 0x80413DF0 class DataNode WorldCrowd::OnRebuild(class WorldCrowd * const this /* r29 */) { // Local variables float totalWeight; // f31 float radius; // f30 struct _List_iterator i; // r1+0x84 class vector members; // r1+0xB0 unsigned int numTries; // r30 class Transform t; // r1+0xD0 class Vector3 v1; // r1+0xA0 class Vector3 v2; // r1+0x90 float x; // f29 float y; // f1 unsigned char collided; // r5 int j; // r6 int cur; // r30 float weight; // f29 struct _List_iterator i; // r1+0x80 int num; // r4 float before; // f29 int count; // r30 int i; // r31 int a; // r0 int b; // r0 float after; // f1 struct _List_iterator i; // r1+0x7C int j; // r30 class ObjDirItr shot; // r1+0xBC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } class StlNodeAlloc { // total size: 0x1 }; struct CrowdMember { // total size: 0x50 class Transform xfm; // offset 0x0, size 0x40 struct _List_iterator itr; // offset 0x40, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct CrowdMember * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct CrowdMember * _M_start; // offset 0x0, size 0x4 struct CrowdMember * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; struct pair { // total size: 0x50 class Transform first; // offset 0x0, size 0x40 int second; // offset 0x40, size 0x4 }; // Range: 0x80413DF0 -> 0x80413EA8 void WorldCrowd::CollideList(class WorldCrowd * const this /* r29 */, const class Segment & seg /* r30 */, class list & collisions /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 // References // -> class LoadMgr TheLoadMgr; } static class Timer * _t; // size: 0x4, address: 0x80A52218 // Range: 0x80413EA8 -> 0x8041486C void WorldCrowd::Set3DCharList(class WorldCrowd * const this /* r26 */, const class vector & chars /* r27 */, class Object * setter /* r28 */) { // Local variables class AutoTimer _at; // r1+0xD0 float oldFlat; // f31 struct _List_iterator i; // r1+0xCC class RndMultiMesh * mmesh; // r3 int kk; // r31 struct _List_iterator k; // r1+0xC8 unsigned int j; // r30 int index; // r4 unsigned int i; // r30 int meshIdx; // r7 struct _List_iterator j; // r1+0xC4 int jj; // r4 int xfmIdx; // r29 struct _List_iterator k; // r1+0xC0 int kk; // r4 unsigned int i; // r27 struct _List_iterator i; // r1+0xBC // References // -> class Debug TheDebug; // -> class vector sRemoveSet; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> static class Timer * _t; } struct Sort3DChars { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x8041486C -> 0x80414894 void WorldCrowd::SetUseEnviron() { // References // -> static class RndMat * gImpostorMat; } // Range: 0x80414894 -> 0x80415BD0 void WorldCrowd::DrawShowing(class WorldCrowd * const this /* r24 */) { // Local variables class RndCam * sceneCam; // r27 struct _List_iterator i; // r1+0xA4 class RndMultiMesh * mmesh; // r26 unsigned int j; // r25 class Transform t; // r1+0x170 class Transform tCam; // r1+0x130 float halfHeight; // f31 float halfWidth; // f30 float length; // f29 float fov; // f0 class Transform tDude; // r1+0xF0 float minY; // r1+0xA0 float maxY; // r1+0x9C float minX; // r1+0x98 float maxX; // r1+0x94 unsigned int j; // r25 class Vector2 screen; // r1+0xB0 float centerX; // f3 float centerY; // f2 class Vector3 pos; // r1+0xE0 class RndEnvironTracker _rndEnvironTracker; // r1+0xA8 float hz0; // f2 float hz1; // f1 float hx0; // f3 float hx1; // f4 // References // -> const char * kAssertStr; // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class vector sPoints; // -> static class RndCam * gImpostorCamera; // -> class Rnd & TheRnd; // -> class RndCam * sCurrent; } // Range: 0x80415BD0 -> 0x80415F44 class RndMesh * WorldCrowd::BuildBillboard(float charHeight /* f30 */) { // Local variables float rad; // f0 float hz; // f31 float hx; // f30 // References // -> static class RndCam * gImpostorCamera; // -> static class RndMat * gImpostorMat; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } // Range: 0x80415F44 -> 0x80415F64 void WorldCrowd::SetLod() {} static class Timer * _t; // size: 0x4, address: 0x80A52220 // Range: 0x80415F64 -> 0x80416438 void WorldCrowd::SetFullness(class WorldCrowd * const this /* r28 */, float flat /* f30 */, float full /* f31 */) { // Local variables class AutoTimer _at; // r1+0x90 struct _List_iterator i; // r1+0x8C int totalSize; // r5 int currSize; // r30 int newSize; // r29 struct _List_iterator j; // r1+0x88 struct _List_iterator j; // r1+0x84 // References // -> static class Timer * _t; } static int sRev; // size: 0x4, address: 0x80A52228 // Range: 0x80416438 -> 0x8041647C void WorldCrowd::Save() { // References // -> class Debug TheDebug; } // Range: 0x8041647C -> 0x804166A4 void WorldCrowd::Load(class WorldCrowd * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x1C int seed; // r1+0x18 struct _List_iterator i; // r1+0x14 class list lst; // r1+0x38 // References // -> static int sRev; } // Range: 0x804166A4 -> 0x8041676C void WorldCrowd::OnSetPlacementMesh(class WorldCrowd * const this /* r30 */, class RndMesh * mesh /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8041676C -> 0x8041683C void WorldCrowd::ListDrawChildren(class WorldCrowd * const this /* r29 */, class list & out /* r30 */) { // Local variables struct _List_iterator i; // r1+0x14 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node; // size: 0x8, address: 0x808E9E58 // Range: 0x8041683C -> 0x804168BC void WorldCrowd::UpdateSphere(class WorldCrowd * const this /* r31 */) { // Local variables class Sphere s; // r1+0x10 } // Range: 0x804168BC -> 0x804169D4 unsigned char WorldCrowd::MakeWorldSphere(class WorldCrowd * const this /* r30 */, class Sphere & s /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 class RndMultiMesh * mmesh; // r3 class Sphere s2; // r1+0x20 } // Range: 0x804169D4 -> 0x80416AAC void WorldCrowd::ListPollChildren(const class WorldCrowd * const this /* r29 */, class list & out /* r30 */) { // Local variables struct _List_iterator i; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80416AAC -> 0x80416B30 void WorldCrowd::Poll(class WorldCrowd * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x80416B30 -> 0x80416BBC void WorldCrowd::Enter(class WorldCrowd * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x80416BBC -> 0x80416C3C void WorldCrowd::Exit(class WorldCrowd * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x80416C3C -> 0x80416CF0 void WorldCrowd::Mats(class WorldCrowd * const this /* r30 */, class list & mats /* r31 */) { // Local variables struct MatShaderOptions opts; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class RndMat * gImpostorMat; } // Range: 0x80416CF0 -> 0x80416D5C void * CharData::CharData(struct CharData * const this /* r31 */) {} // Range: 0x80416D5C -> 0x80416D60 void CharData::Load() {} // Range: 0x80416D60 -> 0x80416DB4 void * CharDef::CharDef() { // References // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; } // Range: 0x80416DB4 -> 0x80416E30 void CharDef::Load(class CharDef * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> static int sRev; } static class Symbol _s; // size: 0x4, address: 0x80A52230 static class Symbol _s; // size: 0x4, address: 0x80A52238 static class Symbol _s; // size: 0x4, address: 0x80A52240 // Range: 0x80416E30 -> 0x80417718 class DataNode WorldCrowd::Handle(class WorldCrowd * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Timer * _t; // size: 0x4, address: 0x80A52244 // Range: 0x80417718 -> 0x80417A60 class DataNode WorldCrowd::OnIterateFrac(class WorldCrowd * const this /* r30 */, class DataArray * a /* r29 */) { // Local variables class AutoTimer _at; // r1+0x18 class Character * chars[64]; // r1+0x28 int num; // r31 struct _List_iterator i; // r1+0x14 int i; // r30 float sum; // f31 int i; // r27 float frac; // f0 float fTotal; // f30 int total; // r30 float isum; // f31 int i; // r27 // References // -> static class Timer * _t; } static class WorldCrowd * gParent; // size: 0x4, address: 0x80A5224C static class Symbol _s; // size: 0x4, address: 0x80A52254 static class Symbol _s; // size: 0x4, address: 0x80A5225C static class Symbol _s; // size: 0x4, address: 0x80A52264 static class Symbol _s; // size: 0x4, address: 0x80A5226C // Range: 0x80417A60 -> 0x80417DF8 unsigned char PropSync(struct CharData & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A52274 static class Symbol _s; // size: 0x4, address: 0x80A5227C static class Symbol _s; // size: 0x4, address: 0x80A52284 static class Symbol _s; // size: 0x4, address: 0x80A5228C static class Symbol _s; // size: 0x4, address: 0x80A52294 static class Symbol _s; // size: 0x4, address: 0x80A5229C // Range: 0x80417DF8 -> 0x80418294 unsigned char WorldCrowd::SyncProperty(class WorldCrowd * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class WorldCrowd * gParent; } // Range: 0x80418294 -> 0x80418BF4 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r30 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables struct _List_iterator it; // r1+0xD8 struct CharData tmp; // r1+0xF8 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18pair<9Transform,i>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std35_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std18pair<9Transform,i>; // size: 0x8, address: 0x808E9FF8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std35_List_node; // size: 0x8, address: 0x808EA030 class _List_node : public _List_node_base { // total size: 0xC public: class RndDrawable * _M_data; // offset 0x8, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0xF0 } __vt__10WorldCrowd; // size: 0xF0, address: 0x808EA0A0 struct { // total size: 0x8 } __RTTI__P11CrowdMember; // size: 0x8, address: 0x808EA678 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std111pair>>; // size: 0x8, address: 0x808EA6F8 // Range: 0x80418BF4 -> 0x80418C6C static void __sinit_\Crowd_cpp() { // References // -> class vector sRemoveSet; // -> class vector sPoints; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80418D74 -> 0x80418F30 */ // Range: 0x80418D74 -> 0x80418F30 class BinStream & __rs(class BinStream & d /* r30 */, class ObjList & c /* r31 */) { // Local variables unsigned int s; // r1+0x3C struct _List_iterator t; // r1+0x38 // References // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80418F30 -> 0x80418FB8 */ // Range: 0x80418F30 -> 0x80418FB8 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, int t2 /* r29 */, const char * t3 /* r30 */, unsigned long t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80418FB8 -> 0x80419408 */ // Range: 0x80418FB8 -> 0x80419408 void WorldCrowd::Copy(class WorldCrowd * const this /* r30 */, const class Object * src /* r28 */, enum CopyType type /* r27 */) { // Local variables const class WorldCrowd * rhs; // r0 struct _List_iterator j; // r1+0x6C struct _List_iterator i; // r1+0x68 struct _List_iterator i; // r1+0x64 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80419408 -> 0x804194C8 */ // Range: 0x80419408 -> 0x804194C4 void * vector::~vector(class vector * const this /* r30 */) {} // Range: 0x804194C4 -> 0x804194C8 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804194C8 -> 0x8041A164 */ // Range: 0x804194C8 -> 0x8041957C void sort(struct pair * __first /* r29 */, struct pair * __last /* r30 */, struct Sort3DChars & __comp /* r31 */) {} // Range: 0x8041957C -> 0x8041962C void __final_insertion_sort(struct pair * __first /* r29 */, struct pair * __last /* r30 */, struct Sort3DChars & __comp /* r31 */) {} // Range: 0x8041962C -> 0x8041970C void __unguarded_insertion_sort_aux(struct pair * __last /* r29 */, struct Sort3DChars & __comp /* r30 */) { // Local variables struct pair * __i; // r31 } // Range: 0x8041970C -> 0x80419840 void __unguarded_linear_insert() { // Local variables struct pair * __next; // r6 } // Range: 0x80419840 -> 0x80419B08 void __insertion_sort(struct pair * __first /* r28 */, struct pair * __last /* r29 */, struct Sort3DChars & __comp /* r30 */) { // Local variables struct pair * __i; // r31 } // Range: 0x80419B08 -> 0x80419CBC void __introsort_loop(struct pair * __first /* r28 */, struct pair * __last /* r29 */, long __depth_limit /* r30 */, struct Sort3DChars & __comp /* r31 */) { // Local variables struct pair * __cut; // r27 } // Range: 0x80419CBC -> 0x80419EDC struct pair * __unguarded_partition(struct pair * __first /* r29 */, struct pair * __last /* r30 */, struct pair & __pivot /* r31 */) {} // Range: 0x80419EDC -> 0x80419F0C void partial_sort() {} // Range: 0x80419F0C -> 0x8041A164 void __partial_sort(struct pair * __first /* r27 */, struct pair * __middle /* r28 */, struct pair * __last /* r29 */, struct Sort3DChars & __comp /* r30 */) { // Local variables struct pair * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8041A164 -> 0x8041A194 */ // Range: 0x8041A164 -> 0x8041A17C struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8041A17C -> 0x8041A194 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8041A194 -> 0x8041A7E4 */ // Range: 0x8041A194 -> 0x8041A354 void pop_heap(struct pair * __last /* r8 */) {} // Range: 0x8041A354 -> 0x8041A6C0 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r7 } // Range: 0x8041A6C0 -> 0x8041A7E4 void make_heap(struct pair * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8041A7E4 -> 0x8041A944 */ // Range: 0x8041A7E4 -> 0x8041A944 class BinStream & __rs(class BinStream & d /* r29 */, class list & c /* r30 */) { // Local variables unsigned int s; // r1+0x1C struct _List_iterator t; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\world\Crowd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8041A944 -> 0x8041AB2C */ // Range: 0x8041A944 -> 0x8041A988 class Symbol WorldCrowd::ClassName() { // References // -> class Symbol name; } // Range: 0x8041A988 -> 0x8041AB2C void WorldCrowd::SetType(class WorldCrowd * const this /* r29 */, class Symbol & WorldCrowd /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8041AB2C -> 0x8041B4A0 */ // Range: 0x8041AB2C -> 0x8041B154 void list::resize(const struct CharData & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x8C unsigned long __len; // r6 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18pair<9Transform,i>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std35_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; } // Range: 0x8041B154 -> 0x8041B2EC void list::resize(const class Transform & __x /* r30 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8041B2EC -> 0x8041B4A0 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__29ObjPtr<9Character,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8041B4A0 -> 0x8041C1CC */ // Range: 0x8041B4A0 -> 0x8041B80C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct CrowdMember * __pos /* r26 */, const struct CrowdMember & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct CrowdMember * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11CrowdMember; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8041B80C -> 0x8041B9F8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct pair * __pos /* r26 */, const struct pair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct pair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std111pair>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8041B9F8 -> 0x8041BD64 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct pair * __pos /* r26 */, const struct pair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct pair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18pair<9Transform,i>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8041BD64 -> 0x8041C1CC class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18pair<9Transform,i>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\world\Dir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8041C1CC -> 0x80421298 */ class DataArray * types; // size: 0x4, address: 0x80A522A0 class Symbol name; // size: 0x4, address: 0x80A522A8 class WorldDir * TheWorld; // size: 0x4, address: 0x80A522AC // Range: 0x8041C1CC -> 0x8041C6D4 void * WorldDir::WorldDir(class WorldDir * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> class Symbol name; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__35ObjPtrList<10WorldCrowd,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtrList<7CamShot,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__8WorldDir; // -> struct [anonymous] __vt__16RndHighlightable; } class _List_node : public _List_node_base { // total size: 0x20 public: struct PresetOverride _M_data; // offset 0x8, size 0x18 }; class _List_node : public _List_node_base { // total size: 0x20 public: struct BitmapOverride _M_data; // offset 0x8, size 0x18 }; class _List_node : public _List_node_base { // total size: 0x2C public: struct MatOverride _M_data; // offset 0x8, size 0x24 }; struct Node { // total size: 0xC class CamShot * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; struct Node { // total size: 0xC class WorldCrowd * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; static class DataNode & world; // size: 0x4, address: 0x80A522B4 // Range: 0x8041C6D4 -> 0x8041C7AC void WorldDir::Init() { // References // -> class WorldDir * TheWorld; // -> static class DataNode & world; // -> class Symbol name; } static class DataNode & world; // size: 0x4, address: 0x80A522BC // Range: 0x8041C7AC -> 0x8041D11C void * WorldDir::~WorldDir(class WorldDir * const this /* r29 */) { // References // -> struct [anonymous] __vt__31ObjPtrList<7CamShot,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__35ObjPtrList<10WorldCrowd,9ObjectDir>; // -> static class DataNode & world; // -> class WorldDir * TheWorld; // -> class SpotlightDrawer * sCurrent; // -> struct [anonymous] __vt__8WorldDir; } // Range: 0x8041D11C -> 0x8041D180 void WorldDir::Enter(class WorldDir * const this /* r31 */) { // References // -> class Rnd & TheRnd; } // Range: 0x8041D180 -> 0x8041D1A8 void WorldDir::ClearDeltas() { // Local variables int i; // r5 } // Range: 0x8041D1A8 -> 0x8041D22C void WorldDir::SaveDeltas(class WorldDir * const this /* r28 */, float * deltaSaves /* r29 */) { // Local variables int i; // r30 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8041D22C -> 0x8041D28C void WorldDir::ExtendDeltas(class WorldDir * const this /* r30 */) { // Local variables int j; // r31 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x8041D28C -> 0x8041D300 void WorldDir::RestoreDeltas(class WorldDir * const this /* r29 */, float * deltaSaves /* r30 */) { // Local variables int j; // r31 // References // -> class TaskMgr TheTaskMgr; } static class Timer * _t; // size: 0x4, address: 0x80A522C0 static class Timer * _t; // size: 0x4, address: 0x80A522C8 // Range: 0x8041D300 -> 0x8041D4FC void WorldDir::Poll(class WorldDir * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0x14 class AutoTimer _at; // r1+0x10 float deltaSaves[4]; // r1+0x18 // References // -> class Rnd & TheRnd; // -> static class Timer * _t; // -> static class Timer * _t; } // Range: 0x8041D4FC -> 0x8041D540 void WorldDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x8041D540 -> 0x8041D694 void WorldDir::Copy(class WorldDir * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class WorldDir * w; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8WorldDir; } class SpotDrawParams { // total size: 0x50 public: float mIntensity; // offset 0x0, size 0x4 class Color mColor; // offset 0x10, size 0x10 float mBaseIntensity; // offset 0x20, size 0x4 float mSmokeIntensity; // offset 0x24, size 0x4 float mHalfDistance; // offset 0x28, size 0x4 class ObjPtr mTexture; // offset 0x2C, size 0xC class ObjPtr mProxy; // offset 0x38, size 0xC class SpotlightDrawer * mOwner; // offset 0x44, size 0x4 }; class SpotMeshEntry { // total size: 0x50 public: class RndMesh * mMesh; // offset 0x0, size 0x4 class RndEnviron * mEnv; // offset 0x4, size 0x4 class Spotlight * mLight; // offset 0x8, size 0x4 unsigned int mPACKING; // offset 0xC, size 0x4 class Transform mXfm; // offset 0x10, size 0x40 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SpotMeshEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SpotMeshEntry * _M_start; // offset 0x0, size 0x4 class SpotMeshEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SpotlightEntry { // total size: 0x8 public: unsigned int mPackedColor; // offset 0x0, size 0x4 class Spotlight * mLight; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class SpotlightEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class SpotlightEntry * _M_start; // offset 0x0, size 0x4 class SpotlightEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class SpotlightDrawer : public RndDrawable, public PostProcessor { // total size: 0xD0 protected: class SpotDrawParams mParams; // offset 0x40, size 0x50 }; static class vector gOldChars; // size: 0xC, address: 0x8097EE9C static class ObjectDir * gOldTexDir; // size: 0x4, address: 0x80A522D0 // Range: 0x8041D6C4 -> 0x8041D9AC class BinStream & __rs(class BinStream & d /* r29 */, struct BitmapOverride & c /* r30 */) { // Local variables class FilePath bitmap; // r1+0x18 const char * name; // r31 // References // -> const char * kAssertStr; // -> class Symbol name; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class ObjectDir * gOldTexDir; } // Range: 0x8041D9AC -> 0x8041DBD4 void WorldDir::PreLoad(class WorldDir * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC class ObjPtr cam; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> static class vector gOldChars; // -> class FilePath sRoot; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> class Debug TheDebug; } // Range: 0x8041DBD4 -> 0x8041E590 void WorldDir::PostLoad(class WorldDir * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables class ObjPtr cam; // r1+0x4C int i; // r30 class Symbol className; // r1+0x48 class RndDir * p; // r27 char name[128]; // r1+0x120 unsigned char showing; // r0 float drawOrder; // r1+0x44 class Transform xfm; // r1+0x60 // References // -> struct [anonymous] __RTTI__7CamShot; // -> static class ObjectDir * gOldTexDir; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__10RndEnviron; // -> static class vector gOldChars; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> class list sRevs; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; static class DataNode & world; // size: 0x4, address: 0x80A522D8 // Range: 0x8041E590 -> 0x8041EB9C void WorldDir::SyncObjects(class WorldDir * const this /* r30 */) { // Local variables class ObjDirItr crowds; // r1+0x30 // References // -> class WorldDir * TheWorld; // -> static class DataNode & world; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; // -> class Debug TheDebug; // -> const char * kAssertStr; } class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x8041EB9C -> 0x8041EC68 void WorldDir::SetCrowd() { // Local variables unsigned char found; // r6 class iterator it; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8041EC68 -> 0x8041ECDC void WorldDir::StartBlur(class WorldDir * const this /* r31 */, float duration /* f30 */, float fadeTime /* f31 */) { // Local variables float time; // f0 // References // -> class TaskMgr TheTaskMgr; } static class Timer * _t; // size: 0x4, address: 0x80A522DC static class Timer * _t; // size: 0x4, address: 0x80A522E4 static class Timer * worldTimer; // size: 0x4, address: 0x80A522EC // Range: 0x8041ECDC -> 0x8041F294 void WorldDir::DrawShowing(class WorldDir * const this /* r26 */) { // Local variables class AutoTimer _at; // r1+0x48 class AutoTimer _at; // r1+0x44 enum ProcessCmd currentProcCmds; // r0 class RndCam * cam; // r27 class iterator i; // r1+0x40 float current; // f2 float last; // f0 class Rect screenRect; // r1+0x60 class Color c; // r1+0x50 class iterator i; // r1+0x3C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Timer * worldTimer; // -> class UIManager TheUI; // -> class RndCam * sCurrent; // -> class CamShot * sCurrent; // -> class Rnd & TheRnd; // -> static class Timer * _t; // -> static class Timer * _t; } // Range: 0x8041F294 -> 0x8041F298 void WorldDir::DrawBlur() {} // Range: 0x8041F298 -> 0x8041F358 void WorldDir::SyncHUD(class WorldDir * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x8041F358 -> 0x8041F3AC void WorldDir::SyncHides() { // Local variables class iterator i; // r1+0x18 } // Range: 0x8041F3AC -> 0x8041F420 void WorldDir::SyncBitmaps(class WorldDir * const this /* r30 */, unsigned char post /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x8041F420 -> 0x8041F494 void WorldDir::SyncMats(class WorldDir * const this /* r30 */, unsigned char post /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x8041F494 -> 0x8041F508 void WorldDir::SyncPresets(class WorldDir * const this /* r30 */, unsigned char post /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x8041F508 -> 0x8041F55C void WorldDir::SyncCamShots() { // Local variables class iterator i; // r1+0x18 } // Range: 0x8041F55C -> 0x8041F6E0 void BitmapOverride::Sync(struct BitmapOverride * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x3C class ObjRef * o; // r30 struct _List_iterator i; // r1+0x38 class ObjRef * o; // r30 } // Range: 0x8041F6E0 -> 0x8041F790 void MatOverride::Sync(struct MatOverride * const this /* r30 */) {} // Range: 0x8041F790 -> 0x8041F7B8 void PresetOverride::Sync() {} static class Symbol _s; // size: 0x4, address: 0x80A522F4 // Range: 0x8041F7B8 -> 0x8041FE60 class DataNode WorldDir::Handle(class WorldDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> class Debug TheDebug; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A522FC static class Symbol _s; // size: 0x4, address: 0x80A52304 // Range: 0x8041FE60 -> 0x8041FFE8 unsigned char PropSync(struct PresetOverride & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8041FFE8 -> 0x80420138 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8LightHue; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A5230C static class Symbol _s; // size: 0x4, address: 0x80A52314 // Range: 0x80420138 -> 0x804202C4 unsigned char PropSync(struct BitmapOverride & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A5231C static class Symbol _s; // size: 0x4, address: 0x80A52324 // Range: 0x804202C4 -> 0x8042044C unsigned char PropSync(struct MatOverride & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A5232C static class Symbol _s; // size: 0x4, address: 0x80A52334 static class Symbol _s; // size: 0x4, address: 0x80A5233C static class Symbol _s; // size: 0x4, address: 0x80A52344 static class Symbol _s; // size: 0x4, address: 0x80A5234C static class Symbol _s; // size: 0x4, address: 0x80A52354 static class Symbol _s; // size: 0x4, address: 0x80A5235C static class Symbol _s; // size: 0x4, address: 0x80A52364 static class Symbol _s; // size: 0x4, address: 0x80A5236C static class Symbol _s; // size: 0x4, address: 0x80A52374 static class Symbol _s; // size: 0x4, address: 0x80A5237C static class Symbol _s; // size: 0x4, address: 0x80A52384 // Range: 0x8042044C -> 0x80420BC8 unsigned char WorldDir::SyncProperty(class WorldDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x80420BC8 -> 0x8042126C unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class CamShot * obj; // r31 class CamShot * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std39_List_node; // size: 0x8, address: 0x808EAC18 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std36_List_node; // size: 0x8, address: 0x808EAC58 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std39_List_node; // size: 0x8, address: 0x808EAC98 struct { // total size: 0x234 } __vt__8WorldDir; // size: 0x234, address: 0x808EACA0 struct { // total size: 0x18 } __vt__35ObjPtrList<10WorldCrowd,9ObjectDir>; // size: 0x18, address: 0x808EAF48 struct { // total size: 0x8 } __RTTI__35ObjPtrList<10WorldCrowd,9ObjectDir>; // size: 0x8, address: 0x808EAF90 struct { // total size: 0x18 } __vt__31ObjPtrList<7CamShot,9ObjectDir>; // size: 0x18, address: 0x808EAF98 struct { // total size: 0x8 } __RTTI__31ObjPtrList<7CamShot,9ObjectDir>; // size: 0x8, address: 0x808EAFE0 struct { // total size: 0x18 } __vt__28ObjPtr<8LightHue,9ObjectDir>; // size: 0x18, address: 0x808EAFE8 struct { // total size: 0x8 } __RTTI__28ObjPtr<8LightHue,9ObjectDir>; // size: 0x8, address: 0x808EB028 struct { // total size: 0x18 } __vt__32ObjPtr<11LightPreset,9ObjectDir>; // size: 0x18, address: 0x808EB030 struct { // total size: 0x8 } __RTTI__32ObjPtr<11LightPreset,9ObjectDir>; // size: 0x8, address: 0x808EB078 struct { // total size: 0x8 } __RTTI__8LightHue; // size: 0x8, address: 0x808EB0A0 struct { // total size: 0x8 } __RTTI__11LightPreset; // size: 0x8, address: 0x808EB0D0 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8042126C -> 0x80421298 static void __sinit_\Dir_cpp() { // References // -> static class vector gOldChars; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80421298 -> 0x804212F8 */ // Range: 0x80421298 -> 0x804212F8 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, class FilePath & t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804212F8 -> 0x80421304 */ // Range: 0x804212F8 -> 0x804212FC class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x804212FC -> 0x80421300 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x80421300 -> 0x80421304 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80421304 -> 0x80422A78 */ // Range: 0x80421304 -> 0x804214B0 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__31ObjPtrList<7CamShot,9ObjectDir>; } // Range: 0x804214B0 -> 0x80421660 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__35ObjPtrList<10WorldCrowd,9ObjectDir>; } // Range: 0x80421660 -> 0x80421780 void ObjList::__as(class ObjList * const this /* r30 */, const class ObjList & x /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80421780 -> 0x804218E8 void ObjList::__as(class ObjList * const this /* r30 */, const class ObjList & x /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; } // Range: 0x804218E8 -> 0x80421A0C void ObjList::__as(class ObjList * const this /* r30 */, const class ObjList & x /* r31 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8LightHue,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11LightPreset,9ObjectDir>; } // Range: 0x80421A0C -> 0x80421A80 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11LightPreset,9ObjectDir>; } // Range: 0x80421A80 -> 0x80421AF0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8LightHue,9ObjectDir>; } // Range: 0x80421AF0 -> 0x80421E2C void ObjPtrList::__as(class ObjPtrList * const this /* r29 */, const class ObjPtrList & x /* r30 */) { // Local variables struct Node * to; // r28 struct Node * from; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80421E2C -> 0x80421F5C class BinStream & __rs(class BinStream & d /* r30 */, class ObjList & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> struct [anonymous] __vt__28ObjPtr<8LightHue,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11LightPreset,9ObjectDir>; } // Range: 0x80421F5C -> 0x804220F8 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } // Range: 0x804220F8 -> 0x80422290 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8LightHue; } // Range: 0x80422290 -> 0x80422404 class BinStream & __rs(class BinStream & d /* r30 */, class ObjList & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; } // Range: 0x80422404 -> 0x8042251C class BinStream & __rs(class BinStream & d /* r30 */, class ObjList & c /* r31 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x8042251C -> 0x80422720 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10WorldCrowd; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80422720 -> 0x80422728 class Object * ObjPtrList::RefOwner() {} // Range: 0x80422728 -> 0x80422924 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7CamShot; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80422924 -> 0x8042292C class Object * ObjPtrList::RefOwner() {} // Range: 0x8042292C -> 0x80422934 class Object * ObjPtr::RefOwner() {} // Range: 0x80422934 -> 0x804229CC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8LightHue; } // Range: 0x804229CC -> 0x804229D4 class Object * ObjPtr::RefOwner() {} // Range: 0x804229D4 -> 0x80422A78 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } /* Compile unit: C:\rockband2\system\src\world\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80422A78 -> 0x80422CC4 */ // Range: 0x80422A78 -> 0x80422AEC class Object * WorldDir::NewObject() { // References // -> class Symbol name; } // Range: 0x80422AEC -> 0x80422B30 class Symbol WorldDir::ClassName() { // References // -> class Symbol name; } // Range: 0x80422B30 -> 0x80422CC4 void WorldDir::SetType(class WorldDir * const this /* r29 */, class Symbol & WorldDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80422CC4 -> 0x80423A1C */ // Range: 0x80422CC4 -> 0x80422E20 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80422E20 -> 0x804231E4 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r29 */, class DataArray * prop /* r30 */, int i /* r31 */, enum PropOp op /* r27 */) { // Local variables struct _List_iterator it; // r1+0x2C struct PresetOverride tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__32ObjPtr<11LightPreset,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8LightHue,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804231E4 -> 0x80423668 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r29 */, class DataArray * prop /* r30 */, int i /* r31 */, enum PropOp op /* r27 */) { // Local variables struct _List_iterator it; // r1+0x2C struct MatOverride tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std36_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80423668 -> 0x80423A1C unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r29 */, class DataArray * prop /* r30 */, int i /* r31 */, enum PropOp op /* r27 */) { // Local variables struct _List_iterator it; // r1+0x2C struct BitmapOverride tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80423A1C -> 0x80424DE8 */ // Range: 0x80423A1C -> 0x80423C74 void list::resize(const struct MatOverride & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std36_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x80423C74 -> 0x80424090 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std36_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x80424090 -> 0x80424288 void list::resize(const struct BitmapOverride & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80424288 -> 0x80424600 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80424600 -> 0x80424800 void list::resize(const struct PresetOverride & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__32ObjPtr<11LightPreset,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8LightHue,9ObjectDir>; } // Range: 0x80424800 -> 0x80424B84 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__32ObjPtr<11LightPreset,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8LightHue,9ObjectDir>; } // Range: 0x80424B84 -> 0x80424C6C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x80424C6C -> 0x80424D28 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80424D28 -> 0x80424DE8 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__32ObjPtr<11LightPreset,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8LightHue,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\world\DOFProc.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80425008 -> 0x804251A4 */ class DataArray * types; // size: 0x4, address: 0x80A52388 class Symbol name; // size: 0x4, address: 0x80A52390 static class DOFProc * sProc; // size: 0x4, address: 0x80A52394 // Range: 0x80425008 -> 0x80425044 void * DOFProc::DOFProc(class DOFProc * const this /* r31 */) { // References // -> struct [anonymous] __vt__7DOFProc; } // Range: 0x80425044 -> 0x804250A0 void * DOFProc::~DOFProc(class DOFProc * const this /* r30 */) {} // Range: 0x804250A0 -> 0x804250E8 void DOFProc::Terminate() { // References // -> static class DOFProc * sProc; } // Range: 0x804250E8 -> 0x804251A4 class DOFProc & DOFProc::Params() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7DOFProc; // -> class Symbol name; // -> static class DOFProc * sProc; } struct { // total size: 0x74 } __vt__7DOFProc; // size: 0x74, address: 0x808EBB70 struct { // total size: 0x8 } __RTTI__7DOFProc; // size: 0x8, address: 0x808EBC08 /* Compile unit: C:\rockband2\system\src\world\DOFProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804251A4 -> 0x80425398 */ // Range: 0x804251A4 -> 0x804251AC float DOFProc::MinBlur() {} // Range: 0x804251AC -> 0x804251B4 float DOFProc::MaxBlur() {} // Range: 0x804251B4 -> 0x804251BC float DOFProc::BlurDepth() {} // Range: 0x804251BC -> 0x804251C4 float DOFProc::FocalPlane() {} // Range: 0x804251C4 -> 0x804251CC unsigned char DOFProc::Blur() {} // Range: 0x804251CC -> 0x804251D4 unsigned char DOFProc::Enabled() {} // Range: 0x804251D4 -> 0x80425354 void DOFProc::SetType(class DOFProc * const this /* r29 */, class Symbol & DOFProc /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80425354 -> 0x80425398 class Symbol DOFProc::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\Fireworks.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80425398 -> 0x804286B0 */ class DataArray * types; // size: 0x4, address: 0x80A52398 class Symbol name; // size: 0x4, address: 0x80A523A0 class ExplosionParams { // total size: 0x20 public: class RndMat * mMat; // offset 0x0, size 0x4 int mParticles; // offset 0x4, size 0x4 class Vector2 mSpeedRange; // offset 0x8, size 0x8 class Vector2 mLifeRange; // offset 0x10, size 0x8 class Vector2 mSizeRange; // offset 0x18, size 0x8 }; static class ExplosionParams gExplosionParams[2]; // size: 0x40, address: 0x8097EEB0 static unsigned char gInitted; // size: 0x1, address: 0x80A523A4 static class RndParticleSys * gTrailPS; // size: 0x4, address: 0x80A523A8 static class Vector2 gLaunchAngleRange; // size: 0x8, address: 0x8097EEF0 static class Vector2 gLaunchSpeedRange; // size: 0x8, address: 0x8097EEF8 static class DataArray * gLaunchDirections; // size: 0x4, address: 0x80A523AC static class Vector2 gExplodeTimeRange; // size: 0x8, address: 0x8097EF00 static class Vector3 gTrailForce; // size: 0x10, address: 0x8097EF10 static class Vector3 gExplosionForce; // size: 0x10, address: 0x8097EF20 static class RndMat * gFlareMat; // size: 0x4, address: 0x80A523B0 static float gFlareMaxSize; // size: 0x4, address: 0x80A523B4 static float gFlareGrowTime; // size: 0x4, address: 0x80A523B8 static float gFlareGrowTimeMult; // size: 0x4, address: 0x80A523BC static float gFlareShrinkTime; // size: 0x4, address: 0x80A523C0 static float gFlareShrinkTimeMult; // size: 0x4, address: 0x80A523C4 static float gFlareEndTime; // size: 0x4, address: 0x80A523C8 static float gMaxRadius; // size: 0x4, address: 0x80A523CC static class RndParticleSys * gFlarePS; // size: 0x4, address: 0x80A523D0 class list : public _List_base { // total size: 0x8 }; static class list gRockets; // size: 0x8, address: 0x8097EF40 class WorldFireworks : public RndDrawable, public RndTransformable, public RndPollable { // total size: 0x1B0 class ObjDirPtr mResources; // offset 0x100, size 0xC class list mActive; // offset 0x10C, size 0x8 class Color mStartColorLow; // offset 0x120, size 0x10 class Color mStartColorHigh; // offset 0x130, size 0x10 class Color mEndColorLow; // offset 0x140, size 0x10 class Color mEndColorHigh; // offset 0x150, size 0x10 class ObjPtr mLaunchSeq; // offset 0x160, size 0xC class ObjPtr mExplodeSeq; // offset 0x16C, size 0xC }; // Range: 0x80425398 -> 0x80425734 void WorldFireworks::Copy(class WorldFireworks * const this /* r31 */, const class Object * src /* r25 */, enum CopyType type /* r24 */) { // Local variables const class WorldFireworks * rhs; // r0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14WorldFireworks; } // Range: 0x80425734 -> 0x80425778 void WorldFireworks::Save() { // References // -> class Debug TheDebug; } // Range: 0x80425778 -> 0x804257D4 void WorldFireworks::Load(class WorldFireworks * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804257D4 -> 0x804259E4 void WorldFireworks::PreLoad(class WorldFireworks * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 class ObjPtr explodeSfx; // r1+0xC // References // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; } // Range: 0x804259E4 -> 0x80425B6C void WorldFireworks::PostLoad(class WorldFireworks * const this /* r26 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x80425B6C -> 0x80426588 void WorldFireworks::InitResources(class WorldFireworks * const this /* r27 */) { // Local variables const class DataArray * data; // r29 const class DataArray * exp; // r22 int i; // r28 class ExplosionParams & p; // r21 class Rocket & r; // r0 int i; // r21 const class ExplosionParams & p; // r22 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class list gRockets; // -> static class RndParticleSys * gFlarePS; // -> class Symbol name; // -> static float gFlareEndTime; // -> static float gFlareShrinkTimeMult; // -> static float gFlareGrowTimeMult; // -> static float gFlareShrinkTime; // -> static float gFlareGrowTime; // -> static float gFlareMaxSize; // -> static class ExplosionParams gExplosionParams[2]; // -> static float gMaxRadius; // -> static class Vector3 gExplosionForce; // -> static class Vector3 gTrailForce; // -> static class Vector2 gExplodeTimeRange; // -> static class DataArray * gLaunchDirections; // -> static class Vector2 gLaunchSpeedRange; // -> static class Vector2 gLaunchAngleRange; // -> static class RndMat * gFlareMat; // -> struct [anonymous] __RTTI__6RndMat; // -> static class RndParticleSys * gTrailPS; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static unsigned char gInitted; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std37_List_node; // size: 0x8, address: 0x808EBE38 // Range: 0x80426588 -> 0x80426784 void * WorldFireworks::WorldFireworks(class WorldFireworks * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; // -> struct [anonymous] __vt__14WorldFireworks; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } enum /* @enum$14560Fireworks_cpp */ { kLaunching = 0, kExploding = 1, }; class Rocket { // total size: 0x30 public: class RndParticleSys * mTrailPS; // offset 0x0, size 0x4 class RndParticleSys * mExplosionPS[2]; // offset 0x4, size 0x8 class Vector3 mVelocity; // offset 0x10, size 0x10 class RndParticle * mFlarePart; // offset 0x20, size 0x4 float mExplodeTime; // offset 0x24, size 0x4 enum /* @enum$14560Fireworks_cpp */ { kLaunching = 0, kExploding = 1, } mState; // offset 0x28, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x40 public: class Rocket _M_data; // offset 0x10, size 0x30 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; // Range: 0x80426784 -> 0x80426E84 void * WorldFireworks::~WorldFireworks(class WorldFireworks * const this /* r30 */) { // Local variables class FilePath file; // r1+0x14 int j; // r27 // References // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; // -> static class RndParticleSys * gFlarePS; // -> static class list gRockets; // -> static unsigned char gInitted; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8FilePath; // -> class FilePath sNull; // -> struct [anonymous] __vt__14WorldFireworks; } // Range: 0x80426E84 -> 0x80426F2C class Rocket * WorldFireworks::AllocateRocket() { // References // -> static class list gRockets; } // Range: 0x80426F2C -> 0x80426F84 void WorldFireworks::FreeRocket() { // References // -> static class list gRockets; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80426F84 -> 0x80426FF8 void WorldFireworks::Enter(class WorldFireworks * const this /* r31 */) { // Local variables struct _List_iterator ri; // r1+0x14 } // Range: 0x80426FF8 -> 0x8042745C void WorldFireworks::Poll(class WorldFireworks * const this /* r28 */) { // Local variables float curTime; // f30 float elapsed; // f0 struct _List_iterator ri; // r1+0x20 class Rocket & r; // r0 unsigned char erase; // r30 class Vector3 v; // r1+0x30 int i; // r29 float time; // f29 int i; // r27 struct _List_iterator o; // r1+0x1C // References // -> static float gFlareShrinkTimeMult; // -> static float gFlareEndTime; // -> static float gFlareGrowTimeMult; // -> static float gFlareGrowTime; // -> static class Vector3 gTrailForce; // -> class TaskMgr TheTaskMgr; } // Range: 0x8042745C -> 0x804274C8 unsigned char WorldFireworks::MakeWorldSphere(class WorldFireworks * const this /* r30 */, class Sphere & s /* r31 */) { // References // -> static float gMaxRadius; } // Range: 0x804274C8 -> 0x8042757C void WorldFireworks::DrawShowing(class WorldFireworks * const this /* r29 */) { // Local variables struct _List_iterator ri; // r1+0x10 class Rocket & r; // r0 int i; // r30 // References // -> class Rnd & TheRnd; } // Range: 0x8042757C -> 0x80427598 void WorldFireworks::DrawClass() { // References // -> static class RndParticleSys * gFlarePS; // -> static unsigned char gInitted; } static class Symbol _s; // size: 0x4, address: 0x80A523D8 // Range: 0x80427598 -> 0x80427CC0 class DataNode WorldFireworks::Handle(class WorldFireworks * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A523E0 static class Symbol _s; // size: 0x4, address: 0x80A523E8 static class Symbol _s; // size: 0x4, address: 0x80A523F0 static class Symbol _s; // size: 0x4, address: 0x80A523F8 static class Symbol _s; // size: 0x4, address: 0x80A52400 static class Symbol _s; // size: 0x4, address: 0x80A52408 static class Symbol _s; // size: 0x4, address: 0x80A52410 // Range: 0x80427CC0 -> 0x8042849C unsigned char WorldFireworks::SyncProperty(class WorldFireworks * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class FilePath sNull; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x128 } __vt__14WorldFireworks; // size: 0x128, address: 0x808EBFF8 struct { // total size: 0x8 } __RTTI__14WorldFireworks; // size: 0x8, address: 0x808EC168 // Range: 0x8042849C -> 0x8042851C static void __sinit_\Fireworks_cpp() { // References // -> static class list gRockets; // -> static class ExplosionParams gExplosionParams[2]; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804286B0 -> 0x80428B90 */ // Range: 0x804286B0 -> 0x80428B90 class BinStream & __rs(class BinStream & d /* r30 */, class ObjDirPtr & f /* r31 */) { // Local variables class FilePath path; // r1+0x14 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80428B90 -> 0x80428D28 */ // Range: 0x80428B90 -> 0x80428D28 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__3Sfx; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80428D28 -> 0x80429314 */ // Range: 0x80428D28 -> 0x80429314 void WorldFireworks::Launch(class WorldFireworks * const this /* r28 */) { // Local variables class Color startColor; // r1+0x40 class Color endColor; // r1+0x30 class Rocket * r; // r0 int i; // r27 class Transform xfm; // r1+0x80 class Matrix3 rot; // r1+0x50 float zenithTime; // f29 // References // -> class TaskMgr TheTaskMgr; // -> static class Vector2 gExplodeTimeRange; // -> const char * kAssertStr; // -> static class Vector3 gTrailForce; // -> static class Vector2 gLaunchSpeedRange; // -> static class Vector2 gLaunchAngleRange; // -> static class DataArray * gLaunchDirections; // -> static class RndParticleSys * gTrailPS; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80429314 -> 0x8042936C */ // Range: 0x80429314 -> 0x8042936C void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\world\Fireworks.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8042936C -> 0x8042955C */ // Range: 0x8042936C -> 0x804293B0 class Symbol WorldFireworks::ClassName() { // References // -> class Symbol name; } // Range: 0x804293B0 -> 0x80429554 void WorldFireworks::SetType(class WorldFireworks * const this /* r29 */, class Symbol & WorldFireworks /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80429554 -> 0x8042955C void WorldFireworks::Highlight() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8042955C -> 0x804295BC */ // Range: 0x8042955C -> 0x804295BC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\world\FreeCamera.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804295BC -> 0x80429FF8 */ // Range: 0x804295BC -> 0x804295FC void * FreeCamera::FreeCamera() { // References // -> struct [anonymous] __vt__10FreeCamera; } // Range: 0x804295FC -> 0x8042963C void * FreeCamera::~FreeCamera(class FreeCamera * const this /* r31 */) {} // Range: 0x8042963C -> 0x8042973C void FreeCamera::UpdateFromCamera(class FreeCamera * const this /* r30 */) { // References // -> class WorldDir * TheWorld; } // Range: 0x8042973C -> 0x8042978C void FreeCamera::SetActive(class FreeCamera * const this /* r30 */, unsigned char active /* r31 */) {} // Range: 0x8042978C -> 0x80429794 unsigned char FreeCamera::IsActive() {} // Range: 0x80429794 -> 0x80429800 void FreeCamera::AdvanceState(class FreeCamera * const this /* r31 */) {} // Range: 0x80429800 -> 0x80429820 void FreeCamera::NextState() {} // Range: 0x80429820 -> 0x80429864 void FreeCamera::SetFrozen(class FreeCamera * const this /* r30 */, unsigned char frozen /* r31 */) {} // Range: 0x80429864 -> 0x80429874 void FreeCamera::SetParentDof() {} // Range: 0x80429874 -> 0x80429FF8 void FreeCamera::Poll(class FreeCamera * const this /* r30 */) { // Local variables class JoypadData * data; // r0 float dt; // f31 float left0; // f2 float left1; // f3 float rotateRate; // f4 float left0rate; // f2 float left1rate; // f28 float slewRate; // f2 float r0; // f3 float r1; // f4 float r0rate; // f5 float r1rate; // f6 class Transform t; // r1+0x110 class Matrix3 rotMatrix; // r1+0xE0 class Vector3 angles; // r1+0x20 class Matrix3 multMatrix; // r1+0xB0 class Transform tempT; // r1+0x70 class Transform worldToParent; // r1+0x30 // References // -> class WorldDir * TheWorld; // -> class TaskMgr TheTaskMgr; } struct { // total size: 0xC } __vt__10FreeCamera; // size: 0xC, address: 0x808EC7A0 struct { // total size: 0x8 } __RTTI__10FreeCamera; // size: 0x8, address: 0x808EC7B8 /* Compile unit: C:\rockband2\system\src\world\LightPreset.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80429FF8 -> 0x804372B8 */ class DataArray * types; // size: 0x4, address: 0x80A52418 class Symbol name; // size: 0x4, address: 0x80A52420 class deque : protected _Deque_base { // total size: 0x28 }; class deque sManualEvents; // size: 0x28, address: 0x8097EF58 struct _SpotlightEntryCompressedInternal SpotlightOff; // size: 0x20, address: 0x8097EF90 class SpotlightEntryCompressed SpotlightEntryOff; // size: 0x4, address: 0x80A52424 // Range: 0x80429FF8 -> 0x8042A1F0 void * LightPreset::LightPreset(class LightPreset * const this /* r31 */) { // Local variables int i; // r5 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__11LightPreset; } // Range: 0x8042A1F0 -> 0x8042A240 unsigned char LightPreset::PlatformOk() { // Local variables enum Platform p; // r3 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8042A240 -> 0x8042A7C4 void * LightPreset::~LightPreset(class LightPreset * const this /* r30 */) { // Local variables int i; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__11LightPreset; } // Range: 0x8042A7C4 -> 0x8042A7D0 void LightPreset::ResetEvents() { // References // -> class deque sManualEvents; } // Range: 0x8042A7D0 -> 0x8042AAFC void LightPreset::Clear(class LightPreset * const this /* r31 */) { // Local variables unsigned int i; // r28 unsigned int i; // r28 unsigned int i; // r28 unsigned int i; // r28 } // Range: 0x8042AAFC -> 0x8042B3AC void LightPreset::Copy(class LightPreset * const this /* r27 */, const class Object * o /* r26 */, enum CopyType type /* r25 */) { // Local variables const class LightPreset * f; // r0 unsigned int i; // r25 unsigned int i; // r25 unsigned int i; // r25 unsigned int i; // r25 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } static int REV; // size: 0x4, address: 0x80A47060 // Range: 0x8042B3AC -> 0x8042B3F0 void LightPreset::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A52428 static unsigned char sLoading; // size: 0x1, address: 0x80A5242C static class Symbol target_animator; // size: 0x4, address: 0x80A52430 // Range: 0x8042B3F0 -> 0x8042D334 void LightPreset::Load(class LightPreset * const this /* r27 */, class BinStream & d /* r28 */) { // Local variables int size; // r1+0x1E4 int storageSize; // r1+0x1E0 int storageIndex; // r25 int i; // r26 int i; // r25 char buf[128]; // r1+0x2B0 int sz; // r1+0x1DC unsigned int i; // r25 unsigned int i; // r25 unsigned int i; // r25 struct Keyframe pulseFrame; // r1+0x470 class String selectionScriptStr; // r1+0x20C class String pulseScriptStr; // r1+0x200 unsigned int i; // r25 int i; // r1+0x1D8 unsigned int i; // r25 unsigned int i; // r25 unsigned int i; // r25 unsigned int i; // r25 class RndDir * backlightDir; // r25 const class DataNode * backlight; // r0 const class DataNode * backlightEvent; // r0 const class DataNode * target1; // r25 const class DataNode * target2; // r25 const class DataNode * target3; // r25 const class DataNode * target4; // r25 const class DataNode * target5; // r25 const class DataNode * target6; // r25 // References // -> struct [anonymous] __RTTI__9Character; // -> struct [anonymous] __RTTI__12EventTrigger; // -> struct [anonymous] __RTTI__6RndDir; // -> const char * gNullStr; // -> static class Symbol target_animator; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__15SpotlightDrawer; // -> struct [anonymous] __RTTI__8RndLight; // -> struct [anonymous] __RTTI__10RndEnviron; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; // -> class Debug TheDebug; // -> static int REV; // -> static int gRev; // -> static unsigned char sLoading; } // Range: 0x8042D334 -> 0x8042D668 void LightPreset::Replace(class LightPreset * const this /* r30 */, class Object * to /* r31 */) { // Local variables unsigned int i; // r7 unsigned int i; // r7 unsigned int i; // r7 unsigned int i; // r7 // References // -> struct [anonymous] __RTTI__15SpotlightDrawer; // -> struct [anonymous] __RTTI__8RndLight; // -> struct [anonymous] __RTTI__10RndEnviron; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x8042D668 -> 0x8042D8E4 void LightPreset::RemoveSpotlight(class LightPreset * const this /* r28 */, int index /* r29 */) { // Local variables unsigned int i; // r5 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8042D8E4 -> 0x8042DB5C void LightPreset::RemoveEnvironment(class LightPreset * const this /* r30 */, int index /* r31 */) { // Local variables unsigned int i; // r6 } // Range: 0x8042DB5C -> 0x8042DDDC void LightPreset::RemoveLight(class LightPreset * const this /* r30 */, int index /* r31 */) { // Local variables unsigned int i; // r6 } // Range: 0x8042DDDC -> 0x8042DFDC void LightPreset::RemoveSpotlightDrawer(class LightPreset * const this /* r30 */, int index /* r31 */) { // Local variables unsigned int i; // r5 } static class Message play_anim; // size: 0x8, address: 0x8097EFC0 // Range: 0x8042DFDC -> 0x8042E758 void LightPreset::StartAnim(class LightPreset * const this /* r29 */) { // Local variables int i; // r30 // References // -> static class Message play_anim; // -> struct [anonymous] __vt__7Message; // -> class TaskMgr TheTaskMgr; } // Range: 0x8042E758 -> 0x8042E760 void LightPreset::SetFrame() {} static class Timer * _t; // size: 0x4, address: 0x80A52438 static class Message start; // size: 0x8, address: 0x8097EFD8 // Range: 0x8042E760 -> 0x8042EC50 void LightPreset::SetFrameEx(class LightPreset * const this /* r27 */, float frame /* f28 */, float blend /* f31 */, unsigned char same /* r28 */) { // Local variables class AutoTimer _at; // r1+0x2C const struct Keyframe * curFrame; // r30 const struct Keyframe * prevFrame; // r29 float curBlend; // r1+0x28 float nextEvent; // f30 float fadeBeats; // f29 float timePassed; // f1 int prevFrameI; // r1+0x24 int curFrameI; // r1+0x20 // References // -> static class Message start; // -> struct [anonymous] __vt__7Message; // -> class TaskMgr TheTaskMgr; // -> class deque sManualEvents; // -> class LoadMgr TheLoadMgr; // -> static class Timer * _t; } // Range: 0x8042EC50 -> 0x8042ECDC void LightPreset::OnNext() { // References // -> class deque sManualEvents; // -> class TaskMgr TheTaskMgr; } // Range: 0x8042ECDC -> 0x8042ED68 void LightPreset::OnPrev() { // References // -> class deque sManualEvents; // -> class TaskMgr TheTaskMgr; } // Range: 0x8042ED68 -> 0x8042EDF4 void LightPreset::OnFirst() { // References // -> class deque sManualEvents; // -> class TaskMgr TheTaskMgr; } // Range: 0x8042EDF4 -> 0x8042EF54 void LightPreset::AdvanceManual(class LightPreset * const this /* r31 */, int advance /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8042EF54 -> 0x8042F30C void LightPreset::GetKey(class LightPreset * const this /* r25 */, float frame /* f30 */, int & prev /* r26 */, int & next /* r27 */, float & alpha /* r28 */) { // Local variables float fadeStart; // f31 int before; // r30 int after; // r29 int between; // r4 float f; // f0 float fadeStart; // f31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8042F30C -> 0x8042F370 void LightPreset::ApplyState(class LightPreset * const this /* r30 */, const struct Keyframe & frame /* r31 */) {} // Range: 0x8042F370 -> 0x8042F5E8 void LightPreset::DecompressSpotEntryVec(class ObjVector & destination /* r28 */, const class ObjVector & source /* r29 */) { // Local variables int i; // r26 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8042F5E8 -> 0x8042FA0C void LightPreset::AnimateState(class LightPreset * const this /* r28 */, const struct Keyframe & frame /* r29 */, const struct Keyframe & nextFrame /* r30 */, float blend /* f31 */) { // Local variables unsigned int i; // r31 unsigned int i; // r31 unsigned int i; // r31 unsigned int i; // r31 } // Range: 0x8042FA0C -> 0x8042FD80 void LightPreset::Animate(class LightPreset * const this /* r30 */, float blend /* f31 */) { // Local variables unsigned int i; // r29 unsigned int i; // r29 unsigned int i; // r29 unsigned int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8042FD80 -> 0x8042FEFC void LightPreset::SetKeyframe(class LightPreset * const this /* r30 */, struct Keyframe & frame /* r31 */) { // Local variables unsigned int i; // r29 unsigned int i; // r29 unsigned int i; // r29 unsigned int i; // r29 } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class Spotlight * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8042FEFC -> 0x80430244 void LightPreset::SyncNewSpotlights(class LightPreset * const this /* r31 */) { // Local variables class ObjDirItr i; // r1+0x1C class Spotlight & test; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndEnviron * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class SpotlightDrawer * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80430244 -> 0x80430C24 void LightPreset::SyncKeyframeTargets(class LightPreset * const this /* r31 */) { // Local variables class ObjDirItr i; // r1+0x84 class Spotlight & test; // r1+0x58 class ObjDirItr i; // r1+0x70 class RndEnviron & test; // r1+0x54 class iterator i; // r1+0x50 class RndLight * light; // r1+0x4C class ObjDirItr i; // r1+0x5C class SpotlightDrawer & test; // r1+0x48 // References // -> struct [anonymous] __RTTI__15SpotlightDrawer; // -> struct [anonymous] __RTTI__10RndEnviron; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x80430C24 -> 0x80431120 void LightPreset::AddSpotlight(class LightPreset * const this /* r28 */, class Spotlight * light /* r1+0x10 */, unsigned char initToBlack /* r26 */) { // Local variables struct SpotlightEntry entry; // r1+0x70 unsigned int i; // r30 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SpotlightEntryCompressed SpotlightEntryOff; } // Range: 0x80431120 -> 0x804313E4 void LightPreset::AddEnvironment(class LightPreset * const this /* r30 */, class RndEnviron * env /* r1+0x10 */) { // Local variables struct EnvironmentEntry entry; // r1+0x30 unsigned int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804313E4 -> 0x804316A0 void LightPreset::AddLight(class LightPreset * const this /* r30 */, class RndLight * light /* r1+0x10 */) { // Local variables struct EnvLightEntry entry; // r1+0x30 unsigned int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804316A0 -> 0x804318DC void LightPreset::AddSpotlightDrawer(class LightPreset * const this /* r30 */, class SpotlightDrawer * sd /* r1+0x8 */) { // Local variables struct SpotlightDrawerEntry entry; // r1+0x20 unsigned int i; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804318DC -> 0x80431BC0 void LightPreset::CacheFrames(class LightPreset * const this /* r26 */) { // Local variables float frame; // f31 unsigned int i; // r28 struct Keyframe & key; // r0 struct Keyframe & lastKey; // r0 unsigned int j; // r27 unsigned int j; // r27 unsigned int j; // r27 unsigned int j; // r27 } // Range: 0x80431BC0 -> 0x80431BF4 void LightPreset::TranslateColor() {} // Range: 0x80431BF4 -> 0x80431E08 void LightPreset::FillSpotPresetData(class Spotlight * spot /* r29 */, struct SpotlightEntry & entry /* r30 */, int propogateType /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80431E08 -> 0x80432214 void LightPreset::FillSpotPresetData(class Spotlight * spot /* r29 */, class SpotlightEntryCompressed & entry /* r30 */, int propogateType /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct _SpotlightEntryCompressedInternal SpotlightOff; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80432214 -> 0x804325C0 void LightPreset::AnimateSpotFromPreset(class LightPreset * const this /* r29 */, class Spotlight * spot /* r30 */, const struct SpotlightEntry & entry /* r31 */, float blend /* f30 */) { // Local variables class Color newColor; // r1+0x50 float newIntensity; // f1 class Color entryColor; // r1+0x40 class Quat ZeroQuat; // r1+0x30 class Quat to; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804325C0 -> 0x8043270C void LightPreset::FillLightPresetData(class RndLight * l /* r30 */, struct EnvLightEntry & entry /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8043270C -> 0x804329C8 void LightPreset::AnimateLightFromPreset(class RndLight * l /* r30 */, const struct EnvLightEntry & entry /* r31 */, float blend /* f31 */) { // Local variables class Color color; // r1+0x20 float range; // f30 class Matrix3 m; // r1+0x70 class Transform xfm; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804329C8 -> 0x80432B80 void LightPreset::FillEnvPresetData(class RndEnviron * e /* r30 */, struct EnvironmentEntry & entry /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80432B80 -> 0x8043301C void LightPreset::AnimateEnvFromPreset(class LightPreset * const this /* r29 */, class RndEnviron * e /* r30 */, const struct EnvironmentEntry & entry /* r31 */, float blend /* f31 */) { // Local variables class Color ambientColor; // r1+0x20 float fogStart; // f29 float fogEnd; // f28 class Color fogColor; // r1+0x10 float farPlane; // f0 // References // -> class RndCam * sCurrent; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8043301C -> 0x80433038 void LightPreset::FillSpotlightDrawerPresetData() {} // Range: 0x80433038 -> 0x80433078 void LightPreset::AnimateSpotlightDrawerFromPreset() { // Local variables float res; // f0 } // Range: 0x80433078 -> 0x8043315C void LightPreset::SetSpotlight(class LightPreset * const this /* r27 */, class Spotlight * spot /* r28 */, int propogateFlags /* r29 */) { // Local variables unsigned int i; // r31 unsigned int k; // r30 } // Range: 0x8043315C -> 0x8043322C class DataNode LightPreset::OnSetKeyframe(class LightPreset * const this /* r29 */, class DataArray * args /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x8043322C -> 0x804332B0 class DataNode LightPreset::OnViewKeyframe(class LightPreset * const this /* r30 */, class DataArray * args /* r31 */) {} // Range: 0x804332B0 -> 0x80433830 void * Keyframe::Keyframe(struct Keyframe * const this /* r30 */, class Object * owner /* r28 */) { // Local variables class LightPreset * preset; // r31 // References // -> static unsigned char sLoading; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } // Range: 0x80433830 -> 0x80433B64 void * Keyframe::~Keyframe(struct Keyframe * const this /* r30 */) {} // Range: 0x80433B64 -> 0x80433B68 void Keyframe::Load() {} // Range: 0x80433B68 -> 0x80433E04 int Keyframe::Load(struct Keyframe * const this /* r27 */, class BinStream & d /* r28 */, struct _SpotlightEntryCompressedInternal * dst /* r29 */, unsigned char dropDead /* r30 */) { // Local variables int size; // r1+0x20 int storageIndex; // r26 int i; // r31 int dummy; // r1+0x1C // References // -> static int gRev; } // Range: 0x80433E04 -> 0x80433E50 void * SpotlightEntry::SpotlightEntry() { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80433E50 -> 0x80433FC8 void SpotlightEntry::CalculateDirection(const struct SpotlightEntry * const this /* r27 */, class Spotlight * slight /* r28 */, class Quat & out /* r29 */) { // Local variables class RndTransformable * target; // r30 class ObjectDir * dir; // r0 class Matrix3 m; // r1+0x20 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9ObjectDir; // -> const char * gNullStr; } // Range: 0x80433FC8 -> 0x80434340 void SpotlightEntry::Animate(struct SpotlightEntry * const this /* r29 */, class Spotlight * slight /* r30 */, const class SpotlightEntryCompressed & other /* r31 */, float blend /* f31 */) { // Local variables float i; // f4 float oi; // f0 class Color c; // r1+0x50 class Color oc; // r1+0x40 class Quat from; // r1+0x30 class Quat to; // r1+0x20 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct _SpotlightEntryCompressedInternal SpotlightOff; } // Range: 0x80434340 -> 0x8043458C struct SpotlightEntry & SpotlightEntry::__as(struct SpotlightEntry * const this /* r30 */, const class SpotlightEntryCompressed & compressed /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct _SpotlightEntryCompressedInternal SpotlightOff; } // Range: 0x8043458C -> 0x8043459C void * SpotlightEntryCompressed::SpotlightEntryCompressed() { // References // -> struct _SpotlightEntryCompressedInternal SpotlightOff; } static class Symbol bone_pelvis; // size: 0x4, address: 0x80A52440 // Range: 0x8043459C -> 0x80434D58 unsigned char SpotlightEntryCompressed::Load(class SpotlightEntryCompressed * const this /* r30 */, class BinStream & d /* r31 */, struct _SpotlightEntryCompressedInternal * dst /* r29 */, unsigned char dropDead /* r28 */) { // Local variables float intensity; // r1+0x1C class Quat q; // r1+0x60 class Color c; // r1+0x50 class ObjPtr target; // r1+0x40 int flareSteps; // r1+0x18 class Quat q; // r1+0x30 class Color c; // r1+0x20 int flareSteps; // r1+0x14 class Character * dude; // r0 // References // -> struct [anonymous] __RTTI__9Character; // -> static class Symbol bone_pelvis; // -> struct _SpotlightEntryCompressedInternal SpotlightOff; // -> static int gRev; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } struct Node { // total size: 0xC class RndLight * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; // Range: 0x80434D58 -> 0x80434F54 void SpotlightEntryCompressed::CalculateDirection(const class SpotlightEntryCompressed * const this /* r29 */, class Spotlight * slight /* r30 */, class Quat & out /* r31 */) { // Local variables class RndTransformable * target; // r27 class ObjectDir * dir; // r0 class Matrix3 m; // r1+0x20 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9ObjectDir; // -> const char * gNullStr; } // Range: 0x80434F54 -> 0x804351AC unsigned char SpotlightEntryCompressed::__ne(const class SpotlightEntryCompressed * const this /* r30 */, const class SpotlightEntryCompressed & other /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct _SpotlightEntryCompressedInternal SpotlightOff; } // Range: 0x804351AC -> 0x80435210 void * _SpotlightEntryCompressedInternal::_SpotlightEntryCompressedInternal() { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x80435210 -> 0x80435308 void EnvironmentEntry::Load(struct EnvironmentEntry * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80435308 -> 0x80435430 void EnvironmentEntry::Animate() { // Local variables float farPlane; // f0 // References // -> class RndCam * sCurrent; } // Range: 0x80435430 -> 0x80435520 unsigned char EnvironmentEntry::__ne() {} // Range: 0x80435520 -> 0x8043568C void EnvLightEntry::Load(struct EnvLightEntry * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class Color color; // r1+0x10 } // Range: 0x8043568C -> 0x804358E4 void EnvLightEntry::Animate(struct EnvLightEntry * const this /* r30 */, const struct EnvLightEntry & other /* r31 */, float blend /* f31 */) { // Local variables class Color a; // r1+0x20 class Color b; // r1+0x10 } // Range: 0x804358E4 -> 0x804359D0 unsigned char EnvLightEntry::__ne() {} // Range: 0x804359D0 -> 0x80435A34 void SpotlightDrawerEntry::Load(struct SpotlightDrawerEntry * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80435A34 -> 0x80435A74 void SpotlightDrawerEntry::Animate() {} // Range: 0x80435A74 -> 0x80435AC0 unsigned char SpotlightDrawerEntry::__ne() {} static class Symbol _s; // size: 0x4, address: 0x80A52448 static class Symbol _s; // size: 0x4, address: 0x80A52450 static class Symbol _s; // size: 0x4, address: 0x80A52458 // Range: 0x80435AC0 -> 0x80435D68 unsigned char PropSync(struct Keyframe & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A52460 static class Symbol _s; // size: 0x4, address: 0x80A52468 static class Symbol _s; // size: 0x4, address: 0x80A52470 static class Symbol _s; // size: 0x4, address: 0x80A52478 static class Symbol _s; // size: 0x4, address: 0x80A52480 static class Symbol _s; // size: 0x4, address: 0x80A52488 // Range: 0x80435D68 -> 0x8043676C class DataNode LightPreset::Handle(class LightPreset * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52490 static class Symbol _s; // size: 0x4, address: 0x80A52498 static class Symbol _s; // size: 0x4, address: 0x80A524A0 static class Symbol _s; // size: 0x4, address: 0x80A524A8 static class Symbol _s; // size: 0x4, address: 0x80A524B0 static class Symbol _s; // size: 0x4, address: 0x80A524B8 static class Symbol _s; // size: 0x4, address: 0x80A524C0 static class Symbol _s; // size: 0x4, address: 0x80A524C8 static class Symbol _s; // size: 0x4, address: 0x80A524D0 static class Symbol _s; // size: 0x4, address: 0x80A524D8 static class Symbol _s; // size: 0x4, address: 0x80A524E0 static class Symbol _s; // size: 0x4, address: 0x80A524E8 // Range: 0x8043676C -> 0x80437210 unsigned char LightPreset::SyncProperty(class LightPreset * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8LightHue; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x8 } __RTTI__15SpotlightDrawer; // size: 0x8, address: 0x808ECFF0 struct { // total size: 0xA4 } __vt__11LightPreset; // size: 0xA4, address: 0x808ED038 struct { // total size: 0x8 } __RTTI__8RndLight; // size: 0x8, address: 0x808ED368 struct { // total size: 0x8 } __RTTI__PPQ211stlpmtx_std9pair; // size: 0x8, address: 0x808ED520 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std9pair; // size: 0x8, address: 0x808ED548 struct { // total size: 0x8 } __RTTI__PP15SpotlightDrawer; // size: 0x8, address: 0x808ED568 struct { // total size: 0x8 } __RTTI__PP8RndLight; // size: 0x8, address: 0x808ED580 struct { // total size: 0x8 } __RTTI__PP10RndEnviron; // size: 0x8, address: 0x808ED598 struct { // total size: 0x8 } __RTTI__PP9Spotlight; // size: 0x8, address: 0x808ED5B0 struct { // total size: 0x8 } __RTTI__PQ211LightPreset20SpotlightDrawerEntry; // size: 0x8, address: 0x808ED5E0 struct { // total size: 0x8 } __RTTI__PQ211LightPreset13EnvLightEntry; // size: 0x8, address: 0x808ED608 struct { // total size: 0x8 } __RTTI__PQ211LightPreset16EnvironmentEntry; // size: 0x8, address: 0x808ED630 struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211LightPreset24SpotlightEntryCompressed; // size: 0x8, address: 0x808ED660 struct { // total size: 0x8 } __RTTI__PQ211LightPreset8Keyframe; // size: 0x8, address: 0x808ED680 struct { // total size: 0x8 } __RTTI__PQ211LightPreset14SpotlightEntry; // size: 0x8, address: 0x808ED6C0 // Range: 0x80437210 -> 0x804372B8 static void __sinit_\LightPreset_cpp() { // References // -> class SpotlightEntryCompressed SpotlightEntryOff; // -> struct _SpotlightEntryCompressedInternal SpotlightOff; // -> class deque sManualEvents; } class StlNodeAlloc { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; struct pair { // total size: 0x8 int first; // offset 0x0, size 0x4 float second; // offset 0x4, size 0x4 }; struct _Deque_iterator_base { // total size: 0x10 struct pair * _M_cur; // offset 0x0, size 0x4 struct pair * _M_first; // offset 0x4, size 0x4 struct pair * _M_last; // offset 0x8, size 0x4 struct pair * * _M_node; // offset 0xC, size 0x4 }; struct _Deque_iterator : public _Deque_iterator_base { // total size: 0x10 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct pair * * _M_data; // offset 0x0, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned long _M_data; // offset 0x0, size 0x4 }; class _Deque_base { // total size: 0x28 protected: struct _Deque_iterator _M_start; // offset 0x0, size 0x10 struct _Deque_iterator _M_finish; // offset 0x10, size 0x10 class _STLP_alloc_proxy _M_map; // offset 0x20, size 0x4 class _STLP_alloc_proxy _M_map_size; // offset 0x24, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804372B8 -> 0x804377BC */ // Range: 0x804372B8 -> 0x80437338 void * vector::~vector(class vector * const this /* r30 */) {} // Range: 0x80437338 -> 0x80437350 unsigned long vector::size() {} // Range: 0x80437350 -> 0x80437378 unsigned long vector::size() {} // Range: 0x80437378 -> 0x804373A0 unsigned long vector::size() {} // Range: 0x804373A0 -> 0x804373C8 unsigned long vector::size() {} // Range: 0x804373C8 -> 0x804373D8 struct Keyframe & vector::__vc() {} // Range: 0x804373D8 -> 0x80437400 unsigned long vector::size() {} // Range: 0x80437400 -> 0x80437410 class SpotlightEntryCompressed & vector::__vc() {} // Range: 0x80437410 -> 0x80437420 struct EnvironmentEntry & vector::__vc() {} // Range: 0x80437420 -> 0x80437430 struct EnvLightEntry & vector::__vc() {} // Range: 0x80437430 -> 0x80437440 struct SpotlightDrawerEntry & vector::__vc() {} // Range: 0x80437440 -> 0x80437444 class StlNodeAlloc vector::get_allocator() {} // Range: 0x80437444 -> 0x80437580 void * vector::vector(class vector * const this /* r30 */, const class vector & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset16EnvironmentEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80437580 -> 0x80437584 class StlNodeAlloc vector::get_allocator() {} // Range: 0x80437584 -> 0x804376B8 void * vector::vector(class vector * const this /* r30 */, const class vector & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset13EnvLightEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804376B8 -> 0x804376BC class StlNodeAlloc vector::get_allocator() {} // Range: 0x804376BC -> 0x804377B8 void * vector::vector(class vector * const this /* r30 */, const class vector & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset20SpotlightDrawerEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804377B8 -> 0x804377BC class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804377BC -> 0x804378D8 */ // Range: 0x804377BC -> 0x804378D8 void ObjVector::__as(class ObjVector * const this /* r30 */, const class ObjVector & x /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_bvector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804378D8 -> 0x80438C48 */ // Range: 0x804378D8 -> 0x80437CC8 class vector & vector::__as(class vector * const this /* r30 */, const class vector & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80437CC8 -> 0x80437D00 struct _Bit_reference & _Bit_reference::__as() {} // Range: 0x80437D00 -> 0x80437E7C void vector::clear() {} // Range: 0x80437E7C -> 0x80438928 void vector::resize(class vector * const this /* r28 */, unsigned char __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80438928 -> 0x804389B0 struct _Bit_reference vector::__vc() {} // Range: 0x804389B0 -> 0x80438C44 void * vector::vector(class vector * const this /* r30 */, const class vector & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80438C44 -> 0x80438C48 class StlNodeAlloc _Bvector_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80438C48 -> 0x804390CC */ // Range: 0x80438C48 -> 0x80438D9C class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 struct SpotlightDrawerEntry * t; // r29 } // Range: 0x80438D9C -> 0x80438F34 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 struct EnvLightEntry * t; // r29 } // Range: 0x80438F34 -> 0x804390CC class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 struct EnvironmentEntry * t; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804390CC -> 0x8043944C */ // Range: 0x804390CC -> 0x804391AC class Spotlight * * find() {} // Range: 0x804391AC -> 0x8043928C class SpotlightDrawer * * find() {} // Range: 0x8043928C -> 0x8043936C class RndLight * * find() {} // Range: 0x8043936C -> 0x8043944C class RndEnviron * * find() {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8043944C -> 0x8043989C */ // Range: 0x8043944C -> 0x804395BC void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x804395BC -> 0x8043972C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; } // Range: 0x8043972C -> 0x8043989C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15SpotlightDrawer; } /* Compile unit: C:\rockband2\system\src\world\LightPreset.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8043989C -> 0x80439AD8 */ // Range: 0x8043989C -> 0x804398F8 class ObjPtr SpotlightEntryCompressed::GetTarget() { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct _SpotlightEntryCompressedInternal SpotlightOff; } // Range: 0x804398F8 -> 0x8043993C class Symbol LightPreset::ClassName() { // References // -> class Symbol name; } // Range: 0x8043993C -> 0x80439AD0 void LightPreset::SetType(class LightPreset * const this /* r29 */, class Symbol & LightPreset /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80439AD0 -> 0x80439AD8 float LightPreset::EndFrame() {} /* Compile unit: C:\rockband2\system\src\rndobj\Lit.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80439AD8 -> 0x80439B70 */ // Range: 0x80439AD8 -> 0x80439B68 void RndLight::SetColor(class RndLight * const this /* r30 */, const class Color & color /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80439B68 -> 0x80439B70 void RndLight::SetRange() {} /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80439B70 -> 0x80439E34 */ // Range: 0x80439B70 -> 0x80439E34 unsigned char PropSync(class ObjVector & v /* r30 */, class DataNode & n /* r31 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r29 */) { // Local variables struct Keyframe * it; // r28 struct Keyframe tmp; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80439E34 -> 0x8043A574 */ // Range: 0x80439E34 -> 0x80439F68 void deque::clear(class deque * const this /* r31 */) { // Local variables struct pair * * __node; // r30 } // Range: 0x80439F68 -> 0x8043A034 void deque::_M_push_back_aux_v(class deque * const this /* r31 */, const struct pair & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std9pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043A034 -> 0x8043A0A8 void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x8043A0A8 -> 0x8043A28C void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 struct pair * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std9pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043A28C -> 0x8043A308 void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x8043A308 -> 0x8043A404 void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 struct pair * * __nstart; // r28 struct pair * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std9pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043A404 -> 0x8043A470 void _Deque_base::_M_create_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std9pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043A470 -> 0x8043A4C0 void _Deque_base::_M_destroy_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __n; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8043A574 -> 0x8043F850 */ // Range: 0x8043A574 -> 0x8043A5F4 void vector::_M_fill_insert() {} // Range: 0x8043A5F4 -> 0x8043A72C void vector::_M_insert_overflow(class vector * const this /* r27 */, class SpotlightDrawer * * __pos /* r28 */, class SpotlightDrawer * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class SpotlightDrawer * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15SpotlightDrawer; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043A72C -> 0x8043A8FC class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15SpotlightDrawer; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043A8FC -> 0x8043A968 void vector::_M_fill_insert() {} // Range: 0x8043A968 -> 0x8043AAA0 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndLight * * __pos /* r28 */, class RndLight * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndLight * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8RndLight; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043AAA0 -> 0x8043AC70 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8RndLight; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043AC70 -> 0x8043ACDC void vector::_M_fill_insert() {} // Range: 0x8043ACDC -> 0x8043AE14 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndEnviron * * __pos /* r28 */, class RndEnviron * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndEnviron * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10RndEnviron; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043AE14 -> 0x8043AFE4 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10RndEnviron; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043AFE4 -> 0x8043B050 void vector::_M_fill_insert() {} // Range: 0x8043B050 -> 0x8043B188 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Spotlight * * __pos /* r28 */, class Spotlight * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Spotlight * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9Spotlight; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043B188 -> 0x8043B358 class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9Spotlight; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043B358 -> 0x8043B3C4 void vector::_M_fill_insert() {} // Range: 0x8043B3C4 -> 0x8043B8A8 class vector & vector::__as(class vector * const this /* r27 */, const class vector & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset8Keyframe; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043B8A8 -> 0x8043B910 struct Keyframe * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8043B910 -> 0x8043B990 void vector::_M_fill_insert() {} // Range: 0x8043B990 -> 0x8043BBE4 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset24SpotlightEntryCompressed; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043BBE4 -> 0x8043BC54 void vector::_M_fill_insert() {} // Range: 0x8043BC54 -> 0x8043BE80 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct SpotlightDrawerEntry * __pos /* r26 */, const struct SpotlightDrawerEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct SpotlightDrawerEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset20SpotlightDrawerEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043BE80 -> 0x8043C16C class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset20SpotlightDrawerEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043C16C -> 0x8043C1EC void vector::_M_fill_insert() {} // Range: 0x8043C1EC -> 0x8043C4F8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct EnvLightEntry * __pos /* r26 */, const struct EnvLightEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct EnvLightEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset13EnvLightEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043C4F8 -> 0x8043C8D0 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset13EnvLightEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043C8D0 -> 0x8043C950 void vector::_M_fill_insert() {} // Range: 0x8043C950 -> 0x8043CC7C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct EnvironmentEntry * __pos /* r26 */, const struct EnvironmentEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct EnvironmentEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset16EnvironmentEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043CC7C -> 0x8043D064 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset16EnvironmentEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043D064 -> 0x8043D0E4 void vector::_M_fill_insert() {} // Range: 0x8043D0E4 -> 0x8043D4B8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct SpotlightEntry * __pos /* r26 */, const struct SpotlightEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct SpotlightEntry * __new_finish; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset14SpotlightEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043D4B8 -> 0x8043DA10 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, struct SpotlightEntry * __pos /* r26 */, unsigned long __n /* r27 */, const struct SpotlightEntry & __x /* r28 */) { // Local variables struct SpotlightEntry __x_copy; // r1+0x30 unsigned long __elems_after; // r29 struct SpotlightEntry * __old_finish; // r0 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x8043DA10 -> 0x8043DBC4 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class SpotlightDrawer * * __pos /* r29 */, unsigned long __n /* r25 */, class SpotlightDrawer * const & __x /* r30 */) { // Local variables class SpotlightDrawer * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } // Range: 0x8043DBC4 -> 0x8043DD78 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class RndLight * * __pos /* r29 */, unsigned long __n /* r25 */, class RndLight * const & __x /* r30 */) { // Local variables class RndLight * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } // Range: 0x8043DD78 -> 0x8043DF2C void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class RndEnviron * * __pos /* r29 */, unsigned long __n /* r25 */, class RndEnviron * const & __x /* r30 */) { // Local variables class RndEnviron * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } // Range: 0x8043DF2C -> 0x8043E0E0 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class Spotlight * * __pos /* r29 */, unsigned long __n /* r25 */, class Spotlight * const & __x /* r30 */) { // Local variables class Spotlight * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } // Range: 0x8043E0E0 -> 0x8043E4F0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Keyframe * __pos /* r26 */, const struct Keyframe & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Keyframe * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset8Keyframe; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043E4F0 -> 0x8043EA9C void vector::_M_fill_insert_aux(class vector * const this /* r26 */, struct Keyframe * __pos /* r27 */, unsigned long __n /* r28 */, const struct Keyframe & __x /* r29 */) { // Local variables struct Keyframe __x_copy; // r1+0x20 unsigned long __elems_after; // r30 struct Keyframe * __old_finish; // r0 } // Range: 0x8043EA9C -> 0x8043EC68 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class SpotlightEntryCompressed * __pos /* r26 */, const class SpotlightEntryCompressed & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class SpotlightEntryCompressed * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211LightPreset24SpotlightEntryCompressed; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8043EC68 -> 0x8043EE10 void vector::_M_fill_insert_aux() { // Local variables class SpotlightEntryCompressed __x_copy; // r1+0x1C unsigned long __elems_after; // r9 class SpotlightEntryCompressed * __old_finish; // r0 } // Range: 0x8043EE10 -> 0x8043F050 void vector::_M_fill_insert_aux() { // Local variables struct SpotlightDrawerEntry __x_copy; // r1+0x1C unsigned long __elems_after; // r10 struct SpotlightDrawerEntry * __old_finish; // r0 } // Range: 0x8043F050 -> 0x8043F440 void vector::_M_fill_insert_aux() { // Local variables struct EnvLightEntry __x_copy; // r1+0x30 unsigned long __elems_after; // r9 struct EnvLightEntry * __old_finish; // r0 } // Range: 0x8043F440 -> 0x8043F850 void vector::_M_fill_insert_aux() { // Local variables struct EnvironmentEntry __x_copy; // r1+0x30 unsigned long __elems_after; // r9 struct EnvironmentEntry * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8043F850 -> 0x8043F9AC */ // Range: 0x8043F850 -> 0x8043F868 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8043F94C -> 0x8043F964 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8043F964 -> 0x8043F97C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8043F97C -> 0x8043F994 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x8043F994 -> 0x8043F9AC struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8043F9AC -> 0x8043FB64 */ // Range: 0x8043F9AC -> 0x8043FAE8 void * deque::~deque(class deque * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\world\LightHue.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8043FB64 -> 0x80440DFC */ class DataArray * types; // size: 0x4, address: 0x80A524F0 class Symbol name; // size: 0x4, address: 0x80A524F8 // Range: 0x8043FB64 -> 0x8043FBDC void * LightHue::LightHue(class LightHue * const this /* r29 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__8LightHue; } // Range: 0x8043FBDC -> 0x8043FCF8 void * LightHue::~LightHue(class LightHue * const this /* r30 */) { // References // -> struct [anonymous] __vt__8LightHue; } // Range: 0x8043FCF8 -> 0x8043FD74 void LightHue::Copy(class LightHue * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class LightHue * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8LightHue; } static int REV; // size: 0x4, address: 0x80A524FC // Range: 0x8043FD74 -> 0x8043FDB8 void LightHue::Save() { // References // -> class Debug TheDebug; } // Range: 0x8043FDB8 -> 0x8043FE14 void LightHue::Load(class LightHue * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x8043FE14 -> 0x8043FF28 void LightHue::PreLoad(class LightHue * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> class Debug TheDebug; // -> static int REV; } // Range: 0x8043FF28 -> 0x8043FF44 void LightHue::PostLoad() { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8043FF44 -> 0x80440328 void LightHue::Sync(class LightHue * const this /* r29 */) { // Local variables int size; // r1+0x40 char * buffer; // r31 class RndBitmap bm; // r1+0xB4 class BufStream b; // r1+0x90 int i; // r30 unsigned char r; // r1+0x33 unsigned char g; // r1+0x32 unsigned char b; // r1+0x31 unsigned char a; // r1+0x30 float hue; // r1+0x3C float sat; // r1+0x38 float lit; // r1+0x34 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80440328 -> 0x80440788 void LightHue::TranslateColor(class LightHue * const this /* r23 */, class Color & out /* r24 */) { // Local variables float intensity; // f30 class Color c; // r1+0x30 float hue; // r1+0x18 float sat; // r1+0x14 float lit; // r1+0x10 class Vector3 frame; // r1+0x20 } static class Symbol _s; // size: 0x4, address: 0x80A52504 // Range: 0x80440788 -> 0x80440B88 class DataNode LightHue::Handle(class LightHue * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80440B88 -> 0x80440D00 class DataNode LightHue::OnSaveDefault(class DataArray * a /* r26 */) { // Local variables class RndBitmap bm; // r1+0x20 int x; // r31 class Color c; // r1+0x10 unsigned char r; // r30 unsigned char g; // r29 unsigned char b; // r28 int y; // r27 } static class Symbol _s; // size: 0x4, address: 0x80A5250C // Range: 0x80440D00 -> 0x80440DFC unsigned char LightHue::SyncProperty(class LightHue * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } struct { // total size: 0x54 } __vt__8LightHue; // size: 0x54, address: 0x808ED8F8 /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80440DFC -> 0x80440F6C */ // Range: 0x80440DFC -> 0x80440F6C class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 class Key * t; // r29 } /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80440F6C -> 0x80440FDC */ // Range: 0x80440F6C -> 0x80440FDC class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} /* Compile unit: C:\rockband2\system\src\world\LightHue.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80440FDC -> 0x804411A0 */ // Range: 0x80440FDC -> 0x8044115C void LightHue::SetType(class LightHue * const this /* r29 */, class Symbol & LightHue /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8044115C -> 0x804411A0 class Symbol LightHue::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804411A0 -> 0x80441464 */ // Range: 0x804411A0 -> 0x80441464 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13Key<7Vector3>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\world\LightPresetManager.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80441464 -> 0x80444AA0 */ class _Slist_node : public _Slist_node_base { // total size: 0x14 public: struct pair _M_data; // offset 0x4, size 0x10 }; // Range: 0x80441464 -> 0x80441728 void * LightPresetManager::~LightPresetManager(class LightPresetManager * const this /* r30 */) {} class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class LightPreset * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80441728 -> 0x80441CE4 void LightPresetManager::SyncObjects(class LightPresetManager * const this /* r29 */) { // Local variables class ObjDirItr i; // r1+0x88 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11LightPreset; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PP11LightPreset; // size: 0x8, address: 0x808ED9B8 // Range: 0x80441CE4 -> 0x80441E78 void LightPresetManager::Enter(class LightPresetManager * const this /* r31 */) {} // Range: 0x80441E78 -> 0x8044207C void LightPresetManager::Poll(class LightPresetManager * const this /* r30 */) { // Local variables class LightPreset * presetToStart; // r31 float time; // f0 float time; // f0 float frame; // f29 float fade; // f28 float oldTime; // f0 float oldFrame; // f31 float blend; // f28 // References // -> class TaskMgr TheTaskMgr; } static class Message end; // size: 0x8, address: 0x8097EFF0 // Range: 0x8044207C -> 0x804423DC void LightPresetManager::StartPreset(class LightPresetManager * const this /* r30 */, class LightPreset * preset /* r31 */, float delay /* f31 */) { // Local variables float scheduledTime; // f2 // References // -> class TaskMgr TheTaskMgr; // -> static class Message end; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804423DC -> 0x80442448 void LightPresetManager::ForcePreset(class LightPresetManager * const this /* r30 */, class LightPreset * preset /* r31 */) {} // Range: 0x80442448 -> 0x80442468 class DataNode LightPresetManager::OnToggleLightingEvents() {} // Range: 0x80442468 -> 0x804424D8 class DataNode LightPresetManager::OnIgnoreLightingEvents(class LightPresetManager * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x804424D8 -> 0x804425D8 class DataNode LightPresetManager::OnNextLighting(class LightPresetManager * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804425D8 -> 0x804426B4 void LightPresetManager::SelectPreset(class LightPresetManager * const this /* r31 */) { // Local variables float delay; // r1+0x8 // References // -> class LoadMgr TheLoadMgr; } static class Message msg; // size: 0x8, address: 0x8097F008 // Range: 0x804426B4 -> 0x80442CCC void LightPresetManager::SetCategoriesAndAdjectives(class LightPresetManager * const this /* r29 */, class DataArray * args /* r30 */) { // Local variables class DataNode adj; // r1+0xA8 class DataArray * adjs; // r28 unsigned int i; // r27 class DataNode cat; // r1+0xA0 class DataArray * cats; // r30 unsigned int i; // r27 char buf[256]; // r1+0xB0 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; } // Range: 0x80442CCC -> 0x80442D84 class DataNode LightPresetManager::OnCycleLighting(class LightPresetManager * const this /* r30 */, class DataArray * args /* r31 */) { // Local variables unsigned char doDelay; // r4 } // Range: 0x80442D84 -> 0x80442E38 class DataNode LightPresetManager::OnSetLighting(class LightPresetManager * const this /* r30 */, class DataArray * args /* r31 */) { // Local variables unsigned char doDelay; // r4 } // Range: 0x80442E38 -> 0x80442EB8 class DataNode LightPresetManager::OnNextKeyframe(class LightPresetManager * const this /* r31 */) {} // Range: 0x80442EB8 -> 0x80442F38 class DataNode LightPresetManager::OnPrevKeyframe(class LightPresetManager * const this /* r31 */) {} // Range: 0x80442F38 -> 0x80442FB8 class DataNode LightPresetManager::OnFirstKeyframe(class LightPresetManager * const this /* r31 */) {} // Range: 0x80442FB8 -> 0x8044308C class DataNode LightPresetManager::OnExcitementChange(class LightPresetManager * const this /* r30 */, class DataArray * args /* r31 */) {} // Range: 0x8044308C -> 0x80443214 static int CalculateScore(class LightPreset * preset /* r27 */, const class vector & categories /* r28 */, const class vector & adjs /* r29 */) { // Local variables int score; // r31 unsigned int i; // r6 unsigned int i; // r30 unsigned int i; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80443214 -> 0x80443604 void LightPresetManager::FillPool(class LightPresetManager * const this /* r27 */, unsigned char useExcitement /* r28 */) { // Local variables unsigned int cat; // r29 unsigned int i; // r30 class LightPreset * test; // r1+0x68 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11LightPreset; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80443604 -> 0x8044394C void LightPresetManager::RebuildLightPool(class LightPresetManager * const this /* r31 */) { // Local variables int score; // r0 unsigned int i; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } struct _OKToSwap { // total size: 0x1 }; struct PoolSorter { // total size: 0x18 class vector mAdjs; // offset 0x0, size 0xC class vector mCats; // offset 0xC, size 0xC }; // Range: 0x8044394C -> 0x804439D4 class DataNode LightPresetManager::OnForcePreset(class LightPresetManager * const this /* r30 */, class DataArray * msg /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } static class Symbol _s; // size: 0x4, address: 0x80A52514 static class Symbol _s; // size: 0x4, address: 0x80A5251C static class Symbol _s; // size: 0x4, address: 0x80A52524 static class Symbol _s; // size: 0x4, address: 0x80A5252C static class Symbol _s; // size: 0x4, address: 0x80A52534 static class Symbol _s; // size: 0x4, address: 0x80A5253C static class Symbol _s; // size: 0x4, address: 0x80A52544 static class Symbol _s; // size: 0x4, address: 0x80A5254C static class Symbol _s; // size: 0x4, address: 0x80A52554 static class Symbol _s; // size: 0x4, address: 0x80A5255C static class Symbol _s; // size: 0x4, address: 0x80A52564 static class Symbol _s; // size: 0x4, address: 0x80A5256C // Range: 0x804439D4 -> 0x80444AA0 class DataNode LightPresetManager::Handle(class LightPresetManager * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x4C class MessageTimer _mt; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__18LightPresetManager; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> unsigned char sActive; } struct { // total size: 0x10 } __vt__18LightPresetManager; // size: 0x10, address: 0x808EDBF0 struct { // total size: 0x8 } __RTTI__18LightPresetManager; // size: 0x8, address: 0x808EDC18 struct { // total size: 0x8 } __RTTI__PPQ211stlpmtx_std22pair; // size: 0x8, address: 0x808EDCE8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22pair; // size: 0x8, address: 0x808EDD20 struct _OKToMemCpy { // total size: 0x1 }; struct pair { // total size: 0x8 struct _Ht_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; class _Slist_iterator : public _Slist_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ29stlp_priv131_Slist_node>>>; // size: 0x8, address: 0x808EDDD8 struct _Ht_iterator { // total size: 0x4 class _Slist_iterator _M_ite; // offset 0x0, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80444AA0 -> 0x80444C0C */ // Range: 0x80444AA0 -> 0x80444C0C void * LightPresetManager::LightPresetManager(class LightPresetManager * const this /* r28 */, class WorldDir * parent /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__18LightPresetManager; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80444C0C -> 0x80444FE0 */ // Range: 0x80444C0C -> 0x80444D94 void LightPresetManager::ReportError(class LightPresetManager * const this /* r30 */) { // Local variables class String s; // r1+0xC unsigned int i; // r29 unsigned int i; // r29 // References // -> class Debug TheDebug; // -> class TaskMgr TheTaskMgr; } // Range: 0x80444D94 -> 0x80444FE0 void LightPresetManager::UpdateOverlay(class LightPresetManager * const this /* r29 */) { // Local variables class RndOverlay * overlay; // r0 class String s; // r1+0xC unsigned int i; // r28 unsigned int i; // r28 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80444FE0 -> 0x80444FE4 */ // Range: 0x80444FE0 -> 0x80444FE4 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_slist.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80444FE4 -> 0x80444FEC */ // Range: 0x80444FE4 -> 0x80444FE8 class StlNodeAlloc slist::get_allocator() {} // Range: 0x80444FE8 -> 0x80444FEC class StlNodeAlloc _Slist_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80444FEC -> 0x8044515C */ // Range: 0x80444FEC -> 0x8044515C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044515C -> 0x804451A4 */ // Range: 0x8044515C -> 0x80445174 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x80445174 -> 0x8044518C struct __true_type _OKToSwap::_Answer() {} // Range: 0x8044518C -> 0x804451A4 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804451A4 -> 0x80445230 */ // Range: 0x804451A4 -> 0x80445230 class Symbol * __find_first_of(const class Symbol * __first1 /* r27 */, const class Symbol * __last1 /* r28 */, class Symbol * __first2 /* r29 */, class Symbol * __last2 /* r30 */) { // Local variables class Symbol * __iter; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80445230 -> 0x80447DA8 */ // Range: 0x80445230 -> 0x804452D8 void random_shuffle(class LightPreset * * __first /* r28 */, class LightPreset * * __last /* r29 */) { // Local variables class LightPreset * * __i; // r30 } // Range: 0x804452D8 -> 0x8044577C void sort(class LightPreset * * __first /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8044577C -> 0x80445E28 void __final_insertion_sort(class LightPreset * * __first /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80445E28 -> 0x80446080 void __unguarded_insertion_sort(class LightPreset * * __first /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80446080 -> 0x804462E4 void __unguarded_insertion_sort_aux(class LightPreset * * __last /* r29 */, struct PoolSorter & __comp /* r30 */) { // Local variables class LightPreset * * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804462E4 -> 0x80446374 void __unguarded_linear_insert(class LightPreset * * __last /* r27 */, class LightPreset * __val /* r28 */, struct PoolSorter & __comp /* r29 */) { // Local variables class LightPreset * * __next; // r30 } // Range: 0x80446374 -> 0x804465E8 void __insertion_sort(class LightPreset * * __first /* r28 */, class LightPreset * * __last /* r29 */, struct PoolSorter & __comp /* r30 */) { // Local variables class LightPreset * * __i; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804465E8 -> 0x804468AC void __linear_insert(class LightPreset * * __first /* r27 */, class LightPreset * * __last /* r29 */, class LightPreset * __val /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804468AC -> 0x804471AC void __introsort_loop(class LightPreset * * __first /* r26 */, class LightPreset * * __last /* r27 */, long __depth_limit /* r28 */, struct PoolSorter & __comp /* r29 */) { // Local variables class LightPreset * * __cut; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804471AC -> 0x80447350 class LightPreset * const & __median(class LightPreset * const & __a /* r28 */, class LightPreset * const & __b /* r29 */, class LightPreset * const & __c /* r30 */, struct PoolSorter & __comp /* r31 */) {} // Range: 0x80447350 -> 0x80447458 class LightPreset * * __unguarded_partition(class LightPreset * * __first /* r28 */, class LightPreset * * __last /* r29 */, class LightPreset * __pivot /* r30 */, struct PoolSorter & __comp /* r31 */) {} // Range: 0x80447458 -> 0x804476B8 void partial_sort(class LightPreset * * __first /* r28 */, class LightPreset * * __middle /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804476B8 -> 0x80447DA8 void __partial_sort(class LightPreset * * __first /* r26 */, class LightPreset * * __middle /* r27 */, class LightPreset * * __last /* r28 */, struct PoolSorter & __comp /* r29 */) { // Local variables class LightPreset * * __i; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80447DA8 -> 0x80448288 */ // Range: 0x80447DA8 -> 0x80448018 void sort_heap(class LightPreset * * __first /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80448018 -> 0x80448288 void __pop_heap(class LightPreset * * __first /* r28 */, class LightPreset * * __last /* r29 */, class LightPreset * __val /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80448288 -> 0x80448FF4 */ // Range: 0x80448288 -> 0x804484E0 void pop_heap(class LightPreset * * __first /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804484E0 -> 0x80448740 void __pop_heap_aux(class LightPreset * * __first /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80448740 -> 0x80448A40 void __adjust_heap(class LightPreset * * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, class LightPreset * __val /* r28 */, struct PoolSorter & __comp /* r29 */) { // Local variables long __topIndex; // r30 long __secondChild; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80448A40 -> 0x80448B08 void __push_heap(class LightPreset * * __first /* r27 */, long __holeIndex /* r28 */, long __topIndex /* r29 */, class LightPreset * __val /* r30 */, struct PoolSorter & __comp /* r31 */) { // Local variables long __parent; // r23 } // Range: 0x80448B08 -> 0x80448D64 void make_heap(class LightPreset * * __first /* r29 */, class LightPreset * * __last /* r30 */, struct PoolSorter & __comp /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80448D64 -> 0x80448FF4 void __make_heap(class LightPreset * * __first /* r28 */, struct PoolSorter & __comp /* r29 */) { // Local variables long __parent; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Symbol; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_deque.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80448FF4 -> 0x80449680 */ // Range: 0x80448FF4 -> 0x80449128 void deque::clear(class deque * const this /* r31 */) { // Local variables struct pair * * __node; // r30 } // Range: 0x80449128 -> 0x804491F4 void deque::_M_push_back_aux_v(class deque * const this /* r31 */, const struct pair & __t /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804491F4 -> 0x80449268 void deque::_M_pop_front_aux(class deque * const this /* r31 */) {} // Range: 0x80449268 -> 0x8044944C void deque::_M_reallocate_map(class deque * const this /* r28 */, unsigned long __nodes_to_add /* r1+0x8 */, unsigned char __add_at_front /* r29 */) { // Local variables unsigned long __old_num_nodes; // r30 unsigned long __new_num_nodes; // r25 struct pair * * __new_nstart; // r29 unsigned long __new_map_size; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std22pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8044944C -> 0x804494C8 void * _Deque_base::~_Deque_base(class _Deque_base * const this /* r30 */) {} // Range: 0x804494C8 -> 0x804495C4 void _Deque_base::_M_initialize_map(class _Deque_base * const this /* r30 */, unsigned long __num_elements /* r31 */) { // Local variables unsigned long __num_nodes; // r29 struct pair * * __nstart; // r28 struct pair * * __nfinish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211stlpmtx_std22pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804495C4 -> 0x80449630 void _Deque_base::_M_create_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __cur; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22pair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80449630 -> 0x80449680 void _Deque_base::_M_destroy_nodes(struct pair * * __nfinish /* r30 */) { // Local variables struct pair * * __n; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_hashtable.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80449680 -> 0x80449F6C */ // Range: 0x80449680 -> 0x804496EC void hashtable::clear(class hashtable * const this /* r30 */) {} // Range: 0x804496EC -> 0x80449744 struct pair & hashtable::_M_insert(class hashtable * const this /* r30 */, const struct pair & __obj /* r31 */) {} // Range: 0x80449744 -> 0x80449968 struct pair hashtable::insert_unique_noresize(class hashtable * const this /* r29 */, const struct pair & __obj /* r30 */) { // Local variables class _Slist_iterator __cur; // r1+0x40 class _Slist_iterator __last; // r1+0x3C // References // -> struct [anonymous] __RTTI__PP11LightPreset; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29stlp_priv131_Slist_node>>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80449968 -> 0x80449A68 void hashtable::resize(class hashtable * const this /* r31 */, unsigned long __num_elements_hint /* r1+0x8 */) { // Local variables unsigned long __num_buckets_hint; // r0 unsigned long __num_buckets; // r0 } // Range: 0x80449A68 -> 0x80449C14 struct _Ht_iterator hashtable::_M_insert_noresize(class hashtable * const this /* r28 */, unsigned long __n /* r29 */, const struct pair & __obj /* r30 */) { // Local variables unsigned long __prev; // r1+0x2C class _Slist_iterator __pos; // r1+0x28 // References // -> struct [anonymous] __RTTI__PP11LightPreset; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29stlp_priv131_Slist_node>>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80449C14 -> 0x80449EA0 void hashtable::_M_rehash(class hashtable * const this /* r29 */, unsigned long __num_buckets /* r30 */) { // Local variables class slist __tmp_elems; // r1+0x50 class vector __tmp; // r1+0x54 class _Slist_iterator __cur; // r1+0x4C unsigned long __new_bucket; // r0 unsigned long __prev_bucket; // r31 class _Slist_iterator __prev; // r1+0x48 class _Slist_iterator __pos; // r1+0x44 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ29stlp_priv16_Slist_node_base; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80449EA0 -> 0x80449F6C struct _Ht_iterator hashtable::_M_before_begin() { // Local variables class slist & __mutable_elems; // r7 struct _Slist_node_base * const * __bpos; // r8 class _Slist_iterator __pos; // r1+0x24 struct _Slist_node_base * const * __bcur; // r7 struct _Slist_node_base * __pos_node; // r0 class _Slist_iterator __cur; // r1+0x20 class _Slist_iterator __prev; // r1+0x1C } /* Compile unit: C:\rockband2\system\src\stlport\stl\_slist.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80449F6C -> 0x8044A020 */ // Range: 0x80449F6C -> 0x8044A020 struct _Slist_node_base * _Slist_base::_M_erase_after(struct _Slist_node_base * __before_first /* r28 */, struct _Slist_node_base * __last_node /* r29 */) { // Local variables struct _Slist_node_base * __cur; // r31 class _Slist_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044A020 -> 0x8044A378 */ // Range: 0x8044A020 -> 0x8044A158 void vector::_M_insert_overflow(class vector * const this /* r27 */, class LightPreset * * __pos /* r28 */, class LightPreset * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class LightPreset * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11LightPreset; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8044A158 -> 0x8044A1C4 void vector::_M_fill_insert() {} // Range: 0x8044A1C4 -> 0x8044A378 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class LightPreset * * __pos /* r29 */, unsigned long __n /* r25 */, class LightPreset * const & __x /* r30 */) { // Local variables class LightPreset * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\world\Reflection.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044A378 -> 0x8044B700 */ class DataArray * types; // size: 0x4, address: 0x80A52570 class Symbol name; // size: 0x4, address: 0x80A52578 class WorldReflection : public RndDrawable, public RndTransformable { // total size: 0x160 class ObjPtrList mDraws; // offset 0xF8, size 0x14 float mVerticalStretch; // offset 0x10C, size 0x4 class list mCulling; // offset 0x110, size 0x8 class RndCam * mCam; // offset 0x118, size 0x4 }; // Range: 0x8044A378 -> 0x8044A624 void * WorldReflection::~WorldReflection(class WorldReflection * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__15WorldReflection; } static class Message startReflect; // size: 0x8, address: 0x8097F020 static class Message endReflect; // size: 0x8, address: 0x8097F038 // Range: 0x8044A624 -> 0x8044AB78 void WorldReflection::DrawShowing(class WorldReflection * const this /* r29 */) { // Local variables class Transform w; // r1+0x100 class Transform iw; // r1+0xC0 class Transform ref; // r1+0x80 class iterator it; // r1+0x30 class Character * c; // r28 // References // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__9Character; // -> class RndCam * sCurrent; // -> static class Message endReflect; // -> static class Message startReflect; // -> struct [anonymous] __vt__7Message; } // Range: 0x8044AB78 -> 0x8044ABBC void WorldReflection::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A52580 // Range: 0x8044ABBC -> 0x8044AC44 void WorldReflection::Load(class WorldReflection * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> static int gRev; } // Range: 0x8044AC44 -> 0x8044AFEC void WorldReflection::Copy(class WorldReflection * const this /* r29 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class WorldReflection * t; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15WorldReflection; } // Range: 0x8044AFEC -> 0x8044B50C class DataNode WorldReflection::Handle(class WorldReflection * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52588 static class Symbol _s; // size: 0x4, address: 0x80A52590 // Range: 0x8044B50C -> 0x8044B700 unsigned char WorldReflection::SyncProperty(class WorldReflection * const this /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xF0 } __vt__15WorldReflection; // size: 0xF0, address: 0x808EDE60 struct { // total size: 0x8 } __RTTI__15WorldReflection; // size: 0x8, address: 0x808EDF90 /* Compile unit: C:\rockband2\system\src\rndobj\Cam.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044B700 -> 0x8044B90C */ // Range: 0x8044B700 -> 0x8044B90C void * WorldReflection::WorldReflection(class WorldReflection * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class Symbol name; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__15WorldReflection; // -> struct [anonymous] __vt__16RndHighlightable; } /* Compile unit: C:\rockband2\system\src\world\Reflection.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044BA44 -> 0x8044BC30 */ // Range: 0x8044BA44 -> 0x8044BA88 class Symbol WorldReflection::ClassName() { // References // -> class Symbol name; } // Range: 0x8044BA88 -> 0x8044BC2C void WorldReflection::SetType(class WorldReflection * const this /* r29 */, class Symbol & WorldReflection /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8044BC2C -> 0x8044BC30 void WorldReflection::Highlight() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044BC30 -> 0x8044BC90 */ // Range: 0x8044BC30 -> 0x8044BC90 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\world\Video.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044BC90 -> 0x8044D248 */ class DataArray * types; // size: 0x4, address: 0x80A52598 class Symbol name; // size: 0x4, address: 0x80A525A0 class VideoScreen : public virtual Object, public RndPollable { // total size: 0x9C protected: class RndTex * mTargetTex; // offset 0xC, size 0x4 class ObjPtr mScreenMat; // offset 0x10, size 0xC class ObjPtr mSnowMovie; // offset 0x1C, size 0xC class ObjPtr mMovie; // offset 0x28, size 0xC class ObjPtr mTarget; // offset 0x34, size 0xC class ObjPtr mTargetPart; // offset 0x40, size 0xC class ObjPtr mOverrideTex; // offset 0x4C, size 0xC float mTargetMinSize; // offset 0x58, size 0x4 float mTargetScale; // offset 0x5C, size 0x4 float mTargetMaxExpand; // offset 0x60, size 0x4 float mSnowBlend; // offset 0x64, size 0x4 float mSecondsOffset; // offset 0x68, size 0x4 class RndMat * mSnowMat; // offset 0x6C, size 0x4 }; // Range: 0x8044BC90 -> 0x8044BFDC void * VideoScreen::VideoScreen(class VideoScreen * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__6RndMat; // -> class Symbol name; // -> class TaskMgr TheTaskMgr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndMovie,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> struct [anonymous] __vt__11VideoScreen; // -> struct [anonymous] __vt__11RndPollable; } class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndTex * mPtr; // offset 0x8, size 0x4 }; class RndMovie : public RndAnimatable { // total size: 0x58 protected: class FilePath mFile; // offset 0x10, size 0xC unsigned char mStream; // offset 0x1C, size 0x1 unsigned char mLoop; // offset 0x1D, size 0x1 class ObjOwnerPtr mTex; // offset 0x20, size 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMovie * mPtr; // offset 0x8, size 0x4 }; // Range: 0x8044BFDC -> 0x8044C1B8 void * VideoScreen::~VideoScreen(class VideoScreen * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndMovie,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndDir,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__11VideoScreen; } // Range: 0x8044C1B8 -> 0x8044C380 void VideoScreen::Copy(class VideoScreen * const this /* r29 */, const class Object * from /* r30 */) { // Local variables const class VideoScreen * rhs; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11VideoScreen; } // Range: 0x8044C380 -> 0x8044CA44 void VideoScreen::Poll(class VideoScreen * const this /* r30 */) { // Local variables class RndTransformable * target; // r31 class Vector3 toTarget; // r1+0x20 float size; // f31 class Sphere s; // r1+0x30 float origSize; // f30 class Vector2 center; // r1+0x10 float y_ratio; // f29 float x_ratio; // f2 class Transform xfm; // r1+0x50 // References // -> class TaskMgr TheTaskMgr; // -> class Rnd & TheRnd; // -> class RndCam * sCurrent; } // Range: 0x8044CA44 -> 0x8044CB80 void VideoScreen::SetupMaterials(class VideoScreen * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A525A8 static class Symbol _s; // size: 0x4, address: 0x80A525B0 static class Symbol _s; // size: 0x4, address: 0x80A525B8 static class Symbol _s; // size: 0x4, address: 0x80A525C0 static class Symbol _s; // size: 0x4, address: 0x80A525C8 static class Symbol _s; // size: 0x4, address: 0x80A525D0 static class Symbol _s; // size: 0x4, address: 0x80A525D8 static class Symbol _s; // size: 0x4, address: 0x80A525E0 static class Symbol _s; // size: 0x4, address: 0x80A525E8 static class Symbol _s; // size: 0x4, address: 0x80A525F0 // Range: 0x8044CB80 -> 0x8044D248 unsigned char VideoScreen::SyncProperty(class VideoScreen * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class TaskMgr TheTaskMgr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x8C } __vt__11VideoScreen; // size: 0x8C, address: 0x808EE0F4 struct { // total size: 0x8 } __RTTI__11VideoScreen; // size: 0x8, address: 0x808EE1A8 struct { // total size: 0x18 } __vt__28ObjPtr<8RndMovie,9ObjectDir>; // size: 0x18, address: 0x808EE1F8 struct { // total size: 0x8 } __RTTI__28ObjPtr<8RndMovie,9ObjectDir>; // size: 0x8, address: 0x808EE238 struct { // total size: 0x8 } __RTTI__8RndMovie; // size: 0x8, address: 0x808EE268 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044D2E8 -> 0x8044D5A4 */ // Range: 0x8044D2E8 -> 0x8044D35C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndMovie,9ObjectDir>; } // Range: 0x8044D35C -> 0x8044D4F8 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndMovie; } // Range: 0x8044D4F8 -> 0x8044D500 class Object * ObjPtr::RefOwner() {} // Range: 0x8044D500 -> 0x8044D5A4 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndMovie; } /* Compile unit: C:\rockband2\system\src\world\Video.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044D5A4 -> 0x8044DD98 */ // Range: 0x8044D5A4 -> 0x8044D790 void VideoScreen::Load(class VideoScreen * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables unsigned int rev; // r1+0xC char buf[128]; // r1+0x10 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Debug TheDebug; } // Range: 0x8044D790 -> 0x8044D7D4 void VideoScreen::Save() { // References // -> class Debug TheDebug; } // Range: 0x8044D7D4 -> 0x8044DBC0 class DataNode VideoScreen::Handle(class VideoScreen * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x8044DBC0 -> 0x8044DC04 class Symbol VideoScreen::ClassName() { // References // -> class Symbol name; } // Range: 0x8044DC04 -> 0x8044DD98 void VideoScreen::SetType(class VideoScreen * const this /* r29 */, class Symbol & VideoScreen /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044DD98 -> 0x8044DEF4 */ // Range: 0x8044DD98 -> 0x8044DEF4 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndMovie; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\world\World.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044DEF4 -> 0x8044E178 */ class Symbol name; // size: 0x4, address: 0x80A525FC class Symbol name; // size: 0x4, address: 0x80A52604 class Symbol name; // size: 0x4, address: 0x80A5260C // Range: 0x8044DEF4 -> 0x8044E178 void WorldInit() { // References // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; struct EventCall { // total size: 0x18 class ObjPtr mDir; // offset 0x0, size 0xC class ObjPtr mEvent; // offset 0xC, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; struct KeyFrame { // total size: 0x10 float mTime; // offset 0x0, size 0x4 class ObjList mCalls; // offset 0x4, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class ObjList : public list { // total size: 0xC class Object * mOwner; // offset 0x8, size 0x4 }; class EventAnim : public RndAnimatable { // total size: 0x4C float mLastFrame; // offset 0x10, size 0x4 class ObjList mKeys; // offset 0x14, size 0xC }; class WorldInstance : public RndDir { // total size: 0x240 class ObjDirPtr mDir; // offset 0x1F4, size 0xC class SharedGroup * mSharedGroup; // offset 0x200, size 0x4 }; class WiiDOFProc : public DOFProc, public PostProcessor { // total size: 0x4C unsigned char mEnabled; // offset 0x2C, size 0x1 class RndTex * mDepthTex; // offset 0x30, size 0x4 class RndTex * mBlurColorTex; // offset 0x34, size 0x4 float mFocalPlane; // offset 0x38, size 0x4 float mBlurDepth; // offset 0x3C, size 0x4 float mMinBlur; // offset 0x40, size 0x4 float mMaxBlur; // offset 0x44, size 0x4 class RndCam * mCam; // offset 0x48, size 0x4 }; /* Compile unit: C:\rockband2\system\src\world\EventAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E178 -> 0x8044E1EC */ // Range: 0x8044E178 -> 0x8044E1EC class Object * EventAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\Crowd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E1EC -> 0x8044E264 */ // Range: 0x8044E1EC -> 0x8044E264 class Object * WorldCrowd::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\Reflection.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E264 -> 0x8044E2DC */ // Range: 0x8044E264 -> 0x8044E2DC class Object * WorldReflection::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\Video.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E2DC -> 0x8044E350 */ // Range: 0x8044E2DC -> 0x8044E350 class Object * VideoScreen::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\LightPreset.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E350 -> 0x8044E3C4 */ // Range: 0x8044E350 -> 0x8044E3C4 class Object * LightPreset::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\LightHue.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E3C4 -> 0x8044E424 */ // Range: 0x8044E3C4 -> 0x8044E424 class Object * LightHue::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\Fireworks.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E424 -> 0x8044E49C */ // Range: 0x8044E424 -> 0x8044E49C class Object * WorldFireworks::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\DOFProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E49C -> 0x8044E4CC */ // Range: 0x8044E49C -> 0x8044E4CC class Object * DOFProc::NewObject() {} /* Compile unit: C:\rockband2\system\src\world\Instance.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E4CC -> 0x8044E540 */ // Range: 0x8044E4CC -> 0x8044E540 class Object * WorldInstance::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\world\DOFProc_Wii.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E540 -> 0x8044E570 */ // Range: 0x8044E540 -> 0x8044E570 class Object * WiiDOFProc::NewObject() {} /* Compile unit: C:\rockband2\system\src\world\Spotlight.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8044E570 -> 0x8045A12C */ class Symbol name; // size: 0x4, address: 0x80A52614 class DataArray * types; // size: 0x4, address: 0x80A52618 class Symbol name; // size: 0x4, address: 0x80A52620 class RndEnviron * sEnviron; // size: 0x4, address: 0x80A52624 class RndMesh * sDiskMesh; // size: 0x4, address: 0x80A52628 // Range: 0x8044E570 -> 0x8044E65C void Spotlight::Init() { // References // -> class RndEnviron * sEnviron; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Symbol name; // -> class Symbol name; } // Range: 0x8044E65C -> 0x8044EA80 void * Spotlight::Spotlight(class Spotlight * const this /* r31 */) { // References // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtrList<8RndLight,9ObjectDir>; // -> struct [anonymous] __vt__34ObjOwnerPtr<9Spotlight,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndFlare; // -> class Symbol name; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__9Spotlight; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8044EA80 -> 0x8044EFB8 void * Spotlight::~Spotlight(class Spotlight * const this /* r29 */) { // References // -> struct [anonymous] __vt__34ObjOwnerPtr<9Spotlight,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtrList<8RndLight,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> class SpotlightDrawer * sCurrent; // -> struct [anonymous] __vt__9Spotlight; } // Range: 0x8044EFB8 -> 0x8044EFC0 void Spotlight::SetFlareEnabled() {} // Range: 0x8044EFC0 -> 0x8044EFC8 void Spotlight::SetFlareIsBillboard() {} // Range: 0x8044EFC8 -> 0x8044F024 void Spotlight::UpdateFlare() {} static unsigned int gRev; // size: 0x4, address: 0x80A5262C // Range: 0x8044F024 -> 0x8044F130 void Spotlight::ConvertGroupToMesh(class Spotlight * const this /* r26 */, class RndGroup * group /* r27 */) { // Local variables int numMeshes; // r29 class RndDrawable * const * drawIter; // r28 class RndDrawable * const * const drawEnd; // r0 class RndMesh * trans; // r0 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__7RndMesh; } static class Symbol bone_pelvis; // size: 0x4, address: 0x80A52634 class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; // Range: 0x8044F130 -> 0x8044FF4C void Spotlight::Load(class Spotlight * const this /* r27 */, class BinStream & d /* r28 */) { // Local variables class ObjVector beams; // r1+0x48 class ObjPtr group; // r1+0x3C char discShader[128]; // r1+0x1D8 class ObjPtr mat; // r1+0x30 char shader[128]; // r1+0x158 int steps; // r1+0x2C char lensShader[128]; // r1+0xD8 class Character * dude; // r0 // References // -> struct [anonymous] __RTTI__9Character; // -> static class Symbol bone_pelvis; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __vt__28ObjPtr<8RndGroup,9ObjectDir>; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> static unsigned int gRev; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct BeamDef * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct BeamDef * _M_start; // offset 0x0, size 0x4 struct BeamDef * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8044FF4C -> 0x80450060 void Spotlight::Replace(class Spotlight * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x80450060 -> 0x804500A4 void Spotlight::Save() { // References // -> class Debug TheDebug; } // Range: 0x804500A4 -> 0x804502BC void BeamDef::Load(struct BeamDef * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables char shader[128]; // r1+0x30 class Color color; // r1+0x20 // References // -> static unsigned int gRev; } // Range: 0x804502BC -> 0x804510A4 void Spotlight::Copy(class Spotlight * const this /* r29 */, const class Object * from /* r28 */, enum CopyType type /* r27 */) { // Local variables const class Spotlight * rhs; // r0 // References // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x804510A4 -> 0x804511C8 void Spotlight::ListDrawChildren(class Spotlight * const this /* r29 */, class list & out /* r31 */) { // Local variables class iterator it; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804511C8 -> 0x804512F8 class RndDrawable * Spotlight::CollideShowing(class Spotlight * const this /* r27 */, const class Segment & seg /* r28 */, float & dist /* r29 */, class Plane & plane /* r30 */) { // Local variables class Matrix3 ident; // r1+0x70 class Matrix3 rot; // r1+0x40 unsigned char collide; // r0 } // Range: 0x804512F8 -> 0x80451420 int Spotlight::CollidePlane(class Spotlight * const this /* r29 */, const class Plane & plane /* r30 */) { // Local variables class Matrix3 ident; // r1+0x70 class Matrix3 rot; // r1+0x40 int collide; // r0 } // Range: 0x80451420 -> 0x80451758 void Spotlight::Poll(class Spotlight * const this /* r31 */) { // Local variables class Matrix3 m; // r1+0x10 class RndTransformable * target; // r30 // References // -> class TaskMgr TheTaskMgr; // -> class LoadMgr TheLoadMgr; } // Range: 0x80451758 -> 0x804517D0 void Spotlight::CloseSlaves() { // Local variables class iterator slaveIter; // r1+0x20 class iterator slaveEnd; // r1+0x1C } // Range: 0x804517D0 -> 0x80451A44 void Spotlight::UpdateSlaves(class Spotlight * const this /* r30 */) { // Local variables class iterator slaveIter; // r1+0x28 class iterator slaveEnd; // r1+0x24 class Transform slaveToParent; // r1+0x80 class Transform worldToParent; // r1+0x40 } // Range: 0x80451A44 -> 0x80451B8C void Spotlight::UpdateSphere(class Spotlight * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class Transform t; // r1+0x40 } // Range: 0x80451B8C -> 0x80451C40 unsigned char Spotlight::DoFloorSpot() {} // Range: 0x80451C40 -> 0x80451E48 void Spotlight::SetColorIntensity(class Spotlight * const this /* r30 */, const class Color & c /* r31 */, float i /* f31 */) { // Local variables class Color newc; // r1+0x20 class Color oldc; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80451E48 -> 0x80451F44 void Spotlight::SetColor(class Spotlight * const this /* r31 */) { // Local variables class Color c; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80451F44 -> 0x80451FC4 void Spotlight::SetIntensity(class Spotlight * const this /* r31 */, float i /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80451FC4 -> 0x80452004 void Spotlight::UpdateBounds(class Spotlight * const this /* r31 */) {} static class Timer * _t; // size: 0x4, address: 0x80A52638 static class Matrix3 ident; // size: 0x30, address: 0x8097F040 static class Matrix3 rot; // size: 0x30, address: 0x8097F070 // Range: 0x80452004 -> 0x80452A7C void Spotlight::UpdateTransforms(class Spotlight * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0x14 class Vector3 o; // r1+0x150 class Vector3 o; // r1+0x140 class Matrix3 m; // r1+0x200 const struct BeamDef & def; // r0 class Vector3 o; // r1+0x130 class Matrix3 m; // r1+0x1D0 class Matrix3 mo; // r1+0x1A0 class Vector3 o; // r1+0x120 // References // -> static class Matrix3 rot; // -> static class Matrix3 ident; // -> static class Timer * _t; } // Range: 0x80452A7C -> 0x80452B18 void Spotlight::CheckFloorSpotTransform(class Spotlight * const this /* r30 */) { // Local variables float targetHeight; // f1 } // Range: 0x80452B18 -> 0x80452EBC void Spotlight::UpdateFloorSpotTransform(class Spotlight * const this /* r31 */, const class Transform & worldXfm /* r29 */) { // Local variables float targetHeight; // f30 class Vector3 v; // r1+0x20 float lenZ; // f0 float lenHypot; // f2 float scale; // f0 float vz; // f0 class Matrix3 m; // r1+0x70 float t; // f29 } static class Timer * _t; // size: 0x4, address: 0x80A52640 // Range: 0x80452EBC -> 0x804535E8 void Spotlight::DrawShowing(class Spotlight * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0x28 class Sphere boundingSphere; // r1+0x80 class Color color; // r1+0x70 class RndEnvironTracker environTracker; // r1+0x30 class iterator it; // r1+0x24 const struct BeamDef & def; // r0 class Character * c; // r29 class Vector3 on; // r1+0x60 class Plane p; // r1+0x50 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9Character; // -> class RndMesh * sDiskMesh; // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; // -> class RndEnviron * sEnviron; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Rnd & TheRnd; // -> class RndCam * sCurrent; // -> static class Timer * _t; } // Range: 0x804535E8 -> 0x804536B8 void Spotlight::Generate(class Spotlight * const this /* r31 */) { // References // -> class SpotlightDrawer * sCurrent; } // Range: 0x804536B8 -> 0x80453A74 void Spotlight::BuildBoard() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndMesh * sDiskMesh; } // Range: 0x80453A74 -> 0x80454324 void Spotlight::BuildNGCone(class Spotlight * const this /* r29 */, struct BeamDef & def /* r30 */, int numSegments /* r31 */) { // Local variables class Matrix3 ident; // r1+0xD0 class Matrix3 rot; // r1+0xA0 unsigned int kNumVerts; // r26 unsigned int kNumTris; // r18 unsigned int kTopCap; // r25 unsigned int kBotCap; // r24 unsigned int kTopCapCenter; // r26 unsigned int kBotCapCenter; // r23 float bottom; // f29 class Vector2 radii; // r1+0x38 float dy; // f28 float fRadiusScaleFactor; // f1 float topRad; // f27 float bottomRad; // f26 unsigned int winding; // r22 unsigned int nextVert; // r21 unsigned int nextFace; // r20 float theta; // f25 int iSegment; // r19 float c; // f0 float s; // f0 float u; // f24 float phi; // f23 unsigned int iSection; // r18 float section; // f22 float sideSection; // f1 float radius; // f2 int iVert; // r0 float cosphi; // f0 float sinphi; // f0 float x; // f2 float z; // f0 float y; // f1 int iVert; // r0 unsigned int iSection; // r3 int iVert0; // r4 int iVert1; // r5 int iVert2; // r6 int iVert3; // r7 int iVertLast; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } static float midBow; // size: 0x4, address: 0x80A470A8 // Range: 0x80454324 -> 0x80454998 void Spotlight::BuildNGSheet(class Spotlight * const this /* r21 */, struct BeamDef & def /* r22 */) { // Local variables class Matrix3 ident; // r1+0xD0 class Matrix3 rot; // r1+0xA0 int kNumSecVerts; // r26 int kNumSegVerts; // r25 int kNumVerts; // r24 int kNumFaces; // r23 float kSectionLength; // f0 class Vector2 radii; // r1+0x38 float topRad; // f0 float bottomRad; // f1 int iVert; // r3 int vSec; // r4 float delY; // f11 int vSeg; // r7 float delX; // f3 float y; // f5 float tX; // f6 float bX; // f2 float x; // f6 float z; // f2 float intensity; // f12 int iFace; // r4 int iSec; // r5 int iSeg; // r6 int iBase; // r7 int idx1; // r8 int idx2; // r9 int idx3; // r10 // References // -> static float midBow; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } static int kSideVerts; // size: 0x4, address: 0x80A52648 // Range: 0x80454998 -> 0x80454F28 void Spotlight::BuildNGQuad(class Spotlight * const this /* r25 */, struct BeamDef & def /* r26 */, enum Constraint bboard /* r27 */) { // Local variables class Matrix3 rot; // r1+0x60 int numSegs; // r3 int kNumSegments; // r29 int kNumFaces; // r28 float halfHeight; // f9 float halfWidth; // f10 int iVert; // r7 int iy; // r8 float delY; // f11 float y; // f12 int ix; // r9 float delX; // f13 float x; // f0 int iFace; // r4 int jy; // r5 int jx; // r6 int iBase; // r7 int idx1; // r8 int idx2; // r9 int idx3; // r10 // References // -> static int kSideVerts; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; } // Range: 0x80454F28 -> 0x80454F8C void Spotlight::BuildNGShaft() {} // Range: 0x80454F8C -> 0x80454FA0 void Spotlight::BuildShaft() {} // Range: 0x80454FA0 -> 0x80455640 void Spotlight::BuildCone(class Spotlight * const this /* r25 */, struct BeamDef & def /* r26 */) { // Local variables float bb; // r1+0x1C float bottom; // f30 float innerRad; // f29 float intensity; // f28 float theta; // f27 float dy; // f26 unsigned int i; // r29 unsigned int i2; // r28 unsigned int i3; // r27 float c; // f0 float s; // f0 float u; // f4 unsigned int i2; // r5 unsigned int i3; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SpotlightDrawer * sCurrent; } // Range: 0x80455640 -> 0x80455EA4 void Spotlight::BuildBeam(class Spotlight * const this /* r30 */, struct BeamDef & def /* r31 */) { // Local variables float tsb; // f31 float bsb; // f30 float bb; // f29 int totalSegments; // r26 float topLen; // f0 float r; // f1 float df; // f4 float ir; // f2 float rdelta_t; // f5 float rdelta_b; // f6 float drt; // f2 float drb; // f3 unsigned int i; // r6 unsigned int m; // r7 unsigned int m2; // r8 unsigned int m3; // r9 unsigned int m4; // r10 float a; // f4 float z; // f8 int n; // r4 float v; // f9 float side; // f7 float ue; // f10 unsigned int n; // r11 unsigned int n2; // r12 unsigned int n3; // r25 unsigned int n4; // r24 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SpotlightDrawer * sCurrent; } // Range: 0x80455EA4 -> 0x80456070 void Spotlight::Mats(class Spotlight * const this /* r30 */, class list & mats /* r31 */) { // Local variables struct MatShaderOptions opts; // r1+0x18 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80456070 -> 0x80456148 void * BeamDef::BeamDef() { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80456148 -> 0x80456468 void * BeamDef::BeamDef(struct BeamDef * const this /* r28 */, const struct BeamDef & other /* r29 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80456468 -> 0x80456694 void * BeamDef::~BeamDef(struct BeamDef * const this /* r29 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; } // Range: 0x80456694 -> 0x80456710 void BeamDef::OnSetMat(struct BeamDef * const this /* r30 */, class RndMat * mat /* r31 */) {} // Range: 0x80456710 -> 0x804567D8 class RndTransformable * Spotlight::ResolveTarget(class Spotlight * const this /* r30 */) { // Local variables class ObjectDir * dir; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9ObjectDir; // -> const char * gNullStr; } // Range: 0x804567D8 -> 0x80456844 void Spotlight::SetSubpart(class Spotlight * const this /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x80456844 -> 0x80456864 class RndTransformable * Spotlight::GetSubpart() { // References // -> const char * gNullStr; } // Range: 0x80456864 -> 0x80456B90 void Spotlight::PropogateToPresets(class Spotlight * const this /* r30 */, int type /* r31 */) { // Local variables class ObjDirItr preset; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11LightPreset; } static class Symbol _s; // size: 0x4, address: 0x80A52650 static class Symbol _s; // size: 0x4, address: 0x80A52658 static class Symbol _s; // size: 0x4, address: 0x80A52660 static class Symbol _s; // size: 0x4, address: 0x80A52668 static class Symbol _s; // size: 0x4, address: 0x80A52670 static class Symbol _s; // size: 0x4, address: 0x80A52678 static class Symbol _s; // size: 0x4, address: 0x80A52680 static class Symbol _s; // size: 0x4, address: 0x80A52688 static class Symbol _s; // size: 0x4, address: 0x80A52690 static class Symbol _s; // size: 0x4, address: 0x80A52698 static class Symbol _s; // size: 0x4, address: 0x80A526A0 static class Symbol _s; // size: 0x4, address: 0x80A526A8 static class Symbol _s; // size: 0x4, address: 0x80A526B0 static class Symbol _s; // size: 0x4, address: 0x80A526B8 static class Symbol _s; // size: 0x4, address: 0x80A526C0 static class Symbol _s; // size: 0x4, address: 0x80A526C8 static class Symbol _s; // size: 0x4, address: 0x80A526D0 static class Symbol _s; // size: 0x4, address: 0x80A526D8 static class Symbol _s; // size: 0x4, address: 0x80A526E0 static class Symbol _s; // size: 0x4, address: 0x80A526E8 static class Symbol _s; // size: 0x4, address: 0x80A526F0 static class Symbol _s; // size: 0x4, address: 0x80A526F8 static class Symbol _s; // size: 0x4, address: 0x80A52700 static class Symbol _s; // size: 0x4, address: 0x80A52708 static class Symbol _s; // size: 0x4, address: 0x80A52710 static class Symbol _s; // size: 0x4, address: 0x80A52718 static class Symbol _s; // size: 0x4, address: 0x80A52720 static class Symbol _s; // size: 0x4, address: 0x80A52728 static class Symbol _s; // size: 0x4, address: 0x80A52730 static class Symbol _s; // size: 0x4, address: 0x80A52738 static class Symbol _s; // size: 0x4, address: 0x80A52740 static class Symbol _s; // size: 0x4, address: 0x80A52748 static class Symbol _s; // size: 0x4, address: 0x80A52750 static class Symbol _s; // size: 0x4, address: 0x80A52758 static class Symbol _s; // size: 0x4, address: 0x80A52760 static class Symbol _s; // size: 0x4, address: 0x80A52768 static class Symbol _s; // size: 0x4, address: 0x80A52770 static class Symbol _s; // size: 0x4, address: 0x80A52778 static class Symbol _s; // size: 0x4, address: 0x80A52780 static class Symbol _s; // size: 0x4, address: 0x80A52788 static class Symbol _s; // size: 0x4, address: 0x80A52790 static class Symbol _s; // size: 0x4, address: 0x80A52798 static class Symbol _s; // size: 0x4, address: 0x80A527A0 static class Symbol _s; // size: 0x4, address: 0x80A527A8 static class Symbol _s; // size: 0x4, address: 0x80A527B0 static class Symbol _s; // size: 0x4, address: 0x80A527B8 // Range: 0x80456B90 -> 0x8045911C unsigned char Spotlight::SyncProperty(class Spotlight * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8045911C -> 0x804597D4 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class RndLight * obj; // r31 class RndLight * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804597D4 -> 0x80459920 unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A527C0 static class Symbol _s; // size: 0x4, address: 0x80A527C8 // Range: 0x80459920 -> 0x8045A12C class DataNode Spotlight::Handle(class Spotlight * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x124 } __vt__9Spotlight; // size: 0x124, address: 0x808EEDE0 struct { // total size: 0x18 } __vt__32ObjPtrList<8RndLight,9ObjectDir>; // size: 0x18, address: 0x808EEF98 struct { // total size: 0x8 } __RTTI__32ObjPtrList<8RndLight,9ObjectDir>; // size: 0x8, address: 0x808EEFE0 struct { // total size: 0x18 } __vt__34ObjOwnerPtr<9Spotlight,9ObjectDir>; // size: 0x18, address: 0x808EEFE8 struct { // total size: 0x8 } __RTTI__34ObjOwnerPtr<9Spotlight,9ObjectDir>; // size: 0x8, address: 0x808EF030 struct { // total size: 0x8 } __RTTI__8RndFlare; // size: 0x8, address: 0x808EF160 struct { // total size: 0x8 } __RTTI__PQ29Spotlight7BeamDef; // size: 0x8, address: 0x808EF420 /* Compile unit: C:\rockband2\system\src\world\Spotlight.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045A12C -> 0x8045A390 */ // Range: 0x8045A12C -> 0x8045A1A4 class Object * Spotlight::NewObject() { // References // -> class Symbol name; } // Range: 0x8045A1A4 -> 0x8045A1E8 class Symbol Spotlight::ClassName() { // References // -> class Symbol name; } // Range: 0x8045A1E8 -> 0x8045A38C void Spotlight::SetType(class Spotlight * const this /* r29 */, class Symbol & Spotlight /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8045A38C -> 0x8045A390 void Spotlight::Highlight() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045A390 -> 0x8045B2AC */ // Range: 0x8045A390 -> 0x8045A408 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__34ObjOwnerPtr<9Spotlight,9ObjectDir>; } // Range: 0x8045A408 -> 0x8045A5B8 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8RndLight,9ObjectDir>; } // Range: 0x8045A5B8 -> 0x8045A75C class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9Spotlight; } // Range: 0x8045A75C -> 0x8045AB00 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045AB00 -> 0x8045B054 class BinStream & __rs(class BinStream & d /* r25 */, class ObjVector & c /* r26 */) { // Local variables unsigned int s; // r1+0x20 struct BeamDef * t; // r24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045B054 -> 0x8045B258 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045B258 -> 0x8045B260 class Object * ObjPtrList::RefOwner() {} // Range: 0x8045B260 -> 0x8045B268 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8045B268 -> 0x8045B2AC void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045B2AC -> 0x8045B7CC */ // Range: 0x8045B2AC -> 0x8045B458 void Spotlight::CalculateDirection(class Spotlight * const this /* r29 */, class RndTransformable * target /* r30 */, class Matrix3 & dir /* r31 */) { // Local variables class Vector3 v; // r1+0x30 class Vector3 up; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045B458 -> 0x8045B664 unsigned char Spotlight::MakeWorldSphere(class Spotlight * const this /* r30 */, class Sphere & s /* r31 */) { // Local variables class Sphere beamSphere; // r1+0x50 class Sphere floorSpotSphere; // r1+0x30 class Sphere lightCanSphere; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndMesh * sDiskMesh; } /* Compile unit: C:\rockband2\system\src\world\SpotlightDrawer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045B7CC -> 0x8045B7D4 */ // Range: 0x8045B7CC -> 0x8045B7D4 unsigned char SpotlightDrawer::IsNG() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045B7D4 -> 0x8045C868 */ // Range: 0x8045B7D4 -> 0x8045B854 void vector::_M_fill_insert() {} // Range: 0x8045B854 -> 0x8045BA64 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BeamDef * __pos /* r26 */, const struct BeamDef & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BeamDef * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29Spotlight7BeamDef; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8045BA64 -> 0x8045C868 void vector::_M_fill_insert_aux(class vector * const this /* r29 */, struct BeamDef * __pos /* r24 */, unsigned long __n /* r26 */, const struct BeamDef & __x /* r25 */) { // Local variables struct BeamDef __x_copy; // r1+0x34 unsigned long __elems_after; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\world\SpotlightDrawer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045C868 -> 0x8045F23C */ class DataArray * types; // size: 0x4, address: 0x80A527D0 class Symbol name; // size: 0x4, address: 0x80A527D8 class RndEnviron * sEnviron; // size: 0x4, address: 0x80A527DC class SpotlightDrawer * sCurrent; // size: 0x4, address: 0x80A527E0 class SpotlightDrawer * sDefault; // size: 0x4, address: 0x80A527E4 class vector sLights; // size: 0xC, address: 0x8097F0AC class vector sCans; // size: 0xC, address: 0x8097F0C4 class vector sShadowSpots; // size: 0xC, address: 0x8097F0DC class RndMultiMesh * sMultiMesh; // size: 0x4, address: 0x80A527E8 unsigned char sNeedDraw; // size: 0x1, address: 0x80A527EC unsigned char sHaveAdditionals; // size: 0x1, address: 0x80A527ED unsigned char sHaveLenses; // size: 0x1, address: 0x80A527EE unsigned char sHaveFlares; // size: 0x1, address: 0x80A527EF unsigned char sHaveFloorSpots; // size: 0x1, address: 0x80A527F0 unsigned char sNoBeams; // size: 0x1, address: 0x80A527F1 // Range: 0x8045C868 -> 0x8045C958 void * SpotlightDrawer::SpotlightDrawer(class SpotlightDrawer * const this /* r31 */) { // References // -> struct [anonymous] __vt__15SpotlightDrawer; // -> struct [anonymous] __vt__13PostProcessor; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8045C958 -> 0x8045CD0C void * SpotlightDrawer::~SpotlightDrawer(class SpotlightDrawer * const this /* r29 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; // -> class Symbol name; // -> class RndMultiMesh * sMultiMesh; // -> class vector sCans; // -> class vector sShadowSpots; // -> class vector sLights; // -> struct [anonymous] __vt__15SpotlightDrawer; } // Range: 0x8045CD0C -> 0x8045CD80 void SpotlightDrawer::ListDrawChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8045CD80 -> 0x8045CE44 void SpotlightDrawer::SetAmbientColor() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndEnviron * sEnviron; } // Range: 0x8045CE44 -> 0x8045CEAC void SpotlightDrawer::Select(class SpotlightDrawer * const this /* r31 */) { // References // -> class Rnd & TheRnd; // -> class SpotlightDrawer * sCurrent; } // Range: 0x8045CEAC -> 0x8045CED0 void SpotlightDrawer::DeSelect() { // References // -> class SpotlightDrawer * sDefault; // -> class SpotlightDrawer * sCurrent; } // Range: 0x8045CED0 -> 0x8045D0D0 void SpotlightDrawer::Init() { // References // -> class RndMultiMesh * sMultiMesh; // -> struct [anonymous] __RTTI__12RndMultiMesh; // -> class Symbol name; // -> class SpotlightDrawer * sDefault; // -> struct [anonymous] __RTTI__15SpotlightDrawer; // -> class Symbol name; // -> class RndEnviron * sEnviron; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Symbol name; } // Range: 0x8045D0D0 -> 0x8045D17C void SpotlightDrawer::SortLights() { // References // -> class vector sCans; // -> class vector sLights; } class ByEnvMesh { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; class ByColor { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x8045D17C -> 0x8045D728 void SpotlightDrawer::DrawWorld(class SpotlightDrawer * const this /* r27 */) { // Local variables class SpotlightEntry * spotIter; // r29 class SpotlightEntry * const spotEnd; // r28 class SpotlightEntry * const colorBegin; // r1+0x24 class Color envColor; // r1+0x30 class SpotlightEntry * colorEnd; // r1+0x20 // References // -> unsigned char sHaveFloorSpots; // -> unsigned char sHaveFlares; // -> class Rnd & TheRnd; // -> unsigned char sNoBeams; // -> class RndMultiMesh * sMultiMesh; // -> unsigned char sHaveLenses; // -> unsigned char sHaveAdditionals; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndEnviron * sEnviron; // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; // -> class vector sCans; // -> class vector sLights; } // Range: 0x8045D728 -> 0x8045DB04 void DrawAccessories(class RndMultiMesh * multiMesh /* r23 */, class SpotlightEntry * const & spotBegin /* r22 */, class SpotlightEntry * const & spotEnd /* r24 */) { // Local variables class RndMat * currMat; // r28 class RndMesh * currMesh; // r27 class SpotlightEntry * spotIter; // r26 unsigned char changeMesh; // r25 unsigned char changeMat; // r22 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> class RndCam * sCurrent; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndMesh * sDiskMesh; } // Range: 0x8045DB04 -> 0x8045DEDC void DrawAccessories(class RndMultiMesh * multiMesh /* r23 */, class SpotlightEntry * const & spotBegin /* r22 */, class SpotlightEntry * const & spotEnd /* r24 */) { // Local variables class RndMat * currMat; // r28 class RndMesh * currMesh; // r27 class SpotlightEntry * spotIter; // r26 unsigned char changeMesh; // r25 unsigned char changeMat; // r22 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> class RndCam * sCurrent; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndMesh * sDiskMesh; } // Range: 0x8045DEDC -> 0x8045E1BC void SpotlightDrawer::DrawMeshVec(class vector & vec /* r28 */) { // Local variables class SpotMeshEntry * meshIter; // r31 class RndMesh * currMesh; // r30 class RndEnviron * currEnv; // r29 class SpotMeshEntry * const meshEnd; // r28 unsigned char changeEnv; // r27 unsigned char changeMesh; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> class RndMultiMesh * sMultiMesh; } // Range: 0x8045E1BC -> 0x8045E260 void SpotlightDrawer::DrawFlares(class SpotlightEntry * spotIter /* r30 */, class SpotlightEntry * const & spotEnd /* r31 */) { // Local variables class Spotlight * sl; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045E260 -> 0x8045E288 void SpotlightDrawer::ClearPostDraw() { // References // -> unsigned char sNeedDraw; } // Range: 0x8045E288 -> 0x8045E578 void SpotlightDrawer::ClearLights() { // References // -> unsigned char sHaveFloorSpots; // -> unsigned char sHaveFlares; // -> unsigned char sHaveLenses; // -> unsigned char sHaveAdditionals; // -> class vector sCans; // -> class vector sShadowSpots; // -> class vector sLights; } // Range: 0x8045E578 -> 0x8045E5D4 class Vector2 SpotlightDrawer::NGRadii() { // Local variables float topRadius; // f3 float botRadius; // f4 } // Range: 0x8045E5D4 -> 0x8045E644 void SpotlightDrawer::Copy(class SpotlightDrawer * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class SpotlightDrawer * m; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__15SpotlightDrawer; } // Range: 0x8045E644 -> 0x8045E740 class SpotDrawParams & SpotDrawParams::__as(class SpotDrawParams * const this /* r29 */, const class SpotDrawParams & rhs /* r30 */) {} static class Symbol _s; // size: 0x4, address: 0x80A527F4 static class Symbol _s; // size: 0x4, address: 0x80A527FC // Range: 0x8045E740 -> 0x8045ECF4 class DataNode SpotlightDrawer::Handle(class SpotlightDrawer * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52804 static class Symbol _s; // size: 0x4, address: 0x80A5280C static class Symbol _s; // size: 0x4, address: 0x80A52814 static class Symbol _s; // size: 0x4, address: 0x80A5281C static class Symbol _s; // size: 0x4, address: 0x80A52824 // Range: 0x8045ECF4 -> 0x8045F0D8 unsigned char SpotlightDrawer::SyncProperty(class SpotlightDrawer * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x10C } __vt__15SpotlightDrawer; // size: 0x10C, address: 0x808EFC20 struct { // total size: 0x18 } __vt__13PostProcessor; // size: 0x18, address: 0x808EFEE0 struct { // total size: 0x8 } __RTTI__PQ215SpotlightDrawer13SpotMeshEntry; // size: 0x8, address: 0x808F0088 struct { // total size: 0x8 } __RTTI__PQ215SpotlightDrawer14SpotlightEntry; // size: 0x8, address: 0x808F00B8 // Range: 0x8045F0D8 -> 0x8045F170 static void __sinit_\SpotlightDrawer_cpp() { // References // -> class vector sShadowSpots; // -> class vector sCans; // -> class vector sLights; } /* Compile unit: C:\rockband2\system\src\rndobj\PostProcessor.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045F23C -> 0x8045F28C */ // Range: 0x8045F23C -> 0x8045F27C void * PostProcessor::~PostProcessor(class PostProcessor * const this /* r31 */) {} // Range: 0x8045F27C -> 0x8045F284 float PostProcessor::Priority() {} // Range: 0x8045F284 -> 0x8045F288 void PostProcessor::DoPost() {} // Range: 0x8045F288 -> 0x8045F28C void PostProcessor::EndWorld() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8045F28C -> 0x80460368 */ // Range: 0x8045F28C -> 0x8045F974 void SpotlightDrawer::DrawLight(class Spotlight * sl /* r1+0x10 */) { // Local variables class Color color; // r1+0x30 unsigned int packedColor; // r0 class SpotlightEntry entry; // r1+0x28 class SpotMeshEntry mesh; // r1+0x60 // References // -> class vector sCans; // -> class RndEnviron * sCurrent; // -> class RndCam * sCurrent; // -> unsigned char sNeedDraw; // -> unsigned char sHaveFloorSpots; // -> unsigned char sHaveLenses; // -> unsigned char sHaveFlares; // -> unsigned char sHaveAdditionals; // -> class vector sLights; // -> class vector sShadowSpots; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045F974 -> 0x8045FA14 void SpotlightDrawer::EndWorld(class SpotlightDrawer * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> unsigned char sNeedDraw; // -> class Rnd & TheRnd; } // Range: 0x8045FA14 -> 0x8045FBAC void SpotlightDrawer::DrawShadow() { // Local variables class Spotlight * * spotIter; // r31 class Spotlight * * const spotEnd; // r30 class Spotlight * shadowSpot; // r29 class Character * c; // r28 class Vector3 on; // r1+0x30 class Plane p; // r1+0x20 // References // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__9Character; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class vector sShadowSpots; } // Range: 0x8045FBAC -> 0x8045FCB8 void SpotlightDrawer::DrawAdditional(class SpotlightEntry * spotIter /* r27 */, class SpotlightEntry * const & spotEnd /* r28 */) { // Local variables class Spotlight * sl; // r29 class iterator addIter; // r1+0x20 class iterator addEnd; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045FCB8 -> 0x8045FD9C void SpotlightDrawer::DrawLenses(class SpotlightEntry * spotIter /* r28 */, class SpotlightEntry * const & spotEnd /* r29 */) { // Local variables class Spotlight * sl; // r30 // References // -> class RndMesh * sDiskMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045FD9C -> 0x8045FE80 void SpotlightDrawer::DrawBeams(class SpotlightEntry * spotIter /* r28 */, class SpotlightEntry * const & spotEnd /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045FE80 -> 0x8045FF68 void SpotlightDrawer::DrawFloorSpot(class SpotlightEntry * spotIter /* r28 */, class SpotlightEntry * const & spotEnd /* r29 */) { // Local variables class Spotlight * sl; // r30 // References // -> class RndMesh * sDiskMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8045FF68 -> 0x8045FFAC void SpotlightDrawer::Save() { // References // -> class Debug TheDebug; } // Range: 0x8045FFAC -> 0x80460060 void SpotlightDrawer::Load(class SpotlightDrawer * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x80460060 -> 0x80460160 void * SpotDrawParams::SpotDrawParams(class SpotDrawParams * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x80460160 -> 0x80460368 void SpotDrawParams::Load(class SpotDrawParams * const this /* r29 */, class BinStream & d /* r30 */, int rev /* r31 */) { // Local variables float ambBase; // r1+0x1C float ambScale; // r1+0x18 float litBase; // r1+0x14 float litScale; // r1+0x10 float scroll; // r1+0xC class Vector2 fogRange; // r1+0x28 class Vector2 litRange; // r1+0x20 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80460368 -> 0x804604F0 */ // Range: 0x80460368 -> 0x80460434 void * vector::~vector(class vector * const this /* r31 */) {} // Range: 0x80460434 -> 0x804604F0 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\world\SpotlightDrawer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804604F0 -> 0x80460758 */ // Range: 0x804604F0 -> 0x80460568 class Object * SpotlightDrawer::NewObject() { // References // -> class Symbol name; } // Range: 0x80460568 -> 0x8046056C void SpotlightDrawer::DoPost() {} // Range: 0x8046056C -> 0x804605B0 class Symbol SpotlightDrawer::ClassName() { // References // -> class Symbol name; } // Range: 0x804605B0 -> 0x80460754 void SpotlightDrawer::SetType(class SpotlightDrawer * const this /* r29 */, class Symbol & SpotlightDrawer /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80460754 -> 0x80460758 void SpotlightDrawer::ClearPostProc() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80460758 -> 0x80461C38 */ // Range: 0x80460758 -> 0x8046080C void sort(class SpotMeshEntry * __first /* r29 */, class SpotMeshEntry * __last /* r30 */, class ByEnvMesh & __comp /* r31 */) {} // Range: 0x8046080C -> 0x804608BC void __final_insertion_sort(class SpotMeshEntry * __first /* r29 */, class SpotMeshEntry * __last /* r30 */, class ByEnvMesh & __comp /* r31 */) {} // Range: 0x804608BC -> 0x80460958 void __unguarded_insertion_sort_aux(class SpotMeshEntry * __last /* r29 */, class ByEnvMesh & __comp /* r30 */) { // Local variables class SpotMeshEntry * __i; // r31 } // Range: 0x80460958 -> 0x80460AF0 void __unguarded_linear_insert() { // Local variables class SpotMeshEntry * __next; // r5 } // Range: 0x80460AF0 -> 0x80460DA0 void __insertion_sort(class SpotMeshEntry * __first /* r28 */, class SpotMeshEntry * __last /* r29 */, class ByEnvMesh & __comp /* r30 */) { // Local variables class SpotMeshEntry * __i; // r31 } // Range: 0x80460DA0 -> 0x804610A0 void __introsort_loop(class SpotMeshEntry * __first /* r28 */, class SpotMeshEntry * __last /* r29 */, long __depth_limit /* r30 */, class ByEnvMesh & __comp /* r31 */) { // Local variables class SpotMeshEntry * __cut; // r27 } // Range: 0x804610A0 -> 0x80461364 class SpotMeshEntry * __unguarded_partition(class SpotMeshEntry * __first /* r29 */, class SpotMeshEntry * __last /* r30 */, class SpotMeshEntry & __pivot /* r31 */) {} // Range: 0x80461364 -> 0x80461394 void partial_sort() {} // Range: 0x80461394 -> 0x80461614 void __partial_sort(class SpotMeshEntry * __first /* r27 */, class SpotMeshEntry * __middle /* r28 */, class SpotMeshEntry * __last /* r29 */, class ByEnvMesh & __comp /* r30 */) { // Local variables class SpotMeshEntry * __i; // r31 } // Range: 0x80461614 -> 0x804616B8 void sort(class SpotlightEntry * __first /* r29 */, class SpotlightEntry * __last /* r30 */, class ByColor & __comp /* r31 */) {} // Range: 0x804616B8 -> 0x80461758 void __final_insertion_sort(class SpotlightEntry * __first /* r29 */, class SpotlightEntry * __last /* r30 */, class ByColor & __comp /* r31 */) {} // Range: 0x80461758 -> 0x804617D0 void __unguarded_insertion_sort_aux(class SpotlightEntry * __last /* r29 */, class ByColor & __comp /* r30 */) { // Local variables class SpotlightEntry * __i; // r31 } // Range: 0x804617D0 -> 0x80461810 void __unguarded_linear_insert() { // Local variables class SpotlightEntry * __next; // r6 } // Range: 0x80461810 -> 0x80461914 void __insertion_sort(class SpotlightEntry * __first /* r28 */, class SpotlightEntry * __last /* r29 */, class ByColor & __comp /* r30 */) { // Local variables class SpotlightEntry * __i; // r31 } // Range: 0x80461914 -> 0x80461A54 void __introsort_loop(class SpotlightEntry * __first /* r28 */, class SpotlightEntry * __last /* r29 */, long __depth_limit /* r30 */, class ByColor & __comp /* r31 */) { // Local variables class SpotlightEntry * __cut; // r27 } // Range: 0x80461A54 -> 0x80461B10 class SpotlightEntry * __unguarded_partition(class SpotlightEntry * __first /* r29 */, class SpotlightEntry * __last /* r30 */, class SpotlightEntry & __pivot /* r31 */) {} // Range: 0x80461B10 -> 0x80461B40 void partial_sort() {} // Range: 0x80461B40 -> 0x80461C38 void __partial_sort(class SpotlightEntry * __first /* r30 */, class SpotlightEntry * __middle /* r31 */, class SpotlightEntry * __last /* r27 */, class ByColor & __comp /* r28 */) { // Local variables class SpotlightEntry * __i; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80461C38 -> 0x80461C98 */ // Range: 0x80461C38 -> 0x80461C50 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80461C50 -> 0x80461C68 struct __true_type _OKToSwap::_Answer() {} // Range: 0x80461C68 -> 0x80461C80 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80461C80 -> 0x80461C98 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80461C98 -> 0x804625E0 */ // Range: 0x80461C98 -> 0x80461E48 void pop_heap(class SpotMeshEntry * __last /* r6 */) {} // Range: 0x80461E48 -> 0x80462238 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r7 } // Range: 0x80462238 -> 0x80462398 void make_heap(class SpotMeshEntry * __first /* r31 */) {} // Range: 0x80462398 -> 0x8046240C void pop_heap(class SpotlightEntry * __last /* r8 */) {} // Range: 0x8046240C -> 0x8046252C void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r9 } // Range: 0x8046252C -> 0x804625E0 void make_heap(class SpotlightEntry * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804625E0 -> 0x804633F8 */ // Range: 0x804625E0 -> 0x804629AC void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class SpotMeshEntry * __pos /* r26 */, const class SpotMeshEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class SpotMeshEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ215SpotlightDrawer13SpotMeshEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804629AC -> 0x80462A2C void vector::_M_fill_insert() {} // Range: 0x80462A2C -> 0x80462C18 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class SpotlightEntry * __pos /* r26 */, const class SpotlightEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class SpotlightEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ215SpotlightDrawer14SpotlightEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80462C18 -> 0x80462C88 void vector::_M_fill_insert() {} // Range: 0x80462C88 -> 0x80463210 void vector::_M_fill_insert_aux() { // Local variables class SpotMeshEntry __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class SpotMeshEntry * __old_finish; // r0 } // Range: 0x80463210 -> 0x804633F8 void vector::_M_fill_insert_aux() { // Local variables class SpotlightEntry __x_copy; // r1+0x20 unsigned long __elems_after; // r9 class SpotlightEntry * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\world\Instance.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804633F8 -> 0x80465FE0 */ class DataArray * types; // size: 0x4, address: 0x80A52828 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node; // size: 0x8, address: 0x808F02D8 class list : public _List_base { // total size: 0x8 }; class list sGroups; // size: 0x8, address: 0x8097F0F8 // Range: 0x804633F8 -> 0x8046351C void * WorldInstance::WorldInstance(class WorldInstance * const this /* r31 */) { // References // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; // -> struct [anonymous] __vt__13WorldInstance; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8046351C -> 0x80463AA8 void * WorldInstance::~WorldInstance(class WorldInstance * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__18ObjDirPtr<6RndDir>; } // Range: 0x80463AA8 -> 0x80463B90 void WorldInstance::DrawShowing(class WorldInstance * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80463B90 -> 0x80463CD4 class RndDrawable * WorldInstance::CollideShowing(class WorldInstance * const this /* r26 */, const class Segment & s /* r27 */, float & dist /* r28 */, class Plane & p /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80463CD4 -> 0x80463E90 unsigned char WorldInstance::MakeWorldSphere(class WorldInstance * const this /* r31 */, class Sphere & s /* r29 */) { // Local variables class Sphere s2; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80463E90 -> 0x80463ED4 void WorldInstance::Save() { // References // -> class Debug TheDebug; } // Range: 0x80463ED4 -> 0x80463EEC void WorldInstance::PreSave() {} // Range: 0x80463EEC -> 0x80463EF0 void WorldInstance::PostSave() {} // Range: 0x80463EF0 -> 0x80463EF4 void WorldInstance::Copy() {} // Range: 0x80463EF4 -> 0x80463F50 void WorldInstance::Load(class WorldInstance * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80463F50 -> 0x80463FE0 void WorldInstance::PreLoad(class WorldInstance * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x80463FE0 -> 0x8046416C void WorldInstance::PostLoad(class WorldInstance * const this /* r26 */) { // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x8046416C -> 0x80464638 void WorldInstance::SetProxyFile(class WorldInstance * const this /* r30 */, const class FilePath & file /* r31 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol Group; // size: 0x4, address: 0x80A52830 static class Symbol Tex; // size: 0x4, address: 0x80A52838 static class Symbol CubeTex; // size: 0x4, address: 0x80A52840 static class Symbol Movie; // size: 0x4, address: 0x80A52848 static class Symbol SynthSample; // size: 0x4, address: 0x80A52850 class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80464638 -> 0x804654E0 void WorldInstance::SyncDir(class WorldInstance * const this /* r27 */) { // Local variables class list pairs; // r1+0x128 class ObjDirItr i; // r1+0x130 class EventTrigger * e; // r0 class Object * o; // r24 struct _List_iterator p; // r1+0xEC class list refs; // r1+0x120 struct _List_iterator r; // r1+0xE8 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> struct [anonymous] __RTTI__12EventTrigger; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node<7ObjPair>; // -> static class Symbol SynthSample; // -> static class Symbol Movie; // -> static class Symbol CubeTex; // -> static class Symbol Tex; // -> static class Symbol Group; // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9MsgSource; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> struct [anonymous] __RTTI__11RndPollable; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__33ObjOwnerPtr<8RndGroup,9ObjectDir>; // -> struct [anonymous] __vt__11SharedGroup; // -> struct [anonymous] __vt__11RndPollable; // -> class list sGroups; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; // -> class Debug TheDebug; // -> const char * kAssertStr; } class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndGroup * mPtr; // offset 0x8, size 0x4 }; class SharedGroup : public RndPollable { // total size: 0x4C class ObjOwnerPtr mGroup; // offset 0x8, size 0xC class list mPolls; // offset 0x14, size 0x8 class ObjectDir * mDir; // offset 0x1C, size 0x4 }; // Range: 0x804654E0 -> 0x80465748 void SharedGroup::AddPolls(class SharedGroup * const this /* r31 */) { // Local variables class iterator i; // r1+0x4C class RndPollable * p; // r0 class RndGroup * cg; // r0 // References // -> struct [anonymous] __RTTI__8RndGroup; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPollable; } struct ObjPair { // total size: 0x8 class Object * from; // offset 0x0, size 0x4 class Object * to; // offset 0x4, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct ObjPair _M_data; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std20_List_node<7ObjPair>; // size: 0x8, address: 0x808F03C0 static class Symbol _s; // size: 0x4, address: 0x80A52858 // Range: 0x80465748 -> 0x80465D30 unsigned char WorldInstance::SyncProperty(class WorldInstance * const this /* r30 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r26 */, int _i /* r25 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class FilePath sNull; // -> static class Symbol _s; } // Range: 0x80465D30 -> 0x80465DFC void * SharedGroup::~SharedGroup(class SharedGroup * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8RndGroup,9ObjectDir>; } // Range: 0x80465DFC -> 0x80465F14 void SharedGroup::Replace(class SharedGroup * const this /* r31 */) { // References // -> class list sGroups; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80465F14 -> 0x80465F84 void SharedGroup::Poll(class SharedGroup * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x10 } struct { // total size: 0x80 } __vt__11SharedGroup; // size: 0x80, address: 0x808F0420 struct { // total size: 0x8 } __RTTI__11SharedGroup; // size: 0x8, address: 0x808F04C8 struct { // total size: 0x18 } __vt__33ObjOwnerPtr<8RndGroup,9ObjectDir>; // size: 0x18, address: 0x808F04D0 struct { // total size: 0x8 } __RTTI__33ObjOwnerPtr<8RndGroup,9ObjectDir>; // size: 0x8, address: 0x808F0518 struct { // total size: 0x21C } __vt__13WorldInstance; // size: 0x21C, address: 0x808F0550 struct { // total size: 0x8 } __RTTI__13WorldInstance; // size: 0x8, address: 0x808F07D0 // Range: 0x80465F84 -> 0x80465FE0 static void __sinit_\Instance_cpp() { // References // -> class list sGroups; } class _List_node : public _List_node_base { // total size: 0xC public: class SharedGroup * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80465FE0 -> 0x804660A0 */ // Range: 0x80465FE0 -> 0x80466054 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8RndGroup,9ObjectDir>; } // Range: 0x80466054 -> 0x8046605C class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8046605C -> 0x804660A0 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804660A0 -> 0x804665AC */ // Range: 0x804660A0 -> 0x80466364 class DataNode WorldInstance::Handle(class WorldInstance * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804665AC -> 0x8046667C */ // Range: 0x804665AC -> 0x80466624 void list::push_back(class RndPollable * const & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80466624 -> 0x8046667C void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\world\Instance.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046667C -> 0x80466894 */ // Range: 0x8046667C -> 0x804666C0 class Symbol WorldInstance::ClassName() { // References // -> class Symbol name; } // Range: 0x804666C0 -> 0x80466854 void WorldInstance::SetType(class WorldInstance * const this /* r29 */, class Symbol & WorldInstance /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80466854 -> 0x80466894 class FilePath & WorldInstance::ProxyFile() { // References // -> class FilePath sNull; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80466894 -> 0x804669B4 */ // Range: 0x80466894 -> 0x804668F4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x804668F4 -> 0x80466954 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80466954 -> 0x804669B4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\world\EventAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804669B4 -> 0x80467B98 */ class DataArray * types; // size: 0x4, address: 0x80A52860 // Range: 0x804669B4 -> 0x80466A6C void * EventAnim::EventAnim(class EventAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__9EventAnim; } class _List_node : public _List_node_base { // total size: 0x18 public: struct KeyFrame _M_data; // offset 0x8, size 0x10 }; // Range: 0x80466A6C -> 0x80466AC8 void * EventCall::EventCall() { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; } // Range: 0x80466AC8 -> 0x80466B00 void * KeyFrame::KeyFrame() {} class _List_node : public _List_node_base { // total size: 0x20 public: struct EventCall _M_data; // offset 0x8, size 0x18 }; // Range: 0x80466B00 -> 0x80466B20 float EventAnim::EndFrame() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80466B20 -> 0x80466C18 void EventAnim::SetFrame(class EventAnim * const this /* r30 */, float frame /* f31 */) { // Local variables struct _List_iterator i; // r1+0x1C float c; // f1 struct _List_iterator call; // r1+0x18 } // Range: 0x80466C18 -> 0x80466D20 void EventAnim::Copy(class EventAnim * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class EventAnim * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9EventAnim; } static int REV; // size: 0x4, address: 0x80A52868 // Range: 0x80466D20 -> 0x80466D64 void EventAnim::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A5286C // Range: 0x80466D64 -> 0x80466E08 void EventAnim::Load(class EventAnim * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class Debug TheDebug; // -> static int REV; // -> static int gRev; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80466E08 -> 0x80466E54 class BinStream & __rs(class BinStream & d /* r30 */, struct KeyFrame & c /* r31 */) {} // Range: 0x80466E54 -> 0x80467000 class BinStream & __rs(class BinStream & d /* r28 */, struct EventCall & c /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x80467000 -> 0x80467018 unsigned char KeyFrame::__lt() {} // Range: 0x80467018 -> 0x80467048 void EventAnim::RefreshKeys() {} struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; static class EventAnim * gOwner; // size: 0x4, address: 0x80A52870 // Range: 0x80467070 -> 0x8046745C class DataNode EventAnim::Handle(class EventAnim * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52878 static class Symbol _s; // size: 0x4, address: 0x80A52880 // Range: 0x8046745C -> 0x8046756C unsigned char PropSync(struct EventCall & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A52888 static class Symbol _s; // size: 0x4, address: 0x80A52890 // Range: 0x8046756C -> 0x80467734 unsigned char PropSync(struct KeyFrame & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class EventAnim * gOwner; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x80467734 -> 0x80467ABC unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r31 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables struct _List_iterator it; // r1+0x2C struct EventCall tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std34_List_node; // size: 0x8, address: 0x808F0E80 static class Symbol _s; // size: 0x4, address: 0x80A52898 // Range: 0x80467ABC -> 0x80467B98 unsigned char EventAnim::SyncProperty(class EventAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class EventAnim * gOwner; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std33_List_node; // size: 0x8, address: 0x808F0EC0 struct { // total size: 0xA0 } __vt__9EventAnim; // size: 0xA0, address: 0x808F0EC8 struct { // total size: 0x8 } __RTTI__9EventAnim; // size: 0x8, address: 0x808F0F90 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80467B98 -> 0x80467BF8 */ // Range: 0x80467B98 -> 0x80467BF0 void * list::~list(class list * const this /* r30 */) {} // Range: 0x80467BF0 -> 0x80467BF4 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x80467BF4 -> 0x80467BF8 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80467BF8 -> 0x80467FC4 */ // Range: 0x80467BF8 -> 0x80467CA8 class BinStream & __rs(class BinStream & d /* r29 */, class ObjList & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 } // Range: 0x80467CA8 -> 0x80467D94 class BinStream & __rs(class BinStream & d /* r29 */, class ObjList & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80467D94 -> 0x80467E28 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80467E28 -> 0x80467FC4 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80468068 -> 0x80469344 */ // Range: 0x80468068 -> 0x80468414 void _S_sort(class list & __that /* r28 */, struct less & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x80468414 -> 0x804684E8 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x804684E8 -> 0x80468778 void list::resize(const struct KeyFrame & __x /* r28 */) { // Local variables struct _List_iterator __i; // r1+0x54 unsigned long __len; // r6 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80468778 -> 0x80468BD8 class list & list::__as(class list * const this /* r28 */) { // Local variables struct _List_iterator __first1; // r1+0xBC struct _List_iterator __last1; // r1+0xB8 struct _List_iterator __first2; // r1+0xB4 struct _List_iterator __last2; // r1+0xB0 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80468BD8 -> 0x80468DD8 void list::resize(const struct EventCall & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80468DD8 -> 0x80468E60 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x80468E60 -> 0x80468F20 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80468F20 -> 0x804692A4 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80469344 -> 0x80469850 */ // Range: 0x80469344 -> 0x804694A0 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804694A0 -> 0x80469850 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r30 */, class DataArray * prop /* r31 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables struct _List_iterator it; // r1+0x50 struct KeyFrame tmp; // r1+0x70 // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\world\EventAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80469850 -> 0x80469A30 */ // Range: 0x80469850 -> 0x80469894 class Symbol EventAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x80469894 -> 0x80469A28 void EventAnim::SetType(class EventAnim * const this /* r29 */, class Symbol & EventAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80469A28 -> 0x80469A30 float EventAnim::StartFrame() {} /* Compile unit: C:\rockband2\system\src\world\DOFProc_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80469A30 -> 0x8046A638 */ class DataArray * types; // size: 0x4, address: 0x80A528A0 // Range: 0x80469A30 -> 0x80469C08 void * WiiDOFProc::WiiDOFProc(class WiiDOFProc * const this /* r31 */) { // Local variables int height; // r30 // References // -> class WiiRnd TheWiiRnd; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> class Rnd & TheRnd; // -> struct [anonymous] __vt__10WiiDOFProc; } // Range: 0x80469C08 -> 0x80469CE4 void * WiiDOFProc::~WiiDOFProc(class WiiDOFProc * const this /* r30 */) { // References // -> class Rnd & TheRnd; // -> struct [anonymous] __vt__10WiiDOFProc; } // Range: 0x80469CE4 -> 0x80469D04 void WiiDOFProc::Set() {} // Range: 0x80469D04 -> 0x80469D10 void WiiDOFProc::UnSet() {} static class Timer * _t; // size: 0x4, address: 0x80A528A8 // Range: 0x80469D10 -> 0x8046A634 void WiiDOFProc::EndWorld(class WiiDOFProc * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0x18 float q; // f1 float farz; // f31 class WiiOrthoProj _ortho; // r1+0x40 unsigned char c; // r3 struct _GXColor white; // r1+0x14 float texmtx[2][4]; // r1+0x20 // References // -> class WiiRnd TheWiiRnd; // -> static class Timer * _t; } // Range: 0x8046A634 -> 0x8046A638 void WiiDOFProc::DoPost() {} struct { // total size: 0x98 } __vt__10WiiDOFProc; // size: 0x98, address: 0x808F1008 struct { // total size: 0x8 } __RTTI__10WiiDOFProc; // size: 0x8, address: 0x808F10D0 class WiiSplitPostProc : public PostProcessor { // total size: 0x18 class RndTex * mWorldColorTex; // offset 0x4, size 0x4 class RndTex * mWorldDepthTex; // offset 0x8, size 0x4 class RndTex * mFinalTex; // offset 0xC, size 0x4 unsigned char mWorldDrawn; // offset 0x10, size 0x1 unsigned char mFinalDrawn; // offset 0x11, size 0x1 void * mDummyTex; // offset 0x14, size 0x4 }; /* Compile unit: C:\rockband2\system\src\world\DOFProc_Wii.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046A658 -> 0x8046A854 */ // Range: 0x8046A658 -> 0x8046A660 float WiiDOFProc::Priority() {} // Range: 0x8046A660 -> 0x8046A668 float WiiDOFProc::MinBlur() {} // Range: 0x8046A668 -> 0x8046A670 float WiiDOFProc::MaxBlur() {} // Range: 0x8046A670 -> 0x8046A678 float WiiDOFProc::BlurDepth() {} // Range: 0x8046A678 -> 0x8046A680 float WiiDOFProc::FocalPlane() {} // Range: 0x8046A680 -> 0x8046A688 unsigned char WiiDOFProc::Blur() {} // Range: 0x8046A688 -> 0x8046A690 unsigned char WiiDOFProc::Enabled() {} // Range: 0x8046A690 -> 0x8046A810 void WiiDOFProc::SetType(class WiiDOFProc * const this /* r29 */, class Symbol & WiiDOFProc /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8046A810 -> 0x8046A854 class Symbol WiiDOFProc::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Anim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046A854 -> 0x8046CB44 */ class DataArray * types; // size: 0x4, address: 0x80A528B0 class Symbol name; // size: 0x4, address: 0x80A528B8 static int ANIMATABLE_REV; // size: 0x4, address: 0x80A470E0 class Symbol name; // size: 0x4, address: 0x80A528C0 static enum TaskUnits gRateUnits[5]; // size: 0x14, address: 0x808F1108 static float gRateFpu[5]; // size: 0x14, address: 0x808F111C // Range: 0x8046A854 -> 0x8046A86C enum TaskUnits RndAnimatable::Units() { // References // -> static enum TaskUnits gRateUnits[5]; } // Range: 0x8046A86C -> 0x8046A884 float RndAnimatable::FramesPerUnit() { // References // -> static float gRateFpu[5]; } // Range: 0x8046A884 -> 0x8046A8E4 unsigned char RndAnimatable::ConvertFrames(class RndAnimatable * const this /* r30 */, float & frames /* r31 */) {} // Range: 0x8046A8E4 -> 0x8046A960 void * RndAnimatable::RndAnimatable(class RndAnimatable * const this /* r31 */) { // References // -> struct [anonymous] __vt__13RndAnimatable; } // Range: 0x8046A960 -> 0x8046A9A4 void RndAnimatable::Save() { // References // -> class Debug TheDebug; } // Range: 0x8046A9A4 -> 0x8046AAF4 void RndAnimatable::Load(class RndAnimatable * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; // -> static int ANIMATABLE_REV; } // Range: 0x8046AAF4 -> 0x8046AB54 void RndAnimatable::Copy(class RndAnimatable * const this /* r31 */) { // Local variables const class RndAnimatable * m; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } // Range: 0x8046AB54 -> 0x8046AC04 unsigned char RndAnimatable::IsAnimating(class RndAnimatable * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8AnimTask; } // Range: 0x8046AC04 -> 0x8046ACDC void RndAnimatable::StopAnimation(class RndAnimatable * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x28 class AnimTask * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8AnimTask; } // Range: 0x8046ACDC -> 0x8046AE38 class Task * RndAnimatable::Animate(class RndAnimatable * const this /* r28 */, float blend /* f28 */, unsigned char wait /* r29 */, float delay /* f29 */) { // References // -> class TaskMgr TheTaskMgr; } static class Symbol dest; // size: 0x4, address: 0x80A528C8 static class Symbol loop; // size: 0x4, address: 0x80A528D0 // Range: 0x8046AE38 -> 0x8046B008 class Task * RndAnimatable::Animate(class RndAnimatable * const this /* r26 */, float blend /* f26 */, unsigned char wait /* r29 */, float delay /* f27 */, enum Rate rate /* r30 */, float start /* f28 */, float end /* f29 */, float period /* f30 */, float scale /* f31 */, class Symbol & type /* r27 */) { // Local variables float fpu; // f31 // References // -> static enum TaskUnits gRateUnits[5]; // -> class TaskMgr TheTaskMgr; // -> static float gRateFpu[5]; // -> static class Symbol loop; // -> static class Symbol dest; } // Range: 0x8046B008 -> 0x8046B134 class Task * RndAnimatable::Animate(class RndAnimatable * const this /* r29 */, float start /* f28 */, float end /* f29 */, enum TaskUnits units /* r30 */, float blend /* f30 */) { // Local variables float fpu; // f31 float fpus[3]; // r1+0x8 // References // -> class TaskMgr TheTaskMgr; } static class Symbol _s; // size: 0x4, address: 0x80A528D8 static class Symbol _s; // size: 0x4, address: 0x80A528E0 static class Symbol _s; // size: 0x4, address: 0x80A528E8 static class Symbol _s; // size: 0x4, address: 0x80A528F0 static class Symbol _s; // size: 0x4, address: 0x80A528F8 static class Symbol _s; // size: 0x4, address: 0x80A52900 static class Symbol _s; // size: 0x4, address: 0x80A52908 // Range: 0x8046B134 -> 0x8046B9FC class DataNode RndAnimatable::Handle(class RndAnimatable * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol blend; // size: 0x4, address: 0x80A52910 static class Symbol range; // size: 0x4, address: 0x80A52918 static class Symbol loop; // size: 0x4, address: 0x80A52920 static class Symbol dest; // size: 0x4, address: 0x80A52928 static class Symbol period; // size: 0x4, address: 0x80A52930 static class Symbol delay; // size: 0x4, address: 0x80A52938 static class Symbol units; // size: 0x4, address: 0x80A52940 static class Symbol name; // size: 0x4, address: 0x80A52948 static class Symbol wait; // size: 0x4, address: 0x80A52950 // Range: 0x8046B9FC -> 0x8046BF6C class DataNode RndAnimatable::OnAnimate(class RndAnimatable * const this /* r28 */, class DataArray * data /* r29 */) { // Local variables float b; // r1+0x3C float start; // f30 float end; // f29 unsigned char l; // r30 float fpu; // f31 enum TaskUnits u; // r1+0x38 float d; // r1+0x34 const char * n; // r1+0x30 unsigned char w; // r1+0x8 class DataArray * r; // r26 class DataArray * r; // r26 class DataArray * r; // r26 class DataArray * r; // r26 float p; // f0 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol wait; // -> static class Symbol name; // -> static class Symbol units; // -> static class Symbol delay; // -> static class Symbol period; // -> static class Symbol dest; // -> static class Symbol loop; // -> static class Symbol range; // -> static class Symbol blend; } // Range: 0x8046BF6C -> 0x8046C040 class DataNode RndAnimatable::OnConvertFrames(class RndAnimatable * const this /* r30 */, class DataArray * data /* r29 */) { // Local variables float frames; // r1+0x8 unsigned char seconds; // r0 } static class Symbol _s; // size: 0x4, address: 0x80A52958 // Range: 0x8046C040 -> 0x8046C1AC unsigned char RndAnimatable::SyncProperty(class RndAnimatable * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } class AnimTask : public Task { // total size: 0x6C protected: class ObjOwnerPtr mAnim; // offset 0x28, size 0xC class ObjPtr mAnimTarget; // offset 0x34, size 0xC class ObjPtr mBlendTask; // offset 0x40, size 0xC unsigned char mBlending; // offset 0x4C, size 0x1 float mBlendTime; // offset 0x50, size 0x4 float mBlendPeriod; // offset 0x54, size 0x4 float mMin; // offset 0x58, size 0x4 float mMax; // offset 0x5C, size 0x4 float mScale; // offset 0x60, size 0x4 float mOffset; // offset 0x64, size 0x4 unsigned char mLoop; // offset 0x68, size 0x1 }; // Range: 0x8046C1AC -> 0x8046C56C void * AnimTask::AnimTask(class AnimTask * const this /* r30 */, class RndAnimatable * anim /* r31 */, float start /* r1+0x8 */, float end /* r1+0xC */, float fpu /* f30 */, unsigned char loop /* r28 */, float blend /* f31 */) { // Local variables class Object * target; // r0 struct _List_iterator i; // r1+0x28 class Object * o; // r28 // References // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__28ObjPtr<8AnimTask,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__39ObjOwnerPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__8AnimTask; } class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndAnimatable * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class AnimTask * mPtr; // offset 0x8, size 0x4 }; // Range: 0x8046C56C -> 0x8046C6D8 float AnimTask::TimeUntilEnd(class AnimTask * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8046C6D8 -> 0x8046C7E8 void * AnimTask::~AnimTask(class AnimTask * const this /* r30 */) { // References // -> struct [anonymous] __vt__39ObjOwnerPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__28ObjPtr<8AnimTask,9ObjectDir>; // -> struct [anonymous] __vt__8AnimTask; } // Range: 0x8046C7E8 -> 0x8046C898 void AnimTask::Replace(class AnimTask * const this /* r31 */) {} // Range: 0x8046C898 -> 0x8046CB00 void AnimTask::Poll(class AnimTask * const this /* r31 */, float time /* f28 */) { // Local variables float blend; // f29 float preFrame; // f28 float frame; // f30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8046CB00 -> 0x8046CB44 class Symbol AnimTask::ClassName() { // References // -> class Symbol name; } struct { // total size: 0x58 } __vt__8AnimTask; // size: 0x58, address: 0x808F1298 struct { // total size: 0x8 } __RTTI__8AnimTask; // size: 0x8, address: 0x808F1318 struct { // total size: 0x18 } __vt__28ObjPtr<8AnimTask,9ObjectDir>; // size: 0x18, address: 0x808F1320 struct { // total size: 0x8 } __RTTI__28ObjPtr<8AnimTask,9ObjectDir>; // size: 0x8, address: 0x808F1360 struct { // total size: 0x18 } __vt__39ObjOwnerPtr<13RndAnimatable,9ObjectDir>; // size: 0x18, address: 0x808F13B8 struct { // total size: 0x8 } __RTTI__39ObjOwnerPtr<13RndAnimatable,9ObjectDir>; // size: 0x8, address: 0x808F1408 struct { // total size: 0xA0 } __vt__13RndAnimatable; // size: 0xA0, address: 0x808F1410 struct { // total size: 0x58 } __vt__4Task; // size: 0x58, address: 0x808F14E0 /* Compile unit: C:\rockband2\system\src\rndobj\Anim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046CB44 -> 0x8046CD1C */ // Range: 0x8046CB44 -> 0x8046CB88 class Symbol RndAnimatable::ClassName() { // References // -> class Symbol name; } // Range: 0x8046CB88 -> 0x8046CD1C void RndAnimatable::SetType(class RndAnimatable * const this /* r29 */, class Symbol & RndAnimatable /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046CDBC -> 0x8046CF8C */ // Range: 0x8046CDBC -> 0x8046CE30 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__39ObjOwnerPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x8046CE30 -> 0x8046CEA0 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8AnimTask,9ObjectDir>; } // Range: 0x8046CEA0 -> 0x8046CEA8 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8046CEA8 -> 0x8046CEEC void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } // Range: 0x8046CEEC -> 0x8046CEF4 class Object * ObjPtr::RefOwner() {} // Range: 0x8046CEF4 -> 0x8046CF8C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8AnimTask; } /* Compile unit: C:\rockband2\system\src\rndobj\AnimFilter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046CF8C -> 0x8046EB18 */ class DataArray * types; // size: 0x4, address: 0x80A52960 class Symbol name; // size: 0x4, address: 0x80A52968 enum Type { kRange = 0, kLoop = 1, kShuttle = 2, }; class RndAnimFilter : public RndAnimatable { // total size: 0x6C protected: class ObjPtr mAnim; // offset 0x10, size 0xC float mPeriod; // offset 0x1C, size 0x4 float mStart; // offset 0x20, size 0x4 float mEnd; // offset 0x24, size 0x4 float mScale; // offset 0x28, size 0x4 float mOffset; // offset 0x2C, size 0x4 float mSnap; // offset 0x30, size 0x4 float mJitter; // offset 0x34, size 0x4 float mJitterFrame; // offset 0x38, size 0x4 enum Type mType; // offset 0x3C, size 0x4 }; // Range: 0x8046CF8C -> 0x8046D038 void RndAnimFilter::SetAnim(class RndAnimFilter * const this /* r30 */, class RndAnimatable * a /* r31 */) {} class _List_node : public _List_node_base { // total size: 0xC public: class RndAnimatable * _M_data; // offset 0x8, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8046D038 -> 0x8046D0B4 void RndAnimFilter::ListAnimChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node; // size: 0x8, address: 0x808F16C0 // Range: 0x8046D0B4 -> 0x8046D1BC void RndAnimFilter::Copy(class RndAnimFilter * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndAnimFilter * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimFilter; } static int ANIMFILTER_REV; // size: 0x4, address: 0x80A470E8 // Range: 0x8046D1BC -> 0x8046D200 void RndAnimFilter::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A5296C // Range: 0x8046D200 -> 0x8046D39C void RndAnimFilter::Load(class RndAnimFilter * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int ANIMFILTER_REV; // -> static int gRev; } // Range: 0x8046D39C -> 0x8046D418 float RndAnimFilter::Scale(class RndAnimFilter * const this /* r31 */) {} // Range: 0x8046D418 -> 0x8046D444 float RndAnimFilter::FrameOffset() {} // Range: 0x8046D444 -> 0x8046D670 void RndAnimFilter::SetFrame(class RndAnimFilter * const this /* r31 */, float frame /* f28 */, float blend /* f31 */) { // Local variables int i; // r0 float min; // f29 float max; // f30 int n; // r4 } // Range: 0x8046D670 -> 0x8046D6E8 float RndAnimFilter::StartFrame(class RndAnimFilter * const this /* r31 */) { // Local variables float scale; // f31 } // Range: 0x8046D6E8 -> 0x8046D774 float RndAnimFilter::EndFrame(class RndAnimFilter * const this /* r31 */) { // Local variables float scale; // f31 float end; // f1 } // Range: 0x8046D774 -> 0x8046D850 void * RndAnimFilter::RndAnimFilter(class RndAnimFilter * const this /* r31 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __vt__13RndAnimFilter; } static class Symbol _s; // size: 0x4, address: 0x80A52974 // Range: 0x8046D850 -> 0x8046DD94 class DataNode RndAnimFilter::Handle(class RndAnimFilter * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndAnimatable * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8046DD94 -> 0x8046E270 class DataNode RndAnimFilter::OnSafeAnims(class RndAnimFilter * const this /* r30 */, class DataArray * a /* r28 */) { // Local variables int idx; // r31 class DataArrayPtr da; // r1+0x28 class ObjDirItr ai; // r1+0x30 // References // -> struct [anonymous] __RTTI__13RndAnimatable; // -> struct [anonymous] __vt__12DataArrayPtr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } static class Symbol _s; // size: 0x4, address: 0x80A5297C static class Symbol _s; // size: 0x4, address: 0x80A52984 static class Symbol _s; // size: 0x4, address: 0x80A5298C static class Symbol _s; // size: 0x4, address: 0x80A52994 static class Symbol _s; // size: 0x4, address: 0x80A5299C static class Symbol _s; // size: 0x4, address: 0x80A529A4 static class Symbol _s; // size: 0x4, address: 0x80A529AC static class Symbol _s; // size: 0x4, address: 0x80A529B4 static class Symbol _s; // size: 0x4, address: 0x80A529BC // Range: 0x8046E270 -> 0x8046EB18 unsigned char RndAnimFilter::SyncProperty(class RndAnimFilter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> static class Symbol _s; } struct { // total size: 0xA0 } __vt__13RndAnimFilter; // size: 0xA0, address: 0x808F1770 struct { // total size: 0x8 } __RTTI__13RndAnimFilter; // size: 0x8, address: 0x808F1840 /* Compile unit: C:\rockband2\system\src\rndobj\AnimFilter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046EB18 -> 0x8046ED20 */ // Range: 0x8046EB18 -> 0x8046EB5C class Symbol RndAnimFilter::ClassName() { // References // -> class Symbol name; } // Range: 0x8046EB5C -> 0x8046ECF0 void RndAnimFilter::SetType(class RndAnimFilter * const this /* r29 */, class Symbol & RndAnimFilter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8046ECF0 -> 0x8046ED04 class Object * RndAnimFilter::AnimTarget() {} // Range: 0x8046ED04 -> 0x8046ED20 unsigned char RndAnimFilter::Loop() {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046EE78 -> 0x8046EFE8 */ // Range: 0x8046EE78 -> 0x8046EFE8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } /* Compile unit: C:\rockband2\system\src\rndobj\Bitmap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8046EFE8 -> 0x8047289C */ // Range: 0x8046EFE8 -> 0x8046F110 class BinStream & RndBitmap::LoadHeader(class RndBitmap * const this /* r29 */, class BinStream & d /* r30 */, unsigned char & numMips /* r31 */) { // Local variables unsigned char rev; // r1+0x9 unsigned char order; // r1+0x8 unsigned char pad[19]; // r1+0x20 unsigned char pad[19]; // r1+0xC } // Range: 0x8046F110 -> 0x8046F180 class BinStream & __rs(class BinStream & d /* r30 */, struct tagBITMAPFILEHEADER & header /* r31 */) {} // Range: 0x8046F180 -> 0x8046F208 class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x8046F208 -> 0x8046F2E8 class BinStream & __rs(class BinStream & d /* r30 */, struct tagBITMAPINFOHEADER & info /* r31 */) {} // Range: 0x8046F2E8 -> 0x8046F418 class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x8046F418 -> 0x8046F438 int RndBitmap::NumMips() { // Local variables const class RndBitmap * bm; // r3 int num; // r4 } // Range: 0x8046F438 -> 0x8046F448 int RndBitmap::PixelBytes() {} // Range: 0x8046F448 -> 0x8046F484 int RndBitmap::PaletteBytes() {} // Range: 0x8046F484 -> 0x8046F564 unsigned char RndBitmap::NearestColor(const class RndBitmap * const this /* r25 */, unsigned char r /* r26 */, unsigned char g /* r27 */, unsigned char b /* r28 */, unsigned char a /* r29 */) { // Local variables int ir; // r0 int ig; // r0 int ib; // r0 int ia; // r0 int nearI; // r31 int nearDiff; // r30 int i; // r21 unsigned char pr; // r1+0xB unsigned char pg; // r1+0xA unsigned char pb; // r1+0x9 unsigned char pa; // r1+0x8 int diff; // r0 } // Range: 0x8046F564 -> 0x8046F74C void RndBitmap::ConvertColor(const class RndBitmap * const this /* r27 */, unsigned char & r /* r29 */, unsigned char & g /* r30 */, unsigned char & b /* r31 */, unsigned char & a /* r28 */) { // Local variables unsigned short p; // r0 } // Range: 0x8046F74C -> 0x8046F884 void RndBitmap::ConvertColor(unsigned char * color /* r31 */) { // Local variables unsigned short * p; // r0 } // Range: 0x8046F884 -> 0x8046F93C void RndBitmap::Reset(class RndBitmap * const this /* r30 */) {} // Range: 0x8046F93C -> 0x8046FADC void RndBitmap::Create(class RndBitmap * const this /* r27 */, const class RndBitmap & bm /* r28 */, int bpp /* r29 */, int order /* r30 */, void * palette /* r31 */) { // Local variables int i; // r31 unsigned char r; // r1+0x13 unsigned char g; // r1+0x12 unsigned char b; // r1+0x11 unsigned char a; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8046FADC -> 0x8046FB68 void RndBitmap::AllocateBuffer(class RndBitmap * const this /* r30 */) { // Local variables int bufferBytes; // r3 } // Range: 0x8046FB68 -> 0x8046FDB8 void RndBitmap::Create(class RndBitmap * const this /* r23 */, int width /* r24 */, int height /* r25 */, int rowBytes /* r26 */, int bpp /* r27 */, int order /* r28 */, void * palette /* r29 */, void * pixels /* r30 */, void * buffer /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8046FDB8 -> 0x8047001C void RndBitmap::Create(class RndBitmap * const this /* r30 */, void * buffer /* r25 */) { // Local variables unsigned char numMips; // r1+0x10 class BufStream stream; // r1+0x14 unsigned char * buf; // r31 int bytes; // r28 class RndBitmap * to; // r27 int width; // r26 int height; // r25 // References // -> class Debug TheDebug; } static unsigned char bytes02[4][16]; // size: 0x40, address: 0x808F1AE0 static unsigned char bytes13[4][16]; // size: 0x40, address: 0x808F1B20 static unsigned char hbytes02[4][32]; // size: 0x80, address: 0x808F1B60 static unsigned char hbytes13[4][32]; // size: 0x80, address: 0x808F1BE0 // Range: 0x8047001C -> 0x8047037C int RndBitmap::PixelOffset() { // Local variables int rb; // r0 int addr; // r3 int offset; // r4 int col; // r9 int x2; // r10 int y2; // r11 int rb; // r0 int addr; // r3 int offset; // r5 int kTexelsPerTile; // r31 unsigned int offset; // r30 int x_; // r7 int y_; // r0 // References // -> static unsigned char hbytes02[4][32]; // -> static unsigned char hbytes13[4][32]; // -> static unsigned char bytes02[4][16]; // -> static unsigned char bytes13[4][16]; } // Range: 0x8047037C -> 0x804703E4 unsigned char RndBitmap::PixelIndex(const class RndBitmap * const this /* r31 */) { // Local variables unsigned char half; // r1+0x8 unsigned char * color; // r0 } // Range: 0x804703E4 -> 0x80470468 void RndBitmap::SetPixelIndex(class RndBitmap * const this /* r30 */, unsigned char i /* r31 */) { // Local variables unsigned char half; // r1+0x8 unsigned char * color; // r0 } // Range: 0x80470468 -> 0x80470514 int RndBitmap::HighestIndex(const class RndBitmap * const this /* r28 */) { // Local variables int highest; // r31 int y; // r30 int x; // r29 int i; // r0 } // Range: 0x80470514 -> 0x804706A4 void RndBitmap::ConvertTo8Bpp(class RndBitmap * const this /* r29 */) { // Local variables class RndBitmap bm; // r1+0x10 int y; // r31 int x; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804706A4 -> 0x8047075C void RndBitmap::ConvertToAlpha(class RndBitmap * const this /* r30 */) { // Local variables class RndBitmap bm; // r1+0x8 } // Range: 0x8047075C -> 0x80470A10 unsigned char RndBitmap::SetAlpha(class RndBitmap * const this /* r30 */, const class RndBitmap & bm /* r31 */) { // Local variables int y; // r29 int x; // r28 unsigned char r; // r1+0x11 unsigned char g; // r1+0x10 unsigned char b; // r1+0xF unsigned char a; // r1+0xE unsigned char foo; // r1+0xD int highest; // r28 int alphaHighest; // r29 int i; // r27 unsigned char r; // r1+0xC unsigned char g; // r1+0xB unsigned char b; // r1+0xA unsigned char a; // r1+0x9 unsigned char foo; // r1+0x8 int j; // r26 int y; // r26 int x; // r27 int i; // r29 int ai; // r0 // References // -> class Debug TheDebug; } // Range: 0x80470A10 -> 0x80470C14 void RndBitmap::SetAlpha(class RndBitmap * const this /* r30 */, enum AlphaFlag ext /* r31 */) { // Local variables int i; // r29 unsigned char r; // r1+0xF unsigned char g; // r1+0xE unsigned char b; // r1+0xD unsigned char a; // r1+0xC int y; // r29 int x; // r28 unsigned char r; // r1+0xB unsigned char g; // r1+0xA unsigned char b; // r1+0x9 unsigned char a; // r1+0x8 } // Range: 0x80470C14 -> 0x80470CB4 static void PreMultiplyAlpha() { // Local variables float alpha; // f1 } // Range: 0x80470CB4 -> 0x80470E5C void RndBitmap::SetPreMultipliedAlpha(class RndBitmap * const this /* r31 */) { // Local variables int i; // r30 unsigned char r; // r1+0xF unsigned char g; // r1+0xE unsigned char b; // r1+0xD unsigned char a; // r1+0xC int y; // r30 int x; // r29 unsigned char r; // r1+0xB unsigned char g; // r1+0xA unsigned char b; // r1+0x9 unsigned char a; // r1+0x8 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x80470E5C -> 0x80470FB0 void RndBitmap::SelfMip(class RndBitmap * const this /* r29 */) { // Local variables int offset; // r31 int pixelBytes; // r30 int levels; // r27 class RndBitmap * bm; // r26 int i; // r25 } // Range: 0x80470FB0 -> 0x80471204 void RndBitmap::GenerateMips(class RndBitmap * const this /* r22 */) { // Local variables int y; // r28 int x; // r27 int rt; // r26 int gt; // r25 int bt; // r24 int at; // r23 unsigned char r; // r1+0x13 unsigned char g; // r1+0x12 unsigned char b; // r1+0x11 unsigned char a; // r1+0x10 } struct tagBITMAPFILEHEADER { // total size: 0xC unsigned int bfSize; // offset 0x0, size 0x4 unsigned short bfReserved1; // offset 0x4, size 0x2 unsigned short bfReserved2; // offset 0x6, size 0x2 unsigned int bfOffBits; // offset 0x8, size 0x4 }; // Range: 0x80471204 -> 0x804712AC unsigned char RndBitmap::LoadBmp(class RndBitmap * const this /* r30 */, class BinStream * file /* r31 */) { // Local variables unsigned short type; // r1+0x8 struct tagBITMAPFILEHEADER header; // r1+0xC // References // -> class Debug TheDebug; } struct tagBITMAPINFOHEADER { // total size: 0x28 unsigned int biSize; // offset 0x0, size 0x4 int biWidth; // offset 0x4, size 0x4 int biHeight; // offset 0x8, size 0x4 unsigned short biPlanes; // offset 0xC, size 0x2 unsigned short biBitCount; // offset 0xE, size 0x2 unsigned int biCompression; // offset 0x10, size 0x4 unsigned int biSizeImage; // offset 0x14, size 0x4 int biXPelsPerMeter; // offset 0x18, size 0x4 int biYPelsPerMeter; // offset 0x1C, size 0x4 unsigned int biClrUsed; // offset 0x20, size 0x4 unsigned int biClrImportant; // offset 0x24, size 0x4 }; // Range: 0x804712AC -> 0x8047157C unsigned char RndBitmap::LoadDIB(class RndBitmap * const this /* r23 */, class BinStream * file /* r24 */, unsigned int bfOffBits /* r25 */) { // Local variables struct tagBITMAPINFOHEADER info; // r1+0x10 int palLen; // r30 int rowBytes; // r29 int pixelLen; // r28 unsigned char * buffer; // r31 unsigned char * pal; // r27 unsigned char * pixels; // r26 int y; // r25 unsigned char * p; // r4 // References // -> class Debug TheDebug; } // Range: 0x8047157C -> 0x80471828 unsigned char RndBitmap::LoadBmp(class RndBitmap * const this /* r26 */, const char * path /* r27 */, unsigned char addAlpha /* r28 */, unsigned char wantMips /* r29 */) { // Local variables char base[512]; // r1+0x230 char str[512]; // r1+0x30 class RndBitmap bm; // r1+0x8 } // Range: 0x80471828 -> 0x804718C8 void RndBitmap::SaveBmp(const class RndBitmap * const this /* r29 */, const char * path /* r30 */) {} // Range: 0x804718C8 -> 0x80471AAC void RndBitmap::SaveBmp(const class RndBitmap * const this /* r30 */, class BinStream * file /* r31 */) { // Local variables struct tagBITMAPFILEHEADER header; // r1+0xC struct tagBITMAPINFOHEADER info; // r1+0x18 int y; // r28 unsigned char * pixels; // r29 unsigned char * p; // r27 unsigned char c; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80471AAC -> 0x80471B60 unsigned char RndBitmap::IsTranslucent(const class RndBitmap * const this /* r29 */) { // Local variables int y; // r31 int x; // r30 unsigned char r; // r1+0xB unsigned char g; // r1+0xA unsigned char b; // r1+0x9 unsigned char a; // r1+0x8 } // Range: 0x80471B60 -> 0x80471BC4 void RndBitmap::SetAlphaDxt(class RndBitmap * const this /* r29 */, class RndBitmap * bm /* r30 */) {} // Range: 0x80471BC4 -> 0x80471C98 unsigned char RndBitmap::SamePaletteColors(const class RndBitmap * const this /* r28 */, const class RndBitmap & bm /* r29 */) { // Local variables int i; // r31 unsigned int a; // r1+0xC unsigned int b; // r1+0x8 unsigned char * pa; // r5 unsigned char * pb; // r30 } // Range: 0x80471C98 -> 0x80471CE4 unsigned char RndBitmap::SamePixelFormat() {} // Range: 0x80471CE4 -> 0x80472088 void RndBitmap::Blt(class RndBitmap * const this /* r23 */, const class RndBitmap & bm /* r24 */, int dX /* r25 */, int dY /* r26 */, int sX /* r27 */, int sY /* r28 */, int width /* r29 */, int height /* r30 */) { // Local variables int len; // r31 unsigned char map[256]; // r1+0x10 int i; // r31 unsigned char r; // r1+0xF unsigned char g; // r1+0xE unsigned char b; // r1+0xD unsigned char a; // r1+0xC int dX0; // r31 int sX0; // r22 int width0; // r21 int dX0; // r21 int sX0; // r22 int width0; // r31 unsigned char r; // r1+0xB unsigned char g; // r1+0xA unsigned char b; // r1+0x9 unsigned char a; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80472088 -> 0x80472134 void RndBitmap::PixelColor(const class RndBitmap * const this /* r27 */, unsigned char & r /* r28 */, unsigned char & g /* r29 */, unsigned char & b /* r30 */, unsigned char & a /* r31 */) { // Local variables unsigned char half; // r1+0x8 unsigned char * color; // r0 } // Range: 0x80472134 -> 0x804721E0 void RndBitmap::SetPixelColor(class RndBitmap * const this /* r25 */, int x /* r26 */, int y /* r27 */, unsigned char r /* r28 */, unsigned char g /* r29 */, unsigned char b /* r30 */, unsigned char a /* r31 */) { // Local variables unsigned char half; // r1+0x8 unsigned char * color; // r0 } // Range: 0x804721E0 -> 0x80472368 static void DecodeDxtColor(int x /* r0 */) { // Local variables unsigned short c0; // r31 unsigned short c1; // r30 int i; // r3 unsigned char r0; // r29 unsigned char r1; // r28 unsigned char g0; // r0 unsigned char g1; // r4 unsigned char b0; // r5 unsigned char b1; // r11 unsigned int u; // r6 unsigned int v; // r3 } // Range: 0x80472368 -> 0x8047256C void RndBitmap::DxtColor(const class RndBitmap * const this /* r22 */, int x /* r23 */, int y /* r24 */, unsigned char & r /* r25 */, unsigned char & g /* r26 */, unsigned char & b /* r27 */, unsigned char & a /* r28 */) { // Local variables int dxt; // r30 int W; // r0 int X; // r3 int Y; // r4 int tile_offs; // r29 int XWiiTile; // r8 int YWiiTile; // r9 int iWiiTileOffset; // r30 unsigned char unused; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8047256C -> 0x804725AC int RndBitmap::PaletteOffset() {} // Range: 0x804725AC -> 0x80472614 void RndBitmap::PaletteColor(const class RndBitmap * const this /* r27 */, unsigned char & r /* r28 */, unsigned char & g /* r29 */, unsigned char & b /* r30 */, unsigned char & a /* r31 */) {} // Range: 0x80472614 -> 0x8047267C void RndBitmap::SetPaletteColor(class RndBitmap * const this /* r27 */, unsigned char r /* r28 */, unsigned char g /* r29 */, unsigned char b /* r30 */, unsigned char a /* r31 */) {} // Range: 0x8047267C -> 0x8047289C void RndBitmap::Load(class RndBitmap * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables unsigned char numMips; // r1+0x10 class RndBitmap * to; // r27 int width; // r26 int height; // r25 } /* Compile unit: C:\rockband2\system\src\os\Endian.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047289C -> 0x804728AC */ // Range: 0x8047289C -> 0x804728AC unsigned short EndianSwapBig() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804728AC -> 0x8047296C */ // Range: 0x804728AC -> 0x8047290C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, unsigned int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8047290C -> 0x8047296C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, unsigned short t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\rndobj\Blur.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047296C -> 0x80473DC8 */ class DataArray * types; // size: 0x4, address: 0x80A529C0 class Symbol name; // size: 0x4, address: 0x80A529C8 class RndBlur : public RndDrawable { // total size: 0xA0 protected: class ObjPtr mMesh; // offset 0x34, size 0xC class ObjPtr mText; // offset 0x40, size 0xC int mLength; // offset 0x4C, size 0x4 int mRate; // offset 0x50, size 0x4 float mFalloff; // offset 0x54, size 0x4 class list mKeys; // offset 0x58, size 0x8 int mCount; // offset 0x60, size 0x4 }; // Range: 0x8047296C -> 0x80472A9C void RndBlur::Copy(class RndBlur * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndBlur * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndBlur; } static int BLUR_REV; // size: 0x4, address: 0x80A47104 // Range: 0x80472A9C -> 0x80472AE0 void RndBlur::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A529CC // Range: 0x80472AE0 -> 0x80472C2C void RndBlur::Load(class RndBlur * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int BLUR_REV; // -> static int gRev; } // Range: 0x80472C2C -> 0x80473130 void RndBlur::DrawShowing(class RndBlur * const this /* r27 */) { // Local variables class RndMat * mat; // r30 enum ZMode zMode; // r0 class RndTransformable * trans; // r29 class RndDrawable * draw; // r28 class Transform world; // r1+0x50 class Transform * prevXfm; // r6 float startAlpha; // f0 float alpha; // f30 float step; // f29 struct _List_iterator x; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> class Rnd & TheRnd; } // Range: 0x80473130 -> 0x8047321C void RndBlur::ListDrawChildren(class RndBlur * const this /* r29 */, class list & l /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8047321C -> 0x8047338C void * RndBlur::RndBlur(class RndBlur * const this /* r31 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__7RndBlur; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8047338C -> 0x804733D0 void RndBlur::SetLength(int l /* r1+0x8 */) {} // Range: 0x804733D0 -> 0x80473414 void RndBlur::SetRate(int r /* r1+0x8 */) {} static class Symbol _s; // size: 0x4, address: 0x80A529D4 static class Symbol _s; // size: 0x4, address: 0x80A529DC static class Symbol _s; // size: 0x4, address: 0x80A529E4 // Range: 0x80473414 -> 0x80473C0C class DataNode RndBlur::Handle(class RndBlur * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80473C0C -> 0x80473C78 class DataNode RndBlur::OnSetLength(class RndBlur * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x80473C78 -> 0x80473CE4 class DataNode RndBlur::OnSetRate(class RndBlur * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x80473CE4 -> 0x80473D48 class DataNode RndBlur::OnSetFalloff(class RndBlur * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x80473D48 -> 0x80473DC8 unsigned char RndBlur::SyncProperty(class RndBlur * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xBC } __vt__7RndBlur; // size: 0xBC, address: 0x808F1FE4 struct { // total size: 0x8 } __RTTI__7RndBlur; // size: 0x8, address: 0x808F20D0 /* Compile unit: C:\rockband2\system\src\rndobj\Blur.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80473DC8 -> 0x804740E4 */ // Range: 0x80473DC8 -> 0x80473EFC void RndBlur::Print(class RndBlur * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x80473EFC -> 0x80473F40 class Symbol RndBlur::ClassName() { // References // -> class Symbol name; } // Range: 0x80473F40 -> 0x804740E4 void RndBlur::SetType(class RndBlur * const this /* r29 */, class Symbol & RndBlur /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Cam.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804742F8 -> 0x80475FFC */ class DataArray * types; // size: 0x4, address: 0x80A529E8 class RndCam * sCurrent; // size: 0x4, address: 0x80A529F0 // Range: 0x804742F8 -> 0x80474404 float RndCam::WorldToScreen() { // Local variables class Vector3 v1; // r1+0x10 float q; // f1 } // Range: 0x80474404 -> 0x80474478 void RndCam::Select(class RndCam * const this /* r31 */) { // References // -> class RndCam * sCurrent; } // Range: 0x80474478 -> 0x80474510 void RndCam::SetTargetTex(class RndCam * const this /* r30 */, class RndTex * tex /* r31 */) { // References // -> class RndCam * sCurrent; } static int CAM_REV; // size: 0x4, address: 0x80A47110 // Range: 0x80474510 -> 0x80474554 void RndCam::Save() { // References // -> class Debug TheDebug; } // Range: 0x80474554 -> 0x80474744 void RndCam::Load(class RndCam * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int CAM_REV; } // Range: 0x80474744 -> 0x80474858 void RndCam::Copy(class RndCam * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class RndCam * c; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; } // Range: 0x80474858 -> 0x80474998 void * RndCam::RndCam(class RndCam * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__6RndCam; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80474998 -> 0x80474A84 void * RndCam::~RndCam(class RndCam * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> class RndCam * sCurrent; } static class DebugWarner _dw; // size: 0x100, address: 0x8097F100 // Range: 0x80474A84 -> 0x80474BA0 void RndCam::SetFrustum(class RndCam * const this /* r29 */, float nearPlane /* f29 */, float farPlane /* f30 */, float yFov /* f31 */) { // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; } // Range: 0x80474BA0 -> 0x80474D50 void RndCam::UpdateLocal(class RndCam * const this /* r31 */) { // Local variables float yRatio; // f31 float t; // f0 // References // -> class Rnd & TheRnd; } // Range: 0x80474D50 -> 0x80474EA0 void RndCam::UpdatedWorldXfm(class RndCam * const this /* r29 */) {} static class Transform sFlipYZ; // size: 0x40, address: 0x8097F200 static class Symbol _s; // size: 0x4, address: 0x80A529F8 static class Symbol _s; // size: 0x4, address: 0x80A52A00 static class Symbol _s; // size: 0x4, address: 0x80A52A08 static class Symbol _s; // size: 0x4, address: 0x80A52A10 // Range: 0x80474EA0 -> 0x804757EC class DataNode RndCam::Handle(class RndCam * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol near_plane; // size: 0x4, address: 0x80A52A18 static class Symbol far_plane; // size: 0x4, address: 0x80A52A20 static class Symbol y_fov; // size: 0x4, address: 0x80A52A28 // Range: 0x804757EC -> 0x80475950 class DataNode RndCam::OnSetFrustum(class RndCam * const this /* r29 */, const class DataArray * a /* r30 */) { // Local variables float np; // r1+0x1C float fp; // r1+0x18 float f; // r1+0x14 // References // -> static class Symbol y_fov; // -> static class Symbol far_plane; // -> static class Symbol near_plane; } // Range: 0x80475950 -> 0x804759D8 class DataNode RndCam::OnSetZRange(class RndCam * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804759D8 -> 0x80475AE8 class DataNode RndCam::OnSetScreenRect(class RndCam * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class Rect r; // r1+0x8 } // Range: 0x80475AE8 -> 0x80475AFC class DataNode RndCam::OnFarPlane() {} static class Symbol _s; // size: 0x4, address: 0x80A52A30 static class Symbol _s; // size: 0x4, address: 0x80A52A38 static class Symbol _s; // size: 0x4, address: 0x80A52A40 static class Symbol _s; // size: 0x4, address: 0x80A52A48 static class Symbol _s; // size: 0x4, address: 0x80A52A50 // Range: 0x80475AFC -> 0x80475E68 unsigned char RndCam::SyncProperty(class RndCam * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xA4 } __vt__6RndCam; // size: 0xA4, address: 0x808F2514 // Range: 0x80475E68 -> 0x80475F0C static void __sinit_\Cam_cpp() { // References // -> static class Transform sFlipYZ; } /* Compile unit: C:\rockband2\system\src\rndobj\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80475FFC -> 0x80476000 */ // Range: 0x80475FFC -> 0x80476000 void RndTex::FinishDrawTarget() {} /* Compile unit: C:\rockband2\system\src\rndobj\Cam.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80476000 -> 0x804761E8 */ // Range: 0x80476000 -> 0x80476040 class Symbol RndCam::ClassName() { // References // -> class Symbol name; } // Range: 0x80476040 -> 0x804761E0 void RndCam::SetType(class RndCam * const this /* r29 */, class Symbol & RndCam /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804761E0 -> 0x804761E8 unsigned int RndCam::ProjectZ() {} /* Compile unit: C:\rockband2\system\src\rndobj\CamAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804761E8 -> 0x80477440 */ class DataArray * types; // size: 0x4, address: 0x80A52A58 class Symbol name; // size: 0x4, address: 0x80A52A60 class RndCamAnim : public RndAnimatable { // total size: 0x60 protected: class ObjPtr mCam; // offset 0x10, size 0xC class Keys mFovKeys; // offset 0x1C, size 0xC class ObjOwnerPtr mKeysOwner; // offset 0x28, size 0xC }; // Range: 0x804761E8 -> 0x80476394 void RndCamAnim::Copy(class RndCamAnim * const this /* r28 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class RndCamAnim * l; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndCamAnim; } static int CAMANIM_REV; // size: 0x4, address: 0x80A47124 // Range: 0x80476394 -> 0x804763D8 void RndCamAnim::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A52A64 // Range: 0x804763D8 -> 0x80476548 void RndCamAnim::Load(class RndCamAnim * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class Key * i; // r31 // References // -> class Debug TheDebug; // -> static int CAMANIM_REV; // -> static int gRev; } // Range: 0x80476548 -> 0x80476630 void RndCamAnim::Replace(class RndCamAnim * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndCamAnim; } // Range: 0x80476630 -> 0x80476984 void RndCamAnim::SetFrame(class RndCamAnim * const this /* r23 */, float frame /* f31 */, float blend /* f29 */) { // Local variables float fov; // f30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80476984 -> 0x80476A0C float RndCamAnim::EndFrame(class RndCamAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80476A0C -> 0x80476D84 void RndCamAnim::SetKey(class RndCamAnim * const this /* r26 */, float frame /* f30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80476D84 -> 0x80476EE4 void * RndCamAnim::~RndCamAnim(class RndCamAnim * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndCamAnim,9ObjectDir>; } class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndCamAnim * mPtr; // offset 0x8, size 0x4 }; // Range: 0x80476EE4 -> 0x80476FD4 void * RndCamAnim::RndCamAnim(class RndCamAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndCamAnim,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__10RndCamAnim; } // Range: 0x80476FD4 -> 0x804773C0 class DataNode RndCamAnim::Handle(class RndCamAnim * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x804773C0 -> 0x80477440 unsigned char RndCamAnim::SyncProperty(class RndCamAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA8 } __vt__10RndCamAnim; // size: 0xA8, address: 0x808F28C0 struct { // total size: 0x8 } __RTTI__10RndCamAnim; // size: 0x8, address: 0x808F2990 struct { // total size: 0x18 } __vt__36ObjOwnerPtr<10RndCamAnim,9ObjectDir>; // size: 0x18, address: 0x808F2998 struct { // total size: 0x8 } __RTTI__36ObjOwnerPtr<10RndCamAnim,9ObjectDir>; // size: 0x8, address: 0x808F29E0 /* Compile unit: C:\rockband2\system\src\rndobj\CamAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80477440 -> 0x80477844 */ // Range: 0x80477440 -> 0x80477538 void RndCamAnim::Print(class RndCamAnim * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x80477538 -> 0x804775EC class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804775EC -> 0x80477654 class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} // Range: 0x80477654 -> 0x80477698 class Symbol RndCamAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x80477698 -> 0x8047782C void RndCamAnim::SetType(class RndCamAnim * const this /* r29 */, class Symbol & RndCamAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8047782C -> 0x80477844 class Object * RndCamAnim::AnimTarget() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80477844 -> 0x80477A9C */ // Range: 0x80477844 -> 0x804779DC class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndCamAnim; } // Range: 0x804779DC -> 0x80477A50 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndCamAnim,9ObjectDir>; } // Range: 0x80477A50 -> 0x80477A58 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x80477A58 -> 0x80477A9C void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80477A9C -> 0x80477BD0 */ // Range: 0x80477A9C -> 0x80477BD0 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Key * t; // r29 } /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80477BD0 -> 0x80477C20 */ // Range: 0x80477BD0 -> 0x80477C20 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80477C20 -> 0x80477F5C */ // Range: 0x80477C20 -> 0x80477E94 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Key; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\rndobj\ColorXfm.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80477F5C -> 0x804786A0 */ // Range: 0x80477F5C -> 0x80477FE8 void * RndColorXfm::RndColorXfm(class RndColorXfm * const this /* r31 */) {} // Range: 0x80477FE8 -> 0x80478024 void RndColorXfm::Reset() {} // Range: 0x80478024 -> 0x804780D8 void RndColorXfm::AdjustLightness() { // Local variables class Transform xfm; // r1+0x10 float p; // f0 float scale; // f0 float offset; // f3 } // Range: 0x804780D8 -> 0x804781A4 void RndColorXfm::AdjustContrast() { // Local variables class Transform xfm; // r1+0x10 float p; // f1 float scale; // f2 float ooScale; // f0 float offset; // f0 } // Range: 0x804781A4 -> 0x80478240 void RndColorXfm::AdjustBrightness() { // Local variables class Transform xfm; // r1+0x10 float p; // f1 float offset; // f0 } // Range: 0x80478240 -> 0x804783B8 void RndColorXfm::AdjustLevels() { // Local variables class Vector3 kDelIn; // r1+0x30 class Vector3 kS; // r1+0x20 class Vector3 kO; // r1+0x10 class Transform xfm; // r1+0x40 } // Range: 0x804783B8 -> 0x80478434 void RndColorXfm::AdjustColorXfm(class RndColorXfm * const this /* r31 */) {} // Range: 0x80478434 -> 0x804786A0 unsigned char RndColorXfm::Load(class RndColorXfm * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\rndobj\Console.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804786A0 -> 0x804799B4 */ static class RndConsole * gConsole; // size: 0x4, address: 0x80A52A68 // Range: 0x804786A0 -> 0x804786DC static class DataNode DataContinue() { // References // -> static class RndConsole * gConsole; } // Range: 0x804786DC -> 0x80478718 static class DataNode DataBreak() { // References // -> static class RndConsole * gConsole; } // Range: 0x80478718 -> 0x80478758 static class DataNode DataStep() { // References // -> static class RndConsole * gConsole; } // Range: 0x80478758 -> 0x80478798 static class DataNode DataNext() { // References // -> static class RndConsole * gConsole; } // Range: 0x80478798 -> 0x804787D8 static class DataNode DataFinish() { // References // -> static class RndConsole * gConsole; } // Range: 0x804787D8 -> 0x80478814 static class DataNode DataList() { // References // -> static class RndConsole * gConsole; } // Range: 0x80478814 -> 0x80478850 static class DataNode DataWhere() { // References // -> static class RndConsole * gConsole; } // Range: 0x80478850 -> 0x8047888C static class DataNode DataSetBreak() { // References // -> static class RndConsole * gConsole; } // Range: 0x8047888C -> 0x804788C8 static class DataNode DataBreakpoints() { // References // -> static class RndConsole * gConsole; } // Range: 0x804788C8 -> 0x804789B8 static class DataNode DataClear(class DataArray * a /* r31 */) { // Local variables int n; // r4 // References // -> static class RndConsole * gConsole; // -> const char * gNullStr; } // Range: 0x804789B8 -> 0x804789C8 static class DataNode DataNop() {} // Range: 0x804789C8 -> 0x80478A08 static class DataNode DataUp() { // References // -> static class RndConsole * gConsole; } // Range: 0x80478A08 -> 0x80478A48 static class DataNode DataDown() { // References // -> static class RndConsole * gConsole; } // Range: 0x80478A48 -> 0x80478ADC static class DataNode DataHelp(class DataArray * a /* r31 */) { // References // -> static class RndConsole * gConsole; } struct Breakpoint { // total size: 0x8 class DataArray * parent; // offset 0x0, size 0x4 int index; // offset 0x4, size 0x4 }; // Range: 0x80478ADC -> 0x80478BA8 void * Breakpoint::~Breakpoint(struct Breakpoint * const this /* r29 */) {} class RndConsole : public Object { // total size: 0x64 unsigned char mShowing; // offset 0x28, size 0x1 class RndOverlay * mOutput; // offset 0x2C, size 0x4 class RndOverlay * mInput; // offset 0x30, size 0x4 class list mBuffer; // offset 0x34, size 0x8 struct _List_iterator mBufPtr; // offset 0x3C, size 0x4 int mMaxBuffer; // offset 0x40, size 0x4 int mTabLen; // offset 0x44, size 0x4 int mCursor; // offset 0x48, size 0x4 class Object * mKeyboardOverride; // offset 0x4C, size 0x4 unsigned char mPumpMsgs; // offset 0x50, size 0x1 class DataArray * mDebugging; // offset 0x54, size 0x4 int mLevel; // offset 0x58, size 0x4 class list mBreakpoints; // offset 0x5C, size 0x8 }; // Range: 0x80478BA8 -> 0x80478C60 void RndConsole::MoveLevel() { // References // -> class Debug TheDebug; // -> class DataArray * gCallStack[100]; // -> class DataArray * * gCallStackPtr; } // Range: 0x80478C60 -> 0x80478E5C void RndConsole::InsertBreak(class RndConsole * const this /* r28 */, class DataArray * a /* r29 */, int i /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std38_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std38_List_node; // size: 0x8, address: 0x808F2C90 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct Breakpoint _M_data; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x80478E5C -> 0x80478EF8 void * RndConsole::~RndConsole(class RndConsole * const this /* r30 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__10RndConsole; } // Range: 0x80478EF8 -> 0x80478FA8 void RndConsole::SetShowing(class RndConsole * const this /* r30 */, unsigned char s /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x80478FA8 -> 0x80479608 unsigned char RndConsole::OnMsg(class RndConsole * const this /* r30 */, const class KeyboardKeyMsg & msg /* r31 */) { // Local variables struct _List_iterator end; // r1+0x68 class String & s; // r3 class String & s; // r29 const char * _err; // r29 char buffer[2]; // r1+0x8 // References // -> long TheDebugJump[100]; // -> class Debug TheDebug; } // Range: 0x80479608 -> 0x804799B4 void RndConsole::ExecuteLine(class RndConsole * const this /* r30 */) { // Local variables class String & s; // r31 class DataNode cmd; // r1+0x50 class DataNode ret; // r1+0x48 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6String>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; } struct { // total size: 0xC } __vt__14KeyboardKeyMsg; // size: 0xC, address: 0x808F32E0 struct { // total size: 0x8 } __RTTI__14KeyboardKeyMsg; // size: 0x8, address: 0x808F3308 struct { // total size: 0x54 } __vt__10RndConsole; // size: 0x54, address: 0x808F3330 struct { // total size: 0x8 } __RTTI__10RndConsole; // size: 0x8, address: 0x808F33A8 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804799B4 -> 0x8047AE68 */ // Range: 0x804799B4 -> 0x80479C3C void RndConsole::SetBreak(class RndConsole * const this /* r31 */, class DataArray * a /* r27 */) { // Local variables class DataArray * handler; // r28 int i; // r30 class DataArray * parent; // r28 class DataArray * child; // r30 int i; // r27 // References // -> class Debug TheDebug; // -> class DataArray * gCallStack[100]; // -> class DataArray * * gCallStackPtr; } // Range: 0x80479C3C -> 0x80479DB4 void RndConsole::Clear(class RndConsole * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x2C struct _List_iterator i; // r1+0x28 // References // -> class Debug TheDebug; } // Range: 0x80479DB4 -> 0x80479E74 void RndConsole::Breakpoints(class RndConsole * const this /* r29 */) { // Local variables int n; // r30 struct _List_iterator i; // r1+0x10 // References // -> class Debug TheDebug; } // Range: 0x80479E74 -> 0x8047A0A4 void RndConsole::Break(class RndConsole * const this /* r27 */, class DataArray * a /* r28 */) { // Local variables unsigned char showing; // r29 class Color color; // r1+0x20 // References // -> class DataNode (* gPreExecuteFunc)(class DataArray *); // -> class Rnd & TheRnd; // -> class Debug TheDebug; } // Range: 0x8047A0A4 -> 0x8047A260 void RndConsole::List(class RndConsole * const this /* r29 */) { // Local variables class File * f; // r31 int line; // r30 int n; // r4 int startLine; // r27 int endLine; // r26 char c; // r1+0x8 int readSize; // r0 // References // -> class Debug TheDebug; } // Range: 0x8047A260 -> 0x8047A34C void RndConsole::Where(class RndConsole * const this /* r30 */) { // Local variables class DataArray * * ptr; // r31 // References // -> class DataArray * gCallStack[100]; // -> class Debug TheDebug; // -> class DataArray * * gCallStackPtr; } // Range: 0x8047A34C -> 0x8047A3DC void RndConsole::Step() { // References // -> class Debug TheDebug; // -> int gPreExecuteLevel; // -> class DataArray * * gCallStackPtr; // -> class DataArray * gCallStack[100]; // -> class DataNode (* gPreExecuteFunc)(class DataArray *); } // Range: 0x8047A3DC -> 0x8047A438 void RndConsole::Continue() { // References // -> class Debug TheDebug; } // Range: 0x8047A438 -> 0x8047A8E8 void RndConsole::Help(class RndConsole * const this /* r29 */, class Symbol & cmd /* r30 */) { // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x8047A8E8 -> 0x8047AB38 void * RndConsole::RndConsole(class RndConsole * const this /* r29 */) { // Local variables class DataArray * data; // r30 // References // -> static class RndConsole * gConsole; // -> struct [anonymous] __vt__10RndConsole; } // Range: 0x8047AB38 -> 0x8047AE68 class DataNode RndConsole::Handle(class RndConsole * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__14KeyboardKeyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047AE68 -> 0x8047AF4C */ // Range: 0x8047AE68 -> 0x8047AEC8 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, char t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047AF4C -> 0x8047AFC8 */ // Range: 0x8047AF4C -> 0x8047AFC8 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\rndobj\CubeTex.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047AFC8 -> 0x8047BE1C */ class DataArray * types; // size: 0x4, address: 0x80A52A70 class Symbol name; // size: 0x4, address: 0x80A52A78 class RndCubeTex : public Object { // total size: 0x154 protected: int mSize; // offset 0x28, size 0x4 int mBpp; // offset 0x2C, size 0x4 int mNumMips; // offset 0x30, size 0x4 class FilePath mFile[6]; // offset 0x34, size 0x48 class RndBitmap mBitmap[6]; // offset 0x7C, size 0xD8 }; // Range: 0x8047AFC8 -> 0x8047B058 void * RndCubeTex::RndCubeTex(class RndCubeTex * const this /* r31 */) { // References // -> struct [anonymous] __vt__10RndCubeTex; } enum CubeFace { kCubeFaceRight = 0, kCubeFaceLeft = 1, kCubeFaceTop = 2, kCubeFaceBottom = 3, kCubeFaceFront = 4, kCubeFaceBack = 5, kNumCubeFaces = 6, }; // Range: 0x8047B058 -> 0x8047B198 void RndCubeTex::Update(class RndCubeTex * const this /* r26 */) { // Local variables int bpp; // r0 int size; // r0 int order; // r29 int numMips; // r28 const char * err; // r0 int i; // r27 class RndBitmap & bm; // r3 // References // -> class Debug TheDebug; } static int CUBETEX_REV; // size: 0x4, address: 0x80A47154 // Range: 0x8047B198 -> 0x8047B1DC void RndCubeTex::Save() { // References // -> class Debug TheDebug; } // Range: 0x8047B1DC -> 0x8047B238 void RndCubeTex::Load(class RndCubeTex * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A52A7C // Range: 0x8047B238 -> 0x8047B37C void RndCubeTex::PreLoad(class RndCubeTex * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables int i; // r30 // References // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> class Debug TheDebug; // -> static int CUBETEX_REV; // -> static int gRev; } // Range: 0x8047B37C -> 0x8047B438 void RndCubeTex::PostLoad(class RndCubeTex * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int i; // r31 // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8047B438 -> 0x8047B514 void RndCubeTex::Copy(class RndCubeTex * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class RndCubeTex * t; // r0 int i; // r30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndCubeTex; } // Range: 0x8047B514 -> 0x8047B7BC class DataNode RndCubeTex::Handle(class RndCubeTex * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52A84 static class Symbol _s; // size: 0x4, address: 0x80A52A8C static class Symbol _s; // size: 0x4, address: 0x80A52A94 static class Symbol _s; // size: 0x4, address: 0x80A52A9C static class Symbol _s; // size: 0x4, address: 0x80A52AA4 static class Symbol _s; // size: 0x4, address: 0x80A52AAC // Range: 0x8047B7BC -> 0x8047BE1C unsigned char RndCubeTex::SyncProperty(class RndCubeTex * const this /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r27 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; } struct { // total size: 0x60 } __vt__10RndCubeTex; // size: 0x60, address: 0x808F34E0 struct { // total size: 0x8 } __RTTI__10RndCubeTex; // size: 0x8, address: 0x808F3560 /* Compile unit: C:\rockband2\system\src\utl\FilePath.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047BE1C -> 0x8047BE58 */ // Range: 0x8047BE1C -> 0x8047BE58 void * FilePath::FilePath(class FilePath * const this /* r31 */) { // References // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\rndobj\Bitmap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047BE58 -> 0x8047BE98 */ // Range: 0x8047BE58 -> 0x8047BE98 void * RndBitmap::RndBitmap(class RndBitmap * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\rndobj\CubeTex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047BE98 -> 0x8047C1B8 */ // Range: 0x8047BE98 -> 0x8047BFE8 void RndCubeTex::SetBitmap(class RndCubeTex * const this /* r27 */, enum CubeFace f /* r28 */, const class FilePath & file /* r29 */) { // Local variables class FileLoader * l; // r29 class RndBitmap & bm; // r29 // References // -> class FilePath sRoot; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; } // Range: 0x8047BFE8 -> 0x8047BFEC void RndCubeTex::Reset() {} // Range: 0x8047BFEC -> 0x8047BFF0 void RndCubeTex::Sync() {} // Range: 0x8047BFF0 -> 0x8047C034 class Symbol RndCubeTex::ClassName() { // References // -> class Symbol name; } // Range: 0x8047C034 -> 0x8047C038 void RndCubeTex::Select() {} // Range: 0x8047C038 -> 0x8047C1B8 void RndCubeTex::SetType(class RndCubeTex * const this /* r29 */, class Symbol & RndCubeTex /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Cursor.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047C248 -> 0x8047DB38 */ class DataArray * types; // size: 0x4, address: 0x80A52AB0 class Symbol name; // size: 0x4, address: 0x80A52AB8 class RndCursor : public RndAnimatable, public RndDrawable { // total size: 0xB0 protected: class ObjOwnerPtr mText; // offset 0x44, size 0xC class ObjOwnerPtr mBlur; // offset 0x50, size 0xC class RndBlur * mCursor; // offset 0x5C, size 0x4 class RndMesh * mMask; // offset 0x60, size 0x4 float mYOffset; // offset 0x64, size 0x4 float mStutter; // offset 0x68, size 0x4 float mTextLen; // offset 0x6C, size 0x4 class Vector2 mCursorOffset; // offset 0x70, size 0x8 }; // Range: 0x8047C248 -> 0x8047C384 void RndCursor::Copy(class RndCursor * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndCursor * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9RndCursor; } static int CURSOR_REV; // size: 0x4, address: 0x80A47164 // Range: 0x8047C384 -> 0x8047C3C8 void RndCursor::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A52ABC // Range: 0x8047C3C8 -> 0x8047C4F4 void RndCursor::Load(class RndCursor * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int CURSOR_REV; // -> static int gRev; } // Range: 0x8047C4F4 -> 0x8047C6A0 void RndCursor::RecreateCursor(class RndCursor * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndBlur; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8047C6A0 -> 0x8047D06C void RndCursor::RecreateMask(class RndCursor * const this /* r31 */) { // Local variables class Vector3 ul; // r1+0x40 class Vector3 br; // r1+0x30 enum Alignment a; // r0 float size; // f0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8047D06C -> 0x8047D1B0 void RndCursor::Replace(class RndCursor * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__7RndBlur; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x8047D1B0 -> 0x8047D224 float RndCursor::StutterFrame(class RndCursor * const this /* r31 */) { // Local variables float frame; // f0 float baseFrame; // f0 } // Range: 0x8047D224 -> 0x8047D2B4 float RndCursor::EndFrame(class RndCursor * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8047D2B4 -> 0x8047D60C void RndCursor::DrawShowing(class RndCursor * const this /* r30 */) { // Local variables int tl; // r0 float x; // f0 float ff; // f0 class Transform t; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8047D60C -> 0x8047D758 void RndCursor::ListDrawChildren(class RndCursor * const this /* r31 */, class list & l /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8047D758 -> 0x8047D920 void * RndCursor::~RndCursor(class RndCursor * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndBlur,9ObjectDir>; // -> struct [anonymous] __vt__9RndCursor; } class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndBlur * mPtr; // offset 0x8, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndText * mPtr; // offset 0x8, size 0x4 }; // Range: 0x8047D920 -> 0x8047DA90 void * RndCursor::RndCursor(class RndCursor * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndBlur,9ObjectDir>; // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndText,9ObjectDir>; // -> struct [anonymous] __vt__9RndCursor; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8047DA90 -> 0x8047DB38 unsigned char RndCursor::SyncProperty(class RndCursor * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0x114 } __vt__9RndCursor; // size: 0x114, address: 0x808F3748 struct { // total size: 0x8 } __RTTI__9RndCursor; // size: 0x8, address: 0x808F3898 struct { // total size: 0x18 } __vt__32ObjOwnerPtr<7RndBlur,9ObjectDir>; // size: 0x18, address: 0x808F38A0 struct { // total size: 0x8 } __RTTI__32ObjOwnerPtr<7RndBlur,9ObjectDir>; // size: 0x8, address: 0x808F38E8 struct { // total size: 0x18 } __vt__32ObjOwnerPtr<7RndText,9ObjectDir>; // size: 0x18, address: 0x808F38F0 struct { // total size: 0x8 } __RTTI__32ObjOwnerPtr<7RndText,9ObjectDir>; // size: 0x8, address: 0x808F3938 /* Compile unit: C:\rockband2\system\src\rndobj\Cursor.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047DB38 -> 0x8047DE28 */ // Range: 0x8047DB38 -> 0x8047DC50 void RndCursor::Print(class RndCursor * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x8047DC50 -> 0x8047DC94 class Symbol RndCursor::ClassName() { // References // -> class Symbol name; } // Range: 0x8047DC94 -> 0x8047DE28 void RndCursor::SetType(class RndCursor * const this /* r29 */, class Symbol & RndCursor /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047DE28 -> 0x8047E2F8 */ // Range: 0x8047DE28 -> 0x8047DFCC class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x8047DFCC -> 0x8047E170 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndBlur; } // Range: 0x8047E170 -> 0x8047E1E8 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndBlur,9ObjectDir>; } // Range: 0x8047E1E8 -> 0x8047E260 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndText,9ObjectDir>; } // Range: 0x8047E260 -> 0x8047E268 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8047E268 -> 0x8047E2AC void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } // Range: 0x8047E2AC -> 0x8047E2B4 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8047E2B4 -> 0x8047E2F8 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047E2F8 -> 0x8047E94C */ // Range: 0x8047E2F8 -> 0x8047E80C class DataNode RndCursor::Handle(class RndCursor * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\rndobj\DeferDraw.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8047E94C -> 0x8047FF90 */ class DataArray * types; // size: 0x4, address: 0x80A52AC0 class Symbol name; // size: 0x4, address: 0x80A52AC8 class RndDeferDraw : public RndDrawable { // total size: 0x90 protected: class String mDrawName; // offset 0x34, size 0xC class ObjPtrList mObjects; // offset 0x40, size 0x14 }; // Range: 0x8047E94C -> 0x8047EA58 void * RndDeferDraw::RndDeferDraw(class RndDeferDraw * const this /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtrList<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__12RndDeferDraw; // -> struct [anonymous] __vt__16RndHighlightable; } struct Node { // total size: 0xC class ObjectDir * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; class ObjPtrList : public ObjRef { // total size: 0x14 int mSize; // offset 0x4, size 0x4 struct Node * mNodes; // offset 0x8, size 0x4 class Object * mOwner; // offset 0xC, size 0x4 enum ObjListMode mMode; // offset 0x10, size 0x4 }; // Range: 0x8047EA58 -> 0x8047ECCC void * RndDeferDraw::~RndDeferDraw(class RndDeferDraw * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__33ObjPtrList<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__12RndDeferDraw; } static int REV; // size: 0x4, address: 0x80A47170 // Range: 0x8047ECCC -> 0x8047ED10 void RndDeferDraw::Save() { // References // -> class Debug TheDebug; } class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x8047ED10 -> 0x8047EDB8 void RndDeferDraw::SetShowings(class RndDeferDraw * const this /* r30 */, unsigned char b /* r31 */) { // Local variables class iterator it; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } // Range: 0x8047EDB8 -> 0x8047EEB4 void RndDeferDraw::Load(class RndDeferDraw * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x8047EEB4 -> 0x8047F240 void RndDeferDraw::Copy(class RndDeferDraw * const this /* r29 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class RndDeferDraw * v; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndDeferDraw; } // Range: 0x8047F240 -> 0x8047F3CC void RndDeferDraw::DrawShowing(class RndDeferDraw * const this /* r31 */) { // Local variables class iterator it; // r1+0x18 class RndDir * r; // r0 class RndEnvironTracker _rndEnvironTracker; // r1+0x20 // References // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } // Range: 0x8047F3CC -> 0x8047F7C4 class DataNode RndDeferDraw::Handle(class RndDeferDraw * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52AD0 static class Symbol _s; // size: 0x4, address: 0x80A52AD8 // Range: 0x8047F7C4 -> 0x8047F8EC unsigned char RndDeferDraw::SyncProperty(class RndDeferDraw * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8047F8EC -> 0x8047FF90 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class ObjectDir * obj; // r31 class ObjectDir * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xB8 } __vt__12RndDeferDraw; // size: 0xB8, address: 0x808F3E28 struct { // total size: 0x8 } __RTTI__12RndDeferDraw; // size: 0x8, address: 0x808F3F18 struct { // total size: 0x18 } __vt__33ObjPtrList<9ObjectDir,9ObjectDir>; // size: 0x18, address: 0x808F3F20 struct { // total size: 0x8 } __RTTI__33ObjPtrList<9ObjectDir,9ObjectDir>; // size: 0x8, address: 0x808F3F68 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80480058 -> 0x804807A4 */ // Range: 0x80480058 -> 0x80480204 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__33ObjPtrList<9ObjectDir,9ObjectDir>; } // Range: 0x80480204 -> 0x804805A0 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804805A0 -> 0x8048079C void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8048079C -> 0x804807A4 class Object * ObjPtrList::RefOwner() {} /* Compile unit: C:\rockband2\system\src\rndobj\DeferDraw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804807A4 -> 0x8048098C */ // Range: 0x804807A4 -> 0x804807E8 class Symbol RndDeferDraw::ClassName() { // References // -> class Symbol name; } // Range: 0x804807E8 -> 0x8048098C void RndDeferDraw::SetType(class RndDeferDraw * const this /* r29 */, class Symbol & RndDeferDraw /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Dir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8048098C -> 0x80484448 */ class Symbol name; // size: 0x4, address: 0x80A52AE4 class DataArray * types; // size: 0x4, address: 0x80A52AE8 class Symbol name; // size: 0x4, address: 0x80A52AF0 class Symbol name; // size: 0x4, address: 0x80A52AF8 // Range: 0x8048098C -> 0x80480BD4 void * RndDir::RndDir(class RndDir * const this /* r30 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11RndPollable,9ObjectDir>; // -> struct [anonymous] __vt__6RndDir; // -> struct [anonymous] __vt__9MsgSource; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80480BD4 -> 0x80480C2C void RndDir::Replace(class RndDir * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) {} // Range: 0x80480C2C -> 0x80480C80 void RndDir::RemovingObject(class RndDir * const this /* r31 */, class Object * o /* r1+0x8 */) {} // Range: 0x80480C80 -> 0x80480E2C void RndDir::AddCustomPoll(class RndDir * const this /* r31 */, class RndPollable * poll /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80480E2C -> 0x80480F14 void RndDir::SetSubDir(class RndDir * const this /* r30 */) {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndPollable * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x80480F14 -> 0x80481C68 void RndDir::SyncObjects(class RndDir * const this /* r31 */) { // Local variables class list draws; // r1+0xF0 class ObjDirItr i; // r1+0x120 class RndTexRenderer * texRenderObject; // r0 struct _List_iterator dc; // r1+0xA8 class list anims; // r1+0xE8 class ObjDirItr i; // r1+0x10C struct _List_iterator ac; // r1+0xA4 class list polls; // r1+0xE0 class ObjDirItr i; // r1+0xF8 struct _List_iterator pc; // r1+0xA0 class MsgSource * s; // r4 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9MsgSource; // -> struct [anonymous] __RTTI__11RndPollable; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> struct [anonymous] __RTTI__14RndTexRenderer; // -> class Symbol name; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x80481C68 -> 0x80481DB0 void RndDir::UpdateSphere(class RndDir * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class Transform t; // r1+0x40 } // Range: 0x80481DB0 -> 0x80481F1C unsigned char RndDir::MakeWorldSphere(class RndDir * const this /* r29 */, class Sphere & s /* r30 */) { // Local variables class RndDrawable * * c; // r31 class Sphere s2; // r1+0x10 class RndTransformable * t; // r0 // References // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80481F1C -> 0x80481FD4 void RndDir::Poll(class RndDir * const this /* r30 */) { // Local variables class RndPollable * * it; // r31 class iterator i; // r1+0x18 } // Range: 0x80481FD4 -> 0x80482038 void RndDir::Exit(class RndDir * const this /* r30 */) { // Local variables class RndPollable * * it; // r31 } // Range: 0x80482038 -> 0x80482154 void RndDir::ListPollChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80482154 -> 0x8048222C void RndDir::DrawShowing(class RndDir * const this /* r30 */) { // Local variables class RndEnvironTracker _rndEnvironTracker; // r1+0x8 class RndDrawable * * i; // r31 // References // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; } // Range: 0x8048222C -> 0x80482348 void RndDir::ListDrawChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80482348 -> 0x80482400 int RndDir::CollidePlane(class RndDir * const this /* r28 */, const class Plane & plane /* r29 */) { // Local variables int inside; // r31 class RndDrawable * * child; // r30 } // Range: 0x80482400 -> 0x80482574 class RndDrawable * RndDir::CollideShowing(class RndDir * const this /* r27 */, float & dist /* r28 */, class Plane & plane /* r29 */) { // Local variables class RndDrawable * collide; // r31 class Segment s; // r1+0x20 float d; // r1+0x10 class RndDrawable * * child; // r30 class RndDrawable * draw; // r3 } // Range: 0x80482574 -> 0x8048261C void RndDir::CollideList(class RndDir * const this /* r28 */, const class Segment & s /* r29 */, class list & collisions /* r30 */) { // Local variables class RndDrawable * * child; // r31 } // Range: 0x8048261C -> 0x804826A8 void RndDir::SetFrame(class RndDir * const this /* r30 */, float frame /* f30 */, float blend /* f31 */) { // Local variables class RndAnimatable * * c; // r31 } // Range: 0x804826A8 -> 0x80482728 float RndDir::EndFrame(class RndDir * const this /* r30 */) { // Local variables float end; // f31 class RndAnimatable * * c; // r31 } // Range: 0x80482728 -> 0x80482844 void RndDir::ListAnimChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80482844 -> 0x80482930 void RndDir::Export(class RndDir * const this /* r28 */, class DataArray * msg /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80482930 -> 0x80482A18 void RndDir::Copy(class RndDir * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndDir * m; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndDir; } // Range: 0x80482A18 -> 0x80482A1C void RndDir::Load() {} // Range: 0x80482A1C -> 0x80482D18 void RndDir::PostLoad(class RndDir * const this /* r28 */, class BinStream & d /* r31 */) { // Local variables class ObjPtr env; // r1+0x1C class Symbol testEvent; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__11RndPostProc; // -> class Symbol name; // -> const char * gNullStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> unsigned char gLoadingProxyFromDisk; // -> class list sRevs; } static class Symbol _s; // size: 0x4, address: 0x80A52B00 static class Symbol _s; // size: 0x4, address: 0x80A52B08 // Range: 0x80482D18 -> 0x80483850 class DataNode RndDir::Handle(class RndDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 class DataNode _n; // r1+0x60 class DataNode _n; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80483850 -> 0x8048392C class DataNode RndDir::OnShowObjects(class DataArray * msg /* r29 */) { // Local variables class DataArray * objs; // r30 unsigned char show; // r0 int i; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } class list : public _List_base { // total size: 0x8 }; class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class EventTrigger * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8048392C -> 0x80483E50 class DataNode RndDir::OnSupportedEvents(class RndDir * const this /* r28 */) { // Local variables int idx; // r31 class DataArrayPtr da; // r1+0x48 class list events; // r1+0x40 class ObjDirItr i; // r1+0x50 class DataArray * a; // r1+0x24 int j; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std23_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> const char * gNullStr; // -> struct [anonymous] __vt__12DataArrayPtr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class DataArray * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std23_List_node; // size: 0x8, address: 0x808F4460 static class Symbol _s; // size: 0x4, address: 0x80A52B10 static class Symbol _s; // size: 0x4, address: 0x80A52B18 static class Symbol _s; // size: 0x4, address: 0x80A52B20 // Range: 0x80483E50 -> 0x804840F8 unsigned char RndDir::SyncProperty(class RndDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x804840F8 -> 0x80484448 unsigned char PropSync(class vector & v /* r29 */, class DataNode & n /* r30 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r28 */) { // Local variables class RndPollable * * it; // r31 class RndPollable * tmp; // r1+0x14 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPollable; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x21C } __vt__6RndDir; // size: 0x21C, address: 0x808F4590 struct { // total size: 0x8 } __RTTI__PP11RndPollable; // size: 0x8, address: 0x808F4AF8 struct { // total size: 0x8 } __RTTI__PP13RndAnimatable; // size: 0x8, address: 0x808F4B18 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80484448 -> 0x804845A4 */ // Range: 0x80484448 -> 0x8048448C void RndDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x8048448C -> 0x804845A4 void RndDir::PreLoad(class RndDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804845A4 -> 0x804845B0 */ // Range: 0x804845A4 -> 0x804845A8 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x804845A8 -> 0x804845AC class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x804845AC -> 0x804845B0 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\Std.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804845B0 -> 0x804849B0 */ // Range: 0x804845B0 -> 0x80484650 void VectorRemove(class vector & l /* r31 */) { // Local variables class RndAnimatable * * i; // r6 } // Range: 0x80484650 -> 0x804846F0 void VectorRemove(class vector & l /* r31 */) { // Local variables class RndPollable * * i; // r6 } // Range: 0x804846F0 -> 0x80484794 void VectorRemove(class vector & l /* r31 */) { // Local variables class RndDrawable * * i; // r6 } // Range: 0x80484794 -> 0x80484828 void VectorRemove(class vector & l /* r31 */) { // Local variables class RndPollable * * i; // r6 } // Range: 0x80484828 -> 0x804848BC void VectorRemove(class vector & l /* r31 */) { // Local variables class RndAnimatable * * i; // r6 } // Range: 0x804848BC -> 0x80484950 void VectorRemove(class vector & l /* r31 */) { // Local variables class RndDrawable * * i; // r6 } // Range: 0x80484950 -> 0x804849B0 unsigned char ListFind() {} /* Compile unit: C:\rockband2\system\src\rndobj\Draw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804849B0 -> 0x804849F4 */ // Range: 0x804849B0 -> 0x804849F4 class Symbol RndDrawable::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804849F4 -> 0x80484FB0 */ // Range: 0x804849F4 -> 0x80484A88 void sort(class RndPollable * * __first /* r29 */, class RndPollable * * __last /* r30 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r31 */) {} // Range: 0x80484A88 -> 0x80484B10 void __final_insertion_sort(class RndPollable * * __first /* r29 */, class RndPollable * * __last /* r30 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r31 */) {} // Range: 0x80484B10 -> 0x80484B70 void __unguarded_insertion_sort_aux(class RndPollable * * __last /* r29 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r30 */) { // Local variables class RndPollable * * __i; // r31 } // Range: 0x80484B70 -> 0x80484BF0 void __unguarded_linear_insert(class RndPollable * * __last /* r28 */, class RndPollable * __val /* r29 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r30 */) { // Local variables class RndPollable * * __next; // r31 } // Range: 0x80484BF0 -> 0x80484CA4 void __insertion_sort(class RndPollable * * __first /* r27 */, class RndPollable * * __last /* r28 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r29 */) { // Local variables class RndPollable * * __i; // r30 } // Range: 0x80484CA4 -> 0x80484E08 void __introsort_loop(class RndPollable * * __first /* r27 */, class RndPollable * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r30 */) { // Local variables class RndPollable * * __cut; // r31 } // Range: 0x80484E08 -> 0x80484EDC class RndPollable * * __unguarded_partition(class RndPollable * * __first /* r28 */, class RndPollable * * __last /* r29 */, class RndPollable * __pivot /* r30 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r31 */) {} // Range: 0x80484EDC -> 0x80484EE8 void partial_sort() {} // Range: 0x80484EE8 -> 0x80484FB0 void __partial_sort(class RndPollable * * __first /* r27 */, class RndPollable * * __middle /* r28 */, class RndPollable * * __last /* r29 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r30 */) { // Local variables class RndPollable * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80484FB0 -> 0x80484FE0 */ // Range: 0x80484FB0 -> 0x80484FC8 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x80484FC8 -> 0x80484FE0 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80484FE0 -> 0x804851BC */ // Range: 0x80484FE0 -> 0x8048500C void pop_heap(class RndPollable * * __last /* r8 */) {} // Range: 0x8048500C -> 0x80485128 void __adjust_heap(class RndPollable * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class RndPollable * __val /* r29 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 } // Range: 0x80485128 -> 0x804851BC void make_heap(class RndPollable * * __first /* r28 */, unsigned char (* __comp)(class RndPollable *, class RndPollable *) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804851BC -> 0x8048549C */ // Range: 0x804851BC -> 0x8048532C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPollable; } // Range: 0x8048532C -> 0x8048549C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } /* Compile unit: C:\rockband2\system\src\rndobj\TexRenderer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8048549C -> 0x804855D0 */ // Range: 0x8048549C -> 0x804855D0 void RndDir::Enter(class RndDir * const this /* r31 */) { // Local variables class DataNode n; // r1+0x18 class DataArray * a; // r0 class RndPollable * * it; // r30 // References // -> class LoadMgr TheLoadMgr; } /* Compile unit: C:\rockband2\system\src\rndobj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804855D0 -> 0x80485764 */ // Range: 0x804855D0 -> 0x80485764 void RndDir::SetType(class RndDir * const this /* r29 */, class Symbol & RndDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80485764 -> 0x804857D4 */ // Range: 0x80485764 -> 0x804857D4 struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804857D4 -> 0x804858F4 */ // Range: 0x804857D4 -> 0x80485834 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80485834 -> 0x80485894 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80485894 -> 0x804858F4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804858F4 -> 0x80485FF4 */ // Range: 0x804858F4 -> 0x80485A2C void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndPollable * * __pos /* r28 */, class RndPollable * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndPollable * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP11RndPollable; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80485A2C -> 0x80485A84 class RndPollable * * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x80485A84 -> 0x80485AF0 void vector::_M_fill_insert() {} // Range: 0x80485AF0 -> 0x80485C28 void vector::_M_insert_overflow(class vector * const this /* r27 */, class RndAnimatable * * __pos /* r28 */, class RndAnimatable * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class RndAnimatable * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP13RndAnimatable; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80485C28 -> 0x80485DDC void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class RndPollable * * __pos /* r29 */, unsigned long __n /* r25 */, class RndPollable * const & __x /* r30 */) { // Local variables class RndPollable * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\rndobj\Distort.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80485FF4 -> 0x804876A0 */ class DataArray * types; // size: 0x4, address: 0x80A52B28 class Symbol name; // size: 0x4, address: 0x80A52B30 class RndDistort : public RndDrawable { // total size: 0xB0 protected: class ObjPtrList mDistortions; // offset 0x34, size 0x14 float mShine; // offset 0x48, size 0x4 class Vector2 mCenter; // offset 0x4C, size 0x8 float mStrength; // offset 0x54, size 0x4 float mDuration; // offset 0x58, size 0x4 float mYRange; // offset 0x5C, size 0x4 float mXScale; // offset 0x60, size 0x4 float mWaveLength; // offset 0x64, size 0x4 float mGlint; // offset 0x68, size 0x4 unsigned char mSingle; // offset 0x6C, size 0x1 }; // Range: 0x80485FF4 -> 0x804860BC void RndDistort::ListDrawChildren(class list & l /* r30 */) { // Local variables class iterator distIter; // r1+0x24 class iterator distEnd; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804860BC -> 0x80486480 void RndDistort::Copy(class RndDistort * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class RndDistort * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndDistort; } // Range: 0x80486480 -> 0x80486484 void RndDistort::DrawShowing() {} // Range: 0x80486484 -> 0x804866BC void * RndDistort::~RndDistort(class RndDistort * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; } // Range: 0x804866BC -> 0x80486808 void * RndDistort::RndDistort(class RndDistort * const this /* r31 */) { // References // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__10RndDistort; // -> struct [anonymous] __vt__16RndHighlightable; } static class Symbol _s; // size: 0x4, address: 0x80A52B38 static class Symbol _s; // size: 0x4, address: 0x80A52B40 // Range: 0x80486808 -> 0x80486DD4 class DataNode RndDistort::Handle(class RndDistort * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52B48 static class Symbol _s; // size: 0x4, address: 0x80A52B50 static class Symbol _s; // size: 0x4, address: 0x80A52B58 static class Symbol _s; // size: 0x4, address: 0x80A52B60 static class Symbol _s; // size: 0x4, address: 0x80A52B68 static class Symbol _s; // size: 0x4, address: 0x80A52B70 static class Symbol _s; // size: 0x4, address: 0x80A52B78 static class Symbol _s; // size: 0x4, address: 0x80A52B80 static class Symbol _s; // size: 0x4, address: 0x80A52B88 static class Symbol _s; // size: 0x4, address: 0x80A52B90 // Range: 0x80486DD4 -> 0x804876A0 unsigned char RndDistort::SyncProperty(class RndDistort * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xC0 } __vt__10RndDistort; // size: 0xC0, address: 0x808F4E20 struct { // total size: 0x8 } __RTTI__10RndDistort; // size: 0x8, address: 0x808F4F10 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80487754 -> 0x80487928 */ // Range: 0x80487754 -> 0x80487798 void RndDistort::Save() { // References // -> class Debug TheDebug; } // Range: 0x80487798 -> 0x80487928 void RndDistort::Load(class RndDistort * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\Distort.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80487928 -> 0x80487B18 */ // Range: 0x80487928 -> 0x8048796C class Symbol RndDistort::ClassName() { // References // -> class Symbol name; } // Range: 0x8048796C -> 0x80487970 void RndDistort::Pulse() {} // Range: 0x80487970 -> 0x80487974 void RndDistort::FireRandom() {} // Range: 0x80487974 -> 0x80487B18 void RndDistort::SetType(class RndDistort * const this /* r29 */, class Symbol & RndDistort /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Draw.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80487B18 -> 0x80489214 */ class DataArray * types; // size: 0x4, address: 0x80A52B98 enum HighlightStyle sHighlightStyle; // size: 0x4, address: 0x80A52BA0 float sNormalDisplayLength; // size: 0x4, address: 0x80A47190 // Range: 0x80487B18 -> 0x80487BF8 void * RndDrawable::RndDrawable(class RndDrawable * const this /* r31 */) { // References // -> struct [anonymous] __vt__11RndDrawable; // -> struct [anonymous] __vt__16RndHighlightable; } static class Timer * _t; // size: 0x4, address: 0x80A52BA4 // Range: 0x80487BF8 -> 0x80487DC0 void RndDrawable::Draw(class RndDrawable * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0x14 class Sphere s; // r1+0x20 // References // -> class RndCam * sCurrent; // -> static class Timer * _t; } // Range: 0x80487DC0 -> 0x80487E74 void RndDrawable::Highlight() { // Local variables class Sphere s; // r1+0x20 // References // -> class RndCam * sCurrent; // -> enum HighlightStyle sHighlightStyle; } // Range: 0x80487E74 -> 0x80487F58 void RndDrawable::Copy(class RndDrawable * const this /* r30 */, enum CopyType type /* r31 */) { // Local variables const class RndDrawable * d; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; } static int DRAW_REV; // size: 0x4, address: 0x80A47194 // Range: 0x80487F58 -> 0x80487F9C void RndDrawable::Save() { // References // -> class Debug TheDebug; } // Range: 0x80487F9C -> 0x80488158 void RndDrawable::Load(class RndDrawable * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x14 float order; // r1+0x10 // References // -> unsigned char gLoadingProxyFromDisk; // -> class Debug TheDebug; // -> static int DRAW_REV; } // Range: 0x80488158 -> 0x804881EC unsigned char RndDrawable::CollideSphere(const class Segment & s /* r31 */) { // Local variables class Sphere sphere; // r1+0x10 } static class Timer * _t; // size: 0x4, address: 0x80A52BAC // Range: 0x804881EC -> 0x80488354 class RndDrawable * RndDrawable::Collide(class RndDrawable * const this /* r28 */, const class Segment & s /* r29 */, float & dist /* r30 */, class Plane & plane /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } // Range: 0x80488354 -> 0x80488430 int RndDrawable::CollidePlane(const class Plane & plane /* r31 */) { // Local variables class Sphere sphere; // r1+0x10 } // Range: 0x80488430 -> 0x80488520 void RndDrawable::CollideList(class list & collisions /* r31 */) { // Local variables float dist; // r1+0x14 class Plane plane; // r1+0x20 class RndDrawable * o; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std37_List_node; // size: 0x8, address: 0x808F52D8 static class Symbol _s; // size: 0x4, address: 0x80A52BB4 static class Symbol _s; // size: 0x4, address: 0x80A52BBC static class Symbol _s; // size: 0x4, address: 0x80A52BC4 static class Symbol _s; // size: 0x4, address: 0x80A52BCC static class Symbol _s; // size: 0x4, address: 0x80A52BD4 // Range: 0x80488520 -> 0x80488D00 class DataNode RndDrawable::Handle(class RndDrawable * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80488D00 -> 0x80488EB4 class DataNode RndDrawable::OnGetSphere(class RndDrawable * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x80488EB4 -> 0x80488F24 class DataNode RndDrawable::OnSetShowing(class RndDrawable * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x80488F24 -> 0x80488F38 class DataNode RndDrawable::OnShowing() {} // Range: 0x80488F38 -> 0x80488F5C class DataNode RndDrawable::OnZeroSphere() {} static class Symbol _s; // size: 0x4, address: 0x80A52BDC static class Symbol _s; // size: 0x4, address: 0x80A52BE4 static class Symbol _s; // size: 0x4, address: 0x80A52BEC // Range: 0x80488F5C -> 0x80489214 unsigned char RndDrawable::SyncProperty(class RndDrawable * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0xB8 } __vt__11RndDrawable; // size: 0xB8, address: 0x808F5350 /* Compile unit: C:\rockband2\system\src\rndobj\Draw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80489214 -> 0x804893B8 */ // Range: 0x80489214 -> 0x804893B8 void RndDrawable::SetType(class RndDrawable * const this /* r29 */, class Symbol & RndDrawable /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Env.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80489480 -> 0x8048D084 */ class DataArray * types; // size: 0x4, address: 0x80A52BF0 class RndEnviron * sCurrent; // size: 0x4, address: 0x80A52BF8 const class Vector3 * sCurrentPos; // size: 0x4, address: 0x80A52BFC // Range: 0x80489480 -> 0x8048948C void RndEnviron::Select() { // References // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; } // Range: 0x8048948C -> 0x804895AC void * RndEnviron::RndEnviron(class RndEnviron * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtrList<8RndLight,9ObjectDir>; // -> struct [anonymous] __vt__10RndEnviron; } // Range: 0x804895AC -> 0x804897E0 void * RndEnviron::~RndEnviron(class RndEnviron * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtrList<8RndLight,9ObjectDir>; // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; } // Range: 0x804897E0 -> 0x8048983C class RndLight * RndEnviron::FirstPointLight() { // Local variables class iterator it; // r1+0x18 } // Range: 0x8048983C -> 0x804898A0 int RndEnviron::NumProjLights() { // Local variables int count; // r4 class iterator it; // r1+0x18 } static int ENVIRON_REV; // size: 0x4, address: 0x80A47198 // Range: 0x804898A0 -> 0x804898E4 void RndEnviron::Save() { // References // -> class Debug TheDebug; } // Range: 0x804898E4 -> 0x80489C28 void RndEnviron::Load(class RndEnviron * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; // -> static int ENVIRON_REV; } // Range: 0x80489C28 -> 0x8048A374 void RndEnviron::Copy(class RndEnviron * const this /* r28 */, const class Object * o /* r26 */, enum CopyType type /* r29 */) { // Local variables const class RndEnviron * e; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; } // Range: 0x8048A374 -> 0x8048A448 void RndEnviron::Replace(class RndEnviron * const this /* r30 */) { // Local variables class RndEnviron * toEnv; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; } // Range: 0x8048A448 -> 0x8048A630 void RndEnviron::AddLight(class RndEnviron * const this /* r31 */, class RndLight * l /* r29 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x8048A630 -> 0x8048A798 void RndEnviron::RemoveLight(class RndEnviron * const this /* r28 */, class RndLight * l /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A52C04 static class Symbol _s; // size: 0x4, address: 0x80A52C0C static class Symbol _s; // size: 0x4, address: 0x80A52C14 static class Symbol _s; // size: 0x4, address: 0x80A52C1C static class Symbol _s; // size: 0x4, address: 0x80A52C24 static class Symbol _s; // size: 0x4, address: 0x80A52C2C static class Symbol _s; // size: 0x4, address: 0x80A52C34 // Range: 0x8048A798 -> 0x8048B26C class DataNode RndEnviron::Handle(class RndEnviron * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> unsigned char sActive; } static class DataNode & milo_prop_path; // size: 0x4, address: 0x80A52C3C class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndLight * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8048B26C -> 0x8048B7D0 class DataNode RndEnviron::OnAllowableLights(class RndEnviron * const this /* r31 */) { // Local variables class DataArrayPtr allow; // r1+0x50 class ObjDirItr i; // r1+0x58 // References // -> static class DataNode & milo_prop_path; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; // -> struct [anonymous] __vt__12DataArrayPtr; } static class Symbol _s; // size: 0x4, address: 0x80A52C44 static class Symbol _s; // size: 0x4, address: 0x80A52C4C static class Symbol _s; // size: 0x4, address: 0x80A52C54 static class Symbol _s; // size: 0x4, address: 0x80A52C5C static class Symbol _s; // size: 0x4, address: 0x80A52C64 static class Symbol _s; // size: 0x4, address: 0x80A52C6C static class Symbol _s; // size: 0x4, address: 0x80A52C74 static class Symbol _s; // size: 0x4, address: 0x80A52C7C static class Symbol _s; // size: 0x4, address: 0x80A52C84 static class Symbol _s; // size: 0x4, address: 0x80A52C8C static class Symbol _s; // size: 0x4, address: 0x80A52C94 static class Symbol _s; // size: 0x4, address: 0x80A52C9C static class Symbol _s; // size: 0x4, address: 0x80A52CA4 static class Symbol _s; // size: 0x4, address: 0x80A52CAC static class Symbol _s; // size: 0x4, address: 0x80A52CB4 static class Symbol _s; // size: 0x4, address: 0x80A52CBC static class Symbol _s; // size: 0x4, address: 0x80A52CC4 static class Symbol _s; // size: 0x4, address: 0x80A52CCC static class Symbol _s; // size: 0x4, address: 0x80A52CD4 static class Symbol _s; // size: 0x4, address: 0x80A52CDC static class Symbol _s; // size: 0x4, address: 0x80A52CE4 static class Symbol _s; // size: 0x4, address: 0x80A52CEC static class Symbol _s; // size: 0x4, address: 0x80A52CF4 static class Symbol _s; // size: 0x4, address: 0x80A52CFC static class Symbol _s; // size: 0x4, address: 0x80A52D04 static class Symbol _s; // size: 0x4, address: 0x80A52D0C static class Symbol _s; // size: 0x4, address: 0x80A52D14 static class Symbol _s; // size: 0x4, address: 0x80A52D1C // Range: 0x8048B7D0 -> 0x8048CF50 unsigned char RndEnviron::SyncProperty(class RndEnviron * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8048CF50 -> 0x8048D084 unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x64 } __vt__10RndEnviron; // size: 0x64, address: 0x808F58C4 struct { // total size: 0x18 } __vt__36ObjOwnerPtr<10RndEnviron,9ObjectDir>; // size: 0x18, address: 0x808F5950 struct { // total size: 0x8 } __RTTI__36ObjOwnerPtr<10RndEnviron,9ObjectDir>; // size: 0x8, address: 0x808F5998 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8048D084 -> 0x8048D2D4 */ // Range: 0x8048D084 -> 0x8048D0F4 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndEnviron,9ObjectDir>; } // Range: 0x8048D0F4 -> 0x8048D288 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnviron; } // Range: 0x8048D288 -> 0x8048D290 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8048D290 -> 0x8048D2D4 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\Env.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8048D2D4 -> 0x8048D4C8 */ // Range: 0x8048D2D4 -> 0x8048D318 class Symbol RndEnviron::ClassName() { // References // -> class Symbol name; } // Range: 0x8048D318 -> 0x8048D320 int RndEnviron::NumLights() {} // Range: 0x8048D320 -> 0x8048D348 unsigned char RndEnviron::DirLights() {} // Range: 0x8048D348 -> 0x8048D4C8 void RndEnviron::SetType(class RndEnviron * const this /* r29 */, class Symbol & RndEnviron /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8048D4C8 -> 0x8048D638 */ // Range: 0x8048D4C8 -> 0x8048D638 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; } /* Compile unit: C:\rockband2\system\src\rndobj\EnvAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8048D638 -> 0x8048FE9C */ class DataArray * types; // size: 0x4, address: 0x80A52D20 class Symbol name; // size: 0x4, address: 0x80A52D28 class Keys : public vector { // total size: 0xC }; class RndEnvAnim : public RndAnimatable { // total size: 0x78 protected: class ObjPtr mEnviron; // offset 0x10, size 0xC class Keys mFogColorKeys; // offset 0x1C, size 0xC class Keys mFogRangeKeys; // offset 0x28, size 0xC class Keys mAmbientColorKeys; // offset 0x34, size 0xC class ObjOwnerPtr mKeysOwner; // offset 0x40, size 0xC }; // Range: 0x8048D638 -> 0x8048D740 void * RndEnvAnim::RndEnvAnim(class RndEnvAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndEnvAnim,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> struct [anonymous] __vt__10RndEnvAnim; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndEnvAnim * mPtr; // offset 0x8, size 0x4 }; // Range: 0x8048D740 -> 0x8048D828 void RndEnvAnim::Replace(class RndEnvAnim * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnvAnim; } static int ENVANIM_REV; // size: 0x4, address: 0x80A471A0 // Range: 0x8048D828 -> 0x8048D86C void RndEnvAnim::Save() { // References // -> class Debug TheDebug; } // Range: 0x8048D86C -> 0x8048D9D8 void RndEnvAnim::Load(class RndEnvAnim * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int ENVANIM_REV; } // Range: 0x8048D9D8 -> 0x8048DC24 void RndEnvAnim::Copy(class RndEnvAnim * const this /* r28 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class RndEnvAnim * l; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnvAnim; } // Range: 0x8048DC24 -> 0x8048DD44 void RndEnvAnim::Print(class RndEnvAnim * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x8048DD44 -> 0x8048DE18 class TextStream & __ls(class TextStream & d /* r30 */, const class vector & c /* r31 */) { // Local variables const class Key * t; // r29 } // Range: 0x8048DE18 -> 0x8048DE80 class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} // Range: 0x8048DE80 -> 0x8048DF9C float RndEnvAnim::EndFrame(class RndEnvAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8048DF9C -> 0x8048EDFC void RndEnvAnim::SetFrame(class RndEnvAnim * const this /* r31 */, float frame /* f29 */, float blend /* f28 */) { // Local variables class Color d; // r1+0x30 class Color d; // r1+0x20 class Vector2 v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8048EDFC -> 0x8048FA04 void RndEnvAnim::SetKey(class RndEnvAnim * const this /* r24 */, float frame /* f31 */) { // Local variables class Vector2 v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8048FA04 -> 0x8048FDF0 class DataNode RndEnvAnim::Handle(class RndEnvAnim * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x8048FDF0 -> 0x8048FE70 unsigned char RndEnvAnim::SyncProperty(class RndEnvAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA8 } __vt__10RndEnvAnim; // size: 0xA8, address: 0x808F5E20 struct { // total size: 0x8 } __RTTI__10RndEnvAnim; // size: 0x8, address: 0x808F5EF0 struct { // total size: 0x18 } __vt__36ObjOwnerPtr<10RndEnvAnim,9ObjectDir>; // size: 0x18, address: 0x808F5EF8 struct { // total size: 0x8 } __RTTI__36ObjOwnerPtr<10RndEnvAnim,9ObjectDir>; // size: 0x8, address: 0x808F5F40 // Range: 0x8048FE70 -> 0x8048FE9C void _Vector_base::_M_throw_out_of_range() {} struct { // total size: 0x8 } __RTTI__P13Key<7Vector2>; // size: 0x8, address: 0x808F6070 class Key { // total size: 0xC public: class Vector2 value; // offset 0x0, size 0x8 float frame; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8048FE9C -> 0x804900F4 */ // Range: 0x8048FE9C -> 0x8048FF10 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndEnvAnim,9ObjectDir>; } // Range: 0x8048FF10 -> 0x804900A8 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndEnvAnim; } // Range: 0x804900A8 -> 0x804900B0 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804900B0 -> 0x804900F4 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\EnvAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049034C -> 0x8049052C */ // Range: 0x8049034C -> 0x80490390 class Symbol RndEnvAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x80490390 -> 0x80490524 void RndEnvAnim::SetType(class RndEnvAnim * const this /* r29 */, class Symbol & RndEnvAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80490524 -> 0x8049052C class Object * RndEnvAnim::AnimTarget() {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049052C -> 0x80490804 */ // Range: 0x8049052C -> 0x8049068C class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Key * t; // r29 } // Range: 0x8049068C -> 0x80490804 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 class Key * t; // r29 } /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80490804 -> 0x8049094C */ // Range: 0x80490804 -> 0x80490864 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x80490864 -> 0x804908E4 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804908E4 -> 0x8049094C class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\TextStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049094C -> 0x80490A00 */ // Range: 0x8049094C -> 0x80490A00 class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80490A00 -> 0x804915D8 */ // Range: 0x80490A00 -> 0x80490CE8 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13Key<7Vector2>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80490CE8 -> 0x80490D50 class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x80490D50 -> 0x80490DD0 void vector::_M_fill_insert() {} // Range: 0x80490DD0 -> 0x804910A4 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P17Key; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804910A4 -> 0x804912D0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13Key<7Vector2>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804912D0 -> 0x80491510 void vector::_M_fill_insert_aux() { // Local variables class Key __x_copy; // r1+0x1C unsigned long __elems_after; // r9 class Key * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\EventTrigger.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804915D8 -> 0x80496554 */ class DataArray * types; // size: 0x4, address: 0x80A52D30 class Symbol name; // size: 0x4, address: 0x80A52D38 static int gRev; // size: 0x4, address: 0x80A52D3C static class DataArray * events; // size: 0x4, address: 0x80A52D40 // Range: 0x804915D8 -> 0x80491754 class DataArray * EventTrigger::SupportedEvents() { // References // -> static class DataArray * events; // -> const char * gNullStr; } static class Symbol range; // size: 0x4, address: 0x80A52D48 static class Symbol loop; // size: 0x4, address: 0x80A52D50 class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80491754 -> 0x80491E48 class DataNode EventTrigger::Cleanup() { // Local variables class ObjectDir * dir; // r28 class list triggers; // r1+0x60 class ObjDirItr i; // r1+0x68 struct _List_iterator e; // r1+0x5C char event[128]; // r1+0x80 struct _List_iterator a; // r1+0x58 class RndAnimFilter * filter; // r27 struct _List_iterator r; // r1+0x54 struct _List_iterator a; // r1+0x50 class EventTrigger * i; // r27 struct _List_iterator b; // r1+0x4C class EventTrigger * j; // r28 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol loop; // -> static class Symbol range; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> struct [anonymous] __RTTI__13RndAnimFilter; } class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0xC public: class EventTrigger * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std27_List_node; // size: 0x8, address: 0x808F61F8 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; static class Symbol range; // size: 0x4, address: 0x80A52D58 static class Symbol loop; // size: 0x4, address: 0x80A52D60 // Range: 0x80491E48 -> 0x80491F38 static void ResetAnim(struct Anim & me /* r31 */) { // References // -> static class Symbol loop; // -> static class Symbol range; } static class Symbol range; // size: 0x4, address: 0x80A52D68 // Range: 0x80491F38 -> 0x80491FE8 void * Anim::Anim(struct Anim * const this /* r31 */) { // References // -> static class Symbol range; // -> const char * gNullStr; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x80491FE8 -> 0x80492108 class BinStream & __rs(class BinStream & d /* r29 */, struct Anim & c /* r30 */) { // References // -> static int gRev; } // Range: 0x80492108 -> 0x804922CC class BinStream & __rs(class BinStream & d /* r28 */, struct ProxyCall & c /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; // -> static int gRev; } // Range: 0x804922CC -> 0x80492330 void * ProxyCall::ProxyCall() { // References // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; } // Range: 0x80492330 -> 0x804924C8 void * EventTrigger::EventTrigger(class EventTrigger * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtrList<8Sequence,9ObjectDir>; // -> struct [anonymous] __vt__12EventTrigger; } // Range: 0x804924C8 -> 0x8049250C void * HideDelay::HideDelay() { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } static class Symbol trigger; // size: 0x4, address: 0x80A52D70 static class Symbol enable; // size: 0x4, address: 0x80A52D78 static class Symbol disable; // size: 0x4, address: 0x80A52D80 static class Symbol wait_for; // size: 0x4, address: 0x80A52D88 // Range: 0x8049250C -> 0x80492784 void EventTrigger::RegisterEvents(class EventTrigger * const this /* r29 */) { // Local variables class MsgSource * source; // r30 struct _List_iterator i; // r1+0x58 // References // -> static class Symbol wait_for; // -> static class Symbol disable; // -> static class Symbol enable; // -> static class Symbol trigger; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9MsgSource; } // Range: 0x80492784 -> 0x80492924 void EventTrigger::UnregisterEvents(class EventTrigger * const this /* r30 */) { // Local variables class MsgSource * source; // r31 struct _List_iterator i; // r1+0x48 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__9MsgSource; } // Range: 0x80492924 -> 0x80493204 void EventTrigger::Copy(class EventTrigger * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class EventTrigger * e; // r0 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x80493204 -> 0x80493248 void EventTrigger::Save() { // References // -> class Debug TheDebug; } // Range: 0x80493248 -> 0x804932E8 static void RemoveNullEvents(class list & events /* r30 */) { // Local variables struct _List_iterator i; // r1+0x1C // References // -> const char * gNullStr; } // Range: 0x804932E8 -> 0x804938C4 void EventTrigger::Load(class EventTrigger * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class list created; // r1+0x68 class Symbol event; // r1+0x50 class ObjPtrList hides; // r1+0x80 class iterator h; // r1+0x4C struct _List_iterator i; // r1+0x48 int i; // r1+0x44 // References // -> const char * kAssertStr; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class Debug TheDebug; // -> static int gRev; } static class Message msg; // size: 0x8, address: 0x8097F250 static class Message msg; // size: 0x8, address: 0x8097F268 static class Message trigger; // size: 0x8, address: 0x8097F280 // Range: 0x804938C4 -> 0x80493E8C void EventTrigger::TriggerSelf(class EventTrigger * const this /* r29 */) { // Local variables struct _List_iterator anim; // r1+0x68 struct _List_iterator call; // r1+0x64 class iterator seq; // r1+0x60 class iterator show; // r1+0x5C struct _List_iterator hide; // r1+0x58 // References // -> static class Message trigger; // -> class TaskMgr TheTaskMgr; // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> const char * gNullStr; } static class Symbol _s; // size: 0x4, address: 0x80A52D90 static class Symbol _s; // size: 0x4, address: 0x80A52D98 static class Symbol _s; // size: 0x4, address: 0x80A52DA0 static class Symbol _s; // size: 0x4, address: 0x80A52DA8 static class Symbol _s; // size: 0x4, address: 0x80A52DB0 static class Symbol _s; // size: 0x4, address: 0x80A52DB8 static class Symbol _s; // size: 0x4, address: 0x80A52DC0 // Range: 0x80493E8C -> 0x804948CC class DataNode EventTrigger::Handle(class EventTrigger * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804948CC -> 0x8049493C class DataNode EventTrigger::OnTrigger() {} // Range: 0x8049493C -> 0x80494C78 class DataNode EventTrigger::OnProxyCalls(class EventTrigger * const this /* r27 */) { // Local variables class DataArray * path; // r31 class DataNode n; // r1+0x48 class Object * proxy; // r0 int idx; // r31 class DataArrayPtr da; // r1+0x40 class DataArray * typeDef; // r28 int i; // r27 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__12DataArrayPtr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } static class Symbol range; // size: 0x4, address: 0x80A52DC8 // Range: 0x80494C78 -> 0x80494CF8 static unsigned char OneShot(struct Anim & a /* r31 */) { // References // -> static class Symbol range; } // Range: 0x80494CF8 -> 0x80494E54 class DataNode EventTrigger::OnValidate(class EventTrigger * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x1C class RndAnimatable * a; // r0 class Object * target; // r0 struct _List_iterator j; // r1+0x18 class Object * btarget; // r0 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A52DD0 static class Symbol _s; // size: 0x4, address: 0x80A52DD8 static class Symbol _s; // size: 0x4, address: 0x80A52DE0 static class Symbol _s; // size: 0x4, address: 0x80A52DE8 static class Symbol _s; // size: 0x4, address: 0x80A52DF0 static class Symbol _s; // size: 0x4, address: 0x80A52DF8 static class Symbol _s; // size: 0x4, address: 0x80A52E00 static class Symbol _s; // size: 0x4, address: 0x80A52E08 static class Symbol _s; // size: 0x4, address: 0x80A52E10 static class Symbol _s; // size: 0x4, address: 0x80A52E18 static class Symbol _s; // size: 0x4, address: 0x80A52E20 // Range: 0x80494E54 -> 0x804958DC unsigned char PropSync(struct Anim & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A52E28 static class Symbol _s; // size: 0x4, address: 0x80A52E30 static class Symbol _s; // size: 0x4, address: 0x80A52E38 // Range: 0x804958DC -> 0x80495B28 unsigned char PropSync(struct ProxyCall & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A52E40 static class Symbol _s; // size: 0x4, address: 0x80A52E48 // Range: 0x80495B28 -> 0x80495CE0 unsigned char PropSync(struct HideDelay & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A52E50 static class Symbol _s; // size: 0x4, address: 0x80A52E58 static class Symbol _s; // size: 0x4, address: 0x80A52E60 static class Symbol _s; // size: 0x4, address: 0x80A52E68 static class Symbol _s; // size: 0x4, address: 0x80A52E70 static class Symbol _s; // size: 0x4, address: 0x80A52E78 static class Symbol _s; // size: 0x4, address: 0x80A52E80 static class Symbol _s; // size: 0x4, address: 0x80A52E88 static class Symbol _s; // size: 0x4, address: 0x80A52E90 static class Symbol _s; // size: 0x4, address: 0x80A52E98 static class Symbol _s; // size: 0x4, address: 0x80A52EA0 // Range: 0x80495CE0 -> 0x80496248 unsigned char EventTrigger::SyncProperty(class EventTrigger * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80496248 -> 0x80496554 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r31 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables struct _List_iterator it; // r1+0x2C struct HideDelay tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std38_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std38_List_node; // size: 0x8, address: 0x808F6500 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std38_List_node; // size: 0x8, address: 0x808F6550 struct { // total size: 0x60 } __vt__12EventTrigger; // size: 0x60, address: 0x808F6610 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\Symbol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80496554 -> 0x8049655C */ // Range: 0x80496554 -> 0x8049655C char * Symbol::Str() {} /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049655C -> 0x80496564 */ // Range: 0x8049655C -> 0x80496564 class list & Object::Refs() {} /* Compile unit: C:\rockband2\system\src\rndobj\AnimFilter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80496564 -> 0x8049658C */ // Range: 0x80496564 -> 0x8049656C enum Type RndAnimFilter::GetType() {} // Range: 0x8049656C -> 0x80496574 class RndAnimatable * RndAnimFilter::Anim() {} // Range: 0x80496574 -> 0x8049657C float RndAnimFilter::Start() {} // Range: 0x8049657C -> 0x80496584 float RndAnimFilter::End() {} // Range: 0x80496584 -> 0x8049658C float RndAnimFilter::Period() {} /* Compile unit: C:\rockband2\system\src\rndobj\Anim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049658C -> 0x80496594 */ // Range: 0x8049658C -> 0x80496594 enum Rate RndAnimatable::GetRate() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80496594 -> 0x80497664 */ // Range: 0x80496594 -> 0x804966F8 void ObjPtrList::pop_back(class ObjPtrList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804966F8 -> 0x80496700 class RndAnimatable * ObjPtr::Ptr() {} // Range: 0x80496700 -> 0x8049676C void ObjPtr::__as(class ObjPtr * const this /* r30 */, class RndAnimatable * obj /* r31 */) {} // Range: 0x8049676C -> 0x804968C8 void ObjList::push_back(class ObjList * const this /* r30 */, const struct Anim & x /* r29 */) { // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x804968C8 -> 0x80496934 class Sequence * ObjPtrList::back(const class ObjPtrList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80496934 -> 0x80496A70 void ObjPtrList::push_back(class ObjPtrList * const this /* r31 */, class Sequence * obj /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80496A70 -> 0x80496A80 unsigned char ObjPtrList::empty() {} // Range: 0x80496A80 -> 0x80496AEC class RndDrawable * ObjPtrList::back(const class ObjPtrList * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80496AEC -> 0x80496C30 void ObjPtrList::push_back(class ObjPtrList * const this /* r31 */, class RndDrawable * obj /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80496C30 -> 0x80496D9C void ObjPtrList::pop_back(class ObjPtrList * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80496D9C -> 0x80496DAC unsigned char ObjPtrList::empty() {} // Range: 0x80496DAC -> 0x80496ECC void ObjList::push_back(class ObjList * const this /* r30 */, const struct HideDelay & x /* r29 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x80496ECC -> 0x80497038 void ObjList::push_back(class ObjList * const this /* r30 */, const struct ProxyCall & x /* r29 */) { // References // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80497038 -> 0x80497124 class BinStream & __rs(class BinStream & d /* r29 */, class ObjList & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80497124 -> 0x80497204 class BinStream & __rs(class BinStream & d /* r29 */, class ObjList & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x80497204 -> 0x804972D0 class BinStream & __rs(class BinStream & d /* r29 */, class ObjList & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 struct _List_iterator t; // r1+0x10 // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x804972D0 -> 0x80497664 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80497664 -> 0x80497CF8 */ // Range: 0x80497664 -> 0x80497784 unsigned char __eq() { // Local variables struct _List_iterator __end1; // r1+0x44 struct _List_iterator __end2; // r1+0x40 struct _List_iterator __i1; // r1+0x3C struct _List_iterator __i2; // r1+0x38 } // Range: 0x80497784 -> 0x804977AC void * list::list() {} // Range: 0x804977AC -> 0x80497804 void * list::~list(class list * const this /* r30 */) {} // Range: 0x80497804 -> 0x8049787C void list::push_back(class EventTrigger * const & __x /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std27_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8049787C -> 0x80497888 struct _List_iterator list::begin() {} // Range: 0x80497888 -> 0x80497894 class Symbol * _List_iterator::__rf() {} // Range: 0x80497894 -> 0x804978A0 class Symbol & _List_iterator::__ml() {} // Range: 0x804978A0 -> 0x804978B0 struct _List_iterator & _List_iterator::__pp() {} // Range: 0x804978B0 -> 0x804978B8 struct _List_iterator list::end() {} // Range: 0x804978B8 -> 0x804978C4 void * _List_iterator::_List_iterator() {} // Range: 0x804978C4 -> 0x804978E0 unsigned char _List_iterator::__ne() {} // Range: 0x804978E0 -> 0x804978EC struct _List_iterator list::begin() {} // Range: 0x804978EC -> 0x804978F8 struct Anim * _List_iterator::__rf() {} // Range: 0x804978F8 -> 0x80497904 void * _List_iterator::_List_iterator() {} // Range: 0x80497904 -> 0x80497918 struct _List_iterator list::begin() {} // Range: 0x80497924 -> 0x80497930 class ObjRef * const & _List_iterator::__ml() {} // Range: 0x80497930 -> 0x80497940 struct _List_iterator & _List_iterator::__pp() {} // Range: 0x80497940 -> 0x80497950 struct _List_iterator list::end() {} // Range: 0x80497950 -> 0x8049796C unsigned char _List_iterator::__ne() {} // Range: 0x8049796C -> 0x8049797C struct _List_iterator & _List_iterator::__pp() {} // Range: 0x8049797C -> 0x80497984 struct _List_iterator list::end() {} // Range: 0x80497984 -> 0x80497990 void * _List_iterator::_List_iterator() {} // Range: 0x80497990 -> 0x804979AC unsigned char _List_iterator::__ne() {} // Range: 0x804979AC -> 0x804979B8 struct _List_iterator list::begin() {} // Range: 0x804979B8 -> 0x804979C4 class EventTrigger * & _List_iterator::__ml() {} // Range: 0x804979C4 -> 0x804979D0 void * _List_iterator::_List_iterator() {} // Range: 0x804979D0 -> 0x804979EC struct Anim & list::back() {} // Range: 0x804979EC -> 0x80497A70 void list::pop_back() { // Local variables struct _List_iterator __tmp; // r1+0x10 // References // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x80497A70 -> 0x80497A84 unsigned char _List_base::empty() {} // Range: 0x80497A84 -> 0x80497AA0 struct HideDelay & list::back() {} // Range: 0x80497AA0 -> 0x80497B28 void list::pop_back() { // Local variables struct _List_iterator __tmp; // r1+0x10 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x80497B28 -> 0x80497B3C unsigned char _List_base::empty() {} // Range: 0x80497B3C -> 0x80497B58 struct ProxyCall & list::back() {} // Range: 0x80497B58 -> 0x80497C04 void list::pop_back() { // Local variables struct _List_iterator __tmp; // r1+0x10 // References // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80497C04 -> 0x80497C18 unsigned char _List_base::empty() {} // Range: 0x80497C18 -> 0x80497C34 class ObjRef * const & list::front() {} // Range: 0x80497C34 -> 0x80497C48 unsigned char _List_base::empty() {} // Range: 0x80497C48 -> 0x80497CA0 struct _List_iterator list::erase() { // Local variables struct _List_node_base * __next_node; // r31 struct _List_node_base * __prev_node; // r3 class _List_node * __n; // r0 } // Range: 0x80497CAC -> 0x80497CBC struct _List_iterator & _List_iterator::__pp() {} // Range: 0x80497CBC -> 0x80497CC4 struct _List_iterator list::end() {} // Range: 0x80497CC4 -> 0x80497CD0 void * _List_iterator::_List_iterator() {} // Range: 0x80497CD0 -> 0x80497CEC unsigned char _List_iterator::__ne() {} // Range: 0x80497CEC -> 0x80497CF0 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x80497CF0 -> 0x80497CF4 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x80497CF4 -> 0x80497CF8 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80497CF8 -> 0x80497EA4 */ // Range: 0x80497CF8 -> 0x80497CFC void * StlNodeAlloc::StlNodeAlloc() {} // Range: 0x80497CFC -> 0x80497D3C void * StlNodeAlloc::~StlNodeAlloc(class StlNodeAlloc * const this /* r31 */) {} // Range: 0x80497D3C -> 0x80497DB0 void EventTrigger::Init() { // References // -> class Symbol name; } // Range: 0x80497DB0 -> 0x80497EA4 void EventTrigger::Trigger(class EventTrigger * const this /* r30 */) { // Local variables class EventTrigger * trigger; // r4 int num; // r31 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80497EA4 -> 0x80498204 */ // Range: 0x80497EA4 -> 0x80498060 void * ObjDirItr::ObjDirItr(class ObjDirItr * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x80498060 -> 0x80498068 class EventTrigger * ObjDirItr::__opP12EventTrigger() {} // Range: 0x80498068 -> 0x80498070 class EventTrigger * ObjDirItr::__rf() {} // Range: 0x80498070 -> 0x80498204 class ObjDirItr & ObjDirItr::__pp(class ObjDirItr * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } /* Compile unit: C:\rockband2\system\src\rndobj\EventTrigger.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80498204 -> 0x8049842C */ // Range: 0x80498204 -> 0x80498264 class Object * EventTrigger::NewObject() { // References // -> class Symbol name; } // Range: 0x80498264 -> 0x804982A8 class Symbol EventTrigger::ClassName() { // References // -> class Symbol name; } // Range: 0x804982A8 -> 0x804982AC void EventTrigger::CheckAnims() {} // Range: 0x804982AC -> 0x8049842C void EventTrigger::SetType(class EventTrigger * const this /* r29 */, class Symbol & EventTrigger /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049842C -> 0x8049918C */ // Range: 0x8049842C -> 0x80498AB8 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class Sequence * obj; // r31 class Sequence * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80498AB8 -> 0x80498E48 unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r31 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables struct _List_iterator it; // r1+0x2C struct ProxyCall tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std38_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80498E48 -> 0x8049918C unsigned char PropSync(class ObjList & v /* r26 */, class DataNode & n /* r31 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables struct _List_iterator it; // r1+0x2C struct Anim tmp; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049918C -> 0x80499FF4 */ // Range: 0x8049918C -> 0x80499348 void list::resize(const struct HideDelay & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std38_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x80499348 -> 0x80499660 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std38_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; } // Range: 0x80499660 -> 0x80499868 void list::resize(const struct ProxyCall & __x /* r31 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std38_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80499868 -> 0x80499BFC class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std38_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> struct [anonymous] __vt__33ObjPtr<12EventTrigger,9ObjectDir>; } // Range: 0x80499BFC -> 0x80499F94 class list & list::__as(class list * const this /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x84 struct _List_iterator __last1; // r1+0x80 struct _List_iterator __first2; // r1+0x7C struct _List_iterator __last2; // r1+0x78 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__34ObjPtr<13RndAnimatable,9ObjectDir>; } // Range: 0x80499F94 -> 0x80499FF4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\Flare.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80499FF4 -> 0x8049B928 */ class DataArray * types; // size: 0x4, address: 0x80A52EA8 static int FLARE_REV; // size: 0x4, address: 0x80A471D8 // Range: 0x80499FF4 -> 0x8049A038 void RndFlare::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A52EB0 // Range: 0x8049A038 -> 0x8049A200 void RndFlare::Load(class RndFlare * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int FLARE_REV; // -> static int gRev; } // Range: 0x8049A200 -> 0x8049A368 void * RndFlare::RndFlare(class RndFlare * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__8RndFlare; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8049A368 -> 0x8049A4B4 void * RndFlare::~RndFlare(class RndFlare * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> class Rnd & TheRnd; // -> struct [anonymous] __vt__8RndFlare; } // Range: 0x8049A4B4 -> 0x8049A518 void RndFlare::SetPointTest(class RndFlare * const this /* r30 */, unsigned char b /* r31 */) { // References // -> class Rnd & TheRnd; } // Range: 0x8049A518 -> 0x8049AA70 void RndFlare::DrawShowing(class RndFlare * const this /* r31 */) { // Local variables class Vector2 v; // r1+0x10 float dist; // f0 class Rect area; // r1+0x50 unsigned char offscreen; // r0 unsigned char transition; // r30 float fade; // f3 class Color c; // r1+0x40 class Transform t; // r1+0x60 class Rect r; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndEnviron * sCurrent; // -> class RndCam * sCurrent; // -> class Rnd & TheRnd; } // Range: 0x8049AA70 -> 0x8049AC04 class Rect & RndFlare::CalcRect(class RndFlare * const this /* r27 */, class Vector2 & v /* r28 */) { // Local variables float size; // f2 float dot; // f2 // References // -> class Rnd & TheRnd; // -> class RndCam * sCurrent; } // Range: 0x8049AC04 -> 0x8049ACA8 unsigned char RndFlare::RectOffscreen() { // References // -> class Rnd & TheRnd; } // Range: 0x8049ACA8 -> 0x8049AD60 void RndFlare::Mats(class RndFlare * const this /* r31 */, class list & mats /* r30 */) { // Local variables struct MatShaderOptions opts; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8049AD60 -> 0x8049ADC8 void RndFlare::SetMat(class RndFlare * const this /* r30 */, class RndMat * m /* r31 */) {} // Range: 0x8049ADC8 -> 0x8049AE60 void RndFlare::SetSteps(int s /* r1+0x8 */) {} static class Symbol _s; // size: 0x4, address: 0x80A52EB8 static class Symbol _s; // size: 0x4, address: 0x80A52EC0 // Range: 0x8049AE60 -> 0x8049B578 class DataNode RndFlare::Handle(class RndFlare * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x50 class DataNode _n; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A52EC8 static class Symbol _s; // size: 0x4, address: 0x80A52ED0 static class Symbol _s; // size: 0x4, address: 0x80A52ED8 static class Symbol _s; // size: 0x4, address: 0x80A52EE0 static class Symbol _s; // size: 0x4, address: 0x80A52EE8 // Range: 0x8049B578 -> 0x8049B928 unsigned char RndFlare::SyncProperty(class RndFlare * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class Rnd & TheRnd; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xF8 } __vt__8RndFlare; // size: 0xF8, address: 0x808F6EB8 /* Compile unit: C:\rockband2\system\src\rndobj\Flare.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049B928 -> 0x8049BD54 */ // Range: 0x8049B928 -> 0x8049BA74 void RndFlare::Copy(class RndFlare * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class RndFlare * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndFlare; } // Range: 0x8049BA74 -> 0x8049BB64 void RndFlare::Print(class RndFlare * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x8049BB64 -> 0x8049BBA8 class Symbol RndFlare::ClassName() { // References // -> class Symbol name; } // Range: 0x8049BBA8 -> 0x8049BD4C void RndFlare::SetType(class RndFlare * const this /* r29 */, class Symbol & RndFlare /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8049BD4C -> 0x8049BD54 void RndFlare::Highlight() {} /* Compile unit: C:\rockband2\system\src\rndobj\Font.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049BE9C -> 0x8049E314 */ class DataArray * types; // size: 0x4, address: 0x80A52EF0 class Symbol name; // size: 0x4, address: 0x80A52EF8 static int FONT_REV; // size: 0x4, address: 0x80A471E8 static int gRev; // size: 0x4, address: 0x80A52EFC // Range: 0x8049BE9C -> 0x8049BF28 static class BinStream & __rs(class BinStream & d /* r30 */, class KernInfo & v /* r31 */) { // Local variables char tmp; // r1+0x8 // References // -> static int gRev; } // Range: 0x8049BF28 -> 0x8049BFD8 static int NonTransparentColumn(class RndBitmap & c /* r25 */, int x0 /* r26 */, int x1 /* r27 */, int y0 /* r28 */, int y1 /* r29 */) { // Local variables int x; // r31 int y; // r30 unsigned char r; // r1+0xB unsigned char g; // r1+0xA unsigned char b; // r1+0x9 unsigned char a; // r1+0x8 } class Entry { // total size: 0xC public: class Entry * next; // offset 0x0, size 0x4 int key; // offset 0x4, size 0x4 float kerning; // offset 0x8, size 0x4 }; class KerningTable { // total size: 0x88 protected: int mNumEntries; // offset 0x0, size 0x4 class Entry * mEntries; // offset 0x4, size 0x4 class Entry * mTable[32]; // offset 0x8, size 0x80 }; // Range: 0x8049BFD8 -> 0x8049C0B8 void RndFont::GetTexCoords(const class RndFont * const this /* r28 */, char c /* r29 */, class Vector2 & topLeft /* r30 */, class Vector2 & bottomRight /* r31 */) { // Local variables const class CharInfo & info; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8049C0B8 -> 0x8049C0C0 void RndFont::SetBaseKerning() {} // Range: 0x8049C0C0 -> 0x8049C2E0 void RndFont::SetCharInfo(class RndFont * const this /* r23 */, class CharInfo * info /* r29 */, class RndBitmap & a /* r30 */, const class Vector2 & pos /* r31 */) { // Local variables int x0; // r27 int x1; // r26 int y0; // r25 int y1; // r24 float left; // f31 float width; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8049C2E0 -> 0x8049C410 float RndFont::Kerning(const class RndFont * const this /* r29 */, char a /* r30 */, char b /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8049C410 -> 0x8049C4D0 float RndFont::CharAdvance(const class RndFont * const this /* r29 */, char a /* r30 */, char b /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8049C4D0 -> 0x8049C578 unsigned char RndFont::CharDefined(const class RndFont * const this /* r30 */, char a /* r31 */) { // Local variables const class CharInfo & i; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8049C578 -> 0x8049C594 class RndTex * RndFont::ValidTexture() {} // Range: 0x8049C594 -> 0x8049C62C void RndFont::SetBitmapSize() {} class BitmapLocker { // total size: 0x2C protected: class RndTex * mTexture; // offset 0x0, size 0x4 class RndBitmap * mPbm; // offset 0x4, size 0x4 class RndBitmap mBm; // offset 0x8, size 0x24 }; // Range: 0x8049C62C -> 0x8049C9A0 void RndFont::UpdateChars(class RndFont * const this /* r30 */) { // Local variables class RndTex * tex; // r0 class BitmapLocker locker; // r1+0x10 class RndBitmap * b; // r31 class Vector2 pos; // r1+0x8 char * c; // r29 // References // -> class Debug TheDebug; } // Range: 0x8049C9A0 -> 0x8049CB94 void RndFont::GetKerning(class vector & info /* r30 */) {} // Range: 0x8049CB94 -> 0x8049CDCC void RndFont::SetKerning(class RndFont * const this /* r27 */, const class vector & info /* r28 */) {} // Range: 0x8049CDCC -> 0x8049CE10 void RndFont::Save() { // References // -> class Debug TheDebug; } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8049CE10 -> 0x8049D7EC void RndFont::Load(class RndFont * const this /* r26 */, class BinStream & d /* r27 */) { // Local variables char shader[128]; // r1+0x98 float rows; // r1+0x54 float cols; // r1+0x50 int irows; // r1+0x4C int icols; // r1+0x48 class RndTex * t; // r24 class RndBitmap a; // r1+0x70 int width; // r1+0x44 int height; // r1+0x40 class RndTex * tex; // r0 int i; // r24 class CharInfo & info; // r25 class vector info; // r1+0x64 // References // -> class Debug TheDebug; // -> static int FONT_REV; // -> static int gRev; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class KernInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class KernInfo * _M_start; // offset 0x0, size 0x4 class KernInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x8049D7EC -> 0x8049DAB8 void RndFont::Copy(class RndFont * const this /* r28 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class RndFont * f; // r0 class vector info; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndFont; } // Range: 0x8049DAB8 -> 0x8049DBC8 void RndFont::Print(class RndFont * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x8049DBC8 -> 0x8049DC90 void * RndFont::RndFont(class RndFont * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndFont,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__7RndFont; } // Range: 0x8049DC90 -> 0x8049DD68 void RndFont::Replace(class RndFont * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndFont; } // Range: 0x8049DD68 -> 0x8049DE5C void * RndFont::~RndFont(class RndFont * const this /* r29 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndFont,9ObjectDir>; // -> struct [anonymous] __vt__7RndFont; } static class Symbol _s; // size: 0x4, address: 0x80A52F04 static class Symbol _s; // size: 0x4, address: 0x80A52F0C // Range: 0x8049DE5C -> 0x8049E2C0 class DataNode RndFont::Handle(class RndFont * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8049E2C0 -> 0x8049E314 unsigned char RndFont::SyncProperty(class DataArray * _prop /* r31 */) {} struct { // total size: 0x54 } __vt__7RndFont; // size: 0x54, address: 0x808F7620 struct { // total size: 0x18 } __vt__32ObjOwnerPtr<7RndFont,9ObjectDir>; // size: 0x18, address: 0x808F76A0 struct { // total size: 0x8 } __RTTI__32ObjOwnerPtr<7RndFont,9ObjectDir>; // size: 0x8, address: 0x808F76E8 class KernInfo { // total size: 0x8 public: char a; // offset 0x0, size 0x1 char b; // offset 0x1, size 0x1 float kerning; // offset 0x4, size 0x4 }; struct { // total size: 0x8 } __RTTI__PQ27RndFont8KernInfo; // size: 0x8, address: 0x808F77C0 /* Compile unit: C:\rockband2\system\src\rndobj\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049E314 -> 0x8049E318 */ // Range: 0x8049E314 -> 0x8049E318 void RndTex::UnlockBitmap() {} /* Compile unit: C:\rockband2\system\src\rndobj\Font.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049E318 -> 0x8049E4DC */ // Range: 0x8049E318 -> 0x8049E35C class Symbol RndFont::ClassName() { // References // -> class Symbol name; } // Range: 0x8049E35C -> 0x8049E4DC void RndFont::SetType(class RndFont * const this /* r29 */, class Symbol & RndFont /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049E4DC -> 0x8049E72C */ // Range: 0x8049E4DC -> 0x8049E670 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndFont; } // Range: 0x8049E670 -> 0x8049E6E0 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndFont,9ObjectDir>; } // Range: 0x8049E6E0 -> 0x8049E6E8 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x8049E6E8 -> 0x8049E72C void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049E72C -> 0x8049E864 */ // Range: 0x8049E72C -> 0x8049E864 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class KernInfo * t; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049E864 -> 0x8049ECC0 */ // Range: 0x8049E864 -> 0x8049E8D4 void vector::_M_fill_insert() {} // Range: 0x8049E8D4 -> 0x8049EAC0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class KernInfo * __pos /* r26 */, const class KernInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class KernInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27RndFont8KernInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8049EAC0 -> 0x8049ECC0 void vector::_M_fill_insert_aux() { // Local variables class KernInfo __x_copy; // r1+0x20 unsigned long __elems_after; // r10 class KernInfo * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\Fur.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049ECC0 -> 0x8049F8CC */ class DataArray * types; // size: 0x4, address: 0x80A52F10 class Symbol name; // size: 0x4, address: 0x80A52F18 class RndFur : public Object { // total size: 0x80 public: int mNumPasses; // offset 0x28, size 0x4 float mThickness; // offset 0x2C, size 0x4 float mCurvature; // offset 0x30, size 0x4 float mShellOut; // offset 0x34, size 0x4 float mAlphaFalloff; // offset 0x38, size 0x4 float mStretch; // offset 0x3C, size 0x4 float mSlide; // offset 0x40, size 0x4 float mGravity; // offset 0x44, size 0x4 float mFluidity; // offset 0x48, size 0x4 class Color mBaseTint; // offset 0x50, size 0x10 class Color mEndTint; // offset 0x60, size 0x10 class ObjPtr mFurDetail; // offset 0x70, size 0xC float mFurTiling; // offset 0x7C, size 0x4 }; // Range: 0x8049ECC0 -> 0x8049ED84 void * RndFur::RndFur(class RndFur * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__6RndFur; } static class Symbol _s; // size: 0x4, address: 0x80A52F20 static class Symbol _s; // size: 0x4, address: 0x80A52F28 static class Symbol _s; // size: 0x4, address: 0x80A52F30 static class Symbol _s; // size: 0x4, address: 0x80A52F38 static class Symbol _s; // size: 0x4, address: 0x80A52F40 static class Symbol _s; // size: 0x4, address: 0x80A52F48 static class Symbol _s; // size: 0x4, address: 0x80A52F50 static class Symbol _s; // size: 0x4, address: 0x80A52F58 static class Symbol _s; // size: 0x4, address: 0x80A52F60 static class Symbol _s; // size: 0x4, address: 0x80A52F68 static class Symbol _s; // size: 0x4, address: 0x80A52F70 static class Symbol _s; // size: 0x4, address: 0x80A52F78 static class Symbol _s; // size: 0x4, address: 0x80A52F80 // Range: 0x8049EE08 -> 0x8049F8CC unsigned char RndFur::SyncProperty(class RndFur * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x5C } __vt__6RndFur; // size: 0x5C, address: 0x808F79CC struct { // total size: 0x8 } __RTTI__6RndFur; // size: 0x8, address: 0x808F7A48 /* Compile unit: C:\rockband2\system\src\rndobj\Fur.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8049F8CC -> 0x804A00D4 */ // Range: 0x8049F8CC -> 0x8049F910 void RndFur::Save() { // References // -> class Debug TheDebug; } // Range: 0x8049F910 -> 0x8049FAEC void RndFur::Load(class RndFur * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; } // Range: 0x8049FAEC -> 0x8049FB2C class Symbol RndFur::ClassName() { // References // -> class Symbol name; } // Range: 0x8049FB2C -> 0x8049FCA0 void RndFur::Copy(class RndFur * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class RndFur * m; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndFur; } // Range: 0x8049FCA0 -> 0x8049FF48 class DataNode RndFur::Handle(class RndFur * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x8049FF48 -> 0x8049FF50 unsigned char RndFur::Shell() {} // Range: 0x8049FF50 -> 0x8049FF58 unsigned char RndFur::Prep() {} // Range: 0x8049FF58 -> 0x804A00D4 void RndFur::SetType(class RndFur * const this /* r29 */, class Symbol & RndFur /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Group.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A00D4 -> 0x804A387C */ class DataArray * types; // size: 0x4, address: 0x80A52F88 static unsigned char gInReplace; // size: 0x1, address: 0x80A52F8D // Range: 0x804A00D4 -> 0x804A02F0 void * RndGroup::RndGroup(class RndGroup * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndEnviron,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; // -> struct [anonymous] __vt__8RndGroup; // -> struct [anonymous] __vt__16RndHighlightable; } static int GROUP_REV; // size: 0x4, address: 0x80A47200 // Range: 0x804A02F0 -> 0x804A0334 void RndGroup::Save() { // References // -> class Debug TheDebug; } // Range: 0x804A0334 -> 0x804A04C0 void RndGroup::Load(class RndGroup * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int GROUP_REV; } // Range: 0x804A04C0 -> 0x804A0928 void RndGroup::Copy(class RndGroup * const this /* r29 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class RndGroup * v; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x804A0928 -> 0x804A0D0C void RndGroup::AddObject(class RndGroup * const this /* r30 */, class Object * o /* r31 */) { // Local variables class RndAnimatable * a; // r1+0x44 class RndDrawable * d; // r1+0x40 // References // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A0D0C -> 0x804A0EE4 void RndGroup::RemoveObject(class RndGroup * const this /* r28 */, class Object * o /* r1+0x8 */) { // References // -> static unsigned char gInReplace; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A0EE4 -> 0x804A1060 void RndGroup::ClearObjects(class RndGroup * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A1060 -> 0x804A10DC void RndGroup::Merge(class RndGroup * const this /* r31 */) { // Local variables class iterator it; // r1+0x18 } // Range: 0x804A10DC -> 0x804A131C void RndGroup::Update(class RndGroup * const this /* r31 */) { // Local variables class iterator i; // r1+0x44 class RndAnimatable * a; // r1+0x40 class RndDrawable * d; // r1+0x3C // References // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } // Range: 0x804A131C -> 0x804A16C0 void RndGroup::SortDraws(class RndGroup * const this /* r27 */) { // Local variables class RndDrawable * * d; // r28 class iterator i; // r1+0x34 class RndAnimatable * a; // r1+0x30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A16C0 -> 0x804A178C void RndGroup::Replace(class RndGroup * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // References // -> static unsigned char gInReplace; } // Range: 0x804A178C -> 0x804A1818 void RndGroup::SetFrame(class RndGroup * const this /* r30 */, float frame /* f30 */, float blend /* f31 */) { // Local variables class RndAnimatable * * i; // r31 } // Range: 0x804A1818 -> 0x804A1898 float RndGroup::EndFrame(class RndGroup * const this /* r30 */) { // Local variables float end; // f31 class RndAnimatable * * i; // r31 } // Range: 0x804A1898 -> 0x804A19A4 void RndGroup::ListAnimChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804A19A4 -> 0x804A1BCC void RndGroup::DrawShowing(class RndGroup * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class RndEnvironTracker _rndEnvironTracker; // r1+0x10 class RndDrawable * * i; // r31 // References // -> const class Vector3 * sCurrentPos; // -> class RndEnviron * sCurrent; // -> class RndCam * sCurrent; } // Range: 0x804A1BCC -> 0x804A1D28 void RndGroup::ListDrawChildren(class RndGroup * const this /* r27 */, class list & l /* r28 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804A1D28 -> 0x804A1DB4 void RndGroup::CollideList(class RndGroup * const this /* r28 */, const class Segment & segment /* r29 */, class list & collisions /* r30 */) { // Local variables class RndDrawable * * child; // r31 } // Range: 0x804A1DB4 -> 0x804A1E6C int RndGroup::CollidePlane(class RndGroup * const this /* r28 */, const class Plane & plane /* r29 */) { // Local variables class RndDrawable * * child; // r31 int inside; // r30 } // Range: 0x804A1E6C -> 0x804A1FB4 class RndDrawable * RndGroup::CollideShowing(class RndGroup * const this /* r27 */, float & dist /* r28 */, class Plane & plane /* r29 */) { // Local variables class RndDrawable * collide; // r31 class RndDrawable * * child; // r30 class Segment s; // r1+0x20 float d; // r1+0x10 class RndDrawable * draw; // r3 } // Range: 0x804A1FB4 -> 0x804A20FC void RndGroup::UpdateSphere(class RndGroup * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class Transform t; // r1+0x40 } // Range: 0x804A20FC -> 0x804A2268 unsigned char RndGroup::MakeWorldSphere(class RndGroup * const this /* r29 */, class Sphere & s /* r30 */) { // Local variables class RndDrawable * * c; // r31 class Sphere s2; // r1+0x10 class RndTransformable * t; // r0 // References // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__16RndTransformable; } static class Symbol _s; // size: 0x4, address: 0x80A52F90 static class Symbol _s; // size: 0x4, address: 0x80A52F98 static class Symbol _s; // size: 0x4, address: 0x80A52FA0 static class Symbol _s; // size: 0x4, address: 0x80A52FA8 static class Symbol _s; // size: 0x4, address: 0x80A52FB0 // Range: 0x804A2268 -> 0x804A2DA0 class DataNode RndGroup::Handle(class RndGroup * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x40 class MessageTimer _mt; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 class DataNode _n; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804A2DA0 -> 0x804A2F20 class DataNode RndGroup::OnGetDraws(class DataNode * n /* r29 */, class RndGroup * const this /* r30 */) { // Local variables class DataArray * arr; // r31 int i; // r28 class RndDrawable * * d; // r27 } static class Symbol _s; // size: 0x4, address: 0x80A52FB8 static class Symbol _s; // size: 0x4, address: 0x80A52FC0 static class Symbol _s; // size: 0x4, address: 0x80A52FC8 static class Symbol _s; // size: 0x4, address: 0x80A52FD0 static class Symbol _s; // size: 0x4, address: 0x80A52FD8 // Range: 0x804A2F20 -> 0x804A3244 unsigned char RndGroup::SyncProperty(class RndGroup * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x804A3244 -> 0x804A387C unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class Object * obj; // r31 class Object * obj; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x160 } __vt__8RndGroup; // size: 0x160, address: 0x808F7D78 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A3A3C -> 0x804A3DB4 */ // Range: 0x804A3A3C -> 0x804A3DB4 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\rndobj\Group.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A3DB4 -> 0x804A3F94 */ // Range: 0x804A3DB4 -> 0x804A3DF8 class Symbol RndGroup::ClassName() { // References // -> class Symbol name; } // Range: 0x804A3DF8 -> 0x804A3F8C void RndGroup::SetType(class RndGroup * const this /* r29 */, class Symbol & RndGroup /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804A3F8C -> 0x804A3F94 void RndGroup::Highlight() {} /* Compile unit: C:\rockband2\system\src\utl\Std.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A3F94 -> 0x804A3FDC */ // Range: 0x804A3F94 -> 0x804A3FDC unsigned char VectorFind() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A3FDC -> 0x804A40BC */ // Range: 0x804A3FDC -> 0x804A40BC class RndDrawable * const * find() {} /* Compile unit: C:\rockband2\system\src\rndobj\Line.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A40BC -> 0x804A772C */ class DataArray * types; // size: 0x4, address: 0x80A52FE0 // Range: 0x804A40BC -> 0x804A4100 class RndDrawable * RndLine::CollideShowing(class RndLine * const this /* r31 */) {} // Range: 0x804A4100 -> 0x804A4114 int RndLine::CollidePlane() {} // Range: 0x804A4114 -> 0x804A4140 void Add() {} // Range: 0x804A4140 -> 0x804A416C void Subtract() {} // Range: 0x804A416C -> 0x804A45F8 void RndLine::UpdateLine(class RndLine * const this /* r27 */, class Point * first /* r28 */, class Point * last /* r31 */) { // Local variables class Point * p; // r30 float s; // f1 class Ray r1; // r1+0x28 unsigned char folded; // r29 float dot; // f0 class Ray r2; // r1+0x18 class Point * back; // r0 class Vector2 cap; // r1+0x10 class VertsMap vm; // r1+0x8 } // Range: 0x804A45F8 -> 0x804A49F8 void RndLine::UpdateLinePair(class RndLine * const this /* r29 */, class Point * first /* r30 */, class Point * last /* r31 */) { // Local variables class VertsMap vm; // r1+0x10 float s; // f3 class Vector2 cap; // r1+0x8 } // Range: 0x804A49F8 -> 0x804A4AC0 void RndLine::DrawShowing(class RndLine * const this /* r30 */) { // References // -> class RndCam * sCurrent; } // Range: 0x804A4AC0 -> 0x804A4C08 void RndLine::UpdateSphere(class RndLine * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class Transform t; // r1+0x40 } // Range: 0x804A4C08 -> 0x804A4D3C unsigned char RndLine::MakeWorldSphere(class RndLine * const this /* r29 */, class Sphere & s /* r30 */) { // Local variables class Point * p; // r31 } // Range: 0x804A4D3C -> 0x804A4FAC void RndLine::MapVerts(int point /* r30 */, class VertsMap & map /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A4FAC -> 0x804A5020 void RndLine::SetMat(class RndLine * const this /* r30 */, class RndMat * m /* r31 */) {} // Range: 0x804A5020 -> 0x804A504C void RndLine::SetHasCaps() {} // Range: 0x804A504C -> 0x804A5078 void RndLine::SetLinePairs() {} // Range: 0x804A5078 -> 0x804A5730 void RndLine::SetNumPoints(class RndLine * const this /* r29 */, int n /* r30 */) { // Local variables int i; // r31 class VertsMap vm; // r1+0x38 int j; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A5730 -> 0x804A58D4 void RndLine::SetPointColor(class RndLine * const this /* r29 */, int i /* r28 */, const class Color & c /* r30 */, unsigned char sync /* r31 */) { // Local variables class VertsMap vm; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static int LINE_REV; // size: 0x4, address: 0x80A47210 // Range: 0x804A58D4 -> 0x804A5918 void RndLine::Save() { // References // -> class Debug TheDebug; } static class Vector3 offset; // size: 0x10, address: 0x8097F290 // Range: 0x804A5918 -> 0x804A5AA0 void RndLine::SetUpdate(class RndLine * const this /* r29 */) { // Local variables class Transform t; // r1+0x10 // References // -> static class Vector3 offset; } // Range: 0x804A5AA0 -> 0x804A5FE8 void RndLine::UpdateLine(class RndLine * const this /* r30 */, float nearPlane /* f31 */) { // Local variables class Transform t; // r1+0x20 int first; // r7 int last; // r5 int end; // r31 int i; // r29 float f; // f4 float f; // f4 class Point * b; // r5 float f; // f4 float f; // f4 } // Range: 0x804A5FE8 -> 0x804A6058 void RndLine::UpdateInternal(class RndLine * const this /* r31 */) {} // Range: 0x804A6058 -> 0x804A6384 void RndLine::Load(class RndLine * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x14 int rev; // r1+0x10 class ObjPtrList collides; // r1+0x18 // References // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; // -> class Debug TheDebug; // -> static int LINE_REV; } // Range: 0x804A6384 -> 0x804A64C0 void RndLine::Copy(class RndLine * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class RndLine * d; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndLine; } // Range: 0x804A64C0 -> 0x804A6520 static class TextStream & __ls(class TextStream & d /* r30 */, const class Point & c /* r31 */) {} // Range: 0x804A6520 -> 0x804A65F0 void RndLine::Print(class RndLine * const this /* r29 */) { // References // -> class Debug TheDebug; } // Range: 0x804A65F0 -> 0x804A66C4 class TextStream & __ls(class TextStream & d /* r30 */, const class vector & c /* r31 */) { // Local variables const class Point * t; // r29 } // Range: 0x804A66C4 -> 0x804A6908 void * RndLine::RndLine(class RndLine * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__7RndLine; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x804A6908 -> 0x804A6AEC void * RndLine::~RndLine(class RndLine * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__7RndLine; } static class Symbol _s; // size: 0x4, address: 0x80A52FE8 static class Symbol _s; // size: 0x4, address: 0x80A52FF0 static class Symbol _s; // size: 0x4, address: 0x80A52FF8 static class Symbol _s; // size: 0x4, address: 0x80A53000 static class Symbol _s; // size: 0x4, address: 0x80A53008 // Range: 0x804A6AEC -> 0x804A7684 class DataNode RndLine::Handle(class RndLine * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x44 class MessageTimer _mt; // r1+0x90 class DataNode _n; // r1+0x58 class DataNode _n; // r1+0x50 class DataNode _n; // r1+0x48 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804A7684 -> 0x804A772C unsigned char RndLine::SyncProperty(class RndLine * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xF8 } __vt__7RndLine; // size: 0xF8, address: 0x808F8588 struct { // total size: 0x8 } __RTTI__PQ27RndLine5Point; // size: 0x8, address: 0x808F8920 /* Compile unit: C:\rockband2\system\src\rndobj\Line.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A772C -> 0x804A7C48 */ // Range: 0x804A772C -> 0x804A77FC void RndLine::SetPointPos(class RndLine * const this /* r29 */, int i /* r30 */, const class Vector3 & v /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A77FC -> 0x804A79D8 void RndLine::SetPointsColor(class RndLine * const this /* r28 */, int start /* r29 */, int end /* r30 */, const class Color & c /* r31 */) { // Local variables int temp; // r0 int i; // [invalid] class VertsMap vm; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A79D8 -> 0x804A7A1C class Symbol RndLine::ClassName() { // References // -> class Symbol name; } // Range: 0x804A7A1C -> 0x804A7BC0 void RndLine::SetType(class RndLine * const this /* r29 */, class Symbol & RndLine /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804A7BC0 -> 0x804A7BC4 void RndLine::Highlight() {} // Range: 0x804A7BC4 -> 0x804A7BCC class RndMesh * RndLine::Mesh() {} // Range: 0x804A7BCC -> 0x804A7C48 void RndLine::Mats() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A7C48 -> 0x804A7EA0 */ // Range: 0x804A7C48 -> 0x804A7EA0 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 class Point * t; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A7FE0 -> 0x804A8E2C */ // Range: 0x804A7FE0 -> 0x804A8488 class vector & vector::__as(class vector * const this /* r27 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27RndLine5Point; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804A8488 -> 0x804A8508 void vector::_M_fill_insert() {} // Range: 0x804A8508 -> 0x804A88D4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Point * __pos /* r26 */, const class Point & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Point * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27RndLine5Point; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804A88D4 -> 0x804A8E2C void vector::_M_fill_insert_aux() { // Local variables class Point __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class Point * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\Lit.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804A8E2C -> 0x804AAC1C */ class DataArray * types; // size: 0x4, address: 0x80A53010 class Symbol name; // size: 0x4, address: 0x80A53018 // Range: 0x804A8E2C -> 0x804A8FC0 void * RndLight::RndLight(class RndLight * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__33ObjOwnerPtr<8RndLight,9ObjectDir>; // -> struct [anonymous] __vt__8RndLight; // -> struct [anonymous] __vt__16RndHighlightable; } static int LIGHT_REV; // size: 0x4, address: 0x80A47228 // Range: 0x804A8FC0 -> 0x804A9004 void RndLight::Save() { // References // -> class Debug TheDebug; } // Range: 0x804A9004 -> 0x804A95E4 void RndLight::Load(class RndLight * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x2C class Color ambient; // r1+0x50 class Color specular; // r1+0x40 float innerAng; // r1+0x28 float outerAng; // r1+0x24 float constAtten; // r1+0x20 float linearAtten; // r1+0x1C float quadAtten; // r1+0x18 unsigned char animate; // r0 class ObjPtrList casters; // r1+0x60 class ObjPtr caster; // r1+0x30 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> class Debug TheDebug; // -> static int LIGHT_REV; } // Range: 0x804A95E4 -> 0x804A9828 void RndLight::Copy(class RndLight * const this /* r31 */, const class Object * o /* r29 */, enum CopyType type /* r28 */) { // Local variables const class RndLight * l; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; } // Range: 0x804A9828 -> 0x804A9938 void RndLight::Replace(class RndLight * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) { // Local variables class RndLight * toLight; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; } // Range: 0x804A9938 -> 0x804A9A0C void RndLight::SetPackedColor() { // Local variables class Color c; // r1+0x10 } // Range: 0x804A9A0C -> 0x804A9B1C int RndLight::PackedColor(const class RndLight * const this /* r31 */) { // Local variables class Color c; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A9B1C -> 0x804A9C00 float RndLight::Intensity(const class RndLight * const this /* r31 */) { // Local variables class Color col; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804A9C00 -> 0x804A9C08 void RndLight::SetConeSoftness() {} // Range: 0x804A9C08 -> 0x804A9C10 void RndLight::SetTopRadius() {} // Range: 0x804A9C10 -> 0x804A9C18 void RndLight::SetBotRadius() {} // Range: 0x804A9C18 -> 0x804A9C20 void RndLight::SetShadowCasters() {} // Range: 0x804A9C20 -> 0x804A9C54 void RndLight::CalcCosines() {} static class Symbol _s; // size: 0x4, address: 0x80A53020 // Range: 0x804A9C54 -> 0x804AA148 class DataNode RndLight::Handle(class RndLight * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A53028 static class Symbol _s; // size: 0x4, address: 0x80A53030 static class Symbol _s; // size: 0x4, address: 0x80A53038 static class Symbol _s; // size: 0x4, address: 0x80A53040 static class Symbol _s; // size: 0x4, address: 0x80A53048 static class Symbol _s; // size: 0x4, address: 0x80A53050 static class Symbol _s; // size: 0x4, address: 0x80A53058 static class Symbol _s; // size: 0x4, address: 0x80A53060 static class Symbol _s; // size: 0x4, address: 0x80A53068 static class Symbol _s; // size: 0x4, address: 0x80A53070 static class Symbol _s; // size: 0x4, address: 0x80A53078 static class Symbol _s; // size: 0x4, address: 0x80A53080 static class Symbol _s; // size: 0x4, address: 0x80A53088 // Range: 0x804AA148 -> 0x804AAAD0 unsigned char RndLight::SyncProperty(class RndLight * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x804AAAD0 -> 0x804AAC1C unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xAC } __vt__8RndLight; // size: 0xAC, address: 0x808F8C90 struct { // total size: 0x18 } __vt__33ObjOwnerPtr<8RndLight,9ObjectDir>; // size: 0x18, address: 0x808F8DC0 struct { // total size: 0x8 } __RTTI__33ObjOwnerPtr<8RndLight,9ObjectDir>; // size: 0x8, address: 0x808F8E08 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804AAC1C -> 0x804AAE84 */ // Range: 0x804AAC1C -> 0x804AAC94 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__33ObjOwnerPtr<8RndLight,9ObjectDir>; } // Range: 0x804AAC94 -> 0x804AAE38 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; } // Range: 0x804AAE38 -> 0x804AAE40 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804AAE40 -> 0x804AAE84 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\Lit.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804AAE84 -> 0x804AB07C */ // Range: 0x804AAE84 -> 0x804AAEC8 class Symbol RndLight::ClassName() { // References // -> class Symbol name; } // Range: 0x804AAEC8 -> 0x804AAED0 void RndLight::SetLightType() {} // Range: 0x804AAED0 -> 0x804AAED8 void RndLight::SetFalloffStart() {} // Range: 0x804AAED8 -> 0x804AB07C void RndLight::SetType(class RndLight * const this /* r29 */, class Symbol & RndLight /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\LitAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804AB274 -> 0x804AC93C */ class DataArray * types; // size: 0x4, address: 0x80A53090 class Symbol name; // size: 0x4, address: 0x80A53098 class RndLightAnim : public RndAnimatable { // total size: 0x60 protected: class ObjPtr mLight; // offset 0x10, size 0xC class Keys mColorKeys; // offset 0x1C, size 0xC class ObjOwnerPtr mKeysOwner; // offset 0x28, size 0xC }; // Range: 0x804AB274 -> 0x804AB364 void * RndLightAnim::RndLightAnim(class RndLightAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__38ObjOwnerPtr<12RndLightAnim,9ObjectDir>; // -> struct [anonymous] __vt__28ObjPtr<8RndLight,9ObjectDir>; // -> struct [anonymous] __vt__12RndLightAnim; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndLight * mPtr; // offset 0x8, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndLightAnim * mPtr; // offset 0x8, size 0x4 }; // Range: 0x804AB364 -> 0x804AB44C void RndLightAnim::Replace(class RndLightAnim * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndLightAnim; } static int LIGHTANIM_REV; // size: 0x4, address: 0x80A4723C // Range: 0x804AB44C -> 0x804AB490 void RndLightAnim::Save() { // References // -> class Debug TheDebug; } // Range: 0x804AB490 -> 0x804AB6E4 void RndLightAnim::Load(class RndLightAnim * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x34 class Keys ambientKeys; // r1+0x44 class Keys specularKeys; // r1+0x38 // References // -> class Debug TheDebug; // -> static int LIGHTANIM_REV; } // Range: 0x804AB6E4 -> 0x804AB8C0 void RndLightAnim::Copy(class RndLightAnim * const this /* r28 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class RndLightAnim * l; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndLightAnim; } // Range: 0x804AB8C0 -> 0x804AB9B8 void RndLightAnim::Print(class RndLightAnim * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x804AB9B8 -> 0x804ABA40 float RndLightAnim::EndFrame(class RndLightAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804ABA40 -> 0x804ABE58 void RndLightAnim::SetFrame(class RndLightAnim * const this /* r23 */, float frame /* f30 */, float blend /* f31 */) { // Local variables class Color d; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804ABE58 -> 0x804AC244 void RndLightAnim::SetKey(class RndLightAnim * const this /* r27 */, float frame /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A530A0 // Range: 0x804AC244 -> 0x804AC788 class DataNode RndLightAnim::Handle(class RndLightAnim * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804AC788 -> 0x804AC8BC class DataNode RndLightAnim::OnCopyKeys(class RndLightAnim * const this /* r29 */, class DataArray * d /* r30 */) { // Local variables float r; // f0 class Key * i; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndLightAnim; } // Range: 0x804AC8BC -> 0x804AC93C unsigned char RndLightAnim::SyncProperty(class RndLightAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA8 } __vt__12RndLightAnim; // size: 0xA8, address: 0x808F9240 struct { // total size: 0x8 } __RTTI__12RndLightAnim; // size: 0x8, address: 0x808F9318 struct { // total size: 0x18 } __vt__38ObjOwnerPtr<12RndLightAnim,9ObjectDir>; // size: 0x18, address: 0x808F9320 struct { // total size: 0x8 } __RTTI__38ObjOwnerPtr<12RndLightAnim,9ObjectDir>; // size: 0x8, address: 0x808F9370 struct { // total size: 0x18 } __vt__28ObjPtr<8RndLight,9ObjectDir>; // size: 0x18, address: 0x808F9378 struct { // total size: 0x8 } __RTTI__28ObjPtr<8RndLight,9ObjectDir>; // size: 0x8, address: 0x808F93B8 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804AC93C -> 0x804ACE6C */ // Range: 0x804AC93C -> 0x804AC9B4 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__28ObjPtr<8RndLight,9ObjectDir>; } // Range: 0x804AC9B4 -> 0x804ACA28 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__38ObjOwnerPtr<12RndLightAnim,9ObjectDir>; } // Range: 0x804ACA28 -> 0x804ACBC0 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndLightAnim; } // Range: 0x804ACBC0 -> 0x804ACD68 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; } // Range: 0x804ACD68 -> 0x804ACD70 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804ACD70 -> 0x804ACDB4 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } // Range: 0x804ACDB4 -> 0x804ACDBC class Object * ObjPtr::RefOwner() {} // Range: 0x804ACDBC -> 0x804ACE6C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndLight; } /* Compile unit: C:\rockband2\system\src\rndobj\LitAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804ACFCC -> 0x804AD258 */ // Range: 0x804ACFCC -> 0x804AD068 void RndLightAnim::SetKeysOwner(class RndLightAnim * const this /* r30 */, class RndLightAnim * o /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804AD068 -> 0x804AD0AC class Symbol RndLightAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x804AD0AC -> 0x804AD240 void RndLightAnim::SetType(class RndLightAnim * const this /* r29 */, class Symbol & RndLightAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804AD240 -> 0x804AD258 class Object * RndLightAnim::AnimTarget() {} /* Compile unit: C:\rockband2\system\src\rndobj\Mat.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804AD320 -> 0x804B10FC */ class DataArray * types; // size: 0x4, address: 0x80A530A8 class RndMat * materialTrackingList[1024]; // size: 0x1000, address: 0x8097F2A0 int materialTrackingCount; // size: 0x4, address: 0x80A530B0 unsigned char materialTrackingActive; // size: 0x1, address: 0x80A530B4 // Range: 0x804AD320 -> 0x804AD330 void * MatShaderOptions::MatShaderOptions() {} // Range: 0x804AD330 -> 0x804AD4B8 class RndMat * LookupOrCreateMat(const char * shader /* r26 */, class ObjectDir * dir /* r27 */) { // Local variables const char * matName; // r29 class RndMat * mat; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol name; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x804AD4B8 -> 0x804AD6C4 void * RndMat::RndMat(class RndMat * const this /* r31 */) { // Local variables int x; // r5 // References // -> int materialTrackingCount; // -> class RndMat * materialTrackingList[1024]; // -> unsigned char materialTrackingActive; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__6RndMat; } // Range: 0x804AD6C4 -> 0x804AD7F8 void * RndMat::~RndMat(class RndMat * const this /* r30 */) { // Local variables int x; // r6 // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> int materialTrackingCount; // -> class RndMat * materialTrackingList[1024]; } static int MAT_REV; // size: 0x4, address: 0x80A47248 // Range: 0x804AD7F8 -> 0x804AD83C void RndMat::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A530B8 // Range: 0x804AD83C -> 0x804AD860 void RndMat::MakeWhite() {} class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndCubeTex * mPtr; // offset 0x8, size 0x4 }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndFur * mPtr; // offset 0x8, size 0x4 }; // Range: 0x804AD860 -> 0x804AE180 void RndMat::Load(class RndMat * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables float mEmissiveMultiplier; // r1+0x48 class Color mSpecular; // r1+0xB0 class ObjPtr mNormalMap; // r1+0xA0 class ObjPtr mEmissiveMap; // r1+0x94 class ObjPtr mSpecularMap; // r1+0x88 class ObjPtr mEnvironMap; // r1+0x7C class ObjPtr mFur; // r1+0x70 float mDeNormal; // r1+0x44 float mAnisotropy; // r1+0x40 float mNormDetailTile; // r1+0x3C float mNormDetailStrength; // r1+0x38 float mNormDetail; // r1+0x34 class Symbol customShader; // r1+0x30 float temp_float; // r1+0x2C class Color temp_color; // r1+0x60 class ObjPtr temp; // r1+0x4C int temp; // r1+0x28 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> static int MAT_REV; // -> static int gRev; // -> struct [anonymous] __vt__26ObjPtr<6RndFur,9ObjectDir>; // -> struct [anonymous] __vt__31ObjPtr<10RndCubeTex,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } // Range: 0x804AE180 -> 0x804AE4F4 void RndMat::Copy(class RndMat * const this /* r30 */, const class Object * o /* r28 */, enum CopyType type /* r29 */) { // Local variables const class RndMat * m; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x804AE4F4 -> 0x804AE8EC void RndMat::CompositeTwoColor(class RndMat * const this /* r27 */) { // Local variables class RndBitmap base_bmp; // r1+0x78 class RndBitmap mask_bmp; // r1+0x54 float mask_scale_x; // f3 float mask_scale_y; // f31 class RndBitmap composite_bmp; // r1+0x30 int bpp; // r1+0x14 int order; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804AE8EC -> 0x804AEAA0 void RndMat::FinalizeTwoColor(class RndMat * const this /* r30 */) { // Local variables class RndBitmap diffuse_bmp; // r1+0x44 class RndBitmap diffuse_dxt; // r1+0x20 } static class Symbol _s; // size: 0x4, address: 0x80A530C0 static class Symbol _s; // size: 0x4, address: 0x80A530C8 // Range: 0x804AEAA0 -> 0x804AEFF4 class DataNode RndMat::Handle(class RndMat * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804AEFF4 -> 0x804AF4FC class DataNode RndMat::OnAllowedNextPass(class RndMat * const this /* r30 */) { // Local variables class DataArrayPtr da; // r1+0x30 int n; // r31 class ObjDirItr it; // r1+0x38 unsigned char allow; // r3 class RndMat * p; // r4 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; // -> struct [anonymous] __vt__12DataArrayPtr; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndTex * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x804AF4FC -> 0x804AF9BC class DataNode RndMat::OnAllowedNormalMap(class RndMat * const this /* r29 */) { // Local variables class DataArrayPtr da; // r1+0x28 int n; // r31 class ObjDirItr it; // r1+0x3C class FilePath p; // r1+0x30 // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> struct [anonymous] __vt__12DataArrayPtr; } static class Symbol _s; // size: 0x4, address: 0x80A530D0 static class Symbol _s; // size: 0x4, address: 0x80A530D8 static class Symbol _s; // size: 0x4, address: 0x80A530E0 static class Symbol _s; // size: 0x4, address: 0x80A530E8 static class Symbol _s; // size: 0x4, address: 0x80A530F0 static class Symbol _s; // size: 0x4, address: 0x80A530F8 static class Symbol _s; // size: 0x4, address: 0x80A53100 static class Symbol _s; // size: 0x4, address: 0x80A53108 static class Symbol _s; // size: 0x4, address: 0x80A53110 static class Symbol _s; // size: 0x4, address: 0x80A53118 static class Symbol _s; // size: 0x4, address: 0x80A53120 static class Symbol _s; // size: 0x4, address: 0x80A53128 static class Symbol _s; // size: 0x4, address: 0x80A53130 static class Symbol _s; // size: 0x4, address: 0x80A53138 static class Symbol _s; // size: 0x4, address: 0x80A53140 static class Symbol _s; // size: 0x4, address: 0x80A53148 static class Symbol _s; // size: 0x4, address: 0x80A53150 static class Symbol _s; // size: 0x4, address: 0x80A53158 static class Symbol _s; // size: 0x4, address: 0x80A53160 static class Symbol _s; // size: 0x4, address: 0x80A53168 static class Symbol _s; // size: 0x4, address: 0x80A53170 static class Symbol _s; // size: 0x4, address: 0x80A53178 static class Symbol _s; // size: 0x4, address: 0x80A53180 static class Symbol _s; // size: 0x4, address: 0x80A53188 static class Symbol _s; // size: 0x4, address: 0x80A53190 static class Symbol _s; // size: 0x4, address: 0x80A53198 // Range: 0x804AF9BC -> 0x804B10FC unsigned char RndMat::SyncProperty(class RndMat * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x18 } __vt__26ObjPtr<6RndFur,9ObjectDir>; // size: 0x18, address: 0x808F9888 struct { // total size: 0x8 } __RTTI__26ObjPtr<6RndFur,9ObjectDir>; // size: 0x8, address: 0x808F98C8 struct { // total size: 0x18 } __vt__31ObjPtr<10RndCubeTex,9ObjectDir>; // size: 0x18, address: 0x808F98D0 struct { // total size: 0x8 } __RTTI__31ObjPtr<10RndCubeTex,9ObjectDir>; // size: 0x8, address: 0x808F9918 struct { // total size: 0x54 } __vt__6RndMat; // size: 0x54, address: 0x808F9920 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B10FC -> 0x804B164C */ // Range: 0x804B10FC -> 0x804B1294 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndFur; } // Range: 0x804B1294 -> 0x804B142C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndCubeTex; } // Range: 0x804B142C -> 0x804B149C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjPtr<10RndCubeTex,9ObjectDir>; } // Range: 0x804B149C -> 0x804B150C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndFur,9ObjectDir>; } // Range: 0x804B150C -> 0x804B1514 class Object * ObjPtr::RefOwner() {} // Range: 0x804B1514 -> 0x804B15AC void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndFur; } // Range: 0x804B15AC -> 0x804B15B4 class Object * ObjPtr::RefOwner() {} // Range: 0x804B15B4 -> 0x804B164C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndCubeTex; } /* Compile unit: C:\rockband2\system\src\rndobj\Mat.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B164C -> 0x804B1808 */ // Range: 0x804B164C -> 0x804B168C class Symbol RndMat::ClassName() { // References // -> class Symbol name; } // Range: 0x804B168C -> 0x804B1808 void RndMat::SetType(class RndMat * const this /* r29 */, class Symbol & RndMat /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B1808 -> 0x804B1978 */ // Range: 0x804B1808 -> 0x804B1978 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } /* Compile unit: C:\rockband2\system\src\rndobj\MatAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B1978 -> 0x804B4634 */ class DataArray * types; // size: 0x4, address: 0x80A531A0 class Symbol name; // size: 0x4, address: 0x80A531A8 static class Object * gOwner; // size: 0x4, address: 0x80A531AC // Range: 0x804B1978 -> 0x804B19C4 void * TexPtr::TexPtr() { // References // -> struct [anonymous] __vt__Q210RndMatAnim6TexPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> static class Object * gOwner; } // Range: 0x804B19C4 -> 0x804B1A28 void * TexPtr::TexPtr(class TexPtr * const this /* r31 */) { // References // -> struct [anonymous] __vt__Q210RndMatAnim6TexPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> static class Object * gOwner; } // Range: 0x804B1A28 -> 0x804B1A40 void * TexKeys::TexKeys() {} // Range: 0x804B1A40 -> 0x804B1E18 int TexKeys::Add(class TexKeys * const this /* r25 */, float frame /* f31 */, unsigned char unique /* r26 */) { // References // -> struct [anonymous] __vt__Q210RndMatAnim6TexPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> static class Object * gOwner; } // Range: 0x804B1E18 -> 0x804B2070 void TexKeys::__as(class TexKeys * const this /* r30 */, const class TexKeys & x /* r31 */) { // Local variables class Key * i; // r26 const class Key * j; // r28 // References // -> struct [anonymous] __vt__Q210RndMatAnim6TexPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> static class Object * gOwner; } // Range: 0x804B2070 -> 0x804B21A8 void * RndMatAnim::RndMatAnim(class RndMatAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndMatAnim,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__10RndMatAnim; } // Range: 0x804B21A8 -> 0x804B2290 void RndMatAnim::Replace(class RndMatAnim * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; } static int MATANIM_REV; // size: 0x4, address: 0x80A47258 // Range: 0x804B2290 -> 0x804B22D4 void RndMatAnim::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A531B0 // Range: 0x804B22D4 -> 0x804B2584 void RndMatAnim::Load(class RndMatAnim * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class Keys lightColorKeys; // r1+0x40 class Keys ambientKeys; // r1+0x34 // References // -> static class Object * gOwner; // -> class Debug TheDebug; // -> static int MATANIM_REV; // -> static int gRev; } // Range: 0x804B2584 -> 0x804B28D0 void RndMatAnim::Copy(class RndMatAnim * const this /* r31 */, const class Object * o /* r29 */, enum CopyType type /* r28 */) { // Local variables const class RndMatAnim * m; // r0 // References // -> static class Object * gOwner; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; } // Range: 0x804B28D0 -> 0x804B2A44 void RndMatAnim::Print(class RndMatAnim * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x804B2A44 -> 0x804B2D60 float RndMatAnim::EndFrame(class RndMatAnim * const this /* r31 */) { // Local variables float frame; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B2D60 -> 0x804B30BC void RndMatAnim::SetFrame(class RndMatAnim * const this /* r31 */, float frame /* f30 */, float blend /* f31 */) { // Local variables class Vector3 v; // r1+0x50 class Vector3 blendScale; // r1+0x40 class Transform t; // r1+0x60 class Vector3 euler; // r1+0x30 class RndTex * t; // r1+0x14 class Color c; // r1+0x20 float a; // r1+0x10 } // Range: 0x804B30BC -> 0x804B41BC void RndMatAnim::SetKey(class RndMatAnim * const this /* r31 */, float frame /* f31 */) { // Local variables class Vector3 e; // r1+0x30 class Vector3 s; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B41BC -> 0x804B41C8 void Interp() {} // Range: 0x804B41C8 -> 0x804B45B4 class DataNode RndMatAnim::Handle(class RndMatAnim * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x804B45B4 -> 0x804B4634 unsigned char RndMatAnim::SyncProperty(class RndMatAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA8 } __vt__10RndMatAnim; // size: 0xA8, address: 0x808F9E58 struct { // total size: 0x18 } __vt__36ObjOwnerPtr<10RndMatAnim,9ObjectDir>; // size: 0x18, address: 0x808F9F30 struct { // total size: 0x8 } __RTTI__36ObjOwnerPtr<10RndMatAnim,9ObjectDir>; // size: 0x8, address: 0x808F9F78 struct { // total size: 0x18 } __vt__Q210RndMatAnim6TexPtr; // size: 0x18, address: 0x808F9F80 struct { // total size: 0x8 } __RTTI__Q210RndMatAnim6TexPtr; // size: 0x8, address: 0x808F9FC0 class Key { // total size: 0x10 public: class TexPtr value; // offset 0x0, size 0xC float frame; // offset 0xC, size 0x4 }; struct { // total size: 0x8 } __RTTI__P26Key; // size: 0x8, address: 0x808FA198 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B4634 -> 0x804B489C */ // Range: 0x804B4634 -> 0x804B46A8 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__36ObjOwnerPtr<10RndMatAnim,9ObjectDir>; } // Range: 0x804B46A8 -> 0x804B4840 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__10RndMatAnim; } // Range: 0x804B4840 -> 0x804B4848 class RndMat * ObjPtr::__opP6RndMat() {} // Range: 0x804B4848 -> 0x804B4850 class RndMat * ObjPtr::__rf() {} // Range: 0x804B4850 -> 0x804B4858 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804B4858 -> 0x804B489C void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B4D50 -> 0x804B4E24 */ // Range: 0x804B4DC4 -> 0x804B4DDC unsigned char vector::empty() {} // Range: 0x804B4DDC -> 0x804B4DF4 unsigned char vector::empty() {} // Range: 0x804B4DF4 -> 0x804B4E0C unsigned char vector::empty() {} // Range: 0x804B4E0C -> 0x804B4E24 unsigned char vector::empty() {} /* Compile unit: C:\rockband2\system\src\rndobj\MatAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B4E24 -> 0x804B5274 */ // Range: 0x804B4E24 -> 0x804B4E68 class Symbol RndMatAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x804B4E68 -> 0x804B4ED0 class Keys & RndMatAnim::TransKeys(class RndMatAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B4ED0 -> 0x804B4F38 class Keys & RndMatAnim::ScaleKeys(class RndMatAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B4F38 -> 0x804B4FA0 class TexKeys & RndMatAnim::GetTexKeys(class RndMatAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B4FA0 -> 0x804B5008 class Keys & RndMatAnim::RotKeys(class RndMatAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B5008 -> 0x804B5070 class Keys & RndMatAnim::AlphaKeys(class RndMatAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B5070 -> 0x804B50D8 class Keys & RndMatAnim::ColorKeys(class RndMatAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B50D8 -> 0x804B526C void RndMatAnim::SetType(class RndMatAnim * const this /* r29 */, class Symbol & RndMatAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804B526C -> 0x804B5274 class Object * RndMatAnim::AnimTarget() {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B5274 -> 0x804B5480 */ // Range: 0x804B5274 -> 0x804B5480 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Key * t; // r26 // References // -> struct [anonymous] __vt__Q210RndMatAnim6TexPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B5480 -> 0x804B5FE4 */ // Range: 0x804B5480 -> 0x804B54C8 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804B54C8 -> 0x804B555C class TextStream & __ls(class TextStream & d /* r29 */, const class Key & i /* r31 */) {} // Range: 0x804B555C -> 0x804B55C4 class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} // Range: 0x804B55C4 -> 0x804B5898 void Keys::AtFrame(const class Keys * const this /* r23 */, float frame /* f31 */, class Vector3 & val /* r24 */) { // Local variables const class Vector3 * prev; // r26 const class Vector3 * next; // r25 float r; // f4 } // Range: 0x804B5898 -> 0x804B5AF0 void Keys::AtFrame(const class Keys * const this /* r23 */, float frame /* f31 */, class RndTex * & val /* r24 */) { // Local variables const class TexPtr * prev; // r26 const class TexPtr * next; // r25 float r; // f1 } // Range: 0x804B5AF0 -> 0x804B5D88 void Keys::AtFrame(const class Keys * const this /* r23 */, float frame /* f31 */, class Color & val /* r24 */) { // Local variables const class Color * prev; // r26 const class Color * next; // r25 float r; // f5 } // Range: 0x804B5D88 -> 0x804B5FE4 void Keys::AtFrame(const class Keys * const this /* r23 */, float frame /* f31 */, float & val /* r24 */) { // Local variables const float * prev; // r26 const float * next; // r25 float r; // f2 } /* Compile unit: C:\rockband2\system\src\utl\TextStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B5FE4 -> 0x804B614C */ // Range: 0x804B5FE4 -> 0x804B6098 class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804B6098 -> 0x804B614C class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } /* Compile unit: C:\rockband2\system\src\rndobj\Mat.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B614C -> 0x804B62A4 */ // Range: 0x804B614C -> 0x804B6154 class Transform & RndMat::TexXfm() {} // Range: 0x804B6154 -> 0x804B61E4 void RndMat::SetTexXfm() {} // Range: 0x804B61E4 -> 0x804B6258 void RndMat::SetDiffuseTex(class RndMat * const this /* r30 */, class RndTex * t /* r31 */) {} // Range: 0x804B6258 -> 0x804B6260 class Color & RndMat::GetColor() {} // Range: 0x804B6260 -> 0x804B6288 void RndMat::SetColor() {} // Range: 0x804B6288 -> 0x804B6290 float RndMat::Alpha() {} // Range: 0x804B6290 -> 0x804B62A4 void RndMat::SetAlpha() {} /* Compile unit: C:\rockband2\system\src\math\Mtx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B62A4 -> 0x804B6320 */ // Range: 0x804B62A4 -> 0x804B6320 void Scale() {} /* Compile unit: C:\rockband2\system\src\math\Color.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B6320 -> 0x804B6374 */ // Range: 0x804B6320 -> 0x804B6374 void Interp() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B6374 -> 0x804B6AE8 */ // Range: 0x804B6374 -> 0x804B63CC class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x804B63CC -> 0x804B643C void vector::_M_fill_insert() {} // Range: 0x804B643C -> 0x804B6468 void _Vector_base::_M_throw_out_of_range() {} // Range: 0x804B6468 -> 0x804B6754 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> struct [anonymous] __vt__Q210RndMatAnim6TexPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P26Key; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804B6754 -> 0x804B6AE8 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class Key * __pos /* r27 */, unsigned long __n /* r28 */, const class Key & __x /* r29 */) { // Local variables class Key __x_copy; // r1+0x20 unsigned long __elems_after; // r30 class Key * __old_finish; // r0 // References // -> struct [anonymous] __vt__Q210RndMatAnim6TexPtr; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\rndobj\Mesh.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804B6AE8 -> 0x804BC56C */ class DataArray * types; // size: 0x4, address: 0x80A531B8 class list : public _List_base { // total size: 0x8 }; class list sStriperResults; // size: 0x8, address: 0x809802B0 class vector : protected _Vector_base { // total size: 0xC }; static class vector gPatchVerts; // size: 0xC, address: 0x809802C4 static int gRev; // size: 0x4, address: 0x80A531C0 // Range: 0x804B6AE8 -> 0x804B6B18 int RndMesh::MaxBones() {} // Range: 0x804B6B18 -> 0x804B70C0 class RndDrawable * RndMesh::CollideShowing(class RndMesh * const this /* r27 */, const class Segment & s /* r24 */, float & dist /* r28 */, class Plane & plane /* r29 */) { // Local variables class Segment s2; // r1+0x30 class Transform t; // r1+0x90 unsigned char hit; // r31 class Face * f; // r30 class Triangle t; // r1+0x50 float d; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B70C0 -> 0x804B72BC int RndMesh::CollidePlane(class RndMesh * const this /* r26 */, const class Face & f /* r27 */, const class Plane & pl /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B72BC -> 0x804B7528 int RndMesh::CollidePlane(class RndMesh * const this /* r29 */, const class Plane & plane /* r30 */) { // Local variables int collide; // r0 class Plane pl; // r1+0x20 class Transform t; // r1+0x30 class Face * f; // r31 int inside; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804B7528 -> 0x804B7680 void RndMesh::UpdateSphere(class RndMesh * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class Transform t; // r1+0x40 } // Range: 0x804B7680 -> 0x804B7970 unsigned char RndMesh::MakeWorldSphere(class RndMesh * const this /* r29 */, class Sphere & s /* r30 */) { // Local variables class Box b; // r1+0x50 const class Transform & w; // r0 class Vert * v; // r31 class Vector3 p; // r1+0x40 class Vector3 v2; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; class Polygon { // total size: 0xC public: class vector points; // offset 0x0, size 0xC }; class BSPFace { // total size: 0x60 public: class Polygon p; // offset 0x0, size 0xC class Transform t; // offset 0x10, size 0x40 float area; // offset 0x50, size 0x4 class list planes; // offset 0x54, size 0x8 }; // Range: 0x804B7970 -> 0x804B874C void RndMesh::SetVolume(class RndMesh * const this /* r28 */, enum Volume c /* r25 */) { // Local variables class Box b; // r1+0xD0 class Vert * v; // r25 class BSPNode * n; // r25 int i; // r26 class Vector3 v; // r1+0xA0 class list faces; // r1+0x90 int i; // r29 class BSPFace t; // r1+0xF0 class Box b; // r1+0xB0 class Vert * v; // r25 int num; // r1+0x5C int maxDepth; // r1+0x58 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node<5Plane>; // -> struct [anonymous] __RTTI__P7Vector2; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node<7BSPFace>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0x70 public: class BSPFace _M_data; // offset 0x10, size 0x60 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Vector2 * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Vector2 * _M_start; // offset 0x0, size 0x4 class Vector2 * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0x20 public: class Plane _M_data; // offset 0x10, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; struct { // total size: 0x8 } __RTTI__P7Vector2; // size: 0x8, address: 0x808FA360 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std18_List_node<5Plane>; // size: 0x8, address: 0x808FA390 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std20_List_node<7BSPFace>; // size: 0x8, address: 0x808FA3C0 // Range: 0x804B874C -> 0x804B87B4 void RndMesh::SetMat(class RndMesh * const this /* r30 */, class RndMat * m /* r31 */) {} // Range: 0x804B87B4 -> 0x804B8904 void RndMesh::SetBone(class RndMesh * const this /* r27 */, class RndTransformable * bone /* r28 */, unsigned char calcOffset /* r29 */) { // Local variables class Transform t; // r1+0x20 } // Range: 0x804B8904 -> 0x804B8AC0 void * RndMesh::RndMesh(class RndMesh * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__7RndMesh; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x804B8AC0 -> 0x804B8FE8 void * RndMesh::~RndMesh(class RndMesh * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__7RndMesh; } // Range: 0x804B8FE8 -> 0x804B9174 void VertVector::resize(class VertVector * const this /* r27 */, int n /* r1+0x8 */) { // Local variables class Vert * old; // r31 class Vert * in; // r30 class Vert * end; // r29 class Vert * out; // r3 } // Range: 0x804B9174 -> 0x804B92BC void VertVector::__as(class VertVector * const this /* r29 */, const class VertVector & c /* r30 */) { // Local variables class Vert * in; // r4 class Vert * out; // r5 class Vert * end; // r6 } // Range: 0x804B92BC -> 0x804B9344 class BinStream & __rs(class BinStream & d /* r29 */, class VertVector & c /* r30 */) { // Local variables unsigned int s; // r1+0x8 class Vert * t; // r31 } // Range: 0x804B9344 -> 0x804B939C unsigned char RndMesh::CacheStrips() { // References // -> class LoadMgr TheLoadMgr; } static int MESH_REV; // size: 0x4, address: 0x80A47274 // Range: 0x804B939C -> 0x804B93E0 void RndMesh::Save() { // References // -> class Debug TheDebug; } // Range: 0x804B93E0 -> 0x804B9BE4 void RndMesh::Load(class RndMesh * const this /* r25 */, class BinStream & d /* r26 */) { // Local variables unsigned char * p; // r24 struct STRIPERRESULT s; // r1+0x30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std27_List_node<13STRIPERRESULT>; // -> unsigned char gStlAllocNameLookup; // -> const char * kAssertStr; // -> class list sStriperResults; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> static int MESH_REV; // -> static int gRev; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std27_List_node<13STRIPERRESULT>; // size: 0x8, address: 0x808FA4C0 // Range: 0x804B9BE4 -> 0x804B9C80 void RndMesh::SetZeroWeightBones() { // Local variables int i; // r5 } // Range: 0x804B9C80 -> 0x804B9EB4 class BinStream & __rs(class BinStream & d /* r30 */, class Vert & c /* r31 */) { // Local variables float w1; // r1+0x14 float w2; // r1+0x10 class Vector2 t2; // r1+0x18 class Vector4 tng; // r1+0x20 // References // -> static int gRev; } // Range: 0x804B9EB4 -> 0x804BA3D4 void RndMesh::Copy(class RndMesh * const this /* r26 */, const class Object * o /* r25 */, enum CopyType type /* r27 */) { // Local variables const class RndMesh * m; // r0 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x804BA3D4 -> 0x804BA4E8 void RndMesh::Replace(class RndMesh * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) { // Local variables class RndMesh * toMesh; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x804BA4E8 -> 0x804BA594 class BinStream & __rs(class BinStream & d /* r30 */, class Face & c /* r31 */) { // Local variables class Vector3 n; // r1+0x10 // References // -> static int gRev; } // Range: 0x804BA594 -> 0x804BA5E8 static int FindPatchVert() { // Local variables int i; // r4 // References // -> static class vector gPatchVerts; } // Range: 0x804BA5E8 -> 0x804BA6E8 static void FaceCenter(class RndMesh * mesh /* r27 */, class Face * face /* r28 */, class Vector3 & center /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BA6E8 -> 0x804BA74C unsigned char RndMesh::PatchOkay() {} // Range: 0x804BA74C -> 0x804BA804 void RndMesh::Mats(class RndMesh * const this /* r31 */, class list & mats /* r30 */) { // Local variables struct MatShaderOptions opts; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } static class Symbol _s; // size: 0x4, address: 0x80A531C8 static class Symbol _s; // size: 0x4, address: 0x80A531D0 static class Symbol _s; // size: 0x4, address: 0x80A531D8 static class Symbol _s; // size: 0x4, address: 0x80A531E0 static class Symbol _s; // size: 0x4, address: 0x80A531E8 static class Symbol _s; // size: 0x4, address: 0x80A531F0 static class Symbol _s; // size: 0x4, address: 0x80A531F8 static class Symbol _s; // size: 0x4, address: 0x80A53200 static class Symbol _s; // size: 0x4, address: 0x80A53208 static class Symbol _s; // size: 0x4, address: 0x80A53210 static class Symbol _s; // size: 0x4, address: 0x80A53218 static class Symbol _s; // size: 0x4, address: 0x80A53220 static class Symbol _s; // size: 0x4, address: 0x80A53228 static class Symbol _s; // size: 0x4, address: 0x80A53230 // Range: 0x804BA804 -> 0x804BB16C class DataNode RndMesh::Handle(class RndMesh * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x14 class MessageTimer _mt; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 class DataNode _n; // r1+0x20 class DataNode _n; // r1+0x18 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x804BB16C -> 0x804BB350 class DataNode RndMesh::OnPointCollide(class RndMesh * const this /* r29 */, const class DataArray * a /* r31 */) { // Local variables class Vector3 v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BB350 -> 0x804BBEB4 class DataNode RndMesh::OnCompareEdgeVerts(class RndMesh * const this /* r26 */, const class DataArray * a /* r27 */) { // Local variables class vector sharedVerts; // r1+0xFC class list edgeVerts; // r1+0xE8 class vector connectVerts; // r1+0xF0 int i; // r29 int j; // r30 class Face * f; // r29 int v1; // r30 int v2; // r31 int v3; // r28 struct _List_iterator j; // r1+0xA8 int matches; // r9 struct _List_iterator k; // r1+0xA4 struct _List_iterator l; // r1+0xA0 struct _List_iterator j; // r1+0x9C // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std40list>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BBEB4 -> 0x804BBEC8 class DataNode RndMesh::OnNumVerts() {} // Range: 0x804BBEF0 -> 0x804BBF20 class DataNode RndMesh::OnNumFaces() {} // Range: 0x804BBF20 -> 0x804BBFA0 class DataNode RndMesh::OnVolume(class RndMesh * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BBFA0 -> 0x804BC00C class DataNode RndMesh::OnSetVolume(class RndMesh * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804BC00C -> 0x804BC020 class DataNode RndMesh::OnMat() {} // Range: 0x804BC020 -> 0x804BC0A8 class DataNode RndMesh::OnSetMat(class RndMesh * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x804BC0A8 -> 0x804BC238 class DataNode RndMesh::OnResizeFaces(class RndMesh * const this /* r31 */, const class DataArray * a /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BC238 -> 0x804BC2DC class DataNode RndMesh::OnSetMutable(class RndMesh * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BC2DC -> 0x804BC438 class DataNode RndMesh::OnUnitizeNormals(class RndMesh * const this /* r30 */) { // Local variables class Vert * v; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BC438 -> 0x804BC4E0 unsigned char RndMesh::SyncProperty(class RndMesh * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xFC } __vt__7RndMesh; // size: 0xFC, address: 0x808FA6C0 struct { // total size: 0x18 } __vt__32ObjOwnerPtr<7RndMesh,9ObjectDir>; // size: 0x18, address: 0x808FA800 struct { // total size: 0x8 } __RTTI__32ObjOwnerPtr<7RndMesh,9ObjectDir>; // size: 0x8, address: 0x808FA848 struct { // total size: 0x8 } __RTTI__PUs; // size: 0x8, address: 0x808FAA70 struct { // total size: 0x8 } __RTTI__P7RndBone; // size: 0x8, address: 0x808FAAB8 // Range: 0x804BC4E0 -> 0x804BC56C static void __sinit_\Mesh_cpp() { // References // -> static class vector gPatchVerts; // -> class list sStriperResults; } class _List_node : public _List_node_base { // total size: 0x18 public: struct STRIPERRESULT _M_data; // offset 0x8, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: unsigned short * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: unsigned short * _M_start; // offset 0x0, size 0x4 unsigned short * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BC56C -> 0x804BCD54 */ // Range: 0x804BC56C -> 0x804BC7B0 void ObjVector::resize(class ObjVector * const this /* r28 */, unsigned long s /* r6 */) { // Local variables class vector * a; // [invalid] // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x804BC7B0 -> 0x804BC828 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndMesh,9ObjectDir>; } // Range: 0x804BC828 -> 0x804BCB64 class BinStream & __rs(class BinStream & d /* r27 */, class ObjVector & c /* r28 */) { // Local variables unsigned int s; // r1+0x20 class RndBone * t; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x804BCB64 -> 0x804BCD08 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x804BCD08 -> 0x804BCD10 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804BCD10 -> 0x804BCD54 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\math\Geo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BCD54 -> 0x804BCFD8 */ // Range: 0x804BCD54 -> 0x804BCFD8 void * BSPNode::~BSPNode(class BSPNode * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BCFD8 -> 0x804BDED8 */ // Range: 0x804BCFD8 -> 0x804BD07C void RndMesh::SetGeomOwner(class RndMesh * const this /* r30 */, class RndMesh * m /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BD07C -> 0x804BD124 static class BinStream & __rs(class BinStream & d /* r30 */, struct STRIPERRESULT & sr /* r31 */) { // Local variables int n; // r1+0x8 } // Range: 0x804BD124 -> 0x804BD258 void RndMesh::CreateStrip(class Striper & striper /* r29 */, struct STRIPERRESULT & sr /* r30 */) { // Local variables struct STRIPERCREATE sc; // r1+0x8 int i; // r6 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804BD258 -> 0x804BD2D8 static class TextStream & __ls(class TextStream & d /* r31 */) {} // Range: 0x804BD2D8 -> 0x804BD3F8 void RndMesh::Print(class RndMesh * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x804BD3F8 -> 0x804BDD90 void RndMesh::Sync(class RndMesh * const this /* r28 */, int flags /* r25 */) { // Local variables int faces; // r31 unsigned short hiVert; // r1+0x70 unsigned short loVert; // r1+0x6E class Face * f; // r30 class vector newFaces; // r1+0xC0 class Vector3 centroid; // r1+0xB0 int patchFaces; // r30 class Face * bestFace; // r31 int bestNewVerts; // r26 float bestDistance; // f31 class Face * face; // r25 int newVerts; // r27 class Vector3 p; // r1+0xA0 class Vector3 p; // r1+0x90 float distance; // f0 int i; // r29 unsigned short * j; // r5 // References // -> static class vector gPatchVerts; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BDED8 -> 0x804BDF8C */ // Range: 0x804BDED8 -> 0x804BDF30 void * list::~list(class list * const this /* r30 */) {} // Range: 0x804BDF30 -> 0x804BDF34 class StlNodeAlloc _List_base::get_allocator() {} // Range: 0x804BDF34 -> 0x804BDF8C void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BDF8C -> 0x804BE0D0 */ // Range: 0x804BE04C -> 0x804BE050 class StlNodeAlloc vector::get_allocator() {} // Range: 0x804BE050 -> 0x804BE0D0 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\rndobj\Mesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BE0D0 -> 0x804BE33C */ // Range: 0x804BE0D0 -> 0x804BE12C void * Vert::Vert() {} // Range: 0x804BE12C -> 0x804BE170 class Symbol RndMesh::ClassName() { // References // -> class Symbol name; } // Range: 0x804BE170 -> 0x804BE198 int RndMesh::NumBones() {} // Range: 0x804BE198 -> 0x804BE33C void RndMesh::SetType(class RndMesh * const this /* r29 */, class Symbol & RndMesh /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BE33C -> 0x804BE488 */ // Range: 0x804BE33C -> 0x804BE488 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Face * t; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BE488 -> 0x804BEB64 */ // Range: 0x804BE488 -> 0x804BE834 void _S_sort(class list & __that /* r28 */, struct less & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x804BE834 -> 0x804BE900 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x804BE900 -> 0x804BE9A8 void _S_unique() { // Local variables struct _List_iterator __first; // r1+0x20 struct _List_iterator __last; // r1+0x1C struct _List_iterator __next; // r1+0x18 } // Range: 0x804BE9A8 -> 0x804BEAA4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x804BEAA4 -> 0x804BEB04 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x804BEB04 -> 0x804BEB64 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BEB64 -> 0x804BFDB4 */ // Range: 0x804BEB64 -> 0x804BECA0 void vector::_M_insert_overflow(class vector * const this /* r27 */, unsigned short * __pos /* r28 */, const unsigned short & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 unsigned short * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUs; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804BECA0 -> 0x804BF248 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7RndBone; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804BF248 -> 0x804BF2C8 void vector::_M_fill_insert() {} // Range: 0x804BF2C8 -> 0x804BF718 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class RndBone * __pos /* r26 */, const class RndBone & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class RndBone * __new_finish; // r29 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7RndBone; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804BF718 -> 0x804BFDB4 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, class RndBone * __pos /* r26 */, unsigned long __n /* r31 */, const class RndBone & __x /* r27 */) { // Local variables class RndBone __x_copy; // r1+0x30 unsigned long __elems_after; // r28 class RndBone * __old_finish; // r0 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\rndobj\MeshAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804BFDB4 -> 0x804C17C0 */ class DataArray * types; // size: 0x4, address: 0x80A53238 class Symbol name; // size: 0x4, address: 0x80A53240 class Keys : public vector { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class Keys : public vector { // total size: 0xC }; class RndMeshAnim : public RndAnimatable { // total size: 0x78 protected: class ObjPtr mMesh; // offset 0x10, size 0xC class Keys mVertPointsKeys; // offset 0x1C, size 0xC class Keys mVertTexsKeys; // offset 0x28, size 0xC class Keys mVertColorsKeys; // offset 0x34, size 0xC class ObjOwnerPtr mKeysOwner; // offset 0x40, size 0xC }; // Range: 0x804BFDB4 -> 0x804BFEBC void * RndMeshAnim::RndMeshAnim(class RndMeshAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjOwnerPtr<11RndMeshAnim,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__11RndMeshAnim; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndMeshAnim * mPtr; // offset 0x8, size 0x4 }; // Range: 0x804BFEBC -> 0x804BFFA4 void RndMeshAnim::Replace(class RndMeshAnim * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndMeshAnim; } static int MESHANIM_REV; // size: 0x4, address: 0x80A47288 // Range: 0x804BFFA4 -> 0x804BFFE8 void RndMeshAnim::Save() { // References // -> class Debug TheDebug; } // Range: 0x804BFFE8 -> 0x804C0138 void RndMeshAnim::Load(class RndMeshAnim * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int MESHANIM_REV; } // Range: 0x804C0138 -> 0x804C02DC float RndMeshAnim::EndFrame(class RndMeshAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804C02DC -> 0x804C0580 static void InterpVerts(const class vector & a /* r29 */, const class vector & b /* r30 */, float r /* f30 */, class VertVector & c /* r31 */, float blend /* f31 */) { // Local variables const class Vector2 * pa; // r4 const class Vector2 * pb; // r5 const class Vector2 * aEnd; // r6 class Vert * pc; // r7 class Vector2 t; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804C0580 -> 0x804C0924 static void InterpVerts(const class vector & a /* r29 */, const class vector & b /* r30 */, float r /* f30 */, class VertVector & c /* r31 */, float blend /* f31 */) { // Local variables const class Color * pa; // r4 const class Color * pb; // r5 const class Color * aEnd; // r6 class Vert * pc; // r7 class Color c; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class DebugWarner _dw; // size: 0x100, address: 0x809802D0 // Range: 0x804C0924 -> 0x804C1324 void RndMeshAnim::SetFrame(class RndMeshAnim * const this /* r30 */, float frame /* f30 */, float blend /* f31 */) { // Local variables int sync; // r31 const class vector * prev; // r23 const class vector * next; // r22 float r; // f29 const class vector * prev; // r22 const class vector * next; // r23 float r; // f29 const class vector * prev; // r22 const class vector * next; // r23 float r; // f29 // References // -> static class DebugWarner _dw; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804C1324 -> 0x804C1328 void RndMeshAnim::SetKey() {} // Range: 0x804C1328 -> 0x804C1714 class DataNode RndMeshAnim::Handle(class RndMeshAnim * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x804C1714 -> 0x804C1794 unsigned char RndMeshAnim::SyncProperty(class RndMeshAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA8 } __vt__11RndMeshAnim; // size: 0xA8, address: 0x808FAD60 struct { // total size: 0x8 } __RTTI__11RndMeshAnim; // size: 0x8, address: 0x808FAE30 struct { // total size: 0x18 } __vt__37ObjOwnerPtr<11RndMeshAnim,9ObjectDir>; // size: 0x18, address: 0x808FAE38 struct { // total size: 0x8 } __RTTI__37ObjOwnerPtr<11RndMeshAnim,9ObjectDir>; // size: 0x8, address: 0x808FAE80 // Range: 0x804C1794 -> 0x804C17C0 void _Vector_base::_M_throw_out_of_range() {} struct { // total size: 0x8 } __RTTI__P78Key>>; // size: 0x8, address: 0x808FB070 struct { // total size: 0x8 } __RTTI__P78Key>>; // size: 0x8, address: 0x808FB0C0 struct { // total size: 0x8 } __RTTI__P86Key>>; // size: 0x8, address: 0x808FB118 class Key { // total size: 0x10 public: class vector value; // offset 0x0, size 0xC float frame; // offset 0xC, size 0x4 }; class Key { // total size: 0x10 public: class vector value; // offset 0x0, size 0xC float frame; // offset 0xC, size 0x4 }; class Key { // total size: 0x10 public: class vector value; // offset 0x0, size 0xC float frame; // offset 0xC, size 0x4 }; /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C17C0 -> 0x804C1A18 */ // Range: 0x804C17C0 -> 0x804C1834 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjOwnerPtr<11RndMeshAnim,9ObjectDir>; } // Range: 0x804C1834 -> 0x804C19CC class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndMeshAnim; } // Range: 0x804C19CC -> 0x804C19D4 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804C19D4 -> 0x804C1A18 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C1A18 -> 0x804C2708 */ // Range: 0x804C1A18 -> 0x804C1C84 void RndMeshAnim::Copy(class RndMeshAnim * const this /* r31 */, const class Object * o /* r29 */, enum CopyType type /* r28 */) { // Local variables const class RndMeshAnim * m; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndMeshAnim; } // Range: 0x804C1C84 -> 0x804C1DB4 void RndMeshAnim::Print(class RndMeshAnim * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x804C1DB4 -> 0x804C1E68 class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804C1E68 -> 0x804C1ED0 class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} // Range: 0x804C1ED0 -> 0x804C2348 static void InterpVerts(const class vector & a /* r29 */, const class vector & b /* r30 */, float r /* f30 */, class VertVector & c /* r31 */, float blend /* f31 */) { // Local variables const class Vector3 * pa; // r4 const class Vector3 * pb; // r5 class Vert * pc; // r6 const class Vector3 * aEnd; // r7 class Vector3 v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C2708 -> 0x804C270C */ // Range: 0x804C2708 -> 0x804C270C class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\rndobj\MeshAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C270C -> 0x804C28FC */ // Range: 0x804C270C -> 0x804C2750 class Symbol RndMeshAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x804C2750 -> 0x804C28E4 void RndMeshAnim::SetType(class RndMeshAnim * const this /* r29 */, class Symbol & RndMeshAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804C28E4 -> 0x804C28FC class Object * RndMeshAnim::AnimTarget() {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C28FC -> 0x804C3508 */ // Range: 0x804C28FC -> 0x804C2C20 class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x5C class Key * t; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector3; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C2C20 -> 0x804C2D84 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 class Vector3 * t; // r29 } // Range: 0x804C2D84 -> 0x804C30A0 class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x5C class Key * t; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector2; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C30A0 -> 0x804C31DC class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Vector2 * t; // r29 } // Range: 0x804C31DC -> 0x804C3508 class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x5C class Key * t; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ23Hmx5Color; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C3508 -> 0x804C36B0 */ // Range: 0x804C3508 -> 0x804C3550 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804C3550 -> 0x804C3598 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804C3598 -> 0x804C35E0 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804C35E0 -> 0x804C3648 class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} // Range: 0x804C3648 -> 0x804C36B0 class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\TextStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C36B0 -> 0x804C3A34 */ // Range: 0x804C36B0 -> 0x804C3764 class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Color * t; // r31 } // Range: 0x804C3764 -> 0x804C3818 class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804C3818 -> 0x804C38CC class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Vector2 * t; // r31 } // Range: 0x804C38CC -> 0x804C3980 class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804C3980 -> 0x804C3A34 class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Vector3 * t; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C3A34 -> 0x804C7074 */ // Range: 0x804C3A34 -> 0x804C3F0C class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __RTTI__PQ23Hmx5Color; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P86Key>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C3F0C -> 0x804C3F7C void vector::_M_fill_insert() {} // Range: 0x804C3F7C -> 0x804C4434 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __RTTI__P7Vector2; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P78Key>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C4434 -> 0x804C44A4 void vector::_M_fill_insert() {} // Range: 0x804C44A4 -> 0x804C496C class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __RTTI__P7Vector3; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P78Key>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C496C -> 0x804C49DC void vector::_M_fill_insert() {} // Range: 0x804C49DC -> 0x804C4BC8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Vector2 * __pos /* r26 */, const class Vector2 & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Vector2 * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector2; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C4BC8 -> 0x804C4E3C class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector2; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C4E3C -> 0x804C4EAC void vector::_M_fill_insert() {} // Range: 0x804C4EAC -> 0x804C4ED8 void _Vector_base::_M_throw_out_of_range() {} // Range: 0x804C4ED8 -> 0x804C4F04 void _Vector_base::_M_throw_out_of_range() {} // Range: 0x804C4F04 -> 0x804C5438 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class Key * __pos /* r25 */, const class Key & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 class Key * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__PQ23Hmx5Color; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P86Key>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C5438 -> 0x804C5984 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, unsigned long __n /* r27 */, const class Key & __x /* r28 */) { // Local variables class Key __x_copy; // r1+0x50 unsigned long __elems_after; // r29 class Key * __old_finish; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ23Hmx5Color; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C5984 -> 0x804C5E78 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class Key * __pos /* r25 */, const class Key & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 class Key * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__P7Vector2; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P78Key>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C5E78 -> 0x804C6384 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, unsigned long __n /* r27 */, const class Key & __x /* r28 */) { // Local variables class Key __x_copy; // r1+0x50 unsigned long __elems_after; // r29 class Key * __old_finish; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector2; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C6384 -> 0x804C6898 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class Key * __pos /* r25 */, const class Key & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r29 class Key * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__P7Vector3; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P78Key>>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C6898 -> 0x804C6DC4 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, unsigned long __n /* r27 */, const class Key & __x /* r28 */) { // Local variables class Key __x_copy; // r1+0x50 unsigned long __elems_after; // r29 class Key * __old_finish; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector3; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804C6DC4 -> 0x804C6FAC void vector::_M_fill_insert_aux() { // Local variables class Vector2 __x_copy; // r1+0x20 unsigned long __elems_after; // r8 class Vector2 * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\MeshDeform.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C7074 -> 0x804C9C28 */ class DataArray * types; // size: 0x4, address: 0x80A53248 class Symbol name; // size: 0x4, address: 0x80A53250 // Range: 0x804C7074 -> 0x804C7124 void BoneDesc::ExportWorldXfm(struct BoneDesc * const this /* r29 */, class Transform & t /* r30 */) { // Local variables class RndTransformable * exo; // r31 } // Range: 0x804C7124 -> 0x804C71A4 void * RndMeshDeform::RndMeshDeform(class RndMeshDeform * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__13RndMeshDeform; } // Range: 0x804C71A4 -> 0x804C731C void * RndMeshDeform::~RndMeshDeform(class RndMeshDeform * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__13RndMeshDeform; } // Range: 0x804C731C -> 0x804C764C void RndMeshDeform::SetNumBones(int bones /* r6 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } // Range: 0x804C764C -> 0x804C76F8 void RndMeshDeform::SetMutable(class RndMeshDeform * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804C76F8 -> 0x804C79F8 void RndMeshDeform::SetMutableAll() { // Local variables class ObjDirItr d; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndMeshDeform; } // Range: 0x804C79F8 -> 0x804C7AA8 void RndMeshDeform::Replace(class RndMeshDeform * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } static class RndMeshDeform * last; // size: 0x4, address: 0x80A53254 // Range: 0x804C7AA8 -> 0x804C84E8 void RndMeshDeform::Reskin(class RndMeshDeform * const this /* r28 */, class SyncMeshCB * cb /* r26 */, unsigned char force /* r25 */) { // Local variables class Transform offsets[64]; // r1+0xD0 int i; // r26 class Transform t; // r1+0x90 int i; // r29 class Transform trans; // r1+0x50 float * weights; // r3 int j; // r4 class Vector3 a; // r1+0x40 class Vector3 b; // r1+0x30 class Vector3 & n; // r0 class Vector3 tmp; // r1+0x20 class Vector3 & ndst; // r0 // References // -> static class RndMeshDeform * last; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804C84E8 -> 0x804C8808 void RndMeshDeform::ReskinAll(class SyncMeshCB * cb /* r30 */, unsigned char force /* r31 */) { // Local variables class ObjDirItr d; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndMeshDeform; } // Range: 0x804C8808 -> 0x804C8CF4 void RndMeshDeform::Copy(class RndMeshDeform * const this /* r26 */, const class Object * o /* r25 */) { // Local variables const class RndMeshDeform * f; // r0 int size; // r25 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndMeshDeform; } static int MESHDEFORM_REV; // size: 0x4, address: 0x80A53258 // Range: 0x804C8CF4 -> 0x804C8EAC void __rs(class BinStream & d /* r30 */, struct BoneDesc & b /* r31 */) {} // Range: 0x804C8EAC -> 0x804C8EF0 void RndMeshDeform::Save() { // References // -> class Debug TheDebug; } // Range: 0x804C8EF0 -> 0x804C9194 void RndMeshDeform::Print(class RndMeshDeform * const this /* r29 */) { // Local variables int i; // r30 int i; // r30 float * weights; // r26 int k; // r27 // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A5325C // Range: 0x804C9194 -> 0x804C9574 void RndMeshDeform::Load(class RndMeshDeform * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int bones; // r1+0x14 int i; // r31 float * weights; // r28 int k; // r27 // References // -> class Debug TheDebug; // -> static int MESHDEFORM_REV; // -> static int gRev; } static class Symbol _s; // size: 0x4, address: 0x80A53264 // Range: 0x804C9574 -> 0x804C9918 class DataNode RndMeshDeform::Handle(class RndMeshDeform * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A5326C static class Symbol _s; // size: 0x4, address: 0x80A53274 // Range: 0x804C9918 -> 0x804C9ADC unsigned char RndMeshDeform::SyncProperty(class RndMeshDeform * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x804C9ADC -> 0x804C9C28 unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x54 } __vt__13RndMeshDeform; // size: 0x54, address: 0x808FB3DC struct { // total size: 0x8 } __RTTI__PQ213RndMeshDeform8BoneDesc; // size: 0x8, address: 0x808FB640 /* Compile unit: C:\rockband2\system\src\rndobj\MeshDeform.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C9C28 -> 0x804C9E68 */ // Range: 0x804C9C28 -> 0x804C9CA4 unsigned char RndMeshDeform::IsExoBone(class RndTransformable * exo /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804C9CA4 -> 0x804C9CE8 class Symbol RndMeshDeform::ClassName() { // References // -> class Symbol name; } // Range: 0x804C9CE8 -> 0x804C9E68 void RndMeshDeform::SetType(class RndMeshDeform * const this /* r29 */, class Symbol & RndMeshDeform /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804C9E68 -> 0x804CB83C */ // Range: 0x804C9E68 -> 0x804CA650 class vector & vector::__as(class vector * const this /* r25 */, const class vector & __x /* r26 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213RndMeshDeform8BoneDesc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804CA650 -> 0x804CA6D0 void vector::_M_fill_insert() {} // Range: 0x804CA6D0 -> 0x804CADA0 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct BoneDesc * __pos /* r25 */, const struct BoneDesc & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r29 struct BoneDesc * __new_finish; // r28 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213RndMeshDeform8BoneDesc; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804CADA0 -> 0x804CB83C void vector::_M_fill_insert_aux(class vector * const this /* r24 */, struct BoneDesc * __pos /* r25 */, unsigned long __n /* r26 */, const struct BoneDesc & __x /* r27 */) { // Local variables struct BoneDesc __x_copy; // r1+0x30 unsigned long __elems_after; // r28 struct BoneDesc * __old_finish; // r0 // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\rndobj\Morph.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CB83C -> 0x804CD884 */ class DataArray * types; // size: 0x4, address: 0x80A53278 class Symbol name; // size: 0x4, address: 0x80A53280 class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class RndMorph : public RndAnimatable { // total size: 0x60 protected: class ObjVector mPoses; // offset 0x10, size 0x10 class ObjPtr mTarget; // offset 0x20, size 0xC unsigned char mNormals; // offset 0x2C, size 0x1 unsigned char mSpline; // offset 0x2D, size 0x1 float mIntensity; // offset 0x30, size 0x4 }; // Range: 0x804CB83C -> 0x804CB920 void * RndMorph::RndMorph(class RndMorph * const this /* r31 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__8RndMorph; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Pose * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Pose * _M_start; // offset 0x0, size 0x4 struct Pose * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x804CB920 -> 0x804CBBE0 float RndMorph::InterpWeight(class RndMorph * const this /* r23 */, const class Keys & weightKeys /* r24 */, float frame /* f31 */) { // Local variables const float * prev; // r26 const float * next; // r25 float r; // f2 float d; // f3 float a; // f4 float b; // f0 } struct iterator { // total size: 0x1 }; class reverse_iterator : public iterator { // total size: 0x4 protected: struct Pose * current; // offset 0x0, size 0x4 }; // Range: 0x804CBBE0 -> 0x804CC0E4 void RndMorph::SetFrame(class RndMorph * const this /* r28 */, float frame /* f28 */, float blend /* f29 */) { // Local variables unsigned char init; // r30 float refWeight; // f31 float weight; // f30 class Vert * in; // r29 class Vert * out; // r26 class Vert * in_end; // r0 class Vert * out_end; // r0 class reverse_iterator pose; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static int MORPH_REV; // size: 0x4, address: 0x80A472C8 // Range: 0x804CC0E4 -> 0x804CC128 void RndMorph::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A53284 class Keys : public vector { // total size: 0xC }; // Range: 0x804CC128 -> 0x804CC304 class BinStream & __rs(class BinStream & d /* r30 */, struct Pose & c /* r31 */) { // Local variables class Keys weightKeys; // r1+0x38 class Key * in; // r4 class Key * out; // r5 // References // -> static int gRev; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Key * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Key * _M_start; // offset 0x0, size 0x4 class Key * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x804CC304 -> 0x804CC464 void RndMorph::Load(class RndMorph * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int MORPH_REV; // -> static int gRev; } static class Symbol _s; // size: 0x4, address: 0x80A5328C static class Symbol _s; // size: 0x4, address: 0x80A53294 static class Symbol _s; // size: 0x4, address: 0x80A5329C static class Symbol _s; // size: 0x4, address: 0x80A532A4 static class Symbol _s; // size: 0x4, address: 0x80A532AC static class Symbol _s; // size: 0x4, address: 0x80A532B4 // Range: 0x804CC464 -> 0x804CD260 class DataNode RndMorph::Handle(class RndMorph * const this /* r30 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r28 */) { // Local variables class Symbol _type; // r1+0x74 class MessageTimer _mt; // r1+0xC8 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode _n; // r1+0x80 class DataNode _n; // r1+0x78 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804CD260 -> 0x804CD2C4 class DataNode RndMorph::OnSetIntensity(class RndMorph * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804CD2C4 -> 0x804CD384 class DataNode RndMorph::OnSetTarget(class RndMorph * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x804CD384 -> 0x804CD69C class DataNode RndMorph::OnSetPoseWeight(class RndMorph * const this /* r29 */, const class DataArray * a /* r27 */) { // Local variables class Keys & keys; // r29 float frame; // f0 float value; // f0 class Key * i; // r3 } // Range: 0x804CD69C -> 0x804CD71C class DataNode RndMorph::OnPoseMesh(class RndMorph * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804CD71C -> 0x804CD804 class DataNode RndMorph::OnSetPoseMesh(class RndMorph * const this /* r29 */, const class DataArray * a /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } // Range: 0x804CD804 -> 0x804CD884 unsigned char RndMorph::SyncProperty(class RndMorph * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA4 } __vt__8RndMorph; // size: 0xA4, address: 0x808FB88C struct { // total size: 0x8 } __RTTI__8RndMorph; // size: 0x8, address: 0x808FB958 struct { // total size: 0x8 } __RTTI__PQ28RndMorph4Pose; // size: 0x8, address: 0x808FBB30 struct Weight { // total size: 0xC float weight; // offset 0x0, size 0x4 float derivIn; // offset 0x4, size 0x4 float derivOut; // offset 0x8, size 0x4 }; class Key { // total size: 0x10 public: struct Weight value; // offset 0x0, size 0xC float frame; // offset 0xC, size 0x4 }; struct Pose { // total size: 0x18 class ObjPtr mesh; // offset 0x0, size 0xC class Keys weightKeys; // offset 0xC, size 0xC }; struct { // total size: 0x8 } __RTTI__P12Key<6Weight>; // size: 0x8, address: 0x808FBB48 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CD884 -> 0x804CDB68 */ // Range: 0x804CD884 -> 0x804CDB68 class BinStream & __rs(class BinStream & d /* r27 */, class ObjVector & c /* r28 */) { // Local variables unsigned int s; // r1+0x40 struct Pose * t; // r26 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CDE20 -> 0x804CDE24 */ // Range: 0x804CDE20 -> 0x804CDE24 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\rndobj\Morph.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CDE24 -> 0x804CE564 */ // Range: 0x804CDE24 -> 0x804CE1E4 void RndMorph::Copy(class RndMorph * const this /* r26 */, const class Object * o /* r27 */, enum CopyType type /* r25 */) { // Local variables const class RndMorph * f; // r0 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndMorph; } // Range: 0x804CE1E4 -> 0x804CE28C static class TextStream & __ls(class TextStream & d /* r28 */, const struct Pose & c /* r29 */) {} // Range: 0x804CE28C -> 0x804CE38C void RndMorph::Print(class RndMorph * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x804CE38C -> 0x804CE3D0 class Symbol RndMorph::ClassName() { // References // -> class Symbol name; } // Range: 0x804CE3D0 -> 0x804CE564 void RndMorph::SetType(class RndMorph * const this /* r29 */, class Symbol & RndMorph /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\TextStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CE564 -> 0x804CE638 */ // Range: 0x804CE564 -> 0x804CE638 class TextStream & __ls(class TextStream & d /* r30 */, const class vector & c /* r31 */) { // Local variables const struct Pose * t; // r29 } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CE638 -> 0x804CE790 */ // Range: 0x804CE638 -> 0x804CE790 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Key * t; // r29 } /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CE790 -> 0x804CE800 */ // Range: 0x804CE790 -> 0x804CE800 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804CE800 -> 0x804D0078 */ // Range: 0x804CE800 -> 0x804CE870 void vector::_M_fill_insert() {} // Range: 0x804CE870 -> 0x804CEEBC class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r30 */) { // References // -> struct [anonymous] __RTTI__P6Key; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28RndMorph4Pose; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804CEEBC -> 0x804CEF3C void vector::_M_fill_insert() {} // Range: 0x804CEF3C -> 0x804CF168 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12Key<6Weight>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804CF168 -> 0x804CF3C0 void vector::_M_fill_insert_aux() { // Local variables class Key __x_copy; // r1+0x20 unsigned long __elems_after; // r10 class Key * __old_finish; // r0 } // Range: 0x804CF3C0 -> 0x804CF9BC void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct Pose * __pos /* r25 */, const struct Pose & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r29 */) { // Local variables unsigned long __old_size; // r1+0x68 unsigned long __len; // r28 struct Pose * __new_finish; // r27 // References // -> struct [anonymous] __RTTI__P6Key; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28RndMorph4Pose; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804CF9BC -> 0x804D0078 void vector::_M_fill_insert_aux(class vector * const this /* r24 */, struct Pose * __pos /* r25 */, unsigned long __n /* r26 */, const struct Pose & __x /* r27 */) { // Local variables struct Pose __x_copy; // r1+0x50 unsigned long __elems_after; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Key; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\rndobj\Movie.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D0078 -> 0x804D0DFC */ class DataArray * types; // size: 0x4, address: 0x80A532B8 class Symbol name; // size: 0x4, address: 0x80A532C0 // Range: 0x804D0078 -> 0x804D0158 void * RndMovie::RndMovie(class RndMovie * const this /* r29 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__8RndMovie; } static int MOVIE_REV; // size: 0x4, address: 0x80A472D0 // Range: 0x804D0158 -> 0x804D019C void RndMovie::Save() { // References // -> class Debug TheDebug; } // Range: 0x804D019C -> 0x804D01F8 void RndMovie::Load(class RndMovie * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A532C4 // Range: 0x804D01F8 -> 0x804D0370 void RndMovie::PreLoad(class RndMovie * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> class Debug TheDebug; // -> static int MOVIE_REV; // -> static int gRev; } // Range: 0x804D0370 -> 0x804D03FC void RndMovie::PostLoad(class RndMovie * const this /* r31 */) { // References // -> static int gRev; } // Range: 0x804D03FC -> 0x804D0514 void RndMovie::Copy(class RndMovie * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class RndMovie * t; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndMovie; } // Range: 0x804D0514 -> 0x804D0580 void RndMovie::Replace(class RndMovie * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } // Range: 0x804D0580 -> 0x804D05E8 void RndMovie::SetTex(class RndMovie * const this /* r30 */, class RndTex * tex /* r31 */) {} // Range: 0x804D05E8 -> 0x804D09D4 class DataNode RndMovie::Handle(class RndMovie * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A532CC static class Symbol _s; // size: 0x4, address: 0x80A532D4 static class Symbol _s; // size: 0x4, address: 0x80A532DC static class Symbol _s; // size: 0x4, address: 0x80A532E4 // Range: 0x804D09D4 -> 0x804D0DFC unsigned char RndMovie::SyncProperty(class RndMovie * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; } struct { // total size: 0xB4 } __vt__8RndMovie; // size: 0xB4, address: 0x808FBC5C struct { // total size: 0x18 } __vt__31ObjOwnerPtr<6RndTex,9ObjectDir>; // size: 0x18, address: 0x808FBD40 struct { // total size: 0x8 } __RTTI__31ObjOwnerPtr<6RndTex,9ObjectDir>; // size: 0x8, address: 0x808FBD88 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D0DFC -> 0x804D104C */ // Range: 0x804D0DFC -> 0x804D0E6C void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6RndTex,9ObjectDir>; } // Range: 0x804D0E6C -> 0x804D1000 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } // Range: 0x804D1000 -> 0x804D1008 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804D1008 -> 0x804D104C void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\Movie.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D104C -> 0x804D126C */ // Range: 0x804D104C -> 0x804D1090 class Symbol RndMovie::ClassName() { // References // -> class Symbol name; } // Range: 0x804D1090 -> 0x804D10D0 void RndMovie::SetFile(class RndMovie * const this /* r30 */, unsigned char stream /* r31 */) {} // Range: 0x804D10D0 -> 0x804D1264 void RndMovie::SetType(class RndMovie * const this /* r29 */, class Symbol & RndMovie /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804D1264 -> 0x804D126C unsigned char RndMovie::Loop() {} /* Compile unit: C:\rockband2\system\src\rndobj\MultiMesh.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D1414 -> 0x804D4710 */ class DataArray * types; // size: 0x4, address: 0x80A532E8 class Symbol name; // size: 0x4, address: 0x80A532F0 class list sProxyPool; // size: 0x8, address: 0x809803E0 // Range: 0x804D1414 -> 0x804D1490 void RndMultiMesh::Terminate() { // Local variables struct _List_iterator it; // r1+0x10 // References // -> class list sProxyPool; } // Range: 0x804D159C -> 0x804D16B4 void RndMultiMesh::Copy(class RndMultiMesh * const this /* r28 */, const class Object * o /* r29 */, enum CopyType type /* r30 */) { // Local variables const class RndMultiMesh * f; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; } // Range: 0x804D16B4 -> 0x804D1770 void RndMultiMesh::Print(class RndMultiMesh * const this /* r28 */) { // Local variables class TextStream & d; // r29 // References // -> class Debug TheDebug; } // Range: 0x804D1770 -> 0x804D1878 class TextStream & __ls(class TextStream & d /* r29 */, const class list & c /* r30 */) { // Local variables int i; // r31 struct _List_iterator t; // r1+0x30 } static int MMESH_REV; // size: 0x4, address: 0x80A472F0 // Range: 0x804D1878 -> 0x804D18BC void RndMultiMesh::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A532F4 // Range: 0x804D18BC -> 0x804D19B4 void RndMultiMesh::Load(class RndMultiMesh * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> class Debug TheDebug; // -> static int MMESH_REV; // -> static int gRev; } // Range: 0x804D19B4 -> 0x804D1A98 void RndMultiMesh::InvalidateProxies(class RndMultiMesh * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class list sProxyPool; // -> class LoadMgr TheLoadMgr; } static int stamp; // size: 0x4, address: 0x80A532F8 // Range: 0x804D1A98 -> 0x804D1E24 void RndMultiMesh::CollideList(class RndMultiMesh * const this /* r28 */, const class Segment & seg /* r29 */, class list & collisions /* r30 */) { // Local variables struct _List_iterator t; // r1+0x44 float dist; // r1+0x40 class Plane plane; // r1+0x50 class RndMultiMeshProxy * proxy; // r31 struct _List_iterator it; // r1+0x3C struct _List_iterator it; // r1+0x38 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std57_List_node>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__17RndMultiMeshProxy; // -> class Symbol name; // -> class list sProxyPool; // -> static int stamp; // -> class LoadMgr TheLoadMgr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std57_List_node>; // size: 0x8, address: 0x808FC028 // Range: 0x804D1E24 -> 0x804D1EB4 void RndMultiMesh::DrawShowing(class RndMultiMesh * const this /* r31 */) { // Local variables struct _List_iterator t; // r1+0x14 } // Range: 0x804D1EB4 -> 0x804D1F80 void RndMultiMesh::Mats(class RndMultiMesh * const this /* r31 */, class list & mats /* r30 */) { // Local variables struct MatShaderOptions opts; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804D1F80 -> 0x804D1FFC void RndMultiMesh::ListDrawChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804D1FFC -> 0x804D207C void RndMultiMesh::UpdateSphere(class RndMultiMesh * const this /* r31 */) { // Local variables class Sphere s; // r1+0x10 } // Range: 0x804D207C -> 0x804D22C0 unsigned char RndMultiMesh::MakeWorldSphere(class RndMultiMesh * const this /* r29 */, class Sphere & s /* r30 */) { // Local variables class Sphere s2; // r1+0x50 class Transform t; // r1+0x70 struct _List_iterator t; // r1+0x1C class Sphere s3; // r1+0x30 } // Range: 0x804D22C0 -> 0x804D23E4 void * RndMultiMesh::RndMultiMesh(class RndMultiMesh * const this /* r31 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__12RndMultiMesh; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x804D23E4 -> 0x804D2458 void RndMultiMesh::SetMesh(class RndMultiMesh * const this /* r30 */, class RndMesh * m /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A53300 static class Symbol _s; // size: 0x4, address: 0x80A53308 static class Symbol _s; // size: 0x4, address: 0x80A53310 static class Symbol _s; // size: 0x4, address: 0x80A53318 static class Symbol _s; // size: 0x4, address: 0x80A53320 static class Symbol _s; // size: 0x4, address: 0x80A53328 static class Symbol _s; // size: 0x4, address: 0x80A53330 static class Symbol _s; // size: 0x4, address: 0x80A53338 static class Symbol _s; // size: 0x4, address: 0x80A53340 static class Symbol _s; // size: 0x4, address: 0x80A53348 static class Symbol _s; // size: 0x4, address: 0x80A53350 static class Symbol _s; // size: 0x4, address: 0x80A53358 // Range: 0x804D2458 -> 0x804D3800 class DataNode RndMultiMesh::Handle(class RndMultiMesh * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x54 class MessageTimer _mt; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804D3800 -> 0x804D399C class DataNode RndMultiMesh::OnGetPos(class RndMultiMesh * const this /* r28 */, const class DataArray * a /* r31 */) { // Local variables const class Vector3 & v; // r0 } // Range: 0x804D399C -> 0x804D3A88 class DataNode RndMultiMesh::OnSetPos(class RndMultiMesh * const this /* r31 */, const class DataArray * a /* r30 */) { // Local variables class Vector3 & v; // r0 } // Range: 0x804D3A88 -> 0x804D3C60 class DataNode RndMultiMesh::OnGetRot(class RndMultiMesh * const this /* r29 */, const class DataArray * a /* r31 */) { // Local variables class Vector3 e; // r1+0x30 } // Range: 0x804D3C60 -> 0x804D3D70 class DataNode RndMultiMesh::OnSetRot(class RndMultiMesh * const this /* r31 */, const class DataArray * a /* r30 */) {} // Range: 0x804D3D70 -> 0x804D3F20 class DataNode RndMultiMesh::OnGetScale(class RndMultiMesh * const this /* r29 */, const class DataArray * a /* r31 */) { // Local variables class Vector3 e; // r1+0x30 } // Range: 0x804D3F20 -> 0x804D4218 class DataNode RndMultiMesh::OnSetScale(class RndMultiMesh * const this /* r31 */, const class DataArray * a /* r30 */) {} // Range: 0x804D4218 -> 0x804D438C class DataNode RndMultiMesh::OnAddXfm(class RndMultiMesh * const this /* r29 */, const class DataArray * a /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndMultiMesh; } // Range: 0x804D438C -> 0x804D4508 class DataNode RndMultiMesh::OnAddXfms(class RndMultiMesh * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class Transform ident; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9Transform>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804D4508 -> 0x804D45B0 class DataNode RndMultiMesh::OnRemoveXfm(class RndMultiMesh * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804D45B0 -> 0x804D4610 class DataNode RndMultiMesh::OnNumXfms() {} // Range: 0x804D4610 -> 0x804D4634 class DataNode RndMultiMesh::OnMesh() {} // Range: 0x804D4634 -> 0x804D46B4 unsigned char RndMultiMesh::SyncProperty(class RndMultiMesh * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0x8 } __RTTI__17RndMultiMeshProxy; // size: 0x8, address: 0x808FC1D8 struct { // total size: 0xBC } __vt__12RndMultiMesh; // size: 0xBC, address: 0x808FC230 // Range: 0x804D46B4 -> 0x804D4710 static void __sinit_\MultiMesh_cpp() { // References // -> class list sProxyPool; } /* Compile unit: C:\rockband2\system\src\rndobj\MultiMesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D4710 -> 0x804D48F8 */ // Range: 0x804D4710 -> 0x804D4754 class Symbol RndMultiMesh::ClassName() { // References // -> class Symbol name; } // Range: 0x804D4754 -> 0x804D48F8 void RndMultiMesh::SetType(class RndMultiMesh * const this /* r29 */, class Symbol & RndMultiMesh /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D48F8 -> 0x804D4950 */ // Range: 0x804D48F8 -> 0x804D4950 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D4A2C -> 0x804D4A8C */ // Range: 0x804D4A2C -> 0x804D4A8C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\MultiMeshProxy.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D4A8C -> 0x804D4E88 */ class DataArray * types; // size: 0x4, address: 0x80A53360 // Range: 0x804D4A8C -> 0x804D4BB8 void * RndMultiMeshProxy::RndMultiMeshProxy(class RndMultiMeshProxy * const this /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12RndMultiMesh,9ObjectDir>; // -> struct [anonymous] __vt__17RndMultiMeshProxy; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x804D4BB8 -> 0x804D4D10 void RndMultiMeshProxy::SetMultiMesh(class RndMultiMeshProxy * const this /* r29 */, class RndMultiMesh * mmesh /* r30 */, const struct _List_iterator & index /* r31 */) {} // Range: 0x804D4D10 -> 0x804D4D6C void RndMultiMeshProxy::DrawShowing(class RndMultiMeshProxy * const this /* r31 */) {} // Range: 0x804D4D6C -> 0x804D4E34 void RndMultiMeshProxy::UpdatedWorldXfm(class RndMultiMeshProxy * const this /* r31 */) {} // Range: 0x804D4E34 -> 0x804D4E88 unsigned char RndMultiMeshProxy::SyncProperty(class DataArray * _prop /* r31 */) {} struct { // total size: 0xF4 } __vt__17RndMultiMeshProxy; // size: 0xF4, address: 0x808FC650 /* Compile unit: C:\rockband2\system\src\rndobj\MultiMeshProxy.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D4FC8 -> 0x804D5438 */ // Range: 0x804D4FC8 -> 0x804D500C void RndMultiMeshProxy::Load() { // References // -> class Debug TheDebug; } // Range: 0x804D500C -> 0x804D5050 void RndMultiMeshProxy::Save() { // References // -> class Debug TheDebug; } // Range: 0x804D5050 -> 0x804D5094 void RndMultiMeshProxy::Copy() { // References // -> class Debug TheDebug; } // Range: 0x804D5094 -> 0x804D5248 class DataNode RndMultiMeshProxy::Handle(class RndMultiMeshProxy * const this /* r29 */, class DataArray * _msg /* r31 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x1C class MessageTimer _mt; // r1+0x20 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> unsigned char sActive; } // Range: 0x804D5248 -> 0x804D528C class Symbol RndMultiMeshProxy::ClassName() { // References // -> class Symbol name; } // Range: 0x804D528C -> 0x804D5430 void RndMultiMeshProxy::SetType(class RndMultiMeshProxy * const this /* r29 */, class Symbol & RndMultiMeshProxy /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804D5430 -> 0x804D5438 void RndMultiMeshProxy::Highlight() {} /* Compile unit: C:\rockband2\system\src\rndobj\Overlay.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D5438 -> 0x804D5A9C */ class list : public _List_base { // total size: 0x8 }; class list sOverlays; // size: 0x8, address: 0x809803F8 // Range: 0x804D5438 -> 0x804D5548 void RndOverlay::Init() { // Local variables class DataArray * cfg; // r30 int i; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std25_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sOverlays; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std25_List_node; // size: 0x8, address: 0x808FC7A8 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x804D5548 -> 0x804D55F4 void RndOverlay::Terminate() { // Local variables struct _List_iterator i; // r1+0x20 // References // -> class list sOverlays; } // Range: 0x804D5654 -> 0x804D56BC void RndOverlay::DrawAll() { // Local variables struct _List_iterator i; // r1+0x14 float y; // f1 // References // -> class list sOverlays; } // Range: 0x804D56BC -> 0x804D5728 void RndOverlay::SetTimeout(class RndOverlay * const this /* r31 */, float seconds /* f31 */) {} // Range: 0x804D5728 -> 0x804D5854 class String & RndOverlay::CurrentLine(class RndOverlay * const this /* r30 */) { // Local variables class String s; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6String>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804D5854 -> 0x804D58D0 void RndOverlay::Clear(class RndOverlay * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 } // Range: 0x804D58D0 -> 0x804D5A40 void RndOverlay::Print(class RndOverlay * const this /* r30 */) { // Local variables const char * c; // r31 class String s; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6String>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x10 } __vt__10RndOverlay; // size: 0x10, address: 0x808FC830 struct { // total size: 0x8 } __RTTI__10RndOverlay; // size: 0x8, address: 0x808FC858 // Range: 0x804D5A40 -> 0x804D5A9C static void __sinit_\Overlay_cpp() { // References // -> class list sOverlays; } class _List_node : public _List_node_base { // total size: 0xC public: class RndOverlay * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; /* Compile unit: C:\rockband2\system\src\utl\TextStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D5A9C -> 0x804D5ADC */ // Range: 0x804D5A9C -> 0x804D5ADC void * TextStream::~TextStream(class TextStream * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D5ADC -> 0x804D5B34 */ // Range: 0x804D5ADC -> 0x804D5B34 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D5B34 -> 0x804D6068 */ // Range: 0x804D5B34 -> 0x804D5C14 class RndOverlay * RndOverlay::Find(class Symbol & name /* r30 */) { // Local variables struct _List_iterator i; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class list sOverlays; } // Range: 0x804D5C14 -> 0x804D5DAC void * RndOverlay::RndOverlay(class RndOverlay * const this /* r29 */, const class DataArray * a /* r30 */) { // Local variables int lines; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__10RndOverlay; } // Range: 0x804D5DAC -> 0x804D6068 float RndOverlay::Draw(class RndOverlay * const this /* r31 */, float topY /* f31 */) { // Local variables float y; // f0 float textY; // f0 float height; // f2 struct _List_iterator i; // r1+0x2C class Rect r; // r1+0x90 class Vector2 pos; // r1+0x38 class String tmp; // r1+0x80 // References // -> class Rnd & TheRnd; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D6068 -> 0x804D6234 */ // Range: 0x804D6068 -> 0x804D61D4 void list::resize(const class String & __x /* r29 */) { // Local variables struct _List_iterator __i; // r1+0x30 unsigned long __len; // r6 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6String>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804D61D4 -> 0x804D6234 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\ParamEdit.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D6234 -> 0x804D7018 */ class set { // total size: 0x18 class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class ParamEdit : public Object { // total size: 0x60 class String mTitle; // offset 0x28, size 0xC class DataArray * mCurGroup; // offset 0x34, size 0x4 class DataArray * mCurUpdateFunc; // offset 0x38, size 0x4 int mScrollIdx; // offset 0x3C, size 0x4 class RndOverlay * mOverlay; // offset 0x40, size 0x4 float mStepSize; // offset 0x44, size 0x4 class set mSavedParams; // offset 0x48, size 0x18 }; class Param { // total size: 0x8 public: class DataArray * mDesc; // offset 0x0, size 0x4 int mIdx; // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; // Range: 0x804D6234 -> 0x804D6274 void ParamEdit::SaveCurParam(class ParamEdit * const this /* r5 */) {} enum ParamType { kBool = 0, kInteger = 1, kReal = 2, kInvalid = 3, }; static class Symbol _s; // size: 0x4, address: 0x80A5336C static class Symbol _s; // size: 0x4, address: 0x80A53374 static class Symbol _s; // size: 0x4, address: 0x80A5337C static class Symbol _s; // size: 0x4, address: 0x80A53384 static class Symbol _s; // size: 0x4, address: 0x80A5338C // Range: 0x804D6274 -> 0x804D6A9C class DataNode ParamEdit::Handle(class ParamEdit * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x804D6A9C -> 0x804D6C4C class DataNode ParamEdit::OnPrint(class ParamEdit * const this /* r27 */) { // Local variables class DataArray * desc; // r30 class DataArray * array; // r29 struct _Rb_tree_iterator it; // r1+0x1C int i; // r28 // References // -> class Debug TheDebug; } // Range: 0x804D6C4C -> 0x804D6D10 class DataNode ParamEdit::OnInc(class ParamEdit * const this /* r31 */) {} // Range: 0x804D6D10 -> 0x804D6E20 class DataNode ParamEdit::OnStep(class ParamEdit * const this /* r30 */, class DataArray * d /* r31 */) {} // Range: 0x804D6E20 -> 0x804D6F00 class DataNode ParamEdit::OnScroll(class ParamEdit * const this /* r29 */, class DataArray * d /* r30 */) { // Local variables int idx; // r31 } // Range: 0x804D6F00 -> 0x804D7018 class DataNode ParamEdit::OnEdit(class ParamEdit * const this /* r30 */, class DataArray * d /* r31 */) {} struct { // total size: 0x54 } __vt__9ParamEdit; // size: 0x54, address: 0x808FC930 struct { // total size: 0x8 } __RTTI__9ParamEdit; // size: 0x8, address: 0x808FC9A8 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std33_Rb_tree_node; // size: 0x8, address: 0x808FCA10 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D7018 -> 0x804D7814 */ // Range: 0x804D7018 -> 0x804D70F8 void * ParamEdit::ParamEdit(class ParamEdit * const this /* r29 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__9ParamEdit; } // Range: 0x804D70F8 -> 0x804D7338 void ParamEdit::ShowTxt(class ParamEdit * const this /* r28 */) { // Local variables char txt[256]; // r1+0x10 int pos; // r31 class DataArray * desc; // r29 } // Range: 0x804D7338 -> 0x804D7468 enum ParamType ParamEdit::IdxType(const class ParamEdit * const this /* r28 */, int idx /* r29 */) { // Local variables class DataArray * t; // r30 class DataNode & node; // r0 // References // -> const char * gNullStr; } // Range: 0x804D7468 -> 0x804D778C unsigned char ParamEdit::Increment(class ParamEdit * const this /* r27 */, class DataArray * d /* r28 */) { // Local variables class DataNode & node; // r29 int val; // r31 class DataArray * range; // r28 float val; // f30 class DataArray * range; // r28 } // Range: 0x804D778C -> 0x804D7814 void ParamEdit::SetItem(class ParamEdit * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D78C0 -> 0x804D7CB8 */ // Range: 0x804D78C0 -> 0x804D7930 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x804D7930 -> 0x804D7AC8 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r28 */, const class Param & __val /* r29 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 struct _Rb_tree_node_base * __x; // r30 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x804D7AC8 -> 0x804D7CB8 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const class Param & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_Rb_tree_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\rndobj\Part.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804D7CB8 -> 0x804DFA04 */ class DataArray * types; // size: 0x4, address: 0x80A53390 class ParticleCommonPool * gParticlePool; // size: 0x4, address: 0x80A53398 // Range: 0x804D7CB8 -> 0x804D7CFC void InitParticleSystem() { // References // -> class ParticleCommonPool * gParticlePool; } class ParticleCommonPool { // total size: 0x8 public: class RndParticle * mParticles; // offset 0x0, size 0x4 class RndParticle * mFreeParticles; // offset 0x4, size 0x4 }; // Range: 0x804D7CFC -> 0x804D7DBC void ParticleCommonPool::InitPool(class ParticleCommonPool * const this /* r31 */) { // Local variables int x; // r6 } // Range: 0x804D7DC0 -> 0x804D7DE8 class RndParticle * ParticleCommonPool::AllocateParticle() { // Local variables class RndParticle * p; // r5 } // Range: 0x804D7DE8 -> 0x804D7E18 class RndParticle * ParticleCommonPool::FreeParticle(class ParticleCommonPool * const this /* r5 */) { // Local variables class RndParticle * next; // r0 } // Range: 0x804D7E18 -> 0x804D7F54 void RndParticleSys::SetPool(class RndParticleSys * const this /* r29 */, int n /* r30 */, enum Type t /* r31 */) { // Local variables class RndParticle * p; // r4 // References // -> class Debug TheDebug; // -> class Rnd & TheRnd; } // Range: 0x804D7F54 -> 0x804D8480 void RndParticleSys::Copy(class RndParticleSys * const this /* r28 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class RndParticleSys * f; // r31 class RndParticle * p; // r30 class RndParticle * a; // r0 class RndParticle * next; // r5 class RndParticle * prev; // r6 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; } static int PART_REV; // size: 0x4, address: 0x80A47338 // Range: 0x804D8480 -> 0x804D84C4 void RndParticleSys::Save() { // References // -> class Debug TheDebug; } static int gRev; // size: 0x4, address: 0x80A5339C // Range: 0x804D84C4 -> 0x804D8F44 void RndParticleSys::Load(class RndParticleSys * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables float mGrowRatio; // r1+0x48 float mShrinkRatio; // r1+0x44 float mMidColorRatio; // r1+0x40 class Color mMidColorLow; // r1+0x80 class Color mMidColorHigh; // r1+0x70 int type; // r1+0x3C int num; // r1+0x38 float lineLength; // r1+0x34 class Vector2 mBubblePeriod; // r1+0x58 class Vector2 mBubbleSize; // r1+0x50 float mDrag; // r1+0x30 float mStretchScale; // r1+0x2C class String particlesOwner; // r1+0x60 int emitSteps; // r1+0x28 int active; // r1+0x24 int i; // r29 class RndParticle * p; // r0 // References // -> class Debug TheDebug; // -> static int PART_REV; // -> static int gRev; } // Range: 0x804D8F44 -> 0x804D8FB0 class RndParticle * RndParticleSys::AllocParticle(class RndParticleSys * const this /* r31 */) { // Local variables class RndParticle * p; // r3 // References // -> class ParticleCommonPool * gParticlePool; } // Range: 0x804D8FB0 -> 0x804D93C8 void RndParticleSys::InitParticle(class RndParticleSys * const this /* r28 */, class RndParticle * p /* r29 */, const class Transform * locToRel /* r30 */) { // Local variables float pitch; // f30 float yaw; // f29 float cosPitch; // f0 float speed; // f0 float t; // f31 class Transform xfm; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804D93C8 -> 0x804D9498 class RndParticle * RndParticleSys::FreeParticle(class RndParticleSys * const this /* r30 */, class RndParticle * p /* r31 */) { // Local variables class RndParticle * next; // r0 // References // -> class ParticleCommonPool * gParticlePool; // -> class Debug TheDebug; } // Range: 0x804D9498 -> 0x804D95A4 void RndParticleSys::SetSubSamples(class RndParticleSys * const this /* r31 */) {} // Range: 0x804D95A4 -> 0x804D9834 void RndParticleSys::SetRelativeMotion(class RndParticleSys * const this /* r30 */, float r /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804D9834 -> 0x804D98A8 void RndParticleSys::DrawShowing(class RndParticleSys * const this /* r31 */) {} // Range: 0x804D98A8 -> 0x804D99F0 void RndParticleSys::UpdateSphere(class RndParticleSys * const this /* r30 */) { // Local variables class Sphere s; // r1+0x20 class Transform t; // r1+0x40 } // Range: 0x804D99F0 -> 0x804D9B60 unsigned char RndParticleSys::MakeWorldSphere(class RndParticleSys * const this /* r29 */, class Sphere & s /* r30 */) { // Local variables class RndParticle * p; // r31 class Sphere s2; // r1+0x10 } // Range: 0x804D9B60 -> 0x804D9B8C void RndParticleSys::SetFrameDrive() {} // Range: 0x804D9B8C -> 0x804D9B9C void RndParticleSys::SetPauseOffscreen() {} // Range: 0x804D9B9C -> 0x804D9BF8 void RndParticleSys::SetFrame(class RndParticleSys * const this /* r31 */, float frame /* f31 */) {} // Range: 0x804D9BF8 -> 0x804D9C1C float RndParticleSys::EndFrame() {} static class Timer * _t; // size: 0x4, address: 0x80A533A0 // Range: 0x804D9C1C -> 0x804D9E7C void RndParticleSys::Poll(class RndParticleSys * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC float frame; // f31 class RndParticle * p; // r4 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; } // Range: 0x804D9E7C -> 0x804D9FF8 void RndParticleSys::MakeLocToRel(class RndParticleSys * const this /* r30 */, class Transform & xfm /* r31 */) {} // Range: 0x804D9FF8 -> 0x804DA144 void RndParticleSys::CreateParticles(class RndParticleSys * const this /* r30 */, float frame /* f30 */, float deltaFrame /* f31 */, const class Transform & xfm /* r31 */) { // Local variables class RndParticle * p; // r4 } // Range: 0x804DA144 -> 0x804DA990 void RndParticleSys::UpdateRelativeXfm(class RndParticleSys * const this /* r30 */) { // Local variables class Quat q; // r1+0x80 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804DA990 -> 0x804DA9D8 float RndParticleSys::CalcFrame() { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x804DA9D8 -> 0x804DAECC void RndParticleSys::UpdateParticles(class RndParticleSys * const this /* r31 */) { // Local variables float frame; // f31 float deltaFrame; // f30 class Transform xfm; // r1+0x20 class Vector3 lastPos; // r1+0x10 float pitch; // f29 float yaw; // f26 float speed; // f0 float cosPitch; // f0 int steps; // r30 } // Range: 0x804DAECC -> 0x804DAF64 void RndParticleSys::Enter(class RndParticleSys * const this /* r31 */) { // Local variables class RndParticle * p; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804DAF64 -> 0x804DB0E4 void RndParticleSys::RunFastForward(class RndParticleSys * const this /* r31 */) { // Local variables float particlesPerFrame; // f1 float framesPerParticle; // r1+0x18 float framesToMaxParticles; // r1+0x14 float timeToSimulate; // f30 float deltaFrame; // f29 float upToFrame; // f0 class Transform xfm; // r1+0x20 float frame; // f30 } // Range: 0x804DB0E4 -> 0x804DB19C void RndParticleSys::ExplicitParticles(class RndParticleSys * const this /* r29 */, int cnt /* r30 */) { // Local variables float frame; // f31 class Transform xfm; // r1+0x10 int i; // r31 class RndParticle * p; // r4 } // Range: 0x804DB19C -> 0x804DB1DC unsigned char Burst::Set() {} // Range: 0x804DB1DC -> 0x804DB24C float Burst::Emit() { // Local variables float x; // f2 } // Range: 0x804DB24C -> 0x804DB454 float RndParticleSys::CheckBursts(class RndParticleSys * const this /* r31 */, float deltaFrame /* f31 */) { // Local variables float emission; // f30 class Burst * bIter; // r30 float emitAdd; // f0 class Burst burst; // r1+0x20 } // Range: 0x804DB454 -> 0x804DB82C void RndParticleSys::MoveParticles(class RndParticleSys * const this /* r28 */, float frame /* f30 */, float deltaFrame /* f31 */) { // Local variables float rotDrag; // f0 class Vector3 deltaForce; // r1+0x40 unsigned char bounce; // r0 class Plane bouncePlane; // r1+0x30 class RndParticle * p; // r4 float velDot; // f0 class Vector3 plane; // r1+0x20 float dt; // f0 class Color c; // r1+0x10 } // Range: 0x804DB82C -> 0x804DBAB8 void * RndParticleSys::~RndParticleSys(class RndParticleSys * const this /* r30 */) { // Local variables class RndParticle * p; // r4 // References // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__14RndParticleSys; } // Range: 0x804DBAB8 -> 0x804DBE38 void * RndParticleSys::RndParticleSys(class RndParticleSys * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7RndMesh,9ObjectDir>; // -> struct [anonymous] __vt__14RndParticleSys; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x804DBE38 -> 0x804DBECC void RndParticleSys::Replace(class RndParticleSys * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x804DBECC -> 0x804DBF34 void RndParticleSys::SetMat(class RndParticleSys * const this /* r30 */, class RndMat * m /* r31 */) {} // Range: 0x804DBF34 -> 0x804DC00C void RndParticleSys::SetMesh(class RndParticleSys * const this /* r30 */, class RndMesh * m /* r31 */) {} // Range: 0x804DC00C -> 0x804DC0C0 void RndParticleSys::Mats(class RndParticleSys * const this /* r31 */, class list & mats /* r30 */) { // Local variables struct MatShaderOptions opts; // r1+0xC // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } static class Symbol _s; // size: 0x4, address: 0x80A533A8 static class Symbol _s; // size: 0x4, address: 0x80A533B0 static class Symbol _s; // size: 0x4, address: 0x80A533B8 static class Symbol _s; // size: 0x4, address: 0x80A533C0 static class Symbol _s; // size: 0x4, address: 0x80A533C8 static class Symbol _s; // size: 0x4, address: 0x80A533D0 static class Symbol _s; // size: 0x4, address: 0x80A533D8 static class Symbol _s; // size: 0x4, address: 0x80A533E0 static class Symbol _s; // size: 0x4, address: 0x80A533E8 static class Symbol _s; // size: 0x4, address: 0x80A533F0 static class Symbol _s; // size: 0x4, address: 0x80A533F8 static class Symbol _s; // size: 0x4, address: 0x80A53400 static class Symbol _s; // size: 0x4, address: 0x80A53408 static class Symbol _s; // size: 0x4, address: 0x80A53410 static class Symbol _s; // size: 0x4, address: 0x80A53418 static class Symbol _s; // size: 0x4, address: 0x80A53420 static class Symbol _s; // size: 0x4, address: 0x80A53428 static class Symbol _s; // size: 0x4, address: 0x80A53430 static class Symbol _s; // size: 0x4, address: 0x80A53438 static class Symbol _s; // size: 0x4, address: 0x80A53440 static class Symbol _s; // size: 0x4, address: 0x80A53448 static class Symbol _s; // size: 0x4, address: 0x80A53450 static class Symbol _s; // size: 0x4, address: 0x80A53458 // Range: 0x804DC0C0 -> 0x804DCFC8 class DataNode RndParticleSys::Handle(class RndParticleSys * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x14 class MessageTimer _mt; // r1+0xD8 class DataNode r; // r1+0xD0 class DataNode r; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 class DataNode _n; // r1+0x20 class DataNode _n; // r1+0x18 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x804DCFC8 -> 0x804DD1AC class DataNode RndParticleSys::OnSetStartColor(class RndParticleSys * const this /* r29 */, const class DataArray * a /* r30 */) {} // Range: 0x804DD1AC -> 0x804DD380 class DataNode RndParticleSys::OnSetStartColorInt(class RndParticleSys * const this /* r28 */, const class DataArray * a /* r29 */) { // Local variables class Color rgb_low; // r1+0x20 class Color rgb_hi; // r1+0x10 } // Range: 0x804DD380 -> 0x804DD564 class DataNode RndParticleSys::OnSetEndColor(class RndParticleSys * const this /* r29 */, const class DataArray * a /* r30 */) {} // Range: 0x804DD564 -> 0x804DD738 class DataNode RndParticleSys::OnSetEndColorInt(class RndParticleSys * const this /* r28 */, const class DataArray * a /* r29 */) { // Local variables class Color rgb_low; // r1+0x20 class Color rgb_hi; // r1+0x10 } // Range: 0x804DD738 -> 0x804DD7C0 class DataNode RndParticleSys::OnSetEmitRate(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DD7C0 -> 0x804DD8A4 class DataNode RndParticleSys::OnAddEmitRate(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables float add; // f0 } // Range: 0x804DD8A4 -> 0x804DD944 class DataNode RndParticleSys::OnSetBurstInterval(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DD944 -> 0x804DD9CC class DataNode RndParticleSys::OnSetBurstPeak(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DD9CC -> 0x804DDA54 class DataNode RndParticleSys::OnSetBurstLength(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DDA54 -> 0x804DDA98 class DataNode RndParticleSys::OnExplicitPart() {} // Range: 0x804DDA98 -> 0x804DDB40 class DataNode RndParticleSys::OnExplicitParts(class RndParticleSys * const this /* r29 */, const class DataArray * a /* r30 */) {} // Range: 0x804DDB40 -> 0x804DDBC8 class DataNode RndParticleSys::OnSetLife(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DDBC8 -> 0x804DDC50 class DataNode RndParticleSys::OnSetSpeed(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DDC50 -> 0x804DDD14 class DataNode RndParticleSys::OnSetRotate(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DDD14 -> 0x804DDDD0 class DataNode RndParticleSys::OnSetSwingArm(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DDDD0 -> 0x804DDE58 class DataNode RndParticleSys::OnSetStartSize(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DDE58 -> 0x804DDEE0 class DataNode RndParticleSys::OnSetMat(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x804DDEE0 -> 0x804DE034 class DataNode RndParticleSys::OnSetPos(class RndParticleSys * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804DE034 -> 0x804DE054 class DataNode RndParticleSys::OnActiveParticles() {} // Range: 0x804DE054 -> 0x804DE118 class BinStream & __rs(class BinStream & d /* r30 */, class RndParticle & c /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A53460 static class Symbol _s; // size: 0x4, address: 0x80A53468 // Range: 0x804DE118 -> 0x804DE2F0 static unsigned char AngleVectorSync(class Vector2 & _me /* r28 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A53470 static class Symbol _s; // size: 0x4, address: 0x80A53478 static class Symbol _s; // size: 0x4, address: 0x80A53480 static class Symbol _s; // size: 0x4, address: 0x80A53488 static class Symbol _s; // size: 0x4, address: 0x80A53490 static class Symbol _s; // size: 0x4, address: 0x80A53498 static class Symbol _s; // size: 0x4, address: 0x80A534A0 static class Symbol _s; // size: 0x4, address: 0x80A534A8 static class Symbol _s; // size: 0x4, address: 0x80A534B0 static class Symbol _s; // size: 0x4, address: 0x80A534B8 static class Symbol _s; // size: 0x4, address: 0x80A534C0 static class Symbol _s; // size: 0x4, address: 0x80A534C8 static class Symbol _s; // size: 0x4, address: 0x80A534D0 static class Symbol _s; // size: 0x4, address: 0x80A534D8 static class Symbol _s; // size: 0x4, address: 0x80A534E0 static class Symbol _s; // size: 0x4, address: 0x80A534E8 static class Symbol _s; // size: 0x4, address: 0x80A534F0 static class Symbol _s; // size: 0x4, address: 0x80A534F8 static class Symbol _s; // size: 0x4, address: 0x80A53500 static class Symbol _s; // size: 0x4, address: 0x80A53508 static class Symbol _s; // size: 0x4, address: 0x80A53510 static class Symbol _s; // size: 0x4, address: 0x80A53518 static class Symbol _s; // size: 0x4, address: 0x80A53520 static class Symbol _s; // size: 0x4, address: 0x80A53528 static class Symbol _s; // size: 0x4, address: 0x80A53530 static class Symbol _s; // size: 0x4, address: 0x80A53538 static class Symbol _s; // size: 0x4, address: 0x80A53540 static class Symbol _s; // size: 0x4, address: 0x80A53548 static class Symbol _s; // size: 0x4, address: 0x80A53550 static class Symbol _s; // size: 0x4, address: 0x80A53558 static class Symbol _s; // size: 0x4, address: 0x80A53560 static class Symbol _s; // size: 0x4, address: 0x80A53568 static class Symbol _s; // size: 0x4, address: 0x80A53570 static class Symbol _s; // size: 0x4, address: 0x80A53578 static class Symbol _s; // size: 0x4, address: 0x80A53580 static class Symbol _s; // size: 0x4, address: 0x80A53588 static class Symbol _s; // size: 0x4, address: 0x80A53590 static class Symbol _s; // size: 0x4, address: 0x80A53598 static class Symbol _s; // size: 0x4, address: 0x80A535A0 static class Symbol _s; // size: 0x4, address: 0x80A535A8 // Range: 0x804DE2F0 -> 0x804DFA04 unsigned char RndParticleSys::SyncProperty(class RndParticleSys * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__16RndTransformable; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x18C } __vt__14RndParticleSys; // size: 0x18C, address: 0x808FCF48 struct { // total size: 0x8 } __RTTI__PQ214RndParticleSys5Burst; // size: 0x8, address: 0x808FD480 /* Compile unit: C:\rockband2\system\src\rndobj\Part.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804DFBDC -> 0x804DFDCC */ // Range: 0x804DFBDC -> 0x804DFC20 class Symbol RndParticleSys::ClassName() { // References // -> class Symbol name; } // Range: 0x804DFC20 -> 0x804DFC28 int RndParticleSys::MaxParticles() {} // Range: 0x804DFC28 -> 0x804DFDBC void RndParticleSys::SetType(class RndParticleSys * const this /* r29 */, class Symbol & RndParticleSys /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804DFDBC -> 0x804DFDC4 void RndParticleSys::Highlight() {} // Range: 0x804DFDC4 -> 0x804DFDCC void RndParticleSys::SetPreserveParticles() {} /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804DFDCC -> 0x804DFE6C */ // Range: 0x804DFDCC -> 0x804DFE1C class RndTransformable * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x804DFE1C -> 0x804DFE6C class RndMesh * DataArray::Obj(const class DataArray * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804DFE6C -> 0x804E0098 */ // Range: 0x804DFE6C -> 0x804E0098 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Burst * __pos /* r26 */, const class Burst & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Burst * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ214RndParticleSys5Burst; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\rndobj\PartAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E0098 -> 0x804E1A38 */ class DataArray * types; // size: 0x4, address: 0x80A535B0 class Symbol name; // size: 0x4, address: 0x80A535B8 class RndParticleSysAnim : public RndAnimatable { // total size: 0x9C protected: class ObjPtr mParticleSys; // offset 0x10, size 0xC class Keys mStartColorKeys; // offset 0x1C, size 0xC class Keys mEndColorKeys; // offset 0x28, size 0xC class Keys mEmitRateKeys; // offset 0x34, size 0xC class Keys mSpeedKeys; // offset 0x40, size 0xC class Keys mLifeKeys; // offset 0x4C, size 0xC class Keys mStartSizeKeys; // offset 0x58, size 0xC class ObjOwnerPtr mKeysOwner; // offset 0x64, size 0xC }; // Range: 0x804E0098 -> 0x804E01C4 void * RndParticleSysAnim::RndParticleSysAnim(class RndParticleSysAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__44ObjOwnerPtr<18RndParticleSysAnim,9ObjectDir>; // -> struct [anonymous] __vt__35ObjPtr<14RndParticleSys,9ObjectDir>; // -> struct [anonymous] __vt__18RndParticleSysAnim; } class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class RndParticleSysAnim * mPtr; // offset 0x8, size 0x4 }; // Range: 0x804E01C4 -> 0x804E0230 void RndParticleSysAnim::SetParticleSys(class RndParticleSysAnim * const this /* r30 */, class RndParticleSys * o /* r31 */) {} // Range: 0x804E0230 -> 0x804E0318 void RndParticleSysAnim::Replace(class RndParticleSysAnim * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18RndParticleSysAnim; } static int PARTANIM_REV; // size: 0x4, address: 0x80A47360 // Range: 0x804E0318 -> 0x804E035C void RndParticleSysAnim::Save() { // References // -> class Debug TheDebug; } // Range: 0x804E035C -> 0x804E06EC void RndParticleSysAnim::Load(class RndParticleSysAnim * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x3C class Keys emitRateKeys; // r1+0x54 float emitRateRatio; // r1+0x38 class Key * i; // r29 class Key k; // r1+0x48 // References // -> class Debug TheDebug; // -> static int PARTANIM_REV; } // Range: 0x804E06EC -> 0x804E0A28 void RndParticleSysAnim::Copy(class RndParticleSysAnim * const this /* r31 */, const class Object * o /* r29 */, enum CopyType type /* r28 */) { // Local variables const class RndParticleSysAnim * l; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18RndParticleSysAnim; } // Range: 0x804E0A28 -> 0x804E0BA8 void RndParticleSysAnim::Print(class RndParticleSysAnim * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x804E0BA8 -> 0x804E0F14 float RndParticleSysAnim::EndFrame(class RndParticleSysAnim * const this /* r31 */) { // Local variables float frame; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E0F14 -> 0x804E1350 void RndParticleSysAnim::SetFrame(class RndParticleSysAnim * const this /* r31 */, float frame /* f30 */, float blend /* f31 */) { // Local variables class Color low; // r1+0x60 class Color high; // r1+0x50 class Color low; // r1+0x40 class Color high; // r1+0x30 class Vector2 v; // r1+0x28 class Vector2 v; // r1+0x20 class Vector2 v; // r1+0x18 class Vector2 v; // r1+0x10 } // Range: 0x804E1350 -> 0x804E148C void RndParticleSysAnim::SetKey(class RndParticleSysAnim * const this /* r30 */, float frame /* f31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A535C0 // Range: 0x804E148C -> 0x804E198C class DataNode RndParticleSysAnim::Handle(class RndParticleSysAnim * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndParticleSys; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804E198C -> 0x804E1A0C unsigned char RndParticleSysAnim::SyncProperty(class RndParticleSysAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA8 } __vt__18RndParticleSysAnim; // size: 0xA8, address: 0x808FD7E0 struct { // total size: 0x8 } __RTTI__18RndParticleSysAnim; // size: 0x8, address: 0x808FD8B8 struct { // total size: 0x18 } __vt__44ObjOwnerPtr<18RndParticleSysAnim,9ObjectDir>; // size: 0x18, address: 0x808FD8C0 struct { // total size: 0x8 } __RTTI__44ObjOwnerPtr<18RndParticleSysAnim,9ObjectDir>; // size: 0x8, address: 0x808FD910 // Range: 0x804E1A0C -> 0x804E1A38 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E1A38 -> 0x804E1CA0 */ // Range: 0x804E1A38 -> 0x804E1AAC void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__44ObjOwnerPtr<18RndParticleSysAnim,9ObjectDir>; } // Range: 0x804E1AAC -> 0x804E1C44 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__18RndParticleSysAnim; } // Range: 0x804E1C44 -> 0x804E1C4C class RndParticleSys * ObjPtr::__opP14RndParticleSys() {} // Range: 0x804E1C4C -> 0x804E1C54 class RndParticleSys * ObjPtr::__rf() {} // Range: 0x804E1C54 -> 0x804E1C5C class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804E1C5C -> 0x804E1CA0 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E215C -> 0x804E2188 */ // Range: 0x804E2170 -> 0x804E2188 unsigned char vector::empty() {} /* Compile unit: C:\rockband2\system\src\rndobj\PartAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E2188 -> 0x804E25E4 */ // Range: 0x804E2188 -> 0x804E21CC class Symbol RndParticleSysAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x804E21CC -> 0x804E2234 class Keys & RndParticleSysAnim::StartColorKeys(class RndParticleSysAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E2234 -> 0x804E229C class Keys & RndParticleSysAnim::EndColorKeys(class RndParticleSysAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E229C -> 0x804E2304 class Keys & RndParticleSysAnim::EmitRateKeys(class RndParticleSysAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E2304 -> 0x804E236C class Keys & RndParticleSysAnim::SpeedKeys(class RndParticleSysAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E236C -> 0x804E23D4 class Keys & RndParticleSysAnim::LifeKeys(class RndParticleSysAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E23D4 -> 0x804E243C class Keys & RndParticleSysAnim::StartSizeKeys(class RndParticleSysAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E243C -> 0x804E25D0 void RndParticleSysAnim::SetType(class RndParticleSysAnim * const this /* r29 */, class Symbol & RndParticleSysAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x804E25D0 -> 0x804E25E4 class Object * RndParticleSysAnim::AnimTarget() {} /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E25E4 -> 0x804E3038 */ // Range: 0x804E25E4 -> 0x804E28D4 void Keys::AtFrame(const class Keys * const this /* r23 */, float frame /* f31 */, class Vector2 & val /* r24 */) { // Local variables const class Vector2 * prev; // r26 const class Vector2 * next; // r25 float r; // f3 } // Range: 0x804E28D4 -> 0x804E2C40 int Keys::Add(class Keys * const this /* r24 */, const class Color & value /* r25 */, float frame /* f31 */, unsigned char unique /* r26 */) { // Local variables const class Color * prev; // r29 const class Color * next; // r28 float r; // f0 int i; // r27 } // Range: 0x804E2C40 -> 0x804E3038 int Keys::Add(class Keys * const this /* r24 */, const class Vector2 & value /* r25 */, float frame /* f31 */, unsigned char unique /* r26 */) { // Local variables const class Vector2 * prev; // r29 const class Vector2 * next; // r28 float r; // f0 int i; // r27 } /* Compile unit: C:\rockband2\system\src\rndobj\Part.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E3038 -> 0x804E3130 */ // Range: 0x804E3038 -> 0x804E3040 class Color & RndParticleSys::StartColorLow() {} // Range: 0x804E3040 -> 0x804E3048 class Color & RndParticleSys::StartColorHigh() {} // Range: 0x804E3048 -> 0x804E308C void RndParticleSys::SetStartColor() {} // Range: 0x804E308C -> 0x804E3094 class Color & RndParticleSys::EndColorLow() {} // Range: 0x804E3094 -> 0x804E309C class Color & RndParticleSys::EndColorHigh() {} // Range: 0x804E309C -> 0x804E30E0 void RndParticleSys::SetEndColor() {} // Range: 0x804E30E0 -> 0x804E30E8 class Vector2 & RndParticleSys::EmitRate() {} // Range: 0x804E30E8 -> 0x804E30F4 void RndParticleSys::SetEmitRate() {} // Range: 0x804E30F4 -> 0x804E30FC class Vector2 & RndParticleSys::Speed() {} // Range: 0x804E30FC -> 0x804E3108 void RndParticleSys::SetSpeed() {} // Range: 0x804E3108 -> 0x804E3110 class Vector2 & RndParticleSys::Life() {} // Range: 0x804E3110 -> 0x804E311C void RndParticleSys::SetLife() {} // Range: 0x804E311C -> 0x804E3124 class Vector2 & RndParticleSys::StartSize() {} // Range: 0x804E3124 -> 0x804E3130 void RndParticleSys::SetStartSize() {} /* Compile unit: C:\rockband2\system\src\math\Color.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E3130 -> 0x804E31B8 */ // Range: 0x804E3130 -> 0x804E3174 void Add() {} // Range: 0x804E3174 -> 0x804E31B8 void Subtract() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E31B8 -> 0x804E337C */ // Range: 0x804E31B8 -> 0x804E337C void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables class Key * __tmp; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13Key<7Vector2>; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\rndobj\Poll.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E337C -> 0x804E3A5C */ static class Symbol _s; // size: 0x4, address: 0x80A535CC static class Symbol _s; // size: 0x4, address: 0x80A535D4 static class Symbol _s; // size: 0x4, address: 0x80A535DC // Range: 0x804E337C -> 0x804E37D4 class DataNode RndPollable::Handle(class RndPollable * const this /* r29 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Message enter; // size: 0x8, address: 0x80980410 // Range: 0x804E37D4 -> 0x804E3918 void RndPollable::Enter(class RndPollable * const this /* r31 */) { // References // -> static class Message enter; // -> struct [anonymous] __vt__7Message; } static class Message exit; // size: 0x8, address: 0x80980428 // Range: 0x804E3918 -> 0x804E3A5C void RndPollable::Exit(class RndPollable * const this /* r31 */) { // References // -> static class Message exit; // -> struct [anonymous] __vt__7Message; } struct { // total size: 0x7C } __vt__11RndPollable; // size: 0x7C, address: 0x808FDC78 /* Compile unit: C:\rockband2\system\src\rndobj\PostProc.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E3A70 -> 0x804E70D4 */ class DataArray * types; // size: 0x4, address: 0x80A535E8 class RndPostProc * sCurrent; // size: 0x4, address: 0x80A535F0 class DOFOverrideParams sDOFOverride; // size: 0x1C, address: 0x80980430 // Range: 0x804E3A70 -> 0x804E3BE4 void * RndPostProc::RndPostProc(class RndPostProc * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__11RndPostProc; } static class Message msg; // size: 0x8, address: 0x80980458 // Range: 0x804E3BE4 -> 0x804E3DF4 void * RndPostProc::~RndPostProc(class RndPostProc * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Rnd & TheRnd; // -> class RndPostProc * sCurrent; // -> struct [anonymous] __vt__11RndPostProc; } static class Message msg; // size: 0x8, address: 0x80980470 static class Message msg; // size: 0x8, address: 0x80980488 // Range: 0x804E3DF4 -> 0x804E409C void RndPostProc::Select(class RndPostProc * const this /* r30 */) { // References // -> static class Message msg; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Rnd & TheRnd; // -> class RndPostProc * sCurrent; } static class Message msg; // size: 0x8, address: 0x809804A0 // Range: 0x804E409C -> 0x804E4208 void RndPostProc::Reset() { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Rnd & TheRnd; // -> class RndPostProc * sCurrent; } // Range: 0x804E4208 -> 0x804E4210 class RndPostProc * RndPostProc::Current() { // References // -> class RndPostProc * sCurrent; } // Range: 0x804E4210 -> 0x804E4214 void RndPostProc::EndWorld() {} // Range: 0x804E4214 -> 0x804E4288 void RndPostProc::UpdateTimeDelta(class RndPostProc * const this /* r31 */) { // Local variables float secs; // f0 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x804E4288 -> 0x804E42C4 void RndPostProc::DoPost(class RndPostProc * const this /* r31 */) {} // Range: 0x804E42C4 -> 0x804E43E0 void RndPostProc::UpdateModulation(class RndPostProc * const this /* r31 */) { // Local variables float parm; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E43E0 -> 0x804E4410 unsigned char RndPostProc::BlendPrevious() {} // Range: 0x804E4410 -> 0x804E44A0 void RndPostProc::UpdateBlendPrevious(class RndPostProc * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804E44A0 -> 0x804E44BC unsigned char RndPostProc::HallOfTime() {} // Range: 0x804E44BC -> 0x804E46A4 unsigned char RndPostProc::ColorXfmEnabled() {} // Range: 0x804E46A4 -> 0x804E46DC unsigned char RndPostProc::Distort() {} // Range: 0x804E46DC -> 0x804E4720 void RndPostProc::Save() { // References // -> class Debug TheDebug; } // Range: 0x804E4720 -> 0x804E4A14 void RndPostProc::Copy(class RndPostProc * const this /* r30 */, const class Object * o /* r29 */) { // Local variables const class RndPostProc * m; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPostProc; } // Range: 0x804E4A14 -> 0x804E4BA0 void RndPostProc::Load(class RndPostProc * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x20 int dRev; // r1+0x1C class Sphere sphere; // r1+0x30 float order; // r1+0x18 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x804E4BA0 -> 0x804E52D4 void RndPostProc::LoadRev(class RndPostProc * const this /* r28 */, class BinStream & d /* r29 */, int rev /* r30 */) { // Local variables class Color thresholds; // r1+0x30 float minchan; // f1 float kernelMultiplier; // r1+0x1C float glint; // r1+0x18 class ObjPtr draw; // r1+0x20 // References // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A535FC // Range: 0x804E52D4 -> 0x804E5668 class DataNode RndPostProc::Handle(class RndPostProc * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A53604 static class Symbol _s; // size: 0x4, address: 0x80A5360C static class Symbol _s; // size: 0x4, address: 0x80A53614 static class Symbol _s; // size: 0x4, address: 0x80A5361C static class Symbol _s; // size: 0x4, address: 0x80A53624 static class Symbol _s; // size: 0x4, address: 0x80A5362C static class Symbol _s; // size: 0x4, address: 0x80A53634 static class Symbol _s; // size: 0x4, address: 0x80A5363C static class Symbol _s; // size: 0x4, address: 0x80A53644 static class Symbol _s; // size: 0x4, address: 0x80A5364C static class Symbol _s; // size: 0x4, address: 0x80A53654 static class Symbol _s; // size: 0x4, address: 0x80A5365C static class Symbol _s; // size: 0x4, address: 0x80A53664 static class Symbol _s; // size: 0x4, address: 0x80A5366C static class Symbol _s; // size: 0x4, address: 0x80A53674 static class Symbol _s; // size: 0x4, address: 0x80A5367C static class Symbol _s; // size: 0x4, address: 0x80A53684 static class Symbol _s; // size: 0x4, address: 0x80A5368C static class Symbol _s; // size: 0x4, address: 0x80A53694 static class Symbol _s; // size: 0x4, address: 0x80A5369C static class Symbol _s; // size: 0x4, address: 0x80A536A4 static class Symbol _s; // size: 0x4, address: 0x80A536AC static class Symbol _s; // size: 0x4, address: 0x80A536B4 static class Symbol _s; // size: 0x4, address: 0x80A536BC static class Symbol _s; // size: 0x4, address: 0x80A536C4 static class Symbol _s; // size: 0x4, address: 0x80A536CC static class Symbol _s; // size: 0x4, address: 0x80A536D4 static class Symbol _s; // size: 0x4, address: 0x80A536DC static class Symbol _s; // size: 0x4, address: 0x80A536E4 static class Symbol _s; // size: 0x4, address: 0x80A536EC static class Symbol _s; // size: 0x4, address: 0x80A536F4 static class Symbol _s; // size: 0x4, address: 0x80A536FC // Range: 0x804E5668 -> 0x804E6F7C unsigned char RndPostProc::SyncProperty(class RndPostProc * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x804E6F7C -> 0x804E6FA0 void * ProcCounter::ProcCounter() {} // Range: 0x804E6FA0 -> 0x804E6FB0 void ProcCounter::SetProcAndLock() {} // Range: 0x804E6FB0 -> 0x804E7088 enum ProcessCmd ProcCounter::ProcCommands() { // Local variables enum ProcessCmd cmds; // r5 } // Range: 0x804E7088 -> 0x804E70B0 void * DOFOverrideParams::DOFOverrideParams() {} struct { // total size: 0x80 } __vt__11RndPostProc; // size: 0x80, address: 0x808FE0B0 // Range: 0x804E70B0 -> 0x804E70BC static void __sinit_\PostProc_cpp() { // References // -> class DOFOverrideParams sDOFOverride; } /* Compile unit: C:\rockband2\system\src\rndobj\PostProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E70D4 -> 0x804E729C */ // Range: 0x804E70D4 -> 0x804E7118 class Symbol RndPostProc::ClassName() { // References // -> class Symbol name; } // Range: 0x804E7118 -> 0x804E711C void RndPostProc::SetBloomColor() {} // Range: 0x804E711C -> 0x804E729C void RndPostProc::SetType(class RndPostProc * const this /* r29 */, class Symbol & RndPostProc /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\PostProcBlendTask.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E729C -> 0x804E7F08 */ class PostProcBlendTask : public Task { // total size: 0x5C class ObjOwnerPtr mObj; // offset 0x28, size 0xC float mPeriod; // offset 0x34, size 0x4 class ObjPtr mTarget; // offset 0x38, size 0xC class ObjPtr mSource; // offset 0x44, size 0xC class ObjPtr mBlendTo; // offset 0x50, size 0xC }; // Range: 0x804E729C -> 0x804E758C void * PostProcBlendTask::PostProcBlendTask(class PostProcBlendTask * const this /* r29 */, class RndPostProc * target /* r30 */, class RndPostProc * blendto /* r31 */, float period /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPostProc; // -> class Symbol name; // -> struct [anonymous] __vt__32ObjPtr<11RndPostProc,9ObjectDir>; // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__17PostProcBlendTask; } // Range: 0x804E758C -> 0x804E76B8 void * PostProcBlendTask::~PostProcBlendTask(class PostProcBlendTask * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__32ObjPtr<11RndPostProc,9ObjectDir>; // -> struct [anonymous] __vt__17PostProcBlendTask; } // Range: 0x804E76B8 -> 0x804E76DC void PostProcBlendTask::Replace() {} // Range: 0x804E76DC -> 0x804E7814 static class DataNode OnPPBlendTask(class DataArray * data /* r27 */) { // Local variables enum TaskUnits u; // r28 float bt; // f31 float d; // f30 // References // -> class TaskMgr TheTaskMgr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPostProc; } // Range: 0x804E7814 -> 0x804E7F08 void PostProcBlendTask::Poll(class PostProcBlendTask * const this /* r31 */) { // Local variables float blend; // f31 class Color c; // r1+0x30 float f; // f0 class Vector2 v2; // r1+0x10 class Vector3 v3; // r1+0x20 } struct { // total size: 0x58 } __vt__17PostProcBlendTask; // size: 0x58, address: 0x808FE3F0 struct { // total size: 0x8 } __RTTI__17PostProcBlendTask; // size: 0x8, address: 0x808FE478 struct { // total size: 0x18 } __vt__37ObjOwnerPtr; // size: 0x18, address: 0x808FE480 struct { // total size: 0x8 } __RTTI__37ObjOwnerPtr; // size: 0x8, address: 0x808FE4C8 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E7F08 -> 0x804E7FC4 */ // Range: 0x804E7F08 -> 0x804E7F78 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjOwnerPtr; } // Range: 0x804E7F78 -> 0x804E7F80 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x804E7F80 -> 0x804E7FC4 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\PostProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E7FC4 -> 0x804E7FFC */ // Range: 0x804E7FC4 -> 0x804E7FFC void PostProcBlendTask::Init() {} /* Compile unit: C:\rockband2\system\src\rndobj\PropKeys.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804E7FFC -> 0x804EED84 */ static int gRev; // size: 0x4, address: 0x80A53700 // Range: 0x804E7FFC -> 0x804E8004 void SetPropKeysRev() { // References // -> static int gRev; } class Object * sOwner; // size: 0x4, address: 0x80A53704 // Range: 0x804E8004 -> 0x804E8068 float CalcSpline() { // Local variables float t2; // f9 float t3; // f10 } // Range: 0x804E8068 -> 0x804E83A0 class BinStream & __rs(class BinStream & d /* r30 */, class ObjectStage & s /* r31 */) { // Local variables class ObjectDir * dir; // r28 class ObjPtr dirPtr; // r1+0x8 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; // -> static int gRev; } // Range: 0x804E83A0 -> 0x804E84A4 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjectStage & s /* r31 */) { // Local variables class ObjPtr dirPtr; // r1+0x14 // References // -> struct [anonymous] __vt__32ObjPtr; // -> struct [anonymous] __vt__29ObjPtr<9ObjectDir,9ObjectDir>; } // Range: 0x804E84A4 -> 0x804E851C void * PropKeys::PropKeys(class PropKeys * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__8PropKeys; } // Range: 0x804E851C -> 0x804E85D4 void * PropKeys::~PropKeys(class PropKeys * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__8PropKeys; } // Range: 0x804E85D4 -> 0x804E869C void PropKeys::SetProp(class PropKeys * const this /* r30 */) { // Local variables class DataArray * in; // r31 // References // -> class Debug TheDebug; } // Range: 0x804E869C -> 0x804E8764 int PropKeys::SetKey(class PropKeys * const this /* r30 */, float frame /* f31 */) { // Local variables float f; // r1+0x8 int i; // r31 } // Range: 0x804E8764 -> 0x804E883C void PropKeys::SetTarget(class PropKeys * const this /* r30 */, class Object * o /* r31 */) {} // Range: 0x804E883C -> 0x804E885C void Interp() {} // Range: 0x804E885C -> 0x804E88A0 void PropKeys::Save() { // References // -> class Debug TheDebug; } // Range: 0x804E88A0 -> 0x804E8994 void PropKeys::Load(class PropKeys * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int iVal; // r1+0x8 // References // -> class Debug TheDebug; // -> static int gRev; } // Range: 0x804E8994 -> 0x804E89A0 void PropKeys::Copy() {} // Range: 0x804E89A0 -> 0x804E8C2C void PropKeys::Print(class PropKeys * const this /* r29 */) { // Local variables class TextStream & d; // r31 int i; // r30 float frame; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x804E8C2C -> 0x804E8EC4 enum ExceptionID PropKeys::PropExceptionID(class Object * o /* r29 */, class DataArray * path /* r30 */) { // Local variables class String propString; // r1+0x34 } // Range: 0x804E8EC4 -> 0x804E8F44 void PropKeys::SetPropExceptionID(class PropKeys * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } class FloatKeys : public PropKeys, public Keys { // total size: 0x30 }; // Range: 0x804E8F44 -> 0x804E984C float FloatKeys::FloatAt(class FloatKeys * const this /* r31 */, float frame /* f30 */) { // Local variables float v; // f31 const float * prev; // r25 int before; // r27 int after; // r28 float f; // f0 int between; // r26 float t; // f31 float points[4]; // r1+0x8 } // Range: 0x804E984C -> 0x804E9930 void FloatKeys::SetFrame(class FloatKeys * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class ColorKeys : public PropKeys, public Keys { // total size: 0x30 }; // Range: 0x804E9930 -> 0x804E9E34 class Color ColorKeys::ColorAt(class ColorKeys * const this /* r24 */, float frame /* f31 */) { // Local variables class Color c; // r1+0x10 const class Color * prev; // r25 float v; // f0 } // Range: 0x804E9E34 -> 0x804E9F7C void ColorKeys::SetFrame(class ColorKeys * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class ObjectKeys : public PropKeys, public ObjKeys { // total size: 0x34 }; // Range: 0x804E9F7C -> 0x804EA1D4 class Object * ObjectKeys::ObjectAt(class ObjectKeys * const this /* r25 */, float frame /* f31 */) { // Local variables class Object * obj; // r1+0x8 } // Range: 0x804EA1D4 -> 0x804EA2C4 void ObjectKeys::SetFrame(class ObjectKeys * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class BoolKeys : public PropKeys, public Keys { // total size: 0x30 }; // Range: 0x804EA2C4 -> 0x804EA52C unsigned char BoolKeys::BoolAt(class BoolKeys * const this /* r23 */, float frame /* f31 */) { // Local variables unsigned char b; // r24 } // Range: 0x804EA52C -> 0x804EA610 void BoolKeys::SetFrame(class BoolKeys * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class QuatKeys : public PropKeys, public Keys { // total size: 0x30 }; // Range: 0x804EA610 -> 0x804EA920 class Quat QuatKeys::QuatAt(class Quat * q /* r24 */, class QuatKeys * const this /* r25 */, float frame /* f30 */) { // Local variables float f; // f31 const class Quat * prev; // r27 const class Quat * next; // r26 } // Range: 0x804EA920 -> 0x804EAB4C void QuatKeys::SetFrame(class QuatKeys * const this /* r31 */, float frame /* f31 */) { // Local variables class Matrix3 cur; // r1+0x60 class Vector3 scale; // r1+0x20 class Matrix3 m; // r1+0x30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } class Vector3Keys : public PropKeys, public Keys { // total size: 0x30 }; // Range: 0x804EAB4C -> 0x804EB06C class Vector3 Vector3Keys::Vector3At(class Vector3Keys * const this /* r24 */, float frame /* f31 */) { // Local variables class Vector3 v; // r1+0x10 float f; // f0 const class Vector3 * prev; // r25 } // Range: 0x804EB06C -> 0x804EB45C void Vector3Keys::SetFrame(class Vector3Keys * const this /* r31 */, float frame /* f31 */) { // Local variables class Matrix3 cur; // r1+0x70 class Vector3 rot; // r1+0x30 class Matrix3 m; // r1+0x40 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x804EB45C -> 0x804EB728 int FloatKeys::SetKey(class FloatKeys * const this /* r28 */, float frame /* f31 */) { // Local variables int retVal; // r29 } // Range: 0x804EB728 -> 0x804EBA38 int ColorKeys::SetKey(class ColorKeys * const this /* r28 */, float frame /* f31 */) { // Local variables int retVal; // r29 } // Range: 0x804EBA38 -> 0x804EBDB0 int ObjectKeys::SetKey(class ObjectKeys * const this /* r28 */, float frame /* f31 */) { // Local variables int retVal; // r29 // References // -> struct [anonymous] __vt__11ObjectStage; // -> struct [anonymous] __vt__32ObjPtr; // -> class Object * sOwner; } // Range: 0x804EBE24 -> 0x804EC0F0 int BoolKeys::SetKey(class BoolKeys * const this /* r28 */, float frame /* f31 */) { // Local variables int retVal; // r29 } // Range: 0x804EC0F0 -> 0x804EC3FC int QuatKeys::SetKey(class QuatKeys * const this /* r28 */, float frame /* f31 */) { // Local variables int retVal; // r29 } // Range: 0x804EC3FC -> 0x804EC6FC int Vector3Keys::SetKey(class Vector3Keys * const this /* r28 */, float frame /* f31 */) { // Local variables int retVal; // r29 } // Range: 0x804EC6FC -> 0x804EC794 void FloatKeys::SetToCurrentVal(class FloatKeys * const this /* r29 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EC794 -> 0x804EC8C8 void ColorKeys::SetToCurrentVal(class ColorKeys * const this /* r30 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EC8C8 -> 0x804EC9FC void ObjectKeys::SetToCurrentVal(class ObjectKeys * const this /* r29 */, int index /* r30 */) { // References // -> struct [anonymous] __vt__11ObjectStage; // -> class Object * sOwner; // -> struct [anonymous] __vt__32ObjPtr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EC9FC -> 0x804ECAA0 void BoolKeys::SetToCurrentVal(class BoolKeys * const this /* r29 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804ECAA0 -> 0x804ECCDC void QuatKeys::SetToCurrentVal(class QuatKeys * const this /* r30 */, int index /* r31 */) { // Local variables class Matrix3 m; // r1+0x20 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x804ECCDC -> 0x804ECE1C void Vector3Keys::SetToCurrentVal(class Vector3Keys * const this /* r30 */, int index /* r31 */) { // Local variables class Vector3 s; // r1+0x10 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x804ECE1C -> 0x804ED284 void FloatKeys::Copy(class FloatKeys * const this /* r25 */, const class PropKeys * keys /* r26 */) { // Local variables const class FloatKeys * rhs; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Key; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__8PropKeys; // -> struct [anonymous] __RTTI__9FloatKeys; } struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x804ED284 -> 0x804ED7DC void ColorKeys::Copy(class ColorKeys * const this /* r25 */, const class PropKeys * keys /* r26 */) { // Local variables const class ColorKeys * rhs; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P17Key; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__8PropKeys; // -> struct [anonymous] __RTTI__9ColorKeys; } struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x804ED7DC -> 0x804EDE9C void ObjectKeys::Copy(class ObjectKeys * const this /* r24 */, const class PropKeys * keys /* r27 */) { // Local variables const class ObjectKeys * rhs; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P18Key<11ObjectStage>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__11ObjectStage; // -> struct [anonymous] __RTTI__8PropKeys; // -> struct [anonymous] __RTTI__10ObjectKeys; // -> struct [anonymous] __vt__32ObjPtr; } struct { // total size: 0x8 } __RTTI__P18Key<11ObjectStage>; // size: 0x8, address: 0x808FE648 struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x804EDE9C -> 0x804EE304 void BoolKeys::Copy(class BoolKeys * const this /* r25 */, const class PropKeys * keys /* r26 */) { // Local variables const class BoolKeys * rhs; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Key; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__8PropKeys; // -> struct [anonymous] __RTTI__8BoolKeys; } struct { // total size: 0x8 } __RTTI__P6Key; // size: 0x8, address: 0x808FE660 struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x804EE304 -> 0x804EE85C void QuatKeys::Copy(class QuatKeys * const this /* r25 */, const class PropKeys * keys /* r26 */) { // Local variables const class QuatKeys * rhs; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P16Key; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__8PropKeys; // -> struct [anonymous] __RTTI__8QuatKeys; } struct { // total size: 0x8 } __RTTI__P16Key; // size: 0x8, address: 0x808FE680 struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x804EE85C -> 0x804EED84 void Vector3Keys::Copy(class Vector3Keys * const this /* r25 */, const class PropKeys * keys /* r26 */) { // Local variables const class Vector3Keys * rhs; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13Key<7Vector3>; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__8PropKeys; // -> struct [anonymous] __RTTI__11Vector3Keys; } struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x6C } __vt__11Vector3Keys; // size: 0x6C, address: 0x808FE6F0 struct { // total size: 0x8 } __RTTI__11Vector3Keys; // size: 0x8, address: 0x808FE790 struct { // total size: 0x6C } __vt__8QuatKeys; // size: 0x6C, address: 0x808FE798 struct { // total size: 0x8 } __RTTI__8QuatKeys; // size: 0x8, address: 0x808FE838 struct { // total size: 0x6C } __vt__8BoolKeys; // size: 0x6C, address: 0x808FE840 struct { // total size: 0x8 } __RTTI__8BoolKeys; // size: 0x8, address: 0x808FE8E0 struct { // total size: 0x6C } __vt__10ObjectKeys; // size: 0x6C, address: 0x808FE8E8 struct { // total size: 0x8 } __RTTI__10ObjectKeys; // size: 0x8, address: 0x808FE990 struct { // total size: 0x6C } __vt__9ColorKeys; // size: 0x6C, address: 0x808FE998 struct { // total size: 0x8 } __RTTI__9ColorKeys; // size: 0x8, address: 0x808FEA38 struct { // total size: 0x6C } __vt__9FloatKeys; // size: 0x6C, address: 0x808FEA40 struct { // total size: 0x8 } __RTTI__9FloatKeys; // size: 0x8, address: 0x808FEAE0 struct { // total size: 0x8 } __RTTI__9Keys; // size: 0x8, address: 0x808FEB10 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std54vector<6Key,Q211stlpmtx_std21StlNodeAlloc<6Key>>; // size: 0x8, address: 0x808FEB70 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std60_Vector_base<6Key,Q211stlpmtx_std21StlNodeAlloc<6Key>>; // size: 0x8, address: 0x808FEBC8 struct { // total size: 0x8 } __RTTI__31Keys; // size: 0x8, address: 0x808FEC08 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std78vector<17Key,Q211stlpmtx_std33StlNodeAlloc<17Key>>; // size: 0x8, address: 0x808FEC70 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std84_Vector_base<17Key,Q211stlpmtx_std33StlNodeAlloc<17Key>>; // size: 0x8, address: 0x808FECD0 struct { // total size: 0x8 } __RTTI__9Keys; // size: 0x8, address: 0x808FED00 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std54vector<6Key,Q211stlpmtx_std21StlNodeAlloc<6Key>>; // size: 0x8, address: 0x808FED60 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std60_Vector_base<6Key,Q211stlpmtx_std21StlNodeAlloc<6Key>>; // size: 0x8, address: 0x808FEDB8 struct { // total size: 0x8 } __RTTI__29Keys; // size: 0x8, address: 0x808FEDF0 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std76vector<16Key,Q211stlpmtx_std32StlNodeAlloc<16Key>>; // size: 0x8, address: 0x808FEE58 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std82_Vector_base<16Key,Q211stlpmtx_std32StlNodeAlloc<16Key>>; // size: 0x8, address: 0x808FEEB8 struct { // total size: 0x8 } __RTTI__23Keys<7Vector3,7Vector3>; // size: 0x8, address: 0x808FEEF0 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std70vector<13Key<7Vector3>,Q211stlpmtx_std29StlNodeAlloc<13Key<7Vector3>>>; // size: 0x8, address: 0x808FEF50 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std76_Vector_base<13Key<7Vector3>,Q211stlpmtx_std29StlNodeAlloc<13Key<7Vector3>>>; // size: 0x8, address: 0x808FEFB0 struct { // total size: 0x6C } __vt__8PropKeys; // size: 0x6C, address: 0x808FEFB8 struct { // total size: 0x8 } __RTTI__8PropKeys; // size: 0x8, address: 0x808FF030 struct { // total size: 0x8 } __RTTI__7ObjKeys; // size: 0x8, address: 0x808FF060 struct { // total size: 0x8 } __RTTI__34Keys<11ObjectStage,PQ23Hmx6Object>; // size: 0x8, address: 0x808FF0A0 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std80vector<18Key<11ObjectStage>,Q211stlpmtx_std34StlNodeAlloc<18Key<11ObjectStage>>>; // size: 0x8, address: 0x808FF108 struct { // total size: 0x8 } __RTTI__Q211stlpmtx_std86_Vector_base<18Key<11ObjectStage>,Q211stlpmtx_std34StlNodeAlloc<18Key<11ObjectStage>>>; // size: 0x8, address: 0x808FF170 struct { // total size: 0x18 } __vt__11ObjectStage; // size: 0x18, address: 0x808FF178 struct { // total size: 0x8 } __RTTI__11ObjectStage; // size: 0x8, address: 0x808FF1B0 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804EED84 -> 0x804EEEFC */ // Range: 0x804EED84 -> 0x804EEEFC class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\PropKeys.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804EEEFC -> 0x804F1390 */ // Range: 0x804EEEFC -> 0x804EEF04 unsigned char PropKeys::FrameFromIndex() {} // Range: 0x804EEF04 -> 0x804EEF0C int PropKeys::NumKeys() {} // Range: 0x804EEF0C -> 0x804EEF58 class Keys & PropKeys::AsFloatKeys() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EEF58 -> 0x804EEFA4 class Keys & PropKeys::AsColorKeys() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EEFA4 -> 0x804EEFF0 class ObjKeys & PropKeys::AsObjectKeys() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EEFF0 -> 0x804EF03C class Keys & PropKeys::AsBoolKeys() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF03C -> 0x804EF088 class Keys & PropKeys::AsQuatKeys() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF088 -> 0x804EF0D4 class Keys & PropKeys::AsVector3Keys() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF0D4 -> 0x804EF11C class Quat PropKeys::QuatAt() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF11C -> 0x804EF168 unsigned char PropKeys::BoolAt() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF168 -> 0x804EF1B4 class Object * PropKeys::ObjectAt() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF1B4 -> 0x804EF220 class Color PropKeys::ColorAt() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF220 -> 0x804EF26C float PropKeys::FloatAt() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF26C -> 0x804EF274 unsigned char PropKeys::SetFrameException() {} // Range: 0x804EF274 -> 0x804EF2B8 void Vector3Keys::Load(class Vector3Keys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804EF2B8 -> 0x804EF2FC void Vector3Keys::Save(class Vector3Keys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804EF2FC -> 0x804EF314 int Vector3Keys::NumKeys() {} // Range: 0x804EF314 -> 0x804EF3B8 int Vector3Keys::RemoveKey() {} // Range: 0x804EF3B8 -> 0x804EF678 void Vector3Keys::CloneKey(class Vector3Keys * const this /* r28 */) {} // Range: 0x804EF678 -> 0x804EF6B4 unsigned char Vector3Keys::FrameFromIndex() {} // Range: 0x804EF6B4 -> 0x804EF6DC float Vector3Keys::EndFrame() {} // Range: 0x804EF6DC -> 0x804EF6E4 class Keys & Vector3Keys::AsVector3Keys() {} // Range: 0x804EF6E4 -> 0x804EF7BC void * Vector3Keys::~Vector3Keys(class Vector3Keys * const this /* r30 */) {} // Range: 0x804EF7BC -> 0x804EF804 class Vector3 PropKeys::Vector3At() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804EF804 -> 0x804EF848 void QuatKeys::Load(class QuatKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804EF848 -> 0x804EF88C void QuatKeys::Save(class QuatKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804EF88C -> 0x804EF8A4 int QuatKeys::NumKeys() {} // Range: 0x804EF8A4 -> 0x804EF948 int QuatKeys::RemoveKey() {} // Range: 0x804EF948 -> 0x804EFC10 void QuatKeys::CloneKey(class QuatKeys * const this /* r28 */) {} // Range: 0x804EFC10 -> 0x804EFC4C unsigned char QuatKeys::FrameFromIndex() {} // Range: 0x804EFC4C -> 0x804EFC74 float QuatKeys::EndFrame() {} // Range: 0x804EFC74 -> 0x804EFC7C class Keys & QuatKeys::AsQuatKeys() {} // Range: 0x804EFC7C -> 0x804EFD54 void * QuatKeys::~QuatKeys(class QuatKeys * const this /* r30 */) {} // Range: 0x804EFD54 -> 0x804EFD98 void BoolKeys::Load(class BoolKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804EFD98 -> 0x804EFDDC void BoolKeys::Save(class BoolKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804EFDDC -> 0x804EFDF4 int BoolKeys::NumKeys() {} // Range: 0x804EFDF4 -> 0x804EFE80 int BoolKeys::RemoveKey() {} // Range: 0x804EFE80 -> 0x804F011C void BoolKeys::CloneKey(class BoolKeys * const this /* r28 */) {} // Range: 0x804F011C -> 0x804F0158 unsigned char BoolKeys::FrameFromIndex() {} // Range: 0x804F0158 -> 0x804F0180 float BoolKeys::EndFrame() {} // Range: 0x804F0180 -> 0x804F0188 class Keys & BoolKeys::AsBoolKeys() {} // Range: 0x804F0188 -> 0x804F0260 void * BoolKeys::~BoolKeys(class BoolKeys * const this /* r30 */) {} // Range: 0x804F0260 -> 0x804F02AC void ObjectKeys::Load(class ObjectKeys * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class Object * sOwner; } // Range: 0x804F02AC -> 0x804F02F0 void ObjectKeys::Save(class ObjectKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804F02F0 -> 0x804F0308 int ObjectKeys::NumKeys() {} // Range: 0x804F0308 -> 0x804F0414 int ObjectKeys::RemoveKey(class ObjectKeys * const this /* r27 */) { // References // -> struct [anonymous] __vt__32ObjPtr; } // Range: 0x804F0414 -> 0x804F0798 void ObjectKeys::CloneKey(class ObjectKeys * const this /* r28 */) { // References // -> struct [anonymous] __vt__11ObjectStage; // -> struct [anonymous] __vt__32ObjPtr; // -> class Object * sOwner; } // Range: 0x804F0798 -> 0x804F07D4 unsigned char ObjectKeys::FrameFromIndex() {} // Range: 0x804F07D4 -> 0x804F07FC float ObjectKeys::EndFrame() {} // Range: 0x804F07FC -> 0x804F0804 class ObjKeys & ObjectKeys::AsObjectKeys() {} // Range: 0x804F0804 -> 0x804F0918 void * ObjectKeys::~ObjectKeys(class ObjectKeys * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr; } // Range: 0x804F0918 -> 0x804F095C void ColorKeys::Load(class ColorKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804F095C -> 0x804F09A0 void ColorKeys::Save(class ColorKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804F09A0 -> 0x804F09B8 int ColorKeys::NumKeys() {} // Range: 0x804F09B8 -> 0x804F0A5C int ColorKeys::RemoveKey() {} // Range: 0x804F0A5C -> 0x804F0D24 void ColorKeys::CloneKey(class ColorKeys * const this /* r28 */) {} // Range: 0x804F0D24 -> 0x804F0D60 unsigned char ColorKeys::FrameFromIndex() {} // Range: 0x804F0D60 -> 0x804F0D88 float ColorKeys::EndFrame() {} // Range: 0x804F0D88 -> 0x804F0D90 class Keys & ColorKeys::AsColorKeys() {} // Range: 0x804F0D90 -> 0x804F0E68 void * ColorKeys::~ColorKeys(class ColorKeys * const this /* r30 */) {} // Range: 0x804F0E68 -> 0x804F0EAC void FloatKeys::Load(class FloatKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804F0EAC -> 0x804F0EF0 void FloatKeys::Save(class FloatKeys * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x804F0EF0 -> 0x804F0F08 int FloatKeys::NumKeys() {} // Range: 0x804F0F08 -> 0x804F0F94 int FloatKeys::RemoveKey() {} // Range: 0x804F0F94 -> 0x804F1230 void FloatKeys::CloneKey(class FloatKeys * const this /* r28 */) {} // Range: 0x804F1230 -> 0x804F126C unsigned char FloatKeys::FrameFromIndex() {} // Range: 0x804F126C -> 0x804F1294 float FloatKeys::EndFrame() {} // Range: 0x804F1294 -> 0x804F129C class Keys & FloatKeys::AsFloatKeys() {} // Range: 0x804F129C -> 0x804F1374 void * FloatKeys::~FloatKeys(class FloatKeys * const this /* r30 */) {} // Range: 0x804F1374 -> 0x804F1378 void PropKeys::SetToCurrentVal() {} // Range: 0x804F1378 -> 0x804F1380 int PropKeys::RemoveKey() {} // Range: 0x804F1380 -> 0x804F1384 void PropKeys::CloneKey() {} // Range: 0x804F1384 -> 0x804F1388 void PropKeys::SetFrame() {} // Range: 0x804F1388 -> 0x804F1390 float PropKeys::EndFrame() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F1390 -> 0x804F1420 */ // Range: 0x804F1390 -> 0x804F13A8 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x804F13A8 -> 0x804F13C0 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x804F13C0 -> 0x804F13D8 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x804F13D8 -> 0x804F13F0 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x804F13F0 -> 0x804F1408 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x804F1408 -> 0x804F1420 struct __false_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F1420 -> 0x804F263C */ // Range: 0x804F1420 -> 0x804F1478 class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x804F1478 -> 0x804F14E8 void vector::_M_fill_insert() {} // Range: 0x804F14E8 -> 0x804F1540 class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x804F1540 -> 0x804F15B0 void vector::_M_fill_insert() {} // Range: 0x804F15B0 -> 0x804F1608 class Key * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x804F1608 -> 0x804F1678 void vector::_M_fill_insert() {} // Range: 0x804F1678 -> 0x804F16A4 void _Vector_base::_M_throw_out_of_range() {} // Range: 0x804F16A4 -> 0x804F16D0 void _Vector_base::_M_throw_out_of_range() {} // Range: 0x804F16D0 -> 0x804F16FC void _Vector_base::_M_throw_out_of_range() {} // Range: 0x804F16FC -> 0x804F18E8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6Key; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804F18E8 -> 0x804F1AD0 void vector::_M_fill_insert_aux() { // Local variables class Key __x_copy; // r1+0x20 unsigned long __elems_after; // r9 class Key * __old_finish; // r0 } // Range: 0x804F1AD0 -> 0x804F1D1C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P16Key; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804F1D1C -> 0x804F1FBC void vector::_M_fill_insert_aux() { // Local variables class Key __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class Key * __old_finish; // r0 } // Range: 0x804F1FBC -> 0x804F22A8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Key * __pos /* r26 */, const class Key & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Key * __new_finish; // r29 // References // -> struct [anonymous] __vt__11ObjectStage; // -> struct [anonymous] __vt__32ObjPtr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P18Key<11ObjectStage>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x804F22A8 -> 0x804F263C void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class Key * __pos /* r27 */, unsigned long __n /* r28 */, const class Key & __x /* r29 */) { // Local variables class Key __x_copy; // r1+0x20 unsigned long __elems_after; // r30 class Key * __old_finish; // r0 // References // -> struct [anonymous] __vt__11ObjectStage; // -> struct [anonymous] __vt__32ObjPtr; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F263C -> 0x804F2E50 */ // Range: 0x804F263C -> 0x804F26C4 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804F26C4 -> 0x804F274C class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804F274C -> 0x804F27D4 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804F27D4 -> 0x804F285C class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804F285C -> 0x804F28E4 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804F28E4 -> 0x804F296C class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } // Range: 0x804F296C -> 0x804F2AE4 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 class Key * t; // r29 } // Range: 0x804F2AE4 -> 0x804F2C18 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Key * t; // r29 } // Range: 0x804F2C18 -> 0x804F2E50 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class Key * t; // r26 // References // -> struct [anonymous] __vt__11ObjectStage; // -> class Object * sOwner; // -> struct [anonymous] __vt__32ObjPtr; } /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F2E50 -> 0x804F323C */ // Range: 0x804F2E50 -> 0x804F2E98 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804F2E98 -> 0x804F2F00 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804F2F00 -> 0x804F2F80 class BinStream & __rs(class BinStream & d /* r30 */, class Key & i /* r31 */) {} // Range: 0x804F2F80 -> 0x804F2FD8 class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x804F2FD8 -> 0x804F3078 class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x804F3078 -> 0x804F30BC class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x804F30BC -> 0x804F3114 class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x804F3114 -> 0x804F31B4 class BinStream & __ls(class BinStream & d /* r31 */) {} // Range: 0x804F31B4 -> 0x804F323C class BinStream & __ls(class BinStream & d /* r31 */) {} /* Compile unit: C:\rockband2\system\src\rndobj\PropAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F323C -> 0x804F3F84 */ class DataArray * types; // size: 0x4, address: 0x80A53708 class Symbol name; // size: 0x4, address: 0x80A53710 // Range: 0x804F323C -> 0x804F32E4 void * RndPropAnim::RndPropAnim(class RndPropAnim * const this /* r30 */) { // References // -> struct [anonymous] __vt__11RndPropAnim; } class _List_node : public _List_node_base { // total size: 0xC public: class PropKeys * _M_data; // offset 0x8, size 0x4 }; // Range: 0x804F32E4 -> 0x804F33A0 void * RndPropAnim::~RndPropAnim(class RndPropAnim * const this /* r30 */) { // References // -> struct [anonymous] __vt__11RndPropAnim; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x804F33A0 -> 0x804F3494 void RndPropAnim::Replace(class RndPropAnim * const this /* r27 */, class Object * from /* r28 */, class Object * to /* r29 */) { // Local variables struct _List_iterator i; // r1+0x1C class PropKeys * keys; // r30 } static int PROPANIM_REV; // size: 0x4, address: 0x80A47388 static int gRev; // size: 0x4, address: 0x80A53714 // Range: 0x804F3494 -> 0x804F34D8 void RndPropAnim::Save() { // References // -> class Debug TheDebug; } // Range: 0x804F34D8 -> 0x804F36B0 void RndPropAnim::Load(class RndPropAnim * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables class ObjOwnerPtr target; // r1+0x14 int size; // r1+0x10 int i; // r31 int keysType; // r1+0xC class PropKeys * keys; // r0 // References // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> class Debug TheDebug; // -> static int PROPANIM_REV; // -> static int gRev; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x804F36B0 -> 0x804F37AC void RndPropAnim::Copy(class RndPropAnim * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndPropAnim * m; // r0 struct _List_iterator i; // r1+0x18 class PropKeys * newKeys; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndPropAnim; } // Range: 0x804F37AC -> 0x804F3850 float RndPropAnim::EndFrame(class RndPropAnim * const this /* r31 */) { // Local variables float frame; // r1+0x18 struct _List_iterator i; // r1+0x14 } // Range: 0x804F3850 -> 0x804F39C0 void RndPropAnim::SetFrame(class RndPropAnim * const this /* r28 */, float frame /* f30 */, float blend /* f31 */) { // Local variables struct _List_iterator i; // r1+0x10 class ObjKeys & eventKeys; // r0 int i; // r29 float t; // f1 class EventTrigger * trigger; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12EventTrigger; } // Range: 0x804F39C0 -> 0x804F3A40 void RndPropAnim::SetKey(class RndPropAnim * const this /* r31 */, float frame /* f31 */) { // Local variables struct _List_iterator i; // r1+0x10 } // Range: 0x804F3A40 -> 0x804F3B04 class PropKeys * RndPropAnim::GetKeys(class RndPropAnim * const this /* r28 */, class Object * obj /* r29 */, class DataArray * prop /* r30 */) { // Local variables struct _List_iterator it; // r1+0x10 } // Range: 0x804F3B04 -> 0x804F3E70 class PropKeys * RndPropAnim::AddKeys(class RndPropAnim * const this /* r29 */, class Object * obj /* r27 */, class DataArray * prop /* r30 */, enum AnimKeysType keysType /* r28 */) { // Local variables class PropKeys * keys; // r31 class DataNode n; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> struct [anonymous] __vt__11Vector3Keys; // -> struct [anonymous] __vt__8QuatKeys; // -> struct [anonymous] __vt__8BoolKeys; // -> struct [anonymous] __vt__10ObjectKeys; // -> struct [anonymous] __vt__9ColorKeys; // -> struct [anonymous] __vt__9FloatKeys; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x808FF5B0 // Range: 0x804F3E70 -> 0x804F3F04 void RndPropAnim::RemoveKeys(class RndPropAnim * const this /* r31 */) {} // Range: 0x804F3F04 -> 0x804F3F84 unsigned char RndPropAnim::SyncProperty(class RndPropAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xA8 } __vt__11RndPropAnim; // size: 0xA8, address: 0x808FF5E0 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F3F84 -> 0x804F4414 */ // Range: 0x804F3F84 -> 0x804F4028 void RndPropAnim::Print(class RndPropAnim * const this /* r29 */) { // Local variables class TextStream & d; // r31 int count; // r30 struct _List_iterator it; // r1+0x10 // References // -> class Debug TheDebug; } // Range: 0x804F4028 -> 0x804F4414 class DataNode RndPropAnim::Handle(class RndPropAnim * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\rndobj\PropAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F4414 -> 0x804F45EC */ // Range: 0x804F4414 -> 0x804F4458 class Symbol RndPropAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x804F4458 -> 0x804F45EC void RndPropAnim::SetType(class RndPropAnim * const this /* r29 */, class Symbol & RndPropAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F46B4 -> 0x804F4714 */ // Range: 0x804F46B4 -> 0x804F4714 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\Rnd.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F4714 -> 0x804F93D8 */ class Symbol name; // size: 0x4, address: 0x80A5371C class Symbol name; // size: 0x4, address: 0x80A53724 class Symbol name; // size: 0x4, address: 0x80A5372C class Symbol name; // size: 0x4, address: 0x80A53734 class Symbol name; // size: 0x4, address: 0x80A5373C static int gCurHeap; // size: 0x4, address: 0x80A53740 // Range: 0x804F4714 -> 0x804F471C void Rnd::ShowConsole() {} // Range: 0x804F471C -> 0x804F48A8 void * Rnd::Rnd(class Rnd * const this /* r31 */) { // Local variables int i; // r5 // References // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__3Rnd; } class _List_node : public _List_node_base { // total size: 0x18 public: struct PointTest _M_data; // offset 0x8, size 0x10 }; class _List_node : public _List_node_base { // total size: 0xC public: class PostProcessor * _M_data; // offset 0x8, size 0x4 }; struct SortPostProc { // total size: 0x1 }; // Range: 0x804F48A8 -> 0x804F48E8 float Rnd::YRatio() { // Local variables float ratio[4]; // r1+0x8 } // Range: 0x804F48E8 -> 0x804F48FC static void TerminateCallback() { // References // -> class Rnd & TheRnd; } // Range: 0x804F48FC -> 0x804F4998 void Rnd::DrawRectScreen() { // Local variables float w; // f4 float h; // f1 } // Range: 0x804F4998 -> 0x804F4A30 float Rnd::DrawStringScreen() { // Local variables float w; // f2 float h; // f31 } // Range: 0x804F4A30 -> 0x804F4BF4 void Rnd::SetupFont(class Rnd * const this /* r29 */) { // Local variables int i; // r31 class DataArray * lower; // r30 int j; // r27 class DataArray * line; // r26 int k; // r25 float y; // f0 } // Range: 0x804F4BF4 -> 0x804F5800 void Rnd::Init(class Rnd * const this /* r30 */) { // Local variables class DataArray * config; // r29 // References // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> const char * kAssertStr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> class ObjectDir * sMainDir; } class RndSet : public Object { // total size: 0x48 protected: class ObjPtrList mObjects; // offset 0x28, size 0x14 class vector mProps; // offset 0x3C, size 0xC }; class RndTransArray : public RndAnimatable, public RndTransformable { // total size: 0x130 class ObjPtrList mTargets; // offset 0xC8, size 0x14 class TransLayout * mLayout; // offset 0xDC, size 0x4 class GridLayout * mGridLayout; // offset 0xE0, size 0x4 class RingLayout * mRingLayout; // offset 0xE4, size 0x4 class TnmLayout * mTnmLayout; // offset 0xE8, size 0x4 }; struct _GXTlutObj { // total size: 0xC unsigned long dummy[3]; // offset 0x0, size 0xC }; enum _GXTexMapID { GX_TEXMAP0 = 0, GX_TEXMAP1 = 1, GX_TEXMAP2 = 2, GX_TEXMAP3 = 3, GX_TEXMAP4 = 4, GX_TEXMAP5 = 5, GX_TEXMAP6 = 6, GX_TEXMAP7 = 7, GX_MAX_TEXMAP = 8, GX_TEXMAP_NULL = 255, GX_TEX_DISABLE = 256, }; class WiiTex : public RndTex, public WiiDrawTarget { // total size: 0xF8 struct _GXTexObj mTexture; // offset 0x7C, size 0x20 unsigned char * mImageData; // offset 0x9C, size 0x4 unsigned long mFormat; // offset 0xA0, size 0x4 struct _GXTexObj mAlphaTexture; // offset 0xA4, size 0x20 unsigned char * mAlphaImageData; // offset 0xC4, size 0x4 int mHasAlpha; // offset 0xC8, size 0x4 unsigned char * mMovieImage[2]; // offset 0xCC, size 0x8 unsigned char mLoading; // offset 0xD4, size 0x1 struct _GXTlutObj mPalette; // offset 0xD8, size 0xC unsigned char * mPaletteData; // offset 0xE4, size 0x4 int mExtension; // offset 0xE8, size 0x4 unsigned char mDisableFiltering; // offset 0xEC, size 0x1 unsigned char mAlleyTarget; // offset 0xED, size 0x1 int mLockInfo; // offset 0xF0, size 0x4 int mSize; // offset 0xF4, size 0x4 }; class ObjOwnerPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class WiiTex * mPtr; // offset 0x8, size 0x4 }; class RndTexMovie : public RndDrawable, public RndPollable { // total size: 0xA0 protected: class ObjOwnerPtr mTex; // offset 0x3C, size 0xC unsigned char mLoop; // offset 0x48, size 0x1 unsigned char mPreload; // offset 0x49, size 0x1 unsigned char mDrawPreClear; // offset 0x4A, size 0x1 class FilePath mFile; // offset 0x4C, size 0xC class Movie mMovie; // offset 0x58, size 0x4 }; class RndScreenMask : public RndDrawable { // total size: 0xA0 protected: class ObjPtr mMat; // offset 0x34, size 0xC class Color mColor; // offset 0x40, size 0x10 class Rect mRect; // offset 0x50, size 0x10 unsigned char mUseCurrentRect; // offset 0x60, size 0x1 }; // Range: 0x804F5800 -> 0x804F58BC void Rnd::Terminate(class Rnd * const this /* r31 */) { // References // -> class Debug TheDebug; } static class DebugWarner _dw; // size: 0x100, address: 0x809804A8 // Range: 0x804F58BC -> 0x804F5B00 void Rnd::TestPoint(class Rnd * const this /* r29 */, class RndFlare * f /* r30 */) { // Local variables class Vector2 v2; // r1+0x10 float dist; // f31 struct PointTest p; // r1+0x18 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> class RndCam * sCurrent; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node; // size: 0x8, address: 0x808FF7E0 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x804F5B00 -> 0x804F5BAC void Rnd::RemovePointTest(class Rnd * const this /* r29 */, class RndFlare * f /* r30 */) { // Local variables struct _List_iterator i; // r1+0x1C } static class DataArray * timerScript; // size: 0x4, address: 0x80A53744 // Range: 0x804F5BAC -> 0x804F6120 float Rnd::DrawTimers(class Rnd * const this /* r30 */, float topY /* f27 */) { // Local variables int count; // r31 struct _List_iterator t; // r1+0x58 float timerHeight; // f31 float topMargin; // f30 float leftMargin; // f29 class Rect rect; // r1+0xB0 class Color color; // r1+0xA0 class Color budgetColor; // r1+0x90 class Color worstColor; // r1+0x80 float sx; // f28 int i; // r29 class Vector2 place; // r1+0x68 float ms; // f0 // References // -> class list sTimers; // -> static class DataArray * timerScript; } // Range: 0x804F6120 -> 0x804F61C0 void Rnd::RegisterPostProcessor(class Rnd * const this /* r30 */, class PostProcessor * p /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node; // size: 0x8, address: 0x808FF838 // Range: 0x804F61C0 -> 0x804F6254 void Rnd::UnregisterPostProcessor(class PostProcessor * p /* r31 */) {} // Range: 0x804F627C -> 0x804F637C void Rnd::BeginDrawing(class Rnd * const this /* r31 */) { // References // -> class list sTimers; } // Range: 0x804F637C -> 0x804F63DC void Rnd::EndWorld(class Rnd * const this /* r31 */) {} // Range: 0x804F63DC -> 0x804F6444 void Rnd::DoWorldEnd() { // Local variables struct _List_iterator postIter; // r1+0x10 struct _List_iterator postEnd; // r1+0xC } // Range: 0x804F6444 -> 0x804F64AC void Rnd::DoPostProcess() { // Local variables struct _List_iterator postIter; // r1+0x10 struct _List_iterator postEnd; // r1+0xC } // Range: 0x804F64AC -> 0x804F652C void Rnd::DrawPreClear() { // Local variables class iterator meshItr; // r1+0x18 } static class Timer * _t; // size: 0x4, address: 0x80A5374C // Range: 0x804F652C -> 0x804F6634 void Rnd::EndDrawing(class Rnd * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class RndCam * sCurrent; // -> static class Timer * _t; } // Range: 0x804F6634 -> 0x804F6690 void Rnd::SetShowTimers(class Rnd * const this /* r30 */, unsigned char s /* r31 */) {} // Range: 0x804F6690 -> 0x804F669C unsigned char Rnd::ShowTimers() {} // Range: 0x804F669C -> 0x804F6704 float Rnd::UpdateOverlay(float topY /* f31 */) {} static class Timer * cpuTimer; // size: 0x4, address: 0x80A53754 static class Timer * gsTimer; // size: 0x4, address: 0x80A5375C // Range: 0x804F6704 -> 0x804F6878 void Rnd::UpdateRate(class Rnd * const this /* r29 */) { // References // -> static class Timer * gsTimer; // -> static class Timer * cpuTimer; } // Range: 0x804F6878 -> 0x804F6904 void Rnd::UpdateHeap(class Rnd * const this /* r30 */) { // Local variables int free; // r1+0x10 int frag; // r1+0xC int biggest; // r1+0x8 // References // -> static int gCurHeap; } // Range: 0x804F6904 -> 0x804F6DDC void Rnd::CreateDefaults(class Rnd * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__6RndMat; // -> class Symbol name; // -> struct [anonymous] __RTTI__8RndLight; // -> class Symbol name; // -> struct [anonymous] __RTTI__10RndEnviron; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class Symbol name; // -> class ObjectDir * sMainDir; } // Range: 0x804F6DDC -> 0x804F6F64 class DataNode Rnd::DumpMaterialList() { // Local variables char name[64]; // r1+0x8 int a; // r31 int x; // r31 class File * filePtr; // r29 // References // -> class RndMat * materialTrackingList[1024]; // -> int materialTrackingCount; // -> class Debug TheDebug; } // Range: 0x804F6F64 -> 0x804F716C class DataNode Rnd::DumpTextureList() { // Local variables char name[64]; // r1+0x18 int a; // r30 int x; // r30 int total_bytes; // r28 class File * j; // r27 int total_bytes_wii; // r27 class WiiTex * tx; // r0 int bytes; // r9 // References // -> class RndTex * textureTrackingList[1024]; // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A53764 static class Symbol _s; // size: 0x4, address: 0x80A5376C static class Symbol _s; // size: 0x4, address: 0x80A53774 static class Symbol _s; // size: 0x4, address: 0x80A5377C static class Symbol _s; // size: 0x4, address: 0x80A53784 static class Symbol _s; // size: 0x4, address: 0x80A5378C static class Symbol _s; // size: 0x4, address: 0x80A53794 static class Symbol _s; // size: 0x4, address: 0x80A5379C static class Symbol _s; // size: 0x4, address: 0x80A537A4 static class Symbol _s; // size: 0x4, address: 0x80A537AC static class Symbol _s; // size: 0x4, address: 0x80A537B4 static class Symbol _s; // size: 0x4, address: 0x80A537BC static class Symbol _s; // size: 0x4, address: 0x80A537C4 static class Symbol _s; // size: 0x4, address: 0x80A537CC static class Symbol _s; // size: 0x4, address: 0x80A537D4 static class Symbol _s; // size: 0x4, address: 0x80A537DC static class Symbol _s; // size: 0x4, address: 0x80A537E4 static class Symbol _s; // size: 0x4, address: 0x80A537EC static class Symbol _s; // size: 0x4, address: 0x80A537F4 static class Symbol _s; // size: 0x4, address: 0x80A537FC static class Symbol _s; // size: 0x4, address: 0x80A53804 static class Symbol _s; // size: 0x4, address: 0x80A5380C static class Symbol _s; // size: 0x4, address: 0x80A53814 static class Symbol _s; // size: 0x4, address: 0x80A5381C static class Symbol _s; // size: 0x4, address: 0x80A53824 static class Symbol _s; // size: 0x4, address: 0x80A5382C static class Symbol _s; // size: 0x4, address: 0x80A53834 static class Symbol _s; // size: 0x4, address: 0x80A5383C static class Symbol _s; // size: 0x4, address: 0x80A53844 static class Symbol _s; // size: 0x4, address: 0x80A5384C static class Symbol _s; // size: 0x4, address: 0x80A53854 static class Symbol _s; // size: 0x4, address: 0x80A5385C static class Symbol _s; // size: 0x4, address: 0x80A53864 static class Symbol _s; // size: 0x4, address: 0x80A5386C static class Symbol _s; // size: 0x4, address: 0x80A53874 static class Symbol _s; // size: 0x4, address: 0x80A5387C static class Symbol _s; // size: 0x4, address: 0x80A53884 static class Symbol _s; // size: 0x4, address: 0x80A5388C static class Symbol _s; // size: 0x4, address: 0x80A53894 static class Symbol _s; // size: 0x4, address: 0x80A5389C static class Symbol _s; // size: 0x4, address: 0x80A538A4 static class Symbol _s; // size: 0x4, address: 0x80A538AC static class Symbol _s; // size: 0x4, address: 0x80A538B4 static class Symbol _s; // size: 0x4, address: 0x80A538BC static class Symbol _s; // size: 0x4, address: 0x80A538C4 static class Symbol _s; // size: 0x4, address: 0x80A538CC static class Symbol _s; // size: 0x4, address: 0x80A538D4 // Range: 0x804F716C -> 0x804F8850 class DataNode Rnd::Handle(class Rnd * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 class DataNode r; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x804F8850 -> 0x804F8914 class DataNode Rnd::OnShowOverlay(const class DataArray * msg /* r30 */) { // Local variables class RndOverlay * o; // r31 } // Range: 0x804F8914 -> 0x804F89C0 class DataNode Rnd::OnToggleHeap(class Rnd * const this /* r31 */) { // Local variables int numHeaps; // r0 // References // -> static int gCurHeap; } // Range: 0x804F89C0 -> 0x804F8AC4 class DataNode Rnd::OnReflect(const class DataArray * a /* r29 */) { // Local variables class RndOverlay * o; // r0 int i; // r30 // References // -> class Debug TheDebug; } // Range: 0x804F8AC4 -> 0x804F8B40 class DataNode Rnd::OnToggleOverlay(const class DataArray * a /* r31 */) { // Local variables class RndOverlay * o; // r0 } // Range: 0x804F8B40 -> 0x804F8B48 void Rnd::SetProcAndLock() {} // Range: 0x804F8B48 -> 0x804F8B50 unsigned char Rnd::ProcAndLock() {} // Range: 0x804F8B50 -> 0x804F8B78 void Rnd::ResetProcCounter() {} // Range: 0x804F8B78 -> 0x804F8D70 void Rnd::AddPreClearDraw(class Rnd * const this /* r31 */, class RndDrawable * object /* r28 */) { // Local variables class iterator meshItr; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804F8D70 -> 0x804F8ED8 void Rnd::RemovePreClearDraw(class Rnd * const this /* r28 */, class RndDrawable * object /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804F8ED8 -> 0x804F8F10 int Rnd::GetUserNumber() { // Local variables int count; // r5 int i; // r6 } // Range: 0x804F8F10 -> 0x804F8F80 void Rnd::AddUserNumber() { // Local variables unsigned char userExists; // r6 int i; // r7 int i; // r6 } // Range: 0x804F8F80 -> 0x804F8FB4 void Rnd::RemoveUserNumber() { // Local variables int i; // r6 } // Range: 0x804F8FB4 -> 0x804F8FDC void Rnd::RemoveAllUserNumbers() { // Local variables int i; // r6 } // Range: 0x804F8FDC -> 0x804F901C class DataNode Rnd::OnShowConsole() {} // Range: 0x804F901C -> 0x804F9074 class DataNode Rnd::OnToggleTimers(class Rnd * const this /* r31 */) {} // Range: 0x804F9074 -> 0x804F9088 class DataNode Rnd::OnClearColorR() {} // Range: 0x804F9088 -> 0x804F909C class DataNode Rnd::OnClearColorG() {} // Range: 0x804F909C -> 0x804F90B0 class DataNode Rnd::OnClearColorB() {} // Range: 0x804F90B0 -> 0x804F9114 class DataNode Rnd::OnClearColorPacked() {} // Range: 0x804F9114 -> 0x804F9208 class DataNode Rnd::OnSetClearColor(class Rnd * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x804F9208 -> 0x804F9360 class DataNode Rnd::OnSetClearColorPacked(class Rnd * const this /* r28 */, const class DataArray * a /* r29 */) { // Local variables class Color c; // r1+0x10 } // Range: 0x804F9360 -> 0x804F93D8 class DataNode Rnd::OnScreenDump(class Rnd * const this /* r30 */, const class DataArray * a /* r31 */) {} struct { // total size: 0xDC } __vt__3Rnd; // size: 0xDC, address: 0x808FFD5C struct { // total size: 0x8 } __RTTI__3Rnd; // size: 0x8, address: 0x808FFE58 /* Compile unit: C:\rockband2\system\src\rndobj\Overlay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F93D8 -> 0x804F93E0 */ // Range: 0x804F93D8 -> 0x804F93E0 unsigned char RndOverlay::Showing() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F93E0 -> 0x804F943C */ // Range: 0x804F93E0 -> 0x804F9438 void * list::~list(class list * const this /* r30 */) {} // Range: 0x804F9438 -> 0x804F943C class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F943C -> 0x804F97E4 */ // Range: 0x804F943C -> 0x804F94B8 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r31 */, float t2 /* f30 */, float t3 /* f31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x804F94B8 -> 0x804F953C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r27 */, int t2 /* r28 */, int t3 /* r29 */, int t4 /* r30 */, int t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x804F953C -> 0x804F95FC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r22 */, const char * t2 /* r23 */, int t3 /* r24 */, int t4 /* r25 */, int t5 /* r26 */, int t6 /* r27 */, int t7 /* r28 */, int t8 /* r29 */, int t9 /* r30 */, enum Type t10 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\rndobj\Rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F97E4 -> 0x804F9854 */ // Range: 0x804F97E4 -> 0x804F97EC void Rnd::SetAspect() {} // Range: 0x804F97EC -> 0x804F97F4 void Rnd::SetSync() {} // Range: 0x804F97F4 -> 0x804F97FC void Rnd::SetDrawEnabled() {} // Range: 0x804F97FC -> 0x804F9804 unsigned char Rnd::IsDrawEnabled() {} // Range: 0x804F9804 -> 0x804F980C void Rnd::SetInGame() {} // Range: 0x804F980C -> 0x804F9814 unsigned char Rnd::InGame() {} // Range: 0x804F9814 -> 0x804F9818 void Rnd::ScreenDump() {} // Range: 0x804F9818 -> 0x804F9820 unsigned char Rnd::VisibleSets() {} // Range: 0x804F9820 -> 0x804F9828 unsigned char Rnd::EndQuery() {} // Range: 0x804F9828 -> 0x804F9830 int Rnd::BeginQuery() {} // Range: 0x804F9830 -> 0x804F9838 class RndCam * Rnd::GetShadowCam() {} // Range: 0x804F9838 -> 0x804F9840 class RndTex * Rnd::GetShadowMap() {} // Range: 0x804F9840 -> 0x804F9844 void Rnd::CaptureNextGpuFrame() {} // Range: 0x804F9844 -> 0x804F9848 void Rnd::SetShadowMap() {} // Range: 0x804F9848 -> 0x804F984C void Rnd::MakeDrawTarget() {} // Range: 0x804F984C -> 0x804F9850 void Rnd::ReInit() {} // Range: 0x804F9850 -> 0x804F9854 void Rnd::PreInit() {} /* Compile unit: C:\rockband2\system\src\rndobj\Fur.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9854 -> 0x804F98B0 */ // Range: 0x804F9854 -> 0x804F98B0 class Object * RndFur::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Set.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F98B0 -> 0x804F990C */ // Range: 0x804F98B0 -> 0x804F990C class Object * RndSet::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\AnimFilter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F990C -> 0x804F9980 */ // Range: 0x804F990C -> 0x804F9980 class Object * RndAnimFilter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\DeferDraw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9980 -> 0x804F99F8 */ // Range: 0x804F9980 -> 0x804F99F8 class Object * RndDeferDraw::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Flare.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F99F8 -> 0x804F9A70 */ // Range: 0x804F99F8 -> 0x804F9A70 class Object * RndFlare::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Blur.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9A70 -> 0x804F9AE8 */ // Range: 0x804F9A70 -> 0x804F9AE8 class Object * RndBlur::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Cam.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9AE8 -> 0x804F9B5C */ // Range: 0x804F9AE8 -> 0x804F9B5C class Object * RndCam::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Mesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9B5C -> 0x804F9BD4 */ // Range: 0x804F9B5C -> 0x804F9BD4 class Object * RndMesh::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\MeshDeform.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9BD4 -> 0x804F9C34 */ // Range: 0x804F9BD4 -> 0x804F9C34 class Object * RndMeshDeform::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Font.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9C34 -> 0x804F9C94 */ // Range: 0x804F9C34 -> 0x804F9C94 class Object * RndFont::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Env.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9C94 -> 0x804F9CF4 */ // Range: 0x804F9C94 -> 0x804F9CF4 class Object * RndEnviron::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Mat.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9CF4 -> 0x804F9D50 */ // Range: 0x804F9CF4 -> 0x804F9D50 class Object * RndMat::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9D50 -> 0x804F9DAC */ // Range: 0x804F9D50 -> 0x804F9DAC class Object * RndTex::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\CubeTex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9DAC -> 0x804F9E0C */ // Range: 0x804F9DAC -> 0x804F9E0C class Object * RndCubeTex::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Movie.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9E0C -> 0x804F9E80 */ // Range: 0x804F9E0C -> 0x804F9E80 class Object * RndMovie::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Lit.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9E80 -> 0x804F9EF8 */ // Range: 0x804F9E80 -> 0x804F9EF8 class Object * RndLight::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\TransAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9EF8 -> 0x804F9F6C */ // Range: 0x804F9EF8 -> 0x804F9F6C class Object * RndTransAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\LitAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9F6C -> 0x804F9FE0 */ // Range: 0x804F9F6C -> 0x804F9FE0 class Object * RndLightAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\MeshAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804F9FE0 -> 0x804FA054 */ // Range: 0x804F9FE0 -> 0x804FA054 class Object * RndMeshAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\MatAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA054 -> 0x804FA0C8 */ // Range: 0x804FA054 -> 0x804FA0C8 class Object * RndMatAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\TransArray.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA0C8 -> 0x804FA13C */ // Range: 0x804FA0C8 -> 0x804FA13C class Object * RndTransArray::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Line.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA13C -> 0x804FA1B4 */ // Range: 0x804FA13C -> 0x804FA1B4 class Object * RndLine::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Part.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA1B4 -> 0x804FA228 */ // Range: 0x804FA1B4 -> 0x804FA228 class Object * RndParticleSys::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\PartAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA228 -> 0x804FA29C */ // Range: 0x804FA228 -> 0x804FA29C class Object * RndParticleSysAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\MultiMesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA29C -> 0x804FA314 */ // Range: 0x804FA29C -> 0x804FA314 class Object * RndMultiMesh::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\MultiMeshProxy.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA314 -> 0x804FA38C */ // Range: 0x804FA314 -> 0x804FA38C class Object * RndMultiMeshProxy::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Cursor.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA38C -> 0x804FA400 */ // Range: 0x804FA38C -> 0x804FA400 class Object * RndCursor::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Morph.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA400 -> 0x804FA474 */ // Range: 0x804FA400 -> 0x804FA474 class Object * RndMorph::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\CamAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA474 -> 0x804FA4E8 */ // Range: 0x804FA474 -> 0x804FA4E8 class Object * RndCamAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\EnvAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA4E8 -> 0x804FA55C */ // Range: 0x804FA4E8 -> 0x804FA55C class Object * RndEnvAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA55C -> 0x804FA5D4 */ // Range: 0x804FA55C -> 0x804FA5D4 class Object * RndTransformable::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Group.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA5D4 -> 0x804FA648 */ // Range: 0x804FA5D4 -> 0x804FA648 class Object * RndGroup::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA648 -> 0x804FA6BC */ // Range: 0x804FA648 -> 0x804FA6BC class Object * RndDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\TexMovie.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA6BC -> 0x804FA734 */ // Range: 0x804FA6BC -> 0x804FA734 class Object * RndTexMovie::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\TexRenderer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA734 -> 0x804FA7AC */ // Range: 0x804FA734 -> 0x804FA7AC class Object * RndTexRenderer::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\ScreenMask.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA7AC -> 0x804FA824 */ // Range: 0x804FA7AC -> 0x804FA824 class Object * RndScreenMask::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\PostProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA824 -> 0x804FA8C8 */ // Range: 0x804FA824 -> 0x804FA884 class Object * RndPostProc::NewObject() { // References // -> class Symbol name; } // Range: 0x804FA884 -> 0x804FA88C void DOFOverrideParams::SetDepthScale() {} // Range: 0x804FA88C -> 0x804FA898 class DOFOverrideParams & RndPostProc::DOFOverrides() { // References // -> class DOFOverrideParams sDOFOverride; } // Range: 0x804FA898 -> 0x804FA8A0 void DOFOverrideParams::SetDepthOffset() {} // Range: 0x804FA8A0 -> 0x804FA8A8 void DOFOverrideParams::SetMinBlurScale() {} // Range: 0x804FA8A8 -> 0x804FA8B0 void DOFOverrideParams::SetMinBlurOffset() {} // Range: 0x804FA8B0 -> 0x804FA8B8 void DOFOverrideParams::SetMaxBlurScale() {} // Range: 0x804FA8B8 -> 0x804FA8C0 void DOFOverrideParams::SetMaxBlurOffset() {} // Range: 0x804FA8C0 -> 0x804FA8C8 void DOFOverrideParams::SetBlurWidthScale() {} /* Compile unit: C:\rockband2\system\src\rndobj\Distort.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA8C8 -> 0x804FA940 */ // Range: 0x804FA8C8 -> 0x804FA940 class Object * RndDistort::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\PropAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA940 -> 0x804FA9B4 */ // Range: 0x804FA940 -> 0x804FA9B4 class Object * RndPropAnim::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FA9B4 -> 0x804FAF30 */ // Range: 0x804FA9B4 -> 0x804FAD60 void _S_sort(class list & __that /* r28 */, struct SortPostProc & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x804FAD60 -> 0x804FAE70 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x804FAE70 -> 0x804FAED0 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x804FAED0 -> 0x804FAF30 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\Draw.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FAF30 -> 0x804FAF50 */ // Range: 0x804FAF30 -> 0x804FAF38 enum HighlightStyle RndDrawable::GetHighlightStyle() { // References // -> enum HighlightStyle sHighlightStyle; } // Range: 0x804FAF38 -> 0x804FAF40 void RndDrawable::SetHighlightStyle() { // References // -> enum HighlightStyle sHighlightStyle; } // Range: 0x804FAF40 -> 0x804FAF48 float RndDrawable::GetNormalDisplayLength() { // References // -> float sNormalDisplayLength; } // Range: 0x804FAF48 -> 0x804FAF50 void RndDrawable::SetNormalDisplayLength() { // References // -> float sNormalDisplayLength; } /* Compile unit: C:\rockband2\system\src\rndobj\ScreenMask.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FAF60 -> 0x804FBDEC */ class DataArray * types; // size: 0x4, address: 0x80A538D8 // Range: 0x804FAF60 -> 0x804FB094 void * RndScreenMask::RndScreenMask(class RndScreenMask * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndMat,9ObjectDir>; // -> struct [anonymous] __vt__13RndScreenMask; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x804FB094 -> 0x804FB19C void RndScreenMask::Copy(class RndScreenMask * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndScreenMask * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndScreenMask; } static int SCREENMASK_REV; // size: 0x4, address: 0x80A473B0 // Range: 0x804FB19C -> 0x804FB1E0 void RndScreenMask::Save() { // References // -> class Debug TheDebug; } // Range: 0x804FB1E0 -> 0x804FB380 void RndScreenMask::Load(class RndScreenMask * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; // -> static int SCREENMASK_REV; } static class DebugWarner _dw; // size: 0x100, address: 0x809805A8 // Range: 0x804FB380 -> 0x804FB690 void RndScreenMask::DrawShowing(class RndScreenMask * const this /* r31 */) { // Local variables float screenWidth; // f31 float screenHeight; // f30 class Rect camRect; // r1+0x48 class Rect r; // r1+0x38 class Rect camRect; // r1+0x28 class Rect r; // r1+0x18 // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> class RndCam * sCurrent; // -> class Rnd & TheRnd; } // Range: 0x804FB690 -> 0x804FBA88 class DataNode RndScreenMask::Handle(class RndScreenMask * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A538E0 static class Symbol _s; // size: 0x4, address: 0x80A538E8 static class Symbol _s; // size: 0x4, address: 0x80A538F0 static class Symbol _s; // size: 0x4, address: 0x80A538F8 static class Symbol _s; // size: 0x4, address: 0x80A53900 // Range: 0x804FBA88 -> 0x804FBDEC unsigned char RndScreenMask::SyncProperty(class RndScreenMask * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xB8 } __vt__13RndScreenMask; // size: 0xB8, address: 0x80900498 /* Compile unit: C:\rockband2\system\src\rndobj\ScreenMask.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FBDEC -> 0x804FBFD4 */ // Range: 0x804FBDEC -> 0x804FBE30 class Symbol RndScreenMask::ClassName() { // References // -> class Symbol name; } // Range: 0x804FBE30 -> 0x804FBFD4 void RndScreenMask::SetType(class RndScreenMask * const this /* r29 */, class Symbol & RndScreenMask /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Set.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FC17C -> 0x804FD3B0 */ class DataArray * types; // size: 0x4, address: 0x80A53908 // Range: 0x804FC17C -> 0x804FC1E4 void * RndSet::RndSet(class RndSet * const this /* r31 */) { // References // -> struct [anonymous] __vt__36ObjPtrList; // -> struct [anonymous] __vt__6RndSet; } // Range: 0x804FC1E4 -> 0x804FC290 unsigned char RndSet::AllowedObject(class RndSet * const this /* r29 */, class Object * o /* r30 */) { // Local variables int i; // r31 } static int REV; // size: 0x4, address: 0x80A53910 // Range: 0x804FC290 -> 0x804FC2D4 void RndSet::Save() { // References // -> class Debug TheDebug; } // Range: 0x804FC2D4 -> 0x804FC38C void RndSet::Load(class RndSet * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x804FC38C -> 0x804FC6E4 void RndSet::Copy(class RndSet * const this /* r29 */, const class Object * o /* r27 */) { // Local variables const class RndSet * v; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndSet; } static class Symbol _s; // size: 0x4, address: 0x80A53918 // Range: 0x804FC6E4 -> 0x804FCB70 class DataNode RndSet::Handle(class RndSet * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x58 class DataNode r; // r1+0x50 class DataNode _n; // r1+0x48 class iterator i; // r1+0x34 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804FCB70 -> 0x804FD01C class DataNode RndSet::OnAllowedObjects(class RndSet * const this /* r31 */) { // Local variables class list objects; // r1+0x60 class ObjDirItr i; // r1+0x68 class DataArrayPtr array; // r1+0x58 int a; // r29 struct _List_iterator i; // r1+0x38 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } static class Symbol _s; // size: 0x4, address: 0x80A53920 static class Object * milo; // size: 0x4, address: 0x80A53924 static class Message msg; // size: 0x8, address: 0x809806B8 // Range: 0x804FD01C -> 0x804FD3B0 unsigned char RndSet::SyncProperty(class RndSet * const this /* r26 */, class DataNode & _val /* r29 */, class DataArray * _prop /* r30 */, int _i /* r27 */, enum PropOp _op /* r28 */) { // Local variables class iterator i; // r1+0x30 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> static class Object * milo; // -> class ObjectDir * sMainDir; // -> static class Symbol _s; } struct { // total size: 0x54 } __vt__6RndSet; // size: 0x54, address: 0x80900980 struct { // total size: 0x8 } __RTTI__6RndSet; // size: 0x8, address: 0x809009F0 /* Compile unit: C:\rockband2\system\src\rndobj\Set.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FD5E4 -> 0x804FDB8C */ // Range: 0x804FD5E4 -> 0x804FD9D0 void RndSet::SetTypeDef(class RndSet * const this /* r29 */, class DataArray * d /* r26 */) { // Local variables class DataArray * editor; // r30 int i; // r26 class iterator o; // r1+0x5C // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x804FD9D0 -> 0x804FDA10 class Symbol RndSet::ClassName() { // References // -> class Symbol name; } // Range: 0x804FDA10 -> 0x804FDB8C void RndSet::SetType(class RndSet * const this /* r29 */, class Symbol & RndSet /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Shader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FDB8C -> 0x804FDB8C */ class NgStats { // total size: 0x2C public: int faces; // offset 0x0, size 0x4 int particles; // offset 0x4, size 0x4 int partsys; // offset 0x8, size 0x4 int reg_meshes; // offset 0xC, size 0x4 int mut_meshes; // offset 0x10, size 0x4 int bones; // offset 0x14, size 0x4 int mats; // offset 0x18, size 0x4 int cams; // offset 0x1C, size 0x4 int lights; // offset 0x20, size 0x4 int multimesh; // offset 0x24, size 0x4 int flares; // offset 0x28, size 0x4 }; /* Compile unit: C:\rockband2\system\src\rndobj\ShaderMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FDB8C -> 0x804FDB8C */ class FileEntry { // total size: 0x18 public: unsigned long long mOffset; // offset 0x0, size 0x8 int mHashedName; // offset 0x8, size 0x4 int mHashedPath; // offset 0xC, size 0x4 int mSize; // offset 0x10, size 0x4 int mUCSize; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class FileEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class FileEntry * _M_start; // offset 0x0, size 0x4 class FileEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ArkHash { // total size: 0x14 char * mHeap; // offset 0x0, size 0x4 char * mHeapEnd; // offset 0x4, size 0x4 char * mFree; // offset 0x8, size 0x4 char * * mTable; // offset 0xC, size 0x4 int mTableSize; // offset 0x10, size 0x4 }; enum Mode { kRead = 0, kWrite = 1, }; class Archive { // total size: 0x50 int mNumArkfiles; // offset 0x0, size 0x4 class vector mArkfileSizes; // offset 0x4, size 0xC class vector mArkfileNames; // offset 0x10, size 0xC class vector mFileEntries; // offset 0x1C, size 0xC class ArkHash mHashTable; // offset 0x28, size 0x14 class String mBasename; // offset 0x3C, size 0xC enum Mode mMode; // offset 0x48, size 0x4 unsigned int mMaxArkfileSize; // offset 0x4C, size 0x4 }; /* Compile unit: C:\rockband2\system\src\rndobj\ShaderOptions.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FDB8C -> 0x804FDD78 */ static class Symbol sShaderTypes[21]; // size: 0x54, address: 0x809806C0 // Range: 0x804FDB8C -> 0x804FDD58 void InitShaderOptions() { // References // -> static class Symbol sShaderTypes[21]; } static char * deprecated[4]; // size: 0x10, address: 0x80900D18 static char * str[17]; // size: 0x44, address: 0x80900D90 struct { // total size: 0x8 } __RTTI__P11ShaderMacro; // size: 0x8, address: 0x80901040 // Range: 0x804FDD58 -> 0x804FDD78 static void __sinit_\ShaderOptions_cpp() { // References // -> static class Symbol sShaderTypes[21]; } /* Compile unit: C:\rockband2\system\src\utl\Symbol.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FDD78 -> 0x804FDD84 */ // Range: 0x804FDD78 -> 0x804FDD84 void * Symbol::Symbol() { // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\rndobj\SIVideo.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FDD84 -> 0x804FE050 */ class SIVideo { // total size: 0x14 unsigned int mWidth; // offset 0x0, size 0x4 unsigned int mHeight; // offset 0x4, size 0x4 unsigned int mNumFrames; // offset 0x8, size 0x4 unsigned int mOrder; // offset 0xC, size 0x4 char * mData; // offset 0x10, size 0x4 }; // Range: 0x804FDD84 -> 0x804FDDDC void SIVideo::Reset(class SIVideo * const this /* r30 */) {} // Range: 0x804FDDDC -> 0x804FDFA0 void SIVideo::Load(class SIVideo * const this /* r29 */, class BinStream & d /* r30 */, unsigned char stream /* r31 */) { // Local variables unsigned int sig; // r1+0x14 unsigned int frameSize; // r1+0x10 unsigned int pad; // r1+0xC unsigned int rev; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x804FDFA0 -> 0x804FDFB8 int SIVideo::Bpp() {} // Range: 0x804FDFB8 -> 0x804FDFF8 int SIVideo::FrameSize(const class SIVideo * const this /* r31 */) {} // Range: 0x804FDFF8 -> 0x804FE050 char * SIVideo::Frame(class SIVideo * const this /* r30 */, int i /* r31 */) {} /* Compile unit: C:\rockband2\system\src\rndobj\Tex.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x804FE050 -> 0x805006CC */ class DataArray * types; // size: 0x4, address: 0x80A53930 class RndTex * textureTrackingList[1024]; // size: 0x1000, address: 0x80980718 int textureTrackingCount; // size: 0x4, address: 0x80A53938 unsigned char textureTrackingActive; // size: 0x1, address: 0x80A5393C // Range: 0x804FE050 -> 0x804FE0D4 unsigned char UseBottomMip() { // Local variables class DataArray * use; // r31 } // Range: 0x804FE0D4 -> 0x804FE168 void CopyBottomMip(class RndBitmap & dst /* r30 */, const class RndBitmap & src /* r31 */) { // Local variables const class RndBitmap * bm; // [invalid] // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x804FE168 -> 0x804FE28C void * RndTex::RndTex(class RndTex * const this /* r31 */) { // Local variables int x; // r5 // References // -> int textureTrackingCount; // -> class RndTex * textureTrackingList[1024]; // -> unsigned char textureTrackingActive; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__6RndTex; } // Range: 0x804FE28C -> 0x804FE380 void * RndTex::~RndTex(class RndTex * const this /* r30 */) { // Local variables int x; // r5 // References // -> int textureTrackingCount; // -> class RndTex * textureTrackingList[1024]; // -> struct [anonymous] __vt__6RndTex; } // Range: 0x804FE380 -> 0x804FE51C void RndTex::PlatformBppOrder(int & bpp /* r31 */, int & order /* r27 */, unsigned char hasAlpha /* r28 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x804FE51C -> 0x804FE6E0 void RndTex::SetBitmap(class RndTex * const this /* r31 */, int width /* r25 */, int height /* r26 */, int bpp /* r27 */, enum Type type /* r30 */, unsigned char useMips /* r28 */, const char * path /* r29 */) { // Local variables int width; // r4 int height; // r5 const char * err; // r0 int bpp; // r1+0x14 int order; // r1+0x10 // References // -> class Debug TheDebug; // -> class Rnd & TheRnd; // -> class FilePath sRoot; } // Range: 0x804FE6E0 -> 0x804FE80C void RndTex::SetBitmap(class RndTex * const this /* r29 */, const class RndBitmap & bm /* r30 */, const char * path /* r31 */) { // Local variables const char * err; // r0 int bpp; // r1+0xC int order; // r1+0x8 // References // -> class Debug TheDebug; // -> class FilePath sRoot; } // Range: 0x804FE80C -> 0x804FEA14 void RndTex::SetBitmap(class RndTex * const this /* r31 */, class FileLoader * l /* r28 */) { // Local variables char * buffer; // r29 class RndBitmap tmp; // r1+0x14 // References // -> class FilePath sRoot; // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; // -> class LoadMgr TheLoadMgr; } // Range: 0x804FEA14 -> 0x804FEA74 void RndTex::SetBitmap(class RndTex * const this /* r31 */) { // Local variables class Loader * l; // r0 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; } // Range: 0x804FEA74 -> 0x804FEB40 static char * CheckDim() { // Local variables const char * err; // r7 } // Range: 0x804FEB40 -> 0x804FEC6C char * RndTex::CheckSize(int width /* r24 */, int height /* r25 */, int bpp /* r26 */, int numMips /* r27 */, enum Type type /* r28 */, unsigned char file /* r29 */) { // Local variables const char * err; // r30 int bytes; // r29 } // Range: 0x804FEC6C -> 0x804FECDC unsigned char RndTex::PowerOf2() {} // Range: 0x804FECDC -> 0x804FED4C void RndTex::LockBitmap(class RndTex * const this /* r10 */) {} static int TEX_REV; // size: 0x4, address: 0x80A47408 // Range: 0x804FED4C -> 0x804FED90 void RndTex::Save() { // References // -> class Debug TheDebug; } // Range: 0x804FED90 -> 0x804FEDEC void RndTex::Load(class RndTex * const this /* r30 */, class BinStream & d /* r31 */) {} static int gRev; // size: 0x4, address: 0x80A53940 // Range: 0x804FEDEC -> 0x804FEF90 void RndTex::PreLoad(class RndTex * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> class Debug TheDebug; // -> static int TEX_REV; // -> static int gRev; } // Range: 0x804FEF90 -> 0x804FF1F8 void RndTex::PostLoad(class RndTex * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int mipmapK; // r1+0x10 enum Type types[5]; // r1+0x14 int type; // r1+0xC unsigned char useMips; // r8 class RndBitmap tmp; // r1+0x28 // References // -> class LoadMgr TheLoadMgr; // -> static int gRev; } // Range: 0x804FF1F8 -> 0x804FF304 void RndTex::Copy(class RndTex * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndTex * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } // Range: 0x804FF304 -> 0x804FF424 static class TextStream & __ls(class TextStream & d /* r31 */) {} // Range: 0x804FF424 -> 0x804FF534 void RndTex::Print(class RndTex * const this /* r28 */) { // References // -> class FilePath sRoot; // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A53948 static class Symbol _s; // size: 0x4, address: 0x80A53950 static class Symbol _s; // size: 0x4, address: 0x80A53958 static class Symbol _s; // size: 0x4, address: 0x80A53960 static class Symbol _s; // size: 0x4, address: 0x80A53968 static class Symbol _s; // size: 0x4, address: 0x80A53970 static class Symbol _s; // size: 0x4, address: 0x80A53978 // Range: 0x804FF534 -> 0x804FFF84 class DataNode RndTex::Handle(class RndTex * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class FilePath sRoot; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x804FFF84 -> 0x80500078 class DataNode RndTex::OnSaveBmp(class RndTex * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables class RndBitmap bm; // r1+0x2C class RndBitmap bm2; // r1+0x8 } // Range: 0x80500078 -> 0x805001C8 class DataNode RndTex::OnSetBitmap(class RndTex * const this /* r26 */, const class DataArray * a /* r27 */) { // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805001C8 -> 0x8050026C class DataNode RndTex::OnSetRendered(class RndTex * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A53980 static class Symbol _s; // size: 0x4, address: 0x80A53988 static class Symbol _s; // size: 0x4, address: 0x80A53990 static class Symbol _s; // size: 0x4, address: 0x80A53998 // Range: 0x8050026C -> 0x805006CC unsigned char RndTex::SyncProperty(class RndTex * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x78 } __vt__6RndTex; // size: 0x78, address: 0x809013C8 /* Compile unit: C:\rockband2\system\src\rndobj\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805006CC -> 0x8050089C */ // Range: 0x805006CC -> 0x805006D0 void RndTex::PresyncBitmap() {} // Range: 0x805006D0 -> 0x805006D4 void RndTex::SyncBitmap() {} // Range: 0x805006D4 -> 0x80500714 class Symbol RndTex::ClassName() { // References // -> class Symbol name; } // Range: 0x80500714 -> 0x80500718 void RndTex::Select() {} // Range: 0x80500718 -> 0x8050071C void RndTex::Compress() {} // Range: 0x8050071C -> 0x80500720 void RndTex::MakeDrawTarget() {} // Range: 0x80500720 -> 0x8050089C void RndTex::SetType(class RndTex * const this /* r29 */, class Symbol & RndTex /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\TexMovie.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8050089C -> 0x805020EC */ class DataArray * types; // size: 0x4, address: 0x80A539A0 // Range: 0x8050089C -> 0x80500A0C void * RndTexMovie::RndTexMovie(class RndTexMovie * const this /* r31 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__31ObjOwnerPtr<6WiiTex,9ObjectDir>; // -> struct [anonymous] __vt__11RndTexMovie; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80500A0C -> 0x80500B74 void * RndTexMovie::~RndTexMovie(class RndTexMovie * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6WiiTex,9ObjectDir>; // -> struct [anonymous] __vt__11RndTexMovie; } // Range: 0x80500B74 -> 0x80500C68 void RndTexMovie::Copy(class RndTexMovie * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndTexMovie * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndTexMovie; } // Range: 0x80500C68 -> 0x80500D48 void RndTexMovie::Replace(class RndTexMovie * const this /* r30 */, class Object * to /* r31 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6WiiTex,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } static int TexMovie_REV; // size: 0x4, address: 0x80A47418 // Range: 0x80500D48 -> 0x80500E2C void RndTexMovie::Save(class RndTexMovie * const this /* r27 */, class BinStream & d /* r31 */) { // References // -> class FilePath sRoot; // -> static int TexMovie_REV; } // Range: 0x80500E2C -> 0x80500EF0 class BinStream & __ls(class BinStream & d /* r30 */, const class ObjOwnerPtr & f /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message msg; // size: 0x8, address: 0x80981728 // Range: 0x80500EF0 -> 0x805011EC void RndTexMovie::Load(class RndTexMovie * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x18 class DataNode ret; // r1+0x28 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class FilePath sRoot; // -> class Debug TheDebug; // -> static int TexMovie_REV; } // Range: 0x805011EC -> 0x80501354 void RndTexMovie::BeginMovie(class RndTexMovie * const this /* r31 */) { // References // -> class FilePath sRoot; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80501354 -> 0x80501404 void RndTexMovie::DrawToTexture(class RndTexMovie * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80501404 -> 0x80501418 void RndTexMovie::DrawShowing() {} // Range: 0x80501418 -> 0x80501470 void RndTexMovie::Poll(class RndTexMovie * const this /* r31 */) {} // Range: 0x80501470 -> 0x805014B4 void RndTexMovie::Enter(class RndTexMovie * const this /* r31 */) {} // Range: 0x805014B4 -> 0x805014F8 void RndTexMovie::Exit(class RndTexMovie * const this /* r31 */) {} // Range: 0x805014F8 -> 0x80501548 void RndTexMovie::SetFile(class RndTexMovie * const this /* r30 */, const class FilePath & file /* r31 */) {} // Range: 0x80501548 -> 0x80501568 void RndTexMovie::UpdatePreClearState() { // References // -> class Rnd & TheRnd; } // Range: 0x80501568 -> 0x80501A88 class DataNode RndTexMovie::Handle(class RndTexMovie * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A539A8 static class Symbol _s; // size: 0x4, address: 0x80A539B0 static class Symbol _s; // size: 0x4, address: 0x80A539B8 static class Symbol _s; // size: 0x4, address: 0x80A539C0 static class Symbol _s; // size: 0x4, address: 0x80A539C8 // Range: 0x80501A88 -> 0x80501FB8 unsigned char RndTexMovie::SyncProperty(class RndTexMovie * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80501FB8 -> 0x805020EC unsigned char PropSync(class ObjOwnerPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6WiiTex; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xF0 } __vt__11RndTexMovie; // size: 0xF0, address: 0x809016C8 struct { // total size: 0x8 } __RTTI__11RndTexMovie; // size: 0x8, address: 0x809017F0 struct { // total size: 0x18 } __vt__31ObjOwnerPtr<6WiiTex,9ObjectDir>; // size: 0x18, address: 0x809017F8 struct { // total size: 0x8 } __RTTI__31ObjOwnerPtr<6WiiTex,9ObjectDir>; // size: 0x8, address: 0x80901840 struct { // total size: 0x8 } __RTTI__6WiiTex; // size: 0x8, address: 0x80901878 struct { // total size: 0x8 } __RTTI__13WiiDrawTarget; // size: 0x8, address: 0x80901890 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805020EC -> 0x8050233C */ // Range: 0x805020EC -> 0x8050215C void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6WiiTex,9ObjectDir>; } // Range: 0x8050215C -> 0x805022F0 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6WiiTex; } // Range: 0x805022F0 -> 0x805022F8 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x805022F8 -> 0x8050233C void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\TexMovie.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80502450 -> 0x8050263C */ // Range: 0x80502450 -> 0x80502494 class Symbol RndTexMovie::ClassName() { // References // -> class Symbol name; } // Range: 0x80502494 -> 0x80502638 void RndTexMovie::SetType(class RndTexMovie * const this /* r29 */, class Symbol & RndTexMovie /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80502638 -> 0x8050263C void RndTexMovie::DrawPreClear() {} /* Compile unit: C:\rockband2\system\src\rndobj\TexRenderer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8050263C -> 0x805048B4 */ class DataArray * types; // size: 0x4, address: 0x80A539D0 // Range: 0x8050263C -> 0x805027F4 void * RndTexRenderer::RndTexRenderer(class RndTexRenderer * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__14RndTexRenderer; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x805027F4 -> 0x80502988 void * RndTexRenderer::~RndTexRenderer(class RndTexRenderer * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__32ObjPtr<11RndDrawable,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> struct [anonymous] __vt__14RndTexRenderer; } // Range: 0x80502988 -> 0x80502A14 void RndTexRenderer::ListAnimChildren(class list & anims /* r30 */) { // Local variables class RndAnimatable * anim; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80502A14 -> 0x80502A9C void RndTexRenderer::ListDrawChildren() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80502A9C -> 0x80502AA0 void RndTexRenderer::DrawBefore() {} // Range: 0x80502AA0 -> 0x80502AA4 void RndTexRenderer::DrawAfter() {} // Range: 0x80502AA4 -> 0x80502AB8 void RndTexRenderer::DrawShowing() {} static class DebugWarner _dw; // size: 0x100, address: 0x80981730 static class Message preRender; // size: 0x8, address: 0x80981840 // Range: 0x80502AB8 -> 0x80503440 void RndTexRenderer::DrawToTexture(class RndTexRenderer * const this /* r29 */) { // Local variables class RndCam * cam; // r31 class Transform curXfm; // r1+0xB0 float curFov; // f31 class RndDir * proxy; // r30 class Transform t; // r1+0x70 float length; // f30 float fov; // f0 int i; // r27 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndCam; // -> class RndCam * sCurrent; // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__6RndDir; // -> static class Message preRender; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; // -> static class DebugWarner _dw; // -> class Rnd & TheRnd; } // Range: 0x80503440 -> 0x80503480 float RndTexRenderer::StartFrame() { // Local variables class RndAnimatable * anim; // r0 } // Range: 0x80503480 -> 0x805034C0 float RndTexRenderer::EndFrame() { // Local variables class RndAnimatable * anim; // r0 } // Range: 0x805034C0 -> 0x8050352C void RndTexRenderer::SetFrame(class RndTexRenderer * const this /* r31 */, float f /* f30 */, float blend /* f31 */) { // Local variables class RndAnimatable * anim; // r0 } // Range: 0x8050352C -> 0x80503560 class RndAnimatable * RndTexRenderer::GetAnim() { // References // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__13RndAnimatable; } // Range: 0x80503560 -> 0x8050356C void RndTexRenderer::AddPreClearDraw() { // References // -> class Rnd & TheRnd; } // Range: 0x8050356C -> 0x80503578 void RndTexRenderer::RemovePreClearDraw() { // References // -> class Rnd & TheRnd; } // Range: 0x80503578 -> 0x805035C0 void RndTexRenderer::UpdatePreClearState(class RndTexRenderer * const this /* r31 */) {} // Range: 0x805035C0 -> 0x80503750 void RndTexRenderer::Copy(class RndTexRenderer * const this /* r31 */, const class Object * o /* r30 */, enum CopyType type /* r29 */) { // Local variables const class RndTexRenderer * e; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndTexRenderer; } // Range: 0x80503750 -> 0x80503794 void RndTexRenderer::Save() { // References // -> class Debug TheDebug; } // Range: 0x80503794 -> 0x80503B2C void RndTexRenderer::Load(class RndTexRenderer * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x14 class FilePath f; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11RndDrawable; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; } // Range: 0x80503B2C -> 0x8050404C class DataNode RndTexRenderer::Handle(class RndTexRenderer * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A539D8 static class Symbol _s; // size: 0x4, address: 0x80A539E0 static class Symbol _s; // size: 0x4, address: 0x80A539E8 static class Symbol _s; // size: 0x4, address: 0x80A539F0 static class Symbol _s; // size: 0x4, address: 0x80A539F8 static class Symbol _s; // size: 0x4, address: 0x80A53A00 static class Symbol _s; // size: 0x4, address: 0x80A53A08 static class Symbol _s; // size: 0x4, address: 0x80A53A10 static class Symbol _s; // size: 0x4, address: 0x80A53A18 // Range: 0x8050404C -> 0x805048B4 unsigned char RndTexRenderer::SyncProperty(class RndTexRenderer * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x11C } __vt__14RndTexRenderer; // size: 0x11C, address: 0x80901D30 /* Compile unit: C:\rockband2\system\src\rndobj\TexRenderer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805049DC -> 0x80504BC8 */ // Range: 0x805049DC -> 0x80504A20 class Symbol RndTexRenderer::ClassName() { // References // -> class Symbol name; } // Range: 0x80504A20 -> 0x80504BC4 void RndTexRenderer::SetType(class RndTexRenderer * const this /* r29 */, class Symbol & RndTexRenderer /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80504BC4 -> 0x80504BC8 void RndTexRenderer::DrawPreClear() {} /* Compile unit: C:\rockband2\system\src\rndobj\Text.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80504BC8 -> 0x8050A798 */ class DataArray * types; // size: 0x4, address: 0x80A53A20 static float gSuperscriptScale; // size: 0x4, address: 0x80A47428 class WrapPoint { // total size: 0x60 public: int mOffset; // offset 0x0, size 0x4 int mCost; // offset 0x4, size 0x4 int mBackLink; // offset 0x8, size 0x4 int mFwdLink; // offset 0xC, size 0x4 float mLineWidth; // offset 0x10, size 0x4 class Style mStyle; // offset 0x20, size 0x30 unsigned char mBreakOnHyphen; // offset 0x50, size 0x1 unsigned char mIsHead; // offset 0x51, size 0x1 unsigned char mIsHardBreak; // offset 0x52, size 0x1 }; static class WrapPoint * gWrapPoints; // size: 0x4, address: 0x80A53A28 // Range: 0x80504BC8 -> 0x80504C80 void RndText::Init() { // References // -> static class WrapPoint * gWrapPoints; // -> static float gSuperscriptScale; // -> class Symbol name; } // Range: 0x80504C80 -> 0x80504C88 void RndText::Terminate() { // References // -> static class WrapPoint * gWrapPoints; } // Range: 0x80504C88 -> 0x80504D90 void RndText::Mats(class RndText * const this /* r31 */, class list & mats /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80504D90 -> 0x80504DE0 class RndDrawable * RndText::CollideShowing(class RndText * const this /* r31 */) {} // Range: 0x80504DE0 -> 0x80504DF4 int RndText::CollidePlane() {} // Range: 0x80504DF4 -> 0x80504EB0 void RndText::Replace(class RndText * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndFont; } static int TEXT_REV; // size: 0x4, address: 0x80A47430 // Range: 0x80504EB0 -> 0x80504EF4 void RndText::Save() { // References // -> class Debug TheDebug; } // Range: 0x80504EF4 -> 0x80505250 void RndText::Load(class RndText * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; // -> static int TEXT_REV; } // Range: 0x80505250 -> 0x805052A4 void RndText::UpdateText(class RndText * const this /* r30 */, unsigned char update_mesh /* r31 */) {} // Range: 0x805052A4 -> 0x805052D4 void RndText::SetWrapWidth() {} // Range: 0x805052D4 -> 0x80505348 void RndText::SetFixedLength(class RndText * const this /* r30 */, unsigned char * update /* r31 */) {} // Range: 0x80505348 -> 0x80505378 void RndText::SetSize() {} // Range: 0x80505378 -> 0x80505548 void RndText::SetColor(class RndText * const this /* r28 */, const class Color & c /* r29 */, unsigned char * update /* r30 */) { // Local variables class VertVector & verts; // r0 class Vert * v; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80505548 -> 0x8050576C void RndText::SetData(class RndText * const this /* r25 */, const char * text /* r26 */, class RndFont * font /* r27 */, float leading /* f28 */, float wrapWidth /* f29 */, float size /* f30 */, float italics /* f31 */, const class Color & color /* r28 */, unsigned char markup /* r29 */, int fixedLength /* r30 */, unsigned char * update /* r31 */) { // Local variables unsigned char textChanged; // r1+0x8 } // Range: 0x8050576C -> 0x805058DC void RndText::Copy(class RndText * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndText * t; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndText; } // Range: 0x805058DC -> 0x80505A6C void RndText::Print(class RndText * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x80505A6C -> 0x80505A84 int RndText::GetMinHyphenationWordLength() { // References // -> class Hyphenator TheHyphenator; } // Range: 0x80505A84 -> 0x80505AA0 int RndText::GetMinHyphenationPrefix() { // References // -> class Hyphenator TheHyphenator; } // Range: 0x80505AA0 -> 0x80505ABC int RndText::GetMinHyphenationSuffix() { // References // -> class Hyphenator TheHyphenator; } // Range: 0x80505ABC -> 0x80505AEC void RndText::SetUseAutoHyphenation() {} // Range: 0x80505AEC -> 0x80505B1C void RndText::SetMinHyphenationWordLength() {} // Range: 0x80505B1C -> 0x80505B4C void RndText::SetMinHyphenationPrefix() {} // Range: 0x80505B4C -> 0x80505B7C void RndText::SetMinHyphenationSuffix() {} // Range: 0x80505B7C -> 0x80505E50 void * RndText::RndText(class RndText * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; // -> class Symbol name; // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndFont,9ObjectDir>; // -> struct [anonymous] __vt__7RndText; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x80505E50 -> 0x80506068 void * RndText::~RndText(class RndText * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjOwnerPtr<7RndFont,9ObjectDir>; // -> struct [anonymous] __vt__7RndText; } // Range: 0x80506068 -> 0x80506134 void RndText::SetFont(class RndText * const this /* r29 */, class RndFont * font /* r30 */, unsigned char * update /* r31 */) {} // Range: 0x80506134 -> 0x80506164 void RndText::SetAlignment() {} // Range: 0x80506164 -> 0x805063D0 char * RndText::ParseMarkup(const class RndText * const this /* r27 */, const char * c /* r30 */, class Style * style /* r31 */, float size /* f31 */) { // Local variables unsigned char stop; // r28 int r; // r1+0x14 int g; // r1+0x10 int b; // r1+0xC int a; // r1+0x8 // References // -> static float gSuperscriptScale; } // Range: 0x805063D0 -> 0x80506500 unsigned char canBreak() { // Local variables char c; // r0 } // Range: 0x80506500 -> 0x80506544 float segmentLength() { // Local variables float lineLen; // f1 int j; // r3 } // Range: 0x80506544 -> 0x80506998 void RndText::ComputeCharWidths(class RndText * const this /* r21 */, float * charWidths /* r22 */, const char * in /* r23 */, int len /* r24 */, class Style & style /* r25 */) { // Local variables const char * cur; // r30 unsigned char badCharNotify; // r29 unsigned char negCharNotify; // r28 float stopSize; // f31 char lastChar; // r27 int i; // r26 class String n; // r1+0x14 int i; // r20 class String n; // r1+0x8 int i; // r20 // References // -> unsigned int npos; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80506998 -> 0x80507C78 void RndText::WrapText(class RndText * const this /* r16 */, const char * in /* r17 */, const class Style & style /* r15 */, class vector & lines /* f3 */) { // Local variables int len; // r28 int * pHypPoints; // r31+0x58 float * charWidths; // r27 class WrapPoint * pWrapPoints; // r26 unsigned char hyphenationOk; // r0 float hyphenWidth; // f0 class Style curStyle; // r31+0xA0 const char * cur; // r25 int numWp; // r24 float maxWidth[5]; // r31+0x5C unsigned char doBreak; // r14 int offset; // r23 int prevOffset; // r18 unsigned char isHyphenBreak; // r31+0x54 int bestWp; // r22 int bestWpCost; // r21 float bestLineLen; // f30 unsigned char scanDone; // r20 int i; // r19 float lineLen; // f29 int cost; // r18 float lastLineLen; // f0 float err; // f1 int totalCost; // r0 class WrapPoint & wp; // r5 int bestWp; // r22 int bestWpCost; // r29 float bestLineLen; // f29 unsigned char scanDone; // f14 int i; // r19 int offset; // r20 float lineLen; // f30 int cost; // r21 float lastLineLen; // f0 float err; // f1 int totalCost; // r0 class WrapPoint & wp; // r5 int wpIdx; // r4 int prevWp; // r5 class WrapPoint & wp; // r14 class WrapPoint & nwp; // r4 class Line curLine; // r31+0x1C0 class Line curLine; // r31+0x170 float z; // f29 float vSize; // f4 int i; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class WrapPoint * gWrapPoints; } // Range: 0x80507C78 -> 0x80507E98 void RndText::SetText(class RndText * const this /* r30 */, const char * text /* r29 */, unsigned char * update /* r31 */) { // Local variables class String tmp; // r1+0x8 char * c; // r3 char * c; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * sIgnoreMissingText; } // Range: 0x80507E98 -> 0x80508074 float RndText::GetStringWidth(const class RndText * const this /* r25 */, const char * text /* r26 */, const char * end /* r27 */, unsigned char trailingKerning /* r28 */, class Style * style /* r29 */) { // Local variables float width; // f31 char lastChar; // r31 class Style s; // r1+0x10 float size; // f30 const char * cur; // [invalid] char c; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80508074 -> 0x8050828C void RndText::ResetFaces(class RndText * const this /* r31 */, int numFaces /* r29 */) { // Local variables class Face * f; // r29 int i; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8050828C -> 0x805085EC void RndText::UpdateMesh(class RndText * const this /* r30 */) { // Local variables int sync; // r31 int num_faces; // r0 int num_verts; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805085EC -> 0x805088D0 void SetupCharVerts(char c /* r28 */, class Vert * & v /* r30 */, float x /* f27 */, float h /* f28 */, float z /* f29 */, float it /* f30 */, class Style & style /* r31 */, class RndFont * font /* r29 */) { // Local variables float w; // f31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805088D0 -> 0x80508D34 void RndText::CreateLines(class RndText * const this /* r28 */) { // Local variables class Vert * v; // r1+0x10 class Style style; // r1+0x20 float it; // f31 float h; // f30 float size; // f29 int i; // r30 class Line & line; // r0 float z; // f28 float x; // f27 char lastChar; // r26 const char * c; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80508D34 -> 0x80508D3C void RndText::ReserveLines() {} // Range: 0x80508D3C -> 0x80508E60 class Vector3 RndText::GetCharPos() { // Local variables const char * c; // r5 int i; // r8 class Style s; // r1+0x10 float x; // f0 } // Range: 0x80508E60 -> 0x80508EA4 void RndText::GetVerticalBounds() {} // Range: 0x80508EA4 -> 0x80508EFC float RndText::MaxLineWidth() { // Local variables float maxWidth; // f1 int i; // r6 } // Range: 0x80508EFC -> 0x8050915C void RndText::GetStringDimensions(class RndText * const this /* r28 */, float & width /* r29 */, float & height /* r30 */, class vector & lines /* r31 */) { // Local variables class Style style; // r1+0x20 class Line * i; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8050915C -> 0x80509170 void RndText::DrawShowing() {} // Range: 0x80509170 -> 0x80509248 unsigned char RndText::MakeWorldSphere(class RndText * const this /* r30 */, class Sphere & s /* r31 */) {} // Range: 0x80509248 -> 0x805092B0 void RndText::UpdateSphere(class RndText * const this /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A53A30 static class Symbol _s; // size: 0x4, address: 0x80A53A38 static class Symbol _s; // size: 0x4, address: 0x80A53A40 static class Symbol _s; // size: 0x4, address: 0x80A53A48 static class Symbol _s; // size: 0x4, address: 0x80A53A50 static class Symbol _s; // size: 0x4, address: 0x80A53A58 static class Symbol _s; // size: 0x4, address: 0x80A53A60 static class Symbol _s; // size: 0x4, address: 0x80A53A68 static class Symbol _s; // size: 0x4, address: 0x80A53A70 // Range: 0x805092B0 -> 0x8050A320 class DataNode RndText::Handle(class RndText * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x50 class MessageTimer _mt; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 class DataNode _n; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8050A320 -> 0x8050A390 class DataNode RndText::OnSetFixedLength(class RndText * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x8050A390 -> 0x8050A41C class DataNode RndText::OnSetFont(class RndText * const this /* r30 */, class DataArray * a /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndFont; } // Range: 0x8050A41C -> 0x8050A48C class DataNode RndText::OnSetAlign(class RndText * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x8050A48C -> 0x8050A4FC class DataNode RndText::OnSetText(class RndText * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x8050A4FC -> 0x8050A568 class DataNode RndText::OnSetWrapWidth(class RndText * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x8050A568 -> 0x8050A5D4 class DataNode RndText::OnSetSize(class RndText * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x8050A5D4 -> 0x8050A6C4 class DataNode RndText::OnSetColor(class RndText * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x8050A6C4 -> 0x8050A76C unsigned char RndText::SyncProperty(class RndText * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xFC } __vt__7RndText; // size: 0xFC, address: 0x80902780 // Range: 0x8050A76C -> 0x8050A798 void _Vector_base::_M_throw_length_error() {} struct { // total size: 0x8 } __RTTI__PQ27RndText4Line; // size: 0x8, address: 0x80902A98 class HyphenatorException { // total size: 0x10 public: class Symbol mString; // offset 0x0, size 0x4 signed char mHyphens[10]; // offset 0x4, size 0xA }; class HyphenatorPattern { // total size: 0x14 public: char mString[10]; // offset 0x0, size 0xA signed char mThresh[10]; // offset 0xA, size 0xA }; struct HyphenationState { // total size: 0x1C int mMinLength; // offset 0x0, size 0x4 int mMinPrefix; // offset 0x4, size 0x4 int mMinSuffix; // offset 0x8, size 0x4 int mMaxHyphens; // offset 0xC, size 0x4 int * mOutputPoints; // offset 0x10, size 0x4 int mOutputIdx; // offset 0x14, size 0x4 const char * mText; // offset 0x18, size 0x4 }; class Hyphenator { // total size: 0x20 int mMinLength; // offset 0x0, size 0x4 int mMinPrefix; // offset 0x4, size 0x4 int mMinSuffix; // offset 0x8, size 0x4 int mNumExceptions; // offset 0xC, size 0x4 int mNumPatterns; // offset 0x10, size 0x4 class HyphenatorException * mExceptions; // offset 0x14, size 0x4 class HyphenatorPattern * mPatterns; // offset 0x18, size 0x4 unsigned char mInitted; // offset 0x1C, size 0x1 }; /* Compile unit: C:\rockband2\system\src\rndobj\Text.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8050A798 -> 0x8050A9FC */ // Range: 0x8050A798 -> 0x8050A810 class Object * RndText::NewObject() { // References // -> class Symbol name; } // Range: 0x8050A810 -> 0x8050A854 class Symbol RndText::ClassName() { // References // -> class Symbol name; } // Range: 0x8050A854 -> 0x8050A9F8 void RndText::SetType(class RndText * const this /* r29 */, class Symbol & RndText /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8050A9F8 -> 0x8050A9FC void RndText::Highlight() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8050A9FC -> 0x8050AC0C */ // Range: 0x8050A9FC -> 0x8050AAB0 char * RndText::FindPathName() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8050AC0C -> 0x8050B6EC */ // Range: 0x8050AC0C -> 0x8050AF78 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Line * __pos /* r26 */, const class Line & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Line * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27RndText4Line; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8050AF78 -> 0x8050B18C void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables class Line * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ27RndText4Line; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8050B18C -> 0x8050B20C void vector::_M_fill_insert() {} // Range: 0x8050B20C -> 0x8050B6EC void vector::_M_fill_insert_aux() { // Local variables class Line __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class Line * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\Trans.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8050B6EC -> 0x8051102C */ class Plane sShadowPlane; // size: 0x10, address: 0x80981850 // Range: 0x8050B6EC -> 0x8050B788 void RndTransformable::Init() { // Local variables class DataArray * rnd; // r31 // References // -> class Plane sShadowPlane; // -> class Symbol name; } // Range: 0x8050B788 -> 0x8050B948 void * RndTransformable::RndTransformable(class RndTransformable * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__16RndTransformable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8050B948 -> 0x8050BBB8 void * RndTransformable::~RndTransformable(class RndTransformable * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x2C // References // -> struct [anonymous] __vt__42ObjOwnerPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__16RndTransformable; } // Range: 0x8050BBB8 -> 0x8050C17C void RndTransformable::SetTransParent(class RndTransformable * const this /* r29 */, class RndTransformable * t /* r30 */, unsigned char recalcLocal /* r28 */) { // Local variables class Transform oldXfm; // r1+0x90 class Transform newXfm; // r1+0x50 struct _List_iterator r; // r1+0x3C class RndTransAnim * ta; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8050C17C -> 0x8050C1F0 void RndTransformable::Replace(class RndTransformable * const this /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x8050C1F0 -> 0x8050C26C void RndTransformable::SetDirtyForce(class RndTransformable * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x14 } // Range: 0x8050C26C -> 0x8050C378 void RndTransformable::SetWorldXfm(class RndTransformable * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x14 } // Range: 0x8050C378 -> 0x8050C41C void RndTransformable::SetWorldPos(class RndTransformable * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x14 } static class Timer * _t; // size: 0x4, address: 0x80A53A78 // Range: 0x8050C41C -> 0x8050C80C void RndTransformable::RecalcWorldXfm(class RndTransformable * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; } // Range: 0x8050C80C -> 0x8050D1F8 void RndTransformable::ApplyDynamicConstraint(class RndTransformable * const this /* r31 */) { // Local variables class Transform t; // r1+0x40 class Plane p; // r1+0x30 class Vector3 s; // r1+0x20 // References // -> class RndCam * sCurrent; // -> class Plane sShadowPlane; } // Range: 0x8050D1F8 -> 0x8050D314 void RndTransformable::SetTransConstraint(class RndTransformable * const this /* r27 */, enum Constraint b /* r28 */, class RndTransformable * t /* r29 */, unsigned char scale /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8050D314 -> 0x8050D5A8 void RndTransformable::Copy(class RndTransformable * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class RndTransformable * d; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; // -> class Symbol name; } // Range: 0x8050D5A8 -> 0x8050D68C static class TextStream & __ls(class TextStream & d /* r31 */) {} // Range: 0x8050D68C -> 0x8050D794 void RndTransformable::Print(class RndTransformable * const this /* r30 */) { // Local variables class TextStream & d; // r29 // References // -> class Debug TheDebug; } // Range: 0x8050D794 -> 0x8050D800 void RndTransformable::Highlight(class RndTransformable * const this /* r31 */) {} static int TRANS_REV; // size: 0x4, address: 0x80A47450 // Range: 0x8050D800 -> 0x8050D844 void RndTransformable::Save() { // References // -> class Debug TheDebug; } // Range: 0x8050D844 -> 0x8050E8B0 void RndTransformable::Load(class RndTransformable * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables int rev; // r1+0x3C class Transform xfm; // r1+0xD0 class ObjPtrList transes; // r1+0xB8 class iterator i; // r1+0x38 int billboard; // r1+0x34 int billboard; // r1+0x30 enum Constraint convert[6]; // r1+0xA0 class Vector3 origin; // r1+0x70 class Sphere s; // r1+0x80 class RndDrawable * draw; // r0 class ObjPtr target; // r1+0x58 class ObjPtr parent; // r1+0x4C class ObjPtr owner; // r1+0x40 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __RTTI__16RndTransformable; // -> struct [anonymous] __RTTI__11RndDrawable; // -> const char * kAssertStr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> unsigned char gLoadingProxyFromDisk; // -> class Symbol name; // -> class Debug TheDebug; // -> static int TRANS_REV; } static class Symbol _s; // size: 0x4, address: 0x80A53A80 static class Symbol _s; // size: 0x4, address: 0x80A53A88 static class Symbol _s; // size: 0x4, address: 0x80A53A90 static class Symbol _s; // size: 0x4, address: 0x80A53A98 static class Symbol _s; // size: 0x4, address: 0x80A53AA0 static class Symbol _s; // size: 0x4, address: 0x80A53AA8 static class Symbol _s; // size: 0x4, address: 0x80A53AB0 static class Symbol _s; // size: 0x4, address: 0x80A53AB8 static class Symbol _s; // size: 0x4, address: 0x80A53AC0 static class Symbol _s; // size: 0x4, address: 0x80A53AC8 static class Symbol _s; // size: 0x4, address: 0x80A53AD0 static class Symbol _s; // size: 0x4, address: 0x80A53AD8 static class Symbol _s; // size: 0x4, address: 0x80A53AE0 static class Symbol _s; // size: 0x4, address: 0x80A53AE8 static class Symbol _s; // size: 0x4, address: 0x80A53AF0 static class Symbol _s; // size: 0x4, address: 0x80A53AF8 static class Symbol _s; // size: 0x4, address: 0x80A53B00 static class Symbol _s; // size: 0x4, address: 0x80A53B08 static class Symbol _s; // size: 0x4, address: 0x80A53B10 static class Symbol _s; // size: 0x4, address: 0x80A53B18 static class Symbol _s; // size: 0x4, address: 0x80A53B20 // Range: 0x8050E8B0 -> 0x8050F5DC class DataNode RndTransformable::Handle(class RndTransformable * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x1C class MessageTimer _mt; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 class DataNode _n; // r1+0x20 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8050F5DC -> 0x8050F720 class DataNode RndTransformable::OnCopyLocalTo(class RndTransformable * const this /* r29 */, const class DataArray * a /* r30 */) { // Local variables int i; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x8050F720 -> 0x8050F8B8 class DataNode RndTransformable::OnGetWorldForward(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x8050F8B8 -> 0x8050FA50 class DataNode RndTransformable::OnGetWorldPos(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x8050FA50 -> 0x8050FBAC class DataNode RndTransformable::OnGetLocalPos(class RndTransformable * const this /* r28 */, const class DataArray * a /* r29 */) {} // Range: 0x8050FBAC -> 0x8050FC60 class DataNode RndTransformable::OnGetLocalPosIndex(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8050FC60 -> 0x8050FFA4 class DataNode RndTransformable::OnGetLocalRot(const class DataArray * a /* r29 */) { // Local variables class Vector3 e; // r1+0x30 class Matrix3 m; // r1+0x40 } // Range: 0x8050FFA4 -> 0x805100A0 class DataNode RndTransformable::OnGetLocalRotIndex(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class Vector3 e; // r1+0x20 class Vector3 s; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805100A0 -> 0x8051024C class DataNode RndTransformable::OnGetWorldRot(class RndTransformable * const this /* r30 */, const class DataArray * a /* r29 */) { // Local variables class Vector3 e; // r1+0x30 } // Range: 0x8051024C -> 0x8051034C class DataNode RndTransformable::OnSetLocalPos(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x8051034C -> 0x80510480 class DataNode RndTransformable::OnSetLocalPosIndex(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class Vector3 pos; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80510480 -> 0x80510564 void RndTransformable::SetLocalRot(class RndTransformable * const this /* r31 */) { // Local variables class Matrix3 m; // r1+0x10 } // Range: 0x80510564 -> 0x8051064C class DataNode RndTransformable::OnSetLocalRot(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x8051064C -> 0x8051084C class DataNode RndTransformable::OnSetLocalRotIndex(class RndTransformable * const this /* r31 */, const class DataArray * a /* r29 */) { // Local variables class Vector3 e; // r1+0x20 class Vector3 s; // r1+0x10 class Matrix3 m; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8051084C -> 0x80510A24 class DataNode RndTransformable::OnSetLocalRotMat(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class Matrix3 m; // r1+0x10 } // Range: 0x80510A24 -> 0x80510AEC class DataNode RndTransformable::OnSetLocalScale(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) {} // Range: 0x80510AEC -> 0x80510BE8 class DataNode RndTransformable::OnSetLocalScaleIndex(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class Vector3 v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80510BE8 -> 0x80510D54 class DataNode RndTransformable::OnGetLocalScale(const class DataArray * a /* r29 */) { // Local variables class Vector3 v; // r1+0x30 } // Range: 0x80510D54 -> 0x80510E24 class DataNode RndTransformable::OnGetLocalScaleIndex(class RndTransformable * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class Vector3 v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80510E24 -> 0x80510EE4 class DataNode RndTransformable::OnSetTransConstraint(class RndTransformable * const this /* r29 */, const class DataArray * a /* r30 */) { // Local variables class RndTransformable * t; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } // Range: 0x80510EE4 -> 0x80510F38 unsigned char RndTransformable::SyncProperty(class DataArray * _prop /* r31 */) {} struct { // total size: 0x9C } __vt__16RndTransformable; // size: 0x9C, address: 0x80903050 // Range: 0x80510F38 -> 0x80510F3C static void __sinit_\Trans_cpp() {} /* Compile unit: C:\rockband2\system\src\rndobj\Trans.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051102C -> 0x80511070 */ // Range: 0x8051102C -> 0x80511070 class Symbol RndTransformable::StaticClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80511070 -> 0x80511078 */ // Range: 0x80511070 -> 0x80511078 class RndTransformable * ObjOwnerPtr::__opP16RndTransformable() {} /* Compile unit: C:\rockband2\system\src\rndobj\TransAnim.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80511078 -> 0x805163FC */ class DataArray * types; // size: 0x4, address: 0x80A53B28 // Range: 0x80511078 -> 0x8051119C void * RndTransAnim::RndTransAnim(class RndTransAnim * const this /* r31 */) { // References // -> struct [anonymous] __vt__38ObjOwnerPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__12RndTransAnim; } // Range: 0x8051119C -> 0x80511210 void RndTransAnim::SetTrans(class RndTransAnim * const this /* r30 */, class RndTransformable * o /* r31 */) {} // Range: 0x80511210 -> 0x805112F8 void RndTransAnim::Replace(class RndTransAnim * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } static int TRANSANIM_REV; // size: 0x4, address: 0x80A4745C // Range: 0x805112F8 -> 0x8051133C void RndTransAnim::Save() { // References // -> class Debug TheDebug; } // Range: 0x8051133C -> 0x805115E0 void RndTransAnim::Load(class RndTransAnim * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x14 // References // -> class Debug TheDebug; // -> static int TRANSANIM_REV; } // Range: 0x805115E0 -> 0x805119E4 void RndTransAnim::Copy(class RndTransAnim * const this /* r30 */, const class Object * o /* r29 */, enum CopyType type /* r28 */) { // Local variables const class RndTransAnim * t; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x805119E4 -> 0x80511BBC void RndTransAnim::Print(class RndTransAnim * const this /* r27 */) { // Local variables class TextStream & d; // r28 // References // -> class Debug TheDebug; } // Range: 0x80511BBC -> 0x80511D60 float RndTransAnim::EndFrame(class RndTransAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80511D60 -> 0x80511F04 float RndTransAnim::StartFrame(class RndTransAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80511F04 -> 0x80512778 void RndTransAnim::MakeTransform(class RndTransAnim * const this /* r23 */, float frame /* f30 */, class Transform & t /* r24 */, unsigned char whole /* r26 */, float blend /* f31 */) { // Local variables class Vector3 tangent; // r1+0x80 class Vector3 repeat; // r1+0x70 int n; // r0 class Vector3 v; // r1+0x60 class Vector3 blendScale; // r1+0x50 class Quat q; // r1+0x40 const class Quat * prev; // r26 const class Quat * next; // r25 float r; // f29 class Quat q1; // r1+0x30 class Vector3 s; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80512778 -> 0x805128C0 void RndTransAnim::SetFrame(class RndTransAnim * const this /* r31 */) { // Local variables class Transform t; // r1+0x10 } // Range: 0x805128C0 -> 0x80513474 void RndTransAnim::SetKey(class RndTransAnim * const this /* r24 */, float frame /* f31 */) { // Local variables class Matrix3 m; // r1+0x90 class Vector3 s; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A53B30 static class Symbol _s; // size: 0x4, address: 0x80A53B38 static class Symbol _s; // size: 0x4, address: 0x80A53B40 static class Symbol _s; // size: 0x4, address: 0x80A53B48 static class Symbol _s; // size: 0x4, address: 0x80A53B50 static class Symbol _s; // size: 0x4, address: 0x80A53B58 static class Symbol _s; // size: 0x4, address: 0x80A53B60 static class Symbol _s; // size: 0x4, address: 0x80A53B68 static class Symbol _s; // size: 0x4, address: 0x80A53B70 static class Symbol _s; // size: 0x4, address: 0x80A53B78 static class Symbol _s; // size: 0x4, address: 0x80A53B80 static class Symbol _s; // size: 0x4, address: 0x80A53B88 static class Symbol _s; // size: 0x4, address: 0x80A53B90 // Range: 0x80513474 -> 0x805149A8 class DataNode RndTransAnim::Handle(class RndTransAnim * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x58 class MessageTimer _mt; // r1+0xD8 class DataNode r; // r1+0xD0 class DataNode r; // r1+0xC8 class DataNode r; // r1+0xC0 class DataNode r; // r1+0xB8 class DataNode r; // r1+0xB0 class DataNode r; // r1+0xA8 class DataNode r; // r1+0xA0 class DataNode r; // r1+0x98 class DataNode r; // r1+0x90 class DataNode r; // r1+0x88 class DataNode r; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode _n; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x805149A8 -> 0x80514A54 class DataNode RndTransAnim::OnSetTransSpline(class RndTransAnim * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80514A54 -> 0x80514B00 class DataNode RndTransAnim::OnSetScaleSpline(class RndTransAnim * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80514B00 -> 0x80514BAC class DataNode RndTransAnim::OnSetRotSlerp(class RndTransAnim * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80514BAC -> 0x80514BD0 class DataNode RndTransAnim::OnTrans() {} // Range: 0x80514BD0 -> 0x80514C60 class DataNode RndTransAnim::OnNumTransKeys(class RndTransAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80514C60 -> 0x80514CF0 class DataNode RndTransAnim::OnNumRotKeys(class RndTransAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80514CF0 -> 0x80514D80 class DataNode RndTransAnim::OnNumScaleKeys(class RndTransAnim * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80514D80 -> 0x805150FC class DataNode RndTransAnim::OnAddTransKey(class RndTransAnim * const this /* r29 */, const class DataArray * a /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805150FC -> 0x80515478 class DataNode RndTransAnim::OnAddScaleKey(class RndTransAnim * const this /* r29 */, const class DataArray * a /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80515478 -> 0x80515810 class DataNode RndTransAnim::OnAddRotKey(class RndTransAnim * const this /* r29 */, const class DataArray * a /* r28 */) { // Local variables class Vector3 v; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80515810 -> 0x80515D14 class DataNode RndTransAnim::OnRemoveRotKeys(class RndTransAnim * const this /* r28 */, const class DataArray * a /* r26 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80515D14 -> 0x80516218 class DataNode RndTransAnim::OnRemoveTransKeys(class RndTransAnim * const this /* r28 */, const class DataArray * a /* r26 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80516218 -> 0x805162A0 class DataNode RndTransAnim::OnSetTrans(class RndTransAnim * const this /* r30 */, const class DataArray * a /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16RndTransformable; } static class Symbol _s; // size: 0x4, address: 0x80A53B98 // Range: 0x805162A0 -> 0x805163FC unsigned char RndTransAnim::SyncProperty(class RndTransAnim * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; // -> static class Symbol _s; } struct { // total size: 0xA8 } __vt__12RndTransAnim; // size: 0xA8, address: 0x809036A8 struct { // total size: 0x18 } __vt__38ObjOwnerPtr<12RndTransAnim,9ObjectDir>; // size: 0x18, address: 0x80903788 struct { // total size: 0x8 } __RTTI__38ObjOwnerPtr<12RndTransAnim,9ObjectDir>; // size: 0x8, address: 0x809037D8 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805163FC -> 0x80516654 */ // Range: 0x805163FC -> 0x80516470 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__38ObjOwnerPtr<12RndTransAnim,9ObjectDir>; } // Range: 0x80516470 -> 0x80516608 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x80516608 -> 0x80516610 class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x80516610 -> 0x80516654 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\rndobj\TransAnim.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805168A4 -> 0x80516B30 */ // Range: 0x805168A4 -> 0x80516940 void RndTransAnim::SetKeysOwner(class RndTransAnim * const this /* r30 */, class RndTransAnim * o /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80516940 -> 0x80516984 class Symbol RndTransAnim::ClassName() { // References // -> class Symbol name; } // Range: 0x80516984 -> 0x80516B18 void RndTransAnim::SetType(class RndTransAnim * const this /* r29 */, class Symbol & RndTransAnim /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80516B18 -> 0x80516B30 class Object * RndTransAnim::AnimTarget() {} /* Compile unit: C:\rockband2\system\src\math\Key.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80516B30 -> 0x80516B98 */ // Range: 0x80516B30 -> 0x80516B98 class TextStream & __ls(class TextStream & d /* r30 */, const class Key & i /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\TextStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80516B98 -> 0x80516C4C */ // Range: 0x80516B98 -> 0x80516C4C class TextStream & __ls(class TextStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Key * t; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80516C4C -> 0x80516FE8 */ // Range: 0x80516C4C -> 0x80516F20 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P16Key; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\rndobj\TransArray.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80516FE8 -> 0x8051A41C */ class DataArray * types; // size: 0x4, address: 0x80A53BA0 // Range: 0x80516FE8 -> 0x80517220 void * RndTransArray::RndTransArray(class RndTransArray * const this /* r31 */) { // References // -> struct [anonymous] __vt__33ObjPtr<12RndTransAnim,9ObjectDir>; // -> struct [anonymous] __vt__9TnmLayout; // -> struct [anonymous] __vt__10RingLayout; // -> struct [anonymous] __vt__10GridLayout; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__13RndTransArray; // -> struct [anonymous] __vt__16RndHighlightable; } class TransLayout { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; // Range: 0x80517220 -> 0x80517260 void * TransLayout::~TransLayout(class TransLayout * const this /* r31 */) {} // Range: 0x80517260 -> 0x80517528 void * RndTransArray::~RndTransArray(class RndTransArray * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__41ObjPtrList<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__13RndTransArray; } static int REV; // size: 0x4, address: 0x80A53BA8 // Range: 0x80517910 -> 0x80517954 void RndTransArray::Save() { // References // -> class Debug TheDebug; } // Range: 0x80517954 -> 0x80517B74 void RndTransArray::Load(class RndTransArray * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x10 // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x80517B74 -> 0x80517B7C void RndTransArray::SetFrame() {} // Range: 0x80517B7C -> 0x80517BA0 float RndTransArray::EndFrame() {} // Range: 0x80517BA0 -> 0x80517C08 void RndTransArray::UpdateLayout(class RndTransArray * const this /* r31 */) {} // Range: 0x80517C08 -> 0x80517D6C void TransLayout::Update(class TransLayout * const this /* r28 */, const class Transform & parentXfm /* r29 */, class ObjPtrList & targets /* r27 */) { // Local variables class Transform targetLocalXfm; // r1+0x70 class Transform targetWorldXfm; // r1+0x30 int num; // r31 int index; // r30 class iterator it; // r1+0x20 } // Range: 0x80517D6C -> 0x80518280 class DataNode RndTransArray::Handle(class RndTransArray * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A53BB0 static class Symbol _s; // size: 0x4, address: 0x80A53BB8 static class Symbol _s; // size: 0x4, address: 0x80A53BC0 static class Symbol _s; // size: 0x4, address: 0x80A53BC8 static class Symbol _s; // size: 0x4, address: 0x80A53BD0 static class Symbol _s; // size: 0x4, address: 0x80A53BD8 static class Symbol _s; // size: 0x4, address: 0x80A53BE0 static class Symbol _s; // size: 0x4, address: 0x80A53BE8 static class Symbol _s; // size: 0x4, address: 0x80A53BF0 static class Symbol _s; // size: 0x4, address: 0x80A53BF8 static class Symbol _s; // size: 0x4, address: 0x80A53C00 static class Symbol _s; // size: 0x4, address: 0x80A53C08 static class Symbol _s; // size: 0x4, address: 0x80A53C10 static class Symbol _s; // size: 0x4, address: 0x80A53C18 static class Symbol _s; // size: 0x4, address: 0x80A53C20 static class Symbol _s; // size: 0x4, address: 0x80A53C28 static class Symbol _s; // size: 0x4, address: 0x80A53C30 static class Symbol _s; // size: 0x4, address: 0x80A53C38 // Range: 0x80518280 -> 0x80518F8C unsigned char RndTransArray::SyncProperty(class RndTransArray * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80518F8C -> 0x805191C0 unsigned char PropSync(class Keys & v /* r31 */, class DataNode & n /* r26 */, class DataArray * prop /* r27 */, int i /* r28 */, enum PropOp op /* r29 */) { // Local variables class Key * it; // r30 unsigned char ret; // r30 class Key tmp; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct _OKToSwap { // total size: 0x1 }; class Symbol frame; // size: 0x4, address: 0x80A53C40 class Symbol value; // size: 0x4, address: 0x80A53C48 class TnmLayout : public TransLayout { // total size: 0x28 public: class ObjPtr mTnm; // offset 0x4, size 0xC float mStart; // offset 0x10, size 0x4 float mEnd; // offset 0x14, size 0x4 float mOffset; // offset 0x18, size 0x4 class Keys mOffsetKeys; // offset 0x1C, size 0xC }; // Range: 0x805191C0 -> 0x805191E8 float TnmLayout::EndFrame() {} // Range: 0x805191E8 -> 0x80519458 void TnmLayout::SetFrame(class TnmLayout * const this /* r25 */, float frame /* f30 */) {} // Range: 0x80519458 -> 0x80519520 void TnmLayout::MakeTransform() { // Local variables float frame; // f1 } struct { // total size: 0x1C } __vt__9TnmLayout; // size: 0x1C, address: 0x80903BE4 struct { // total size: 0x8 } __RTTI__9TnmLayout; // size: 0x8, address: 0x80903C18 class RingLayout : public TransLayout { // total size: 0x18 public: float mRadius; // offset 0x4, size 0x4 unsigned char mRotate; // offset 0x8, size 0x1 unsigned char mInvertOrder; // offset 0x9, size 0x1 class Keys mRadiusKeys; // offset 0xC, size 0xC }; // Range: 0x80519520 -> 0x80519548 float RingLayout::EndFrame() {} // Range: 0x80519548 -> 0x805197B8 void RingLayout::SetFrame(class RingLayout * const this /* r25 */, float frame /* f30 */) {} // Range: 0x805197B8 -> 0x80519924 void RingLayout::MakeTransform(class RingLayout * const this /* r30 */, class Transform & xfm /* r31 */) { // Local variables float angle; // f30 } struct { // total size: 0x1C } __vt__10RingLayout; // size: 0x1C, address: 0x80903C70 struct { // total size: 0x8 } __RTTI__10RingLayout; // size: 0x8, address: 0x80903CA8 class GridLayout : public TransLayout { // total size: 0x44 public: int mRows; // offset 0x4, size 0x4 int mCols; // offset 0x8, size 0x4 float mRowSpacing; // offset 0xC, size 0x4 float mColSpacing; // offset 0x10, size 0x4 class Keys mRowKeys; // offset 0x14, size 0xC class Keys mColKeys; // offset 0x20, size 0xC class Keys mRowSpacingKeys; // offset 0x2C, size 0xC class Keys mColSpacingKeys; // offset 0x38, size 0xC }; // Range: 0x80519924 -> 0x80519A20 float GridLayout::EndFrame() {} // Range: 0x80519A20 -> 0x8051A31C void GridLayout::SetFrame(class GridLayout * const this /* r31 */, float frame /* f30 */) {} // Range: 0x8051A31C -> 0x8051A41C void GridLayout::MakeTransform() { // Local variables int col; // r7 int row; // r8 } struct { // total size: 0x1C } __vt__10GridLayout; // size: 0x1C, address: 0x80903CB0 struct { // total size: 0x8 } __RTTI__10GridLayout; // size: 0x8, address: 0x80903CE8 struct { // total size: 0x1C } __vt__11TransLayout; // size: 0x1C, address: 0x80903CF0 struct { // total size: 0x8 } __RTTI__11TransLayout; // size: 0x8, address: 0x80903D18 struct { // total size: 0xEC } __vt__13RndTransArray; // size: 0xEC, address: 0x80903D58 struct { // total size: 0x8 } __RTTI__13RndTransArray; // size: 0x8, address: 0x80903E80 /* Compile unit: C:\rockband2\system\src\rndobj\TransArray.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051A41C -> 0x8051AC88 */ // Range: 0x8051A41C -> 0x8051A580 void RndTransArray::SetTypeDef(class RndTransArray * const this /* r30 */, class DataArray * type /* r29 */) { // Local variables class Symbol typeName; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x8051A580 -> 0x8051AAB0 void RndTransArray::Copy(class RndTransArray * const this /* r29 */, enum CopyType type /* r27 */) { // Local variables const class RndTransArray * rhs; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndTransArray; } // Range: 0x8051AAB0 -> 0x8051AAF4 class Symbol RndTransArray::ClassName() { // References // -> class Symbol name; } // Range: 0x8051AAF4 -> 0x8051AC88 void RndTransArray::SetType(class RndTransArray * const this /* r29 */, class Symbol & RndTransArray /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051AC88 -> 0x8051AEF8 */ // Range: 0x8051AC88 -> 0x8051ACA0 unsigned char KeyCmp() {} // Range: 0x8051ACA0 -> 0x8051AEF8 unsigned char PropSync(class Key & key /* r27 */, class DataNode & n /* r28 */, class DataArray * prop /* r29 */, int i /* r30 */, enum PropOp op /* r31 */) { // References // -> class Symbol value; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Symbol frame; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051AEF8 -> 0x8051B59C */ // Range: 0x8051AEF8 -> 0x8051AF8C void sort(class Key * __first /* r29 */, class Key * __last /* r30 */, unsigned char (* __comp)(class Key &, class Key &) /* r31 */) {} // Range: 0x8051AF8C -> 0x8051B014 void __final_insertion_sort(class Key * __first /* r29 */, class Key * __last /* r30 */, unsigned char (* __comp)(class Key &, class Key &) /* r31 */) {} // Range: 0x8051B014 -> 0x8051B084 void __unguarded_insertion_sort_aux(class Key * __last /* r29 */, unsigned char (* __comp)(class Key &, class Key &) /* r30 */) { // Local variables class Key * __i; // r31 } // Range: 0x8051B084 -> 0x8051B118 void __unguarded_linear_insert(class Key * __last /* r28 */, class Key & __val /* r29 */, unsigned char (* __comp)(class Key &, class Key &) /* r30 */) { // Local variables class Key * __next; // r31 } // Range: 0x8051B118 -> 0x8051B228 void __insertion_sort(class Key * __first /* r28 */, class Key * __last /* r29 */, unsigned char (* __comp)(class Key &, class Key &) /* r30 */) { // Local variables class Key * __i; // r31 } // Range: 0x8051B228 -> 0x8051B3AC void __introsort_loop(class Key * __first /* r27 */, class Key * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class Key &, class Key &) /* r30 */) { // Local variables class Key * __cut; // r31 } // Range: 0x8051B3AC -> 0x8051B4A0 class Key * __unguarded_partition(class Key * __first /* r28 */, class Key * __last /* r29 */, class Key & __pivot /* r30 */, unsigned char (* __comp)(class Key &, class Key &) /* r31 */) {} // Range: 0x8051B4A0 -> 0x8051B4AC void partial_sort() {} // Range: 0x8051B4AC -> 0x8051B59C void __partial_sort(class Key * __first /* r27 */, class Key * __middle /* r28 */, class Key * __last /* r29 */, unsigned char (* __comp)(class Key &, class Key &) /* r30 */) { // Local variables class Key * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051B59C -> 0x8051B5B4 */ // Range: 0x8051B59C -> 0x8051B5B4 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051B5B4 -> 0x8051B850 */ // Range: 0x8051B5B4 -> 0x8051B624 void pop_heap(class Key * __last /* r6 */) {} // Range: 0x8051B624 -> 0x8051B798 void __adjust_heap(class Key * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r25 */, class Key & __val /* r29 */, unsigned char (* __comp)(class Key &, class Key &) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r26 } // Range: 0x8051B798 -> 0x8051B850 void make_heap(class Key * __first /* r28 */, unsigned char (* __comp)(class Key &, class Key &) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\rndobj\Utl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051B96C -> 0x8051EF7C */ // Range: 0x8051B96C -> 0x8051BA64 class RndGroup * GroupOwner(class Object * o /* r31 */) { // Local variables struct _List_iterator i; // r1+0x30 class RndGroup * g; // r3 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x8051BA64 -> 0x8051BB1C unsigned char GroupedUnder(class Object * o /* r31 */) { // Local variables class iterator i; // r1+0x18 class RndGroup * ig; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } // Range: 0x8051BB1C -> 0x8051BBEC unsigned char AnimContains(const class RndAnimatable * anim /* r31 */) { // Local variables class list children; // r1+0x30 struct _List_iterator it; // r1+0x18 } // Range: 0x8051BBEC -> 0x8051BCB8 class RndAnimatable * AnimController(class Object * o /* r30 */) { // Local variables struct _List_iterator i; // r1+0x18 class RndAnimatable * a; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13RndAnimatable; } // Range: 0x8051BCB8 -> 0x8051BD38 class RndMat * GetMat() { // Local variables class list mats; // r1+0x20 } // Range: 0x8051BD38 -> 0x8051BDE0 unsigned char SortDraws(class RndDrawable * a /* r29 */, class RndDrawable * b /* r30 */) { // Local variables class RndMat * mata; // r0 class RndMat * matb; // r0 } static class Symbol CharTransCopy; // size: 0x4, address: 0x80A53C54 // Range: 0x8051BDE0 -> 0x8051BEE8 unsigned char SortPolls(const class RndPollable * a /* r30 */, const class RndPollable * b /* r31 */) { // Local variables float aweight; // f0 float bweight; // f0 // References // -> static class Symbol CharTransCopy; } // Range: 0x8051BEE8 -> 0x8051C084 void CalcBox(class RndMesh * m /* r29 */, class Box & b /* r30 */) { // Local variables class Vert * v; // r31 class Vector3 p; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8051C084 -> 0x8051C3C4 void CalcSphere(class RndTransAnim * ta /* r30 */, class Sphere & s /* r31 */) { // Local variables class RndTransformable * parent; // r29 class Box b; // r1+0x40 class Vector3 v; // r1+0x30 class Key * i; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8051C3C4 -> 0x8051C534 void AddMotionSphere(class RndTransformable * o /* r30 */, class Sphere & s /* r31 */) { // Local variables class RndTransAnim * ta; // r0 class Sphere s2; // r1+0x10 // References // -> struct [anonymous] __RTTI__13RndAnimatable; // -> struct [anonymous] __RTTI__12RndTransAnim; } // Range: 0x8051C534 -> 0x8051CAA8 void RandomPointOnMesh(const class RndMesh * mesh /* r28 */, class Vector3 & pos /* r29 */, class Vector3 & norm /* r30 */) { // Local variables class Vector3 p1; // r1+0x60 class Vector3 p2; // r1+0x50 class Vector3 p3; // r1+0x40 class Vector3 n1; // r1+0x30 class Vector3 n2; // r1+0x20 class Vector3 n3; // r1+0x10 float x; // f31 float y; // f1 float z; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8051CAA8 -> 0x8051CE7C void UtilDrawSphere(const class Vector3 & center /* r25 */, float radius /* f29 */, const class Color & col /* r26 */, int numLat /* r27 */) { // Local variables class Vector3 points[37]; // r1+0x30 int numLong; // r31 int numLatPoints; // r30 int i; // r29 float pitch; // f28 float sp; // f0 float cp; // f0 int j; // r28 float heading; // f27 float heading; // f27 float sh; // f0 float ch; // f0 int j; // r28 float pitch; // f27 float cp; // f0 float sp; // f0 // References // -> class Rnd & TheRnd; } // Range: 0x8051CE7C -> 0x8051D568 void UtilDrawCigar(float radius /* f27 */, float minLength /* f28 */, float maxLength /* f29 */, const class Color & col /* r29 */) { // Local variables class Vector3 bottom[3][6]; // r1+0x1D0 class Vector3 top[3][6]; // r1+0xB0 class Vector3 caps[2]; // r1+0x50 class Transform b; // r1+0x70 int i; // r24 float pitch; // f26 float cpr; // f31 float spr; // f30 int j; // r25 float heading; // f25 float sh; // f0 float ch; // f0 int i; // r24 int i; // r31 int lastLong; // r0 int j; // r30 // References // -> class Rnd & TheRnd; } // Range: 0x8051D568 -> 0x8051D728 void UtilDrawCircle(const class Vector3 & base /* r28 */, float radius /* f31 */, const class Color & col /* r29 */, int numSegs /* r30 */) { // Local variables class Vector3 points[37]; // r1+0x20 int i; // r31 float h; // f29 // References // -> class Rnd & TheRnd; } // Range: 0x8051D728 -> 0x8051D7E8 void UtilDrawString(const char * string /* r30 */, const class Color & col /* r31 */) { // Local variables class Vector2 p; // r1+0x8 float z; // f0 // References // -> class Rnd & TheRnd; // -> class RndCam * sCurrent; } // Range: 0x8051D7E8 -> 0x8051DABC void UtilDrawBox(const class Color & col /* r30 */, unsigned char zBuf /* r31 */) { // Local variables class Vector3 v[8]; // r1+0x10 int i; // r5 // References // -> class Rnd & TheRnd; } // Range: 0x8051DABC -> 0x8051DC68 void UtilDrawAxes(const class Transform & t /* r30 */, float size /* f31 */, const class Color & col /* r31 */) { // Local variables class Vector3 tmp; // r1+0x40 // References // -> class Rnd & TheRnd; } // Range: 0x8051DC68 -> 0x8051DEE8 void SetLocalScale() { // Local variables class Matrix3 m; // r1+0x10 } // Range: 0x8051DEE8 -> 0x8051E260 void TransformKeys(class RndTransAnim * ta /* r29 */, const class Transform & xfm /* r30 */) { // Local variables class Vector3 scale; // r1+0x20 class Matrix3 m; // r1+0x30 class Quat rot; // r1+0x10 class Key * tk; // r31 class Key * sk; // r31 class Key * rk; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8051E260 -> 0x8051E2FC char * MovieExtension(const char * ext /* r30 */, enum Platform plat /* r31 */) {} // Range: 0x8051E2FC -> 0x8051E380 static class Loader * ResourceFactory(const class FilePath & file /* r29 */, enum LoaderPos pos /* r30 */) {} enum CacheResourceResult { kCacheSuccessful = -1, kCacheUnnecessary = 0, kCacheUnknownExtension = 1, kCacheMissingFile = 2, }; // Range: 0x8051E380 -> 0x8051E574 char * CacheResource(const char * file /* r27 */, class Object * obj /* r28 */) { // Local variables enum Platform plat; // r4 enum CacheResourceResult result; // r1+0x8 const char * ret; // r29 // References // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> class Rnd & TheRnd; } static char ps3File[256]; // size: 0x100, address: 0x80981860 static char cacheFile[256]; // size: 0x100, address: 0x80981960 // Range: 0x8051E574 -> 0x8051E70C char * CacheResource(const char * file /* r27 */, enum CacheResourceResult & result /* r30 */) { // Local variables char buffer[256]; // r1+0x10 const char * ext; // r31 const char * offset; // r0 // References // -> class Archive * TheArchive; // -> static char cacheFile[256]; // -> static char ps3File[256]; // -> class LoadMgr TheLoadMgr; } // Range: 0x8051E70C -> 0x8051E7E4 void RndUtlInit() { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8051E7E4 -> 0x8051E838 float ConvertFov(float ratio /* f31 */) {} class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class RndGroup * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x8051E838 -> 0x8051EBBC void ListDrawGroups(class RndDrawable * d /* r1+0x8 */, class list & l /* r31 */) { // Local variables class ObjDirItr g; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x809043B0 class list : public _List_base { // total size: 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class RndGroup * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; // Range: 0x8051EBBC -> 0x8051ECC8 void WordWrap(const char * msg /* r28 */, int wrap /* r29 */, char * tmp /* r30 */) { // Local variables const char * dstEnd; // r31 const char * srcEnd; // r4 char * dst; // [invalid] const char * src; // [invalid] const char * srcSpace; // r5 char * dstSpace; // r6 int lineLen; // r7 } // Range: 0x8051ECC8 -> 0x8051ED8C unsigned char TexUsesAlpha(class RndTex * tex /* r31 */) { // Local variables struct _List_iterator iter; // r1+0x18 class RndMat * mat; // r0 enum Blend blend; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndMat; } // Range: 0x8051ED8C -> 0x8051EDB8 void PreMultiplyAlpha() {} // Range: 0x8051EDB8 -> 0x8051EF7C struct MatShaderOptions GetDefaultMatShaderOpts(struct MatShaderOptions * options /* r31 */, const class Object * o /* r28 */, class RndMat * mat /* r29 */) { // Local variables const class RndMesh * m; // r0 const class RndMultiMesh * mm; // r0 const class RndParticleSys * p; // r0 const class RndFlare * f; // r0 // References // -> struct [anonymous] __RTTI__8RndFlare; // -> struct [anonymous] __RTTI__14RndParticleSys; // -> struct [anonymous] __RTTI__12RndMultiMesh; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7RndMesh; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8051EF7C -> 0x805201D4 */ // Range: 0x8051EF7C -> 0x8051F558 class DataNode OnTestDrawGroups(class DataArray * a /* r27 */) { // Local variables class DataArray * exceptions; // r30 class ObjDirItr d; // r1+0x8C class list l; // r1+0x78 struct _List_iterator g; // r1+0x60 unsigned char isException; // r28 int i; // r27 class String s; // r1+0x80 struct _List_iterator it; // r1+0x5C // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__11RndDrawable; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x8051F558 -> 0x8051F9A0 void TestTextureSize(class ObjectDir * dir /* r26 */, int flags /* r27 */, int width /* r25 */, int height /* r24 */, int bpp /* r23 */, int maxBpp /* r28 */) { // Local variables int size; // r29 class ObjDirItr t; // r1+0x18 int tbpp; // r24 int s; // r23 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } // Range: 0x8051F9A0 -> 0x805201D4 void TestTexturePaths(class ObjectDir * dir /* r28 */) { // Local variables class String root; // r1+0x58 class ObjDirItr t; // r1+0x78 class FilePath f; // r1+0x4C class String rel; // r1+0x40 unsigned char ng; // r0 class ObjDirItr tex; // r1+0x64 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805201D4 -> 0x805202EC */ // Range: 0x805201D4 -> 0x80520264 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, const char * t2 /* r29 */, const char * t3 /* r30 */, class Symbol & t4 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x80520264 -> 0x805202EC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, int t2 /* r29 */, int t3 /* r30 */, int t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805202EC -> 0x8052045C */ // Range: 0x805202EC -> 0x8052045C void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8RndGroup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8052045C -> 0x805204BC */ // Range: 0x8052045C -> 0x805204BC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\rndobj\Graph.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805204BC -> 0x80520EEC */ static class RndGraph * sOneFrame; // size: 0x4, address: 0x80A53C58 class list : public _List_base { // total size: 0x8 }; static class list sGraphs; // size: 0x8, address: 0x80981A70 class list : public _List_base { // total size: 0x8 }; static class list sFakes; // size: 0x8, address: 0x80981A88 static class ObjPtr sCam; // size: 0xC, address: 0x80981A9C // Range: 0x805204BC -> 0x8052052C void RndGraph::SetCamera(class RndCam * cam /* r31 */) { // References // -> static class ObjPtr sCam; } // Range: 0x8052052C -> 0x80520574 class RndGraph * RndGraph::GetOneFrame() { // References // -> static class RndGraph * sOneFrame; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80520574 -> 0x80520690 void RndGraph::DrawAll() { // Local variables struct _List_iterator it; // r1+0x24 struct _List_iterator jt; // r1+0x20 // References // -> static class list sFakes; // -> static class RndGraph * sOneFrame; // -> static class list sGraphs; // -> static class ObjPtr sCam; } // Range: 0x80520690 -> 0x80520790 class RndGraph * RndGraph::Get(void * id /* r30 */) { // Local variables struct _List_iterator it; // r1+0x18 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class list sGraphs; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node; // size: 0x8, address: 0x80904878 struct FakeGraph { // total size: 0x8 void * mId; // offset 0x0, size 0x4 void (* mDrawCallback)(); // offset 0x4, size 0x4 }; // Range: 0x80520790 -> 0x805207BC void * RndGraph::RndGraph() {} // Range: 0x805207BC -> 0x80520850 void * RndGraph::~RndGraph(class RndGraph * const this /* r30 */) {} // Range: 0x80520850 -> 0x805208EC void RndGraph::Draw(class RndGraph * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x805208EC -> 0x805209B0 void RndGraph::Reset(class RndGraph * const this /* r30 */) { // Local variables int i; // r31 } class Drawable { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; // Range: 0x805209B0 -> 0x80520AC4 void RndGraph::AddLine(class RndGraph * const this /* r28 */, const class Vector3 & a /* r29 */, const class Vector3 & b /* r30 */, const class Color & col /* r31 */) { // References // -> struct [anonymous] __vt__4Line; } // Range: 0x80520AC4 -> 0x80520BDC void RndGraph::AddSphere(class RndGraph * const this /* r28 */, const class Vector3 & center /* r29 */, float radius /* f31 */, const class Color & col /* r30 */, int numLats /* r31 */) { // References // -> struct [anonymous] __vt__10DrawSphere; } // Range: 0x80520BDC -> 0x80520CD8 void RndGraph::AddString3D(class RndGraph * const this /* r27 */, const char * text /* r28 */, const class Vector3 & worldPos /* r29 */, const class Color & col /* r30 */) { // References // -> struct [anonymous] __vt__12DrawString3D; } class DrawString3D : public Drawable { // total size: 0x40 public: class Vector3 mPos; // offset 0x10, size 0x10 class String mText; // offset 0x20, size 0xC class Color mCol; // offset 0x30, size 0x10 }; // Range: 0x80520CD8 -> 0x80520CE8 void DrawString3D::DrawFixedZ() {} // Range: 0x80520CE8 -> 0x80520CFC void DrawString3D::Draw(class DrawString3D * const this /* r5 */) {} struct { // total size: 0x14 } __vt__12DrawString3D; // size: 0x14, address: 0x809048A8 struct { // total size: 0x8 } __RTTI__12DrawString3D; // size: 0x8, address: 0x809048D8 class DrawSphere : public Drawable { // total size: 0x50 public: class Vector3 mCenter; // offset 0x10, size 0x10 float mRadius; // offset 0x20, size 0x4 class Color mCol; // offset 0x30, size 0x10 int mNumLats; // offset 0x40, size 0x4 }; // Range: 0x80520CFC -> 0x80520D54 void DrawSphere::DrawFixedZ(class DrawSphere * const this /* r5 */) {} // Range: 0x80520D54 -> 0x80520D68 void DrawSphere::Draw() {} struct { // total size: 0x14 } __vt__10DrawSphere; // size: 0x14, address: 0x809048E0 struct { // total size: 0x8 } __RTTI__10DrawSphere; // size: 0x8, address: 0x80904910 class Line : public Drawable { // total size: 0x40 public: class Vector3 mA; // offset 0x10, size 0x10 class Vector3 mB; // offset 0x20, size 0x10 class Color mCol; // offset 0x30, size 0x10 }; // Range: 0x80520D68 -> 0x80520DE4 void Line::DrawFixedZ(class Line * const this /* r6 */) { // References // -> class Rnd & TheRnd; } // Range: 0x80520DE4 -> 0x80520E0C void Line::Draw(class Line * const this /* r6 */) { // References // -> class Rnd & TheRnd; } struct { // total size: 0x14 } __vt__4Line; // size: 0x14, address: 0x80904918 struct { // total size: 0x8 } __RTTI__4Line; // size: 0x8, address: 0x80904940 struct { // total size: 0x8 } __RTTI__8Drawable; // size: 0x8, address: 0x80904958 struct { // total size: 0x8 } __RTTI__PP8Drawable; // size: 0x8, address: 0x80904970 // Range: 0x80520E0C -> 0x80520EEC static void __sinit_\Graph_cpp() { // References // -> struct [anonymous] __vt__26ObjPtr<6RndCam,9ObjectDir>; // -> static class ObjPtr sCam; // -> static class list sFakes; // -> static class list sGraphs; } class _List_node : public _List_node_base { // total size: 0xC public: class RndGraph * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x10 public: struct FakeGraph _M_data; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80520EEC -> 0x80521118 */ // Range: 0x80520EEC -> 0x80521038 void RndGraph::Free(void * id /* r6 */) { // Local variables struct _List_iterator it; // r1+0x34 struct _List_iterator jt; // r1+0x30 // References // -> class Debug TheDebug; // -> static class list sFakes; // -> static class list sGraphs; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521118 -> 0x80521250 */ // Range: 0x80521118 -> 0x80521250 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Drawable * * __pos /* r28 */, class Drawable * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Drawable * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8Drawable; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521250 -> 0x80521300 */ // Range: 0x80521250 -> 0x805212A8 void * list::~list(class list * const this /* r30 */) {} // Range: 0x805212A8 -> 0x80521300 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521300 -> 0x805213C0 */ // Range: 0x80521300 -> 0x80521360 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x80521360 -> 0x805213C0 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\net\CustomMatchMakingDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805213C0 -> 0x80521A30 */ class CustomMatchMakingClient : public ClientProtocol { // total size: 0x38 }; class qList : public list, public RootObject { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; // Range: 0x805213C0 -> 0x805216EC unsigned char CustomMatchMakingClient::CallCustomFind(class CustomMatchMakingClient * const this /* r23 */, class ProtocolCallContext * pContext /* r24 */, const int & queryID /* r25 */, const int & gameMode /* r26 */, const unsigned char & ranked /* r27 */, const class qList & props /* r28 */, const class ResultRange & resultRange /* r29 */, class qList * lstGatherings /* r30 */) { // Local variables class ScopedCS oCS; // r1+0x40 class Message msgRequest; // r1+0x48 class Message * pMsg; // r31 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class _List_node : public _List_node_base { // total size: 0x10 public: class AnyObjectHolder _M_data; // offset 0x8, size 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x805216EC -> 0x80521A30 void CustomMatchMakingClient::ExtractCallSpecificResults(class Message * pMessage /* r29 */, class ProtocolCallContext * pContext /* r26 */) { // Local variables unsigned short uiRMCID; // r4 // References // -> class AnyObjectAdapter * s_pAnyAdapter; // -> struct [anonymous] __vt__Q26Quazal53AnyObjectHolder; } class _DDL_Gathering : public RootObject { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int m_idMyself; // offset 0x4, size 0x4 unsigned int m_pidOwner; // offset 0x8, size 0x4 unsigned int m_pidHost; // offset 0xC, size 0x4 unsigned short m_uiMinParticipants; // offset 0x10, size 0x2 unsigned short m_uiMaxParticipants; // offset 0x12, size 0x2 unsigned int m_uiParticipationPolicy; // offset 0x14, size 0x4 unsigned int m_uiPolicyArgument; // offset 0x18, size 0x4 unsigned int m_uiFlags; // offset 0x1C, size 0x4 unsigned int m_uiState; // offset 0x20, size 0x4 class String m_strDescription; // offset 0x24, size 0x4 }; class Gathering : public _DDL_Gathering { // total size: 0x28 }; class Holder { // total size: 0x4 class Gathering * m_ptr; // offset 0x0, size 0x4 }; class AnyObjectHolder : public Holder { // total size: 0x8 public: void * __vptr$; // offset 0x4, size 0x4 }; struct { // total size: 0xC } __vt__Q26Quazal53AnyObjectHolder; // size: 0xC, address: 0x80904978 struct { // total size: 0x8 } __RTTI__Q26Quazal53AnyObjectHolder; // size: 0x8, address: 0x809049D0 struct { // total size: 0x8 } __RTTI__Q26Quazal27Holder; // size: 0x8, address: 0x80904A00 struct { // total size: 0x64 } __vt__Q26Quazal23CustomMatchMakingClient; // size: 0x64, address: 0x80904A08 struct { // total size: 0x8 } __RTTI__Q26Quazal23CustomMatchMakingClient; // size: 0x8, address: 0x80904AC0 struct { // total size: 0x14 } __vt__Q26Quazal11ResultRange; // size: 0x14, address: 0x80904AC8 struct { // total size: 0x8 } __RTTI__Q26Quazal11ResultRange; // size: 0x8, address: 0x80904B08 struct { // total size: 0x8 } __RTTI__Q26Quazal16_DDL_ResultRange; // size: 0x8, address: 0x80904B38 class AnyObjectAdapter { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class AnyObjectAdapter * s_pAnyAdapter; // size: 0x4, address: 0x80A53C60 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521A30 -> 0x80521B40 */ // Range: 0x80521A8C -> 0x80521AE4 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Services\Foundation\Protocol\ResultRange.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521B40 -> 0x80521B90 */ // Range: 0x80521B40 -> 0x80521B80 void * ResultRange::~ResultRange(class ResultRange * const this /* r31 */) {} // Range: 0x80521B80 -> 0x80521B88 unsigned int ResultRange::GetSize() {} // Range: 0x80521B88 -> 0x80521B90 unsigned int ResultRange::GetOffset() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Core\Holder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521B90 -> 0x80521C08 */ // Range: 0x80521B90 -> 0x80521C08 void * Holder::~Holder(class Holder * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Extensions\Any\AnyObjectHolder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521C08 -> 0x80521C84 */ // Range: 0x80521C08 -> 0x80521C84 void * AnyObjectHolder::~AnyObjectHolder(class AnyObjectHolder * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521C84 -> 0x80521DE0 */ // Range: 0x80521C84 -> 0x80521D10 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x80521D10 -> 0x80521D80 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\net\HarmonixGameDDF.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521DE0 -> 0x80521F40 */ class DOHandle : public RootObject { // total size: 0x4 unsigned int m_uiValue; // offset 0x0, size 0x4 }; class WKHandle : public DOHandle { // total size: 0xC unsigned char m_bInitialized; // offset 0x4, size 0x1 unsigned char m_bInstanciated; // offset 0x5, size 0x1 class WKHandle * m_phNext; // offset 0x8, size 0x4 }; class WKHandle gMessageBroker; // size: 0xC, address: 0x80981AB4 class WKHandle gVoiceChannel; // size: 0xC, address: 0x80981ACC class HarmonixGameDDLDeclarations : public DDLDeclarations { // total size: 0x14 }; class HarmonixGameDDLDeclarations g_ddlHarmonixGame; // size: 0x14, address: 0x80981AE4 // Range: 0x80521DE0 -> 0x80521DEC void HarmonixGameDDLDeclarations::Register() { // References // -> class HarmonixGameDDLDeclarations g_ddlHarmonixGame; } // Range: 0x80521DEC -> 0x80521E50 void HarmonixGameDDLDeclarations::Init() { // References // -> unsigned int s_uiClassID; // -> class WKHandle gVoiceChannel; // -> unsigned int s_uiClassID; // -> class WKHandle gMessageBroker; // -> unsigned int s_uiBaseClassID; // -> unsigned char LIB_CONFLICT_MUST_LINK_WITH_ANSI_LIBRARY; // -> unsigned char LIB_CONFLICT_MUST_LINK_WITH_RELEASE_LIBRARY; // -> unsigned char LIB_CONFLICT_MUST_LINK_WITH_SHIPPING_LIBRARY; } struct { // total size: 0x10 } __vt__Q26Quazal27HarmonixGameDDLDeclarations; // size: 0x10, address: 0x80904B40 struct { // total size: 0x8 } __RTTI__Q26Quazal27HarmonixGameDDLDeclarations; // size: 0x8, address: 0x80904B88 // Range: 0x80521EAC -> 0x80521F40 static void __sinit_\HarmonixGameDDF_cpp() { // References // -> struct [anonymous] __vt__Q26Quazal27HarmonixGameDDLDeclarations; // -> class HarmonixGameDDLDeclarations g_ddlHarmonixGame; // -> class WKHandle gVoiceChannel; // -> class WKHandle gMessageBroker; } unsigned int s_uiClassID; // size: 0x4, address: 0x80A56038 /* Compile unit: C:\rockband2\system\src\net\HarmonixGatheringDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80521F40 -> 0x805223C4 */ class _DDL_HarmonixGathering : public Gathering { // total size: 0x68 public: int mGameMode; // offset 0x28, size 0x4 unsigned char mRanked; // offset 0x2C, size 0x1 unsigned char mPublic; // offset 0x2D, size 0x1 int mProp0; // offset 0x30, size 0x4 int mProp1; // offset 0x34, size 0x4 int mProp2; // offset 0x38, size 0x4 int mProp3; // offset 0x3C, size 0x4 int mProp4; // offset 0x40, size 0x4 int mProp5; // offset 0x44, size 0x4 int mProp6; // offset 0x48, size 0x4 int mProp7; // offset 0x4C, size 0x4 int mProp8; // offset 0x50, size 0x4 class Buffer mBuffer; // offset 0x54, size 0x14 }; // Range: 0x80521F40 -> 0x805220A8 void _DDL_HarmonixGathering::Add(class Message * pMessageToSend /* r29 */, const class _DDL_HarmonixGathering & oValue /* r30 */) {} // Range: 0x805220A8 -> 0x80522238 void _DDL_HarmonixGathering::Extract(class Message * pReceivedMessage /* r29 */, class _DDL_HarmonixGathering * pValue /* r30 */) {} // Range: 0x80522238 -> 0x80522294 unsigned char _DDL_HarmonixGathering::IsA(const class String & strClass /* r31 */) {} // Range: 0x80522294 -> 0x80522330 unsigned char _DDL_HarmonixGathering::IsAKindOf(const class _DDL_HarmonixGathering * const this /* r28 */, const class String & strClass /* r29 */) {} // Range: 0x80522330 -> 0x80522340 void _DDL_HarmonixGathering::StreamIn(const class _DDL_HarmonixGathering * const this /* r0 */) {} // Range: 0x80522340 -> 0x80522350 void _DDL_HarmonixGathering::StreamOut(class _DDL_HarmonixGathering * const this /* r0 */) {} struct { // total size: 0x28 } __vt__Q26Quazal17HarmonixGathering; // size: 0x28, address: 0x80904BC0 struct { // total size: 0x8 } __RTTI__Q26Quazal17HarmonixGathering; // size: 0x8, address: 0x80904C28 struct { // total size: 0x28 } __vt__Q26Quazal22_DDL_HarmonixGathering; // size: 0x28, address: 0x80904C30 struct { // total size: 0x8 } __RTTI__Q26Quazal22_DDL_HarmonixGathering; // size: 0x8, address: 0x80904C98 struct { // total size: 0x8 } __RTTI__Q26Quazal9Gathering; // size: 0x8, address: 0x80904CC8 struct { // total size: 0x8 } __RTTI__Q26Quazal14_DDL_Gathering; // size: 0x8, address: 0x80904CF8 /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Platform\Core\MemAllocator.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805223C4 -> 0x80522440 */ // Range: 0x805223C4 -> 0x80522434 class Gathering * _DDL_HarmonixGathering::Clone() { // References // -> struct [anonymous] __vt__Q26Quazal17HarmonixGathering; // -> struct [anonymous] __vt__Q26Quazal22_DDL_HarmonixGathering; } // Range: 0x80522434 -> 0x80522440 class String _DDL_HarmonixGathering::GetGatheringType() {} /* Compile unit: C:\rockband2\system\src\net\HarmonixGatheringDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80522440 -> 0x805224B0 */ // Range: 0x80522440 -> 0x805224B0 void * _DDL_HarmonixGathering::~_DDL_HarmonixGathering(class _DDL_HarmonixGathering * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\net\JobMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805224B0 -> 0x80522944 */ static int gJobIDCounter; // size: 0x4, address: 0x80A53C68 // Range: 0x805224B0 -> 0x805224D0 void * Job::Job() { // References // -> static int gJobIDCounter; // -> struct [anonymous] __vt__3Job; } // Range: 0x805224D0 -> 0x80522504 void * JobMgr::JobMgr() {} class _List_node : public _List_node_base { // total size: 0xC public: class Job * _M_data; // offset 0x8, size 0x4 }; // Range: 0x80522504 -> 0x80522568 void * JobMgr::~JobMgr(class JobMgr * const this /* r30 */) {} // Range: 0x80522568 -> 0x80522670 void JobMgr::Poll(class JobMgr * const this /* r29 */) { // Local variables class Job * finishedJob; // r30 } // Range: 0x80522670 -> 0x80522768 void JobMgr::QueueJob(class JobMgr * const this /* r30 */, class Job * job /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std17_List_node; // size: 0x8, address: 0x80904D28 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80522768 -> 0x805227C8 unsigned char JobMgr::HasJob() { // Local variables struct _List_iterator it; // r1+0x14 } // Range: 0x805227C8 -> 0x80522944 void JobMgr::CancelAllJobs(class JobMgr * const this /* r31 */) { // Local variables class list toBeCancelled; // r1+0x50 struct _List_iterator it; // r1+0x3C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x1C } __vt__3Job; // size: 0x1C, address: 0x80904D50 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80522944 -> 0x80522AA8 */ // Range: 0x80522944 -> 0x80522AA8 void JobMgr::CancelJob(class JobMgr * const this /* r31 */, int jobID /* r27 */) { // Local variables struct _List_iterator it; // r1+0x2C class Job * toBeCancelled; // r28 unsigned char wasPreventingStart; // r30 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80522AA8 -> 0x80522AAC */ // Range: 0x80522AA8 -> 0x80522AAC class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80522AAC -> 0x80522B0C */ // Range: 0x80522AAC -> 0x80522B0C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\net\Jobs_RV.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80522B0C -> 0x80524348 */ class RVJob : public Job { // total size: 0xC protected: class ProtocolCallContext * mAsync; // offset 0x8, size 0x4 }; // Range: 0x80522B0C -> 0x80522B60 void * RVJob::RVJob(class RVJob * const this /* r31 */) { // References // -> struct [anonymous] __vt__5RVJob; } // Range: 0x80522B60 -> 0x80522BE0 void * RVJob::~RVJob(class RVJob * const this /* r30 */) { // References // -> struct [anonymous] __vt__5RVJob; } // Range: 0x80522BE0 -> 0x80522C44 unsigned char RVJob::IsFinished(class RVJob * const this /* r31 */) { // References // -> class Net TheNet; } // Range: 0x80522C44 -> 0x80522C98 void RVJob::Cancel(class RVJob * const this /* r31 */) {} class RVSessionData : public SessionData { // total size: 0xC unsigned int mGatheringID; // offset 0x4, size 0x4 unsigned int mHostID; // offset 0x8, size 0x4 }; enum /* @enum$23092Jobs_RV_cpp */ { kRegister = 0, kParticipate = 1, kLaunch = 2, kSuccess = 3, kFail = 4, }; class MakeSessionJob : public Job { // total size: 0x18 class AnyObjectHolder * mGathering; // offset 0x8, size 0x4 class RVSessionData * mData; // offset 0xC, size 0x4 class ProtocolCallContext * mAsync; // offset 0x10, size 0x4 enum /* @enum$23092Jobs_RV_cpp */ { kRegister = 0, kParticipate = 1, kLaunch = 2, kSuccess = 3, kFail = 4, } mState; // offset 0x14, size 0x4 }; // Range: 0x80522C98 -> 0x80522D14 void * MakeSessionJob::MakeSessionJob(class MakeSessionJob * const this /* r29 */, class AnyObjectHolder * gathering /* r30 */, class RVSessionData * data /* r31 */) { // References // -> struct [anonymous] __vt__14MakeSessionJob; } // Range: 0x80522D14 -> 0x80522D94 void * MakeSessionJob::~MakeSessionJob(class MakeSessionJob * const this /* r30 */) { // References // -> struct [anonymous] __vt__14MakeSessionJob; } // Range: 0x80522D94 -> 0x80522E54 void MakeSessionJob::Start(class MakeSessionJob * const this /* r30 */) { // Local variables unsigned char success; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } static class SessionReadyMsg msg; // size: 0x8, address: 0x80981B08 // Range: 0x80522E54 -> 0x80523050 void MakeSessionJob::Cancel(class MakeSessionJob * const this /* r31 */, class Object * callback /* r30 */) { // References // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SessionReadyMsg msg; } // Range: 0x80523050 -> 0x8052321C void MakeSessionJob::OnCompletion(class Object * callback /* r31 */) { // Local variables class SessionReadyMsg msg; // r1+0x28 // References // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } class MakeOfflineSessionJob : public Job { // total size: 0x8 }; // Range: 0x8052321C -> 0x80523224 unsigned char MakeOfflineSessionJob::IsFinished() {} static class SessionReadyMsg msg; // size: 0x8, address: 0x80981B20 // Range: 0x80523224 -> 0x805233F4 void MakeOfflineSessionJob::Cancel(class Object * callback /* r30 */) { // References // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SessionReadyMsg msg; } static class SessionReadyMsg msg; // size: 0x8, address: 0x80981B38 // Range: 0x805233F4 -> 0x805235CC void MakeOfflineSessionJob::OnCompletion(class Object * callback /* r30 */) { // References // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SessionReadyMsg msg; } enum /* @enum$23108Jobs_RV_cpp */ { kParticipate = 0, kRequestURLs = 1, kJoin = 2, kSuccess = 3, kFail = 4, }; class JoinSessionJob : public Job { // total size: 0x14 class RVSessionData * mData; // offset 0x8, size 0x4 class ProtocolCallContext * mAsync; // offset 0xC, size 0x4 enum /* @enum$23108Jobs_RV_cpp */ { kParticipate = 0, kRequestURLs = 1, kJoin = 2, kSuccess = 3, kFail = 4, } mState; // offset 0x10, size 0x4 }; // Range: 0x805235CC -> 0x80523638 void * JoinSessionJob::JoinSessionJob(class JoinSessionJob * const this /* r30 */, class RVSessionData * data /* r31 */) { // References // -> struct [anonymous] __vt__14JoinSessionJob; } // Range: 0x80523638 -> 0x805236B8 void * JoinSessionJob::~JoinSessionJob(class JoinSessionJob * const this /* r30 */) { // References // -> struct [anonymous] __vt__14JoinSessionJob; } // Range: 0x805236B8 -> 0x80523794 void JoinSessionJob::Start(class JoinSessionJob * const this /* r30 */) { // Local variables unsigned char success; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } static class qList urls; // size: 0x8, address: 0x80981B50 class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class Credentials : public RefCountedObject { // total size: 0x30 unsigned int m_idPrincipal; // offset 0x8, size 0x4 unsigned int m_idConnection; // offset 0xC, size 0x4 class String m_strUserName; // offset 0x10, size 0x4 class String m_strPassword; // offset 0x14, size 0x4 class StreamManager * m_pStreamManager; // offset 0x18, size 0x4 class EndPoint * m_pAuthenticationConnection; // offset 0x1C, size 0x4 class EndPoint * m_pRegularSecureConnection; // offset 0x20, size 0x4 class EndPoint * m_pSpecialSecureConnection; // offset 0x24, size 0x4 class qList m_lstSpecialProtocols; // offset 0x28, size 0x8 }; class SecureConnectionProtocolClient : public ClientProtocol { // total size: 0x38 }; class SecureConnectionClient : public ServiceClient { // total size: 0x54 class SecureConnectionProtocolClient m_oProtocol; // offset 0x1C, size 0x38 }; // Range: 0x80523794 -> 0x80523970 unsigned char JoinSessionJob::IsFinished(class JoinSessionJob * const this /* r31 */) { // Local variables unsigned char callReturn; // r30 class SecureConnectionClient * scClient; // r29 // References // -> class Debug TheDebug; // -> static class qList urls; // -> class Net TheNet; } static class SessionReadyMsg msg; // size: 0x8, address: 0x80981B68 // Range: 0x80523970 -> 0x80523B8C void JoinSessionJob::Cancel(class JoinSessionJob * const this /* r31 */, class Object * callback /* r30 */) { // References // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SessionReadyMsg msg; } // Range: 0x80523B8C -> 0x80523D58 void JoinSessionJob::OnCompletion(class Object * callback /* r31 */) { // Local variables class SessionReadyMsg msg; // r1+0x28 // References // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } class UpdateSettingsJob : public RVJob { // total size: 0x10 class AnyObjectHolder * mGathering; // offset 0xC, size 0x4 }; // Range: 0x80523D58 -> 0x80523DA4 void * UpdateSettingsJob::UpdateSettingsJob(class UpdateSettingsJob * const this /* r30 */, class AnyObjectHolder * gathering /* r31 */) { // References // -> struct [anonymous] __vt__17UpdateSettingsJob; } // Range: 0x80523DA4 -> 0x80523E4C void UpdateSettingsJob::Start(class UpdateSettingsJob * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } static class Message msg; // size: 0x8, address: 0x80981B80 // Range: 0x80523E4C -> 0x8052402C void UpdateSettingsJob::Cancel(class UpdateSettingsJob * const this /* r30 */, class Object * callback /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } static class Message msg; // size: 0x8, address: 0x80981B98 // Range: 0x8052402C -> 0x80524254 void UpdateSettingsJob::OnCompletion(class UpdateSettingsJob * const this /* r30 */, class Object * callback /* r31 */) { // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; } class ChangeSessionStateJob : public RVJob { // total size: 0x14 unsigned int mSessionID; // offset 0xC, size 0x4 unsigned int mStateFlags; // offset 0x10, size 0x4 }; // Range: 0x80524254 -> 0x805242B0 void * ChangeSessionStateJob::ChangeSessionStateJob(class ChangeSessionStateJob * const this /* r29 */, unsigned int sessionID /* r30 */, unsigned int stateFlags /* r31 */) { // References // -> struct [anonymous] __vt__21ChangeSessionStateJob; } // Range: 0x805242B0 -> 0x80524348 void ChangeSessionStateJob::Start(class ChangeSessionStateJob * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } struct { // total size: 0x1C } __vt__21ChangeSessionStateJob; // size: 0x1C, address: 0x80904DA0 struct { // total size: 0x8 } __RTTI__21ChangeSessionStateJob; // size: 0x8, address: 0x80904DE8 struct { // total size: 0x1C } __vt__17UpdateSettingsJob; // size: 0x1C, address: 0x80904DF0 struct { // total size: 0x8 } __RTTI__17UpdateSettingsJob; // size: 0x8, address: 0x80904E38 struct { // total size: 0x1C } __vt__14JoinSessionJob; // size: 0x1C, address: 0x80904E40 struct { // total size: 0x8 } __RTTI__14JoinSessionJob; // size: 0x8, address: 0x80904E78 struct { // total size: 0x1C } __vt__21MakeOfflineSessionJob; // size: 0x1C, address: 0x80904E80 struct { // total size: 0x8 } __RTTI__21MakeOfflineSessionJob; // size: 0x8, address: 0x80904EC0 struct { // total size: 0x1C } __vt__14MakeSessionJob; // size: 0x1C, address: 0x80904EC8 struct { // total size: 0x8 } __RTTI__14MakeSessionJob; // size: 0x8, address: 0x80904F00 struct { // total size: 0x1C } __vt__5RVJob; // size: 0x1C, address: 0x80904F08 struct { // total size: 0x8 } __RTTI__5RVJob; // size: 0x8, address: 0x80904F38 class MatchMakingProtocolClient : public ClientProtocol { // total size: 0x38 }; class MatchMakingProtocolExtClient : public ClientProtocol { // total size: 0x38 }; class MatchMakingClient : public ServiceClient { // total size: 0x8C class MatchMakingProtocolClient m_oProtocol; // offset 0x1C, size 0x38 class MatchMakingProtocolExtClient m_oProtocolExt; // offset 0x54, size 0x38 }; /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80524348 -> 0x80524540 */ // Range: 0x80524348 -> 0x80524540 unsigned char MakeSessionJob::IsFinished(class MakeSessionJob * const this /* r31 */) { // Local variables unsigned char callReturn; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80524540 -> 0x805245EC */ // Range: 0x80524540 -> 0x80524594 void * _List_base::~_List_base(class _List_base * const this /* r30 */) {} // Range: 0x80524594 -> 0x805245EC void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\net\Jobs_RV.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80524648 -> 0x8052468C */ // Range: 0x80524648 -> 0x8052464C void MakeOfflineSessionJob::Start() {} // Range: 0x8052464C -> 0x8052468C void * MakeOfflineSessionJob::~MakeOfflineSessionJob(class MakeOfflineSessionJob * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8052468C -> 0x805247C4 */ // Range: 0x8052468C -> 0x8052470C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\net\MatchmakingSettings.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805247C4 -> 0x80524FB4 */ class Symbol t; // size: 0x4, address: 0x80A53C7C // Range: 0x805247C4 -> 0x805247D4 void MatchmakingSettings::SetMode() {} // Range: 0x805247D4 -> 0x805248A4 void MatchmakingSettings::AddCustomSetting(class MatchmakingSettings * const this /* r31 */, int settingID /* r1+0x8 */, int settingValue /* r1+0xC */) {} // Range: 0x805248A4 -> 0x8052494C void MatchmakingSettings::ClearCustomSettings(class MatchmakingSettings * const this /* r30 */) {} // Range: 0x8052494C -> 0x80524964 int MatchmakingSettings::NumCustomSettings() {} // Range: 0x80524964 -> 0x80524B40 void MatchmakingSettings::Load(class MatchmakingSettings * const this /* r30 */, class BinStream & src /* r31 */) { // Local variables unsigned char numCustom; // r1+0x29 int n; // r29 int id; // r1+0x30 int value; // r1+0x2C } // Range: 0x80524B40 -> 0x80524B7C void SessionSettings::Clear(class SessionSettings * const this /* r31 */) {} // Range: 0x80524B7C -> 0x80524BE4 void SessionSettings::SetPublic(unsigned char isPublic /* r31 */) { // Local variables unsigned char dirty; // r0 // References // -> class NetSession * TheNetSession; } // Range: 0x80524BE4 -> 0x80524C54 void SessionSettings::SetMode(class SessionSettings * const this /* r30 */) {} // Range: 0x80524C54 -> 0x80524C80 void SessionSettings::SetRanked() { // Local variables unsigned char dirty; // r0 } // Range: 0x80524C80 -> 0x80524CB8 void SessionSettings::AddCustomSetting(class SessionSettings * const this /* r31 */) {} // Range: 0x80524CB8 -> 0x80524D08 void SessionSettings::SyncSave(const class SessionSettings * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x80524D08 -> 0x80524D64 void SessionSettings::SyncLoad(class SessionSettings * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x80524D64 -> 0x80524DB4 unsigned char SessionSettings::HasSyncPermission() { // References // -> class NetSession * TheNetSession; } // Range: 0x80524DB4 -> 0x80524DF4 void SessionSettings::OnSynchronizing() { // References // -> class NetSession * TheNetSession; } class SettingsChangedMsg : public Message { // total size: 0x8 }; static class SettingsChangedMsg msg; // size: 0x8, address: 0x80981BB0 // Range: 0x80524DF4 -> 0x80524F68 void SessionSettings::OnSynchronized() { // References // -> class NetSession * TheNetSession; // -> struct [anonymous] __vt__18SettingsChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SettingsChangedMsg msg; } // Range: 0x80524F68 -> 0x80524FB4 void * SearchSettings::SearchSettings() { // References // -> struct [anonymous] __vt__14SearchSettings; // -> const char * gNullStr; // -> struct [anonymous] __vt__19MatchmakingSettings; } struct { // total size: 0xC } __vt__18SettingsChangedMsg; // size: 0xC, address: 0x80905038 struct { // total size: 0x8 } __RTTI__18SettingsChangedMsg; // size: 0x8, address: 0x80905068 struct { // total size: 0x18 } __vt__14SearchSettings; // size: 0x18, address: 0x80905070 struct { // total size: 0x8 } __RTTI__14SearchSettings; // size: 0x8, address: 0x809050A8 struct { // total size: 0x4C } __vt__15SessionSettings; // size: 0x4C, address: 0x809050B0 struct { // total size: 0x8 } __RTTI__15SessionSettings; // size: 0x8, address: 0x80905128 struct { // total size: 0x18 } __vt__19MatchmakingSettings; // size: 0x18, address: 0x80905130 struct { // total size: 0x8 } __RTTI__19MatchmakingSettings; // size: 0x8, address: 0x80905160 /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80524FB4 -> 0x80525354 */ // Range: 0x80524FB4 -> 0x80525054 int MatchmakingSettings::GetCustomID(const class MatchmakingSettings * const this /* r30 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80525054 -> 0x805250F4 int MatchmakingSettings::GetCustomValue(const class MatchmakingSettings * const this /* r30 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805250F4 -> 0x80525194 int MatchmakingSettings::GetCustomValueByID(const class MatchmakingSettings * const this /* r29 */, int settingID /* r30 */) { // Local variables int n; // r31 // References // -> class Debug TheDebug; } // Range: 0x80525194 -> 0x805252CC void MatchmakingSettings::Save(const class MatchmakingSettings * const this /* r30 */, class BinStream & dest /* r31 */) { // Local variables unsigned char numCustom; // r28 int n; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805252CC -> 0x80525354 void * SessionSettings::SessionSettings(class SessionSettings * const this /* r31 */) { // References // -> struct [anonymous] __vt__15SessionSettings; // -> const char * gNullStr; // -> struct [anonymous] __vt__19MatchmakingSettings; } /* Compile unit: C:\rockband2\system\src\net\MatchmakingSettings.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80525354 -> 0x8052541C */ // Range: 0x80525354 -> 0x80525414 void * MatchmakingSettings::~MatchmakingSettings(class MatchmakingSettings * const this /* r30 */) {} // Range: 0x80525414 -> 0x8052541C void MatchmakingSettings::SetRanked() {} /* Compile unit: C:\rockband2\system\src\net\NetSession.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80525528 -> 0x8052552C */ // Range: 0x80525528 -> 0x8052552C void NetSession::OnSetPublic() {} /* Compile unit: C:\rockband2\system\src\net\MessageBroker.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805255B0 -> 0x8052642C */ static class CriticalSection gMessageLock; // size: 0x1C, address: 0x80981BC4 static unsigned char gRefuseMessages; // size: 0x1, address: 0x80A474B9 class vector : protected _Vector_base { // total size: 0xC }; static class vector gMessages; // size: 0xC, address: 0x80981BEC static unsigned char gLogging; // size: 0x1, address: 0x80A53C88 static class Timer gTime; // size: 0x38, address: 0x80981BF8 static float gIncomingBytes; // size: 0x4, address: 0x80A53C8C static float gOutgoingBytes; // size: 0x4, address: 0x80A53C90 static float gLastPing; // size: 0x4, address: 0x80A53C94 // Range: 0x805255B0 -> 0x80525614 static class DataNode SetBandwidthLogging(class DataArray * msg /* r31 */) { // References // -> static unsigned char gLogging; } static class MessageBroker * TheBroker; // size: 0x4, address: 0x80A53C98 class MessageBroker : public _DO_MessageBroker { // total size: 0x8C class vector mClientStampMap; // offset 0x74, size 0xC class vector mLeft; // offset 0x80, size 0xC }; // Range: 0x80525614 -> 0x80525878 void * MessageBroker::MessageBroker(class MessageBroker * const this /* r31 */) { // References // -> static class Timer gTime; // -> static float gIncomingBytes; // -> static float gOutgoingBytes; // -> static float gLastPing; // -> static unsigned char gRefuseMessages; // -> static class vector gMessages; // -> static class MessageBroker * TheBroker; // -> struct [anonymous] __vt__13MessageBroker; } class _DO_RootDO : public DuplicatedObject { // total size: 0x74 }; class RootDO : public _DO_RootDO { // total size: 0x74 }; class _DO_MessageBroker : public RootDO { // total size: 0x74 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ClientStampPair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ClientStampPair * _M_start; // offset 0x0, size 0x4 struct ClientStampPair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x80525878 -> 0x80525990 void * MessageBroker::~MessageBroker(class MessageBroker * const this /* r30 */) { // References // -> static class MessageBroker * TheBroker; } // Range: 0x80525990 -> 0x805259C8 void MessageBroker::Init() {} struct ClientStampPair { // total size: 0x8 unsigned int mClientID; // offset 0x0, size 0x4 unsigned int mLastStamp; // offset 0x4, size 0x4 }; // Range: 0x805259C8 -> 0x80525B7C void MessageBroker::ProcessMessage(unsigned int senderID /* r30 */, class qBuffer & message /* r31 */) { // Local variables unsigned char found; // r5 struct ClientStampPair * it; // r8 struct ClientStampPair clientStamp; // r1+0x18 // References // -> static class vector gMessages; // -> static class CriticalSection gMessageLock; } struct iterator { // total size: 0x1 }; class iterator : public iterator { // total size: 0x4 unsigned char * m_ptr; // offset 0x0, size 0x4 }; class qBuffer : public RefCountedObject { // total size: 0x1C class iterator m_itFirst; // offset 0x8, size 0x4 class iterator m_itBegin; // offset 0xC, size 0x4 class iterator m_itEnd; // offset 0x10, size 0x4 class iterator m_itLast; // offset 0x14, size 0x4 unsigned int m_uiBeginOffset; // offset 0x18, size 0x4 }; struct MessagePair { // total size: 0x20 unsigned int mSenderID; // offset 0x0, size 0x4 class qBuffer mBuffer; // offset 0x4, size 0x1C }; // Range: 0x80525B7C -> 0x80525BBC static void * MessagePair::MessagePair(struct MessagePair * const this /* r31 */, unsigned int senderID /* r0 */) {} static unsigned int stamp; // size: 0x4, address: 0x80A474BC class RefTemplate : public DORef { // total size: 0xC }; // Range: 0x80525BBC -> 0x80525DF4 void MessageBroker::Send(class DOHandle & station /* r28 */, class qBuffer & message /* r31 */, unsigned char reliable /* r27 */, unsigned char voice /* r29 */) { // Local variables int timeStamp; // r0 class RefTemplate refMessageBroker; // r1+0x1C // References // -> unsigned int s_uiClassID; // -> class WKHandle gMessageBroker; // -> static unsigned int stamp; // -> static float gOutgoingBytes; // -> static unsigned char gLogging; } class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; enum Category { Static = 0, Dynamic = 1, Unknown = 2, }; class DOClass : public RootObject { // total size: 0x24 public: void * __vptr$; // offset 0x0, size 0x4 private: unsigned int m_uiClassID; // offset 0x4, size 0x4 int m_iBootstrapID; // offset 0x8, size 0x4 class qMap m_mapUpdatePolicy; // offset 0xC, size 0x18 }; // Range: 0x80525E34 -> 0x80526330 void MessageBroker::DispatchReceivedMessages() { // Local variables class vector toBeDispatched; // r1+0x48 struct MessagePair * it; // r26 struct MessagePair * it; // r29 unsigned char found; // r5 int * left; // r6 unsigned char byteCode; // r28 class MemStream buffer; // r1+0x58 float current; // f0 float duration; // f2 // References // -> static float gOutgoingBytes; // -> static float gLastPing; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Timer gTime; // -> class NetMessenger TheNetMessenger; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class MessageBroker * TheBroker; // -> static unsigned char gRefuseMessages; // -> static float gIncomingBytes; // -> static unsigned char gLogging; // -> static class vector gMessages; // -> static class CriticalSection gMessageLock; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct MessagePair * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct MessagePair * _M_start; // offset 0x0, size 0x4 struct MessagePair * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x80526330 -> 0x805263AC void MessageBroker::FlushClient(int stationNum /* r1+0x8 */) { // References // -> static class MessageBroker * TheBroker; } // Range: 0x805263AC -> 0x805263B8 void MessageBroker::FlushMessages() { // References // -> static unsigned char gRefuseMessages; } class VirtualRootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class StateMachine : public VirtualRootObject { // total size: 0x1C void (StateMachine::* (StateMachine::* m_pfCurrentState)(void *, void *, class QEvent &))(void *, void *, class QEvent &); // offset 0x4, size 0x4 void (StateMachine::* (StateMachine::* m_pfSourceState)(void *, void *, class QEvent &))(void *, void *, class QEvent &); // offset 0x10, size 0x4 }; class DORef : public RootObject { // total size: 0xC class DuplicatedObject * m_poReferencedDO; // offset 0x0, size 0x4 class DOHandle m_hReferencedDO; // offset 0x4, size 0x4 unsigned char m_bLockRelevance; // offset 0x8, size 0x1 }; class LogicalClockTmpl : public RootObject { // total size: 0x1 unsigned char m_Value; // offset 0x0, size 0x1 }; class RefTemplate : public DORef { // total size: 0xC }; class DOOperation : public Operation { // total size: 0x1C protected: class RefTemplate m_refAssociatedDO; // offset 0x10, size 0xC }; class DataSet : public RootObject { // total size: 0x1 }; class _DS_ConnectionInfo : public DataSet { // total size: 0x28 public: unsigned char m_bURLInitialized; // offset 0x0, size 0x1 class String m_strStationURL1; // offset 0x4, size 0x4 class String m_strStationURL2; // offset 0x8, size 0x4 class String m_strStationURL3; // offset 0xC, size 0x4 class String m_strStationURL4; // offset 0x10, size 0x4 class String m_strStationURL5; // offset 0x14, size 0x4 unsigned int m_uiInputBandwidth; // offset 0x18, size 0x4 unsigned int m_uiInputLatency; // offset 0x1C, size 0x4 unsigned int m_uiOutputBandwidth; // offset 0x20, size 0x4 unsigned int m_uiOutputLatency; // offset 0x24, size 0x4 }; class ConnectionInfo : public _DS_ConnectionInfo { // total size: 0x28 }; class _DS_StationIdentification : public DataSet { // total size: 0x10 public: class String m_strIdentificationToken; // offset 0x0, size 0x4 class String m_strProcessName; // offset 0x4, size 0x4 unsigned int m_uiProcessType; // offset 0x8, size 0x4 unsigned int m_uiProductVersion; // offset 0xC, size 0x4 }; class StationIdentification : public _DS_StationIdentification { // total size: 0x10 }; class _DS_StationInfo : public DataSet { // total size: 0x8 public: class DOHandle m_hObserver; // offset 0x0, size 0x4 unsigned int m_uiMachineUID; // offset 0x4, size 0x4 }; class StationInfo : public _DS_StationInfo { // total size: 0x8 }; class _DS_StationState : public DataSet { // total size: 0x2 public: unsigned short m_ui16State; // offset 0x0, size 0x2 }; class StationState : public _DS_StationState { // total size: 0x8 class Station * m_pAssociatedStation; // offset 0x4, size 0x4 }; class Attributes { // total size: 0x0 }; class Event : public RootObject { // total size: 0x10 protected: class EventHandler * m_pEventHandler; // offset 0x0, size 0x4 unsigned int m_uiEventType; // offset 0x4, size 0x4 unsigned int m_uiContext; // offset 0x8, size 0x4 unsigned char m_bIsSet; // offset 0xC, size 0x1 }; class EventHandler : public RootObject { // total size: 0x24 class CriticalSection m_csEventTable; // offset 0x0, size 0x14 class Attributes * m_pAttributes; // offset 0x14, size 0x4 class Event * * m_apEvents; // offset 0x18, size 0x4 unsigned int m_uiNbEventsCreated; // offset 0x1C, size 0x4 unsigned short m_ui16MaxNbEvents; // offset 0x20, size 0x2 }; class DOCallContext : public CallContext { // total size: 0x90 unsigned short m_idRMCCall; // offset 0x48, size 0x2 class DOHandle m_hSourceStation; // offset 0x4C, size 0x4 protected: class DORef m_refTargetStation; // offset 0x50, size 0xC class DORef m_refTargetObject; // offset 0x5C, size 0xC class EventHandler m_oEventHandler; // offset 0x68, size 0x24 class Event * m_pResponseEvent; // offset 0x8C, size 0x4 }; class ActiveDOCallContext : public DOCallContext { // total size: 0x98 protected: class Message * m_pCallMessage; // offset 0x90, size 0x4 }; class RMCContext : public ActiveDOCallContext { // total size: 0xB0 unsigned short m_idTargetMethod; // offset 0x94, size 0x2 class qVector m_vReturnValuePtr; // offset 0x98, size 0xC unsigned char * m_pucDummyBuffer; // offset 0xA4, size 0x4 class Message * m_pResponseMessage; // offset 0xA8, size 0x4 }; class CallMethodOperation : public DOOperation { // total size: 0x48 unsigned int m_uiAttemptNumber; // offset 0x1C, size 0x4 unsigned char m_bPostponed; // offset 0x20, size 0x1 class UserContext m_oDelayContext; // offset 0x24, size 0x4 int m_tiPostponeDelay; // offset 0x28, size 0x4 unsigned short m_idRMC; // offset 0x2C, size 0x2 unsigned short m_idTargetMethod; // offset 0x2E, size 0x2 class Message * m_pCallMessage; // offset 0x30, size 0x4 unsigned int m_uiFlags; // offset 0x34, size 0x4 class Message * m_pResponseMessage; // offset 0x38, size 0x4 class qResult m_rOutcome; // offset 0x3C, size 0xC }; class _DO_Station : public RootDO { // total size: 0xBC public: class ConnectionInfo m_dsConnectionInfo; // offset 0x74, size 0x28 class StationIdentification m_dsIdentification; // offset 0x9C, size 0x10 class StationInfo m_dsInfo; // offset 0xAC, size 0x8 class StationState m_dsStationState; // offset 0xB4, size 0x8 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; class UpdateContextMap : public RootObject { // total size: 0x18 class qMap m_mapUC; // offset 0x0, size 0x18 }; class DistanceComputationCache : public RootObject { // total size: 0x18 float m_dDistance; // offset 0x0, size 0x4 class DOHandle m_hA; // offset 0x4, size 0x4 class DOHandle m_hB; // offset 0x8, size 0x4 class Time m_tUpdateTime; // offset 0x10, size 0x8 }; class AtomicValue : public RootObject { // total size: 0x18 unsigned int m_uiValue; // offset 0x0, size 0x4 class CriticalSection m_cs; // offset 0x4, size 0x14 }; class MessageBundle : public RootObject { // total size: 0x40 class Message m_oMessage; // offset 0x0, size 0x30 class Time m_tiFirstAddedMsg; // offset 0x30, size 0x8 unsigned int m_uiSendingFlags; // offset 0x38, size 0x4 }; class PseudoGlobalVariable { // total size: 0x0 }; class Station : public _DO_Station { // total size: 0x198 class EndPoint * m_poEndPoint; // offset 0xBC, size 0x4 class UpdateContextMap m_mapUpdateContext; // offset 0xC0, size 0x18 class DistanceComputationCache m_oDistanceComputation; // offset 0xD8, size 0x18 unsigned char m_bAtEOS; // offset 0xF0, size 0x1 class AtomicValue m_bFaulty; // offset 0xF4, size 0x18 class MessageBundle m_oSharedMessageBundle; // offset 0x110, size 0x40 class MessageBundle m_oUnreliableMessageBundle; // offset 0x150, size 0x40 unsigned int m_uiLastConnectionAttempt; // offset 0x190, size 0x4 }; class MasterStationRef : public DORef { // total size: 0xC class LogicalClockTmpl m_lcVersion; // offset 0x9, size 0x1 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; class Selection : public RootObject { // total size: 0x20 public: void * __vptr$; // offset 0x0, size 0x4 protected: class qMap m_map; // offset 0x4, size 0x18 unsigned char m_byFlags; // offset 0x1C, size 0x1 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class RefTemplate : public DORef { // total size: 0xC }; class RemoveFromStoreOperation : public DOOperation { // total size: 0x20 unsigned char m_bDeleted; // offset 0x1C, size 0x1 unsigned char m_bRemoveDuplicas; // offset 0x1D, size 0x1 }; enum Context { FaultRecovery = 0, MigrationOnTermination = 1, LoadBalancing = 2, UserRequest = 3, Unknown = 4, }; class ChangeMasterStationOperation : public DOOperation { // total size: 0x3C class RefTemplate m_refOldMaster; // offset 0x1C, size 0xC class MasterStationRef m_refNewMaster; // offset 0x28, size 0xC const class qList * m_plstDupSet; // offset 0x34, size 0x4 enum Context m_oContext; // offset 0x38, size 0x4 }; class DuplicatedObject : public StateMachine { // total size: 0x74 unsigned short m_uiRefCount; // offset 0x1C, size 0x2 unsigned short m_uiRelevanceCount; // offset 0x1E, size 0x2 class MasterStationRef m_refMasterStation; // offset 0x20, size 0xC unsigned short m_uiFlags; // offset 0x2C, size 0x2 class Selection m_setDuplicationSet; // offset 0x30, size 0x20 class DOHandle m_dohMyself; // offset 0x50, size 0x4 class Selection m_setCachedDuplicationSet; // offset 0x54, size 0x20 }; struct { // total size: 0x50 } __vt__13MessageBroker; // size: 0x50, address: 0x809051E8 struct { // total size: 0x8 } __RTTI__13MessageBroker; // size: 0x8, address: 0x80905280 struct { // total size: 0x8 } __RTTI__Q26Quazal17_DO_MessageBroker; // size: 0x8, address: 0x809052D0 struct { // total size: 0x8 } __RTTI__Q26Quazal6RootDO; // size: 0x8, address: 0x80905310 struct { // total size: 0x8 } __RTTI__Q26Quazal10_DO_RootDO; // size: 0x8, address: 0x80905348 struct { // total size: 0x8 } __RTTI__Q26Quazal16DuplicatedObject; // size: 0x8, address: 0x80905380 struct { // total size: 0x8 } __RTTI__Q26Quazal12StateMachine; // size: 0x8, address: 0x809053B0 struct { // total size: 0x8 } __RTTI__Q26Quazal17VirtualRootObject; // size: 0x8, address: 0x809053D8 struct { // total size: 0x8 } __RTTI__PQ227@unnamed@MessageBroker_cpp@11MessagePair; // size: 0x8, address: 0x80905410 struct { // total size: 0x8 } __RTTI__PQ213MessageBroker15ClientStampPair; // size: 0x8, address: 0x80905440 // Range: 0x805263B8 -> 0x8052642C static void __sinit_\MessageBroker_cpp() { // References // -> static class Timer gTime; // -> static class vector gMessages; // -> static class CriticalSection gMessageLock; } class NetMessenger { // total size: 0x10 unsigned int mLastSender; // offset 0x0, size 0x4 class NetworkSocket * mUDPSocket; // offset 0x4, size 0x4 unsigned short mUDPPort; // offset 0x8, size 0x2 unsigned int mAppSignature; // offset 0xC, size 0x4 }; /* Compile unit: C:\rockband2\system\src\net\MessageBrokerDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8052642C -> 0x80526498 */ // Range: 0x8052642C -> 0x80526488 void * _DO_MessageBroker::~_DO_MessageBroker(class _DO_MessageBroker * const this /* r30 */) {} // Range: 0x80526488 -> 0x80526490 unsigned char _DO_MessageBroker::HasGlobalDOProperty() {} // Range: 0x80526490 -> 0x80526498 unsigned char _DO_MessageBroker::IsACoreDO() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80526498 -> 0x80526578 */ // Range: 0x80526498 -> 0x80526578 void * vector::~vector(class vector * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\RefTemplate.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80526578 -> 0x805265B4 */ // Range: 0x80526578 -> 0x805265B4 void * RefTemplate::RefTemplate(class RefTemplate * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\DOClass.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805265B4 -> 0x805265C8 */ // Range: 0x805265B4 -> 0x805265C8 unsigned char DOClass::IsAKindOf() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\DuplicatedObject.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805265C8 -> 0x805265EC */ // Range: 0x805265C8 -> 0x805265CC void DuplicatedObject::UpdateCellStats() {} // Range: 0x805265CC -> 0x805265D4 unsigned char DuplicatedObject::IsABootstrapDO() {} // Range: 0x805265D4 -> 0x805265D8 void DuplicatedObject::CallOperationEndOnAdapters() {} // Range: 0x805265D8 -> 0x805265E0 float DuplicatedObject::GetWeight() {} // Range: 0x805265E0 -> 0x805265E4 void DuplicatedObject::InitDO() {} // Range: 0x805265E4 -> 0x805265EC unsigned char DuplicatedObject::HasForcedNonGlobalProperty() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805265EC -> 0x805269F0 */ // Range: 0x805265EC -> 0x80526804 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct MessagePair * __pos /* r26 */, const struct MessagePair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct MessagePair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ227@unnamed@MessageBroker_cpp@11MessagePair; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80526804 -> 0x805269F0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct ClientStampPair * __pos /* r26 */, const struct ClientStampPair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct ClientStampPair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ213MessageBroker15ClientStampPair; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\net\MessageBrokerDDL.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805269F0 -> 0x80526E00 */ class _DOC_MessageBroker : public DOClassTemplate { // total size: 0x2C public: unsigned short m_midProcessMessage; // offset 0x2A, size 0x2 }; // Range: 0x805269F0 -> 0x80526A18 void _DOC_MessageBroker::Delete() {} // Range: 0x80526A18 -> 0x80526A2C unsigned char _DOC_MessageBroker::ApproveFaultRecovery() {} // Range: 0x80526A2C -> 0x80526A44 unsigned char _DOC_MessageBroker::ApproveEmigration() {} // Range: 0x80526A44 -> 0x80526A5C void _DOC_MessageBroker::Trace() {} class DOClassTemplate : public DOClass { // total size: 0x24 }; class _DOC_RootDO : public DOClassTemplate { // total size: 0x2C public: unsigned short m_midAddDuplicaLocation; // offset 0x24, size 0x2 unsigned short m_midDeleteDuplica; // offset 0x26, size 0x2 unsigned short m_midRemoveFromCachedDuplicationSet; // offset 0x28, size 0x2 }; class DOClassTemplate : public _DOC_RootDO { // total size: 0x2C }; // Range: 0x80526A5C -> 0x80526A78 unsigned char _DOC_MessageBroker::IsAKindOf() { // References // -> unsigned int s_uiClassID; } // Range: 0x80526A78 -> 0x80526A7C void _DOC_MessageBroker::DataSetsOperation() {} // Range: 0x80526A7C -> 0x80526A80 unsigned char _DOC_MessageBroker::FormatVariableValue() {} // Range: 0x80526A80 -> 0x80526A84 unsigned char _DOC_MessageBroker::DispatchAction() {} // Range: 0x80526A84 -> 0x80526AFC void _DOC_MessageBroker::DispatchRMCCall(const class CallMethodOperation & refOp /* r31 */) {} // Range: 0x80526AFC -> 0x80526B3C unsigned char _DOC_MessageBroker::DispatchRMCResult() {} // Range: 0x80526B3C -> 0x80526B40 void _DOC_MessageBroker::FillDupSpacesInfo() {} // Range: 0x80526B40 -> 0x80526B44 char * _DOC_MessageBroker::GetDatasetNameString() {} // Range: 0x80526B44 -> 0x80526B94 void * _DO_MessageBroker::_DO_MessageBroker(class _DO_MessageBroker * const this /* r31 */) { // References // -> unsigned int s_uiClassID; // -> struct [anonymous] __vt__Q26Quazal17_DO_MessageBroker; } // Range: 0x80526B94 -> 0x80526BE8 void _DO_MessageBroker::InitDOClass(unsigned int uiClassID /* r31 */) { // References // -> unsigned int s_uiClassID; } // Range: 0x80526BE8 -> 0x80526C48 class MessageBroker * _DO_MessageBroker::CreateWellKnown(class WKHandle & hWK /* r31 */) { // References // -> unsigned int s_uiClassID; } unsigned int s_uiClassID; // size: 0x4, address: 0x80A53CA0 // Range: 0x80526C48 -> 0x80526C4C void _DO_MessageBroker::RegisterDatasets() {} // Range: 0x80526C4C -> 0x80526C50 void _DO_MessageBroker::SpecificAddDSToDiscoveryMessage() {} // Range: 0x80526C50 -> 0x80526C54 void _DO_MessageBroker::SpecificExtractDSFromDiscoveryMessage() {} // Range: 0x80526C54 -> 0x80526C58 void _DO_MessageBroker::CallOperationOnDatasets() {} // Range: 0x80526C58 -> 0x80526C5C unsigned char _DO_MessageBroker::SpecificUpdate() {} // Range: 0x80526C5C -> 0x80526C60 unsigned char _DO_MessageBroker::SpecificRefresh() {} // Range: 0x80526C60 -> 0x80526C64 unsigned char _DO_MessageBroker::SpecificExtractADataset() {} // Range: 0x80526C64 -> 0x80526D48 unsigned char _DO_MessageBroker::CallProcessMessage(class _DO_MessageBroker * const this /* r0 */, class RMCContext * pContext /* r27 */, const unsigned int & senderID /* r28 */, const class qBuffer & bufMessagePayload /* r29 */, const unsigned int & timeStamp /* r30 */) { // Local variables class Message * pMsg; // r31 } // Range: 0x80526D48 -> 0x80526DFC void _DO_MessageBroker::ProcessMessageWrapper(class _DO_MessageBroker * const this /* r29 */, const class CallMethodOperation & refOp /* r30 */) { // Local variables class Message * pMsg; // r31 unsigned int senderID; // r1+0xC class qBuffer bufMessagePayload; // r1+0x10 unsigned int timeStamp; // r1+0x8 } // Range: 0x80526DFC -> 0x80526E00 void _DO_MessageBroker::ProcessMessageReturnStub() {} struct { // total size: 0x68 } __vt__Q26Quazal18_DOC_MessageBroker; // size: 0x68, address: 0x809054A0 struct { // total size: 0x8 } __RTTI__Q26Quazal18_DOC_MessageBroker; // size: 0x8, address: 0x80905550 struct { // total size: 0x8 } __RTTI__Q26Quazal68DOClassTemplate; // size: 0x8, address: 0x809055C8 struct { // total size: 0x50 } __vt__Q26Quazal17_DO_MessageBroker; // size: 0x50, address: 0x809055D0 struct { // total size: 0x8 } __RTTI__Q26Quazal11_DOC_RootDO; // size: 0x8, address: 0x80905650 struct { // total size: 0x8 } __RTTI__Q26Quazal56DOClassTemplate; // size: 0x8, address: 0x809056B0 struct { // total size: 0x8 } __RTTI__Q26Quazal7DOClass; // size: 0x8, address: 0x809056D8 /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\DOClassTemplate.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80526E00 -> 0x80526FE4 */ // Range: 0x80526E00 -> 0x80526E3C class DuplicatedObject * _DOC_MessageBroker::Create() {} // Range: 0x80526E3C -> 0x80526E48 char * _DOC_MessageBroker::GetClassNameString() {} // Range: 0x80526E48 -> 0x80526EB0 void * _DOC_MessageBroker::_DOC_MessageBroker(class _DOC_MessageBroker * const this /* r31 */) { // References // -> struct [anonymous] __vt__Q26Quazal18_DOC_MessageBroker; } // Range: 0x80526F10 -> 0x80526F20 unsigned char DOClassTemplate::SpecificUpdate() {} // Range: 0x80526F20 -> 0x80526F30 unsigned char DOClassTemplate::SpecificRefresh() {} // Range: 0x80526F30 -> 0x80526F3C void DOClassTemplate::SpecificAddDSToDiscoveryMessage() {} // Range: 0x80526F3C -> 0x80526F48 void DOClassTemplate::SpecificExtractDSFromDiscoveryMessage() {} // Range: 0x80526F48 -> 0x80526F58 unsigned char DOClassTemplate::SpecificExtractADataset() {} // Range: 0x80526F58 -> 0x80526F7C unsigned char DOClassTemplate::ValidCastTowards() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\DuplicatedObject.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80526FE4 -> 0x80527044 */ // Range: 0x80526FE4 -> 0x80527044 class DOHandle DuplicatedObject::GetHandle() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\DOClass.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80527044 -> 0x8052704C */ // Range: 0x80527044 -> 0x8052704C enum Category DOClass::GetCategory() {} /* Compile unit: C:\rockband2\system\src\net\Net.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8052704C -> 0x80527D0C */ class _DDL_AudioStreamFormat : public RootObject { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 unsigned int m_uiNbSamplesPerPacket; // offset 0x4, size 0x4 unsigned int m_uiNbChannels; // offset 0x8, size 0x4 unsigned int m_uiNbSamplesPerSec; // offset 0xC, size 0x4 unsigned int m_uiNbBitsPerSample; // offset 0x10, size 0x4 }; class AudioStreamFormat : public _DDL_AudioStreamFormat { // total size: 0x14 }; class Codec : public RootObject { // total size: 0x18 public: void * __vptr$; // offset 0x0, size 0x4 protected: class AudioStreamFormat m_oAudioStreamFormat; // offset 0x4, size 0x14 }; class GSMCodec : public Codec { // total size: 0x1C unsigned int m_uiNbFramesPerPackets; // offset 0x18, size 0x4 }; class Net TheNet; // size: 0x368, address: 0x80981C40 enum _State { Running = 0, Stopping = 1, Stopped = 2, }; class ObjectThread { // total size: 0x0 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x4 public: class ObjectThread * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjectThread * * _M_start; // offset 0x0, size 0x4 class ObjectThread * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class qVector : public vector, public RootObject { // total size: 0xC }; class WorkerThreads : public RootObject { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 private: class CriticalSection m_csState; // offset 0x4, size 0x14 enum _State m_eState; // offset 0x18, size 0x4 class qVector m_vecThreads; // offset 0x1C, size 0xC }; class SchedulerWorkerThread : public WorkerThreads { // total size: 0x2C class Scheduler * m_pScheduler; // offset 0x28, size 0x4 }; struct iterator { // total size: 0x1 }; class iterator : public iterator { // total size: 0x4 class Job * m_link; // offset 0x0, size 0x4 }; class qChain : public RootObject { // total size: 0x10 class iterator m_itFirst; // offset 0x0, size 0x4 class iterator m_itLast; // offset 0x4, size 0x4 class iterator m_itEnd; // offset 0x8, size 0x4 unsigned long m_nbLinks; // offset 0xC, size 0x4 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class multimap { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMultiMap : public multimap { // total size: 0x18 }; class Links { // total size: 0x8 public: class WaterMark * m_pNext; // offset 0x0, size 0x4 class WaterMark * m_pPrevious; // offset 0x4, size 0x4 }; class WaterMark : public RootObject { // total size: 0x2C public: class Links m_oLinks; // offset 0x0, size 0x8 private: unsigned int m_uiCount; // offset 0x8, size 0x4 unsigned int m_uiHigh; // offset 0xC, size 0x4 unsigned int m_uiLow; // offset 0x10, size 0x4 const char * m_szDescription; // offset 0x14, size 0x4 unsigned int m_uiLastTime; // offset 0x18, size 0x4 unsigned int m_uiWindowSize; // offset 0x1C, size 0x4 float m_dAverage; // offset 0x20, size 0x4 float m_dWeight; // offset 0x24, size 0x4 float m_dTotalWeightOfEntries; // offset 0x28, size 0x4 }; class HighResolutionChrono : public RootObject { // total size: 0x10 unsigned long long m_HPStartTime; // offset 0x0, size 0x8 class Time m_tStartTime; // offset 0x8, size 0x8 }; class Scheduler : public RootObject { // total size: 0x1B8 public: void * __vptr$; // offset 0x0, size 0x4 private: class Job * m_pCurrentJob; // offset 0x4, size 0x4 unsigned char m_bCurrentJobValid; // offset 0x8, size 0x1 class SchedulerWorkerThread * m_pWorkerThreads; // offset 0xC, size 0x4 class EventHandler m_oEventHandler; // offset 0x10, size 0x24 class Event * m_pWakeUpEvent; // offset 0x34, size 0x4 class CriticalSection m_csSystemLock; // offset 0x38, size 0x14 class CriticalSection m_csQueue; // offset 0x4C, size 0x14 class qChain m_lstReadyQueue; // offset 0x60, size 0x10 class qChain m_lstSuspendedQueue; // offset 0x70, size 0x10 class qChain m_lstSpecialDispatchJobs; // offset 0x80, size 0x10 class qMultiMap m_mapTimedQueue; // offset 0x90, size 0x18 unsigned char m_bIgnoreWaitTime; // offset 0xA8, size 0x1 class WaterMark m_oSchedulerJobs; // offset 0xAC, size 0x2C class WaterMark m_oBusyRatio; // offset 0xD8, size 0x2C class ProfilingUnit m_oJobProcessing; // offset 0x108, size 0x38 class Time m_tiLastDispatchStart; // offset 0x140, size 0x8 class Time m_tiLastDispatchEnd; // offset 0x148, size 0x8 unsigned int m_icContext; // offset 0x150, size 0x4 class SingleThreadCallPolicy m_oDispatchCallPolicy; // offset 0x154, size 0x14 class ProfilingUnit m_puDispatchInterval; // offset 0x168, size 0x38 class HighResolutionChrono m_oChrono; // offset 0x1A0, size 0x10 unsigned char m_bRecordDispatchInterval; // offset 0x1B0, size 0x1 unsigned char m_bTraceActivity; // offset 0x1B1, size 0x1 }; class Scheduler * gScheduler; // size: 0x4, address: 0x80A53CA8 class _DS_ChannelInfo : public DataSet { // total size: 0xC public: unsigned char m_byCodec; // offset 0x0, size 0x1 unsigned char m_byNbStreams; // offset 0x1, size 0x1 unsigned char m_byTransmissionFrequency; // offset 0x2, size 0x1 class String m_strDescription; // offset 0x4, size 0x4 unsigned short m_uiPacketSize; // offset 0x8, size 0x2 }; class ChannelInfo : public _DS_ChannelInfo { // total size: 0xC }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class _DS_ChannelMembers : public DataSet { // total size: 0x8 public: class qList m_dsMemberList; // offset 0x0, size 0x8 }; class ChannelMembers : public _DS_ChannelMembers { // total size: 0xC class VoiceChannel * m_pAssociatedChannel; // offset 0x8, size 0x4 }; class _DO_VoiceChannel : public RootDO { // total size: 0x8C public: class ChannelInfo m_dsChannelInfo; // offset 0x74, size 0xC class ChannelMembers m_dsChannelMembers; // offset 0x80, size 0xC }; class EventHandler { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class VoiceStream { // total size: 0x0 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x4 public: class VoiceStream * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class VoiceStream * * _M_start; // offset 0x0, size 0x4 class VoiceStream * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class qVector : public vector, public RootObject { // total size: 0xC }; class VoiceChannel : public _DO_VoiceChannel { // total size: 0xB8 unsigned char m_byNbAcquiredStreams; // offset 0x8C, size 0x1 class EventHandler * m_pEventHandler; // offset 0x90, size 0x4 class qVector m_vVoiceStreams; // offset 0x94, size 0xC class Time m_tiNextHouseKeeping; // offset 0xA0, size 0x8 int m_tiJitterTolerance; // offset 0xA8, size 0x4 unsigned char * m_pPacketRead; // offset 0xAC, size 0x4 unsigned int m_uiTransmissionFrequency; // offset 0xB0, size 0x4 }; // Range: 0x8052704C -> 0x805270E0 static void CreateVoiceChannel() { // Local variables class VoiceChannel * channel; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class WKHandle gVoiceChannel; } // Range: 0x805270E0 -> 0x805271EC void * QuazalUserThread() { // References // -> class InstanceTable s_oInstanceTable; // -> class Scheduler * gScheduler; } // Range: 0x805271EC -> 0x80527204 void NotifySessionUserReady() { // References // -> class Net TheNet; } // Range: 0x80527204 -> 0x80527210 static void TerminateTheNet() { // References // -> class Net TheNet; } // Range: 0x80527210 -> 0x8052725C void * Net::Net(class Net * const this /* r31 */) { // References // -> struct [anonymous] __vt__3Net; } static int _x; // size: 0x4, address: 0x80A53CAC // Range: 0x8052725C -> 0x80527348 static void * QuazalAlloc(unsigned long size /* r30 */) { // Local variables int num; // r1+0x10 int bytes; // r1+0xC int largest; // r1+0x8 // References // -> static int _x; // -> class Net TheNet; } // Range: 0x80527348 -> 0x80527524 void Net::Init(class Net * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> class NetMessenger TheNetMessenger; // -> class CodecManager s_oInstance; // -> unsigned char s_bIsMemoryFunctionSet; // -> void (* s_fcnFree)(void *); // -> void * (* s_fcnMalloc)(unsigned long); // -> class LogFile NetLog; // -> unsigned char s_bUsesThreads; // -> class ObjectDir * sMainDir; } // Range: 0x80527524 -> 0x8052767C void Net::Terminate(class Net * const this /* r31 */) { // References // -> class Debug TheDebug; } class NetworkEmulator : public Object { // total size: 0x54 int mEnabled; // offset 0x28, size 0x4 class EmulationDevice * mInDevice; // offset 0x2C, size 0x4 class EmulationDevice * mOutDevice; // offset 0x30, size 0x4 int mInBandwidth; // offset 0x34, size 0x4 int mOutBandwidth; // offset 0x38, size 0x4 int mInJitter; // offset 0x3C, size 0x4 int mOutJitter; // offset 0x40, size 0x4 int mInLatency; // offset 0x44, size 0x4 int mOutLatency; // offset 0x48, size 0x4 int mInDropProb; // offset 0x4C, size 0x4 int mOutDropProb; // offset 0x50, size 0x4 }; // Range: 0x8052767C -> 0x805276E8 void Net::Poll(class Net * const this /* r31 */) { // References // -> class NetMessenger TheNetMessenger; } // Range: 0x805276E8 -> 0x8052774C class NetGameData * Net::GetGameData(class Net * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052774C -> 0x80527758 void Net::SetGameData() {} // Range: 0x80527758 -> 0x805277D0 class User * Net::GetUser(int userNum /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class UserMgr * TheUserMgr; } // Range: 0x805277D0 -> 0x805277EC void Net::ToggleLogging() { // References // -> class LogFile NetLog; } static class Symbol _s; // size: 0x4, address: 0x80A53CB4 // Range: 0x805277EC -> 0x80527CC4 class DataNode Net::Handle(class Net * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__3Net; // size: 0x54, address: 0x809057A0 struct { // total size: 0x8 } __RTTI__3Net; // size: 0x8, address: 0x80905808 // Range: 0x80527CC4 -> 0x80527D0C static void __sinit_\Net_cpp() { // References // -> class Net TheNet; } class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class qMap : public map, public RootObject { // total size: 0x18 }; class CodecManager : public RootObject { // total size: 0x18 protected: class qMap m_mapCodec; // offset 0x0, size 0x18 }; class CodecManager s_oInstance; // size: 0x18, address: 0x80A32EB4 unsigned char s_bIsMemoryFunctionSet; // size: 0x1, address: 0x80A55E70 void (* s_fcnFree)(void *); // size: 0x4, address: 0x80A55E78 void * (* s_fcnMalloc)(unsigned long); // size: 0x4, address: 0x80A55E74 unsigned char s_bUsesThreads; // size: 0x1, address: 0x80A48700 /* Compile unit: C:\rockband2\system\src\net\NetworkEmulator.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80527D0C -> 0x80527D68 */ // Range: 0x80527D0C -> 0x80527D68 void * NetworkEmulator::~NetworkEmulator(class NetworkEmulator * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\net\Net.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80527D68 -> 0x80527DC4 */ // Range: 0x80527D68 -> 0x80527DC4 void * Net::~Net(class Net * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\net\NetLog.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80527DC4 -> 0x80527E14 */ class LogFile NetLog; // size: 0x20, address: 0x80981FB8 // Range: 0x80527DC4 -> 0x80527E14 static void __sinit_\NetLog_cpp() { // References // -> class LogFile NetLog; } /* Compile unit: C:\rockband2\system\src\net\NetMessage.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80527E14 -> 0x80528108 */ class NetMessageFactory TheNetMessageFactory; // size: 0xC, address: 0x80981FE4 // Range: 0x80527E14 -> 0x80527F84 void NetMessageFactory::RegisterNetMessage(class NetMessageFactory * const this /* r31 */, class String & type /* r27 */, class NetMessage * (* creator)() /* r28 */) { // Local variables int n; // r29 struct TypeCreatorPair newPair; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80527F84 -> 0x80528048 unsigned char NetMessageFactory::GetNetMessageByteCode(const class NetMessageFactory * const this /* r29 */, class String & type /* r30 */) { // Local variables int n; // r31 // References // -> class Debug TheDebug; } // Range: 0x80528048 -> 0x805280DC class NetMessage * NetMessageFactory::CreateNetMessage(class NetMessageFactory * const this /* r30 */, unsigned char byteCode /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ217NetMessageFactory15TypeCreatorPair; // size: 0x8, address: 0x80905948 // Range: 0x805280DC -> 0x80528108 static void __sinit_\NetMessage_cpp() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80528108 -> 0x8052831C */ // Range: 0x80528108 -> 0x8052831C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct TypeCreatorPair * __pos /* r26 */, const struct TypeCreatorPair & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct TypeCreatorPair * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ217NetMessageFactory15TypeCreatorPair; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\net\NetMessenger.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805283FC -> 0x80528C8C */ class NetMessenger TheNetMessenger; // size: 0x10, address: 0x80982000 // Range: 0x805283FC -> 0x80528408 void * NetMessenger::NetMessenger() {} // Range: 0x80528408 -> 0x8052847C void CreateMessageBroker() { // Local variables class MessageBroker * broker; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class WKHandle gMessageBroker; } // Range: 0x8052847C -> 0x80528594 void NetMessenger::Init(class NetMessenger * const this /* r28 */) { // Local variables class DataArray * config; // r29 } // Range: 0x80528594 -> 0x80528610 void * NetMessenger::~NetMessenger(class NetMessenger * const this /* r30 */) {} class NetworkSocket { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class SelectionIteratorTemplate : public IteratorOverDOs { // total size: 0x24 }; // Range: 0x80528610 -> 0x80528B98 void NetMessenger::DeliverMsg(const unsigned int & id /* r28 */, const class NetMessage & msg /* r29 */, enum PacketType isReliable /* r30 */) { // Local variables class MemStream packet; // r1+0x78 class qBuffer buffer; // r1+0x58 class SelectionIteratorTemplate stations; // r1+0x98 unsigned char isVoiceData; // r27 // References // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; // -> unsigned int s_uiClassID; // -> class Debug TheDebug; // -> const char * kAssertStr; } class DOFilter : public RefCountedObject { // total size: 0x8 }; class IteratorOverDOs : public RootObject { // total size: 0x24 const class Selection * m_pSelection; // offset 0x0, size 0x4 class DORef m_refCurrentItem; // offset 0x4, size 0xC class DOFilter * m_pFilter; // offset 0x10, size 0x4 class DOHandle m_hMinimumValidHandle; // offset 0x14, size 0x4 class DOHandle m_hMaximumValidHandle; // offset 0x18, size 0x4 unsigned char m_bMustBeInStore; // offset 0x1C, size 0x1 void * m_pCreationContext; // offset 0x20, size 0x4 }; // Range: 0x80528B98 -> 0x80528C34 void NetMessenger::DispatchMsg(const unsigned int & id /* r7 */, class MemStream & buffer /* r30 */) { // Local variables class NetMessage * msg; // r31 // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80528C34 -> 0x80528C38 void NetMessenger::Poll() {} // Range: 0x80528C38 -> 0x80528C3C void NetMessenger::FlushMessages() {} // Range: 0x80528C3C -> 0x80528C44 void NetMessenger::FlushClientMessages() {} // Range: 0x80528C44 -> 0x80528C8C static void __sinit_\NetMessenger_cpp() { // References // -> class NetMessenger TheNetMessenger; } unsigned int s_uiClassID; // size: 0x4, address: 0x80A55FE0 /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\IteratorOverDOs.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80528C8C -> 0x80528D20 */ // Range: 0x80528C8C -> 0x80528C94 void IteratorOverDOs::SetCurrentItem() {} // Range: 0x80528C94 -> 0x80528CA0 class DOHandle IteratorOverDOs::GetMinimumValidHandle() {} // Range: 0x80528CA0 -> 0x80528D20 class DOHandle IteratorOverDOs::GetNext(const class IteratorOverDOs * const this /* r31 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\Selection.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80528D20 -> 0x80528D68 */ // Range: 0x80528D20 -> 0x80528D68 struct _Rb_tree_iterator Selection::lower_bound() {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\ObjDup\DORef.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80528D68 -> 0x80528D74 */ // Range: 0x80528D68 -> 0x80528D74 class DOHandle DORef::GetHandle() {} /* Compile unit: C:\rockband2\system\src\net\NetSearchResult.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80528D74 -> 0x80529364 */ // Range: 0x80528D74 -> 0x80528DA4 class NetSearchResult * NetSearchResult::New() {} // Range: 0x80528DA4 -> 0x80528EA8 void * NetSearchResult::NetSearchResult(class NetSearchResult * const this /* r31 */) { // Local variables class MemStream settingsData; // r1+0x10 // References // -> class NetSession * TheNetSession; // -> const char * gNullStr; // -> struct [anonymous] __vt__19MatchmakingSettings; // -> struct [anonymous] __vt__15NetSearchResult; } // Range: 0x80528EA8 -> 0x80528F6C void * NetSearchResult::~NetSearchResult(class NetSearchResult * const this /* r30 */) { // References // -> struct [anonymous] __vt__15NetSearchResult; } // Range: 0x80528F6C -> 0x80528FE4 void NetSearchResult::Save(const class NetSearchResult * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80528FE4 -> 0x8052905C void NetSearchResult::Load(class NetSearchResult * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables unsigned char slots; // r1+0x8 } // Range: 0x8052905C -> 0x805290E8 unsigned char NetSearchResult::Equals(const class NetSearchResult * const this /* r29 */, const class NetSearchResult * result /* r30 */) {} static class Symbol _s; // size: 0x4, address: 0x80A53CBC // Range: 0x805290E8 -> 0x80529364 class DataNode NetSearchResult::Handle(class NetSearchResult * const this /* r28 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x5C } __vt__15NetSearchResult; // size: 0x5C, address: 0x80905A50 struct { // total size: 0x8 } __RTTI__15NetSearchResult; // size: 0x8, address: 0x80905AD8 /* Compile unit: C:\rockband2\system\src\net\NetSession.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80529364 -> 0x8053163C */ class Symbol t; // size: 0x4, address: 0x80A53CC4 class Symbol t; // size: 0x4, address: 0x80A53CCC class PseudoSingleton : public InstanceControl { // total size: 0x14 }; class ProductSpecifics { // total size: 0x0 }; class MemAllocator { // total size: 0x1 }; class _STLP_alloc_proxy : public MemAllocator { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class qList : public list, public RootObject { // total size: 0x8 }; class qList { // total size: 0x0 }; class SessionDescription : public RootObject { // total size: 0x44 protected: class String m_szSessionDiscoveryType; // offset 0x0, size 0x4 class String m_szSessionDiscoveryContext; // offset 0x4, size 0x4 class String m_szApplicationTitle; // offset 0x8, size 0x4 unsigned int m_uiApplicationVersionNumber; // offset 0xC, size 0x4 class String m_szStationURL; // offset 0x10, size 0x4 unsigned int m_uiLibraryVersionNumber; // offset 0x14, size 0x4 unsigned int m_uiLibraryBuildNumber; // offset 0x18, size 0x4 class String m_szSessionName; // offset 0x1C, size 0x4 unsigned int m_uiSessionID; // offset 0x20, size 0x4 class qMap m_mapSessionAttributes; // offset 0x24, size 0x18 void (* m_pfUpdateCallback)(); // offset 0x3C, size 0x4 class SessionDiscoveryTable * m_pSessionDiscoveryTable; // offset 0x40, size 0x4 }; class SessionDiscoveryTable : public RootObject { // total size: 0x84 class CriticalSection m_csSessionDiscovery; // offset 0x0, size 0x14 class qList m_lstSessionDiscovery; // offset 0x14, size 0x8 class SessionDiscoveryProtocol * m_pPrimarySessionDiscovery; // offset 0x1C, size 0x4 class CriticalSection m_csSessionDescriptionList; // offset 0x20, size 0x14 class qList * m_pSessionDescriptionList; // offset 0x34, size 0x4 unsigned char (* m_pfSessionFilter)(class SessionDescription *); // offset 0x38, size 0x4 class SessionDescription m_oLocalSession; // offset 0x3C, size 0x44 unsigned char m_bSessionMaster; // offset 0x80, size 0x1 unsigned char m_bReady; // offset 0x81, size 0x1 }; class SessionDiscoveryProtocol : public PluginObject { // total size: 0xC protected: class SessionDiscoveryTable * m_pAssociatedSessionDiscoveryTable; // offset 0x8, size 0x4 }; class ChecksumAlgorithm : public PluginObject { // total size: 0xC unsigned char m_byTransmittedChecksumLength; // offset 0x8, size 0x1 }; class DiscoveryStream { // total size: 0x0 }; class LANSessionDiscovery : public SessionDiscoveryProtocol { // total size: 0x20 class EncryptionAlgorithm * m_pEncryption; // offset 0xC, size 0x4 class ChecksumAlgorithm * m_pChecksum; // offset 0x10, size 0x4 class DiscoveryStream * m_pStream; // offset 0x14, size 0x4 unsigned int m_uiLastNonce; // offset 0x18, size 0x4 unsigned short m_ui16Port; // offset 0x1C, size 0x2 }; class UtilitySubsystem : public RootObject { // total size: 0x1 }; class ProductFacade : public PseudoSingleton { // total size: 0x20 protected: class ProductSpecifics * m_pProductSpecifics; // offset 0x14, size 0x4 unsigned char m_bIsValid; // offset 0x18, size 0x1 unsigned char m_bIsTerminated; // offset 0x19, size 0x1 class LANSessionDiscovery * m_pLANSessionDiscovery; // offset 0x1C, size 0x4 }; class NetZ : public ProductFacade { // total size: 0x20 }; class QuazalSession { // total size: 0x8 class NetZ * mNetZ; // offset 0x0, size 0x4 class NetZCallback * mCallback; // offset 0x4, size 0x4 }; static class QuazalSession * gQNet; // size: 0x4, address: 0x80A53CD0 // Range: 0x80529364 -> 0x80529608 static void RegisterSessionMessages() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x80529608 -> 0x8052960C static void DisconnectOnFail() {} class NetSession * TheNetSession; // size: 0x4, address: 0x80A53CD4 // Range: 0x8052960C -> 0x80529998 void * NetSession::NetSession(class NetSession * const this /* r30 */) { // Local variables class DataArray * config; // r27 // References // -> const char * kAssertStr; // -> class NetSession * TheNetSession; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> class PseudoGlobalVariable s_oStreamSettings[16]; // -> unsigned int s_uiDefaultConnectionTimeout; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__10NetSession; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x80529998 -> 0x80529B60 void * NetSession::~NetSession(class NetSession * const this /* r30 */) { // References // -> class NetSession * TheNetSession; // -> static class QuazalSession * gQNet; // -> struct [anonymous] __vt__10NetSession; } // Range: 0x80529B60 -> 0x80529CB8 void NetSession::Reset(class NetSession * const this /* r29 */, int localHost /* r30 */, unsigned char async /* r31 */) { // References // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class AddPlayerResultMsg failureMsg; // size: 0x8, address: 0x80982020 static class Message disabledMsg; // size: 0x8, address: 0x80982038 // Range: 0x80529CB8 -> 0x8052A468 void NetSession::Clear(class NetSession * const this /* r28 */, unsigned char leavingEarly /* r29 */) { // Local variables class list locals; // r1+0xE0 class list remotes; // r1+0xD8 class list players; // r1+0xD0 struct _List_iterator it; // r1+0x5C struct _List_iterator iter; // r1+0x58 struct _List_iterator it; // r1+0x54 class PlayerLeftMsg msg; // r1+0xC8 struct _List_iterator it; // r1+0x50 int n; // r29 // References // -> static class Message disabledMsg; // -> class UserMgr * TheUserMgr; // -> class Net TheNet; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class QuazalSession * gQNet; // -> struct [anonymous] __vt__18AddPlayerResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class AddPlayerResultMsg failureMsg; } // Range: 0x8052A468 -> 0x8052A478 unsigned char NetSession::Disabled() { // References // -> static class QuazalSession * gQNet; } // Range: 0x8052A478 -> 0x8052A484 void NetSession::IgnoreRemoteMessages() { // References // -> class NetMessenger TheNetMessenger; } class SyncStartGameMsg : public Message { // total size: 0x8 }; static class SyncStartGameMsg start; // size: 0x8, address: 0x80982050 // Range: 0x8052A484 -> 0x8052A87C void NetSession::Poll(class NetSession * const this /* r31 */) { // Local variables class JoinResponseMsg msg; // r1+0x44 class vector clientsLeft; // r1+0x38 int * it; // r29 // References // -> static class QuazalSession * gQNet; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__16SyncStartGameMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SyncStartGameMsg start; } // Range: 0x8052A9C0 -> 0x8052AAC0 unsigned char NetSession::IsLocal(const class NetSession * const this /* r30 */) { // Local variables struct _List_iterator it; // r1+0x18 // References // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class QuazalSession * gQNet; } static class JoinResultMsg msg; // size: 0x8, address: 0x80982068 static class JoinResultMsg msg; // size: 0x8, address: 0x80982080 // Range: 0x8052AAC0 -> 0x8052B038 unsigned char NetSession::Join(class NetSession * const this /* r29 */, class NetSearchResult * result /* r28 */) { // References // -> static class JoinResultMsg msg; // -> struct [anonymous] __vt__13JoinResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class JoinResultMsg msg; // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052B038 -> 0x8052B418 class DataNode NetSession::OnMsg(class NetSession * const this /* r30 */, const class SessionReadyMsg & msg /* r28 */) { // Local variables class JoinResponseMsg response; // r1+0x90 class list players; // r1+0x48 class JoinRequestMsg request; // r1+0x50 // References // -> class Net TheNet; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class NetMessenger TheNetMessenger; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052B57C -> 0x8052B818 static void DenyRequest(unsigned int id /* r1+0x8 */, enum JoinResponseError err /* r30 */, int custom /* r31 */) { // Local variables class JoinResponseMsg failure; // r1+0x40 class ProcessedJoinRequestMsg msg; // r1+0x38 // References // -> class Net TheNet; // -> struct [anonymous] __vt__23ProcessedJoinRequestMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class NetMessenger TheNetMessenger; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052B818 -> 0x8052B8F8 unsigned char NetSession::CheckJoinableHelper(class NetSession * const this /* r27 */, enum JoinResponseError & err /* r28 */, int & custom /* r29 */, int numPlayers /* r30 */, class BinStream & authData /* r31 */) { // Local variables int customError; // r1+0x8 // References // -> class Net TheNet; } class SyncPlayerMsg : public NetMessage { // total size: 0x8 int mPlayerNum; // offset 0x4, size 0x4 }; class SyncAllMsg : public NetMessage { // total size: 0x4 }; // Range: 0x8052B8F8 -> 0x8052B98C void NetSession::UpdateSyncStore(class NetSession * const this /* r29 */) { // Local variables int machineID; // r30 class SyncPlayerMsg syncPlayerMsg; // r1+0x10 class SyncAllMsg syncAllMsg; // r1+0xC // References // -> class NetMessenger TheNetMessenger; // -> struct [anonymous] __vt__10SyncAllMsg; // -> class SyncStore * TheSyncStore; } static class ProcessedJoinRequestMsg acceptedMsg; // size: 0x8, address: 0x80982098 // Range: 0x8052BA0C -> 0x8052C208 unsigned char NetSession::OnMsg(class NetSession * const this /* r28 */, const class JoinRequestMsg & msg /* r29 */) { // Local variables unsigned int machineID; // r1+0x54 enum JoinResponseError err; // r1+0x50 int custom; // r1+0x4C class MemStream authData; // r1+0xE0 class JoinResponseMsg success; // r1+0x150 class list joiners; // r1+0xB8 int n; // r30 int newID; // r27 class User * newPlayer; // r26 class MemStream playerData; // r1+0xC0 class NewPlayerMsg playerMsg; // r1+0x128 class NewRemotePlayerMsg newRemoteMsg; // r1+0xB0 class list players; // r1+0xA8 struct _List_iterator it; // r1+0x48 class NewPlayerMsg playerMsg; // r1+0x100 // References // -> struct [anonymous] __vt__23ProcessedJoinRequestMsg; // -> class Symbol t; // -> static class ProcessedJoinRequestMsg acceptedMsg; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__18NewRemotePlayerMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Net TheNet; // -> class NetMessenger TheNetMessenger; } // Range: 0x8052C29C -> 0x8052C7D4 unsigned char NetSession::OnMsg(class NetSession * const this /* r30 */, class JoinResponseMsg & msg /* r31 */) { // Local variables class list locals; // r1+0x60 struct _List_iterator it; // r1+0x24 struct _List_iterator it; // r1+0x20 int newID; // r28 class MakeQuazalSessionJob * makeJob; // r28 class JoinResultMsg resultMsg; // r1+0x58 // References // -> struct [anonymous] __vt__13JoinResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class UserMgr * TheUserMgr; // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } class MakeQuazalSessionJob : public Job { // total size: 0xC class QuazalSession * * mSessionAddress; // offset 0x8, size 0x4 }; static class AddPlayerResultMsg successMsg; // size: 0x8, address: 0x809820B0 // Range: 0x8052C7D4 -> 0x8052CD08 void NetSession::AddLocalPlayer(class NetSession * const this /* r29 */, int playerNum /* r30 */) { // Local variables class User * newPlayer; // r26 class NewPlayerMsg addNew; // r1+0x50 class AddPlayerRequestMsg requestMsg; // r1+0x78 // References // -> class NetMessenger TheNetMessenger; // -> struct [anonymous] __vt__18AddPlayerResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class AddPlayerResultMsg successMsg; // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052CDE0 -> 0x8052D1CC unsigned char NetSession::OnMsg(class NetSession * const this /* r29 */, const class AddPlayerRequestMsg & msg /* r30 */) { // Local variables unsigned int machineID; // r1+0x28 enum JoinResponseError err; // r1+0x24 int custom; // r1+0x20 class MemStream authData; // r1+0x90 class AddPlayerResponseMsg denied; // r1+0x60 int newID; // r31 class User * newPlayer; // r28 class MemStream playerData; // r1+0x70 class NewPlayerMsg playerMsg; // r1+0xB0 class NewRemotePlayerMsg newRemoteMsg; // r1+0x48 class AddPlayerResponseMsg success; // r1+0x50 // References // -> struct [anonymous] __vt__18NewRemotePlayerMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Net TheNet; // -> class NetMessenger TheNetMessenger; } static class AddPlayerResultMsg result; // size: 0x8, address: 0x809820C8 // Range: 0x8052D20C -> 0x8052D758 unsigned char NetSession::OnMsg(class NetSession * const this /* r29 */, const class AddPlayerResponseMsg & msg /* r30 */) { // Local variables class User * newUser; // r0 // References // -> struct [anonymous] __vt__18AddPlayerResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class AddPlayerResultMsg result; // -> class Net TheNet; // -> class UserMgr * TheUserMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052D758 -> 0x8052DA6C unsigned char NetSession::OnMsg(class NetSession * const this /* r31 */, const class NewPlayerMsg & msg /* r29 */) { // Local variables class User * newPlayer; // r30 class MemStream playerData; // r1+0x38 class NewRemotePlayerMsg newRemote; // r1+0x30 // References // -> struct [anonymous] __vt__18NewRemotePlayerMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Net TheNet; // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052DA6C -> 0x8052DB98 void NetSession::RemoveLocalPlayer(class NetSession * const this /* r29 */, int id /* r30 */) { // Local variables class User * playerData; // r31 class PlayerLeftMsg removeMsg; // r1+0x10 // References // -> class NetMessenger TheNetMessenger; // -> static class QuazalSession * gQNet; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052DB98 -> 0x8052DBF8 unsigned char NetSession::OnMsg(class NetSession * const this /* r31 */) {} // Range: 0x8052DBF8 -> 0x8052DE54 void NetSession::ProcessPlayerLeftMsg(class NetSession * const this /* r31 */, const class PlayerLeftMsg & msg /* r29 */) { // Local variables class User * playerData; // r0 class RemotePlayerLeftMsg remoteLeftMsg; // r1+0x28 // References // -> struct [anonymous] __vt__19RemotePlayerLeftMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } class StartLoadingMsg : public Message { // total size: 0x8 }; // Range: 0x8052DE54 -> 0x8052E108 void NetSession::CheckAllReady(class NetSession * const this /* r31 */) { // Local variables class list players; // r1+0x68 struct _List_iterator it; // r1+0x38 class BeginLoadingMsg msg; // r1+0x34 class StartLoadingMsg startLoading; // r1+0x60 // References // -> struct [anonymous] __vt__15StartLoadingMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> struct [anonymous] __vt__15BeginLoadingMsg; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052E1CC -> 0x8052E328 void NetSession::PopulateLoadingList(class NetSession * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x24 unsigned char found; // r30 unsigned int * iter; // r29 // References // -> class Net TheNet; } // Range: 0x8052E328 -> 0x8052E56C unsigned char NetSession::OnMsg(class NetSession * const this /* r31 */) { // Local variables class StartLoadingMsg startLoading; // r1+0x20 // References // -> struct [anonymous] __vt__15StartLoadingMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052E56C -> 0x8052E5E0 void NetSession::DoneLoading(class NetSession * const this /* r30 */) { // Local variables unsigned int myID; // r31 class FinishedLoadingMsg msg; // r1+0x8 // References // -> static class QuazalSession * gQNet; } // Range: 0x8052E620 -> 0x8052E648 unsigned char NetSession::OnMsg() {} // Range: 0x8052E648 -> 0x8052E728 void NetSession::SetDoneLoading(class NetSession * const this /* r31 */) { // Local variables unsigned int * it; // r6 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052E728 -> 0x8052E864 void NetSession::CheckAllLoaded(class NetSession * const this /* r29 */) { // Local variables class StartGameOnTimeMsg msg; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052E8A4 -> 0x8052E9A0 unsigned char NetSession::OnMsg(class NetSession * const this /* r29 */, const class StartGameOnTimeMsg & msg /* r30 */) { // References // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052E9A0 -> 0x8052EAE4 class DataNode NetSession::OnEndGame(class NetSession * const this /* r28 */, class DataArray * msg /* r29 */) {} // Range: 0x8052EAE4 -> 0x8052ED88 void NetSession::EndGame(class NetSession * const this /* r31 */, int result /* r28 */, unsigned char reportResult /* r29 */, unsigned char leavingEarly /* r30 */) { // Local variables class EndGameMsg msg; // r1+0x44 class GameEndedMsg gameEnded; // r1+0x30 class EndGameMsg msg; // r1+0x38 // References // -> class NetMessenger TheNetMessenger; // -> struct [anonymous] __vt__12GameEndedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052EDC8 -> 0x8052F010 unsigned char NetSession::OnMsg(class NetSession * const this /* r31 */, const class EndGameMsg & msg /* r30 */) { // Local variables class GameEndedMsg gameEnded; // r1+0x28 // References // -> struct [anonymous] __vt__12GameEndedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052F010 -> 0x8052F074 int NetSession::GetLocalHost(const class NetSession * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class QuazalSession * gQNet; } // Range: 0x8052F074 -> 0x8052F08C unsigned char NetSession::HasPlayer() { // References // -> static class QuazalSession * gQNet; } // Range: 0x8052F08C -> 0x8052F0EC unsigned char NetSession::IsPlayerIdInList() { // Local variables struct _List_iterator it; // r1+0x18 } // Range: 0x8052F0EC -> 0x8052F1E4 void NetSession::GetLocalPlayers(const class NetSession * const this /* r29 */, class list & locals /* r30 */) { // Local variables struct _List_iterator it; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Net TheNet; // -> static class QuazalSession * gQNet; } // Range: 0x8052F1E4 -> 0x8052F2C8 void NetSession::GetUserList(const class NetSession * const this /* r29 */, class list & players /* r30 */) { // Local variables struct _List_iterator it; // r1+0x1C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Net TheNet; // -> static class QuazalSession * gQNet; } // Range: 0x8052F2C8 -> 0x8052F3B0 unsigned char NetSession::IsLocalPlayer(const class NetSession * const this /* r29 */, int id /* r30 */) { // References // -> class Net TheNet; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class QuazalSession * gQNet; } // Range: 0x8052F3B0 -> 0x8052F44C int NetSession::NumLocalPlayers() { // Local variables class list locals; // r1+0x30 } // Range: 0x8052F44C -> 0x8052F4D8 int NetSession::NumOpenSlots() { // References // -> class Net TheNet; } static class SessionBusyMsg msg; // size: 0x8, address: 0x809820E0 // Range: 0x8052F4D8 -> 0x8052F65C void NetSession::SetBusy(class NetSession * const this /* r31 */) { // References // -> struct [anonymous] __vt__14SessionBusyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class SessionBusyMsg msg; } // Range: 0x8052F65C -> 0x8052F6FC int NetSession::GetNewPlayerID(class NetSession * const this /* r30 */) { // Local variables int n; // r31 // References // -> class Debug TheDebug; // -> class UserMgr * TheUserMgr; } // Range: 0x8052F6FC -> 0x8052F7B4 void NetSession::SetAllLocalReadyStatus(unsigned char bReady /* r31 */) { // Local variables class list locals; // r1+0x28 struct _List_iterator it; // r1+0x10 class User * pPlayer; // r3 } // Range: 0x8052F7B4 -> 0x8052F938 void NetSession::UpdateUserData(class NetSession * const this /* r28 */, int userNum /* r29 */, unsigned int dirtyMask /* r30 */) { // Local variables class ChangePlayerMsg changePlayer; // r1+0x10 // References // -> class NetMessenger TheNetMessenger; // -> class Net TheNet; // -> static class QuazalSession * gQNet; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8052F9CC -> 0x8052FC60 unsigned char NetSession::OnMsg(class NetSession * const this /* r31 */, const class ChangePlayerMsg & msg /* r29 */) { // Local variables class User * updated; // r30 class MemStream playerData; // r1+0x38 // References // -> struct [anonymous] __vt__22RemotePlayerChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Net TheNet; } // Range: 0x8052FC60 -> 0x8052FD0C void NetSession::SendMsg(class NetMessage & msg /* r30 */, enum PacketType isReliable /* r31 */) { // Local variables unsigned int destMachine; // r1+0x8 // References // -> class NetMessenger TheNetMessenger; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; // -> static class QuazalSession * gQNet; } // Range: 0x8052FD0C -> 0x8052FD24 void NetSession::SendMsgToAll() { // References // -> static class QuazalSession * gQNet; } // Range: 0x8052FD24 -> 0x8052FE00 class DataNode NetSession::OnSendMsg(class NetSession * const this /* r28 */, class DataArray * msg /* r29 */) { // Local variables class DataArrayMsg message; // r1+0xC } // Range: 0x8052FE00 -> 0x8052FED0 class DataNode NetSession::OnSendMsgToAll(class NetSession * const this /* r29 */, class DataArray * msg /* r30 */) { // Local variables class DataArrayMsg message; // r1+0xC } // Range: 0x8052FED0 -> 0x80530160 void NetSession::SendToAllClientsExcept(class NetSession * const this /* r28 */, const class NetMessage & msg /* r30 */, enum PacketType isReliable /* r31 */, unsigned int except /* r1+0x8 */) { // Local variables class vector sent; // r1+0x50 class list players; // r1+0x48 struct _List_iterator it; // r1+0x30 unsigned char found; // r4 unsigned int * iter; // r5 // References // -> class NetMessenger TheNetMessenger; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class QuazalSession * gQNet; } // Range: 0x80530160 -> 0x805301F4 void NetSession::AddLocalToSession(class NetSession * const this /* r30 */, class User * playerData /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805301F4 -> 0x8053026C void NetSession::AddRemoteToSession() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8053026C -> 0x80530300 void NetSession::RemoveLocalFromSession() {} // Range: 0x80530300 -> 0x80530394 void NetSession::RemoveRemoteFromSession() {} // Range: 0x80530394 -> 0x805303FC void NetSession::StartSession(class NetSession * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805303FC -> 0x80530484 void NetSession::EndSession(class NetSession * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80530484 -> 0x805305D0 void NetSession::RemoveClient(class NetSession * const this /* r29 */, unsigned int machineID /* r30 */) { // Local variables struct _List_iterator it; // r1+0x20 class PlayerLeftMsg msg; // r1+0x28 // References // -> class Net TheNet; // -> class NetMessenger TheNetMessenger; } // Range: 0x805305D0 -> 0x80530614 unsigned char NetSession::IsHost() { // References // -> static class QuazalSession * gQNet; } // Range: 0x80530614 -> 0x80530B5C void NetSession::HandleSessionMsg(class NetSession * const this /* r27 */, class SessionMsg * msg /* r28 */) { // Local variables int byteCode; // r29 // References // -> struct [anonymous] __RTTI__12VoiceDataMsg; // -> struct [anonymous] __RTTI__10EndGameMsg; // -> struct [anonymous] __RTTI__18StartGameOnTimeMsg; // -> struct [anonymous] __RTTI__18FinishedLoadingMsg; // -> struct [anonymous] __RTTI__15BeginLoadingMsg; // -> struct [anonymous] __RTTI__15ChangePlayerMsg; // -> struct [anonymous] __RTTI__13PlayerLeftMsg; // -> struct [anonymous] __RTTI__20AddPlayerResponseMsg; // -> struct [anonymous] __RTTI__19AddPlayerRequestMsg; // -> struct [anonymous] __RTTI__12NewPlayerMsg; // -> struct [anonymous] __RTTI__15JoinResponseMsg; // -> struct [anonymous] __RTTI__10SessionMsg; // -> struct [anonymous] __RTTI__14JoinRequestMsg; // -> class NetMessageFactory TheNetMessageFactory; } static class Symbol _s; // size: 0x4, address: 0x80A53CE4 static class Symbol _s; // size: 0x4, address: 0x80A53CEC static class Symbol _s; // size: 0x4, address: 0x80A53CF4 static class Symbol _s; // size: 0x4, address: 0x80A53CFC static class Symbol _s; // size: 0x4, address: 0x80A53D04 static class Symbol _s; // size: 0x4, address: 0x80A53D0C static class Symbol _s; // size: 0x4, address: 0x80A53D14 static class Symbol _s; // size: 0x4, address: 0x80A53D1C static class Symbol _s; // size: 0x4, address: 0x80A53D24 static class Symbol _s; // size: 0x4, address: 0x80A53D2C static class Symbol _s; // size: 0x4, address: 0x80A53D34 static class Symbol _s; // size: 0x4, address: 0x80A53D3C static class Symbol _s; // size: 0x4, address: 0x80A53D44 static class Symbol _s; // size: 0x4, address: 0x80A53D4C static class Symbol _s; // size: 0x4, address: 0x80A53D54 static class Symbol _s; // size: 0x4, address: 0x80A53D5C static class Symbol _s; // size: 0x4, address: 0x80A53D64 static class Symbol _s; // size: 0x4, address: 0x80A53D6C static class Symbol _s; // size: 0x4, address: 0x80A53D74 static class Symbol _s; // size: 0x4, address: 0x80A53D7C // Range: 0x80530B5C -> 0x8053163C class DataNode NetSession::Handle(class NetSession * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x18 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xBC } __vt__10NetSession; // size: 0xBC, address: 0x80905FC4 struct { // total size: 0x8 } __RTTI__10NetSession; // size: 0x8, address: 0x809060A8 struct { // total size: 0x8 } __RTTI__12VoiceDataMsg; // size: 0x8, address: 0x809060D8 struct { // total size: 0x8 } __RTTI__10EndGameMsg; // size: 0x8, address: 0x80906100 struct { // total size: 0x8 } __RTTI__18StartGameOnTimeMsg; // size: 0x8, address: 0x80906130 struct { // total size: 0x8 } __RTTI__18FinishedLoadingMsg; // size: 0x8, address: 0x80906160 struct { // total size: 0x28 } __vt__15BeginLoadingMsg; // size: 0x28, address: 0x80906168 struct { // total size: 0x8 } __RTTI__15BeginLoadingMsg; // size: 0x8, address: 0x809061B8 struct { // total size: 0x8 } __RTTI__15ChangePlayerMsg; // size: 0x8, address: 0x809061E8 struct { // total size: 0x8 } __RTTI__20AddPlayerResponseMsg; // size: 0x8, address: 0x80906220 struct { // total size: 0x8 } __RTTI__19AddPlayerRequestMsg; // size: 0x8, address: 0x80906250 struct { // total size: 0x8 } __RTTI__13PlayerLeftMsg; // size: 0x8, address: 0x80906280 struct { // total size: 0x8 } __RTTI__12NewPlayerMsg; // size: 0x8, address: 0x809062B0 struct { // total size: 0x8 } __RTTI__15JoinResponseMsg; // size: 0x8, address: 0x809062E0 struct { // total size: 0x8 } __RTTI__14JoinRequestMsg; // size: 0x8, address: 0x80906310 struct { // total size: 0x8 } __RTTI__10SessionMsg; // size: 0x8, address: 0x80906330 struct { // total size: 0xC } __vt__16SyncStartGameMsg; // size: 0xC, address: 0x809063A8 struct { // total size: 0x8 } __RTTI__16SyncStartGameMsg; // size: 0x8, address: 0x809063D8 struct { // total size: 0xC } __vt__15StartLoadingMsg; // size: 0xC, address: 0x809063E0 struct { // total size: 0x8 } __RTTI__15StartLoadingMsg; // size: 0x8, address: 0x80906410 class PseudoGlobalVariable s_oStreamSettings[16]; // size: 0xB00, address: 0x80A44148 unsigned int s_uiDefaultConnectionTimeout; // size: 0x4, address: 0x80A487CC /* Compile unit: C:\rockband2\system\src\net\SessionMessages.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053163C -> 0x80531A78 */ // Range: 0x8053163C -> 0x805316A8 class NetMessage * JoinRequestMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__14JoinRequestMsg; } // Range: 0x805316A8 -> 0x805316E0 class NetMessage * JoinResponseMsg::NewNetMessage() {} // Range: 0x805316E0 -> 0x80531734 class NetMessage * NewPlayerMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__12NewPlayerMsg; } // Range: 0x80531734 -> 0x8053176C class NetMessage * PlayerLeftMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__13PlayerLeftMsg; } // Range: 0x8053176C -> 0x805317CC class NetMessage * AddPlayerRequestMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__19AddPlayerRequestMsg; } // Range: 0x805317CC -> 0x80531804 class NetMessage * AddPlayerResponseMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__20AddPlayerResponseMsg; } // Range: 0x80531804 -> 0x80531858 class NetMessage * ChangePlayerMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__15ChangePlayerMsg; } // Range: 0x80531858 -> 0x80531890 class NetMessage * BeginLoadingMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__15BeginLoadingMsg; } // Range: 0x80531890 -> 0x805318C8 class NetMessage * FinishedLoadingMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__18FinishedLoadingMsg; } // Range: 0x805318C8 -> 0x80531900 class NetMessage * StartGameOnTimeMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__18StartGameOnTimeMsg; } // Range: 0x80531900 -> 0x80531938 class NetMessage * EndGameMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__10EndGameMsg; } // Range: 0x80531938 -> 0x8053198C class NetMessage * VoiceDataMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__12VoiceDataMsg; } // Range: 0x8053198C -> 0x805319E0 class NetMessage * DataArrayMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__12DataArrayMsg; } // Range: 0x805319E0 -> 0x805319E4 void BeginLoadingMsg::Load() {} // Range: 0x805319E4 -> 0x805319E8 void BeginLoadingMsg::Save() {} // Range: 0x805319E8 -> 0x80531A1C char * BeginLoadingMsg::Name() {} // Range: 0x80531A1C -> 0x80531A78 unsigned char BeginLoadingMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80531A78 -> 0x80531CF4 */ // Range: 0x80531AB8 -> 0x80531CF4 void NetSession::Disconnect(class NetSession * const this /* r30 */, unsigned char recover /* r31 */) { // Local variables class list players; // r1+0x58 class list remotes; // r1+0x50 struct _List_iterator it; // r1+0x20 struct _List_iterator it; // r1+0x1C class PlayerLeftMsg msg; // r1+0x48 // References // -> static class QuazalSession * gQNet; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\net\NetSession.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80531CF4 -> 0x80531DA0 */ // Range: 0x80531D34 -> 0x80531D3C unsigned char NetSession::IsBusy() {} // Range: 0x80531D3C -> 0x80531D90 int NetSession::NumPlayers() {} // Range: 0x80531D90 -> 0x80531D98 unsigned char NetSession::OnMsg() {} // Range: 0x80531D98 -> 0x80531DA0 enum NetState NetSession::State() {} /* Compile unit: C:\rockband2\system\src\net\QuazalSession.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80531DA0 -> 0x80531DE4 */ // Range: 0x80531DA0 -> 0x80531DA4 void MakeQuazalSessionJob::Start() {} /* Compile unit: C:\rockband2\system\src\net\Msg.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80531DE4 -> 0x80531E54 */ // Range: 0x80531DE4 -> 0x80531E28 class Symbol SessionReadyMsg::Type() { // References // -> class Symbol t; } // Range: 0x80531E28 -> 0x80531E54 void * SessionReadyMsg::SessionReadyMsg() { // References // -> struct [anonymous] __vt__15SessionReadyMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80531EA4 -> 0x80531FDC */ // Range: 0x80531EA4 -> 0x80531FDC void vector::_M_insert_overflow(class vector * const this /* r27 */, unsigned int * __pos /* r28 */, const unsigned int & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 unsigned int * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PUi; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\net\NetSession_RV.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80531FDC -> 0x80532EAC */ // Range: 0x80531FDC -> 0x80532084 static void SerializeNetSearchResult(class Buffer & buffer /* r30 */, class NetSearchResult * result /* r31 */) { // Local variables class MemStream dataBuffer; // r1+0x10 } // Range: 0x80532084 -> 0x805320BC class NetSession * NetSession::New() {} class RVSession : public NetSession { // total size: 0xF0 class AnyObjectHolder mGathering; // offset 0xAC, size 0x8 unsigned char mJoined; // offset 0xB4, size 0x1 int mUpdateSettingsID; // offset 0xB8, size 0x4 int mJoinSessionJobID; // offset 0xBC, size 0x4 }; // Range: 0x805320BC -> 0x80532160 void * RVSession::RVSession(class RVSession * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q26Quazal53AnyObjectHolder; // -> struct [anonymous] __vt__9RVSession; } // Range: 0x80532160 -> 0x805322C8 void RVSession::DeleteSession(class RVSession * const this /* r30 */) { // Local variables int gathering_id; // r29 // References // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } class HarmonixGathering : public _DDL_HarmonixGathering { // total size: 0x68 }; // Range: 0x805322C8 -> 0x80532364 unsigned char RVSession::Join(class RVSession * const this /* r30 */) { // Local variables class RVSessionData * data; // r31 // References // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; } // Range: 0x80532364 -> 0x805323AC void RVSession::CancelJoin(class RVSession * const this /* r31 */) {} // Range: 0x805323AC -> 0x80532460 void RVSession::FinishJoin(class RVSession * const this /* r30 */, const class JoinResponseMsg & msg /* r31 */) { // References // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; // -> class Net TheNet; } // Range: 0x80532460 -> 0x805326A4 void RVSession::UpdateSettings(class RVSession * const this /* r29 */) { // Local variables class HarmonixGathering * gath; // r0 class NetSearchResult * currentResult; // r30 int n; // r30 // References // -> class Net TheNet; // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q26Quazal9Gathering; // -> struct [anonymous] __RTTI__Q26Quazal17HarmonixGathering; } // Range: 0x805326A4 -> 0x805326C0 class DataNode RVSession::OnUpdateFinished() {} // Range: 0x805326C0 -> 0x80532738 void RVSession::StartSession(class RVSession * const this /* r31 */) {} // Range: 0x80532738 -> 0x805327B4 void RVSession::EndSession(class RVSession * const this /* r31 */) {} // Range: 0x805327B4 -> 0x805328C0 void RVSession::InviteFriend(class Friend * invitee /* r28 */, class String & subject /* r29 */, class String & body /* r30 */) { // Local variables class RVSessionData * data; // r0 unsigned int id; // r31 class MemStream inviteData; // r1+0x28 // References // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; } static class Symbol _s; // size: 0x4, address: 0x80A53D84 // Range: 0x805328C0 -> 0x80532CDC class DataNode RVSession::Handle(class RVSession * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x80532CDC -> 0x80532D0C class SessionData * SessionData::New() {} // Range: 0x80532D0C -> 0x80532D28 void * RVSessionData::RVSessionData() { // References // -> struct [anonymous] __vt__13RVSessionData; } // Range: 0x80532D28 -> 0x80532D80 void RVSessionData::CopyInto(class RVSessionData * const this /* r31 */) { // Local variables class RVSessionData * pcData; // r0 // References // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; } // Range: 0x80532D80 -> 0x80532DE4 void RVSessionData::Save(const class RVSessionData * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80532DE4 -> 0x80532E38 void RVSessionData::Load(class RVSessionData * const this /* r30 */, class BinStream & d /* r31 */) {} // Range: 0x80532E38 -> 0x80532EAC unsigned char RVSessionData::Equals(const class RVSessionData * const this /* r31 */) { // Local variables const class RVSessionData * rhs; // r0 // References // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; } struct { // total size: 0x1C } __vt__13RVSessionData; // size: 0x1C, address: 0x80906A90 struct { // total size: 0x8 } __RTTI__13RVSessionData; // size: 0x8, address: 0x80906AC8 struct { // total size: 0xC0 } __vt__9RVSession; // size: 0xC0, address: 0x80906AD0 struct { // total size: 0x8 } __RTTI__9RVSession; // size: 0x8, address: 0x80906BC0 struct { // total size: 0x8 } __RTTI__11SessionData; // size: 0x8, address: 0x80906BD8 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80532EAC -> 0x80533518 */ // Range: 0x80532EAC -> 0x80532F94 void RVSession::LeaveSession(class RVSessionData * data /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x80532F94 -> 0x80533358 void RVSession::MakeSession(class RVSession * const this /* r29 */, unsigned char async /* r30 */) { // Local variables class RVSessionData * data; // r31 class Job * job; // r27 class HarmonixGathering * gath; // r0 int localHostIndex; // r0 int n; // r28 class NetSearchResult * currentResult; // r28 // References // -> const char * kAssertStr; // -> struct [anonymous] __vt__21MakeOfflineSessionJob; // -> class Debug TheDebug; // -> struct [anonymous] __vt__Q26Quazal17HarmonixGathering; // -> struct [anonymous] __vt__Q26Quazal22_DDL_HarmonixGathering; // -> class Net TheNet; // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; } // Range: 0x80533358 -> 0x80533518 void RVSession::MigrateHost(class RVSession * const this /* r29 */) { // Local variables class RVSessionData * data; // r0 class ProtocolCallContext context; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; } /* Compile unit: C:\rockband2\system\src\net\NetSession_RV.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80533668 -> 0x80533670 */ // Range: 0x80533668 -> 0x8053366C void RVSession::RegisterArbitration() {} // Range: 0x8053366C -> 0x80533670 void RVSession::SetInvitesAllowed() {} /* Compile unit: C:\rockband2\system\src\net\NetworkEmulator.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80533670 -> 0x805340A0 */ // Range: 0x80533670 -> 0x8053371C void NetworkEmulator::Enable(class NetworkEmulator * const this /* r31 */) {} // Range: 0x8053371C -> 0x80533794 void NetworkEmulator::Disable(class NetworkEmulator * const this /* r31 */) {} // Range: 0x80533794 -> 0x805337E4 void NetworkEmulator::SetBandwidth(class NetworkEmulator * const this /* r31 */) {} // Range: 0x805337E4 -> 0x80533834 void NetworkEmulator::SetJitter(class NetworkEmulator * const this /* r31 */) {} // Range: 0x80533834 -> 0x80533884 void NetworkEmulator::SetLatency(class NetworkEmulator * const this /* r31 */) {} // Range: 0x80533884 -> 0x80533924 void NetworkEmulator::SetPacketDropProbability(class NetworkEmulator * const this /* r31 */) { // Local variables float inDropProbFloat; // f1 float outDropProbFloat; // f31 } static class Symbol _s; // size: 0x4, address: 0x80A53D8C static class Symbol _s; // size: 0x4, address: 0x80A53D94 static class Symbol _s; // size: 0x4, address: 0x80A53D9C static class Symbol _s; // size: 0x4, address: 0x80A53DA4 static class Symbol _s; // size: 0x4, address: 0x80A53DAC static class Symbol _s; // size: 0x4, address: 0x80A53DB4 // Range: 0x80533924 -> 0x805340A0 class DataNode NetworkEmulator::Handle(class NetworkEmulator * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__15NetworkEmulator; // size: 0x54, address: 0x80906C78 struct { // total size: 0x8 } __RTTI__15NetworkEmulator; // size: 0x8, address: 0x80906CF8 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805340A0 -> 0x805343F4 */ // Range: 0x805340A0 -> 0x805343F4 void * NetworkEmulator::NetworkEmulator(class NetworkEmulator * const this /* r30 */) { // Local variables class DataArray * config; // r29 class DataArray * bConfig; // r28 class DataArray * jConfig; // r28 class DataArray * lConfig; // r28 class DataArray * dpConfig; // r28 // References // -> class InstanceTable s_oInstanceTable; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__15NetworkEmulator; } /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Plugins\Transport\Interface\EmulationDevice.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805343F4 -> 0x80534400 */ // Range: 0x805343F4 -> 0x80534400 void EmulationDevice::Enable() {} /* Compile unit: C:\rockband2\system\src\net\Server.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80534400 -> 0x80536C94 */ const char * kGuestPassword; // size: 0x4, address: 0x80A474F0 const char * kPassword; // size: 0x4, address: 0x80A474F4 static class Symbol signin_changed; // size: 0x4, address: 0x80A53DBC class FriendsProtocolClient : public ClientProtocol { // total size: 0x38 }; class FriendsClient : public ServiceClient { // total size: 0x54 class FriendsProtocolClient m_oProtocol; // offset 0x1C, size 0x38 }; class _Proto_NATTraversalProtocolServer : public ServerProtocol { // total size: 0x158 }; class NATTraversalProtocolClient : public ClientProtocol { // total size: 0x38 }; class NATTraversalRelayProtocol : public _Proto_NATTraversalProtocolServer { // total size: 0x160 class NATTraversalProtocolClient * m_pClient; // offset 0x158, size 0x4 }; class NATTraversalEngine { // total size: 0x0 }; class NATRelayInterface : public RootObject { // total size: 0x8 public: void * __vptr$; // offset 0x0, size 0x4 private: class NATTraversalEngine * m_pEngine; // offset 0x4, size 0x4 }; class RVNATRelay : public NATRelayInterface { // total size: 0xC class NATTraversalRelayClient * m_pClient; // offset 0x8, size 0x4 }; class NATTraversalRelayClient : public NATTraversalRelayProtocol { // total size: 0x168 class RVNATRelay m_oRelayInterface; // offset 0x15C, size 0xC }; class NATEchoInterface : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class RVNATEcho : public NATEchoInterface { // total size: 0x5C class StationURL m_oStreamURL; // offset 0x4, size 0x58 }; class ConnectivityTester : public RootObject { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class RVConnectivityTester : public ConnectivityTester { // total size: 0x4 }; class NATTraversalClient : public ServiceClient { // total size: 0x1E8 class NATTraversalRelayClient m_oRelayClient; // offset 0x20, size 0x168 class RVNATEcho m_oEcho; // offset 0x188, size 0x5C class RVConnectivityTester m_oTester; // offset 0x1E4, size 0x4 }; // Range: 0x80534400 -> 0x805347BC void * Server::Server(class Server * const this /* r30 */) { // Local variables class DataArray * config; // r28 int n; // r5 // References // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> static class Symbol signin_changed; // -> const char * kGuestPassword; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__6Server; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x805347BC -> 0x8053493C void * Server::~Server(class Server * const this /* r29 */) { // Local variables class ProtocolCallContext context; // r1+0x10 // References // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> struct [anonymous] __vt__6Server; } static class ServerStatusChangedMsg ServerStatusMsg; // size: 0x8, address: 0x809820F8 static class UserLoginMsg loginMsg; // size: 0x8, address: 0x80982110 static class ServerStatusChangedMsg msg; // size: 0x8, address: 0x80982128 static class UserLoginMsg loginMsg; // size: 0x8, address: 0x80982140 class StringStream : public RootObject { // total size: 0x110 char * m_szBuffer; // offset 0x0, size 0x4 unsigned int m_uiSize; // offset 0x4, size 0x4 char * m_szCurrentPosition; // offset 0x8, size 0x4 char m_szInitialBuffer[256]; // offset 0xC, size 0x100 unsigned char m_bHex; // offset 0x10C, size 0x1 unsigned char m_bShowBase; // offset 0x10D, size 0x1 unsigned char m_bBoolAlpha; // offset 0x10E, size 0x1 }; // Range: 0x8053493C -> 0x80535868 void Server::Poll(class Server * const this /* r29 */) { // Local variables class StringStream __ss; // r1+0x190 class qResult err; // r1+0xF0 class ProtocolCallContext context; // r1+0x130 unsigned char success; // r27 class String result; // r1+0xE4 unsigned char ret; // r0 // References // -> static class UserLoginMsg loginMsg; // -> class PlatformMgr ThePlatformMgr; // -> static class ServerStatusChangedMsg msg; // -> const char * kPassword; // -> const char * kGuestPassword; // -> struct [anonymous] __vt__12UserLoginMsg; // -> class Symbol t; // -> static class UserLoginMsg loginMsg; // -> struct [anonymous] __vt__22ServerStatusChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class ServerStatusChangedMsg ServerStatusMsg; // -> struct [anonymous] __vt__Q26Quazal17HarmonixGathering; // -> struct [anonymous] __vt__Q26Quazal22_DDL_HarmonixGathering; // -> struct [anonymous] __vt__Q26Quazal23CustomMatchMakingClient; // -> class Debug TheDebug; } enum NWC24Err { NWC24_OK = 0, NWC24_ERR_FATAL = -1, NWC24_ERR_FAILED = -2, NWC24_ERR_INVALID_VALUE = -3, NWC24_ERR_NOT_SUPPORTED = -4, NWC24_ERR_NULL = -5, NWC24_ERR_FULL = -6, NWC24_ERR_PROTECTED = -7, NWC24_ERR_OVERFLOW = -8, NWC24_ERR_LIB_NOT_OPENED = -9, NWC24_ERR_LIB_OPENED = -10, NWC24_ERR_NOMEM = -11, NWC24_ERR_CONFIG = -12, NWC24_ERR_NOT_FOUND = -13, NWC24_ERR_BROKEN = -14, NWC24_ERR_DONE = -15, NWC24_ERR_FILE_OPEN = -16, NWC24_ERR_FILE_CLOSE = -17, NWC24_ERR_FILE_READ = -18, NWC24_ERR_FILE_WRITE = -19, NWC24_ERR_FILE_NOEXISTS = -20, NWC24_ERR_FILE_OTHER = -21, NWC24_ERR_MUTEX = -22, NWC24_ERR_ALIGNMENT = -23, NWC24_ERR_FORMAT = -24, NWC24_ERR_STRING_END = -25, NWC24_ERR_BUSY = -26, NWC24_ERR_VER_MISMATCH = -27, NWC24_ERR_HIDDEN = -28, NWC24_ERR_INPROGRESS = -29, NWC24_ERR_NOT_READY = -30, NWC24_ERR_NETWORK = -31, NWC24_ERR_SERVER = -32, NWC24_ERR_CONFIG_NETWORK = -33, NWC24_ERR_ID_NOEXISTS = -34, NWC24_ERR_ID_GENERATED = -35, NWC24_ERR_ID_REGISTERED = -36, NWC24_ERR_ID_CRC = -37, NWC24_ERR_NAND_CORRUPT = -38, NWC24_ERR_DISABLED = -39, NWC24_ERR_INVALID_OPERATION = -40, NWC24_ERR_FILE_EXISTS = -41, NWC24_ERR_INTERNAL_IPC = -42, NWC24_ERR_INTERNAL_VF = -43, NWC24_ERR_ID_NOT_REGISTERED = -44, NWC24_ERR_VERIFY_SIGNATURE = -45, NWC24_ERR_FILE_BROKEN = -46, NWC24_ERR_INVALID_CHAR = -47, NWC24_ERR_CANCELLED = -48, NWC24_ERR_OLD_SYSTEM = -49, NWC24_ERR_SCRIPT_VERSION = -50, NWC24_ERR_GIVE_UP = -51, }; // Range: 0x80535868 -> 0x80535DFC void Server::Login(class Server * const this /* r31 */) { // Local variables unsigned long long wiiNumber; // r1+0x60 enum NWC24Err nwc24Err; // r4 class StringStream strUserName; // r1+0x68 unsigned char success; // r27 // References // -> const char * kGuestPassword; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__22ServerStatusChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x80535DFC -> 0x80535E20 void Server::Logout() {} static class ServerStatusChangedMsg msg; // size: 0x8, address: 0x80982158 // Range: 0x80535E20 -> 0x80536290 void Server::LogoutImpl(class Server * const this /* r29 */, unsigned char sendMsg /* r30 */) { // Local variables int n; // r5 // References // -> struct [anonymous] __vt__22ServerStatusChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class ServerStatusChangedMsg msg; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80536290 -> 0x80536298 unsigned char Server::IsConnected() {} // Range: 0x80536298 -> 0x805362DC unsigned int Server::GetPlayerID(class Server * const this /* r31 */) {} // Range: 0x805362DC -> 0x80536320 char * Server::GetUsername() {} // Range: 0x80536320 -> 0x8053640C void Server::GetAllPlayerIDs(class Server * const this /* r29 */, class vector & ids /* r30 */) { // Local variables unsigned int id; // r1+0x18 } // Range: 0x8053640C -> 0x80536474 class SecureConnectionClient * Server::GetSecureConnectionClient(class Server * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80536474 -> 0x805364B0 void Server::DoAdditionalLogin(class Server * const this /* r31 */) {} // Range: 0x805364B0 -> 0x80536584 class DataNode Server::OnMsg(class Server * const this /* r28 */, const class SigninChangedMsg & msg /* r29 */) { // Local variables int n; // r30 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x80536584 -> 0x8053658C void Server::SetUsername() {} static class Symbol _s; // size: 0x4, address: 0x80A53DC8 static class Symbol _s; // size: 0x4, address: 0x80A53DD0 static class Symbol _s; // size: 0x4, address: 0x80A53DD8 // Range: 0x8053658C -> 0x80536C94 class DataNode Server::Handle(class Server * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__16SigninChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x6C } __vt__6Server; // size: 0x6C, address: 0x809073A8 struct { // total size: 0x8 } __RTTI__6Server; // size: 0x8, address: 0x80907438 /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Platform\Core\Result.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80536C94 -> 0x80536C98 */ // Range: 0x80536C94 -> 0x80536C98 unsigned char __eq() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80536C98 -> 0x80536D68 */ // Range: 0x80536C98 -> 0x80536D1C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r27 */, int t2 /* r28 */, const char * t3 /* r29 */, const char * t4 /* r30 */, const char * t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80536D1C -> 0x80536D68 char * MakeString(const char * fmt /* r0 */, enum NWC24Err t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\net\SessionSearcher.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80536DB8 -> 0x80537C14 */ // Range: 0x80536DB8 -> 0x80536DD8 static unsigned char NumPlayersGreaterThan() {} static class Symbol invite_accepted; // size: 0x4, address: 0x80A53DE4 // Range: 0x80536DD8 -> 0x80536F44 void * SessionSearcher::SessionSearcher(class SessionSearcher * const this /* r31 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> static class Symbol invite_accepted; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__15SessionSearcher; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x80536F44 -> 0x80536F74 void SessionSearcher::AllocateNetSearchResults(class SessionSearcher * const this /* r31 */) {} // Range: 0x80536F74 -> 0x80537124 void * SessionSearcher::~SessionSearcher(class SessionSearcher * const this /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; // -> struct [anonymous] __vt__15SessionSearcher; } // Range: 0x80537124 -> 0x80537168 void SessionSearcher::Poll() { // References // -> class Net TheNet; } // Range: 0x80537168 -> 0x80537260 void SessionSearcher::StartSearching(class SessionSearcher * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Message finished; // size: 0x8, address: 0x80982170 // Range: 0x80537260 -> 0x805373D4 void SessionSearcher::StopSearching(class SessionSearcher * const this /* r31 */) { // References // -> static class Message finished; // -> struct [anonymous] __vt__7Message; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x805373D4 -> 0x80537470 class NetSearchResult * SessionSearcher::GetNextResult(class SessionSearcher * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80537470 -> 0x805374E0 void SessionSearcher::UpdateSearchList(class NetSearchResult * result /* r1+0x8 */) {} // Range: 0x805374E0 -> 0x805374E8 unsigned char SessionSearcher::OnMsg() {} static class Symbol _s; // size: 0x4, address: 0x80A53DEC static class Symbol _s; // size: 0x4, address: 0x80A53DF4 static class Symbol _s; // size: 0x4, address: 0x80A53DFC // Range: 0x805374E8 -> 0x80537C14 class DataNode SessionSearcher::Handle(class SessionSearcher * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__17InviteAcceptedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x7C } __vt__15SessionSearcher; // size: 0x7C, address: 0x80907688 struct { // total size: 0x8 } __RTTI__15SessionSearcher; // size: 0x8, address: 0x80907738 struct { // total size: 0x8 } __RTTI__PP15NetSearchResult; // size: 0x8, address: 0x80907808 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80537C14 -> 0x805381D0 */ // Range: 0x80537C14 -> 0x80537CA8 void sort(class NetSearchResult * * __first /* r29 */, class NetSearchResult * * __last /* r30 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r31 */) {} // Range: 0x80537CA8 -> 0x80537D30 void __final_insertion_sort(class NetSearchResult * * __first /* r29 */, class NetSearchResult * * __last /* r30 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r31 */) {} // Range: 0x80537D30 -> 0x80537D90 void __unguarded_insertion_sort_aux(class NetSearchResult * * __last /* r29 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r30 */) { // Local variables class NetSearchResult * * __i; // r31 } // Range: 0x80537D90 -> 0x80537E10 void __unguarded_linear_insert(class NetSearchResult * * __last /* r28 */, class NetSearchResult * __val /* r29 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r30 */) { // Local variables class NetSearchResult * * __next; // r31 } // Range: 0x80537E10 -> 0x80537EC4 void __insertion_sort(class NetSearchResult * * __first /* r27 */, class NetSearchResult * * __last /* r28 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r29 */) { // Local variables class NetSearchResult * * __i; // r30 } // Range: 0x80537EC4 -> 0x80538028 void __introsort_loop(class NetSearchResult * * __first /* r27 */, class NetSearchResult * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r30 */) { // Local variables class NetSearchResult * * __cut; // r31 } // Range: 0x80538028 -> 0x805380FC class NetSearchResult * * __unguarded_partition(class NetSearchResult * * __first /* r28 */, class NetSearchResult * * __last /* r29 */, class NetSearchResult * __pivot /* r30 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r31 */) {} // Range: 0x805380FC -> 0x80538108 void partial_sort() {} // Range: 0x80538108 -> 0x805381D0 void __partial_sort(class NetSearchResult * * __first /* r27 */, class NetSearchResult * * __middle /* r28 */, class NetSearchResult * * __last /* r29 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r30 */) { // Local variables class NetSearchResult * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805381D0 -> 0x80538200 */ // Range: 0x805381D0 -> 0x805381E8 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x805381E8 -> 0x80538200 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80538200 -> 0x805383DC */ // Range: 0x80538200 -> 0x8053822C void pop_heap(class NetSearchResult * * __last /* r8 */) {} // Range: 0x8053822C -> 0x80538348 void __adjust_heap(class NetSearchResult * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r26 */, class NetSearchResult * __val /* r29 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r25 } // Range: 0x80538348 -> 0x805383DC void make_heap(class NetSearchResult * * __first /* r28 */, unsigned char (* __comp)(class NetSearchResult *, class NetSearchResult *) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80538404 -> 0x8053853C */ // Range: 0x80538404 -> 0x8053853C void vector::_M_insert_overflow(class vector * const this /* r27 */, class NetSearchResult * * __pos /* r28 */, class NetSearchResult * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class NetSearchResult * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP15NetSearchResult; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\net\SessionSearcher_RV.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053853C -> 0x80539388 */ // Range: 0x8053853C -> 0x80538574 class SessionSearcher * SessionSearcher::New() {} class RVSessionSearcher : public SessionSearcher { // total size: 0x78 class ProtocolCallContext * mSearchCallback; // offset 0x34, size 0x4 class qList mResultsList; // offset 0x38, size 0x8 class ProtocolCallContext * mInviteCallback; // offset 0x40, size 0x4 class AnyObjectHolder mInviteResult; // offset 0x44, size 0x8 }; // Range: 0x80538574 -> 0x8053862C void * RVSessionSearcher::RVSessionSearcher(class RVSessionSearcher * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q26Quazal53AnyObjectHolder; // -> struct [anonymous] __vt__17RVSessionSearcher; } // Range: 0x8053862C -> 0x8053873C void * RVSessionSearcher::~RVSessionSearcher(class RVSessionSearcher * const this /* r29 */) { // References // -> struct [anonymous] __vt__17RVSessionSearcher; } static class InviteAcceptedMsg inviteMsg; // size: 0x8, address: 0x80982188 static class InviteAcceptedMsg inviteMsg; // size: 0x8, address: 0x809821A0 // Range: 0x8053873C -> 0x80538F18 void RVSessionSearcher::Poll(class RVSessionSearcher * const this /* r29 */) { // Local variables struct _List_iterator it; // r1+0x38 class HarmonixGathering * gath; // r0 int size; // r27 class MemStream resultData; // r1+0xB0 class NetSearchResult * result; // r27 class RVSessionData * data; // r0 class HarmonixGathering * gath; // r0 int size; // r27 class MemStream resultData; // r1+0x90 class RVSessionData * data; // r0 // References // -> static class InviteAcceptedMsg inviteMsg; // -> struct [anonymous] __vt__17InviteAcceptedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class InviteAcceptedMsg inviteMsg; // -> struct [anonymous] __RTTI__11SessionData; // -> struct [anonymous] __RTTI__13RVSessionData; // -> struct [anonymous] __RTTI__Q26Quazal9Gathering; // -> struct [anonymous] __RTTI__Q26Quazal17HarmonixGathering; } static class ResultRange range; // size: 0xC, address: 0x809821B4 static unsigned char ranked; // size: 0x1, address: 0x80A53E03 static int gameMode; // size: 0x4, address: 0x80A53E04 static class qList props; // size: 0x8, address: 0x809821D0 static int queryID; // size: 0x4, address: 0x80A53E0C // Range: 0x80538F18 -> 0x80539188 void RVSessionSearcher::StartSearching(class RVSessionSearcher * const this /* r29 */, const class SearchSettings & settings /* r30 */) { // Local variables int n; // r27 struct _List_iterator it; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LogFile NetLog; // -> static int gameMode; // -> static unsigned char ranked; // -> static int queryID; // -> static class qList props; // -> static class ResultRange range; // -> struct [anonymous] __vt__Q26Quazal11ResultRange; // -> class Net TheNet; } // Range: 0x80539188 -> 0x805391E0 void RVSessionSearcher::StopSearching(class RVSessionSearcher * const this /* r31 */) {} // Range: 0x805391E0 -> 0x80539388 unsigned char RVSessionSearcher::OnMsg(class RVSessionSearcher * const this /* r28 */, const class InviteAcceptedMsg & msg /* r29 */) { // Local variables unsigned char success; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> class Net TheNet; } struct { // total size: 0x7C } __vt__17RVSessionSearcher; // size: 0x7C, address: 0x80907980 struct { // total size: 0x8 } __RTTI__17RVSessionSearcher; // size: 0x8, address: 0x80907A38 /* Compile unit: C:\rockband2\system\src\net\SessionMessages.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805393D8 -> 0x8053AADC */ // Range: 0x805393D8 -> 0x805393EC void SessionMsg::Dispatch() { // References // -> class Net TheNet; } // Range: 0x805393EC -> 0x80539474 int JoinRequestMsg::GetPlayerID(const class JoinRequestMsg * const this /* r30 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80539474 -> 0x8053948C void JoinRequestMsg::GetAuthenticationData(const class JoinRequestMsg * const this /* r5 */) {} // Range: 0x8053948C -> 0x805395B4 void JoinRequestMsg::Save(const class JoinRequestMsg * const this /* r30 */, class BinStream & dest /* r31 */) { // Local variables unsigned char numPlayers; // r29 int n; // r28 } // Range: 0x805395B4 -> 0x80539934 void JoinRequestMsg::Load(class JoinRequestMsg * const this /* r28 */, class BinStream & src /* r29 */) { // Local variables unsigned char numPlayers; // r1+0x39 int n; // r30 unsigned char playerID; // r1+0x38 int playerDataSize; // r1+0x44 class MemStream playerBuffer; // r1+0x48 int authDataSize; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pc; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9MemStream; // -> struct [anonymous] __vt__9BinStream; } // Range: 0x80539934 -> 0x80539968 void * JoinResponseMsg::JoinResponseMsg() { // References // -> struct [anonymous] __vt__15JoinResponseMsg; } // Range: 0x80539968 -> 0x80539978 unsigned char JoinResponseMsg::Joined() {} // Range: 0x80539978 -> 0x80539A48 void JoinResponseMsg::SetNewPlayerID(class JoinResponseMsg * const this /* r31 */, int oldID /* r1+0x8 */, int newID /* r1+0xC */) {} // Range: 0x80539A48 -> 0x80539A98 void JoinResponseMsg::SwapOldIDs() { // Local variables int n; // r8 } // Range: 0x80539A98 -> 0x80539B74 void JoinResponseMsg::Save(const class JoinResponseMsg * const this /* r27 */, class BinStream & dest /* r28 */) { // Local variables int numIDs; // r30 int n; // r29 } // Range: 0x80539B74 -> 0x80539CC0 void JoinResponseMsg::Load(class JoinResponseMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables int error; // r1+0x1C int numIDs; // r1+0x18 int n; // r31 int oldID; // r1+0x14 int newID; // r1+0x10 } // Range: 0x80539CC0 -> 0x80539D34 void * NewPlayerMsg::NewPlayerMsg(class NewPlayerMsg * const this /* r30 */, const class User * newPlayer /* r31 */) { // References // -> struct [anonymous] __vt__12NewPlayerMsg; } // Range: 0x80539D34 -> 0x80539D4C void NewPlayerMsg::GetUser(const class NewPlayerMsg * const this /* r5 */) {} // Range: 0x80539D4C -> 0x80539DC4 void NewPlayerMsg::Save(const class NewPlayerMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x80539DC4 -> 0x80539E94 void NewPlayerMsg::Load(class NewPlayerMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables int numBytes; // r1+0x10 } // Range: 0x80539E94 -> 0x80539EA8 void * PlayerLeftMsg::PlayerLeftMsg() { // References // -> struct [anonymous] __vt__13PlayerLeftMsg; } // Range: 0x80539EA8 -> 0x80539EE0 void PlayerLeftMsg::Save(const class PlayerLeftMsg * const this /* r5 */) {} // Range: 0x80539EE0 -> 0x80539EF4 void PlayerLeftMsg::Load(class PlayerLeftMsg * const this /* r5 */) {} // Range: 0x80539EF4 -> 0x80539F98 void * AddPlayerRequestMsg::AddPlayerRequestMsg(class AddPlayerRequestMsg * const this /* r30 */, const class User * newPlayer /* r31 */) { // References // -> class Net TheNet; // -> struct [anonymous] __vt__19AddPlayerRequestMsg; } // Range: 0x80539F98 -> 0x80539FB0 void AddPlayerRequestMsg::GetUser(const class AddPlayerRequestMsg * const this /* r5 */) {} // Range: 0x80539FB0 -> 0x80539FC8 void AddPlayerRequestMsg::GetAuthenticationData(const class AddPlayerRequestMsg * const this /* r5 */) {} // Range: 0x80539FC8 -> 0x8053A06C void AddPlayerRequestMsg::Save(const class AddPlayerRequestMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8053A06C -> 0x8053A1C0 void AddPlayerRequestMsg::Load(class AddPlayerRequestMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables int numBytes; // r1+0x18 } // Range: 0x8053A1C0 -> 0x8053A248 void AddPlayerResponseMsg::Save(const class AddPlayerResponseMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8053A248 -> 0x8053A2C4 void AddPlayerResponseMsg::Load(class AddPlayerResponseMsg * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x8053A2C4 -> 0x8053A348 void * ChangePlayerMsg::ChangePlayerMsg(class ChangePlayerMsg * const this /* r29 */, const class User * playerData /* r30 */, unsigned int dirtyMask /* r31 */) { // References // -> struct [anonymous] __vt__15ChangePlayerMsg; } // Range: 0x8053A348 -> 0x8053A360 void ChangePlayerMsg::GetUser(const class ChangePlayerMsg * const this /* r5 */) {} // Range: 0x8053A360 -> 0x8053A3F0 void ChangePlayerMsg::Save(const class ChangePlayerMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8053A3F0 -> 0x8053A4D0 void ChangePlayerMsg::Load(class ChangePlayerMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables int numBytes; // r1+0x10 } // Range: 0x8053A4D0 -> 0x8053A4E4 void * FinishedLoadingMsg::FinishedLoadingMsg() { // References // -> struct [anonymous] __vt__18FinishedLoadingMsg; } // Range: 0x8053A4E4 -> 0x8053A51C void FinishedLoadingMsg::Save(const class FinishedLoadingMsg * const this /* r5 */) {} // Range: 0x8053A51C -> 0x8053A530 void FinishedLoadingMsg::Load(class FinishedLoadingMsg * const this /* r5 */) {} // Range: 0x8053A530 -> 0x8053A548 void * StartGameOnTimeMsg::StartGameOnTimeMsg() { // References // -> struct [anonymous] __vt__18StartGameOnTimeMsg; } // Range: 0x8053A548 -> 0x8053A588 void StartGameOnTimeMsg::Save(const class StartGameOnTimeMsg * const this /* r5 */) {} // Range: 0x8053A588 -> 0x8053A59C void StartGameOnTimeMsg::Load(class StartGameOnTimeMsg * const this /* r5 */) {} // Range: 0x8053A59C -> 0x8053A5B4 void * EndGameMsg::EndGameMsg() { // References // -> struct [anonymous] __vt__10EndGameMsg; } // Range: 0x8053A5B4 -> 0x8053A618 void EndGameMsg::Save(const class EndGameMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8053A618 -> 0x8053A680 void EndGameMsg::Load(class EndGameMsg * const this /* r30 */, class BinStream & src /* r31 */) {} // Range: 0x8053A680 -> 0x8053A698 void VoiceDataMsg::GetVoiceData(const class VoiceDataMsg * const this /* r5 */) {} // Range: 0x8053A698 -> 0x8053A710 void VoiceDataMsg::Save(const class VoiceDataMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8053A710 -> 0x8053A7E0 void VoiceDataMsg::Load(class VoiceDataMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables int numBytes; // r1+0x10 } // Range: 0x8053A7E0 -> 0x8053A84C void * DataArrayMsg::DataArrayMsg(class DataArrayMsg * const this /* r30 */, class DataArray * dataArray /* r31 */) { // References // -> struct [anonymous] __vt__12DataArrayMsg; } // Range: 0x8053A84C -> 0x8053A8B4 void DataArrayMsg::Save(const class DataArrayMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8053A8B4 -> 0x8053A974 void DataArrayMsg::Load(class DataArrayMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables int numBytes; // r1+0x10 } // Range: 0x8053A974 -> 0x8053A9FC void DataArrayMsg::Dispatch() { // Local variables class DataArray * msg; // r1+0x8 } // Range: 0x8053A9FC -> 0x8053AADC void DataArrayMsg::Print(const class DataArrayMsg * const this /* r30 */, class TextStream & text /* r31 */) { // Local variables class MemStream newBuffer; // r1+0x10 class DataArray * msg; // r1+0xC } struct { // total size: 0x28 } __vt__12DataArrayMsg; // size: 0x28, address: 0x80907E70 struct { // total size: 0x8 } __RTTI__12DataArrayMsg; // size: 0x8, address: 0x80907EB8 struct { // total size: 0x28 } __vt__12VoiceDataMsg; // size: 0x28, address: 0x80907EC0 struct { // total size: 0x28 } __vt__10EndGameMsg; // size: 0x28, address: 0x80907EE8 struct { // total size: 0x28 } __vt__18StartGameOnTimeMsg; // size: 0x28, address: 0x80907F10 struct { // total size: 0x28 } __vt__18FinishedLoadingMsg; // size: 0x28, address: 0x80907F38 struct { // total size: 0x28 } __vt__15ChangePlayerMsg; // size: 0x28, address: 0x80907F60 struct { // total size: 0x28 } __vt__20AddPlayerResponseMsg; // size: 0x28, address: 0x80907F88 struct { // total size: 0x28 } __vt__19AddPlayerRequestMsg; // size: 0x28, address: 0x80907FB0 struct { // total size: 0x28 } __vt__13PlayerLeftMsg; // size: 0x28, address: 0x80907FD8 struct { // total size: 0x28 } __vt__12NewPlayerMsg; // size: 0x28, address: 0x80908000 struct { // total size: 0x28 } __vt__15JoinResponseMsg; // size: 0x28, address: 0x80908028 struct { // total size: 0x28 } __vt__14JoinRequestMsg; // size: 0x28, address: 0x80908050 struct { // total size: 0x8 } __RTTI__P9MemStream; // size: 0x8, address: 0x80908088 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053AADC -> 0x8053ADB0 */ // Range: 0x8053AADC -> 0x8053AB84 void JoinRequestMsg::GetUser(const class JoinRequestMsg * const this /* r29 */, int index /* r30 */, class BinStream & data /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8053AB84 -> 0x8053AC10 int JoinResponseMsg::GetNewPlayerID() { // Local variables int n; // r7 // References // -> class Debug TheDebug; } // Range: 0x8053AC10 -> 0x8053AC84 void JoinResponseMsg::Print(const class JoinResponseMsg * const this /* r30 */, class TextStream & text /* r31 */) {} // Range: 0x8053AC84 -> 0x8053AD1C void * AddPlayerResponseMsg::AddPlayerResponseMsg(class AddPlayerResponseMsg * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__20AddPlayerResponseMsg; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053ADB0 -> 0x8053ADB4 */ // Range: 0x8053ADB0 -> 0x8053ADB4 class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\MemStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053ADB4 -> 0x8053B0C4 */ // Range: 0x8053ADB4 -> 0x8053B0C4 void * JoinRequestMsg::JoinRequestMsg(class JoinRequestMsg * const this /* r28 */, const class list & players /* r29 */, int modeFilter /* r30 */) { // Local variables struct _List_iterator it; // r1+0x3C class MemStream playerData; // r1+0x40 // References // -> class Net TheNet; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pc; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__9MemStream; // -> struct [anonymous] __vt__9BinStream; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__14JoinRequestMsg; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053B0C4 -> 0x8053B124 */ // Range: 0x8053B0C4 -> 0x8053B124 char * MakeString(const char * fmt /* r0 */, enum JoinResponseError t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\net\SessionMessages.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053B124 -> 0x8053B7EC */ // Range: 0x8053B124 -> 0x8053B158 char * DataArrayMsg::Name() {} // Range: 0x8053B158 -> 0x8053B1B4 unsigned char DataArrayMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B1B4 -> 0x8053B1BC unsigned char VoiceDataMsg::VoiceData() {} // Range: 0x8053B1BC -> 0x8053B1F0 char * VoiceDataMsg::Name() {} // Range: 0x8053B1F0 -> 0x8053B24C unsigned char VoiceDataMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B24C -> 0x8053B280 char * EndGameMsg::Name() {} // Range: 0x8053B280 -> 0x8053B2DC unsigned char EndGameMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B2DC -> 0x8053B310 char * StartGameOnTimeMsg::Name() {} // Range: 0x8053B310 -> 0x8053B36C unsigned char StartGameOnTimeMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B36C -> 0x8053B3A0 char * FinishedLoadingMsg::Name() {} // Range: 0x8053B3A0 -> 0x8053B3FC unsigned char FinishedLoadingMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B3FC -> 0x8053B430 char * ChangePlayerMsg::Name() {} // Range: 0x8053B430 -> 0x8053B48C unsigned char ChangePlayerMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B48C -> 0x8053B4C0 char * AddPlayerResponseMsg::Name() {} // Range: 0x8053B4C0 -> 0x8053B51C unsigned char AddPlayerResponseMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B51C -> 0x8053B550 char * AddPlayerRequestMsg::Name() {} // Range: 0x8053B550 -> 0x8053B5AC unsigned char AddPlayerRequestMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B5AC -> 0x8053B5E0 char * PlayerLeftMsg::Name() {} // Range: 0x8053B5E0 -> 0x8053B63C unsigned char PlayerLeftMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B63C -> 0x8053B670 char * NewPlayerMsg::Name() {} // Range: 0x8053B670 -> 0x8053B6CC unsigned char NewPlayerMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B6CC -> 0x8053B700 char * JoinResponseMsg::Name() {} // Range: 0x8053B700 -> 0x8053B75C unsigned char JoinResponseMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053B75C -> 0x8053B790 char * JoinRequestMsg::Name() {} // Range: 0x8053B790 -> 0x8053B7EC unsigned char JoinRequestMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053B7EC -> 0x8053BD24 */ // Range: 0x8053B7EC -> 0x8053BD24 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class MemStream * __pos /* r25 */, const class MemStream & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x74 unsigned long __len; // r29 class MemStream * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__Pc; // -> struct [anonymous] __vt__9MemStream; // -> struct [anonymous] __vt__9BinStream; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9MemStream; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\net\Synchronize.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053BD24 -> 0x8053C06C */ // Range: 0x8053BD24 -> 0x8053BDE0 void * Synchronizable::~Synchronizable(class Synchronizable * const this /* r30 */) { // References // -> struct [anonymous] __vt__14Synchronizable; } // Range: 0x8053BDE0 -> 0x8053BE5C void Synchronizable::Unpublish(class Synchronizable * const this /* r31 */) { // References // -> class SyncStore * TheSyncStore; // -> class Debug TheDebug; // -> const char * kAssertStr; } class SyncObjMsg : public NetMessage { // total size: 0x34 class String mObjTag; // offset 0x4, size 0xC unsigned int mDirtyMask; // offset 0x10, size 0x4 class MemStream mObjData; // offset 0x14, size 0x20 }; // Range: 0x8053BE5C -> 0x8053BFF4 void Synchronizable::SynchronizeIfDirty(class Synchronizable * const this /* r31 */) { // Local variables int playerNum; // r30 class SyncObjMsg msg; // r1+0x48 class SyncObjMsg msg; // r1+0x14 // References // -> class NetSession * TheNetSession; } // Range: 0x8053BFF4 -> 0x8053BFFC char * Synchronizable::GetUniqueTag() {} // Range: 0x8053BFFC -> 0x8053C06C void Synchronizable::AddDirtyPlayer(int playerNum /* r1+0x8 */) {} struct { // total size: 0x20 } __vt__14Synchronizable; // size: 0x20, address: 0x809081E0 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053C06C -> 0x8053C24C */ // Range: 0x8053C06C -> 0x8053C0EC void * Synchronizable::Synchronizable(class Synchronizable * const this /* r30 */, const char * uniqueTag /* r31 */) { // References // -> struct [anonymous] __vt__14Synchronizable; } // Range: 0x8053C0EC -> 0x8053C1B4 void Synchronizable::Publish(class Synchronizable * const this /* r29 */, const char * uniqueTag /* r30 */) { // References // -> class SyncStore * TheSyncStore; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8053C1B4 -> 0x8053C24C void Synchronizable::SetSyncDirty(class Synchronizable * const this /* r30 */, unsigned int dirtyMask /* r31 */) { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\net\Synchronize.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053C24C -> 0x8053C2F4 */ // Range: 0x8053C2F0 -> 0x8053C2F4 void Synchronizable::OnSynchronized() {} /* Compile unit: C:\rockband2\system\src\net\SyncStore.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053C2F4 -> 0x8053CD38 */ class SyncStore * TheSyncStore; // size: 0x4, address: 0x80A53E10 // Range: 0x8053C2F4 -> 0x8053C414 void * SyncStore::SyncStore(class SyncStore * const this /* r29 */) { // References // -> class NetMessageFactory TheNetMessageFactory; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class SyncStore * TheSyncStore; } // Range: 0x8053C414 -> 0x8053C478 void SyncStore::Poll(class SyncStore * const this /* r30 */) { // Local variables int n; // r31 } // Range: 0x8053C478 -> 0x8053C58C void SyncStore::AddSyncObj(class SyncStore * const this /* r29 */, class Synchronizable * s /* r1+0x8 */, class String & tag /* r30 */) { // Local variables int n; // r31 // References // -> class Debug TheDebug; } // Range: 0x8053C58C -> 0x8053C67C void SyncStore::RemoveSyncObj(class SyncStore * const this /* r29 */, class String & tag /* r30 */) { // Local variables class Synchronizable * * it; // r31 // References // -> class Debug TheDebug; } // Range: 0x8053C67C -> 0x8053C754 class Synchronizable * SyncStore::GetSyncObj(class SyncStore * const this /* r28 */, class String & tag /* r29 */) { // Local variables int n; // r30 // References // -> class Debug TheDebug; } // Range: 0x8053C754 -> 0x8053C7F0 void SyncStore::SyncPlayer(class SyncStore * const this /* r28 */, int playerNum /* r29 */) { // Local variables int n; // r30 } // Range: 0x8053C7F0 -> 0x8053C880 void SyncStore::SyncAllPlayers(class SyncStore * const this /* r29 */) { // Local variables int n; // r30 } // Range: 0x8053C880 -> 0x8053C914 void * SyncObjMsg::SyncObjMsg(class SyncObjMsg * const this /* r29 */, unsigned int dirtyMask /* r30 */, class Synchronizable * s /* r31 */) { // References // -> struct [anonymous] __vt__10SyncObjMsg; } // Range: 0x8053C914 -> 0x8053C92C void SyncObjMsg::GetObjData(const class SyncObjMsg * const this /* r5 */) {} // Range: 0x8053C92C -> 0x8053C9B0 void SyncObjMsg::Save(const class SyncObjMsg * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x8053C9B0 -> 0x8053CA8C void SyncObjMsg::Load(class SyncObjMsg * const this /* r29 */, class BinStream & src /* r30 */) { // Local variables int numBytes; // r1+0x10 } // Range: 0x8053CA8C -> 0x8053CBB0 void SyncObjMsg::Dispatch(class SyncObjMsg * const this /* r30 */) { // Local variables class Synchronizable * obj; // r31 class MemStream objData; // r1+0x18 // References // -> class Debug TheDebug; // -> class SyncStore * TheSyncStore; } // Range: 0x8053CBB0 -> 0x8053CC20 void SyncObjMsg::Print(const class SyncObjMsg * const this /* r30 */, class TextStream & text /* r31 */) {} // Range: 0x8053CC20 -> 0x8053CCA8 void * SyncPlayerMsg::SyncPlayerMsg(class SyncPlayerMsg * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__13SyncPlayerMsg; } // Range: 0x8053CCA8 -> 0x8053CCE0 void SyncPlayerMsg::Save(const class SyncPlayerMsg * const this /* r5 */) {} // Range: 0x8053CCE0 -> 0x8053CD20 void SyncPlayerMsg::Load(class SyncPlayerMsg * const this /* r31 */) { // Local variables unsigned char playerNum; // r1+0x8 } // Range: 0x8053CD20 -> 0x8053CD30 void SyncPlayerMsg::Dispatch(class SyncPlayerMsg * const this /* r4 */) { // References // -> class SyncStore * TheSyncStore; } // Range: 0x8053CD30 -> 0x8053CD38 void SyncAllMsg::Dispatch() { // References // -> class SyncStore * TheSyncStore; } struct { // total size: 0x28 } __vt__10SyncAllMsg; // size: 0x28, address: 0x80908348 struct { // total size: 0x8 } __RTTI__10SyncAllMsg; // size: 0x8, address: 0x80908388 struct { // total size: 0x28 } __vt__13SyncPlayerMsg; // size: 0x28, address: 0x80908390 struct { // total size: 0x8 } __RTTI__13SyncPlayerMsg; // size: 0x8, address: 0x809083D8 struct { // total size: 0x28 } __vt__10SyncObjMsg; // size: 0x28, address: 0x809083E0 struct { // total size: 0x8 } __RTTI__10SyncObjMsg; // size: 0x8, address: 0x80908420 struct { // total size: 0x8 } __RTTI__PP14Synchronizable; // size: 0x8, address: 0x80908440 /* Compile unit: C:\rockband2\system\src\net\SyncStore.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053CD38 -> 0x8053CFBC */ // Range: 0x8053CD38 -> 0x8053CD94 class NetMessage * SyncObjMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__10SyncObjMsg; } // Range: 0x8053CD94 -> 0x8053CDCC class NetMessage * SyncPlayerMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__13SyncPlayerMsg; } // Range: 0x8053CDCC -> 0x8053CE04 class NetMessage * SyncAllMsg::NewNetMessage() { // References // -> struct [anonymous] __vt__10SyncAllMsg; } // Range: 0x8053CE04 -> 0x8053CE08 void SyncAllMsg::Load() {} // Range: 0x8053CE08 -> 0x8053CE0C void SyncAllMsg::Save() {} // Range: 0x8053CE0C -> 0x8053CE40 char * SyncAllMsg::Name() {} // Range: 0x8053CE40 -> 0x8053CE9C unsigned char SyncAllMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053CE9C -> 0x8053CED0 char * SyncPlayerMsg::Name() {} // Range: 0x8053CED0 -> 0x8053CF2C unsigned char SyncPlayerMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } // Range: 0x8053CF2C -> 0x8053CF60 char * SyncObjMsg::Name() {} // Range: 0x8053CF60 -> 0x8053CFBC unsigned char SyncObjMsg::ByteCode() { // References // -> class NetMessageFactory TheNetMessageFactory; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053CFBC -> 0x8053D01C */ // Range: 0x8053CFBC -> 0x8053D01C char * MakeString(const char * fmt /* r0 */, class String & t1 /* r30 */, unsigned int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053D01C -> 0x8053D154 */ // Range: 0x8053D01C -> 0x8053D154 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Synchronizable * * __pos /* r28 */, class Synchronizable * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Synchronizable * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14Synchronizable; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\net\QuazalSession.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053D154 -> 0x8053DE44 */ class NetZ * mTerminatingNetZ; // size: 0x4, address: 0x80A53E18 class CallContext * mTerminatingContext; // size: 0x4, address: 0x80A53E1C // Range: 0x8053D154 -> 0x8053D310 void * QuazalSession::QuazalSession(class QuazalSession * const this /* r29 */, unsigned char hosting /* r30 */) { // Local variables unsigned char networked; // r0 unsigned char success; // r3 char strError[256]; // r1+0x8 // References // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__12NetZCallback; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class CallContext * mTerminatingContext; } // Range: 0x8053D310 -> 0x8053D404 void * QuazalSession::~QuazalSession(class QuazalSession * const this /* r30 */) { // References // -> class NetMessenger TheNetMessenger; // -> class NetZ * mTerminatingNetZ; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class CallContext * mTerminatingContext; } // Range: 0x8053D49C -> 0x8053D520 void QuazalSession::Poll() { // References // -> class NetZ * mTerminatingNetZ; // -> class CallContext * mTerminatingContext; } // Range: 0x8053D520 -> 0x8053D534 unsigned char QuazalSession::StillDeleting() { // References // -> class CallContext * mTerminatingContext; } // Range: 0x8053D534 -> 0x8053D5A4 unsigned char QuazalSession::HasHostLeft(class QuazalSession * const this /* r30 */) { // Local variables unsigned char hostLeft; // r31 } // Range: 0x8053D5A4 -> 0x8053D6C8 unsigned char QuazalSession::HaveClientsLeft(class QuazalSession * const this /* r30 */, class vector & clientsLeft /* r31 */) { // Local variables unsigned char empty; // r28 int * it; // r27 } // Range: 0x8053D6C8 -> 0x8053DA7C void QuazalSession::CancelJoinSession() { // Local variables class ScopedCS oCS; // r1+0x38 class SelectionIteratorTemplate itStations; // r1+0x40 // References // -> unsigned int s_uiClassID; // -> unsigned char s_bNoOp; // -> class InstanceTable s_oInstanceTable; } // Range: 0x8053DA7C -> 0x8053DB78 void * MakeQuazalSessionJob::MakeQuazalSessionJob(class MakeQuazalSessionJob * const this /* r29 */, class QuazalSession * * address /* r30 */) { // References // -> class NetSession * TheNetSession; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__20MakeQuazalSessionJob; } // Range: 0x8053DB78 -> 0x8053DC94 unsigned char MakeQuazalSessionJob::IsFinished(class MakeQuazalSessionJob * const this /* r31 */) { // Local variables class list users; // r1+0x28 struct _List_iterator it; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSession * TheNetSession; } // Range: 0x8053DC94 -> 0x8053DCF8 void MakeQuazalSessionJob::Cancel() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetSession * TheNetSession; } class NetZCallback : public OperationCallback { // total size: 0x34 public: unsigned char mHostLeft; // offset 0x8, size 0x1 class vector mClientsLeft; // offset 0xC, size 0xC class CriticalSection mCritSection; // offset 0x18, size 0x1C }; // Range: 0x8053DCF8 -> 0x8053DE44 void NetZCallback::CallMethod(class NetZCallback * const this /* r31 */, class Operation * pOperation /* r30 */) { // Local variables class ChangeMasterStationOperation * pOp; // r0 class RemoveFromStoreOperation * pOp; // r0 class Station * station; // r30 // References // -> unsigned int s_uiClassID; // -> unsigned int s_uiClassID; } struct { // total size: 0x10 } __vt__12NetZCallback; // size: 0x10, address: 0x809085A0 struct { // total size: 0x8 } __RTTI__12NetZCallback; // size: 0x8, address: 0x809085D8 struct { // total size: 0x1C } __vt__20MakeQuazalSessionJob; // size: 0x1C, address: 0x809085E0 struct { // total size: 0x8 } __RTTI__20MakeQuazalSessionJob; // size: 0x8, address: 0x80908620 struct { // total size: 0x10 } __vt__Q26Quazal17OperationCallback; // size: 0x10, address: 0x80908630 struct { // total size: 0x8 } __RTTI__Q26Quazal17OperationCallback; // size: 0x8, address: 0x80908668 unsigned int s_uiClassID; // size: 0x4, address: 0x80A55FE8 /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Core\OperationManager.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8053DE44 -> 0x8053DE84 */ // Range: 0x8053DE44 -> 0x8053DE84 void * OperationCallback::~OperationCallback(class OperationCallback * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\oggvorbis\analysis.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8053DE84 -> 0x8053DE84 */ struct vorbis_info { // total size: 0x20 int version; // offset 0x0, size 0x4 int channels; // offset 0x4, size 0x4 long rate; // offset 0x8, size 0x4 long bitrate_upper; // offset 0xC, size 0x4 long bitrate_nominal; // offset 0x10, size 0x4 long bitrate_lower; // offset 0x14, size 0x4 long bitrate_window; // offset 0x18, size 0x4 void * codec_setup; // offset 0x1C, size 0x4 }; struct vorbis_dsp_state { // total size: 0x70 int analysisp; // offset 0x0, size 0x4 struct vorbis_info * vi; // offset 0x4, size 0x4 float * * pcm; // offset 0x8, size 0x4 float * * pcmret; // offset 0xC, size 0x4 int pcm_storage; // offset 0x10, size 0x4 int pcm_current; // offset 0x14, size 0x4 int pcm_returned; // offset 0x18, size 0x4 int preextrapolate; // offset 0x1C, size 0x4 int eofflag; // offset 0x20, size 0x4 long lW; // offset 0x24, size 0x4 long W; // offset 0x28, size 0x4 long nW; // offset 0x2C, size 0x4 long centerW; // offset 0x30, size 0x4 long long granulepos; // offset 0x38, size 0x8 long long sequence; // offset 0x40, size 0x8 long long glue_bits; // offset 0x48, size 0x8 long long time_bits; // offset 0x50, size 0x8 long long floor_bits; // offset 0x58, size 0x8 long long res_bits; // offset 0x60, size 0x8 void * backend_state; // offset 0x68, size 0x4 }; struct alloc_chain { // total size: 0x8 void * ptr; // offset 0x0, size 0x4 struct alloc_chain * next; // offset 0x4, size 0x4 }; enum /* @enum$588analysis_c */ { vss_init = 0, vss_decode = 1, vss_mdct = 2, }; struct vorbis_block { // total size: 0x70 float * * pcm; // offset 0x0, size 0x4 struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } opb; // offset 0x4, size 0x14 long lW; // offset 0x18, size 0x4 long W; // offset 0x1C, size 0x4 long nW; // offset 0x20, size 0x4 int pcmend; // offset 0x24, size 0x4 int mode; // offset 0x28, size 0x4 int eofflag; // offset 0x2C, size 0x4 long long granulepos; // offset 0x30, size 0x8 long long sequence; // offset 0x38, size 0x8 struct vorbis_dsp_state * vd; // offset 0x40, size 0x4 void * localstore; // offset 0x44, size 0x4 long localtop; // offset 0x48, size 0x4 long localalloc; // offset 0x4C, size 0x4 long totaluse; // offset 0x50, size 0x4 struct alloc_chain * reap; // offset 0x54, size 0x4 long glue_bits; // offset 0x58, size 0x4 long time_bits; // offset 0x5C, size 0x4 long floor_bits; // offset 0x60, size 0x4 long res_bits; // offset 0x64, size 0x4 void * internal; // offset 0x68, size 0x4 enum /* @enum$588analysis_c */ { vss_init = 0, vss_decode = 1, vss_mdct = 2, } synthesis_state; // offset 0x6C, size 0x4 }; struct _FILE { // total size: 0x50 unsigned long handle; // offset 0x0, size 0x4 struct { // total size: 0x4 unsigned int open_mode : 2; // offset 0x0, size 0x4 unsigned int io_mode : 3; // offset 0x0, size 0x4 unsigned int buffer_mode : 2; // offset 0x0, size 0x4 unsigned int file_kind : 3; // offset 0x0, size 0x4 unsigned int file_orientation : 2; // offset 0x0, size 0x4 unsigned int binary_io : 1; // offset 0x0, size 0x4 } mode; // offset 0x4, size 0x4 struct { // total size: 0x4 unsigned int io_state : 3; // offset 0x0, size 0x4 unsigned int free_buffer : 1; // offset 0x0, size 0x4 unsigned char eof; // offset 0x1, size 0x1 unsigned char error; // offset 0x2, size 0x1 } state; // offset 0x8, size 0x4 unsigned char is_dynamically_allocated; // offset 0xC, size 0x1 unsigned char char_buffer; // offset 0xD, size 0x1 unsigned char char_buffer_overflow; // offset 0xE, size 0x1 unsigned char ungetc_buffer[2]; // offset 0xF, size 0x2 unsigned short ungetwc_buffer[2]; // offset 0x12, size 0x4 unsigned long position; // offset 0x18, size 0x4 unsigned char * buffer; // offset 0x1C, size 0x4 unsigned long buffer_size; // offset 0x20, size 0x4 unsigned char * buffer_ptr; // offset 0x24, size 0x4 unsigned long buffer_len; // offset 0x28, size 0x4 unsigned long buffer_alignment; // offset 0x2C, size 0x4 unsigned long saved_buffer_len; // offset 0x30, size 0x4 unsigned long buffer_pos; // offset 0x34, size 0x4 int (* position_proc)(unsigned long, unsigned long *, int, void *); // offset 0x38, size 0x4 int (* read_proc)(unsigned long, unsigned char *, unsigned long *, void *); // offset 0x3C, size 0x4 int (* write_proc)(unsigned long, unsigned char *, unsigned long *, void *); // offset 0x40, size 0x4 int (* close_proc)(unsigned long); // offset 0x44, size 0x4 void * ref_con; // offset 0x48, size 0x4 struct _FILE * next_file_struct; // offset 0x4C, size 0x4 }; /* Compile unit: C:\rockband2\system\src\oggvorbis\barkmel.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8053DE84 -> 0x8053DE84 */ struct _FILE __files[]; // size: 0x0, address: 0x809302C8 /* Compile unit: C:\rockband2\system\src\oggvorbis\bitrate.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8053DE84 -> 0x8053DFA8 */ struct bitrate_manager_state { // total size: 0x68 unsigned int * queue_binned; // offset 0x0, size 0x4 unsigned int * queue_actual; // offset 0x4, size 0x4 int queue_size; // offset 0x8, size 0x4 int queue_head; // offset 0xC, size 0x4 int queue_bins; // offset 0x10, size 0x4 long * avg_binacc; // offset 0x14, size 0x4 int avg_center; // offset 0x18, size 0x4 int avg_tail; // offset 0x1C, size 0x4 unsigned int avg_centeracc; // offset 0x20, size 0x4 unsigned int avg_sampleacc; // offset 0x24, size 0x4 unsigned int avg_sampledesired; // offset 0x28, size 0x4 unsigned int avg_centerdesired; // offset 0x2C, size 0x4 long * minmax_binstack; // offset 0x30, size 0x4 long * minmax_posstack; // offset 0x34, size 0x4 long * minmax_limitstack; // offset 0x38, size 0x4 long minmax_stackptr; // offset 0x3C, size 0x4 long minmax_acctotal; // offset 0x40, size 0x4 int minmax_tail; // offset 0x44, size 0x4 unsigned int minmax_sampleacc; // offset 0x48, size 0x4 unsigned int minmax_sampledesired; // offset 0x4C, size 0x4 int next_to_flush; // offset 0x50, size 0x4 int last_to_flush; // offset 0x54, size 0x4 double avgfloat; // offset 0x58, size 0x8 struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * packetbuffers; // offset 0x60, size 0x4 struct { // total size: 0x20 unsigned char * packet; // offset 0x0, size 0x4 long bytes; // offset 0x4, size 0x4 long b_o_s; // offset 0x8, size 0x4 long e_o_s; // offset 0xC, size 0x4 long long granulepos; // offset 0x10, size 0x8 long long packetno; // offset 0x18, size 0x8 } * packets; // offset 0x64, size 0x4 }; struct encode_aux_nearestmatch { // total size: 0x18 long * ptr0; // offset 0x0, size 0x4 long * ptr1; // offset 0x4, size 0x4 long * p; // offset 0x8, size 0x4 long * q; // offset 0xC, size 0x4 long aux; // offset 0x10, size 0x4 long alloc; // offset 0x14, size 0x4 }; struct encode_aux_threshmatch { // total size: 0x10 float * quantthresh; // offset 0x0, size 0x4 long * quantmap; // offset 0x4, size 0x4 int quantvals; // offset 0x8, size 0x4 int threshvals; // offset 0xC, size 0x4 }; struct encode_aux_pigeonhole { // total size: 0x24 float min; // offset 0x0, size 0x4 float del; // offset 0x4, size 0x4 int mapentries; // offset 0x8, size 0x4 int quantvals; // offset 0xC, size 0x4 long * pigeonmap; // offset 0x10, size 0x4 long fittotal; // offset 0x14, size 0x4 long * fitlist; // offset 0x18, size 0x4 long * fitmap; // offset 0x1C, size 0x4 long * fitlength; // offset 0x20, size 0x4 }; struct static_codebook { // total size: 0x34 long dim; // offset 0x0, size 0x4 long entries; // offset 0x4, size 0x4 long * lengthlist; // offset 0x8, size 0x4 int maptype; // offset 0xC, size 0x4 long q_min; // offset 0x10, size 0x4 long q_delta; // offset 0x14, size 0x4 int q_quant; // offset 0x18, size 0x4 int q_sequencep; // offset 0x1C, size 0x4 long * quantlist; // offset 0x20, size 0x4 struct encode_aux_nearestmatch * nearest_tree; // offset 0x24, size 0x4 struct encode_aux_threshmatch * thresh_tree; // offset 0x28, size 0x4 struct encode_aux_pigeonhole * pigeon_tree; // offset 0x2C, size 0x4 int allocedp; // offset 0x30, size 0x4 }; struct codebook { // total size: 0x2C long dim; // offset 0x0, size 0x4 long entries; // offset 0x4, size 0x4 long used_entries; // offset 0x8, size 0x4 const struct static_codebook * c; // offset 0xC, size 0x4 float * valuelist; // offset 0x10, size 0x4 unsigned int * codelist; // offset 0x14, size 0x4 int * dec_index; // offset 0x18, size 0x4 char * dec_codelengths; // offset 0x1C, size 0x4 unsigned int * dec_firsttable; // offset 0x20, size 0x4 int dec_firsttablen; // offset 0x24, size 0x4 int dec_maxlength; // offset 0x28, size 0x4 }; struct vorbis_info_psy { // total size: 0x210 int blockflag; // offset 0x0, size 0x4 float ath_adjatt; // offset 0x4, size 0x4 float ath_maxatt; // offset 0x8, size 0x4 float tone_masteratt[3]; // offset 0xC, size 0xC float tone_centerboost; // offset 0x18, size 0x4 float tone_decay; // offset 0x1C, size 0x4 float tone_abs_limit; // offset 0x20, size 0x4 float toneatt[17]; // offset 0x24, size 0x44 int noisemaskp; // offset 0x68, size 0x4 float noisemaxsupp; // offset 0x6C, size 0x4 float noisewindowlo; // offset 0x70, size 0x4 float noisewindowhi; // offset 0x74, size 0x4 int noisewindowlomin; // offset 0x78, size 0x4 int noisewindowhimin; // offset 0x7C, size 0x4 int noisewindowfixed; // offset 0x80, size 0x4 float noiseoff[3][17]; // offset 0x84, size 0xCC float noisecompand[40]; // offset 0x150, size 0xA0 float max_curve_dB; // offset 0x1F0, size 0x4 int normal_channel_p; // offset 0x1F4, size 0x4 int normal_point_p; // offset 0x1F8, size 0x4 int normal_start; // offset 0x1FC, size 0x4 int normal_partition; // offset 0x200, size 0x4 double normal_thresh; // offset 0x208, size 0x8 }; struct bitrate_manager_info { // total size: 0x48 double queue_avg_time; // offset 0x0, size 0x8 double queue_avg_center; // offset 0x8, size 0x8 double queue_minmax_time; // offset 0x10, size 0x8 double queue_hardmin; // offset 0x18, size 0x8 double queue_hardmax; // offset 0x20, size 0x8 double queue_avgmin; // offset 0x28, size 0x8 double queue_avgmax; // offset 0x30, size 0x8 double avgfloat_downslew_max; // offset 0x38, size 0x8 double avgfloat_upslew_max; // offset 0x40, size 0x8 }; struct highlevel_byblocktype { // total size: 0x20 double tone_mask_setting; // offset 0x0, size 0x8 double tone_peaklimit_setting; // offset 0x8, size 0x8 double noise_bias_setting; // offset 0x10, size 0x8 double noise_compand_setting; // offset 0x18, size 0x8 }; struct highlevel_encode_setup { // total size: 0x110 void * setup; // offset 0x0, size 0x4 int set_in_stone; // offset 0x4, size 0x4 double base_setting; // offset 0x8, size 0x8 double long_setting; // offset 0x10, size 0x8 double short_setting; // offset 0x18, size 0x8 double impulse_noisetune; // offset 0x20, size 0x8 int managed; // offset 0x28, size 0x4 long bitrate_min; // offset 0x2C, size 0x4 long bitrate_av_lo; // offset 0x30, size 0x4 long bitrate_av_hi; // offset 0x34, size 0x4 long bitrate_max; // offset 0x38, size 0x4 double bitrate_limit_window; // offset 0x40, size 0x8 double bitrate_av_window; // offset 0x48, size 0x8 double bitrate_av_window_center; // offset 0x50, size 0x8 int impulse_block_p; // offset 0x58, size 0x4 int noise_normalize_p; // offset 0x5C, size 0x4 double stereo_point_setting; // offset 0x60, size 0x8 double lowpass_kHz; // offset 0x68, size 0x8 double ath_floating_dB; // offset 0x70, size 0x8 double ath_absolute_dB; // offset 0x78, size 0x8 double amplitude_track_dBpersec; // offset 0x80, size 0x8 double trigger_setting; // offset 0x88, size 0x8 struct highlevel_byblocktype block[4]; // offset 0x90, size 0x80 }; struct codec_setup_info { // total size: 0xE80 long blocksizes[2]; // offset 0x0, size 0x8 int modes; // offset 0x8, size 0x4 int maps; // offset 0xC, size 0x4 int floors; // offset 0x10, size 0x4 int residues; // offset 0x14, size 0x4 int books; // offset 0x18, size 0x4 int psys; // offset 0x1C, size 0x4 struct { // total size: 0x10 int blockflag; // offset 0x0, size 0x4 int windowtype; // offset 0x4, size 0x4 int transformtype; // offset 0x8, size 0x4 int mapping; // offset 0xC, size 0x4 } * mode_param[64]; // offset 0x20, size 0x100 int map_type[64]; // offset 0x120, size 0x100 void * map_param[64]; // offset 0x220, size 0x100 int floor_type[64]; // offset 0x320, size 0x100 void * floor_param[64]; // offset 0x420, size 0x100 int residue_type[64]; // offset 0x520, size 0x100 void * residue_param[64]; // offset 0x620, size 0x100 struct static_codebook * book_param[256]; // offset 0x720, size 0x400 struct codebook * fullbooks; // offset 0xB20, size 0x4 struct vorbis_info_psy * psy_param[4]; // offset 0xB24, size 0x10 struct { // total size: 0x1EC int eighth_octave_lines; // offset 0x0, size 0x4 float preecho_thresh[7]; // offset 0x4, size 0x1C float postecho_thresh[7]; // offset 0x20, size 0x1C float stretch_penalty; // offset 0x3C, size 0x4 float preecho_minenergy; // offset 0x40, size 0x4 float ampmax_att_per_sec; // offset 0x44, size 0x4 int coupling_pkHz[15]; // offset 0x48, size 0x3C int coupling_pointlimit[2][15]; // offset 0x84, size 0x78 int coupling_prepointamp[15]; // offset 0xFC, size 0x3C int coupling_postpointamp[15]; // offset 0x138, size 0x3C int sliding_lowpass[2][15]; // offset 0x174, size 0x78 } psy_g_param; // offset 0xB34, size 0x1EC struct bitrate_manager_info bi; // offset 0xD20, size 0x48 struct highlevel_encode_setup hi; // offset 0xD68, size 0x110 int halfrate_flag; // offset 0xE78, size 0x4 }; // Range: 0x8053DE84 -> 0x8053DF8C void vorbis_bitrate_clear(struct bitrate_manager_state * bm /* r30 */) { // Local variables int i; // r31 } // Range: 0x8053DF8C -> 0x8053DFA8 int vorbis_bitrate_managed() {} struct vorbis_block_internal { // total size: 0x48 float * * pcmdelay; // offset 0x0, size 0x4 float ampmax; // offset 0x4, size 0x4 int blocktype; // offset 0x8, size 0x4 unsigned int packetblob_markers[15]; // offset 0xC, size 0x3C }; /* Compile unit: C:\rockband2\system\src\oggvorbis\bitwise.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8053DFA8 -> 0x8053E40C */ static unsigned long mask[33]; // size: 0x84, address: 0x809086C0 // Range: 0x8053DFA8 -> 0x8053DFFC void oggpack_writeinit(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r31 */) {} // Range: 0x8053DFFC -> 0x8053E158 void oggpack_write(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r29 */, unsigned long value /* r30 */, int bits /* r31 */) { // References // -> static unsigned long mask[33]; } // Range: 0x8053E158 -> 0x8053E174 void oggpack_writealign() { // Local variables int bits; // r5 } // Range: 0x8053E174 -> 0x8053E1B4 void oggpack_writeclear(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r31 */) {} // Range: 0x8053E1B4 -> 0x8053E20C void oggpack_readinit(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r29 */, unsigned char * buf /* r30 */, int bytes /* r31 */) {} // Range: 0x8053E20C -> 0x8053E2D0 long oggpack_look(int bits /* r8 */) { // Local variables unsigned long ret; // r5 unsigned long m; // r7 // References // -> static unsigned long mask[33]; } // Range: 0x8053E2D0 -> 0x8053E304 void oggpack_adv(int bits /* r5 */) {} // Range: 0x8053E304 -> 0x8053E3F0 long oggpack_read(int bits /* r4 */) { // Local variables unsigned long ret; // r0 unsigned long m; // r9 // References // -> static unsigned long mask[33]; } // Range: 0x8053E3F0 -> 0x8053E40C long oggpack_bytes() {} /* Compile unit: C:\rockband2\system\src\oggvorbis\block.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8053E40C -> 0x8053F514 */ // Range: 0x8053E40C -> 0x8053E438 static int ilog2() { // Local variables int ret; // r4 } // Range: 0x8053E438 -> 0x8053E4C8 int vorbis_block_init(struct vorbis_dsp_state * v /* r31 */, struct vorbis_block * vb /* r30 */) { // Local variables struct vorbis_block_internal * vbi; // r0 } // Range: 0x8053E4C8 -> 0x8053E578 void * _vorbis_block_alloc(struct vorbis_block * vb /* r30 */, long bytes /* r31 */) { // Local variables struct alloc_chain * link; // r0 void * ret; // r0 } // Range: 0x8053E578 -> 0x8053E62C void _vorbis_block_ripcord(struct vorbis_block * vb /* r29 */) { // Local variables struct alloc_chain * reap; // r31 struct alloc_chain * next; // r30 } // Range: 0x8053E62C -> 0x8053E6B0 int vorbis_block_clear(struct vorbis_block * vb /* r31 */) {} struct private_state { // total size: 0xC0 struct { // total size: 0xB8 int ch; // offset 0x0, size 0x4 int winlength; // offset 0x4, size 0x4 int searchstep; // offset 0x8, size 0x4 float minenergy; // offset 0xC, size 0x4 struct { // total size: 0x18 int n; // offset 0x0, size 0x4 int log2n; // offset 0x4, size 0x4 float * trig; // offset 0x8, size 0x4 float * trig2; // offset 0xC, size 0x4 int * bitrev; // offset 0x10, size 0x4 float scale; // offset 0x14, size 0x4 } mdct; // offset 0x10, size 0x18 float * mdct_win; // offset 0x28, size 0x4 struct { // total size: 0x10 int begin; // offset 0x0, size 0x4 int end; // offset 0x4, size 0x4 float * window; // offset 0x8, size 0x4 float total; // offset 0xC, size 0x4 } band[7]; // offset 0x2C, size 0x70 struct { // total size: 0x90 float ampbuf[17]; // offset 0x0, size 0x44 int ampptr; // offset 0x44, size 0x4 float nearDC[15]; // offset 0x48, size 0x3C float nearDC_acc; // offset 0x84, size 0x4 float nearDC_partialacc; // offset 0x88, size 0x4 int nearptr; // offset 0x8C, size 0x4 } * filter; // offset 0x9C, size 0x4 int stretch; // offset 0xA0, size 0x4 int * mark; // offset 0xA4, size 0x4 long storage; // offset 0xA8, size 0x4 long current; // offset 0xAC, size 0x4 long curmark; // offset 0xB0, size 0x4 long cursor; // offset 0xB4, size 0x4 } * ve; // offset 0x0, size 0x4 int window[2]; // offset 0x4, size 0x8 void * transform[2]; // offset 0xC, size 0x8 struct { // total size: 0xC int n; // offset 0x0, size 0x4 float * trigcache; // offset 0x4, size 0x4 int * splitcache; // offset 0x8, size 0x4 } fft_look[2]; // offset 0x14, size 0x18 int modebits; // offset 0x2C, size 0x4 void * flr; // offset 0x30, size 0x4 void * residue; // offset 0x34, size 0x4 struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * psy; // offset 0x38, size 0x4 struct { // total size: 0x24 float ampmax; // offset 0x0, size 0x4 int channels; // offset 0x4, size 0x4 struct { // total size: 0x1EC int eighth_octave_lines; // offset 0x0, size 0x4 float preecho_thresh[7]; // offset 0x4, size 0x1C float postecho_thresh[7]; // offset 0x20, size 0x1C float stretch_penalty; // offset 0x3C, size 0x4 float preecho_minenergy; // offset 0x40, size 0x4 float ampmax_att_per_sec; // offset 0x44, size 0x4 int coupling_pkHz[15]; // offset 0x48, size 0x3C int coupling_pointlimit[2][15]; // offset 0x84, size 0x78 int coupling_prepointamp[15]; // offset 0xFC, size 0x3C int coupling_postpointamp[15]; // offset 0x138, size 0x3C int sliding_lowpass[2][15]; // offset 0x174, size 0x78 } * gi; // offset 0x8, size 0x4 int coupling_pointlimit[2][3]; // offset 0xC, size 0x18 } * psy_g_look; // offset 0x3C, size 0x4 unsigned char * header; // offset 0x40, size 0x4 unsigned char * header1; // offset 0x44, size 0x4 unsigned char * header2; // offset 0x48, size 0x4 struct bitrate_manager_state bms; // offset 0x50, size 0x68 long long sample_count; // offset 0xB8, size 0x8 }; // Range: 0x8053E6B0 -> 0x8053EA40 static int _vds_shared_init(struct vorbis_dsp_state * v /* r27 */, struct vorbis_info * vi /* r28 */, int encp /* r30 */) { // Local variables int i; // r30 struct codec_setup_info * ci; // r29 struct private_state * b; // r0 int hs; // r26 int i; // r26 // References // -> struct [anonymous] * _residue_P[3]; // -> struct [anonymous] * _floor_P[2]; } // Range: 0x8053EA40 -> 0x8053ECC4 void vorbis_dsp_clear(struct vorbis_dsp_state * v /* r27 */) { // Local variables int i; // r31 struct vorbis_info * vi; // r30 struct codec_setup_info * ci; // r29 struct private_state * b; // r28 // References // -> struct [anonymous] * _residue_P[3]; // -> struct [anonymous] * _floor_P[2]; } // Range: 0x8053ECC4 -> 0x8053ED4C int vorbis_synthesis_restart() { // Local variables struct vorbis_info * vi; // r4 struct codec_setup_info * ci; // r4 int hs; // r6 } // Range: 0x8053ED4C -> 0x8053ED98 int vorbis_synthesis_init(struct vorbis_dsp_state * v /* r31 */) {} // Range: 0x8053ED98 -> 0x8053F460 int vorbis_synthesis_blockin(struct vorbis_dsp_state * v /* r20 */, struct vorbis_block * vb /* r21 */) { // Local variables struct vorbis_info * vi; // r31 struct codec_setup_info * ci; // r30 struct private_state * b; // r29 int hs; // r28 int i; // r6 int j; // r27 int n; // r26 int n0; // r25 int n1; // r24 int thisCenter; // r23 int prevCenter; // r22 float * w; // r0 float * pcm; // r7 float * p; // r8 float * w; // r0 float * pcm; // r7 float * p; // r8 float * w; // r0 float * pcm; // r7 float * p; // r10 float * w; // r0 float * pcm; // r7 float * p; // r8 float * pcm; // r5 float * p; // r3 long extra; // r0 } // Range: 0x8053F460 -> 0x8053F4DC int vorbis_synthesis_pcmout() { // Local variables struct vorbis_info * vi; // r7 int i; // r8 } // Range: 0x8053F4DC -> 0x8053F514 int vorbis_synthesis_read() {} /* Compile unit: C:\rockband2\system\src\oggvorbis\codebook.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8053F514 -> 0x8053FF98 */ // Range: 0x8053F514 -> 0x8053F840 int vorbis_staticbook_unpack(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r29 */, struct static_codebook * s /* r30 */) { // Local variables long i; // r31 long j; // r5 long num; // r0 long num; // r0 long length; // r28 long num; // r0 int quantvals; // r28 } // Range: 0x8053F840 -> 0x8053F89C int vorbis_book_encode(struct codebook * book /* r30 */) {} // Range: 0x8053F89C -> 0x8053F920 static unsigned int bitreverse(unsigned int x /* r6 */) {} // Range: 0x8053F920 -> 0x8053FA80 static long decode_packed_entry_number(struct codebook * book /* r28 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r29 */) { // Local variables int read; // r31 long lo; // r30 long hi; // r27 long lok; // r3 long entry; // r27 unsigned int testword; // r0 long p; // r5 long test; // r4 } // Range: 0x8053FA80 -> 0x8053FAC0 long vorbis_book_decode(struct codebook * book /* r31 */) { // Local variables long packed_entry; // r0 } // Range: 0x8053FAC0 -> 0x8053FBE8 long vorbis_book_decodevs_add(struct codebook * book /* r24 */, float * a /* r25 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r26 */) { // Local variables int step; // r30 long * entry; // r29 float * * t; // r28 int i; // r27 int j; // r5 int o; // r6 } // Range: 0x8053FBE8 -> 0x8053FE0C long vorbis_book_decodev_add(struct codebook * book /* r27 */, float * a /* r28 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r29 */, int n /* r30 */) { // Local variables int i; // r31 int j; // r3 int entry; // r0 float * t; // r4 } // Range: 0x8053FE0C -> 0x8053FEB8 long vorbis_book_decodev_set(struct codebook * book /* r27 */, float * a /* r28 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r29 */, int n /* r30 */) { // Local variables int i; // r31 int j; // r3 int entry; // r0 float * t; // r4 } // Range: 0x8053FEB8 -> 0x8053FF98 long vorbis_book_decodevv_add(struct codebook * book /* r24 */, float * * a /* r25 */, long offset /* r26 */, int ch /* r27 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * b /* r28 */, int n /* r29 */) { // Local variables long i; // r31 long j; // r5 long entry; // r0 int chptr; // r30 const float * t; // r6 } /* Compile unit: C:\rockband2\system\src\oggvorbis\envelope.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8053FF98 -> 0x8054001C */ // Range: 0x8053FF98 -> 0x8054001C void _ve_envelope_clear(struct { // total size: 0xB8 int ch; // offset 0x0, size 0x4 int winlength; // offset 0x4, size 0x4 int searchstep; // offset 0x8, size 0x4 float minenergy; // offset 0xC, size 0x4 struct { // total size: 0x18 int n; // offset 0x0, size 0x4 int log2n; // offset 0x4, size 0x4 float * trig; // offset 0x8, size 0x4 float * trig2; // offset 0xC, size 0x4 int * bitrev; // offset 0x10, size 0x4 float scale; // offset 0x14, size 0x4 } mdct; // offset 0x10, size 0x18 float * mdct_win; // offset 0x28, size 0x4 struct { // total size: 0x10 int begin; // offset 0x0, size 0x4 int end; // offset 0x4, size 0x4 float * window; // offset 0x8, size 0x4 float total; // offset 0xC, size 0x4 } band[7]; // offset 0x2C, size 0x70 struct { // total size: 0x90 float ampbuf[17]; // offset 0x0, size 0x44 int ampptr; // offset 0x44, size 0x4 float nearDC[15]; // offset 0x48, size 0x3C float nearDC_acc; // offset 0x84, size 0x4 float nearDC_partialacc; // offset 0x88, size 0x4 int nearptr; // offset 0x8C, size 0x4 } * filter; // offset 0x9C, size 0x4 int stretch; // offset 0xA0, size 0x4 int * mark; // offset 0xA4, size 0x4 long storage; // offset 0xA8, size 0x4 long current; // offset 0xAC, size 0x4 long curmark; // offset 0xB0, size 0x4 long cursor; // offset 0xB4, size 0x4 } * e /* r30 */) { // Local variables int i; // r31 } /* Compile unit: C:\rockband2\system\src\oggvorbis\floor0.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8054001C -> 0x80540844 */ // Range: 0x8054001C -> 0x80540060 static void floor0_free_info() { // Local variables struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * info; // r31 } // Range: 0x80540060 -> 0x805400E0 static void floor0_free_look() { // Local variables struct { // total size: 0x20 int ln; // offset 0x0, size 0x4 int m; // offset 0x4, size 0x4 int * * linearmap; // offset 0x8, size 0x4 int n[2]; // offset 0xC, size 0x8 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * vi; // offset 0x14, size 0x4 long bits; // offset 0x18, size 0x4 long frames; // offset 0x1C, size 0x4 } * look; // r31 } // Range: 0x805400E0 -> 0x8054020C static void * floor0_unpack(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r27 */) { // Local variables struct codec_setup_info * ci; // r30 int j; // r29 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * info; // r28 } // Range: 0x8054020C -> 0x80540528 static void floor0_map_lazy_init(void * infoX /* r26 */, struct { // total size: 0x20 int ln; // offset 0x0, size 0x4 int m; // offset 0x4, size 0x4 int * * linearmap; // offset 0x8, size 0x4 int n[2]; // offset 0xC, size 0x8 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * vi; // offset 0x14, size 0x4 long bits; // offset 0x18, size 0x4 long frames; // offset 0x1C, size 0x4 } * look /* r27 */) { // Local variables struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * info; // r0 int W; // r0 int n; // r29 int j; // r28 float scale; // f31 int val; // r4 } // Range: 0x80540528 -> 0x80540590 static void * floor0_look(void * i /* r30 */) { // Local variables struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * info; // r0 struct { // total size: 0x20 int ln; // offset 0x0, size 0x4 int m; // offset 0x4, size 0x4 int * * linearmap; // offset 0x8, size 0x4 int n[2]; // offset 0xC, size 0x8 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * vi; // offset 0x14, size 0x4 long bits; // offset 0x18, size 0x4 long frames; // offset 0x1C, size 0x4 } * look; // r31 } // Range: 0x80540590 -> 0x8054076C static void * floor0_inverse1(struct vorbis_block * vb /* r29 */, void * i /* r30 */) { // Local variables struct { // total size: 0x20 int ln; // offset 0x0, size 0x4 int m; // offset 0x4, size 0x4 int * * linearmap; // offset 0x8, size 0x4 int n[2]; // offset 0xC, size 0x8 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * vi; // offset 0x14, size 0x4 long bits; // offset 0x18, size 0x4 long frames; // offset 0x1C, size 0x4 } * look; // r0 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * info; // r31 int j; // r31 int k; // r3 int ampraw; // r0 float amp; // f31 int booknum; // r0 struct codebook * b; // r28 float last; // f30 float * lsp; // r27 } // Range: 0x8054076C -> 0x80540844 static int floor0_inverse2(struct vorbis_block * vb /* r27 */, void * memo /* r28 */, float * out /* r29 */) { // Local variables struct { // total size: 0x20 int ln; // offset 0x0, size 0x4 int m; // offset 0x4, size 0x4 int * * linearmap; // offset 0x8, size 0x4 int n[2]; // offset 0xC, size 0x8 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * vi; // offset 0x14, size 0x4 long bits; // offset 0x18, size 0x4 long frames; // offset 0x1C, size 0x4 } * look; // r31 struct { // total size: 0x60 int order; // offset 0x0, size 0x4 long rate; // offset 0x4, size 0x4 long barkmap; // offset 0x8, size 0x4 int ampbits; // offset 0xC, size 0x4 int ampdB; // offset 0x10, size 0x4 int numbooks; // offset 0x14, size 0x4 int books[16]; // offset 0x18, size 0x40 float lessthan; // offset 0x58, size 0x4 float greaterthan; // offset 0x5C, size 0x4 } * info; // r30 float * lsp; // r0 float amp; // f1 } struct { // total size: 0x1C void (* pack)(void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void * (* look)(struct vorbis_dsp_state *, void *); // offset 0x8, size 0x4 void (* free_info)(void *); // offset 0xC, size 0x4 void (* free_look)(void *); // offset 0x10, size 0x4 void * (* inverse1)(struct vorbis_block *, void *); // offset 0x14, size 0x4 int (* inverse2)(struct vorbis_block *, void *, void *, float *); // offset 0x18, size 0x4 } floor0_exportbundle; // size: 0x1C, address: 0x80908770 /* Compile unit: C:\rockband2\system\src\oggvorbis\floor1.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80540844 -> 0x805426A8 */ // Range: 0x80540844 -> 0x80540888 static void floor1_free_info() { // Local variables struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r31 } // Range: 0x80540888 -> 0x805408CC static void floor1_free_look() { // Local variables struct { // total size: 0x520 int sorted_index[65]; // offset 0x0, size 0x104 int forward_index[65]; // offset 0x104, size 0x104 int reverse_index[65]; // offset 0x208, size 0x104 int hineighbor[63]; // offset 0x30C, size 0xFC int loneighbor[63]; // offset 0x408, size 0xFC int posts; // offset 0x504, size 0x4 int n; // offset 0x508, size 0x4 int quant_q; // offset 0x50C, size 0x4 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * vi; // offset 0x510, size 0x4 long phrasebits; // offset 0x514, size 0x4 long postbits; // offset 0x518, size 0x4 long frames; // offset 0x51C, size 0x4 } * look; // r31 } // Range: 0x805408CC -> 0x805408EC static int ilog() { // Local variables int ret; // r4 } // Range: 0x805408EC -> 0x80540918 static int ilog2() { // Local variables int ret; // r4 } // Range: 0x80540918 -> 0x80540AEC static void floor1_pack(void * i /* r24 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r25 */) { // Local variables struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r0 int j; // r30 int k; // r29 int count; // r28 int rangebits; // r26 int maxposit; // r27 int maxclass; // r26 } // Range: 0x80540AEC -> 0x80540D20 static void * floor1_unpack(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r25 */) { // Local variables struct codec_setup_info * ci; // r31 int j; // r30 int k; // r29 int count; // r28 int maxclass; // r27 int rangebits; // r27 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r26 int t; // r0 } // Range: 0x80540D20 -> 0x80540D38 static int icomp() {} // Range: 0x80540D38 -> 0x80540FA0 static void * floor1_look(void * in /* r29 */) { // Local variables int * sortpointer[65]; // r1+0x8 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r0 struct { // total size: 0x520 int sorted_index[65]; // offset 0x0, size 0x104 int forward_index[65]; // offset 0x104, size 0x104 int reverse_index[65]; // offset 0x208, size 0x104 int hineighbor[63]; // offset 0x30C, size 0xFC int loneighbor[63]; // offset 0x408, size 0xFC int posts; // offset 0x504, size 0x4 int n; // offset 0x508, size 0x4 int quant_q; // offset 0x50C, size 0x4 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * vi; // offset 0x510, size 0x4 long phrasebits; // offset 0x514, size 0x4 long postbits; // offset 0x518, size 0x4 long frames; // offset 0x51C, size 0x4 } * look; // r31 int i; // r5 int j; // r4 int n; // r30 int lo; // r6 int hi; // r7 int lx; // r8 int hx; // r9 int currentx; // r10 int x; // r0 } // Range: 0x80540FA0 -> 0x80540FD8 static int render_point(int y0 /* r8 */) { // Local variables int dy; // r6 int ady; // r5 int off; // r0 } // Range: 0x80540FD8 -> 0x80541018 static int vorbis_dBquant() { // Local variables int i; // r3 } static float FLOOR1_fromdB_LOOKUP[256]; // size: 0x400, address: 0x80908790 // Range: 0x80541018 -> 0x805410D4 static void render_line() { // Local variables int dy; // r6 int adx; // r10 int ady; // r11 int base; // r12 int sy; // r0 int x; // r3 int y; // r5 int err; // r31 // References // -> static float FLOOR1_fromdB_LOOKUP[256]; } // Range: 0x805410D4 -> 0x80541150 static void render_line0() { // Local variables int dy; // r6 int adx; // r9 int ady; // r10 int base; // r11 int sy; // r0 int x; // r3 int y; // r5 int err; // r12 } struct lsfit_acc { // total size: 0x20 long x0; // offset 0x0, size 0x4 long x1; // offset 0x4, size 0x4 long xa; // offset 0x8, size 0x4 long ya; // offset 0xC, size 0x4 long x2a; // offset 0x10, size 0x4 long y2a; // offset 0x14, size 0x4 long xya; // offset 0x18, size 0x4 long an; // offset 0x1C, size 0x4 }; // Range: 0x80541150 -> 0x80541344 static int accumulate_fit(const float * flr /* r14 */, const float * mdct /* f1 */, int x0 /* r15 */, int x1 /* r16 */, struct lsfit_acc * a /* r17 */, int n /* r31 */, struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info /* r18 */) { // Local variables long i; // r0 long xa; // r30 long ya; // r29 long x2a; // r28 long y2a; // r27 long xya; // r26 long na; // r25 long xb; // r24 long yb; // r23 long x2b; // r22 long y2b; // r21 long xyb; // r20 long nb; // r19 int quantized; // r0 int weight; // r3 } // Range: 0x80541344 -> 0x8054159C static void fit_line(int * y0 /* r28 */, int * y1 /* r29 */) { // Local variables long x; // r0 long y; // r7 long x2; // r8 long xy; // r9 long an; // r10 long i; // r27 long x0; // r11 long x1; // r30 double fx; // f3 double fy; // f4 double fx2; // f5 double fxy; // f6 double denom; // f7 double a; // f31 double b; // f30 } // Range: 0x8054159C -> 0x80541830 static int inspect_error(int x1 /* r17 */, int y0 /* r18 */, const float * mask /* r19 */, const float * mdct /* r20 */, struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info /* r21 */) { // Local variables int dy; // r5 int adx; // r28 int ady; // r27 int base; // r26 int sy; // r0 int x; // r25 int y; // [invalid] int err; // r24 int val; // r0 int mse; // r23 int n; // r22 } // Range: 0x80541830 -> 0x80541864 static int post_Y() {} // Range: 0x80541864 -> 0x80541CD8 int * floor1_fit(struct vorbis_block * vb /* r14 */, struct { // total size: 0x520 int sorted_index[65]; // offset 0x0, size 0x104 int forward_index[65]; // offset 0x104, size 0x104 int reverse_index[65]; // offset 0x208, size 0x104 int hineighbor[63]; // offset 0x30C, size 0xFC int loneighbor[63]; // offset 0x408, size 0xFC int posts; // offset 0x504, size 0x4 int n; // offset 0x508, size 0x4 int quant_q; // offset 0x50C, size 0x4 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * vi; // offset 0x510, size 0x4 long phrasebits; // offset 0x514, size 0x4 long postbits; // offset 0x518, size 0x4 long frames; // offset 0x51C, size 0x4 } * look /* r15 */, const float * logmdct /* r16 */, const float * logmask /* r17 */) { // Local variables long i; // r29 long j; // r5 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r28 long n; // r18 long posts; // r27 long nonzero; // r19 struct lsfit_acc fits[64]; // r1+0x538 int fit_valueA[65]; // r1+0x430 int fit_valueB[65]; // r1+0x32C int loneighbor[65]; // r1+0x228 int hineighbor[65]; // r1+0x124 int * output; // r20 int memo[65]; // r1+0x20 int y0; // r1+0x1C int y1; // r1+0x18 int sortpos; // r26 int ln; // r25 int hn; // r24 int lsortpos; // r23 int hsortpos; // r22 int lx; // r21 int hx; // r20 int ly; // r19 int hy; // r18 int ly0; // r1+0x14 int ly1; // r1+0x10 int hy0; // r1+0xC int hy1; // r1+0x8 int ln; // r4 int hn; // r0 int predicted; // r0 int vx; // r0 } // Range: 0x80541CD8 -> 0x80541DB8 int * floor1_interpolate_fit(int * A /* r28 */, int * B /* r29 */, int del /* r30 */) { // Local variables long i; // r7 long posts; // r31 int * output; // r8 } static long seq; // size: 0x4, address: 0x80A53E20 // Range: 0x80541DB8 -> 0x805422E4 int floor1_encode(struct vorbis_block * vb /* r28 */, struct { // total size: 0x520 int sorted_index[65]; // offset 0x0, size 0x104 int forward_index[65]; // offset 0x104, size 0x104 int reverse_index[65]; // offset 0x208, size 0x104 int hineighbor[63]; // offset 0x30C, size 0xFC int loneighbor[63]; // offset 0x408, size 0xFC int posts; // offset 0x504, size 0x4 int n; // offset 0x508, size 0x4 int quant_q; // offset 0x50C, size 0x4 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * vi; // offset 0x510, size 0x4 long phrasebits; // offset 0x514, size 0x4 long postbits; // offset 0x518, size 0x4 long frames; // offset 0x51C, size 0x4 } * look /* r29 */, int * post /* r30 */, int * ilogmask /* r31 */) { // Local variables long i; // r24 long j; // r25 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r23 long posts; // r22 struct codec_setup_info * ci; // r4 int out[65]; // r1+0x48 struct static_codebook * * sbooks; // r21 struct codebook * books; // r20 int val; // r6 int ln; // r0 int hn; // r3 int predicted; // r3 int val; // r5 int class; // r22 int cdim; // r26 int csubbits; // r3 int csub; // r5 int bookas[8]; // r1+0x28 int cval; // r4 int cshift; // r6 int k; // r27 int l; // r10 int maxval[8]; // r1+0x8 int book; // r5 int hx; // r20 int lx; // r3 int ly; // r5 int current; // r0 int hy; // r21 // References // -> static long seq; } // Range: 0x805422E4 -> 0x8054257C static void * floor1_inverse1(struct vorbis_block * vb /* r19 */, void * in /* r20 */) { // Local variables struct { // total size: 0x520 int sorted_index[65]; // offset 0x0, size 0x104 int forward_index[65]; // offset 0x104, size 0x104 int reverse_index[65]; // offset 0x208, size 0x104 int hineighbor[63]; // offset 0x30C, size 0xFC int loneighbor[63]; // offset 0x408, size 0xFC int posts; // offset 0x504, size 0x4 int n; // offset 0x508, size 0x4 int quant_q; // offset 0x50C, size 0x4 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * vi; // offset 0x510, size 0x4 long phrasebits; // offset 0x514, size 0x4 long postbits; // offset 0x518, size 0x4 long frames; // offset 0x51C, size 0x4 } * look; // r0 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r29 int i; // r28 int j; // r30 int k; // r31 struct codebook * books; // r27 int * fit_value; // r26 int class; // r25 int cdim; // r24 int csubbits; // r23 int csub; // r22 int cval; // r21 int book; // r0 int predicted; // r0 int hiroom; // r4 int room; // r0 int val; // r5 } // Range: 0x8054257C -> 0x805426A8 static int floor1_inverse2(void * in /* r28 */, void * memo /* r29 */, float * out /* r30 */) { // Local variables struct { // total size: 0x520 int sorted_index[65]; // offset 0x0, size 0x104 int forward_index[65]; // offset 0x104, size 0x104 int reverse_index[65]; // offset 0x208, size 0x104 int hineighbor[63]; // offset 0x30C, size 0xFC int loneighbor[63]; // offset 0x408, size 0xFC int posts; // offset 0x504, size 0x4 int n; // offset 0x508, size 0x4 int quant_q; // offset 0x50C, size 0x4 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * vi; // offset 0x510, size 0x4 long phrasebits; // offset 0x514, size 0x4 long postbits; // offset 0x518, size 0x4 long frames; // offset 0x51C, size 0x4 } * look; // r0 struct { // total size: 0x460 int partitions; // offset 0x0, size 0x4 int partitionclass[31]; // offset 0x4, size 0x7C int class_dim[16]; // offset 0x80, size 0x40 int class_subs[16]; // offset 0xC0, size 0x40 int class_book[16]; // offset 0x100, size 0x40 int class_subbook[16][8]; // offset 0x140, size 0x200 int mult; // offset 0x340, size 0x4 int postlist[65]; // offset 0x344, size 0x104 float maxover; // offset 0x448, size 0x4 float maxunder; // offset 0x44C, size 0x4 float maxerr; // offset 0x450, size 0x4 float twofitweight; // offset 0x454, size 0x4 float twofitatten; // offset 0x458, size 0x4 int n; // offset 0x45C, size 0x4 } * info; // r31 int n; // r27 int j; // r26 int * fit_value; // r0 int hx; // r25 int lx; // r3 int ly; // r5 int current; // r0 int hy; // r24 // References // -> static float FLOOR1_fromdB_LOOKUP[256]; } struct { // total size: 0x1C void (* pack)(void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void * (* look)(struct vorbis_dsp_state *, void *); // offset 0x8, size 0x4 void (* free_info)(void *); // offset 0xC, size 0x4 void (* free_look)(void *); // offset 0x10, size 0x4 void * (* inverse1)(struct vorbis_block *, void *); // offset 0x14, size 0x4 int (* inverse2)(struct vorbis_block *, void *, void *, float *); // offset 0x18, size 0x4 } floor1_exportbundle; // size: 0x1C, address: 0x80908B90 /* Compile unit: C:\rockband2\system\src\oggvorbis\framing.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x805426A8 -> 0x80543374 */ // Range: 0x805426A8 -> 0x805426B4 int ogg_page_version() {} // Range: 0x805426B4 -> 0x805426C4 int ogg_page_continued() {} // Range: 0x805426C4 -> 0x805426D4 int ogg_page_bos() {} // Range: 0x805426D4 -> 0x805426E4 int ogg_page_eos() {} // Range: 0x805426E4 -> 0x805427B0 long long ogg_page_granulepos() { // Local variables unsigned char * page; // r6 long long granulepos; // r0 } // Range: 0x805427B0 -> 0x805427D4 int ogg_page_serialno() {} // Range: 0x805427D4 -> 0x805427F8 long ogg_page_pageno() {} static unsigned int crc_lookup[256]; // size: 0x400, address: 0x80908BB0 // Range: 0x805427F8 -> 0x80542884 int ogg_stream_init(struct { // total size: 0x168 unsigned char * body_data; // offset 0x0, size 0x4 long body_storage; // offset 0x4, size 0x4 long body_fill; // offset 0x8, size 0x4 long body_returned; // offset 0xC, size 0x4 int * lacing_vals; // offset 0x10, size 0x4 long long * granule_vals; // offset 0x14, size 0x4 long lacing_storage; // offset 0x18, size 0x4 long lacing_fill; // offset 0x1C, size 0x4 long lacing_packet; // offset 0x20, size 0x4 long lacing_returned; // offset 0x24, size 0x4 unsigned char header[282]; // offset 0x28, size 0x11A int header_fill; // offset 0x144, size 0x4 int e_o_s; // offset 0x148, size 0x4 int b_o_s; // offset 0x14C, size 0x4 long serialno; // offset 0x150, size 0x4 long pageno; // offset 0x154, size 0x4 long long packetno; // offset 0x158, size 0x8 long long granulepos; // offset 0x160, size 0x8 } * os /* r30 */, int serialno /* r31 */) {} // Range: 0x80542884 -> 0x805428F8 int ogg_stream_clear(struct { // total size: 0x168 unsigned char * body_data; // offset 0x0, size 0x4 long body_storage; // offset 0x4, size 0x4 long body_fill; // offset 0x8, size 0x4 long body_returned; // offset 0xC, size 0x4 int * lacing_vals; // offset 0x10, size 0x4 long long * granule_vals; // offset 0x14, size 0x4 long lacing_storage; // offset 0x18, size 0x4 long lacing_fill; // offset 0x1C, size 0x4 long lacing_packet; // offset 0x20, size 0x4 long lacing_returned; // offset 0x24, size 0x4 unsigned char header[282]; // offset 0x28, size 0x11A int header_fill; // offset 0x144, size 0x4 int e_o_s; // offset 0x148, size 0x4 int b_o_s; // offset 0x14C, size 0x4 long serialno; // offset 0x150, size 0x4 long pageno; // offset 0x154, size 0x4 long long packetno; // offset 0x158, size 0x8 long long granulepos; // offset 0x160, size 0x8 } * os /* r31 */) {} // Range: 0x805428F8 -> 0x8054294C static void _os_body_expand(struct { // total size: 0x168 unsigned char * body_data; // offset 0x0, size 0x4 long body_storage; // offset 0x4, size 0x4 long body_fill; // offset 0x8, size 0x4 long body_returned; // offset 0xC, size 0x4 int * lacing_vals; // offset 0x10, size 0x4 long long * granule_vals; // offset 0x14, size 0x4 long lacing_storage; // offset 0x18, size 0x4 long lacing_fill; // offset 0x1C, size 0x4 long lacing_packet; // offset 0x20, size 0x4 long lacing_returned; // offset 0x24, size 0x4 unsigned char header[282]; // offset 0x28, size 0x11A int header_fill; // offset 0x144, size 0x4 int e_o_s; // offset 0x148, size 0x4 int b_o_s; // offset 0x14C, size 0x4 long serialno; // offset 0x150, size 0x4 long pageno; // offset 0x154, size 0x4 long long packetno; // offset 0x158, size 0x8 long long granulepos; // offset 0x160, size 0x8 } * os /* r31 */) {} // Range: 0x8054294C -> 0x805429B8 static void _os_lacing_expand(struct { // total size: 0x168 unsigned char * body_data; // offset 0x0, size 0x4 long body_storage; // offset 0x4, size 0x4 long body_fill; // offset 0x8, size 0x4 long body_returned; // offset 0xC, size 0x4 int * lacing_vals; // offset 0x10, size 0x4 long long * granule_vals; // offset 0x14, size 0x4 long lacing_storage; // offset 0x18, size 0x4 long lacing_fill; // offset 0x1C, size 0x4 long lacing_packet; // offset 0x20, size 0x4 long lacing_returned; // offset 0x24, size 0x4 unsigned char header[282]; // offset 0x28, size 0x11A int header_fill; // offset 0x144, size 0x4 int e_o_s; // offset 0x148, size 0x4 int b_o_s; // offset 0x14C, size 0x4 long serialno; // offset 0x150, size 0x4 long pageno; // offset 0x154, size 0x4 long long packetno; // offset 0x158, size 0x8 long long granulepos; // offset 0x160, size 0x8 } * os /* r31 */) {} // Range: 0x805429B8 -> 0x80542A94 void ogg_page_checksum_set() { // Local variables unsigned int crc_reg; // r5 int i; // r7 // References // -> static unsigned int crc_lookup[256]; } // Range: 0x80542A94 -> 0x80542AC8 int ogg_sync_init() {} // Range: 0x80542AC8 -> 0x80542B14 int ogg_sync_clear(struct { // total size: 0x1C unsigned char * data; // offset 0x0, size 0x4 int storage; // offset 0x4, size 0x4 int fill; // offset 0x8, size 0x4 int returned; // offset 0xC, size 0x4 int unsynced; // offset 0x10, size 0x4 int headerbytes; // offset 0x14, size 0x4 int bodybytes; // offset 0x18, size 0x4 } * oy /* r31 */) {} // Range: 0x80542B14 -> 0x80542BCC char * ogg_sync_buffer(struct { // total size: 0x1C unsigned char * data; // offset 0x0, size 0x4 int storage; // offset 0x4, size 0x4 int fill; // offset 0x8, size 0x4 int returned; // offset 0xC, size 0x4 int unsynced; // offset 0x10, size 0x4 int headerbytes; // offset 0x14, size 0x4 int bodybytes; // offset 0x18, size 0x4 } * oy /* r30 */, long size /* r31 */) { // Local variables long newsize; // r31 } // Range: 0x80542BCC -> 0x80542BF4 int ogg_sync_wrote() {} // Range: 0x80542BF4 -> 0x80542E00 long ogg_sync_pageseek(struct { // total size: 0x1C unsigned char * data; // offset 0x0, size 0x4 int storage; // offset 0x4, size 0x4 int fill; // offset 0x8, size 0x4 int returned; // offset 0xC, size 0x4 int unsynced; // offset 0x10, size 0x4 int headerbytes; // offset 0x14, size 0x4 int bodybytes; // offset 0x18, size 0x4 } * oy /* r28 */, struct { // total size: 0x10 unsigned char * header; // offset 0x0, size 0x4 long header_len; // offset 0x4, size 0x4 unsigned char * body; // offset 0x8, size 0x4 long body_len; // offset 0xC, size 0x4 } * og /* r29 */) { // Local variables unsigned char * page; // r31 unsigned char * next; // r3 long bytes; // r30 int headerbytes; // r5 int i; // r6 char chksum[4]; // r1+0x8 struct { // total size: 0x10 unsigned char * header; // offset 0x0, size 0x4 long header_len; // offset 0x4, size 0x4 unsigned char * body; // offset 0x8, size 0x4 long body_len; // offset 0xC, size 0x4 } log; // r1+0x10 unsigned char * page; // r3 long bytes; // r3 } // Range: 0x80542E00 -> 0x80542E74 int ogg_sync_pageout(struct { // total size: 0x1C unsigned char * data; // offset 0x0, size 0x4 int storage; // offset 0x4, size 0x4 int fill; // offset 0x8, size 0x4 int returned; // offset 0xC, size 0x4 int unsynced; // offset 0x10, size 0x4 int headerbytes; // offset 0x14, size 0x4 int bodybytes; // offset 0x18, size 0x4 } * oy /* r30 */, struct { // total size: 0x10 unsigned char * header; // offset 0x0, size 0x4 long header_len; // offset 0x4, size 0x4 unsigned char * body; // offset 0x8, size 0x4 long body_len; // offset 0xC, size 0x4 } * og /* r31 */) { // Local variables long ret; // r0 } // Range: 0x80542E74 -> 0x805431B4 int ogg_stream_pagein(struct { // total size: 0x168 unsigned char * body_data; // offset 0x0, size 0x4 long body_storage; // offset 0x4, size 0x4 long body_fill; // offset 0x8, size 0x4 long body_returned; // offset 0xC, size 0x4 int * lacing_vals; // offset 0x10, size 0x4 long long * granule_vals; // offset 0x14, size 0x4 long lacing_storage; // offset 0x18, size 0x4 long lacing_fill; // offset 0x1C, size 0x4 long lacing_packet; // offset 0x20, size 0x4 long lacing_returned; // offset 0x24, size 0x4 unsigned char header[282]; // offset 0x28, size 0x11A int header_fill; // offset 0x144, size 0x4 int e_o_s; // offset 0x148, size 0x4 int b_o_s; // offset 0x14C, size 0x4 long serialno; // offset 0x150, size 0x4 long pageno; // offset 0x154, size 0x4 long long packetno; // offset 0x158, size 0x8 long long granulepos; // offset 0x160, size 0x8 } * os /* r17 */, struct { // total size: 0x10 unsigned char * header; // offset 0x0, size 0x4 long header_len; // offset 0x4, size 0x4 unsigned char * body; // offset 0x8, size 0x4 long body_len; // offset 0xC, size 0x4 } * og /* r18 */) { // Local variables unsigned char * header; // r24 unsigned char * body; // r23 long bodysize; // r22 int segptr; // r21 int version; // r0 int continued; // r0 int bos; // r20 int eos; // r0 long long granulepos; // r0 int serialno; // r0 long pageno; // r0 int segments; // r19 long lr; // r18 long br; // r4 int i; // r4 int val; // r0 int saved; // r5 int val; // r6 } // Range: 0x805431B4 -> 0x805431D4 int ogg_sync_reset() {} // Range: 0x805431D4 -> 0x80543218 int ogg_stream_reset() {} // Range: 0x80543218 -> 0x80543364 static int _packetout() { // Local variables int ptr; // r8 int size; // r7 int bytes; // r9 int eos; // r10 int bos; // r11 int val; // r0 } // Range: 0x80543364 -> 0x8054336C int ogg_stream_packetout() {} // Range: 0x8054336C -> 0x80543374 int ogg_stream_packetpeek() {} /* Compile unit: C:\rockband2\system\src\oggvorbis\info.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80543374 -> 0x80543E10 */ // Range: 0x80543374 -> 0x805433D8 static void _v_readstring(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * o /* r29 */, char * buf /* r30 */, int bytes /* r31 */) {} // Range: 0x805433D8 -> 0x805433E4 void vorbis_comment_init() {} struct vorbis_comment { // total size: 0x10 char * * user_comments; // offset 0x0, size 0x4 int * comment_lengths; // offset 0x4, size 0x4 int comments; // offset 0x8, size 0x4 char * vendor; // offset 0xC, size 0x4 }; // Range: 0x805433E4 -> 0x8054348C void vorbis_comment_clear(struct vorbis_comment * vc /* r30 */) { // Local variables long i; // r31 } // Range: 0x8054348C -> 0x805434D0 void vorbis_info_init(struct vorbis_info * vi /* r31 */) {} // Range: 0x805434D0 -> 0x805436A8 void vorbis_info_clear(struct vorbis_info * vi /* r29 */) { // Local variables struct codec_setup_info * ci; // r31 int i; // r30 // References // -> struct [anonymous] * _residue_P[3]; // -> struct [anonymous] * _floor_P[2]; // -> struct [anonymous] * _mapping_P[1]; } // Range: 0x805436A8 -> 0x805437F4 static int _vorbis_unpack_info(struct vorbis_info * vi /* r28 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r29 */) { // Local variables struct codec_setup_info * ci; // r30 } // Range: 0x805437F4 -> 0x80543928 static int _vorbis_unpack_comment(struct vorbis_comment * vc /* r27 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r28 */) { // Local variables int i; // r30 int vendorlen; // r30 int len; // r29 } // Range: 0x80543928 -> 0x80543CA0 static int _vorbis_unpack_books(struct vorbis_info * vi /* r28 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r29 */) { // Local variables struct codec_setup_info * ci; // r31 int i; // r30 int times; // r27 int test; // r0 // References // -> struct [anonymous] * _mapping_P[1]; // -> struct [anonymous] * _residue_P[3]; // -> struct [anonymous] * _floor_P[2]; } // Range: 0x80543CA0 -> 0x80543E10 int vorbis_synthesis_headerin(struct vorbis_info * vi /* r28 */, struct vorbis_comment * vc /* r29 */, struct { // total size: 0x20 unsigned char * packet; // offset 0x0, size 0x4 long bytes; // offset 0x4, size 0x4 long b_o_s; // offset 0x8, size 0x4 long e_o_s; // offset 0xC, size 0x4 long long granulepos; // offset 0x10, size 0x8 long long packetno; // offset 0x18, size 0x8 } * op /* r30 */) { // Local variables struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } opb; // r1+0x10 char buffer[6]; // r1+0x8 int packtype; // r0 } /* Compile unit: C:\rockband2\system\src\oggvorbis\lsp.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80543E10 -> 0x80544008 */ static float COS_LOOKUP[129]; // size: 0x204, address: 0x80908FC0 static float INVSQ_LOOKUP[33]; // size: 0x84, address: 0x809091C4 static float INVSQ2EXP_LOOKUP[65]; // size: 0x104, address: 0x80909248 static float FROMdB_LOOKUP[35]; // size: 0x8C, address: 0x8090934C static float FROMdB2_LOOKUP[32]; // size: 0x80, address: 0x809093D8 // Range: 0x80543E10 -> 0x80544008 void vorbis_lsp_to_curve(float * curve /* r27 */, int * map /* r28 */, int n /* r29 */, float * lsp /* r30 */, int m /* r31 */, float amp /* f27 */, float ampoffset /* f28 */) { // Local variables int i; // r25 float wdel; // f31 int k; // r26 int qexp; // r1+0x8 float p; // f30 float q; // f29 float w; // f0 float * ftmp; // r3 int c; // r0 } /* Compile unit: C:\rockband2\system\src\oggvorbis\os.h Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80544008 -> 0x8054402C */ // Range: 0x80544008 -> 0x8054402C static int vorbis_ftoi() {} /* Compile unit: C:\rockband2\system\src\oggvorbis\lookup.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8054402C -> 0x805441E0 */ // Range: 0x8054402C -> 0x805440C0 float vorbis_coslook() { // Local variables double d; // f31 int i; // r0 // References // -> static float COS_LOOKUP[129]; } // Range: 0x805440C0 -> 0x80544154 float vorbis_invsqlook() { // Local variables double d; // f31 int i; // r0 // References // -> static float INVSQ_LOOKUP[33]; } // Range: 0x80544154 -> 0x8054416C float vorbis_invsq2explook() { // References // -> static float INVSQ2EXP_LOOKUP[65]; } // Range: 0x8054416C -> 0x805441E0 float vorbis_fromdBlook() { // Local variables int i; // r0 // References // -> static float FROMdB2_LOOKUP[32]; // -> static float FROMdB_LOOKUP[35]; } /* Compile unit: C:\rockband2\system\src\oggvorbis\mapping0.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x805441E0 -> 0x80545400 */ struct vorbis_info_mapping0 { // total size: 0xC88 int submaps; // offset 0x0, size 0x4 int chmuxlist[256]; // offset 0x4, size 0x400 int floorsubmap[16]; // offset 0x404, size 0x40 int residuesubmap[16]; // offset 0x444, size 0x40 int coupling_steps; // offset 0x484, size 0x4 int coupling_mag[256]; // offset 0x488, size 0x400 int coupling_ang[256]; // offset 0x888, size 0x400 }; // Range: 0x805441E0 -> 0x80544224 static void mapping0_free_info() { // Local variables struct vorbis_info_mapping0 * info; // r31 } // Range: 0x80544224 -> 0x80544250 static int ilog() { // Local variables int ret; // r4 } // Range: 0x80544250 -> 0x80544404 static void mapping0_pack(struct vorbis_info * vi /* r27 */, void * vm /* r30 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r31 */) { // Local variables int i; // r28 struct vorbis_info_mapping0 * info; // r0 } // Range: 0x80544404 -> 0x80544614 static void * mapping0_unpack(struct vorbis_info * vi /* r27 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r28 */) { // Local variables int i; // r31 struct vorbis_info_mapping0 * info; // r30 struct codec_setup_info * ci; // r29 int testM; // r0 int testA; // r0 } // Range: 0x80544614 -> 0x80544FF4 static int mapping0_forward(struct vorbis_block * vb /* r16 */) { // Local variables struct vorbis_info * vi; // r27 struct codec_setup_info * ci; // cr2 struct private_state * b; // r26 struct vorbis_block_internal * vbi; // cr0 int n; // r25 int i; // r24 int j; // r14 int k; // r23 int * nonzero; // r22 float * * gmdct; // f30 int * * ilogmaskch; // f29 int * * * floor_posts; // r0 float global_ampmax; // f31 float * local_ampmax; // r17 int blocktype; // r4 int modenumber; // f25 struct vorbis_info_mapping0 * info; // r21 struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * psy_look; // f23 float scale; // r31+0x14 float scale_dB; // f0 float * pcm; // r18 float * logfft; // r0 float temp; // r31+0x10 float * noise; // f20 float * tone; // r30 int submap; // f18 float * mdct; // r18 float * logfft; // r19 float * logmdct; // r20 float * * res_bundle; // r20 float * * couple_bundle; // r19 int * zerobundle; // r18 int * * sortindex; // f11 float * * mag_memo; // f10 int * * mag_sort; // f9 float * mdct; // r0 int submap; // f7 float * mdct; // f6 float * res; // r17 int * ilogmask; // r30 int ch_in_bundle; // r17 long * * classifications; // r0 int resnum; // r0 // References // -> struct [anonymous] * _residue_P[3]; } // Range: 0x80544FF4 -> 0x80545400 static int mapping0_inverse(struct vorbis_block * vb /* r19 */, void * l /* r20 */) { // Local variables struct vorbis_dsp_state * vd; // r4 struct vorbis_info * vi; // r28 struct codec_setup_info * ci; // r27 struct private_state * b; // r26 struct vorbis_info_mapping0 * info; // r0 int i; // r25 int j; // r3 long n; // r0 float * * pcmbundle; // r24 int * zerobundle; // r23 int * nonzero; // r22 void * floormemo; // r21 int submap; // r0 int ch_in_bundle; // r7 float * pcmM; // r5 float * pcmA; // r4 float mag; // f1 float ang; // f2 int submap; // r3 float * pcm; // r4 // References // -> struct [anonymous] * _residue_P[3]; // -> struct [anonymous] * _floor_P[2]; } struct { // total size: 0x14 void (* pack)(struct vorbis_info *, void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void (* free_info)(void *); // offset 0x8, size 0x4 int (* forward)(struct vorbis_block *); // offset 0xC, size 0x4 int (* inverse)(struct vorbis_block *, void *); // offset 0x10, size 0x4 } mapping0_exportbundle; // size: 0x14, address: 0x80909458 /* Compile unit: C:\rockband2\system\src\oggvorbis\scales.h Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80545400 -> 0x80545444 */ // Range: 0x80545400 -> 0x80545444 static float todB() { // Local variables float calc; // f1 } /* Compile unit: C:\rockband2\system\src\oggvorbis\mdct.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80545444 -> 0x805466F4 */ // Range: 0x80545444 -> 0x805457F0 void mdct_init(struct { // total size: 0x18 int n; // offset 0x0, size 0x4 int log2n; // offset 0x4, size 0x4 float * trig; // offset 0x8, size 0x4 float * trig2; // offset 0xC, size 0x4 int * bitrev; // offset 0x10, size 0x4 float scale; // offset 0x14, size 0x4 } * lookup /* r18 */, int n /* r19 */) { // Local variables int * bitrev; // r0 float * T; // r0 float * T2; // r0 int i; // r21 int n2; // r20 int log2n; // r0 int mask; // r6 int i; // r7 int j; // r3 int msb; // r8 int acc; // r9 } // Range: 0x805457F0 -> 0x80545874 static void mdct_butterfly_8() { // Local variables float r0; // f5 float r1; // f6 float r2; // f7 float r3; // f8 } // Range: 0x80545874 -> 0x8054598C static void mdct_butterfly_16(float * x /* r31 */) { // Local variables float r0; // f5 float r1; // f6 } // Range: 0x8054598C -> 0x80545BAC static void mdct_butterfly_32(float * x /* r31 */) { // Local variables float r0; // f3 float r1; // f4 } // Range: 0x80545BAC -> 0x80545D40 static void mdct_butterfly_first() { // Local variables float * x1; // r7 float * x2; // r6 float r0; // f0 float r1; // f1 } // Range: 0x80545D40 -> 0x80545ED8 static void mdct_butterfly_generic() { // Local variables float * x1; // r8 float * x2; // r6 float r0; // f0 float r1; // f1 } // Range: 0x80545ED8 -> 0x80545FA8 static void mdct_butterflies(float * x /* r25 */, int points /* r26 */) { // Local variables float * T; // r31 float * T2; // r30 int stages; // r29 int i; // r28 int j; // r27 } // Range: 0x80545FA8 -> 0x80546018 void mdct_clear(struct { // total size: 0x18 int n; // offset 0x0, size 0x4 int log2n; // offset 0x4, size 0x4 float * trig; // offset 0x8, size 0x4 float * trig2; // offset 0xC, size 0x4 int * bitrev; // offset 0x10, size 0x4 float scale; // offset 0x14, size 0x4 } * l /* r31 */) {} // Range: 0x80546018 -> 0x80546148 static void mdct_bitreverse(float * x /* r9 */) { // Local variables int n; // r5 int * bit; // r6 float * w0; // r4 float * w1; // r7 float * T; // r3 float * x0; // r5 float * x1; // r8 float r0; // f8 float r1; // f9 float r2; // f1 float r3; // f2 } // Range: 0x80546148 -> 0x805464A0 void mdct_backward(struct { // total size: 0x18 int n; // offset 0x0, size 0x4 int log2n; // offset 0x4, size 0x4 float * trig; // offset 0x8, size 0x4 float * trig2; // offset 0xC, size 0x4 int * bitrev; // offset 0x10, size 0x4 float scale; // offset 0x14, size 0x4 } * init /* r28 */, float * out /* r29 */) { // Local variables int n; // r6 int n2; // r31 int n4; // r30 float * iX; // r8 float * oX; // r9 float * T; // r6 float * oX1; // r4 float * oX2; // r3 float * iX; // r5 } // Range: 0x805464A0 -> 0x805466F4 void mdct_forward(struct { // total size: 0x18 int n; // offset 0x0, size 0x4 int log2n; // offset 0x4, size 0x4 float * trig; // offset 0x8, size 0x4 float * trig2; // offset 0xC, size 0x4 int * bitrev; // offset 0x10, size 0x4 float scale; // offset 0x14, size 0x4 } * init /* r27 */, float * out /* r28 */) { // Local variables int n; // r9 int n2; // r5 int n4; // r30 int n8; // r10 float * w; // r29 float * w2; // r0 float r0; // f2 float r1; // f3 float * x0; // r6 float * x1; // r11 float * T; // r3 int i; // r7 } /* Compile unit: C:\rockband2\system\src\oggvorbis\psy.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x805466F4 -> 0x80549370 */ static float ATH[88]; // size: 0x160, address: 0x80909470 static float tonemasks[17][6][56]; // size: 0x5940, address: 0x809095D0 static double stereo_threshholds[9]; // size: 0x48, address: 0x8090EF10 // Range: 0x805466F4 -> 0x80546738 void _vp_global_free(struct { // total size: 0x24 float ampmax; // offset 0x0, size 0x4 int channels; // offset 0x4, size 0x4 struct { // total size: 0x1EC int eighth_octave_lines; // offset 0x0, size 0x4 float preecho_thresh[7]; // offset 0x4, size 0x1C float postecho_thresh[7]; // offset 0x20, size 0x1C float stretch_penalty; // offset 0x3C, size 0x4 float preecho_minenergy; // offset 0x40, size 0x4 float ampmax_att_per_sec; // offset 0x44, size 0x4 int coupling_pkHz[15]; // offset 0x48, size 0x3C int coupling_pointlimit[2][15]; // offset 0x84, size 0x78 int coupling_prepointamp[15]; // offset 0xFC, size 0x3C int coupling_postpointamp[15]; // offset 0x138, size 0x3C int sliding_lowpass[2][15]; // offset 0x174, size 0x78 } * gi; // offset 0x8, size 0x4 int coupling_pointlimit[2][3]; // offset 0xC, size 0x18 } * look /* r31 */) {} // Range: 0x80546738 -> 0x8054677C void _vi_psy_free(struct vorbis_info_psy * i /* r31 */) {} // Range: 0x8054677C -> 0x805467AC static void min_curve() { // Local variables int i; // r5 } // Range: 0x805467AC -> 0x805467DC static void max_curve() { // Local variables int i; // r5 } // Range: 0x805467DC -> 0x80546804 static void attenuate_curve() { // Local variables int i; // r4 } // Range: 0x80546804 -> 0x8054721C static float * * * setup_tone_curves(float * curveatt_dB /* r17 */, float binHz /* f29 */, int n /* r30 */, float center_boost /* f30 */, float center_decay_rate /* f31 */) { // Local variables int i; // r25 int j; // r24 int k; // r23 int m; // r22 float ath[56]; // r31+0x8 float workc[17][8][56]; // r31+0x810 float athc[8][56]; // r31+0xE8 float * brute_buffer; // r21 float * * * ret; // r20 int ath_offset; // r4 float min; // f1 float adj; // f1 int hi_curve; // r19 int lo_curve; // r18 int bin; // r17 int l; // r29 int lo_bin; // r17 int hi_bin; // r7 int l; // r17 int lo_bin; // r23 int hi_bin; // r7 int bin; // r0 // References // -> static float tonemasks[17][6][56]; // -> static float ATH[88]; } // Range: 0x8054721C -> 0x805479C8 void _vp_psy_init(struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r22 */, struct vorbis_info_psy * vi /* r23 */, struct { // total size: 0x1EC int eighth_octave_lines; // offset 0x0, size 0x4 float preecho_thresh[7]; // offset 0x4, size 0x1C float postecho_thresh[7]; // offset 0x20, size 0x1C float stretch_penalty; // offset 0x3C, size 0x4 float preecho_minenergy; // offset 0x40, size 0x4 float ampmax_att_per_sec; // offset 0x44, size 0x4 int coupling_pkHz[15]; // offset 0x48, size 0x3C int coupling_pointlimit[2][15]; // offset 0x84, size 0x78 int coupling_prepointamp[15]; // offset 0xFC, size 0x3C int coupling_postpointamp[15]; // offset 0x138, size 0x3C int sliding_lowpass[2][15]; // offset 0x174, size 0x78 } * gi /* r28 */, int n /* r24 */, long rate /* r25 */) { // Local variables long i; // r29 long j; // r28 long lo; // r27 long hi; // r26 long maxoc; // r3 int endpos; // r4 float base; // f3 float delta; // f1 float bark; // f31 float halfoc; // f2 int inthalfoc; // r4 float del; // f3 // References // -> static float ATH[88]; } // Range: 0x805479C8 -> 0x80547AE4 void _vp_psy_clear(struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r29 */) { // Local variables int i; // r31 int j; // r30 } // Range: 0x80547AE4 -> 0x80547C08 static void seed_curve() { // Local variables int i; // r4 int post1; // r8 int seedptr; // r5 const float * posts; // r4 const float * curve; // r9 int choice; // r8 float lin; // f2 } // Range: 0x80547C08 -> 0x80547D20 static void seed_loop(struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r27 */, const float * * * curves /* r28 */, const float * f /* r29 */, const float * flr /* r30 */, float * seed /* r31 */) { // Local variables long n; // r26 long i; // r25 float dBoffset; // f31 float max; // f1 long oc; // r4 } // Range: 0x80547D20 -> 0x80547EC0 static void seed_chase() { // Local variables long * posstack; // r10 float * ampstack; // r11 long stack; // r12 long pos; // r30 long i; // r29 long endpos; // r6 } // Range: 0x80547EC0 -> 0x80548030 static void max_seeds(struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r28 */, float * seed /* r29 */, float * flr /* r30 */) { // Local variables int linesper; // r27 long linpos; // r31 long pos; // r6 float minV; // f2 long end; // r7 float minV; // f1 } // Range: 0x80548030 -> 0x8054849C static void bark_noise_hybridmp() { // Local variables float * N; // r8 float * X; // r9 float * XX; // r10 float * Y; // r11 float * XY; // r12 float tN; // f0 float tX; // f2 float tXX; // f3 float tY; // f9 float tXY; // f10 int i; // r30 int lo; // r29 int hi; // r28 float R; // f2 float A; // f4 float B; // f5 float D; // f6 float w; // f11 float x; // f7 float y; // f12 } static float FLOOR1_fromdB_INV_LOOKUP[256]; // size: 0x400, address: 0x8090EF58 // Range: 0x8054849C -> 0x80548504 void _vp_remove_floor() { // Local variables int i; // r9 int n; // r10 // References // -> static float FLOOR1_fromdB_INV_LOOKUP[256]; } // Range: 0x80548504 -> 0x8054865C void _vp_noisemask(struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r29 */, float * logmdct /* r26 */, float * logmask /* r30 */) { // Local variables int i; // r6 int n; // r28 float * work; // r27 int dB; // r0 } // Range: 0x8054865C -> 0x80548764 void _vp_tonemask(struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r28 */, float * logfft /* r8 */, float * logmask /* r29 */) { // Local variables int i; // r6 int n; // r7 float * seed; // r30 float att; // f2 } // Range: 0x80548764 -> 0x805487D8 void _vp_offset_and_mix() { // Local variables int i; // r9 int n; // r10 float toneatt; // f2 float val; // f1 } // Range: 0x805487D8 -> 0x805488C4 static void couple_lossless() { // Local variables int test1; // r5 float temp; // f1 } static float hypot_lookup[32]; // size: 0x80, address: 0x8090F358 // Range: 0x805488C4 -> 0x80548948 static void precomputed_couple_point() { // Local variables int test; // r8 int offset; // r9 float floormag; // f2 // References // -> static float FLOOR1_fromdB_INV_LOOKUP[256]; // -> static float hypot_lookup[32]; } // Range: 0x80548948 -> 0x80548A1C static float dipole_hypot() {} // Range: 0x80548A1C -> 0x80548AF0 static float round_hypot() {} // Range: 0x80548AF0 -> 0x80548BF8 float * * _vp_quantize_couple_memo(struct vorbis_block * vb /* r25 */, struct { // total size: 0x1EC int eighth_octave_lines; // offset 0x0, size 0x4 float preecho_thresh[7]; // offset 0x4, size 0x1C float postecho_thresh[7]; // offset 0x20, size 0x1C float stretch_penalty; // offset 0x3C, size 0x4 float preecho_minenergy; // offset 0x40, size 0x4 float ampmax_att_per_sec; // offset 0x44, size 0x4 int coupling_pkHz[15]; // offset 0x48, size 0x3C int coupling_pointlimit[2][15]; // offset 0x84, size 0x78 int coupling_prepointamp[15]; // offset 0xFC, size 0x3C int coupling_postpointamp[15]; // offset 0x138, size 0x3C int sliding_lowpass[2][15]; // offset 0x174, size 0x78 } * g /* r21 */, struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r20 */, struct vorbis_info_mapping0 * vi /* r26 */, float * * mdct /* r27 */) { // Local variables int i; // r31 int j; // r22 int n; // r30 float * * ret; // r29 int limit; // r28 float * mdctM; // r21 float * mdctA; // r20 } // Range: 0x80548BF8 -> 0x80548C34 static int apsort() { // Local variables float f1; // f1 float f2; // f0 } // Range: 0x80548C34 -> 0x80548D90 int * * _vp_quantize_couple_sort(struct vorbis_block * vb /* r21 */, struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r24 */, struct vorbis_info_mapping0 * vi /* r22 */, float * * mags /* r23 */) { // Local variables int i; // r29 int j; // r28 int k; // r5 int n; // r27 int * * ret; // r26 int partition; // r25 float * * work; // r24 } // Range: 0x80548D90 -> 0x80548E94 void _vp_noise_normalize_sort(float * magnitudes /* r24 */, int * sortedindex /* r25 */) { // Local variables int i; // r5 int j; // r30 int n; // r29 struct vorbis_info_psy * vi; // r3 int partition; // r28 float * * work; // r27 int start; // r26 } // Range: 0x80548E94 -> 0x80549030 void _vp_noise_normalize(float * in /* r23 */, float * out /* r24 */, int * sortedindex /* r25 */) { // Local variables int i; // r31 int j; // r30 int n; // r29 struct vorbis_info_psy * vi; // r28 int partition; // r27 int start; // r26 float acc; // f31 int k; // r0 } // Range: 0x80549030 -> 0x80549370 void _vp_couple(int blobno /* f0 */, struct { // total size: 0x1EC int eighth_octave_lines; // offset 0x0, size 0x4 float preecho_thresh[7]; // offset 0x4, size 0x1C float postecho_thresh[7]; // offset 0x20, size 0x1C float stretch_penalty; // offset 0x3C, size 0x4 float preecho_minenergy; // offset 0x40, size 0x4 float ampmax_att_per_sec; // offset 0x44, size 0x4 int coupling_pkHz[15]; // offset 0x48, size 0x3C int coupling_pointlimit[2][15]; // offset 0x84, size 0x78 int coupling_prepointamp[15]; // offset 0xFC, size 0x3C int coupling_postpointamp[15]; // offset 0x138, size 0x3C int sliding_lowpass[2][15]; // offset 0x174, size 0x78 } * g /* f1 */, struct { // total size: 0x30 int n; // offset 0x0, size 0x4 struct vorbis_info_psy * vi; // offset 0x4, size 0x4 float * * * tonecurves; // offset 0x8, size 0x4 float * * noiseoffset; // offset 0xC, size 0x4 float * ath; // offset 0x10, size 0x4 long * octave; // offset 0x14, size 0x4 long * bark; // offset 0x18, size 0x4 long firstoc; // offset 0x1C, size 0x4 long shiftoc; // offset 0x20, size 0x4 int eighth_octave_lines; // offset 0x24, size 0x4 int total_octave_lines; // offset 0x28, size 0x4 long rate; // offset 0x2C, size 0x4 } * p /* r15 */, struct vorbis_info_mapping0 * vi /* f3 */, float * * res /* f4 */, float * * mag_memo /* r16 */, int * * mag_sort /* r17 */, int * * ifloor /* f7 */, int * nonzero /* f8 */, int sliding_lowpass /* r18 */) { // Local variables int i; // r14 int j; // r29 int k; // r28 int n; // f21 float * rM; // r27 float * rA; // r26 float * qM; // r25 float * qA; // r24 int * floorM; // r23 int * floorA; // r22 float prepoint; // f31 float postpoint; // f30 int partition; // r21 int limit; // r20 int pointlimit; // r0 float acc; // f29 int l; // r19 int l; // r19 // References // -> static double stereo_threshholds[9]; } /* Compile unit: C:\rockband2\system\src\oggvorbis\scales.h Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80549370 -> 0x80549394 */ // Range: 0x80549370 -> 0x80549394 static float unitnorm(float x /* r1+0x8 */) { // Local variables unsigned int * ix; // r0 } /* Compile unit: C:\rockband2\system\src\oggvorbis\registry.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80549394 -> 0x80549394 */ struct { // total size: 0x1C void (* pack)(void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void * (* look)(struct vorbis_dsp_state *, void *); // offset 0x8, size 0x4 void (* free_info)(void *); // offset 0xC, size 0x4 void (* free_look)(void *); // offset 0x10, size 0x4 void * (* inverse1)(struct vorbis_block *, void *); // offset 0x14, size 0x4 int (* inverse2)(struct vorbis_block *, void *, void *, float *); // offset 0x18, size 0x4 } * _floor_P[2]; // size: 0x8, address: 0x8090F3D8 struct { // total size: 0x20 void (* pack)(void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void * (* look)(struct vorbis_dsp_state *, void *); // offset 0x8, size 0x4 void (* free_info)(void *); // offset 0xC, size 0x4 void (* free_look)(void *); // offset 0x10, size 0x4 long * * (* class)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x14, size 0x4 int (* forward)(struct vorbis_block *, void *, float * *, float * *, int *, int, long * *); // offset 0x18, size 0x4 int (* inverse)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x1C, size 0x4 } * _residue_P[3]; // size: 0xC, address: 0x8090F3E0 struct { // total size: 0x14 void (* pack)(struct vorbis_info *, void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void (* free_info)(void *); // offset 0x8, size 0x4 int (* forward)(struct vorbis_block *); // offset 0xC, size 0x4 int (* inverse)(struct vorbis_block *, void *); // offset 0x10, size 0x4 } * _mapping_P[1]; // size: 0x4, address: 0x80A47530 /* Compile unit: C:\rockband2\system\src\oggvorbis\res0.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x80549394 -> 0x8054A940 */ struct vorbis_info_residue0 { // total size: 0x714 long begin; // offset 0x0, size 0x4 long end; // offset 0x4, size 0x4 int grouping; // offset 0x8, size 0x4 int partitions; // offset 0xC, size 0x4 int groupbook; // offset 0x10, size 0x4 int secondstages[64]; // offset 0x14, size 0x100 int booklist[256]; // offset 0x114, size 0x400 float classmetric1[64]; // offset 0x514, size 0x100 float classmetric2[64]; // offset 0x614, size 0x100 }; // Range: 0x80549394 -> 0x805493D8 void res0_free_info() { // Local variables struct vorbis_info_residue0 * info; // r31 } // Range: 0x805493D8 -> 0x80549490 void res0_free_look(void * i /* r30 */) { // Local variables int j; // r31 struct { // total size: 0x2C struct vorbis_info_residue0 * info; // offset 0x0, size 0x4 int parts; // offset 0x4, size 0x4 int stages; // offset 0x8, size 0x4 struct codebook * fullbooks; // offset 0xC, size 0x4 struct codebook * phrasebook; // offset 0x10, size 0x4 struct codebook * * * partbooks; // offset 0x14, size 0x4 int partvals; // offset 0x18, size 0x4 int * * decodemap; // offset 0x1C, size 0x4 long postbits; // offset 0x20, size 0x4 long phrasebits; // offset 0x24, size 0x4 long frames; // offset 0x28, size 0x4 } * look; // [invalid] } // Range: 0x80549490 -> 0x805494B0 static int ilog() { // Local variables int ret; // r4 } // Range: 0x805494B0 -> 0x805494D4 static int icount() { // Local variables int ret; // r4 } // Range: 0x805494D4 -> 0x8054961C void res0_pack(void * vr /* r26 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r27 */) { // Local variables struct vorbis_info_residue0 * info; // r0 int j; // r29 int acc; // r28 } // Range: 0x8054961C -> 0x805497A0 void * res0_unpack(struct vorbis_info * vi /* r27 */, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r26 */) { // Local variables int j; // r31 int acc; // r30 struct vorbis_info_residue0 * info; // r29 struct codec_setup_info * ci; // r28 int cascade; // r27 } // Range: 0x805497A0 -> 0x805499A8 void * res0_look(struct vorbis_dsp_state * vd /* r23 */, void * vr /* r22 */) { // Local variables struct vorbis_info_residue0 * info; // r0 struct { // total size: 0x2C struct vorbis_info_residue0 * info; // offset 0x0, size 0x4 int parts; // offset 0x4, size 0x4 int stages; // offset 0x8, size 0x4 struct codebook * fullbooks; // offset 0xC, size 0x4 struct codebook * phrasebook; // offset 0x10, size 0x4 struct codebook * * * partbooks; // offset 0x14, size 0x4 int partvals; // offset 0x18, size 0x4 int * * decodemap; // offset 0x1C, size 0x4 long postbits; // offset 0x20, size 0x4 long phrasebits; // offset 0x24, size 0x4 long frames; // offset 0x28, size 0x4 } * look; // r29 struct codec_setup_info * ci; // r28 int j; // r27 int k; // r3 int acc; // r26 int dim; // r25 int maxstage; // r24 int stages; // r23 long val; // r23 long mult; // r24 long deco; // r5 } // Range: 0x805499A8 -> 0x80549B68 static int local_book_besterror() { // Local variables int dim; // r0 int i; // r10 int k; // r11 int o; // r12 int best; // r6 struct encode_aux_threshmatch * tt; // r31 float val; // f1 const struct static_codebook * c; // r0 int i; // r9 int j; // r8 float bestf; // f2 float * e; // r10 float this; // f3 float val; // f0 float * ptr; // r3 } // Range: 0x80549B68 -> 0x80549BEC static int _encodepart(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb /* r25 */, float * vec /* r26 */, struct codebook * book /* r27 */) { // Local variables int i; // r31 int bits; // r30 int dim; // r29 int step; // r28 int entry; // r0 } // Range: 0x80549BEC -> 0x80549E0C static long * * _01class(struct vorbis_block * vb /* r23 */, void * vl /* r20 */, float * * in /* r21 */, int ch /* r22 */) { // Local variables long i; // r30 long j; // r29 long k; // r28 struct { // total size: 0x2C struct vorbis_info_residue0 * info; // offset 0x0, size 0x4 int parts; // offset 0x4, size 0x4 int stages; // offset 0x8, size 0x4 struct codebook * fullbooks; // offset 0xC, size 0x4 struct codebook * phrasebook; // offset 0x10, size 0x4 struct codebook * * * partbooks; // offset 0x14, size 0x4 int partvals; // offset 0x18, size 0x4 int * * decodemap; // offset 0x1C, size 0x4 long postbits; // offset 0x20, size 0x4 long phrasebits; // offset 0x24, size 0x4 long frames; // offset 0x28, size 0x4 } * look; // r0 struct vorbis_info_residue0 * info; // r27 int samples_per_partition; // r26 int possible_partitions; // r25 int n; // r28 int partvals; // r0 long * * partword; // r24 float scale; // f31 int offset; // r23 float max; // f30 float ent; // f29 } // Range: 0x80549E0C -> 0x80549F7C static long * * _2class(struct vorbis_block * vb /* r22 */, void * vl /* r24 */, float * * in /* r25 */, int ch /* r26 */) { // Local variables long i; // r4 long j; // r5 long k; // r6 long l; // r7 struct { // total size: 0x2C struct vorbis_info_residue0 * info; // offset 0x0, size 0x4 int parts; // offset 0x4, size 0x4 int stages; // offset 0x8, size 0x4 struct codebook * fullbooks; // offset 0xC, size 0x4 struct codebook * phrasebook; // offset 0x10, size 0x4 struct codebook * * * partbooks; // offset 0x14, size 0x4 int partvals; // offset 0x18, size 0x4 int * * decodemap; // offset 0x1C, size 0x4 long postbits; // offset 0x20, size 0x4 long phrasebits; // offset 0x24, size 0x4 long frames; // offset 0x28, size 0x4 } * look; // r0 struct vorbis_info_residue0 * info; // r31 int samples_per_partition; // r30 int possible_partitions; // r29 int n; // r23 int partvals; // r28 long * * partword; // r27 float magmax; // f1 float angmax; // f2 } // Range: 0x80549F7C -> 0x8054A1AC static int _01forward(struct vorbis_block * vb /* r15 */, void * vl /* r16 */, float * * in /* r17 */, int ch /* r18 */, long * * partword /* r19 */, int (* encode)(struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *, float *, int, struct codebook *, long *) /* r20 */) { // Local variables long i; // r29 long j; // r28 long k; // r27 long s; // r26 struct { // total size: 0x2C struct vorbis_info_residue0 * info; // offset 0x0, size 0x4 int parts; // offset 0x4, size 0x4 int stages; // offset 0x8, size 0x4 struct codebook * fullbooks; // offset 0xC, size 0x4 struct codebook * phrasebook; // offset 0x10, size 0x4 struct codebook * * * partbooks; // offset 0x14, size 0x4 int partvals; // offset 0x18, size 0x4 int * * decodemap; // offset 0x1C, size 0x4 long postbits; // offset 0x20, size 0x4 long phrasebits; // offset 0x24, size 0x4 long frames; // offset 0x28, size 0x4 } * look; // r0 struct vorbis_info_residue0 * info; // r25 int samples_per_partition; // r24 int possible_partitions; // r14 int partitions_per_word; // r23 int partvals; // r22 long resbits[128]; // r1+0x208 long resvals[128]; // r1+0x8 long val; // r4 long offset; // r21 struct codebook * statebook; // r6 int ret; // r0 } // Range: 0x8054A1AC -> 0x8054A3A8 static int _01inverse(struct vorbis_block * vb /* r16 */, void * vl /* r17 */, float * * in /* r18 */, int ch /* r19 */, long (* decodepart)(struct codebook *, float *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *, int) /* r20 */) { // Local variables long i; // r30 long j; // r29 long k; // r28 long l; // r27 long s; // r26 struct { // total size: 0x2C struct vorbis_info_residue0 * info; // offset 0x0, size 0x4 int parts; // offset 0x4, size 0x4 int stages; // offset 0x8, size 0x4 struct codebook * fullbooks; // offset 0xC, size 0x4 struct codebook * phrasebook; // offset 0x10, size 0x4 struct codebook * * * partbooks; // offset 0x14, size 0x4 int partvals; // offset 0x18, size 0x4 int * * decodemap; // offset 0x1C, size 0x4 long postbits; // offset 0x20, size 0x4 long phrasebits; // offset 0x24, size 0x4 long frames; // offset 0x28, size 0x4 } * look; // r0 struct vorbis_info_residue0 * info; // r25 int samples_per_partition; // r24 int partitions_per_word; // r23 int partvals; // r22 int partwords; // r26 int * * * partword; // r21 int temp; // r0 long offset; // r0 struct codebook * stagebook; // r3 } // Range: 0x8054A3A8 -> 0x8054A400 int res0_inverse() { // Local variables int i; // r9 int used; // r10 } // Range: 0x8054A400 -> 0x8054A550 int res1_forward(float * * in /* r27 */, float * * out /* r28 */, int * nonzero /* r29 */, int ch /* r30 */) { // Local variables int i; // r10 int j; // r24 int used; // r11 int n; // r31 int ret; // r3 } // Range: 0x8054A550 -> 0x8054A5A0 long * * res1_class() { // Local variables int i; // r9 int used; // r10 } // Range: 0x8054A5A0 -> 0x8054A5F8 int res1_inverse() { // Local variables int i; // r9 int used; // r10 } // Range: 0x8054A5F8 -> 0x8054A63C long * * res2_class() { // Local variables int i; // r8 int used; // r9 } // Range: 0x8054A63C -> 0x8054A79C int res2_forward(struct vorbis_block * vb /* r23 */, void * vl /* r24 */, float * * in /* r25 */, float * * out /* r26 */, int * nonzero /* r27 */, int ch /* r28 */, long * * partword /* r29 */) { // Local variables long i; // r6 long j; // r7 long k; // r8 long n; // r31 long used; // r30 float * work; // r1+0x8 float * pcm; // r4 int ret; // r3 float * pcm; // r9 float * sofar; // r10 } // Range: 0x8054A79C -> 0x8054A940 int res2_inverse(struct vorbis_block * vb /* r19 */, void * vl /* r20 */, float * * in /* r21 */, int * nonzero /* r27 */, int ch /* r22 */) { // Local variables long i; // r30 long k; // r29 long l; // r28 long s; // r27 struct { // total size: 0x2C struct vorbis_info_residue0 * info; // offset 0x0, size 0x4 int parts; // offset 0x4, size 0x4 int stages; // offset 0x8, size 0x4 struct codebook * fullbooks; // offset 0xC, size 0x4 struct codebook * phrasebook; // offset 0x10, size 0x4 struct codebook * * * partbooks; // offset 0x14, size 0x4 int partvals; // offset 0x18, size 0x4 int * * decodemap; // offset 0x1C, size 0x4 long postbits; // offset 0x20, size 0x4 long phrasebits; // offset 0x24, size 0x4 long frames; // offset 0x28, size 0x4 } * look; // r0 struct vorbis_info_residue0 * info; // r26 int samples_per_partition; // r25 int partitions_per_word; // r24 int partvals; // r23 int * * partword; // r0 int temp; // r0 struct codebook * stagebook; // r3 } struct { // total size: 0x20 void (* pack)(void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void * (* look)(struct vorbis_dsp_state *, void *); // offset 0x8, size 0x4 void (* free_info)(void *); // offset 0xC, size 0x4 void (* free_look)(void *); // offset 0x10, size 0x4 long * * (* class)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x14, size 0x4 int (* forward)(struct vorbis_block *, void *, float * *, float * *, int *, int, long * *); // offset 0x18, size 0x4 int (* inverse)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x1C, size 0x4 } residue0_exportbundle; // size: 0x20, address: 0x8090F3F0 struct { // total size: 0x20 void (* pack)(void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void * (* look)(struct vorbis_dsp_state *, void *); // offset 0x8, size 0x4 void (* free_info)(void *); // offset 0xC, size 0x4 void (* free_look)(void *); // offset 0x10, size 0x4 long * * (* class)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x14, size 0x4 int (* forward)(struct vorbis_block *, void *, float * *, float * *, int *, int, long * *); // offset 0x18, size 0x4 int (* inverse)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x1C, size 0x4 } residue1_exportbundle; // size: 0x20, address: 0x8090F410 struct { // total size: 0x20 void (* pack)(void *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x0, size 0x4 void * (* unpack)(struct vorbis_info *, struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } *); // offset 0x4, size 0x4 void * (* look)(struct vorbis_dsp_state *, void *); // offset 0x8, size 0x4 void (* free_info)(void *); // offset 0xC, size 0x4 void (* free_look)(void *); // offset 0x10, size 0x4 long * * (* class)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x14, size 0x4 int (* forward)(struct vorbis_block *, void *, float * *, float * *, int *, int, long * *); // offset 0x18, size 0x4 int (* inverse)(struct vorbis_block *, void *, float * *, int *, int); // offset 0x1C, size 0x4 } residue2_exportbundle; // size: 0x20, address: 0x8090F430 /* Compile unit: C:\rockband2\system\src\oggvorbis\sharedbook.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8054A940 -> 0x8054B660 */ // Range: 0x8054A940 -> 0x8054A960 int _ilog() { // Local variables int ret; // r4 } // Range: 0x8054A960 -> 0x8054A9BC float _float32_unpack() { // Local variables double mant; // f1 long exp; // r4 } // Range: 0x8054A9BC -> 0x8054ABB0 unsigned int * _make_words(long * l /* r27 */, long n /* r28 */, long sparsecount /* r29 */) { // Local variables long i; // r3 long j; // r8 long count; // r31 unsigned int marker[33]; // r1+0x8 unsigned int * r; // r30 long length; // r9 unsigned int entry; // r0 unsigned int temp; // r4 } // Range: 0x8054ABB0 -> 0x8054AC88 long _book_maptype1_quantvals() { // Local variables long vals; // r3 long acc; // r4 long acc1; // r5 int i; // r6 } // Range: 0x8054AC88 -> 0x8054AF40 float * _book_unquantize(const struct static_codebook * b /* r28 */, int n /* r30 */, int * sparsemap /* r29 */) { // Local variables long j; // r4 long k; // r5 long count; // r31 int quantvals; // r0 float mindel; // f0 float delta; // f0 float * r; // r30 float last; // f2 int indexdiv; // r9 float val; // f0 float last; // f2 float val; // f0 } // Range: 0x8054AF40 -> 0x8054B02C void vorbis_staticbook_clear(struct static_codebook * b /* r31 */) {} // Range: 0x8054B02C -> 0x8054B06C void vorbis_staticbook_destroy(struct static_codebook * b /* r31 */) {} // Range: 0x8054B06C -> 0x8054B0F4 void vorbis_book_clear(struct codebook * b /* r31 */) {} // Range: 0x8054B0F4 -> 0x8054B174 int vorbis_book_init_encode(struct codebook * c /* r30 */, const struct static_codebook * s /* r31 */) {} // Range: 0x8054B174 -> 0x8054B1F8 static unsigned int bitreverse(unsigned int x /* r6 */) {} // Range: 0x8054B1F8 -> 0x8054B228 static int sort32a() {} // Range: 0x8054B228 -> 0x8054B660 int vorbis_book_init_decode(struct codebook * c /* r23 */, const struct static_codebook * s /* r24 */) { // Local variables int i; // r29 int j; // r7 int n; // r28 int tabn; // r30 int * sortindex; // r27 unsigned int * codes; // r26 unsigned int * * codep; // r25 unsigned int orig; // r0 unsigned int mask; // r25 long lo; // r26 long hi; // r27 unsigned int word; // r24 unsigned long loval; // r0 unsigned long hival; // r3 } /* Compile unit: C:\rockband2\system\src\oggvorbis\smallft.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8054B660 -> 0x8054CA98 */ static int ntryh[4]; // size: 0x10, address: 0x8090F450 static float tpi; // size: 0x4, address: 0x80A47538 // Range: 0x8054B660 -> 0x8054B88C static void drfti1(int n /* r19 */, float * wa /* r20 */, int * ifac /* r21 */) { // Local variables float arg; // f31 float argh; // f30 float argld; // f29 float fi; // f28 int ntry; // r7 int i; // r31 int j; // r30 int k1; // r29 int l1; // r28 int l2; // r27 int ib; // r8 int ld; // r26 int ii; // r18 int ip; // r3 int is; // r25 int nq; // r9 int ido; // r24 int ipm; // r23 int nfm1; // r22 int nl; // r10 int nf; // r4 // References // -> static float tpi; // -> static int ntryh[4]; } // Range: 0x8054B88C -> 0x8054B8A4 static void fdrffti() {} // Range: 0x8054B8A4 -> 0x8054BAA0 static void dradf2() { // Local variables int i; // r8 int k; // r9 float ti2; // f1 float tr2; // f2 int t0; // r10 int t1; // r11 int t2; // r12 int t3; // r31 int t4; // r30 int t5; // r29 int t6; // r28 } static float hsqt2; // size: 0x4, address: 0x80A4753C // Range: 0x8054BAA0 -> 0x8054BDF8 static void dradf4() { // Local variables int i; // r10 int k; // r11 int t0; // r12 int t1; // r31 int t2; // r30 int t3; // r29 int t4; // r28 int t5; // r27 int t6; // r26 float ci2; // f5 float ci3; // f6 float ci4; // f0 float cr2; // f7 float cr3; // f8 float cr4; // f2 float ti1; // f3 float ti2; // f1 float ti3; // f2 float ti4; // f4 float tr1; // f9 float tr2; // f5 float tr3; // f6 float tr4; // f7 // References // -> static float hsqt2; } static float tpi; // size: 0x4, address: 0x80A47540 // Range: 0x8054BDF8 -> 0x8054C794 static void dradfg(int ido /* r22 */, int ip /* r23 */, int l1 /* r24 */, int idl1 /* r25 */, float * cc /* r26 */, float * c1 /* r27 */, float * c2 /* r28 */, float * ch /* r29 */, float * ch2 /* r30 */, float * wa /* r31 */) { // Local variables int idij; // r10 int ipph; // r0 int i; // r3 int j; // r4 int k; // r5 int l; // r3 int ic; // r28 int ik; // r5 int is; // r11 int t0; // r6 int t1; // r7 int t2; // r8 int t3; // r9 int t4; // r10 int t5; // r11 int t6; // r12 int t7; // r27 int t8; // r31 int t9; // r21 int t10; // r20 float dc2; // f0 float ai1; // f3 float ai2; // f4 float ar1; // f5 float ar2; // f6 float ds2; // f0 int nbd; // r19 float dcp; // f31 float arg; // f30 float dsp; // f0 float ar1h; // f7 float ar2h; // f8 int idp2; // r0 int ipp2; // r0 // References // -> static float tpi; } // Range: 0x8054C794 -> 0x8054C9A0 static void drftf1(int n /* r22 */, float * c /* r23 */, float * ch /* r24 */, float * wa /* r25 */, int * ifac /* r26 */) { // Local variables int i; // r3 int k1; // r31 int l1; // r30 int l2; // r5 int na; // r29 int nf; // r28 int ip; // r4 int iw; // r27 int ido; // r3 int idl1; // r6 int ix2; // r8 int ix3; // r9 } // Range: 0x8054C9A0 -> 0x8054C9CC void drft_forward(struct { // total size: 0xC int n; // offset 0x0, size 0x4 float * trigcache; // offset 0x4, size 0x4 int * splitcache; // offset 0x8, size 0x4 } * l /* r7 */) {} // Range: 0x8054C9CC -> 0x8054CA38 void drft_init(struct { // total size: 0xC int n; // offset 0x0, size 0x4 float * trigcache; // offset 0x4, size 0x4 int * splitcache; // offset 0x8, size 0x4 } * l /* r30 */, int n /* r31 */) {} // Range: 0x8054CA38 -> 0x8054CA98 void drft_clear(struct { // total size: 0xC int n; // offset 0x0, size 0x4 float * trigcache; // offset 0x4, size 0x4 int * splitcache; // offset 0x8, size 0x4 } * l /* r31 */) {} /* Compile unit: C:\rockband2\system\src\oggvorbis\VorbisMem.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054CA98 -> 0x8054CB00 */ static const char * kMemType; // size: 0x4, address: 0x80A47548 // Range: 0x8054CA98 -> 0x8054CAA4 void * OggMalloc() { // References // -> static const char * kMemType; } // Range: 0x8054CAA4 -> 0x8054CAF0 void * OggCalloc() { // Local variables void * ret; // r30 } // Range: 0x8054CAF0 -> 0x8054CAFC void * OggRealloc() { // References // -> static const char * kMemType; } // Range: 0x8054CAFC -> 0x8054CB00 void OggFree() {} /* Compile unit: C:\rockband2\system\src\oggvorbis\window.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8054CB00 -> 0x8054CC68 */ static float vwin64[32]; // size: 0x80, address: 0x8090F470 static float vwin128[64]; // size: 0x100, address: 0x8090F4F0 static float vwin256[128]; // size: 0x200, address: 0x8090F5F0 static float vwin512[256]; // size: 0x400, address: 0x8090F7F0 static float vwin1024[512]; // size: 0x800, address: 0x8090FBF0 static float vwin2048[1024]; // size: 0x1000, address: 0x809103F0 static float vwin4096[2048]; // size: 0x2000, address: 0x809113F0 static float vwin8192[4096]; // size: 0x4000, address: 0x809133F0 static float * vwin[8]; // size: 0x20, address: 0x809173F0 // Range: 0x8054CB00 -> 0x8054CB14 float * _vorbis_window_get() { // References // -> static float * vwin[8]; } // Range: 0x8054CB14 -> 0x8054CC68 void _vorbis_apply_window() { // Local variables float * windowLW; // r6 float * windowNW; // r4 long n; // r0 long ln; // r7 long rn; // r9 long leftbegin; // r10 long leftend; // r11 long rightbegin; // r12 long rightend; // r9 int i; // r31 int p; // r10 // References // -> static float * vwin[8]; } /* Compile unit: C:\rockband2\system\src\oggvorbis\synthesis.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8054CC68 -> 0x8054CE1C */ // Range: 0x8054CC68 -> 0x8054CE1C int vorbis_synthesis(struct vorbis_block * vb /* r28 */, struct { // total size: 0x20 unsigned char * packet; // offset 0x0, size 0x4 long bytes; // offset 0x4, size 0x4 long b_o_s; // offset 0x8, size 0x4 long e_o_s; // offset 0xC, size 0x4 long long granulepos; // offset 0x10, size 0x8 long long packetno; // offset 0x18, size 0x8 } * op /* r26 */) { // Local variables struct vorbis_dsp_state * vd; // r4 struct private_state * b; // r31 struct vorbis_info * vi; // r30 struct codec_setup_info * ci; // r29 struct { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 } * opb; // r27 int mode; // r0 int i; // r27 // References // -> struct [anonymous] * _mapping_P[1]; } /* Compile unit: C:\rockband2\system\src\rndwii\Cam.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054CE1C -> 0x8054D3B4 */ class DataArray * types; // size: 0x4, address: 0x80A53E28 class Symbol name; // size: 0x4, address: 0x80A53E30 class Transform sWiiXfm; // size: 0x40, address: 0x809821E0 class WiiCam : public RndCam { // total size: 0x370 class Transform mViewXfm; // offset 0x2F0, size 0x40 unsigned char mAlleyRender; // offset 0x330, size 0x1 }; // Range: 0x8054CE1C -> 0x8054CEF8 void * WiiCam::WiiCam(class WiiCam * const this /* r31 */) { // References // -> struct [anonymous] __vt__6WiiCam; // -> struct [anonymous] __vt__16RndHighlightable; } class WiiEnviron : public RndEnviron { // total size: 0x160 }; // Range: 0x8054CEF8 -> 0x8054D1E4 void WiiCam::Select(class WiiCam * const this /* r30 */) { // Local variables class WiiDrawTarget * target; // r31 int targetWidth; // r28 int targetHeight; // r29 int leftOffset; // r27 float m[4][4]; // r1+0x8 float q; // f2 float vpLeft; // f31 float vpWidth; // f30 float vpTop; // f29 float vpHeight; // f28 class WiiEnviron * env; // r3 // References // -> class RndEnviron * sCurrent; // -> class Transform sWiiXfm; // -> class WiiRnd TheWiiRnd; // -> class NgStats * TheNgStats; } // Range: 0x8054D1E4 -> 0x8054D21C unsigned int WiiCam::ProjectZ() { // Local variables float q; // f3 } struct { // total size: 0xA4 } __vt__6WiiCam; // size: 0xA4, address: 0x80917410 struct { // total size: 0x8 } __RTTI__6WiiCam; // size: 0x8, address: 0x809174E8 // Range: 0x8054D21C -> 0x8054D2C4 static void __sinit_\Cam_cpp() { // References // -> class Transform sWiiXfm; } /* Compile unit: C:\rockband2\system\src\rndwii\Cam.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054D3B4 -> 0x8054D594 */ // Range: 0x8054D3B4 -> 0x8054D3F4 class Symbol WiiCam::ClassName() { // References // -> class Symbol name; } // Range: 0x8054D3F4 -> 0x8054D594 void WiiCam::SetType(class WiiCam * const this /* r29 */, class Symbol & WiiCam /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\Env.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054D644 -> 0x8054D7CC */ class DataArray * types; // size: 0x4, address: 0x80A53E38 class Symbol name; // size: 0x4, address: 0x80A53E40 static enum _GXLightID lightId[8]; // size: 0x20, address: 0x80917520 enum _GXLightID { GX_LIGHT0 = 1, GX_LIGHT1 = 2, GX_LIGHT2 = 4, GX_LIGHT3 = 8, GX_LIGHT4 = 16, GX_LIGHT5 = 32, GX_LIGHT6 = 64, GX_LIGHT7 = 128, GX_MAX_LIGHT = 256, GX_LIGHT_NULL = 0, }; // Range: 0x8054D644 -> 0x8054D658 static enum _GXLightID LightId() { // References // -> static enum _GXLightID lightId[8]; } // Range: 0x8054D658 -> 0x8054D690 void WiiEnviron::Select(class WiiEnviron * const this /* r31 */) {} // Range: 0x8054D690 -> 0x8054D7CC void WiiEnviron::UpdateLights(class WiiEnviron * const this /* r28 */) { // Local variables enum _GXLightID lightIds; // [invalid] unsigned char pointLight; // r31 class RndLight * light; // r29 enum _GXLightID id; // r30 int numDirLightsFound; // r29 class iterator it; // r1+0x18 enum Type type; // r0 enum _GXLightID id; // r28 // References // -> class WiiMat * sCurrent; // -> unsigned char sLightPoint; // -> enum _GXLightID sLightIds; // -> class NgStats * TheNgStats; } struct VColTex { // total size: 0x8 unsigned int col; // offset 0x0, size 0x4 signed short tex[2]; // offset 0x4, size 0x4 }; struct VPosNrm { // total size: 0x10 float pos[3]; // offset 0x0, size 0xC signed char nrm[3]; // offset 0xC, size 0x3 }; enum _GXAttrType { GX_NONE = 0, GX_DIRECT = 1, GX_INDEX8 = 2, GX_INDEX16 = 3, }; enum _GXPrimitive { GX_POINTS = 184, GX_LINES = 168, GX_LINESTRIP = 176, GX_TRIANGLES = 144, GX_TRIANGLESTRIP = 152, GX_TRIANGLEFAN = 160, GX_QUADS = 128, }; enum _GXVtxFmt { GX_VTXFMT0 = 0, GX_VTXFMT1 = 1, GX_VTXFMT2 = 2, GX_VTXFMT3 = 3, GX_VTXFMT4 = 4, GX_VTXFMT5 = 5, GX_VTXFMT6 = 6, GX_VTXFMT7 = 7, GX_MAX_VTXFMT = 8, }; class DisplayList { // total size: 0xC char * mData; // offset 0x0, size 0x4 int mSize; // offset 0x4, size 0x4 int mNumMeshVerts; // offset 0x8, size 0x4 }; class WiiMesh : public RndMesh { // total size: 0x1B0 struct VColTex * mCTVtxs; // offset 0x14C, size 0x4 struct VPosNrm * mPNVtxs; // offset 0x150, size 0x4 float * mWeights; // offset 0x154, size 0x4 unsigned char mSetVertexBuffersFailed; // offset 0x158, size 0x1 unsigned short mNumVerts; // offset 0x15A, size 0x2 unsigned short mNumFaces; // offset 0x15C, size 0x2 class DisplayList mDList; // offset 0x160, size 0xC unsigned short mNumBones; // offset 0x16C, size 0x2 }; struct _GXLightObj { // total size: 0x40 unsigned long dummy[16]; // offset 0x0, size 0x40 }; class WiiLight : public RndLight { // total size: 0x190 struct _GXLightObj mLight; // offset 0x114, size 0x40 unsigned char mLitDirty; // offset 0x154, size 0x1 }; struct { // total size: 0x64 } __vt__10WiiEnviron; // size: 0x64, address: 0x80917540 struct { // total size: 0x8 } __RTTI__10WiiEnviron; // size: 0x8, address: 0x809175D0 enum _GXTexCoordID { GX_TEXCOORD0 = 0, GX_TEXCOORD1 = 1, GX_TEXCOORD2 = 2, GX_TEXCOORD3 = 3, GX_TEXCOORD4 = 4, GX_TEXCOORD5 = 5, GX_TEXCOORD6 = 6, GX_TEXCOORD7 = 7, GX_MAX_TEXCOORD = 8, GX_TEXCOORD_NULL = 255, }; class WiiMat : public RndMat { // total size: 0x120 }; /* Compile unit: C:\rockband2\system\src\rndwii\Env.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054D7CC -> 0x8054D990 */ // Range: 0x8054D7CC -> 0x8054D94C void WiiEnviron::SetType(class WiiEnviron * const this /* r29 */, class Symbol & WiiEnviron /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8054D94C -> 0x8054D990 class Symbol WiiEnviron::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\GPUQueue.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054D9EC -> 0x8054DCCC */ class GPUQueue { // total size: 0x18 int mSize; // offset 0x0, size 0x4 char * mBuffer; // offset 0x4, size 0x4 char * mNextBlock; // offset 0x8, size 0x4 int mNumReqs; // offset 0xC, size 0x4 int mCurBytes; // offset 0x10, size 0x4 int mMaxBytes; // offset 0x14, size 0x4 }; class GPUQueue gGPUMem; // size: 0x18, address: 0x80982230 class GPUQueue & GPUMem; // size: 0x4, address: 0x80A53E48 // Range: 0x8054D9EC -> 0x8054DA0C void * GPUQueue::GPUQueue() {} // Range: 0x8054DA0C -> 0x8054DA74 void * GPUQueue::~GPUQueue(class GPUQueue * const this /* r30 */) {} static int _x; // size: 0x4, address: 0x80A53E4C // Range: 0x8054DA74 -> 0x8054DB20 void GPUQueue::Init(class GPUQueue * const this /* r30 */) { // Local variables class DataArray * config; // r31 // References // -> static int _x; } static class RndOverlay * stats; // size: 0x4, address: 0x80A53E54 // Range: 0x8054DB20 -> 0x8054DBBC void GPUQueue::Begin(class GPUQueue * const this /* r31 */) { // References // -> static class RndOverlay * stats; } // Range: 0x8054DBBC -> 0x8054DBD4 void GPUQueue::End() {} // Range: 0x8054DBD4 -> 0x8054DC7C void * GPUQueue::Acquire(class GPUQueue * const this /* r29 */, int numBytes /* r30 */) { // Local variables char * p; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8054DC7C -> 0x8054DCCC static void __sinit_\GPUQueue_cpp() { // References // -> class GPUQueue & GPUMem; // -> class GPUQueue gGPUMem; } /* Compile unit: C:\rockband2\system\src\rndwii\Lit.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054DCCC -> 0x8054DF0C */ // Range: 0x8054DCCC -> 0x8054DDE8 void WiiLight::Update(class WiiLight * const this /* r30 */, enum _GXLightID id /* r31 */) { // Local variables class Color c; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8054DDE8 -> 0x8054DF0C void WiiLight::UpdatePosition(class WiiLight * const this /* r31 */) { // Local variables class Vector3 p; // r1+0x20 class Vector3 dir; // r1+0x10 // References // -> class RndCam * sCurrent; } /* Compile unit: C:\rockband2\system\src\rndwii\Mat.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054DF0C -> 0x8054FD90 */ class DataArray * types; // size: 0x4, address: 0x80A53E60 class Symbol name; // size: 0x4, address: 0x80A53E68 class WiiMat * sCurrent; // size: 0x4, address: 0x80A53E6C enum _GXLightID sLightIds; // size: 0x4, address: 0x80A53E70 unsigned char sLightPoint; // size: 0x1, address: 0x80A53E74 const class Transform * sCurrentModelXfm; // size: 0x4, address: 0x80A53E78 unsigned char sCurrentZCompLoc; // size: 0x1, address: 0x80A47560 class RndTex * sGradientTex; // size: 0x4, address: 0x80A53E7C unsigned char sOverrideAlphaWrite; // size: 0x1, address: 0x80A53E80 static enum _GXTevStageID op[16]; // size: 0x40, address: 0x808496D8 enum _GXTevStageID { GX_TEVSTAGE0 = 0, GX_TEVSTAGE1 = 1, GX_TEVSTAGE2 = 2, GX_TEVSTAGE3 = 3, GX_TEVSTAGE4 = 4, GX_TEVSTAGE5 = 5, GX_TEVSTAGE6 = 6, GX_TEVSTAGE7 = 7, GX_TEVSTAGE8 = 8, GX_TEVSTAGE9 = 9, GX_TEVSTAGE10 = 10, GX_TEVSTAGE11 = 11, GX_TEVSTAGE12 = 12, GX_TEVSTAGE13 = 13, GX_TEVSTAGE14 = 14, GX_TEVSTAGE15 = 15, GX_MAX_TEVSTAGE = 16, }; // Range: 0x8054DF0C -> 0x8054DF90 static enum _GXTevStageID StageId(int i /* r31 */) { // References // -> static enum _GXTevStageID op[16]; // -> class Debug TheDebug; // -> const char * kAssertStr; } static enum _GXTexCoordID op[8]; // size: 0x20, address: 0x80849718 // Range: 0x8054DF90 -> 0x8054E014 static enum _GXTexCoordID TexCoordId(int i /* r31 */) { // References // -> static enum _GXTexCoordID op[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } static enum _GXTexMapID op[8]; // size: 0x20, address: 0x80849738 // Range: 0x8054E014 -> 0x8054E098 static enum _GXTexMapID TexMapId(int i /* r31 */) { // References // -> static enum _GXTexMapID op[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8054E098 -> 0x8054E204 void WiiMat::Init() { // Local variables const char * bitmapFile; // r31 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> class RndTex * sGradientTex; // -> class Symbol name; } static class Timer * _t; // size: 0x4, address: 0x80A53E84 static struct _GXColor white; // size: 0x4, address: 0x80A57940 // Range: 0x8054E204 -> 0x8054E7C8 void WiiMat::SelectParticles(class WiiMat * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0x18 enum _GXTevStageID id; // r29 unsigned char localHasAlphaTexture; // r28 class WiiTex * tex; // r27 // References // -> static struct _GXColor white; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndEnviron * sCurrent; // -> static class Timer * _t; // -> class WiiMat * sCurrent; } static class Timer * _t; // size: 0x4, address: 0x80A53E8C // Range: 0x8054E7C8 -> 0x8054ED18 class WiiMat * WiiMat::Select(class WiiMat * const this /* r28 */) { // Local variables class AutoTimer _at; // r1+0x3C struct _GXColor clear; // r1+0x38 class WiiEnviron * env; // r30 int numLightChannels; // r29 class Color ambCol; // r1+0x60 struct _GXColor cMat; // r1+0x34 struct _GXColor cAmb; // r1+0x30 class Color diffuse_col; // r1+0x50 enum _GXLightID lightIds; // r27 enum Blend b; // r27 int tex; // r1+0x2C int tev; // r1+0x28 // References // -> unsigned char sOverrideAlphaWrite; // -> unsigned char sLightPoint; // -> enum _GXLightID sLightIds; // -> class WiiRnd TheWiiRnd; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndCam * sCurrent; // -> class RndEnviron * sCurrent; // -> static class Timer * _t; // -> class NgStats * TheNgStats; // -> class WiiMat * sCurrent; } // Range: 0x8054ED18 -> 0x8054EDA8 void WiiMat::SetAlphaCutout(unsigned char enable /* r31 */) { // References // -> unsigned char sCurrentZCompLoc; } // Range: 0x8054EDA8 -> 0x8054EE28 void WiiMat::SetZBufferMode() {} // Range: 0x8054EE28 -> 0x8054EF58 void WiiMat::SetFrameBlend() { // References // -> class Debug TheDebug; } // Range: 0x8054EF58 -> 0x8054F21C void WiiMat::SetFog(class RndEnviron * env /* r30 */, class RndCam * cam /* r31 */) { // Local variables struct _GXColor col; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8054F21C -> 0x8054F57C void WiiMat::SetTexGen(class WiiMat * const this /* r30 */, enum _GXTexCoordID coord /* r31 */) { // Local variables class Transform t; // r1+0xC0 class Transform t2; // r1+0x80 float xfm[3][4]; // r1+0x50 class Vector3 euler; // r1+0x10 class Matrix3 m; // r1+0x20 // References // -> const class Transform * sCurrentModelXfm; } enum _GXTevColorArg { GX_CC_CPREV = 0, GX_CC_APREV = 1, GX_CC_C0 = 2, GX_CC_A0 = 3, GX_CC_C1 = 4, GX_CC_A1 = 5, GX_CC_C2 = 6, GX_CC_A2 = 7, GX_CC_TEXC = 8, GX_CC_TEXA = 9, GX_CC_RASC = 10, GX_CC_RASA = 11, GX_CC_ONE = 12, GX_CC_HALF = 13, GX_CC_KONST = 14, GX_CC_ZERO = 15, }; enum _GXTevAlphaArg { GX_CA_APREV = 0, GX_CA_A0 = 1, GX_CA_A1 = 2, GX_CA_A2 = 3, GX_CA_TEXA = 4, GX_CA_RASA = 5, GX_CA_KONST = 6, GX_CA_ZERO = 7, }; // Range: 0x8054F57C -> 0x8054FA98 void WiiMat::SetStageState(class WiiMat * const this /* r21 */, int & tex /* r22 */, int & tev /* r23 */, int numLightChannels /* r24 */) { // Local variables enum _GXTevStageID id; // r24 enum _GXTevColorArg prevColor; // r21 enum _GXTevAlphaArg prevAlpha; // r22 enum _GXTexMapID texmap; // r28 enum _GXTexCoordID coord; // r27 class WiiTex * pTex; // r26 enum _GXTevColorArg prevColor; // r20 enum _GXTevAlphaArg prevAlpha; // r19 enum _GXTevColorArg texColor; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8054FA98 -> 0x8054FD90 void WiiMat::SetFade(int & tex /* r29 */, int & tev /* r26 */, class RndEnviron * env /* r27 */, class RndCam * cam /* r28 */) { // Local variables enum _GXTevStageID id; // r31 enum _GXTexCoordID coord; // r30 enum _GXTexMapID texmap; // r29 float viewXfm[3][4]; // r1+0xA0 float modelXfm[3][4]; // r1+0x70 float mvXfm[3][4]; // r1+0x40 float fade[3][4]; // r1+0x10 struct _GXColor fademax; // r1+0xC // References // -> class RndTex * sGradientTex; // -> const class Transform * sCurrentModelXfm; } struct { // total size: 0x54 } __vt__6WiiMat; // size: 0x54, address: 0x809177D8 struct { // total size: 0x8 } __RTTI__6WiiMat; // size: 0x8, address: 0x80917850 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054FD90 -> 0x8054FDDC */ // Range: 0x8054FD90 -> 0x8054FDDC char * MakeString(const char * fmt /* r0 */, enum Blend t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\rndwii\Mat.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8054FDDC -> 0x80550064 */ // Range: 0x8054FDDC -> 0x8054FE30 class Object * WiiMat::NewObject() { // References // -> struct [anonymous] __vt__6WiiMat; } // Range: 0x8054FE30 -> 0x8054FEA8 void * WiiMat::~WiiMat(class WiiMat * const this /* r30 */) { // References // -> class WiiMat * sCurrent; } // Range: 0x8054FEA8 -> 0x80550024 void WiiMat::SetType(class WiiMat * const this /* r29 */, class Symbol & WiiMat /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80550024 -> 0x80550064 class Symbol WiiMat::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndobj\Cam.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80550064 -> 0x8055006C */ // Range: 0x80550064 -> 0x8055006C class RndCam * RndCam::Current() { // References // -> class RndCam * sCurrent; } /* Compile unit: C:\rockband2\system\src\math\Mtx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055006C -> 0x80550184 */ // Range: 0x8055006C -> 0x8055010C void FastInvert(class Transform & b /* r31 */) { // Local variables class Vector3 v; // r1+0x10 } // Range: 0x8055010C -> 0x80550138 void Matrix3::Set(float m22 /* f0 */) {} // Range: 0x80550138 -> 0x80550184 void Transpose() {} /* Compile unit: C:\rockband2\system\src\math\Vec.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80550184 -> 0x80550198 */ // Range: 0x80550184 -> 0x80550198 void Vector3::Zero() {} /* Compile unit: C:\RVL_SDK\include\revolution\gx\GXGeometry.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80550198 -> 0x805501A4 */ // Range: 0x80550198 -> 0x805501A4 static void GXSetTexCoordGen() {} /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805501A4 -> 0x80550228 */ // Range: 0x805501A4 -> 0x80550228 float InterpAng(float a /* f30 */, float f /* f31 */) {} /* Compile unit: C:\rockband2\system\src\rndwii\Mesh.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80550228 -> 0x80552DC0 */ class DataArray * types; // size: 0x4, address: 0x80A53E98 class Symbol name; // size: 0x4, address: 0x80A53EA0 char * sTemp; // size: 0x4, address: 0x80A53EA4 char * sCurr; // size: 0x4, address: 0x80A53EA8 // Range: 0x80550228 -> 0x8055023C void * DisplayList::DisplayList() {} // Range: 0x8055023C -> 0x80550290 void * DisplayList::~DisplayList(class DisplayList * const this /* r30 */) {} static int _x; // size: 0x4, address: 0x80A53EAC // Range: 0x80550290 -> 0x80550300 void DisplayList::Init() { // References // -> static int _x; // -> char * sTemp; } // Range: 0x80550300 -> 0x80550340 void DisplayList::Clear(class DisplayList * const this /* r31 */) {} static int _x; // size: 0x4, address: 0x80A53EB4 // Range: 0x80550340 -> 0x805503F8 void DisplayList::Copy(class DisplayList * const this /* r30 */, const class DisplayList & source /* r31 */) { // References // -> static int _x; } // Range: 0x805503F8 -> 0x8055047C void DisplayList::Begin(class DisplayList * const this /* r30 */, unsigned short numMeshVerts /* r31 */) { // References // -> char * sTemp; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> char * sCurr; } // Range: 0x8055047C -> 0x805504E4 void DisplayList::Begin(class DisplayList * const this /* r28 */, enum _GXPrimitive prim /* r29 */, enum _GXVtxFmt format /* r30 */, unsigned short numVerts /* r31 */) {} // Range: 0x805504E4 -> 0x80550510 void DisplayList::Start() { // References // -> char * sCurr; } static int _x; // size: 0x4, address: 0x80A53EBC // Range: 0x80550510 -> 0x80550664 void DisplayList::End(class DisplayList * const this /* r29 */) { // Local variables int size; // r30 // References // -> char * sTemp; // -> static int _x; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> char * sCurr; } // Range: 0x80550664 -> 0x805507C8 class DisplayList & DisplayList::__ls(class DisplayList * const this /* r28 */, unsigned short x /* r30 */) { // Local variables unsigned char xs; // r30 unsigned char * d; // r29 unsigned short * d; // r29 // References // -> char * sTemp; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> char * sCurr; } // Range: 0x805507C8 -> 0x805507E0 enum _GXAttrType DisplayList::Type() {} // Range: 0x805507E0 -> 0x805508D0 void DisplayList::Draw(const class DisplayList * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805508D0 -> 0x805509D8 void * WiiMesh::WiiMesh(class WiiMesh * const this /* r31 */) { // References // -> struct [anonymous] __vt__7WiiMesh; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x805509D8 -> 0x80550A7C void WiiMesh::Copy(class WiiMesh * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class WiiMesh * m; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7WiiMesh; } // Range: 0x80550A7C -> 0x80550B98 void WiiMesh::Init() { // References // -> class Symbol name; } // Range: 0x80550B98 -> 0x80550BE8 void WiiMesh::ReleaseBuffers(class WiiMesh * const this /* r31 */) {} // Range: 0x80550BE8 -> 0x80550D7C void WiiMesh::CreateBuffers(class WiiMesh * const this /* r31 */) { // Local variables int heap; // r0 unsigned int sz; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80550D7C -> 0x80550E78 void * WiiMesh::~WiiMesh(class WiiMesh * const this /* r30 */) { // References // -> struct [anonymous] __vt__7WiiMesh; } static class Timer * _t; // size: 0x4, address: 0x80A53EC4 // Range: 0x80550E78 -> 0x805514DC void WiiMesh::Sync(class WiiMesh * const this /* r29 */, int flags /* r30 */) { // Local variables class AutoTimer _at; // r1+0x28 float * wgt; // r3 int i; // r4 class Vert * it; // r5 int i; // r7 int numMeshVerts; // r28 class Striper striper; // r1+0x48 int patchStart; // r27 unsigned char * p; // r28 struct STRIPERRESULT sr; // r1+0x38 int nv; // [invalid] unsigned short * index; // r26 int i; // r25 int x; // r24 int numMeshVerts; // r24 int i; // r24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; } // Range: 0x805514DC -> 0x80551548 void WiiMesh::SetVertexDesc(class WiiMesh * const this /* r31 */) { // Local variables enum _GXAttrType type; // r31 } // Range: 0x80551548 -> 0x805515F0 void WiiMesh::SetVertexBuffers() { // Local variables const struct VColTex * ctVtxs; // r30 } static class Timer * _t; // size: 0x4, address: 0x80A53ECC static class Timer * _t; // size: 0x4, address: 0x80A53ED4 static class Timer * _t; // size: 0x4, address: 0x80A53EDC static class Timer * _t; // size: 0x4, address: 0x80A53EE4 static class Timer * _t; // size: 0x4, address: 0x80A53EEC // Range: 0x805515F0 -> 0x80551A80 void WiiMesh::DrawShowing(class WiiMesh * const this /* r27 */) { // Local variables class AutoTimer _at; // r1+0x30 class WiiMesh * owner; // r30 class WiiMat * mat; // [invalid] struct VPosNrm * skinVtxs; // r1+0x2C class AutoTimer _at; // r1+0x28 class WiiMat * pass; // r29 unsigned char reflection; // r28 class AutoTimer _at; // r1+0x24 class AutoTimer _at; // r1+0x20 class AutoTimer _at; // r1+0x1C // References // -> class NgStats * TheNgStats; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> class Rnd & TheRnd; // -> static class Timer * _t; // -> static class Timer * _t; } // Range: 0x80551A80 -> 0x80551D64 static void SkinMesh_2B(const struct VPosNrm * src /* r26 */, void * dst /* r27 */, const float * weight /* r28 */, int numVerts /* r29 */, const class Transform & t0 /* r30 */, const class Transform & t1 /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80551D64 -> 0x80552090 static void SkinMesh_3B(const struct VPosNrm * src /* r25 */, void * dst /* r26 */, const float * weight /* r27 */, int numVerts /* r28 */, const class Transform & t0 /* r29 */, const class Transform & t1 /* r30 */, const class Transform & t2 /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80552090 -> 0x80552400 static void SkinMesh_4B(const struct VPosNrm * src /* r24 */, void * dst /* r25 */, const float * weight /* r26 */, int numVerts /* r27 */, const class Transform & t0 /* r28 */, const class Transform & t1 /* r29 */, const class Transform & t2 /* r30 */, const class Transform & t3 /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Timer * _t; // size: 0x4, address: 0x80A53EF4 static class Timer * _t; // size: 0x4, address: 0x80A53EFC static class Timer * _t; // size: 0x4, address: 0x80A53F04 // Range: 0x80552400 -> 0x80552A9C void WiiMesh::SetTransforms(class WiiMesh * const this /* r23 */, struct VPosNrm * & skinVtxs /* r24 */) { // Local variables class WiiMesh * owner; // r30 float viewXfm[3][4]; // r1+0xF0 float modelXfm[3][4]; // r1+0xC0 class Transform t0; // r1+0x80 float modelViewXfm[3][4]; // r1+0x50 class AutoTimer _at; // r1+0x28 class Transform t[4]; // r1+0x120 int numVerts; // r1+0x24 void * dstVtxs; // r29 struct VPosNrm * srcVtxs; // [invalid] float * weights; // [invalid] struct VPosNrm * vertCache[4]; // r1+0x40 float * weightCache[4]; // r1+0x30 unsigned char * curVertDataPtr; // r28 unsigned char * endVertDataPtr; // r27 unsigned char * curWeightDataPtr; // r26 unsigned char numTransfers; // r25 unsigned char i; // r24 int bytes; // r22 int weightBytes; // r22 unsigned char i; // r24 int count; // r30 int bytes; // r22 int weightBytes; // r22 // References // -> static class Timer * _t; // -> static class Timer * _t; // -> class GPUQueue & GPUMem; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; // -> const class Transform * sCurrentModelXfm; // -> class RndCam * sCurrent; } // Range: 0x80552A9C -> 0x80552DC0 void WiiMesh::DrawReflection(class WiiMesh * const this /* r29 */) { // Local variables float identity[3][4]; // r1+0xF0 class WiiCam * camera; // r3 float view[3][4]; // r1+0xC0 float world[3][4]; // r1+0x90 float modelView[3][4]; // r1+0x60 struct Vec eyePos; // r1+0x50 int f; // r31 class Face & face; // r0 int v; // r30 int index; // r26 struct Vec mvPos; // r1+0x44 struct Vec mvNorm; // r1+0x38 struct Vec reflection; // r1+0x2C struct Vec eyeDir; // r1+0x20 struct Vec pos; // r1+0x14 struct Vec norm; // r1+0x8 // References // -> class RndCam * sCurrent; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xFC } __vt__7WiiMesh; // size: 0xFC, address: 0x80917C20 struct { // total size: 0x8 } __RTTI__7WiiMesh; // size: 0x8, address: 0x80917D60 /* Compile unit: C:\rockband2\system\src\rndwii\Mesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80552ED0 -> 0x8055310C */ // Range: 0x80552ED0 -> 0x80552F24 class Object * WiiMesh::NewObject() {} // Range: 0x80552F24 -> 0x80552F68 class Symbol WiiMesh::ClassName() { // References // -> class Symbol name; } // Range: 0x80552F68 -> 0x8055310C void WiiMesh::SetType(class WiiMesh * const this /* r29 */, class Symbol & WiiMesh /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\Movie.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055310C -> 0x80553890 */ class DataArray * types; // size: 0x4, address: 0x80A53F10 class Symbol name; // size: 0x4, address: 0x80A53F18 class WiiMovie : public RndMovie { // total size: 0x84 class SIVideo mVideo; // offset 0x2C, size 0x14 char * mBuffer; // offset 0x40, size 0x4 int mMovieFrame; // offset 0x44, size 0x4 class File * mStreamFile; // offset 0x48, size 0x4 int mStreamOrigin; // offset 0x4C, size 0x4 int mStreamOffset; // offset 0x50, size 0x4 char * mStreamAddr; // offset 0x54, size 0x4 }; // Range: 0x8055310C -> 0x805531A4 void * WiiMovie::WiiMovie(class WiiMovie * const this /* r30 */) { // References // -> struct [anonymous] __vt__8WiiMovie; } // Range: 0x805531A4 -> 0x805532F4 void * WiiMovie::~WiiMovie(class WiiMovie * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6RndTex,9ObjectDir>; // -> struct [anonymous] __vt__8WiiMovie; } // Range: 0x805532F4 -> 0x8055341C void WiiMovie::SetTex(class WiiMovie * const this /* r28 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Timer * _t; // size: 0x4, address: 0x80A53F1C // Range: 0x8055341C -> 0x80553644 void WiiMovie::SetFrame(class WiiMovie * const this /* r31 */, float frame /* f31 */) { // Local variables class AutoTimer _at; // r1+0xC int df; // r3 // References // -> static class Timer * _t; } // Range: 0x80553644 -> 0x805536A8 void WiiMovie::Update(class WiiMovie * const this /* r29 */) { // Local variables class WiiTex * tex; // r31 int size; // r30 void * ptr; // r0 } // Range: 0x805536A8 -> 0x80553730 int WiiMovie::StreamChunkSize(class WiiMovie * const this /* r30 */) {} // Range: 0x80553730 -> 0x80553778 void WiiMovie::StreamReadFinish(class WiiMovie * const this /* r31 */) { // Local variables int bytes; // r1+0x8 } // Range: 0x80553778 -> 0x805537F0 void WiiMovie::StreamNextBuffer(class WiiMovie * const this /* r31 */) {} // Range: 0x805537F0 -> 0x80553890 void WiiMovie::StreamRestart(class WiiMovie * const this /* r30 */, int f /* r31 */) {} struct { // total size: 0xB4 } __vt__8WiiMovie; // size: 0xB4, address: 0x80917FD0 struct { // total size: 0x8 } __RTTI__8WiiMovie; // size: 0x8, address: 0x809180B8 /* Compile unit: C:\rockband2\system\src\rndwii\Movie.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80553890 -> 0x80553DB0 */ // Range: 0x80553890 -> 0x80553BA8 void WiiMovie::SetFile(class WiiMovie * const this /* r31 */, const class FilePath & file /* r27 */, unsigned char stream /* r28 */) { // Local variables char * filename; // r28 int readAhead; // r1+0x14 class FileStream fs; // r1+0x48 class FileLoader * l; // r28 int size; // r1+0x10 class BufStream bs; // r1+0x24 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x80553BA8 -> 0x80553BEC class Symbol WiiMovie::ClassName() { // References // -> class Symbol name; } // Range: 0x80553BEC -> 0x80553D80 void WiiMovie::SetType(class WiiMovie * const this /* r29 */, class Symbol & WiiMovie /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80553D80 -> 0x80553DB0 float WiiMovie::EndFrame() {} /* Compile unit: C:\rockband2\system\src\rndwii\MultiMesh.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80553E8C -> 0x80554998 */ class DataArray * types; // size: 0x4, address: 0x80A53F28 class Symbol name; // size: 0x4, address: 0x80A53F30 static enum _GXPosNrmMtx index[10]; // size: 0x28, address: 0x80849768 enum _GXPosNrmMtx { GX_PNMTX0 = 0, GX_PNMTX1 = 3, GX_PNMTX2 = 6, GX_PNMTX3 = 9, GX_PNMTX4 = 12, GX_PNMTX5 = 15, GX_PNMTX6 = 18, GX_PNMTX7 = 21, GX_PNMTX8 = 24, GX_PNMTX9 = 27, }; // Range: 0x80553E8C -> 0x80553EA0 static enum _GXPosNrmMtx MtxIndex() { // References // -> static enum _GXPosNrmMtx index[10]; } static class Timer * _t; // size: 0x4, address: 0x80A53F34 static class Timer * _t; // size: 0x4, address: 0x80A53F3C static class Timer * _t; // size: 0x4, address: 0x80A53F44 static class Timer * _t; // size: 0x4, address: 0x80A53F4C static class Timer * _t; // size: 0x4, address: 0x80A53F54 static class Timer * _t; // size: 0x4, address: 0x80A53F5C static class Timer * _t; // size: 0x4, address: 0x80A53F64 static class Timer * _t; // size: 0x4, address: 0x80A53F6C static class Timer * _t; // size: 0x4, address: 0x80A53F74 static class Timer * _t; // size: 0x4, address: 0x80A53F7C static class Timer * _t; // size: 0x4, address: 0x80A53F84 static class Timer * _t; // size: 0x4, address: 0x80A53F8C static class Timer * _t; // size: 0x4, address: 0x80A53F94 static class Timer * _t; // size: 0x4, address: 0x80A53F9C static class Timer * _t; // size: 0x4, address: 0x80A53FA4 static class Timer * _t; // size: 0x4, address: 0x80A53FAC static class Timer * _t; // size: 0x4, address: 0x80A53FB4 class WiiMultiMesh : public RndMultiMesh { // total size: 0x80 }; // Range: 0x80553EA0 -> 0x80554998 void WiiMultiMesh::DrawShowing(class WiiMultiMesh * const this /* r25 */) { // Local variables class AutoTimer _at; // r1+0x78 class WiiMesh * mesh; // r28 class WiiMat * mat; // r30 class WiiMesh * owner; // r27 class WiiCam * cam; // r26 class WiiEnviron * env; // r3 class AutoTimer _at; // r1+0x74 float modelXfm[3][4]; // r1+0xE0 float viewXfm[3][4]; // r1+0xB0 float modelViewXfm[3][4]; // r1+0x80 int n; // r0 struct _List_iterator t; // r1+0x70 struct _List_iterator t_end; // r1+0x6C int i; // r26 int x; // r25 // References // -> class NgStats * TheNgStats; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> static class Timer * _t; // -> class Rnd & TheRnd; // -> static class Timer * _t; // -> static class Timer * _t; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class RndEnviron * sCurrent; // -> class RndCam * sCurrent; // -> static class Timer * _t; } struct { // total size: 0xBC } __vt__12WiiMultiMesh; // size: 0xBC, address: 0x809182EC struct { // total size: 0x8 } __RTTI__12WiiMultiMesh; // size: 0x8, address: 0x809183E8 /* Compile unit: C:\rockband2\system\src\rndwii\MultiMesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80554AF0 -> 0x80554CD8 */ // Range: 0x80554AF0 -> 0x80554B34 class Symbol WiiMultiMesh::ClassName() { // References // -> class Symbol name; } // Range: 0x80554B34 -> 0x80554CD8 void WiiMultiMesh::SetType(class WiiMultiMesh * const this /* r29 */, class Symbol & WiiMultiMesh /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\Part.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80554D28 -> 0x805552AC */ class DataArray * types; // size: 0x4, address: 0x80A53FC0 class Symbol name; // size: 0x4, address: 0x80A53FC8 float sIdentityMatrix[3][4]; // size: 0x30, address: 0x80982248 class WiiParticleSys : public RndParticleSys { // total size: 0x390 }; // Range: 0x80554D28 -> 0x80554DD4 void WiiParticleSys::Init() { // References // -> float sIdentityMatrix[3][4]; // -> class Symbol name; } static class Timer * _t; // size: 0x4, address: 0x80A53FCC // Range: 0x80554DD4 -> 0x805552AC void WiiParticleSys::DrawShowing(class WiiParticleSys * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0x18 class WiiMat * mat; // r3 class Transform t; // r1+0x80 class RndParticle * p; // r29 class Vector3 v; // r1+0x70 float s; // f1 class Vector2 v1; // r1+0x68 class Vector2 v2; // r1+0x60 class Vector2 v3; // r1+0x58 class Vector2 v4; // r1+0x50 class Vector2 urVecX; // r1+0x48 class Vector2 urVecY; // r1+0x40 class Vector2 vNew1; // r1+0x38 class Vector2 vNew2; // r1+0x30 class Vector2 vNew3; // r1+0x28 class Vector2 vNew4; // r1+0x20 // References // -> class NgStats * TheNgStats; // -> float sIdentityMatrix[3][4]; // -> class RndCam * sCurrent; // -> class Rnd & TheRnd; // -> static class Timer * _t; } struct { // total size: 0x18C } __vt__14WiiParticleSys; // size: 0x18C, address: 0x809185C4 struct { // total size: 0x8 } __RTTI__14WiiParticleSys; // size: 0x8, address: 0x809187A8 /* Compile unit: C:\rockband2\system\src\rndwii\Part.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805552AC -> 0x805555B0 */ // Range: 0x805552AC -> 0x805553D8 class Object * WiiParticleSys::NewObject() { // References // -> struct [anonymous] __vt__14WiiParticleSys; // -> struct [anonymous] __vt__16RndHighlightable; // -> class Symbol name; } // Range: 0x805553D8 -> 0x8055541C class Symbol WiiParticleSys::ClassName() { // References // -> class Symbol name; } // Range: 0x8055541C -> 0x805555B0 void WiiParticleSys::SetType(class WiiParticleSys * const this /* r29 */, class Symbol & WiiParticleSys /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\PostProc.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805556FC -> 0x80557658 */ class DataArray * types; // size: 0x4, address: 0x80A53FD8 class Symbol name; // size: 0x4, address: 0x80A53FE0 class RndTex * sWorkTex; // size: 0x4, address: 0x80A53FE4 class RndTex * sBloomTex; // size: 0x4, address: 0x80A53FE8 class RndTex * sGrayscaleTex; // size: 0x4, address: 0x80A53FEC struct WiiHOTRing sHOTRings[25]; // size: 0x4B0, address: 0x80982280 class WiiPostProc : public RndPostProc { // total size: 0x1E0 class RndTexRenderer * mHOTRenderer; // offset 0x1B0, size 0x4 class Vector2 mNoisePos; // offset 0x1B4, size 0x8 float mNoiseScale; // offset 0x1BC, size 0x4 class Color mBaseHOTColor; // offset 0x1C0, size 0x10 class Color mLastHOTColor; // offset 0x1D0, size 0x10 }; // Range: 0x805556FC -> 0x805559AC void WiiPostProc::Init() { // Local variables int h; // r29 // References // -> class Symbol name; // -> class RndTex * sGrayscaleTex; // -> class RndTex * sBloomTex; // -> class RndTex * sWorkTex; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> class WiiRnd TheWiiRnd; } // Range: 0x805559AC -> 0x80555A4C void WiiPostProc::Terminate() { // References // -> class RndTex * sGrayscaleTex; // -> class RndTex * sBloomTex; // -> class RndTex * sWorkTex; } // Range: 0x80555A4C -> 0x80555AA0 void * WiiPostProc::WiiPostProc(class WiiPostProc * const this /* r31 */) { // References // -> struct [anonymous] __vt__11WiiPostProc; } // Range: 0x80555AA0 -> 0x80555AFC void * WiiPostProc::~WiiPostProc(class WiiPostProc * const this /* r30 */) {} // Range: 0x80555AFC -> 0x80555C40 void WiiPostProc::Select(class WiiPostProc * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__8RndLight; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RndTexRenderer; // -> class WorldDir * TheWorld; } static class Timer * _t; // size: 0x4, address: 0x80A53FF0 // Range: 0x80555C40 -> 0x80555D78 void WiiPostProc::BeginWorld(class WiiPostProc * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class WiiRnd TheWiiRnd; // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A53FF8 // Range: 0x80555D78 -> 0x80556160 void WiiPostProc::EndWorld(class WiiPostProc * const this /* r29 */) { // Local variables class AutoTimer _at; // r1+0x14 class WiiOrthoProj _ortho; // r1+0x18 unsigned char c; // r3 struct _GXColor color; // r1+0x10 // References // -> class RndTex * sBloomTex; // -> class RndTex * sWorkTex; // -> class Rnd & TheRnd; // -> class WiiRnd TheWiiRnd; // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A54000 // Range: 0x80556160 -> 0x80556300 void WiiPostProc::DoPost(class WiiPostProc * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class WiiRnd TheWiiRnd; // -> static class Timer * _t; } // Range: 0x80556300 -> 0x805567D0 void WiiPostProc::DoBloom(class WiiPostProc * const this /* r31 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x28 float texmtx[2][4]; // r1+0x8 float size; // f31 // References // -> class RndTex * sBloomTex; // -> class WiiRnd TheWiiRnd; } // Range: 0x805567D0 -> 0x80556B98 void WiiPostProc::DoNoise(class WiiPostProc * const this /* r31 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x30 float mod1[3][4]; // r1+0x80 float mod2[3][4]; // r1+0x50 class Color intense; // r1+0x20 // References // -> class WiiRnd TheWiiRnd; } // Range: 0x80556B98 -> 0x80556D6C void WiiPostProc::DoDesaturation(class WiiPostProc * const this /* r29 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x10 float factor; // f0 struct _GXColor color; // r1+0xC // References // -> class RndTex * sGrayscaleTex; // -> class WiiRnd TheWiiRnd; } // Range: 0x80556D6C -> 0x805575A4 void WiiPostProc::DoHallOfTime(class WiiPostProc * const this /* r31 */) { // Local variables float distance; // f0 int i; // r3 float r; // f6 float g; // f7 float b; // f1 float fade; // f4 float r; // f5 float g; // f6 float b; // f1 class WiiOrthoProj _ortho; // r1+0x40 class Rect rect; // r1+0x30 float adjust; // f4 int i; // r29 class Color color; // r1+0x20 signed short tweak; // r30 signed short tweak2; // r31 // References // -> class Rnd & TheRnd; // -> unsigned char sCurrentZCompLoc; // -> struct WiiHOTRing sHOTRings[25]; // -> class WiiRnd TheWiiRnd; } // Range: 0x805575A4 -> 0x80557638 void WiiPostProc::BeginHallOfTime(class WiiPostProc * const this /* r30 */) { // References // -> unsigned char sOverrideAlphaWrite; // -> class WiiRnd TheWiiRnd; } struct { // total size: 0x84 } __vt__11WiiPostProc; // size: 0x84, address: 0x80918814 struct { // total size: 0x8 } __RTTI__11WiiPostProc; // size: 0x8, address: 0x809188C8 // Range: 0x80557638 -> 0x80557658 static void __sinit_\PostProc_cpp() { // References // -> struct WiiHOTRing sHOTRings[25]; } struct WiiHOTRing { // total size: 0x30 unsigned short pos; // offset 0x0, size 0x2 class Color baseColor; // offset 0x10, size 0x10 class Color pulseColor; // offset 0x20, size 0x10 }; /* Compile unit: C:\rockband2\system\src\rndwii\PostProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80557658 -> 0x805578B4 */ // Range: 0x80557658 -> 0x80557694 class Object * WiiPostProc::NewObject() {} // Range: 0x80557694 -> 0x8055769C float WiiPostProc::Priority() {} // Range: 0x8055769C -> 0x8055781C void WiiPostProc::SetType(class WiiPostProc * const this /* r29 */, class Symbol & WiiPostProc /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8055781C -> 0x80557860 class Symbol WiiPostProc::ClassName() { // References // -> class Symbol name; } // Range: 0x80557860 -> 0x80557894 void * WiiHOTRing::WiiHOTRing() {} /* Compile unit: C:\rockband2\system\src\rndwii\Rnd.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805578B4 -> 0x8055AFAC */ class DataArray * types; // size: 0x4, address: 0x80A54008 class Symbol name; // size: 0x4, address: 0x80A54010 class Symbol name; // size: 0x4, address: 0x80A54018 class Symbol name; // size: 0x4, address: 0x80A54020 class WiiRnd TheWiiRnd; // size: 0x280, address: 0x80982740 class Rnd & TheRnd; // size: 0x4, address: 0x80A54024 unsigned char gFinishFrame; // size: 0x1, address: 0x80A54028 unsigned char gPreInitComplete; // size: 0x1, address: 0x80A54029 unsigned char gInitComplete; // size: 0x1, address: 0x80A5402A class WiiDrawTarget * sCurrentTarget; // size: 0x4, address: 0x80A5402C class list : public _List_base { // total size: 0x8 }; class list sDelayedFreeList; // size: 0x8, address: 0x809829D0 class NgStats gNgStats[3]; // size: 0x84, address: 0x809829D8 class NgStats * TheNgStats; // size: 0x4, address: 0x80A47590 // Range: 0x805578B4 -> 0x805578C0 static void OnVIRetrace() { // References // -> unsigned char gFinishFrame; } static class Timer * _t; // size: 0x4, address: 0x80A54030 // Range: 0x805578C0 -> 0x80557950 void OnDrawSync() { // References // -> static class Timer * _t; } // Range: 0x80557950 -> 0x805579BC void WiiDrawTarget::MakeDrawTarget(class WiiDrawTarget * const this /* r31 */) { // References // -> class WiiDrawTarget * sCurrentTarget; } // Range: 0x805579BC -> 0x805579F8 void * WiiOrthoProj::WiiOrthoProj(class WiiOrthoProj * const this /* r31 */) { // References // -> class WiiRnd TheWiiRnd; } // Range: 0x805579F8 -> 0x80557A4C void * WiiOrthoProj::~WiiOrthoProj(class WiiOrthoProj * const this /* r30 */) {} // Range: 0x80557A4C -> 0x80557AE8 void * WiiRnd::WiiRnd(class WiiRnd * const this /* r31 */) { // References // -> struct [anonymous] __vt__6WiiRnd; } // Range: 0x80557AE8 -> 0x80557CD4 void * WiiRnd::~WiiRnd(class WiiRnd * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList<11RndDrawable,9ObjectDir>; } // Range: 0x80557CD4 -> 0x80557CF4 static void WiiModal(unsigned char & fail /* r7 */, char * msg /* r0 */) { // References // -> class WiiRnd TheWiiRnd; } // Range: 0x80557CF4 -> 0x80557ECC void WiiRnd::Modal(class WiiRnd * const this /* r28 */, unsigned char fail /* r29 */, char * msg /* r30 */, unsigned char wait /* r31 */) { // Local variables class Color clear; // r1+0x40 char tmp[4000]; // r1+0x50 class Rect r; // r1+0x30 // References // -> class Debug TheDebug; } // Range: 0x80557ECC -> 0x805582BC void WiiRnd::PreInit(class WiiRnd * const this /* r31 */) { // Local variables struct _GXRenderModeObj * rMode; // r28 unsigned long tvFormat; // r0 unsigned long scanMode; // r0 float yScale; // f0 unsigned int xfbHeight; // r0 // References // -> unsigned char gPreInitComplete; // -> struct _GXRenderModeObj GXEurgb60Hz480IntDf; // -> struct _GXRenderModeObj GXPal528IntDf; // -> struct _GXRenderModeObj GXEurgb60Hz480Prog; // -> struct _GXRenderModeObj GXNtsc480IntDf; // -> struct _GXRenderModeObj GXNtsc480Prog; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x805582BC -> 0x80558570 void WiiRnd::Init(class WiiRnd * const this /* r31 */) { // References // -> unsigned char gInitComplete; // -> class GPUQueue & GPUMem; // -> class WiiDrawTarget * sCurrentTarget; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Debug TheDebug; // -> unsigned char gPreInitComplete; } class WiiTexRenderer : public RndTexRenderer { // total size: 0xB0 }; // Range: 0x80558570 -> 0x80558574 void WiiRnd::WiiPreInit() {} // Range: 0x80558574 -> 0x8055879C void WiiRnd::GXReInit(class WiiRnd * const this /* r29 */, unsigned char flush /* r30 */) { // Local variables float yScale; // f0 unsigned int xfbHeight; // r0 } // Range: 0x8055879C -> 0x80558830 void WiiRnd::Terminate(class WiiRnd * const this /* r31 */) {} // Range: 0x80558830 -> 0x80558838 void WiiRnd::SetAspect() {} // Range: 0x80558838 -> 0x80558854 float WiiRnd::YRatio() {} // Range: 0x80558854 -> 0x80558968 void WiiRnd::ExecProgressiveScan(class WiiRnd * const this /* r31 */) { // Local variables struct _GXRenderModeObj * rMode; // r4 unsigned long tvFormat; // r0 // References // -> struct _GXRenderModeObj GXMpal480IntDf; // -> struct _GXRenderModeObj GXMpal480Prog; // -> struct _GXRenderModeObj GXEurgb60Hz480IntDf; // -> struct _GXRenderModeObj GXPal528IntDf; // -> struct _GXRenderModeObj GXEurgb60Hz480Prog; // -> struct _GXRenderModeObj GXNtsc480IntDf; // -> struct _GXRenderModeObj GXNtsc480Prog; } // Range: 0x80558968 -> 0x805589A0 unsigned char WiiRnd::Ntsc() { // Local variables unsigned int mode; // r0 } // Range: 0x805589A0 -> 0x80558B2C void WiiRnd::ConfigureRenderMode(class WiiRnd * const this /* r30 */) { // Local variables float kfVideoAspectRatio; // f0 float kfRenderAspectRatio; // f30 float kfViewAspectRatio; // f2 float kfPixelAspectRatio; // f3 } // Range: 0x80558B2C -> 0x80558B4C void WiiRnd::SetSync() {} // Range: 0x80558B4C -> 0x80558BD0 void WiiRnd::SyncFree(void * pMem /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std14_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sDelayedFreeList; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std14_List_node; // size: 0x8, address: 0x809189B0 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80558BD0 -> 0x80558C4C void WiiRnd::SyncDestroy() { // Local variables struct _List_iterator it; // r1+0x10 // References // -> class list sDelayedFreeList; } static class Timer * _t; // size: 0x4, address: 0x80A54038 static class Timer * _t; // size: 0x4, address: 0x80A54040 static class Timer * _t; // size: 0x4, address: 0x80A54048 static class Timer * _t; // size: 0x4, address: 0x80A54050 // Range: 0x80558C4C -> 0x8055908C void WiiRnd::BeginDrawing(class WiiRnd * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x34 unsigned long z; // r1+0x30 // References // -> class WiiMat * sCurrent; // -> static class Timer * _t; // -> static class Timer * _t; // -> class GPUQueue & GPUMem; // -> static class Timer * _t; // -> static class Timer * _t; // -> unsigned char gFinishFrame; // -> unsigned char gInitComplete; // -> unsigned char gPreInitComplete; // -> class PlatformMgr ThePlatformMgr; } static class Timer * _t; // size: 0x4, address: 0x80A54058 static class Timer * _t; // size: 0x4, address: 0x80A54060 static class Timer * _t; // size: 0x4, address: 0x80A54068 static class Timer * _t; // size: 0x4, address: 0x80A54070 // Range: 0x8055908C -> 0x805593DC void WiiRnd::BeginDrawing(class WiiRnd * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x2C unsigned long z; // r1+0x28 // References // -> class WiiMat * sCurrent; // -> static class Timer * _t; // -> static class Timer * _t; // -> class GPUQueue & GPUMem; // -> static class Timer * _t; // -> static class Timer * _t; // -> unsigned char gFinishFrame; // -> unsigned char gInitComplete; // -> unsigned char gPreInitComplete; } // Range: 0x805593DC -> 0x80559450 void WiiRnd::EndDrawing(class WiiRnd * const this /* r31 */) { // References // -> class GPUQueue & GPUMem; // -> unsigned char gInitComplete; // -> unsigned char gPreInitComplete; } // Range: 0x80559450 -> 0x80559454 void WiiRnd::ClearBuffer() {} // Range: 0x80559454 -> 0x80559738 void WiiRnd::DrawRect(class WiiRnd * const this /* r30 */, const class Rect & r /* r27 */, const class Color & c /* r29 */, class RndMat * mat /* r28 */, const class Color * right /* r26 */, const class Color * bottom /* r25 */) { // Local variables float savedProjection[7]; // r1+0x20 unsigned long c1; // r31 unsigned long c2; // r30 unsigned long c3; // r26 unsigned long c4; // r29 class WiiMat * pass; // [invalid] unsigned char defaultMat; // r25 // References // -> class Rnd & TheRnd; } // Range: 0x80559738 -> 0x805597F8 static void SetupDrawStringMaterial(const class Color & c /* r31 */) {} // Range: 0x805597F8 -> 0x80559830 static void SetupDrawStringVertexDesc() {} // Range: 0x80559830 -> 0x80559BC8 float WiiRnd::DrawString(class WiiRnd * const this /* r18 */, const char * s /* r19 */, const class Vector2 & place /* r20 */, const class Color & c /* r17 */) { // Local variables float savedProjection[7]; // r1+0x40 class Vector2 pos; // r1+0x18 void * image; // r1+0x14 long xChar; // r1+0x10 long yChar; // r1+0xC long width; // r1+0x8 long qw; // r30 long qh; // r29 struct _GXTexObj texObj; // r1+0x20 float mtx[3][4]; // r1+0x60 unsigned char lastEol; // r28 signed short posLeft; // r27 signed short posRight; // r26 signed short posTop; // r25 signed short posBottom; // r24 signed short texLeft; // r23 signed short texRight; // r22 signed short texTop; // r21 signed short texBottom; // r17 // References // -> class WiiMat * sCurrent; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80559BC8 -> 0x80559CB4 void WiiRnd::DrawLine(const class Vector3 & start /* r29 */, const class Vector3 & end /* r30 */, const class Color & c /* r31 */) {} // Range: 0x80559CB4 -> 0x80559CE8 void WiiRnd::DoWorldEnd(class WiiRnd * const this /* r31 */) {} // Range: 0x80559CE8 -> 0x80559D30 void WiiRnd::DoPostProcess(class WiiRnd * const this /* r30 */) { // References // -> class WiiMat * sCurrent; } // Range: 0x80559D30 -> 0x80559D94 void MakeWiiMtx() {} // Range: 0x80559D94 -> 0x80559E50 void MakeWiiMtxTex() { // Local variables float x; // f6 float y; // f7 } static class Symbol _s; // size: 0x4, address: 0x80A54078 static class Symbol _s; // size: 0x4, address: 0x80A54080 static class Symbol _s; // size: 0x4, address: 0x80A54088 static class Symbol _s; // size: 0x4, address: 0x80A54090 static class Symbol _s; // size: 0x4, address: 0x80A54098 // Range: 0x80559E50 -> 0x8055A604 class DataNode WiiRnd::Handle(class WiiRnd * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8055A604 -> 0x8055A640 void WiiRnd::CopyBuffer(class WiiRnd * const this /* r31 */) {} // Range: 0x8055A640 -> 0x8055A6A4 void WiiRnd::SetOrthoProj(class WiiRnd * const this /* r31 */) {} // Range: 0x8055A6A4 -> 0x8055A730 void WiiRnd::ResetStats() { // References // -> class NgStats * TheNgStats; // -> class NgStats gNgStats[3]; } // Range: 0x8055A730 -> 0x8055A9DC float WiiRnd::UpdateOverlay(class WiiRnd * const this /* r29 */, float y /* f31 */) { // References // -> class NgStats * TheNgStats; // -> class NgStats gNgStats[3]; } // Range: 0x8055A9DC -> 0x8055AACC void WiiRnd::SetFullScrProj(class WiiRnd * const this /* r30 */) { // Local variables float screenOrthoProjXfm[4][4]; // r1+0x38 float identityXfm[3][4]; // r1+0x8 } // Range: 0x8055AACC -> 0x8055AB64 void WiiRnd::DrawQuad() {} // Range: 0x8055AB64 -> 0x8055AC34 void WiiRnd::DrawQuad(const class Rect & rect /* r31 */) {} // Range: 0x8055AC34 -> 0x8055AC74 void WiiRnd::SetScreenDimming(class WiiRnd * const this /* r30 */, unsigned char screenDimming /* r31 */) {} // Range: 0x8055AC74 -> 0x8055ACBC void WiiRnd::ClearSwapTables() { // Local variables int i; // r31 } // Range: 0x8055ACBC -> 0x8055AF1C void WiiRnd::DrawBlackBackground(class WiiRnd * const this /* r29 */) { // Local variables struct _GXColor matColor; // r1+0x14 struct _GXColor ambColor; // r1+0x10 } // Range: 0x8055AF1C -> 0x8055AF24 void WiiRnd::SetTriFrameRendering() {} struct { // total size: 0xAC } __vt__8WiiLight; // size: 0xAC, address: 0x80918BC0 struct { // total size: 0x8 } __RTTI__8WiiLight; // size: 0x8, address: 0x80918CA8 struct { // total size: 0xF4 } __vt__6WiiRnd; // size: 0xF4, address: 0x80918CB0 struct { // total size: 0x8 } __RTTI__6WiiRnd; // size: 0x8, address: 0x80918DD8 struct { // total size: 0x10 } __vt__13WiiDrawTarget; // size: 0x10, address: 0x80918DE0 class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; // Range: 0x8055AF24 -> 0x8055AFAC static void __sinit_\Rnd_cpp() { // References // -> class list sDelayedFreeList; // -> class Rnd & TheRnd; // -> class WiiRnd TheWiiRnd; } class _List_node : public _List_node_base { // total size: 0xC public: void * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; struct _GXRenderModeObj GXMpal480IntDf; // size: 0x3C, address: 0x8093C5C8 struct _GXRenderModeObj GXMpal480Prog; // size: 0x3C, address: 0x8093C604 struct _GXRenderModeObj GXEurgb60Hz480IntDf; // size: 0x3C, address: 0x8093C67C struct _GXRenderModeObj GXPal528IntDf; // size: 0x3C, address: 0x8093C640 struct _GXRenderModeObj GXEurgb60Hz480Prog; // size: 0x3C, address: 0x8093C6B8 struct _GXRenderModeObj GXNtsc480IntDf; // size: 0x3C, address: 0x8093C550 struct _GXRenderModeObj GXNtsc480Prog; // size: 0x3C, address: 0x8093C58C /* Compile unit: C:\rockband2\system\src\rndwii\Rnd.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055AFAC -> 0x8055AFB4 */ // Range: 0x8055AFAC -> 0x8055AFB0 void WiiDrawTarget::CopyContent() {} // Range: 0x8055AFB0 -> 0x8055AFB4 void WiiDrawTarget::MakeCurrent() {} /* Compile unit: C:\rockband2\system\src\rndwii\Cam.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B0E4 -> 0x8055B158 */ // Range: 0x8055B0E4 -> 0x8055B158 class Object * WiiCam::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\Env.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B158 -> 0x8055B1D0 */ // Range: 0x8055B158 -> 0x8055B1D0 class Object * WiiEnviron::NewObject() { // References // -> struct [anonymous] __vt__10WiiEnviron; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\Lit.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B1D0 -> 0x8055B5F0 */ // Range: 0x8055B1D0 -> 0x8055B2E4 class Object * WiiLight::NewObject() { // References // -> struct [anonymous] __vt__8WiiLight; // -> struct [anonymous] __vt__16RndHighlightable; // -> class Symbol name; } // Range: 0x8055B2E4 -> 0x8055B328 class Symbol WiiLight::ClassName() { // References // -> class Symbol name; } // Range: 0x8055B328 -> 0x8055B4CC void WiiLight::SetType(class WiiLight * const this /* r29 */, class Symbol & WiiLight /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8055B4CC -> 0x8055B500 void WiiLight::Copy(class WiiLight * const this /* r31 */) {} // Range: 0x8055B500 -> 0x8055B534 void WiiLight::Load(class WiiLight * const this /* r31 */) {} // Range: 0x8055B534 -> 0x8055B540 void WiiLight::UpdatedWorldXfm() {} // Range: 0x8055B540 -> 0x8055B550 void WiiLight::SetLightType() {} // Range: 0x8055B550 -> 0x8055B560 void WiiLight::SetRange() {} // Range: 0x8055B560 -> 0x8055B5F0 void WiiLight::SetColor(class WiiLight * const this /* r30 */, const class Color & d /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\rndwii\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B5F0 -> 0x8055B62C */ // Range: 0x8055B5F0 -> 0x8055B62C class Object * WiiTex::NewObject() {} /* Compile unit: C:\rockband2\system\src\rndwii\MultiMesh.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B62C -> 0x8055B740 */ // Range: 0x8055B62C -> 0x8055B740 class Object * WiiMultiMesh::NewObject() { // References // -> struct [anonymous] __vt__12WiiMultiMesh; // -> struct [anonymous] __vt__16RndHighlightable; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\Movie.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B740 -> 0x8055B7B4 */ // Range: 0x8055B740 -> 0x8055B7B4 class Object * WiiMovie::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\TexRenderer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B7B4 -> 0x8055B82C */ // Range: 0x8055B7B4 -> 0x8055B82C class Object * WiiTexRenderer::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B82C -> 0x8055B88C */ // Range: 0x8055B82C -> 0x8055B88C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B978 -> 0x8055B9D0 */ // Range: 0x8055B978 -> 0x8055B9D0 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\rndwii\SplitPostProc.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055B9D0 -> 0x8055CB30 */ // Range: 0x8055B9D0 -> 0x8055BAD8 void * WiiSplitPostProc::~WiiSplitPostProc(class WiiSplitPostProc * const this /* r29 */) { // References // -> class Rnd & TheRnd; // -> struct [anonymous] __vt__16WiiSplitPostProc; } static class Timer * _t; // size: 0x4, address: 0x80A540A0 // Range: 0x8055BAD8 -> 0x8055BBEC void WiiSplitPostProc::BeginWorld(class WiiSplitPostProc * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class WiiRnd TheWiiRnd; // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A540A8 // Range: 0x8055BBEC -> 0x8055BCA4 void WiiSplitPostProc::EndWorld() { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A540B0 // Range: 0x8055BCA4 -> 0x8055BE80 void WiiSplitPostProc::DoPost(class WiiSplitPostProc * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class WiiRnd TheWiiRnd; // -> static class Timer * _t; } // Range: 0x8055BE80 -> 0x8055C0D0 void WiiSplitPostProc::DrawWorldTex(class WiiSplitPostProc * const this /* r31 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x8 class WiiTex * tex; // r0 // References // -> class WiiRnd TheWiiRnd; // -> unsigned char sCurrentZCompLoc; // -> class RndCam * sCurrent; } // Range: 0x8055C0D0 -> 0x8055C8BC void WiiSplitPostProc::DrawFinalTex(class WiiSplitPostProc * const this /* r30 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x70 class RndPostProc * pp; // r29 class Transform colorxfm; // r1+0x90 float currMod; // f0 class Color hmxoverflow; // r1+0x60 class Color hmxscale; // r1+0x50 struct _GXColor offset; // r1+0x44 unsigned char subtract; // r31 enum _GXTevStageID next; // r28 // References // -> class WiiRnd TheWiiRnd; // -> class RndCam * sCurrent; } // Range: 0x8055C8BC -> 0x8055C9CC void WiiSplitPostProc::ClearAlpha(class WiiSplitPostProc * const this /* r31 */) { // References // -> class WiiRnd TheWiiRnd; // -> class Rnd & TheRnd; } // Range: 0x8055C9CC -> 0x8055CB30 void WiiSplitPostProc::DrawWorldColorTex(class WiiSplitPostProc * const this /* r31 */) { // Local variables class WiiOrthoProj _ortho; // r1+0x8 // References // -> class WiiRnd TheWiiRnd; // -> class RndCam * sCurrent; } struct { // total size: 0x18 } __vt__16WiiSplitPostProc; // size: 0x18, address: 0x80919250 struct { // total size: 0x8 } __RTTI__16WiiSplitPostProc; // size: 0x8, address: 0x80919288 /* Compile unit: C:\rockband2\system\src\rndobj\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055CB30 -> 0x8055CDC8 */ // Range: 0x8055CB30 -> 0x8055CDC8 void * WiiSplitPostProc::WiiSplitPostProc(class WiiSplitPostProc * const this /* r31 */) { // Local variables int numBytes; // r0 // References // -> class Rnd & TheRnd; // -> class WiiRnd TheWiiRnd; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6RndTex; // -> class Symbol name; // -> struct [anonymous] __vt__16WiiSplitPostProc; } /* Compile unit: C:\rockband2\system\src\rndwii\SplitPostProc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055CDC8 -> 0x8055CDD0 */ // Range: 0x8055CDC8 -> 0x8055CDD0 float WiiSplitPostProc::Priority() {} /* Compile unit: C:\rockband2\system\src\rndwii\Tex.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055CDD0 -> 0x8055D4B4 */ class DataArray * types; // size: 0x4, address: 0x80A540B8 // Range: 0x8055CDD0 -> 0x8055CE44 void * WiiTex::WiiTex(class WiiTex * const this /* r31 */) { // References // -> struct [anonymous] __vt__6WiiTex; } // Range: 0x8055CE44 -> 0x8055CEC0 void * WiiTex::~WiiTex(class WiiTex * const this /* r30 */) { // References // -> struct [anonymous] __vt__6WiiTex; } // Range: 0x8055CEC0 -> 0x8055CEC4 void WiiTex::PresyncBitmap() {} // Range: 0x8055CEC4 -> 0x8055CFA8 void WiiTex::DeleteSurface(class WiiTex * const this /* r30 */) {} // Range: 0x8055CFA8 -> 0x8055D01C void WiiTex::UnlockBitmap(class WiiTex * const this /* r31 */) { // Local variables int iNumBytes; // r0 } // Range: 0x8055D01C -> 0x8055D030 void * WiiTex::GetMovieLoadingFramePtr() {} // Range: 0x8055D030 -> 0x8055D0AC void WiiTex::MovieSwapFrames(class WiiTex * const this /* r31 */) { // Local variables int numBytes; // r0 } static enum _GXTexWrapMode op[4]; // size: 0x10, address: 0x809194E8 // Range: 0x8055D0AC -> 0x8055D150 void WiiTex::SetTexWrapMode(class WiiTex * const this /* r27 */, enum TexWrap wrap_s /* r28 */, enum TexWrap wrap_t /* r29 */) { // References // -> static enum _GXTexWrapMode op[4]; } // Range: 0x8055D150 -> 0x8055D22C void WiiTex::Select(class WiiTex * const this /* r30 */, enum _GXTexMapID id /* r31 */) { // Local variables const struct _GXRenderModeObj & mode; // r0 unsigned long tlut; // r0 // References // -> class WiiRnd TheWiiRnd; } // Range: 0x8055D22C -> 0x8055D25C void WiiTex::CopyContent() {} // Range: 0x8055D25C -> 0x8055D294 void WiiTex::CopyFullScreen() { // References // -> class WiiRnd TheWiiRnd; } // Range: 0x8055D294 -> 0x8055D4B4 void WiiTex::CopyFromFB(class WiiTex * const this /* r31 */, int srcX /* r24 */, int srcY /* r25 */, int srcWidth /* r26 */, int srcHeight /* r27 */, unsigned char clear /* r28 */, unsigned char mip /* r29 */) { // Local variables struct _GXRenderModeObj mode; // r1+0x10 // References // -> class WiiRnd TheWiiRnd; // -> class Rnd & TheRnd; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8C } __vt__6WiiTex; // size: 0x8C, address: 0x80919518 /* Compile unit: C:\rockband2\system\src\rndwii\Tex.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055D4B4 -> 0x8055E078 */ // Range: 0x8055D4B4 -> 0x8055D52C static int OrderFromFormat() { // References // -> class Debug TheDebug; } // Range: 0x8055D52C -> 0x8055DD50 void WiiTex::SyncBitmap(class WiiTex * const this /* r27 */) { // Local variables unsigned char isRenderTarget; // r5 unsigned char isScreenTexture; // r6 unsigned char isMovieTexture; // r29 unsigned char isRegular; // r28 unsigned char isDepthTexture; // r0 const struct _GXRenderModeObj & mode; // r0 int numBytes; // r31 int palBytes; // r26 class RndBitmap * mip; // r29 int i; // r25 int size; // r0 unsigned char * p; // r24 int numAlphaBytes; // r28 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> class WiiRnd TheWiiRnd; } // Range: 0x8055DD50 -> 0x8055DEBC void WiiTex::LockBitmap(class WiiTex * const this /* r26 */, class RndBitmap & bm /* r27 */, int flags /* r28 */) { // Local variables unsigned char bWriting; // r3 int order; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8055DEBC -> 0x8055E038 void WiiTex::SetType(class WiiTex * const this /* r29 */, class Symbol & WiiTex /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8055E038 -> 0x8055E078 class Symbol WiiTex::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\TexRenderer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055E080 -> 0x8055E24C */ class DataArray * types; // size: 0x4, address: 0x80A540C0 // Range: 0x8055E080 -> 0x8055E158 void * WiiTexRenderer::WiiTexRenderer(class WiiTexRenderer * const this /* r31 */) { // References // -> struct [anonymous] __vt__14WiiTexRenderer; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8055E158 -> 0x8055E204 void * WiiTexRenderer::~WiiTexRenderer(class WiiTexRenderer * const this /* r30 */) {} // Range: 0x8055E204 -> 0x8055E24C void WiiTexRenderer::Load(class WiiTexRenderer * const this /* r31 */) {} struct { // total size: 0x11C } __vt__14WiiTexRenderer; // size: 0x11C, address: 0x80919698 struct { // total size: 0x8 } __RTTI__14WiiTexRenderer; // size: 0x8, address: 0x809197F8 /* Compile unit: C:\rockband2\system\src\rndwii\TexRenderer.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055E24C -> 0x8055E434 */ // Range: 0x8055E24C -> 0x8055E290 class Symbol WiiTexRenderer::ClassName() { // References // -> class Symbol name; } // Range: 0x8055E290 -> 0x8055E434 void WiiTexRenderer::SetType(class WiiTexRenderer * const this /* r29 */, class Symbol & WiiTexRenderer /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\rndwii\screenshot.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8055E4B8 -> 0x8055EA74 */ int g_connected; // size: 0x4, address: 0x80A540C8 int g_mail_waiting; // size: 0x4, address: 0x80A540CC int g_hio2Initilized; // size: 0x4, address: 0x80A540D0 enum /* @enum$2171screenshot_c */ { HIO2_DEVICE_INVALID = -1, HIO2_DEVICE_EXI2USB_0 = 0, HIO2_DEVICE_EXI2USB_1 = 1, HIO2_DEVICE_MrEXI = 2, }; enum /* @enum$2171screenshot_c */ { HIO2_DEVICE_INVALID = -1, HIO2_DEVICE_EXI2USB_0 = 0, HIO2_DEVICE_EXI2USB_1 = 1, HIO2_DEVICE_MrEXI = 2, } g_usb_type; // size: 0x4, address: 0x80A475D8 long g_usb_handle; // size: 0x4, address: 0x80A475DC static unsigned short s_ScreenEFBWidth; // size: 0x2, address: 0x80A475E0 static unsigned short s_ScreenEFBHeight; // size: 0x2, address: 0x80A475E2 static unsigned long s_ScreenEFBSize; // size: 0x4, address: 0x80A475E4 static unsigned short s_ScreenXFBWidth; // size: 0x2, address: 0x80A475E8 static unsigned short s_ScreenXFBHeight; // size: 0x2, address: 0x80A475EA static unsigned long s_ScreenXFBSize; // size: 0x4, address: 0x80A475EC // Range: 0x8055E4B8 -> 0x8055E4C4 static int HostIOEnumCallback() { // References // -> enum /* @enum$2171screenshot_c */ { HIO2_DEVICE_INVALID = -1, HIO2_DEVICE_EXI2USB_0 = 0, HIO2_DEVICE_EXI2USB_1 = 1, HIO2_DEVICE_MrEXI = 2, } g_usb_type; } // Range: 0x8055E4C4 -> 0x8055E5C8 static void CopyoutPortionEFB(unsigned char * image_buffer /* r29 */, unsigned long width /* r30 */, unsigned long totalBytes /* r31 */) { // Local variables unsigned long color; // r1+0x8 unsigned short x; // r28 unsigned short y; // r27 unsigned long component; // r26 unsigned long count; // r25 } // Range: 0x8055E5C8 -> 0x8055E64C static void WriteScreenshotPortionEFBtoUSB(void * workingBuffer /* r30 */) { // Local variables unsigned long size; // r31 // References // -> long g_usb_handle; // -> static unsigned short s_ScreenEFBWidth; // -> static unsigned long s_ScreenEFBSize; } enum /* @enum$2219screenshot_c */ { GRAB_NOT_TRANSFERRING = 0, GRAB_TRANSFERRING = 1, }; // Range: 0x8055E64C -> 0x8055E7E8 static enum /* @enum$2219screenshot_c */ { GRAB_NOT_TRANSFERRING = 0, GRAB_TRANSFERRING = 1, } GrabChunk(unsigned long mail /* r29 */) { // Local variables enum /* @enum$2219screenshot_c */ { GRAB_NOT_TRANSFERRING = 0, GRAB_TRANSFERRING = 1, } status; // r31 unsigned long cmd; // r0 unsigned long option; // r30 void * buffer; // r31 unsigned char * fb; // r0 void * buffer; // r0 unsigned short buf[16]; // r1+0x20 // References // -> static unsigned short s_ScreenXFBHeight; // -> static unsigned short s_ScreenXFBWidth; // -> static unsigned short s_ScreenEFBHeight; // -> static unsigned short s_ScreenEFBWidth; // -> static unsigned long s_ScreenEFBSize; // -> static unsigned long s_ScreenXFBSize; // -> long g_usb_handle; } // Range: 0x8055E7E8 -> 0x8055E8C0 static void CheckMail(void * bufferXFB /* r27 */, void * workingBuffer /* r28 */) { // Local variables enum /* @enum$2219screenshot_c */ { GRAB_NOT_TRANSFERRING = 0, GRAB_TRANSFERRING = 1, } status; // r31 long long escapeCount; // r30 unsigned long mail; // r1+0x8 // References // -> long g_usb_handle; // -> int g_mail_waiting; } // Range: 0x8055E8C0 -> 0x8055E8CC static void ReceiveMailCallback() { // References // -> int g_mail_waiting; } // Range: 0x8055E8CC -> 0x8055E8D8 static void DisconnectCallback() { // References // -> int g_connected; } // Range: 0x8055E8D8 -> 0x8055E95C static int ConnectToUSB() { // Local variables unsigned long temp; // r1+0x8 // References // -> long g_usb_handle; // -> enum /* @enum$2171screenshot_c */ { HIO2_DEVICE_INVALID = -1, HIO2_DEVICE_EXI2USB_0 = 0, HIO2_DEVICE_EXI2USB_1 = 1, HIO2_DEVICE_MrEXI = 2, } g_usb_type; // -> int g_connected; } // Range: 0x8055E95C -> 0x8055E978 void SCREENSHOTSetEFBSize() { // References // -> static unsigned long s_ScreenEFBSize; // -> static unsigned short s_ScreenEFBWidth; // -> static unsigned short s_ScreenEFBHeight; } // Range: 0x8055E978 -> 0x8055E990 void SCREENSHOTSetXFBSize() { // References // -> static unsigned long s_ScreenXFBSize; // -> static unsigned short s_ScreenXFBWidth; // -> static unsigned short s_ScreenXFBHeight; } enum /* @enum$22screenshot_c */ { VI_TVMODE_NTSC_INT = 0, VI_TVMODE_NTSC_DS = 1, VI_TVMODE_NTSC_PROG = 2, VI_TVMODE_PAL_INT = 4, VI_TVMODE_PAL_DS = 5, VI_TVMODE_EURGB60_INT = 20, VI_TVMODE_EURGB60_DS = 21, VI_TVMODE_EURGB60_PROG = 22, VI_TVMODE_MPAL_INT = 8, VI_TVMODE_MPAL_DS = 9, VI_TVMODE_MPAL_PROG = 10, VI_TVMODE_DEBUG_INT = 12, VI_TVMODE_DEBUG_PAL_INT = 16, VI_TVMODE_DEBUG_PAL_DS = 17, }; enum /* @enum$23screenshot_c */ { VI_XFBMODE_SF = 0, VI_XFBMODE_DF = 1, }; struct _GXRenderModeObj { // total size: 0x3C enum /* @enum$22screenshot_c */ { VI_TVMODE_NTSC_INT = 0, VI_TVMODE_NTSC_DS = 1, VI_TVMODE_NTSC_PROG = 2, VI_TVMODE_PAL_INT = 4, VI_TVMODE_PAL_DS = 5, VI_TVMODE_EURGB60_INT = 20, VI_TVMODE_EURGB60_DS = 21, VI_TVMODE_EURGB60_PROG = 22, VI_TVMODE_MPAL_INT = 8, VI_TVMODE_MPAL_DS = 9, VI_TVMODE_MPAL_PROG = 10, VI_TVMODE_DEBUG_INT = 12, VI_TVMODE_DEBUG_PAL_INT = 16, VI_TVMODE_DEBUG_PAL_DS = 17, } viTVmode; // offset 0x0, size 0x4 unsigned short fbWidth; // offset 0x4, size 0x2 unsigned short efbHeight; // offset 0x6, size 0x2 unsigned short xfbHeight; // offset 0x8, size 0x2 unsigned short viXOrigin; // offset 0xA, size 0x2 unsigned short viYOrigin; // offset 0xC, size 0x2 unsigned short viWidth; // offset 0xE, size 0x2 unsigned short viHeight; // offset 0x10, size 0x2 enum /* @enum$23screenshot_c */ { VI_XFBMODE_SF = 0, VI_XFBMODE_DF = 1, } xFBmode; // offset 0x14, size 0x4 unsigned char field_rendering; // offset 0x18, size 0x1 unsigned char aa; // offset 0x19, size 0x1 unsigned char sample_pattern[12][2]; // offset 0x1A, size 0x18 unsigned char vfilter[7]; // offset 0x32, size 0x7 }; // Range: 0x8055E990 -> 0x8055E9D0 void SCREENSHOTSetRenderModeObj(struct _GXRenderModeObj * obj /* r31 */) {} // Range: 0x8055E9D0 -> 0x8055EA74 void SCREENSHOTService(void * bufferXFB /* r30 */, void * workingBuffer /* r31 */) { // References // -> int g_mail_waiting; // -> int g_connected; // -> int g_hio2Initilized; } /* Compile unit: C:\rockband2\system\src\synthwii\soundtouch\AAFilter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055EA74 -> 0x8055ED38 */ class FIRFilter { // total size: 0x18 protected: unsigned int length; // offset 0x0, size 0x4 unsigned int lengthDiv8; // offset 0x4, size 0x4 unsigned int resultDivFactor; // offset 0x8, size 0x4 signed short resultDivider; // offset 0xC, size 0x2 signed short * filterCoeffs; // offset 0x10, size 0x4 public: void * __vptr$; // offset 0x14, size 0x4 }; class AAFilter { // total size: 0x18 protected: class FIRFilter * pFIR; // offset 0x0, size 0x4 double cutoffFreq; // offset 0x8, size 0x8 unsigned int length; // offset 0x10, size 0x4 }; // Range: 0x8055EA74 -> 0x8055EAE8 void * AAFilter::AAFilter(class AAFilter * const this /* r30 */, unsigned int length /* r31 */) {} // Range: 0x8055EAE8 -> 0x8055EB5C void * AAFilter::~AAFilter(class AAFilter * const this /* r30 */) {} // Range: 0x8055EB5C -> 0x8055EB64 void AAFilter::setCutoffFreq() {} // Range: 0x8055EB64 -> 0x8055EB6C void AAFilter::setLength() {} // Range: 0x8055EB6C -> 0x8055ED30 void AAFilter::calculateCoeffs(class AAFilter * const this /* r27 */) { // Local variables unsigned int i; // r30 double cntTemp; // f28 double temp; // f29 double tempCoeff; // f27 double h; // f0 double w; // f0 double fc2; // f31 double wc; // f30 double scaleCoeff; // f1 double sum; // f26 double * work; // r29 signed short * coeffs; // r28 } // Range: 0x8055ED30 -> 0x8055ED38 unsigned int AAFilter::evaluate() {} /* Compile unit: C:\rockband2\system\src\synthwii\soundtouch\FIFOSampleBuffer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055ED38 -> 0x8055F1EC */ class FIFOSamplePipe { // total size: 0x4 public: void * __vptr$; // offset 0x0, size 0x4 }; class FIFOSampleBuffer : public FIFOSamplePipe { // total size: 0x1C signed short * buffer; // offset 0x4, size 0x4 signed short * bufferUnaligned; // offset 0x8, size 0x4 unsigned int sizeInBytes; // offset 0xC, size 0x4 unsigned int samplesInBuffer; // offset 0x10, size 0x4 unsigned int channels; // offset 0x14, size 0x4 unsigned int bufferPos; // offset 0x18, size 0x4 }; // Range: 0x8055ED38 -> 0x8055EDA4 void * FIFOSampleBuffer::FIFOSampleBuffer(class FIFOSampleBuffer * const this /* r30 */, unsigned int numChannels /* r31 */) { // References // -> struct [anonymous] __vt__Q210soundtouch16FIFOSampleBuffer; } // Range: 0x8055EDA4 -> 0x8055EE10 void * FIFOSampleBuffer::~FIFOSampleBuffer(class FIFOSampleBuffer * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q210soundtouch16FIFOSampleBuffer; } // Range: 0x8055EE10 -> 0x8055EE2C void FIFOSampleBuffer::setChannels() { // Local variables unsigned int usedBytes; // r0 } // Range: 0x8055EE2C -> 0x8055EE94 void FIFOSampleBuffer::rewind(class FIFOSampleBuffer * const this /* r31 */) {} // Range: 0x8055EE94 -> 0x8055EEFC void FIFOSampleBuffer::putSamples(class FIFOSampleBuffer * const this /* r29 */, const signed short * samples /* r30 */, unsigned int numSamples /* r31 */) {} // Range: 0x8055EEFC -> 0x8055EF48 void FIFOSampleBuffer::putSamples(class FIFOSampleBuffer * const this /* r30 */, unsigned int numSamples /* r31 */) {} // Range: 0x8055EF48 -> 0x8055EF94 signed short * FIFOSampleBuffer::ptrEnd(class FIFOSampleBuffer * const this /* r31 */) {} // Range: 0x8055EF94 -> 0x8055EFB0 signed short * FIFOSampleBuffer::ptrBegin() {} static int _x; // size: 0x4, address: 0x80A540D8 // Range: 0x8055EFB0 -> 0x8055F0E4 void FIFOSampleBuffer::ensureCapacity(class FIFOSampleBuffer * const this /* r31 */, unsigned int capacityRequirement /* r29 */) { // Local variables signed short * tempUnaligned; // r0 signed short * temp; // r29 // References // -> class Debug TheDebug; // -> static int _x; } // Range: 0x8055F0E4 -> 0x8055F0F8 unsigned int FIFOSampleBuffer::getCapacity() {} // Range: 0x8055F0F8 -> 0x8055F100 unsigned int FIFOSampleBuffer::numSamples() {} // Range: 0x8055F100 -> 0x8055F194 unsigned int FIFOSampleBuffer::receiveSamples(class FIFOSampleBuffer * const this /* r29 */, signed short * output /* r30 */) {} // Range: 0x8055F194 -> 0x8055F1CC unsigned int FIFOSampleBuffer::receiveSamples() {} // Range: 0x8055F1CC -> 0x8055F1DC int FIFOSampleBuffer::isEmpty() {} // Range: 0x8055F1DC -> 0x8055F1EC void FIFOSampleBuffer::clear() {} struct { // total size: 0x28 } __vt__Q210soundtouch16FIFOSampleBuffer; // size: 0x28, address: 0x809198D0 struct { // total size: 0x8 } __RTTI__Q210soundtouch16FIFOSampleBuffer; // size: 0x8, address: 0x80919928 struct { // total size: 0x8 } __RTTI__Q210soundtouch14FIFOSamplePipe; // size: 0x8, address: 0x80919950 /* Compile unit: C:\rockband2\system\src\synthwii\soundtouch\FIRFilter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055F1EC -> 0x8055F654 */ // Range: 0x8055F1EC -> 0x8055F210 void * FIRFilter::FIRFilter() { // References // -> struct [anonymous] __vt__Q210soundtouch9FIRFilter; } // Range: 0x8055F210 -> 0x8055F274 void * FIRFilter::~FIRFilter(class FIRFilter * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q210soundtouch9FIRFilter; } // Range: 0x8055F274 -> 0x8055F428 unsigned int FIRFilter::evaluateFilterStereo() { // Local variables unsigned int i; // r31 unsigned int j; // r30 unsigned int end; // r29 long suml; // r28 long sumr; // r27 const signed short * ptr; // r26 } // Range: 0x8055F428 -> 0x8055F51C unsigned int FIRFilter::evaluateFilterMono() { // Local variables unsigned int i; // r6 unsigned int j; // r7 unsigned int end; // r0 long sum; // r8 } // Range: 0x8055F51C -> 0x8055F614 void FIRFilter::setCoefficients(class FIRFilter * const this /* r28 */, const signed short * coeffs /* r29 */, unsigned int newLength /* r30 */, unsigned int uResultDivFactor /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x8055F614 -> 0x8055F654 unsigned int FIRFilter::evaluate() {} struct { // total size: 0x18 } __vt__Q210soundtouch9FIRFilter; // size: 0x18, address: 0x80919980 struct { // total size: 0x8 } __RTTI__Q210soundtouch9FIRFilter; // size: 0x8, address: 0x809199B0 /* Compile unit: C:\rockband2\system\src\synthwii\soundtouch\RateTransposer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8055F654 -> 0x80560164 */ class RateTransposer : public FIFOProcessor { // total size: 0x6C protected: class AAFilter * pAAFilter; // offset 0x8, size 0x4 float fRate; // offset 0xC, size 0x4 unsigned int uChannels; // offset 0x10, size 0x4 class FIFOSampleBuffer storeBuffer; // offset 0x14, size 0x1C class FIFOSampleBuffer tempBuffer; // offset 0x30, size 0x1C class FIFOSampleBuffer outputBuffer; // offset 0x4C, size 0x1C int bUseAAFilter; // offset 0x68, size 0x4 }; // Range: 0x8055F654 -> 0x8055F6F0 void * RateTransposer::RateTransposer(class RateTransposer * const this /* r31 */) { // References // -> struct [anonymous] __vt__Q210soundtouch14RateTransposer; } class FIFOProcessor : public FIFOSamplePipe { // total size: 0x8 protected: class FIFOSamplePipe * output; // offset 0x4, size 0x4 }; // Range: 0x8055F6F0 -> 0x8055F78C void * RateTransposer::~RateTransposer(class RateTransposer * const this /* r29 */) { // References // -> struct [anonymous] __vt__Q210soundtouch14RateTransposer; } // Range: 0x8055F78C -> 0x8055F794 void RateTransposer::enableAAFilter() {} // Range: 0x8055F794 -> 0x8055F79C class AAFilter * RateTransposer::getAAFilter() {} // Range: 0x8055F79C -> 0x8055F7C8 void RateTransposer::setRate() {} // Range: 0x8055F7C8 -> 0x8055F7CC void RateTransposer::putSamples() {} // Range: 0x8055F7CC -> 0x8055F938 void RateTransposer::upsample(class RateTransposer * const this /* r29 */, const signed short * src /* r31 */, unsigned int numSamples /* r30 */) { // Local variables int count; // r31 int sizeTemp; // r0 int num; // r30 } // Range: 0x8055F938 -> 0x8055FAAC void RateTransposer::downsample(class RateTransposer * const this /* r27 */, unsigned int numSamples /* r28 */) { // Local variables int count; // r30 int sizeTemp; // r29 } // Range: 0x8055FAAC -> 0x8055FBC4 void RateTransposer::processSamples(class RateTransposer * const this /* r29 */, const signed short * src /* r30 */, unsigned int numSamples /* r31 */) { // Local variables unsigned int sizeReq; // r0 } // Range: 0x8055FBC4 -> 0x8055FC30 void RateTransposer::setChannels(class RateTransposer * const this /* r31 */) {} // Range: 0x8055FC30 -> 0x8055FC7C void RateTransposer::clear(class RateTransposer * const this /* r31 */) {} // Range: 0x8055FC7C -> 0x8055FCDC unsigned int RateTransposer::isEmpty(class RateTransposer * const this /* r31 */) {} class RateTransposerFloat : public RateTransposer { // total size: 0x78 protected: float fSlopeCount; // offset 0x6C, size 0x4 float fRateStep; // offset 0x70, size 0x4 signed short sPrevSampleL; // offset 0x74, size 0x2 signed short sPrevSampleR; // offset 0x76, size 0x2 }; // Range: 0x8055FCDC -> 0x8055FD44 void * RateTransposerFloat::RateTransposerFloat(class RateTransposerFloat * const this /* r31 */) { // References // -> struct [anonymous] __vt__Q210soundtouch19RateTransposerFloat; } // Range: 0x8055FD44 -> 0x8055FDA0 void * RateTransposerFloat::~RateTransposerFloat(class RateTransposerFloat * const this /* r30 */) {} // Range: 0x8055FDA0 -> 0x8055FDB8 void RateTransposerFloat::resetRegisters() {} // Range: 0x8055FDB8 -> 0x8055FF1C unsigned int RateTransposerFloat::transposeMono() { // Local variables unsigned int i; // r8 unsigned int used; // r9 } // Range: 0x8055FF1C -> 0x80560164 unsigned int RateTransposerFloat::transposeStereo() { // Local variables unsigned int srcPos; // r11 unsigned int i; // r7 unsigned int used; // r8 } struct { // total size: 0x38 } __vt__Q210soundtouch19RateTransposerFloat; // size: 0x38, address: 0x809199B8 struct { // total size: 0x8 } __RTTI__Q210soundtouch19RateTransposerFloat; // size: 0x8, address: 0x80919A30 struct { // total size: 0x38 } __vt__Q210soundtouch14RateTransposer; // size: 0x38, address: 0x80919A38 struct { // total size: 0x8 } __RTTI__Q210soundtouch14RateTransposer; // size: 0x8, address: 0x80919AA0 struct { // total size: 0x8 } __RTTI__Q210soundtouch13FIFOProcessor; // size: 0x8, address: 0x80919AD0 /* Compile unit: C:\rockband2\system\src\synthwii\soundtouch\FIFOSamplePipe.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80560164 -> 0x805601C8 */ // Range: 0x80560164 -> 0x80560178 int FIFOProcessor::isEmpty() {} // Range: 0x80560178 -> 0x8056018C unsigned int FIFOProcessor::numSamples() {} // Range: 0x8056018C -> 0x805601A0 unsigned int FIFOProcessor::receiveSamples() {} // Range: 0x805601A0 -> 0x805601B4 unsigned int FIFOProcessor::receiveSamples() {} // Range: 0x805601B4 -> 0x805601C8 signed short * FIFOProcessor::ptrBegin() {} /* Compile unit: C:\rockband2\system\src\synthwii\soundtouch\SoundTouch.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805601C8 -> 0x80560B44 */ class TDStretch : public FIFOProcessor { // total size: 0x90 protected: unsigned int channels; // offset 0x8, size 0x4 unsigned int sampleReq; // offset 0xC, size 0x4 float tempo; // offset 0x10, size 0x4 signed short * pMidBuffer; // offset 0x14, size 0x4 signed short * pRefMidBuffer; // offset 0x18, size 0x4 signed short * pRefMidBufferUnaligned; // offset 0x1C, size 0x4 unsigned int overlapLength; // offset 0x20, size 0x4 unsigned int overlapDividerBits; // offset 0x24, size 0x4 unsigned int slopingDivider; // offset 0x28, size 0x4 unsigned int seekLength; // offset 0x2C, size 0x4 unsigned int seekWindowLength; // offset 0x30, size 0x4 unsigned int maxOffset; // offset 0x34, size 0x4 float nominalSkip; // offset 0x38, size 0x4 float skipFract; // offset 0x3C, size 0x4 class FIFOSampleBuffer outputBuffer; // offset 0x40, size 0x1C class FIFOSampleBuffer inputBuffer; // offset 0x5C, size 0x1C int bQuickseek; // offset 0x78, size 0x4 int bMidBufferDirty; // offset 0x7C, size 0x4 unsigned int sampleRate; // offset 0x80, size 0x4 unsigned int sequenceMs; // offset 0x84, size 0x4 unsigned int seekWindowMs; // offset 0x88, size 0x4 unsigned int overlapMs; // offset 0x8C, size 0x4 }; class SoundTouch : public FIFOProcessor { // total size: 0x2C class RateTransposer * pRateTransposer; // offset 0x8, size 0x4 class TDStretch * pTDStretch; // offset 0xC, size 0x4 float virtualRate; // offset 0x10, size 0x4 float virtualTempo; // offset 0x14, size 0x4 float virtualPitch; // offset 0x18, size 0x4 int bSrateSet; // offset 0x1C, size 0x4 protected: unsigned int channels; // offset 0x20, size 0x4 float rate; // offset 0x24, size 0x4 float tempo; // offset 0x28, size 0x4 }; // Range: 0x805601C8 -> 0x80560284 void * SoundTouch::SoundTouch(class SoundTouch * const this /* r31 */) { // References // -> struct [anonymous] __vt__Q210soundtouch10SoundTouch; } // Range: 0x80560284 -> 0x80560328 void * SoundTouch::~SoundTouch(class SoundTouch * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q210soundtouch10SoundTouch; } // Range: 0x80560328 -> 0x805603B0 void SoundTouch::setChannels(class SoundTouch * const this /* r30 */, unsigned int numChannels /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805603B0 -> 0x805603B8 void SoundTouch::setPitch() {} // Range: 0x805603B8 -> 0x80560648 void SoundTouch::calcEffectiveRateAndTempo(class SoundTouch * const this /* r31 */) { // Local variables float oldTempo; // f31 float oldRate; // f2 } // Range: 0x80560648 -> 0x80560664 void SoundTouch::setSampleRate() {} // Range: 0x80560664 -> 0x805608C4 void SoundTouch::putSamples(class SoundTouch * const this /* r26 */, const signed short * samples /* r27 */, unsigned int numSamples /* r28 */) { // References // -> class Debug TheDebug; } // Range: 0x805608C4 -> 0x80560988 void SoundTouch::flush(class SoundTouch * const this /* r29 */) { // Local variables int i; // r30 unsigned int nOut; // r0 signed short buff[128]; // r1+0x8 } // Range: 0x80560988 -> 0x80560AC8 int SoundTouch::setSetting(class SoundTouch * const this /* r29 */, unsigned int settingId /* r30 */, unsigned int value /* r31 */) { // Local variables unsigned int sampleRate; // r1+0x14 unsigned int sequenceMs; // r1+0x10 unsigned int seekWindowMs; // r1+0xC unsigned int overlapMs; // r1+0x8 } // Range: 0x80560AC8 -> 0x80560B18 void SoundTouch::clear(class SoundTouch * const this /* r31 */) {} // Range: 0x80560B18 -> 0x80560B44 unsigned int SoundTouch::numUnprocessedSamples() {} struct { // total size: 0x2C } __vt__Q210soundtouch10SoundTouch; // size: 0x2C, address: 0x80919B58 struct { // total size: 0x8 } __RTTI__Q210soundtouch10SoundTouch; // size: 0x8, address: 0x80919BB0 /* Compile unit: C:\rockband2\system\src\synthwii\soundtouch\TDStretch.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80560B44 -> 0x80561A70 */ int scanOffsets[4][24]; // size: 0x180, address: 0x80919BD0 // Range: 0x80560B44 -> 0x80560BE4 void * TDStretch::TDStretch(class TDStretch * const this /* r31 */) { // References // -> struct [anonymous] __vt__Q210soundtouch9TDStretch; } // Range: 0x80560BE4 -> 0x80560C74 void * TDStretch::~TDStretch(class TDStretch * const this /* r29 */) { // References // -> struct [anonymous] __vt__Q210soundtouch9TDStretch; } // Range: 0x80560C74 -> 0x80560CD8 static int _getClosest2Power(double value /* f30 */) {} // Range: 0x80560CD8 -> 0x80560D50 void TDStretch::setParameters(class TDStretch * const this /* r31 */) {} // Range: 0x80560D50 -> 0x80560D94 void TDStretch::getParameters() {} // Range: 0x80560D94 -> 0x80560DDC void TDStretch::overlapMono() { // Local variables int i; // r11 } // Range: 0x80560DDC -> 0x80560E2C void TDStretch::clearMidBuffer(class TDStretch * const this /* r31 */) {} // Range: 0x80560E2C -> 0x80560E6C void TDStretch::clearInput(class TDStretch * const this /* r31 */) {} // Range: 0x80560E6C -> 0x80560EC0 void TDStretch::clear(class TDStretch * const this /* r31 */) {} // Range: 0x80560EC0 -> 0x80560EC8 void TDStretch::enableQuickSeek() {} // Range: 0x80560EC8 -> 0x80560F2C unsigned int TDStretch::seekBestOverlapPosition() {} // Range: 0x80560F2C -> 0x80560FCC unsigned int TDStretch::seekBestOverlapPositionStereo(class TDStretch * const this /* r27 */, const signed short * refPos /* r28 */) { // Local variables unsigned int bestOffs; // r31 long bestCorr; // r30 long corr; // r3 unsigned int i; // r29 } // Range: 0x80560FCC -> 0x805610AC unsigned int TDStretch::seekBestOverlapPositionStereoQuick(class TDStretch * const this /* r24 */, const signed short * refPos /* r25 */) { // Local variables unsigned int j; // r31 unsigned int bestOffs; // r30 long bestCorr; // r29 long corr; // r3 unsigned int scanCount; // r28 unsigned int corrOffset; // r27 unsigned int tempOffset; // r26 // References // -> int scanOffsets[4][24]; } // Range: 0x805610AC -> 0x8056114C unsigned int TDStretch::seekBestOverlapPositionMono(class TDStretch * const this /* r27 */, const signed short * refPos /* r28 */) { // Local variables unsigned int bestOffs; // r31 long bestCorr; // r30 long corr; // r3 unsigned int tempOffset; // r29 } // Range: 0x8056114C -> 0x8056122C unsigned int TDStretch::seekBestOverlapPositionMonoQuick(class TDStretch * const this /* r24 */, const signed short * refPos /* r25 */) { // Local variables unsigned int j; // r31 unsigned int bestOffs; // r30 long bestCorr; // r29 long corr; // r3 unsigned int scanCount; // r28 unsigned int corrOffset; // r27 unsigned int tempOffset; // r26 // References // -> int scanOffsets[4][24]; } // Range: 0x8056122C -> 0x80561230 void TDStretch::clearCrossCorrState() {} // Range: 0x80561230 -> 0x805612B0 void TDStretch::setTempo() { // Local variables unsigned int intskip; // r0 } // Range: 0x805612B0 -> 0x805612FC void TDStretch::setChannels(class TDStretch * const this /* r31 */) {} // Range: 0x805612FC -> 0x80561454 void TDStretch::processNominalTempo(class TDStretch * const this /* r30 */) {} // Range: 0x80561454 -> 0x805616F4 void TDStretch::processSamples(class TDStretch * const this /* r31 */) { // Local variables unsigned int ovlSkip; // r4 unsigned int offset; // r0 int temp; // r28 } // Range: 0x805616F4 -> 0x80561734 void TDStretch::putSamples(class TDStretch * const this /* r31 */) {} // Range: 0x80561734 -> 0x805617C0 void TDStretch::acceptNewOverlapLength(class TDStretch * const this /* r31 */) { // Local variables unsigned int prevOvl; // r0 } // Range: 0x805617C0 -> 0x8056182C void TDStretch::precalcCorrReferenceStereo() { // Local variables int i; // r6 int cnt2; // r7 int temp; // r8 int temp2; // r0 } // Range: 0x8056182C -> 0x80561870 void TDStretch::precalcCorrReferenceMono() { // Local variables int i; // r7 } // Range: 0x80561870 -> 0x805618E4 void TDStretch::overlapStereo() { // Local variables int i; // r10 signed short temp; // r11 unsigned int cnt2; // r12 } // Range: 0x805618E4 -> 0x805619D4 void TDStretch::calculateOverlapLength(class TDStretch * const this /* r31 */) { // Local variables unsigned int newOvl; // r30 } // Range: 0x805619D4 -> 0x80561A14 long TDStretch::calcCrossCorrMono() { // Local variables long corr; // r7 unsigned int i; // r8 } // Range: 0x80561A14 -> 0x80561A70 long TDStretch::calcCrossCorrStereo() { // Local variables long corr; // r9 unsigned int i; // r10 } struct { // total size: 0x4C } __vt__Q210soundtouch9TDStretch; // size: 0x4C, address: 0x80919D50 struct { // total size: 0x8 } __RTTI__Q210soundtouch9TDStretch; // size: 0x8, address: 0x80919DC8 /* Compile unit: C:\rockband2\system\src\synthwii\EnvelopeWii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80561A70 -> 0x80561CC0 */ // Range: 0x80561A70 -> 0x80561AC0 void * EnvelopeWii::EnvelopeWii(class EnvelopeWii * const this /* r31 */) {} // Range: 0x80561AC0 -> 0x80561ACC void EnvelopeWii::StartAttack() {} // Range: 0x80561ACC -> 0x80561B10 void EnvelopeWii::StartRelease(class EnvelopeWii * const this /* r31 */) {} // Range: 0x80561B10 -> 0x80561BF4 unsigned char EnvelopeWii::IsDone(class EnvelopeWii * const this /* r30 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x80561BF4 -> 0x80561C3C void EnvelopeWii::Pause() {} // Range: 0x80561C3C -> 0x80561C64 void EnvelopeWii::Resume() {} // Range: 0x80561C64 -> 0x80561CC0 void EnvelopeWii::SetADSR(class EnvelopeWii * const this /* r30 */, const class ADSR & adsr /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80561CC0 -> 0x80561E28 */ // Range: 0x80561CC0 -> 0x80561E28 float EnvelopeWii::GetValueAtOffset(class EnvelopeWii * const this /* r30 */, float timeOffset /* f31 */) { // Local variables float testTime; // f1 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\synthwii\FXWii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80561E28 -> 0x80562828 */ static enum FXMode currentFX[3]; // size: 0xC, address: 0x80982A60 // Range: 0x80561E28 -> 0x80561E34 void * myMemAlloc() {} // Range: 0x80561E34 -> 0x80561E38 void myMemFree() {} // Range: 0x80561E38 -> 0x80561E4C void myAuxAFXWrapper(void * data /* r0 */) {} // Range: 0x80561E4C -> 0x80561E60 void myAuxBFXWrapper(void * data /* r0 */) {} // Range: 0x80561E60 -> 0x80561E74 void myAuxCFXWrapper(void * data /* r0 */) {} // Range: 0x80561E74 -> 0x80561EF4 void doWiiFX() { // References // -> static enum FXMode currentFX[3]; } class WiiFX TheWiiFX; // size: 0x3B4, address: 0x80982A78 // Range: 0x80561EF4 -> 0x80562058 void * WiiFX::WiiFX(class WiiFX * const this /* r30 */) { // References // -> static enum FXMode currentFX[3]; } // Range: 0x80562058 -> 0x805620F4 void * WiiFX::~WiiFX(class WiiFX * const this /* r30 */) {} // Range: 0x805620F4 -> 0x80562158 void WiiFX::Init(class WiiFX * const this /* r30 */) {} // Range: 0x80562158 -> 0x8056215C void WiiFX::Terminate() {} // Range: 0x8056215C -> 0x80562764 unsigned char WiiFX::SetFX(class WiiFX * const this /* r29 */, int auxNum /* r30 */) { // Local variables const char * name; // r0 class DataArray * effect; // r31 void * contextCallback; // r4 // References // -> static enum FXMode currentFX[3]; } // Range: 0x80562764 -> 0x805627BC unsigned char WiiFX::SetReverb() { // References // -> static enum FXMode currentFX[3]; } // Range: 0x805627BC -> 0x805627E0 unsigned char WiiFX::IsReverb() { // References // -> static enum FXMode currentFX[3]; } // Range: 0x805627E0 -> 0x80562828 static void __sinit_\FXWii_cpp() { // References // -> class WiiFX TheWiiFX; } /* Compile unit: C:\rockband2\system\src\synthwii\Mic_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80562828 -> 0x80563D50 */ class Symbol t; // size: 0x4, address: 0x80A540E4 static float kLagIdeal; // size: 0x4, address: 0x80A57A70 static float kLagDelta; // size: 0x4, address: 0x80A57A74 static float volume; // size: 0x4, address: 0x80A475F8 static class MemStream * gDebugAudio; // size: 0x4, address: 0x80A540E8 static int _x; // size: 0x4, address: 0x80A540EC // Range: 0x80562828 -> 0x80562988 void * MicWii::MicWii(class MicWii * const this /* r30 */) { // References // -> static int _x; // -> static float volume; // -> struct [anonymous] __vt__6MicWii; } // Range: 0x80562988 -> 0x80562A38 void * MicWii::~MicWii(class MicWii * const this /* r29 */) { // References // -> static class MemStream * gDebugAudio; // -> struct [anonymous] __vt__6MicWii; } struct /* @class$12725Mic_Wii_cpp */ { // total size: 0x24 unsigned long numEntries; // offset 0x0, size 0x4 unsigned long entries[8]; // offset 0x4, size 0x20 }; struct /* @class$12726Mic_Wii_cpp */ { // total size: 0x8 unsigned long lowerBoundary; // offset 0x0, size 0x4 unsigned long upperBoundary; // offset 0x4, size 0x4 }; union /* @class$12724Mic_Wii_cpp */ { struct /* @class$12725Mic_Wii_cpp */ { // total size: 0x24 unsigned long numEntries; // offset 0x0, size 0x4 unsigned long entries[8]; // offset 0x4, size 0x20 } list; // offset 0x0, size 0x24 struct /* @class$12726Mic_Wii_cpp */ { // total size: 0x8 unsigned long lowerBoundary; // offset 0x0, size 0x4 unsigned long upperBoundary; // offset 0x4, size 0x4 } range; // offset 0x0, size 0x8 }; struct micSamplingFormat { // total size: 0x28 unsigned char channels; // offset 0x0, size 0x1 unsigned char bitResolution; // offset 0x1, size 0x1 unsigned char samplingRateType; // offset 0x2, size 0x1 union /* @class$12724Mic_Wii_cpp */ { struct /* @class$12725Mic_Wii_cpp */ { // total size: 0x24 unsigned long numEntries; // offset 0x0, size 0x4 unsigned long entries[8]; // offset 0x4, size 0x20 } list; // offset 0x0, size 0x24 struct /* @class$12726Mic_Wii_cpp */ { // total size: 0x8 unsigned long lowerBoundary; // offset 0x0, size 0x4 unsigned long upperBoundary; // offset 0x4, size 0x4 } range; // offset 0x0, size 0x8 } samplingRates; // offset 0x4, size 0x24 }; struct micDesc { // total size: 0x2C unsigned char numSamplingFormats; // offset 0x0, size 0x1 struct micSamplingFormat formats[1]; // offset 0x4, size 0x28 }; class MicrophonesChangedMsg : public Message { // total size: 0x8 }; // Range: 0x80562A38 -> 0x805632AC void MicWii::Poll(class MicWii * const this /* r30 */) { // Local variables int writePos; // r29 int playPos; // r0 float lag; // f4 float avgLag; // f0 float vol; // f1 struct micDesc md; // r1+0x58 long res; // r0 class MicrophonesChangedMsg msg; // r1+0x50 class MicrophonesChangedMsg msg; // r1+0x48 int i; // r29 unsigned char micTaken; // r31 int j; // r28 class MicWii * mic; // r0 // References // -> class Synth * TheSynth; // -> class UIManager TheUI; // -> struct [anonymous] __vt__21MicrophonesChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Debug TheDebug; // -> static float kLagIdeal; // -> static float kLagDelta; } // Range: 0x805632AC -> 0x805632B4 void MicWii::SetConnected() {} struct micOpenParam { // total size: 0x8 unsigned char channels; // offset 0x0, size 0x1 unsigned char bitResolution; // offset 0x1, size 0x1 unsigned short bufferMilliseconds; // offset 0x2, size 0x2 unsigned long samplingRate; // offset 0x4, size 0x4 }; // Range: 0x805632B4 -> 0x80563504 void MicWii::Start(class MicWii * const this /* r30 */) { // Local variables long rc; // r4 struct micDesc desc; // r1+0x10 struct micOpenParam openParam; // r1+0x8 int i; // r29 float micVolume; // f0 // References // -> class Debug TheDebug; } static int _x; // size: 0x4, address: 0x80A540F4 // Range: 0x80563504 -> 0x80563660 void MicWii::StartPlayback(class MicWii * const this /* r31 */) { // References // -> static int _x; // -> static float kLagIdeal; } // Range: 0x80563660 -> 0x805636A0 void MicWii::StopPlayback(class MicWii * const this /* r31 */) {} // Range: 0x805636A0 -> 0x805636E8 void MicWii::Stop(class MicWii * const this /* r31 */) {} // Range: 0x805636E8 -> 0x805636F0 unsigned char MicWii::IsRunning() {} // Range: 0x805636F0 -> 0x8056375C enum Type MicWii::GetType(const class MicWii * const this /* r30 */) { // Local variables struct micDesc md; // r1+0x8 long rc; // r0 int loop; // r31 } // Range: 0x8056375C -> 0x80563764 void MicWii::SetDMA() {} // Range: 0x80563764 -> 0x8056376C unsigned char MicWii::GetDMA() {} // Range: 0x8056376C -> 0x8056388C void MicWii::SetGain(class MicWii * const this /* r30 */, float gain /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056388C -> 0x80563894 float MicWii::GetGain() {} // Range: 0x80563894 -> 0x80563910 void MicWii::SetVolume(class MicWii * const this /* r31 */) { // Local variables float v; // f31 // References // -> class Debug TheDebug; } // Range: 0x80563910 -> 0x80563918 float MicWii::GetVolume() {} // Range: 0x80563918 -> 0x805639B4 void MicWii::SetEarpieceVolume(class MicWii * const this /* r31 */, float volume /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805639B4 -> 0x805639BC float MicWii::GetEarpieceVolume() {} // Range: 0x805639BC -> 0x805639C0 void MicWii::SetCompressor() {} // Range: 0x805639C0 -> 0x805639C8 unsigned char MicWii::GetCompressor() {} // Range: 0x805639C8 -> 0x805639D0 float MicWii::GetCompressorParam() {} // Range: 0x805639D0 -> 0x805639D4 void MicWii::SetCompressorParam() {} // Range: 0x805639D4 -> 0x805639DC signed short * MicWii::GetBuf() {} // Range: 0x805639DC -> 0x805639E4 int MicWii::GetBufSamples() {} // Range: 0x805639E4 -> 0x805639F0 int MicWii::GetSampleRate() {} // Range: 0x805639F0 -> 0x80563A4C signed short * MicWii::GetBuf(class MicWii * const this /* r30 */, int & samples /* r31 */) {} // Range: 0x80563A4C -> 0x80563A54 int MicWii::GetAssignedPad() {} // Range: 0x80563A54 -> 0x80563A58 void MicWii::ReleaseMic() {} // Range: 0x80563A58 -> 0x80563B24 void MicWii::Update(class MicWii * const this /* r31 */) { // Local variables unsigned long bufferSize; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80563B24 -> 0x80563C5C void MicWii::AddData(class MicWii * const this /* r27 */, void * data /* r28 */, int bytes /* r29 */) { // Local variables unsigned char * bufferEnd; // r4 int size1; // r31 int size2; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80563C5C -> 0x80563C84 void MicWii::SetFX() {} // Range: 0x80563C84 -> 0x80563CE4 void MicWii::SetMute(class MicWii * const this /* r5 */) {} // Range: 0x80563CE4 -> 0x80563CEC void MicWii::AssignUSBMic() {} // Range: 0x80563CEC -> 0x80563D50 unsigned char MicWii::MicConnected(int micIndex /* r30 */) { // Local variables struct micDesc md; // r1+0x8 long rc; // r0 int loop; // r31 } struct { // total size: 0xC } __vt__21MicrophonesChangedMsg; // size: 0xC, address: 0x8091A040 struct { // total size: 0x8 } __RTTI__21MicrophonesChangedMsg; // size: 0x8, address: 0x8091A070 struct { // total size: 0x80 } __vt__6MicWii; // size: 0x80, address: 0x8091A098 struct { // total size: 0x8 } __RTTI__6MicWii; // size: 0x8, address: 0x8091A130 struct { // total size: 0x8 } __RTTI__3Mic; // size: 0x8, address: 0x8091A138 /* Compile unit: C:\rockband2\system\src\synth\Mic.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80563D50 -> 0x80563DA0 */ // Range: 0x80563D50 -> 0x80563D90 void * Mic::~Mic(class Mic * const this /* r31 */) {} // Range: 0x80563D90 -> 0x80563D98 float Mic::PercentTalking() {} // Range: 0x80563D98 -> 0x80563DA0 unsigned char Mic::IsUserTalking() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80563E24 -> 0x80563EF8 */ // Range: 0x80563E24 -> 0x80563E70 char * MakeString(const char * fmt /* r0 */, long t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80563E70 -> 0x80563EF8 char * MakeString(const char * fmt /* r0 */, unsigned long t1 /* r28 */, unsigned char t2 /* r29 */, unsigned char t3 /* r30 */, unsigned short t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\synthwii\Mic_Wii_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80563EF8 -> 0x80563F00 */ // Range: 0x80563EF8 -> 0x80563F00 unsigned char MicWii::IsPlaying() {} /* Compile unit: C:\rockband2\system\src\synthwii\PitchShiftEffect.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80563F00 -> 0x80564210 */ class PitchShiftEffect { // total size: 0x14 class SoundTouch * mSoundTouch; // offset 0x0, size 0x4 unsigned char mStarted; // offset 0x4, size 0x1 float mPitch; // offset 0x8, size 0x4 float mLastPitch; // offset 0xC, size 0x4 int mFrameCount; // offset 0x10, size 0x4 }; // Range: 0x80563F00 -> 0x80563F74 void * PitchShiftEffect::PitchShiftEffect(class PitchShiftEffect * const this /* r31 */) {} // Range: 0x80563F74 -> 0x80563FF4 void * PitchShiftEffect::~PitchShiftEffect(class PitchShiftEffect * const this /* r30 */) {} // Range: 0x80563FF4 -> 0x80564044 void PitchShiftEffect::Reset(class PitchShiftEffect * const this /* r30 */) {} // Range: 0x80564044 -> 0x805640BC void PitchShiftEffect::SetParameter(class PitchShiftEffect * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805640BC -> 0x80564210 unsigned char PitchShiftEffect::Process(class PitchShiftEffect * const this /* r25 */, signed short * samps /* r26 */, int numSamps /* r27 */, signed short * write /* r28 */, int writeSamps /* r29 */, int numChans /* r30 */) { // Local variables unsigned char started; // r31 unsigned int act; // r5 } /* Compile unit: C:\rockband2\system\src\synthwii\Synth_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80564210 -> 0x805657EC */ // Range: 0x80564210 -> 0x80564290 void * micAllocWii(unsigned long size /* r29 */, unsigned long align /* r30 */) { // Local variables void * p; // r30 } // Range: 0x80564290 -> 0x805642D4 void micFreeWii(void * p /* r31 */) {} enum State { kInit = 0, kReady = 1, kPlaying = 2, kStopped = 3, }; class StreamReceiver { // total size: 0x8060 public: void * __vptr$; // offset 0x0, size 0x4 protected: unsigned char mSlipEnabled; // offset 0x4, size 0x1 private: unsigned char mBuffer[32768]; // offset 0x20, size 0x8000 int mNumBuffers; // offset 0x8020, size 0x4 int mRingSize; // offset 0x8024, size 0x4 int mRingWritePos; // offset 0x8028, size 0x4 int mRingReadPos; // offset 0x802C, size 0x4 int mRingFreeSpace; // offset 0x8030, size 0x4 int mRingWrittenSpace; // offset 0x8034, size 0x4 enum State mState; // offset 0x8038, size 0x4 int mSendTarget; // offset 0x803C, size 0x4 unsigned char mWantToSend; // offset 0x8040, size 0x1 unsigned char mSending; // offset 0x8041, size 0x1 int mBuffersSent; // offset 0x8044, size 0x4 unsigned char mStarving; // offset 0x8048, size 0x1 unsigned char mEndData; // offset 0x8049, size 0x1 int mDoneBufferCounter; // offset 0x804C, size 0x4 int mLastPlayCursor; // offset 0x8050, size 0x4 }; // Range: 0x805642D4 -> 0x80564310 class Synth * Synth::New() {} class SynthWii * TheWiiSynth; // size: 0x4, address: 0x80A54100 // Range: 0x80564310 -> 0x80564484 void * SynthWii::SynthWii(class SynthWii * const this /* r31 */) { // Local variables int i; // r30 int i; // r5 // References // -> class SynthWii * TheWiiSynth; // -> struct [anonymous] __vt__8SynthWii; } static int _x; // size: 0x4, address: 0x80A54104 // Range: 0x80564484 -> 0x805645E0 void SynthWii::Init(class SynthWii * const this /* r30 */) { // Local variables int x; // r5 // References // -> class WiiFX TheWiiFX; // -> static int _x; // -> class Voice * gVoices[96]; } // Range: 0x805645E0 -> 0x80564694 void SynthWii::Terminate(class SynthWii * const this /* r29 */) { // References // -> class SynthWii * TheWiiSynth; } static class Timer * _t; // size: 0x4, address: 0x80A5410C // Range: 0x80564694 -> 0x805647A0 void SynthWii::Poll(class SynthWii * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0xC int x; // r31 // References // -> static class Timer * _t; } // Range: 0x805647A0 -> 0x805647D8 class Mic * SynthWii::GetMic() {} // Range: 0x805647D8 -> 0x805647E0 unsigned char SynthWii::GetMicFX() {} // Range: 0x805647E0 -> 0x805647E8 void SynthWii::SetMicFX() {} // Range: 0x805647E8 -> 0x80564824 void SynthWii::SetMicVolume() { // Local variables float volume; // f0 } // Range: 0x80564824 -> 0x80564828 void SynthWii::SuspendMics() {} // Range: 0x80564828 -> 0x8056482C void SynthWii::ResumeMics() {} // Range: 0x8056482C -> 0x805648B4 int SynthWii::GetNumConnectedMics(class SynthWii * const this /* r30 */) { // Local variables int x; // r31 } // Range: 0x805648B4 -> 0x805648BC float SynthWii::GetMicVolume() {} // Range: 0x805648BC -> 0x80564944 void SynthWii::ReleaseMics(class SynthWii * const this /* r29 */) { // Local variables int x; // r31 class MicWii * temp; // r30 } // Range: 0x80564944 -> 0x80564AB4 void SynthWii::AssignUSBMic(class SynthWii * const this /* r30 */, int micIdx /* r31 */) { // Local variables int i; // r28 class MicWii * mic; // r27 int i; // r27 class MicWii * mic; // r28 } // Range: 0x80564AB4 -> 0x80564B10 class DataNode SynthWii::OnDebug() { // References // -> class Debug TheDebug; } // Range: 0x80564B10 -> 0x80564C28 class Stream * SynthWii::NewStream(const char * filebase /* r31 */, float startMs /* f30 */, float bufSecs /* f31 */) { // Local variables class File * f; // r1+0x10 class Symbol ext; // r1+0xC // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x80564C28 -> 0x80564D48 class Stream * SynthWii::NewBufStream(void * buf /* r27 */, int size /* r28 */, class Symbol & ext /* r29 */, float startMs /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7BufFile; } // Range: 0x80564D48 -> 0x80564ED4 class StreamReader * SynthWii::NewStreamDecoder(class File * f /* r29 */, class StandardStream * s /* r30 */, class Symbol & ext /* r31 */) { // References // -> class Debug TheDebug; // -> const char * gNullStr; } static class Symbol bik; // size: 0x4, address: 0x80A54114 static class Symbol mogg; // size: 0x4, address: 0x80A5411C static class Symbol wav; // size: 0x4, address: 0x80A54124 // Range: 0x80564ED4 -> 0x80565064 void SynthWii::NewStreamFile(class SynthWii * const this /* r27 */, const char * filebase /* r28 */, class File * & fileOut /* r29 */, class Symbol & extOut /* r30 */) { // Local variables class String bikFilename; // r1+0x20 class String moggFilename; // r1+0x14 class String wavFilename; // r1+0x8 // References // -> static class Symbol wav; // -> static class Symbol mogg; // -> static class Symbol bik; } // Range: 0x80565064 -> 0x80565130 void SynthWii::PauseVoices(class SynthWii * const this /* r27 */, unsigned char pause /* r28 */) { // Local variables int x; // r29 // References // -> class Voice * gVoices[96]; } // Range: 0x80565130 -> 0x80565138 void SynthWii::HomePauseVoices() {} static class Timer * _t; // size: 0x4, address: 0x80A54128 // Range: 0x80565138 -> 0x805651F4 void FrameCallback() { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } static class Symbol _s; // size: 0x4, address: 0x80A54130 static class Symbol _s; // size: 0x4, address: 0x80A54138 static class Symbol _s; // size: 0x4, address: 0x80A54140 // Range: 0x805651F4 -> 0x805657EC class DataNode SynthWii::Handle(class SynthWii * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class BufFile : public File { // total size: 0x14 const unsigned char * mBuf; // offset 0x4, size 0x4 int mSize; // offset 0x8, size 0x4 const unsigned char * mPos; // offset 0xC, size 0x4 int mBytesRead; // offset 0x10, size 0x4 }; struct { // total size: 0x38 } __vt__7BufFile; // size: 0x38, address: 0x8091A308 struct { // total size: 0x8 } __RTTI__7BufFile; // size: 0x8, address: 0x8091A358 struct { // total size: 0xF4 } __vt__8SynthWii; // size: 0xF4, address: 0x8091A360 struct { // total size: 0x8 } __RTTI__8SynthWii; // size: 0x8, address: 0x8091A488 struct { // total size: 0x8 } __RTTI__5Synth; // size: 0x8, address: 0x8091A4B8 struct { // total size: 0x38 } __vt__4File; // size: 0x38, address: 0x8091A510 struct { // total size: 0x8 } __RTTI__4File; // size: 0x8, address: 0x8091A550 struct { // total size: 0x8 } __RTTI__PP6MicWii; // size: 0x8, address: 0x8091A568 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\synth\Synth.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805657EC -> 0x80565994 */ // Range: 0x805657EC -> 0x80565940 void * Synth::~Synth(class Synth * const this /* r30 */) {} // Range: 0x80565940 -> 0x80565944 void Synth::EnableLevels() {} // Range: 0x80565944 -> 0x80565948 void Synth::ResetMicsChanged() {} // Range: 0x80565948 -> 0x80565950 unsigned char Synth::DidMicsChange() {} // Range: 0x80565950 -> 0x80565958 unsigned char Synth::GetFXChain() {} // Range: 0x80565958 -> 0x8056595C void Synth::SetFXChain() {} // Range: 0x8056595C -> 0x80565964 float Synth::GetFXFeedback() {} // Range: 0x80565964 -> 0x80565968 void Synth::SetFXFeedback() {} // Range: 0x80565968 -> 0x80565970 float Synth::GetFXDelay() {} // Range: 0x80565970 -> 0x80565974 void Synth::SetFXDelay() {} // Range: 0x80565974 -> 0x8056597C float Synth::GetFXVolume() {} // Range: 0x8056597C -> 0x80565980 void Synth::SetFXVolume() {} // Range: 0x80565980 -> 0x80565988 enum FXMode Synth::GetFXMode() {} // Range: 0x80565988 -> 0x8056598C void Synth::SetFXMode() {} // Range: 0x8056598C -> 0x80565994 unsigned char Synth::Fail() {} /* Compile unit: C:\rockband2\system\src\os\BufFile.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80565B68 -> 0x80565D3C */ // Range: 0x80565B68 -> 0x80565B78 unsigned char BufFile::ReadDone() {} // Range: 0x80565B78 -> 0x80565B80 int BufFile::UncompressedSize() {} // Range: 0x80565B80 -> 0x80565B88 int BufFile::Size() {} // Range: 0x80565B88 -> 0x80565B90 unsigned char BufFile::Fail() {} // Range: 0x80565B90 -> 0x80565BB4 unsigned char BufFile::Eof() {} // Range: 0x80565BB4 -> 0x80565BB8 void BufFile::Flush() {} // Range: 0x80565BB8 -> 0x80565BC8 int BufFile::Tell() {} // Range: 0x80565BC8 -> 0x80565C40 int BufFile::Seek(class BufFile * const this /* r30 */, int iOffset /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80565C40 -> 0x80565C88 int BufFile::Write() { // References // -> class Debug TheDebug; } // Range: 0x80565C88 -> 0x80565CB8 unsigned char BufFile::ReadAsync() {} // Range: 0x80565CB8 -> 0x80565D3C int BufFile::Read(class BufFile * const this /* r30 */) { // Local variables int size; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80565D3C -> 0x80565D9C */ // Range: 0x80565D3C -> 0x80565D9C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80565D9C -> 0x805660F4 */ // Range: 0x80565D9C -> 0x80565E08 void vector::_M_fill_insert() {} // Range: 0x80565E08 -> 0x80565F40 void vector::_M_insert_overflow(class vector * const this /* r27 */, class MicWii * * __pos /* r28 */, class MicWii * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class MicWii * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP6MicWii; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80565F40 -> 0x805660F4 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class MicWii * * __pos /* r29 */, unsigned long __n /* r25 */, class MicWii * const & __x /* r30 */) { // Local variables class MicWii * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805660F4 -> 0x8056611C */ // Range: 0x805660F4 -> 0x8056610C struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\synthwii\SampleInst.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056611C -> 0x805664D0 */ // Range: 0x8056611C -> 0x805661D8 void * SampleInstWii::SampleInstWii(class SampleInstWii * const this /* r30 */, const class SynthSampleWii * s /* r31 */) { // References // -> struct [anonymous] __vt__13SampleInstWii; } // Range: 0x805661D8 -> 0x80566270 void * SampleInstWii::~SampleInstWii(class SampleInstWii * const this /* r30 */) { // References // -> struct [anonymous] __vt__13SampleInstWii; } // Range: 0x80566270 -> 0x805663B0 void SampleInstWii::StartImpl(class SampleInstWii * const this /* r31 */) { // Local variables int startByte; // r4 } // Range: 0x805663B0 -> 0x80566404 void SampleInstWii::StopImpl(class SampleInstWii * const this /* r31 */) {} // Range: 0x80566404 -> 0x8056644C unsigned char SampleInstWii::IsPlaying() {} // Range: 0x8056644C -> 0x80566464 void SampleInstWii::SetVolumeImpl() {} // Range: 0x80566464 -> 0x8056647C void SampleInstWii::SetPanImpl() {} // Range: 0x8056647C -> 0x80566494 void SampleInstWii::SetSpeedImpl() {} // Range: 0x80566494 -> 0x805664A8 void SampleInstWii::Pause() {} // Range: 0x805664A8 -> 0x805664AC void SampleInstWii::SetADSR() {} // Range: 0x805664AC -> 0x805664B4 float SampleInstWii::GetProgress() {} // Range: 0x805664B4 -> 0x805664BC void SampleInstWii::SetStartProgress() {} // Range: 0x805664BC -> 0x805664D0 void SampleInstWii::SetFXCore() {} struct { // total size: 0x84 } __vt__13SampleInstWii; // size: 0x84, address: 0x8091A610 /* Compile unit: C:\rockband2\system\src\synth\SampleInst_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805664D0 -> 0x805664D4 */ // Range: 0x805664D0 -> 0x805664D4 void SampleInst::SetSendImpl() {} /* Compile unit: C:\rockband2\system\src\synthwii\SynthSample.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805664D4 -> 0x805666D4 */ class Symbol name; // size: 0x4, address: 0x80A5414C class DataArray * types; // size: 0x4, address: 0x80A54150 class Symbol name; // size: 0x4, address: 0x80A54158 static int _x; // size: 0x4, address: 0x80A5415C // Range: 0x805664D4 -> 0x80566548 static void * SampleAlloc(int size /* r31 */) { // References // -> static int _x; } // Range: 0x80566548 -> 0x805665B4 void SynthSampleWii::Init() { // References // -> class Symbol name; } // Range: 0x805665B4 -> 0x805665BC int SynthSampleWii::GetNumBytes() {} // Range: 0x805665BC -> 0x805665C4 void * SynthSampleWii::GetData() {} // Range: 0x805665C4 -> 0x80566624 class SampleInst * SynthSampleWii::NewInst(const class SynthSampleWii * const this /* r31 */) {} // Range: 0x80566624 -> 0x805666D4 float SynthSampleWii::LengthMs(const class SynthSampleWii * const this /* r29 */) {} struct { // total size: 0x60 } __vt__14SynthSampleWii; // size: 0x60, address: 0x8091A6B0 struct { // total size: 0x8 } __RTTI__14SynthSampleWii; // size: 0x8, address: 0x8091A740 struct { // total size: 0x8 } __RTTI__11SynthSample; // size: 0x8, address: 0x8091A768 /* Compile unit: C:\rockband2\system\src\synthwii\SynthSample.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805666D4 -> 0x80566910 */ // Range: 0x805666D4 -> 0x8056674C class Object * SynthSampleWii::NewObject() { // References // -> struct [anonymous] __vt__14SynthSampleWii; // -> class Symbol name; } // Range: 0x8056674C -> 0x805668CC void SynthSampleWii::SetType(class SynthSampleWii * const this /* r29 */, class Symbol & SynthSampleWii /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805668CC -> 0x80566910 class Symbol SynthSampleWii::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synthwii\VoiceWii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80566910 -> 0x80567F94 */ int active_voice_count; // size: 0x4, address: 0x80A54168 class Voice * gVoices[96]; // size: 0x180, address: 0x80982E30 unsigned char gPitchDone; // size: 0x1, address: 0x80A5416C // Range: 0x80566910 -> 0x80566998 void VoiceTakeoverCallback() { // Local variables class Voice * voice; // r31 // References // -> int active_voice_count; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Voice * gVoices[96]; } // Range: 0x80566998 -> 0x80566A48 void Voice::ReleaseVoice(class Voice * const this /* r29 */) { // Local variables unsigned char intEnabled; // r30 // References // -> class Voice * gVoices[96]; // -> class Debug TheDebug; // -> const char * kAssertStr; } static int _x; // size: 0x4, address: 0x80A54170 // Range: 0x80566A48 -> 0x80566D24 void * Voice::Voice(class Voice * const this /* r29 */, void * buffer /* r30 */, int bufBytes /* r27 */, unsigned char bUseInPlace /* r24 */, unsigned char bUseMEM2 /* r25 */) { // References // -> static int _x; // -> class Voice * gVoices[96]; // -> int active_voice_count; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80566D24 -> 0x80566E78 void * Voice::~Voice(class Voice * const this /* r29 */) { // Local variables unsigned char intEnabled; // r31 // References // -> int active_voice_count; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Voice * gVoices[96]; } // Range: 0x80566E78 -> 0x80566E80 void Voice::SetFormat() {} // Range: 0x80566E80 -> 0x80566EB4 void Voice::SetStartSamp(class Voice * const this /* r31 */) {} // Range: 0x80566EB4 -> 0x80566ED0 void Voice::SetStartByte(int byte /* r0 */) {} // Range: 0x80566ED0 -> 0x80566F04 void Voice::SetLoopSamp(class Voice * const this /* r31 */) {} // Range: 0x80566F04 -> 0x80566F38 void Voice::Play(class Voice * const this /* r31 */) {} struct DSPADPCM { // total size: 0x60 unsigned long num_samples; // offset 0x0, size 0x4 unsigned long num_adpcm_nibbles; // offset 0x4, size 0x4 unsigned long sample_rate; // offset 0x8, size 0x4 unsigned short loop_flag; // offset 0xC, size 0x2 unsigned short format; // offset 0xE, size 0x2 unsigned long sa; // offset 0x10, size 0x4 unsigned long ea; // offset 0x14, size 0x4 unsigned long ca; // offset 0x18, size 0x4 unsigned short coef[16]; // offset 0x1C, size 0x20 unsigned short gain; // offset 0x3C, size 0x2 unsigned short ps; // offset 0x3E, size 0x2 unsigned short yn1; // offset 0x40, size 0x2 unsigned short yn2; // offset 0x42, size 0x2 unsigned short lps; // offset 0x44, size 0x2 unsigned short lyn1; // offset 0x46, size 0x2 unsigned short lyn2; // offset 0x48, size 0x2 unsigned short pad[11]; // offset 0x4A, size 0x16 }; // Range: 0x80566F38 -> 0x80567210 void Voice::Init(class Voice * const this /* r28 */) { // Local variables struct _AXPBADDR addr; // r1+0x18 unsigned int ls_addr; // r31 unsigned int le_addr; // r30 unsigned int lc_addr; // r29 struct _AXPBADPCM adpcm; // r1+0x28 struct _AXPBADPCMLOOP adpcmLoop; // r1+0x10 unsigned long pMRAMStart; // r4 struct DSPADPCM * ps; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80567210 -> 0x8056726C void Voice::Start(class Voice * const this /* r31 */) {} // Range: 0x8056726C -> 0x805672FC void Voice::Pause(class Voice * const this /* r31 */) {} // Range: 0x805672FC -> 0x80567360 void Voice::Stop(class Voice * const this /* r31 */) {} // Range: 0x80567360 -> 0x8056739C unsigned char Voice::IsPlaying() {} // Range: 0x8056739C -> 0x805673B4 unsigned char Voice::IsPaused() {} // Range: 0x805673B4 -> 0x805673F4 int Voice::SampToByte() { // Local variables int convSamp; // r0 } // Range: 0x805673F4 -> 0x80567464 void * Voice::GetAddr() { // Local variables unsigned int addr; // r4 unsigned int offset; // r5 } // Range: 0x80567464 -> 0x805674D8 void Voice::SetVolume(class Voice * const this /* r31 */) { // Local variables float newVol; // f1 } // Range: 0x805674D8 -> 0x805674E8 void Voice::SetFX() {} // Range: 0x805674E8 -> 0x80567524 void Voice::SetADSR(class Voice * const this /* r31 */) { // Local variables float fEnv; // f0 } // Range: 0x80567524 -> 0x8056768C void Voice::SetPan(class Voice * const this /* r29 */, float p /* f1 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056768C -> 0x80567704 void Voice::SetSpeed(class Voice * const this /* r4 */) {} // Range: 0x80567704 -> 0x805677B4 void Voice::SetSampleRate(class Voice * const this /* r31 */) { // Local variables struct _AXPBSRC src; // r1+0x8 unsigned long srcBits; // r0 } static class Timer * _t; // size: 0x4, address: 0x80A54178 // Range: 0x805677B4 -> 0x80567974 void Voice::SyncBuffer(class Voice * const this /* r29 */, int byteStart /* r30 */, int numBytes /* r31 */) { // Local variables void * to; // r28 class AutoTimer _at; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; } static int _x; // size: 0x4, address: 0x80A54180 // Range: 0x80567974 -> 0x80567AC0 void Voice::SetPitchShift(class Voice * const this /* r31 */) { // References // -> static int _x; } // Range: 0x80567AC0 -> 0x80567B28 void Voice::UpdateEnv(class Voice * const this /* r31 */) { // Local variables float fEnv; // f0 } // Range: 0x80567B28 -> 0x80567BF4 void Voice::UpdateMix(class Voice * const this /* r31 */) {} // Range: 0x80567BF4 -> 0x80567CE4 void Voice::Poll(class Voice * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x80567CE4 -> 0x80567EE0 void Voice::PollPitchShift(class Voice * const this /* r31 */) { // Local variables unsigned char * writePtr; // r30 class Timer t; // r1+0x8 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> unsigned char gPitchDone; } // Range: 0x80567EE0 -> 0x80567F38 void Voice::PollAll() { // Local variables int x; // r31 // References // -> class Voice * gVoices[96]; } // Range: 0x80567F38 -> 0x80567F94 void Voice::SynthPollAll() { // Local variables int x; // r31 // References // -> class Voice * gVoices[96]; // -> unsigned char gPitchDone; } /* Compile unit: C:\rockband2\system\src\synthwii\StreamReceiver.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80567F94 -> 0x80568F4C */ // Range: 0x80567F94 -> 0x80567FF8 static class StreamReceiver * NewWiiReceiver(int numBuffers /* r29 */, int sampleRate /* r30 */, unsigned char slip /* r31 */) {} class StreamReceiverWii : public StreamReceiver { // total size: 0x80E0 char * mVoiceBuffer; // offset 0x8054, size 0x4 class Voice * mRefVoice; // offset 0x8058, size 0x4 class Voice * mVoice; // offset 0x805C, size 0x4 int mSampleRate; // offset 0x8060, size 0x4 int mNumBuffers; // offset 0x8064, size 0x4 int mByteStartNext; // offset 0x8068, size 0x4 int mBufSyncSize; // offset 0x806C, size 0x4 int mBufSizeRemaining; // offset 0x8070, size 0x4 unsigned char * mVBufCopySrcPtr; // offset 0x8074, size 0x4 unsigned char * mVBufCopyDstPtr; // offset 0x8078, size 0x4 int mVBufCopySize; // offset 0x807C, size 0x4 int mVBufCopyRemaining; // offset 0x8080, size 0x4 unsigned char * mVBufCopySrcPtr2; // offset 0x8084, size 0x4 int mVBufCopyRemaining1; // offset 0x8088, size 0x4 float mVolume; // offset 0x808C, size 0x4 float mPan; // offset 0x8090, size 0x4 float mSpeed; // offset 0x8094, size 0x4 class ADSR mADSR; // offset 0x8098, size 0x28 enum FXCore mFXCore; // offset 0x80C0, size 0x4 unsigned char mFXActive; // offset 0x80C4, size 0x1 unsigned char mPitchShift; // offset 0x80C5, size 0x1 }; // Range: 0x80567FF8 -> 0x80568008 void StreamReceiverWii::Init() { // References // -> class StreamReceiver * (* sFactory)(int, int, unsigned char); } // Range: 0x80568008 -> 0x8056816C void * StreamReceiverWii::StreamReceiverWii(class StreamReceiverWii * const this /* r28 */, int sampleRate /* r29 */, int numBuffers /* r30 */) { // References // -> struct [anonymous] __vt__17StreamReceiverWii; } // Range: 0x8056816C -> 0x80568244 void * StreamReceiverWii::~StreamReceiverWii(class StreamReceiverWii * const this /* r29 */) { // References // -> struct [anonymous] __vt__17StreamReceiverWii; } // Range: 0x80568244 -> 0x805682A8 void StreamReceiverWii::PauseImpl(class StreamReceiverWii * const this /* r30 */, unsigned char p /* r31 */) {} // Range: 0x805682A8 -> 0x805682B4 void StreamReceiverWii::PlayImpl() {} // Range: 0x805682B4 -> 0x805682F4 int StreamReceiverWii::GetPlayCursor(class StreamReceiverWii * const this /* r31 */) { // Local variables char * addr; // r0 } static class Timer * _t; // size: 0x4, address: 0x80A54188 // Range: 0x805682F4 -> 0x80568468 void StreamReceiverWii::StartSendImpl(class StreamReceiverWii * const this /* r28 */, unsigned char * buf /* r29 */, int bufSize /* r30 */, int targetIdx /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC int byteStart; // r31 // References // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A54190 // Range: 0x80568468 -> 0x80568660 void StreamReceiverWii::StartSendImpl(class StreamReceiverWii * const this /* r27 */, unsigned char * buf1 /* r28 */, unsigned char * buf2 /* r26 */, int buf1Size /* r29 */, int buf2Size /* r30 */, int targetIdx /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC int byteStart; // r31 // References // -> static class Timer * _t; } static class Timer * _t; // size: 0x4, address: 0x80A54198 // Range: 0x80568660 -> 0x80568A20 unsigned char StreamReceiverWii::SendDoneImpl(class StreamReceiverWii * const this /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } // Range: 0x80568A20 -> 0x80568A3C void StreamReceiverWii::SetVolume() {} // Range: 0x80568A3C -> 0x80568A58 void StreamReceiverWii::SetPan() {} // Range: 0x80568A58 -> 0x80568A68 void StreamReceiverWii::SetSpeed() {} // Range: 0x80568A68 -> 0x80568AD8 void StreamReceiverWii::SetADSR() {} // Range: 0x80568AD8 -> 0x80568AF8 void StreamReceiverWii::SetFXCore() {} // Range: 0x80568AF8 -> 0x80568B48 void StreamReceiverWii::SetFX(class StreamReceiverWii * const this /* r30 */, unsigned char fx /* r31 */) {} // Range: 0x80568B48 -> 0x80568B64 void StreamReceiverWii::SetPitchShift() {} // Range: 0x80568B64 -> 0x80568D60 void StreamReceiverWii::SetSlipOffset(class StreamReceiverWii * const this /* r31 */, float ms /* f31 */) { // Local variables int samp; // r6 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80568D60 -> 0x80568DE0 void StreamReceiverWii::SlipStop(class StreamReceiverWii * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80568DE0 -> 0x80568E64 void StreamReceiverWii::SetSlipSpeed(class StreamReceiverWii * const this /* r31 */, float spd /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80568E64 -> 0x80568F4C float StreamReceiverWii::GetSlipOffset(class StreamReceiverWii * const this /* r30 */) { // Local variables float diff; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x60 } __vt__17StreamReceiverWii; // size: 0x60, address: 0x8091A9D8 struct { // total size: 0x8 } __RTTI__17StreamReceiverWii; // size: 0x8, address: 0x8091AA58 struct { // total size: 0x8 } __RTTI__14StreamReceiver; // size: 0x8, address: 0x8091AA70 /* Compile unit: C:\rockband2\system\src\synth\StreamReceiver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80568F4C -> 0x80568F50 */ // Range: 0x80568F4C -> 0x80568F50 void StreamReceiver::SetFXSend() {} /* Compile unit: C:\rockband2\system\src\synthwii\StreamReceiver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80568F50 -> 0x80568F68 */ // Range: 0x80568F50 -> 0x80568F5C unsigned char StreamReceiverWii::GetFX() {} // Range: 0x80568F5C -> 0x80568F68 enum FXCore StreamReceiverWii::GetFXCore() {} /* Compile unit: C:\rockband2\system\src\synth\ADSR.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80568F68 -> 0x8056938C */ static float gDecayRate[16]; // size: 0x40, address: 0x808498E0 static float gSustainLevel[16]; // size: 0x40, address: 0x80849920 static float gReleaseRateLin[32]; // size: 0x80, address: 0x80849960 static float gReleaseRateExp[32]; // size: 0x80, address: 0x808499E0 static float gLinInc[128]; // size: 0x200, address: 0x80849A60 static float gLinDec[128]; // size: 0x200, address: 0x80849C60 static float gExpInc[128]; // size: 0x200, address: 0x80849E60 static float gExpDec[128]; // size: 0x200, address: 0x8084A060 // Range: 0x80568F68 -> 0x80568F80 void * Ps2ADSR::Ps2ADSR() {} // Range: 0x80568F80 -> 0x80568F94 void Ps2ADSR::SetAttackMode() {} // Range: 0x80568F94 -> 0x80568FA8 void Ps2ADSR::SetSustainMode() {} // Range: 0x80568FA8 -> 0x80568FC0 void Ps2ADSR::SetReleaseMode() {} // Range: 0x80568FC0 -> 0x80568FCC enum AttackMode Ps2ADSR::GetAttackMode() {} // Range: 0x80568FCC -> 0x80568FD8 enum SustainMode Ps2ADSR::GetSustainMode() {} // Range: 0x80568FD8 -> 0x80568FE4 enum ReleaseMode Ps2ADSR::GetReleaseMode() {} // Range: 0x80568FE4 -> 0x805690E0 void Ps2ADSR::Set(class Ps2ADSR * const this /* r30 */, const class ADSR & adsr /* r31 */) {} struct __less_2 { // total size: 0x1 }; // Range: 0x805690E0 -> 0x80569138 int Ps2ADSR::NearestAttackRate(float ar /* f31 */) { // Local variables const float * table; // r3 int tableSize; // r4 // References // -> static float gExpInc[128]; // -> static float gLinInc[128]; } // Range: 0x80569138 -> 0x80569148 int Ps2ADSR::NearestDecayRate() { // References // -> static float gDecayRate[16]; } // Range: 0x80569148 -> 0x805691EC int Ps2ADSR::NearestSustainRate(const class Ps2ADSR * const this /* r30 */, float sr /* f31 */) { // Local variables const float * table; // r3 int tableSize; // r4 // References // -> static float gLinDec[128]; // -> static float gExpDec[128]; // -> static float gExpInc[128]; // -> static float gLinInc[128]; } // Range: 0x805691EC -> 0x80569244 int Ps2ADSR::NearestReleaseRate(float rr /* f31 */) { // Local variables const float * table; // r3 int tableSize; // r4 // References // -> static float gReleaseRateExp[32]; // -> static float gReleaseRateLin[32]; } // Range: 0x80569244 -> 0x80569254 int Ps2ADSR::NearestSustainLevel() { // References // -> static float gSustainLevel[16]; } // Range: 0x80569254 -> 0x805692CC void * ADSR::ADSR(class ADSR * const this /* r30 */) {} // Range: 0x805692CC -> 0x805692D4 float ADSR::GetAttackRate() {} // Range: 0x805692D4 -> 0x805692DC float ADSR::GetDecayRate() {} // Range: 0x805692DC -> 0x805692E4 float ADSR::GetSustainRate() {} // Range: 0x805692E4 -> 0x805692EC float ADSR::GetSustainLevel() {} // Range: 0x805692EC -> 0x805692F4 float ADSR::GetReleaseRate() {} // Range: 0x805692F4 -> 0x805692FC enum AttackMode ADSR::GetAttackMode() {} // Range: 0x805692FC -> 0x80569304 enum SustainMode ADSR::GetSustainMode() {} // Range: 0x80569304 -> 0x8056930C enum ReleaseMode ADSR::GetReleaseMode() {} // Range: 0x8056930C -> 0x80569354 void ADSR::SyncPacked(class ADSR * const this /* r31 */) {} // Range: 0x80569354 -> 0x8056938C class BinStream & __rs(class BinStream & s /* r31 */) {} /* Compile unit: C:\rockband2\system\src\synth\RateTables.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056938C -> 0x80569830 */ // Range: 0x8056938C -> 0x80569408 void Ps2ADSR::SetAttackRate(class Ps2ADSR * const this /* r30 */, unsigned int rate /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80569408 -> 0x80569484 void Ps2ADSR::SetDecayRate(class Ps2ADSR * const this /* r30 */, unsigned int rate /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80569484 -> 0x80569500 void Ps2ADSR::SetSustainRate(class Ps2ADSR * const this /* r30 */, unsigned int rate /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80569500 -> 0x80569578 void Ps2ADSR::SetSustainLevel(class Ps2ADSR * const this /* r30 */, unsigned int level /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80569578 -> 0x805695F0 void Ps2ADSR::SetReleaseRate(class Ps2ADSR * const this /* r30 */, unsigned int rate /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805695F0 -> 0x8056970C static int FindNearestInTable(const float * table /* r30 */, int tableSize /* r31 */, float val /* r1+0x8 */) { // Local variables const float * end; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056970C -> 0x80569830 void ADSR::Load(class ADSR * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0xC int tmp; // r1+0x8 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80569830 -> 0x80569848 */ // Range: 0x80569830 -> 0x80569848 struct __less_2 __less2() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80569848 -> 0x8056989C */ // Range: 0x80569848 -> 0x8056989C float * __lower_bound() { // Local variables long __len; // r4 long __half; // r6 const float * __middle; // r7 } /* Compile unit: C:\rockband2\system\src\synth\BinkReader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056989C -> 0x8056A0FC */ int sHeap; // size: 0x4, address: 0x80A47628 struct BINKTRACK { // total size: 0x1C unsigned int Frequency; // offset 0x0, size 0x4 unsigned int Bits; // offset 0x4, size 0x4 unsigned int Channels; // offset 0x8, size 0x4 unsigned int MaxSize; // offset 0xC, size 0x4 struct BINK * bink; // offset 0x10, size 0x4 unsigned int sndcomp; // offset 0x14, size 0x4 int trackindex; // offset 0x18, size 0x4 }; enum BinkReaderState { kOpenBink = 0, kOpenTracks = 1, kInitStream = 2, kPlay = 3, kDone = 4, kFailure = 5, }; class BinkReader : public StreamReader { // total size: 0xE8 class File * mFile; // offset 0x4, size 0x4 class StandardStream * mStream; // offset 0x8, size 0x4 struct BINK * mBink; // offset 0xC, size 0x4 struct BINKTRACK * mBinkTracks[16]; // offset 0x10, size 0x40 unsigned char * mPCMBuffers[16]; // offset 0x50, size 0x40 unsigned char * mPCMOffsets[16]; // offset 0x90, size 0x40 unsigned char mDecodeTrack; // offset 0xD0, size 0x1 int mSamplesReady; // offset 0xD4, size 0x4 unsigned int mSampleCurrent; // offset 0xD8, size 0x4 unsigned int mSamplesJump; // offset 0xDC, size 0x4 enum BinkReaderState mState; // offset 0xE0, size 0x4 int mHeap; // offset 0xE4, size 0x4 }; // Range: 0x8056989C -> 0x80569974 void * BinkReader::BinkReader(class BinkReader * const this /* r30 */, class File * pBinkFile /* r31 */) { // References // -> class Debug TheDebug; // -> int sHeap; // -> struct [anonymous] __vt__10BinkReader; } // Range: 0x80569974 -> 0x80569A40 void * BinkReader::~BinkReader(class BinkReader * const this /* r28 */) { // Local variables unsigned char iTrackIndex; // r30 // References // -> struct [anonymous] __vt__10BinkReader; } static class Timer * _t; // size: 0x4, address: 0x80A541A0 // Range: 0x80569A40 -> 0x80569EB8 void BinkReader::Poll(class BinkReader * const this /* r30 */) { // Local variables class AutoTimer _at; // r1+0xC unsigned char iTrackIndex; // r26 struct BINKTRACK * hBinkTrack; // r0 int iSamplesConsumed; // r0 unsigned char iTrackIndex; // r5 unsigned int iDecodeSize; // r3 int iDecodeQuota; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; } // Range: 0x80569EB8 -> 0x8056A080 void BinkReader::Seek(class BinkReader * const this /* r29 */, int iSample /* r30 */) { // Local variables float kfBinkFreq; // f31 float kfBinkRate; // f30 float kfSampleTime; // f1 unsigned int kiSampleFrame; // r27 float kfBinkTime; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056A080 -> 0x8056A0FC void BinkReader::Init(class BinkReader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x24 } __vt__10BinkReader; // size: 0x24, address: 0x8091AC88 struct { // total size: 0x8 } __RTTI__10BinkReader; // size: 0x8, address: 0x8091ACC8 struct { // total size: 0x20 } __vt__12StreamReader; // size: 0x20, address: 0x8091ACD0 struct { // total size: 0x8 } __RTTI__12StreamReader; // size: 0x8, address: 0x8091AD00 /* Compile unit: C:\rockband2\system\src\synth\StreamReader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056A0FC -> 0x8056A13C */ // Range: 0x8056A0FC -> 0x8056A13C void * StreamReader::~StreamReader(class StreamReader * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\synth\BinkReader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056A13C -> 0x8056A170 */ // Range: 0x8056A13C -> 0x8056A154 unsigned char BinkReader::Fail() {} // Range: 0x8056A154 -> 0x8056A16C unsigned char BinkReader::Done() {} // Range: 0x8056A16C -> 0x8056A170 void BinkReader::EnableReads() {} /* Compile unit: C:\rockband2\system\src\synth\ByteGrinder.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056A170 -> 0x8056C75C */ struct Symmetric_CTR { // total size: 0x310 int cipher; // offset 0x0, size 0x4 int blocklen; // offset 0x4, size 0x4 int padlen; // offset 0x8, size 0x4 unsigned char ctr[128]; // offset 0xC, size 0x80 unsigned char pad[128]; // offset 0x8C, size 0x80 union Symmetric_key key; // offset 0x10C, size 0x204 }; static unsigned long hashMapping[256]; // size: 0x400, address: 0x80982FB0 // Range: 0x8056A170 -> 0x8056A240 class DataNode hashTo5Bits(class DataArray * msg /* r31 */) { // Local variables unsigned long ret; // r3 unsigned long seed; // r3 int i; // r6 // References // -> static unsigned long hashMapping[256]; } static unsigned long s_seed; // size: 0x4, address: 0x80A47630 static unsigned char usedUp[32]; // size: 0x20, address: 0x809833B0 // Range: 0x8056A240 -> 0x8056A330 class DataNode getRandomSequence32A(class DataArray * msg /* r31 */) { // Local variables unsigned long seed; // r0 unsigned char taken; // r6 unsigned long which; // r5 // References // -> static unsigned long s_seed; // -> static unsigned char usedUp[32]; } static unsigned long s_seed; // size: 0x4, address: 0x80A47634 static unsigned char usedUp[32]; // size: 0x20, address: 0x809833D0 // Range: 0x8056A330 -> 0x8056A420 class DataNode getRandomSequence32B(class DataArray * msg /* r31 */) { // Local variables unsigned long seed; // r0 unsigned char taken; // r6 unsigned long which; // r5 // References // -> static unsigned long s_seed; // -> static unsigned char usedUp[32]; } // Range: 0x8056A420 -> 0x8056A49C class DataNode op0(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r0 } // Range: 0x8056A49C -> 0x8056A520 class DataNode op1(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r0 } // Range: 0x8056A520 -> 0x8056A5A8 class DataNode op2(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056A5A8 -> 0x8056A634 class DataNode op3(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056A634 -> 0x8056A6C8 class DataNode op4(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r4 unsigned long w; // r3 } // Range: 0x8056A6C8 -> 0x8056A758 class DataNode op5(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r3 } // Range: 0x8056A758 -> 0x8056A7DC class DataNode op6(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r0 } // Range: 0x8056A7DC -> 0x8056A864 class DataNode op7(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r3 } // Range: 0x8056A864 -> 0x8056A8EC class DataNode op8(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r4 unsigned long w; // r3 } // Range: 0x8056A8EC -> 0x8056A974 class DataNode op9(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r4 unsigned long w; // r3 } // Range: 0x8056A974 -> 0x8056AA08 class DataNode op10(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r31 unsigned long w; // r4 unsigned long originalOperand; // r5 } // Range: 0x8056AA08 -> 0x8056AA94 class DataNode op11(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056AA94 -> 0x8056AB20 class DataNode op12(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056AB20 -> 0x8056ABB4 class DataNode op13(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r31 unsigned long w; // r4 unsigned long originalOperand; // r5 } // Range: 0x8056ABB4 -> 0x8056AC3C class DataNode op14(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056AC3C -> 0x8056ACC4 class DataNode op15(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056ACC4 -> 0x8056AD4C class DataNode op16(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056AD4C -> 0x8056ADD4 class DataNode op17(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056ADD4 -> 0x8056AE5C class DataNode op18(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056AE5C -> 0x8056AEE4 class DataNode op19(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056AEE4 -> 0x8056AF6C class DataNode op20(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056AF6C -> 0x8056AFF4 class DataNode op21(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056AFF4 -> 0x8056B07C class DataNode op22(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056B07C -> 0x8056B104 class DataNode op23(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056B104 -> 0x8056B18C class DataNode op24(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056B18C -> 0x8056B214 class DataNode op25(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056B214 -> 0x8056B29C class DataNode op26(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056B29C -> 0x8056B324 class DataNode op27(class DataArray * msg /* r30 */) { // Local variables unsigned long w; // r4 } // Range: 0x8056B324 -> 0x8056B3B0 class DataNode op28(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056B3B0 -> 0x8056B43C class DataNode op29(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056B43C -> 0x8056B4C8 class DataNode op30(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056B4C8 -> 0x8056B554 class DataNode op31(class DataArray * msg /* r30 */) { // Local variables unsigned long operand; // r0 unsigned long w; // r4 } // Range: 0x8056B554 -> 0x8056B5FC unsigned long ByteGrinder::pickOneOf32A() { // Local variables class DataArray * a; // r31 char script[256]; // r1+0x8 unsigned long result; // r30 } // Range: 0x8056B5FC -> 0x8056B6A4 unsigned long ByteGrinder::pickOneOf32B() { // Local variables class DataArray * a; // r31 char script[256]; // r1+0x8 unsigned long result; // r30 } static unsigned long s_seed; // size: 0x4, address: 0x80A47640 // Range: 0x8056B6A4 -> 0x8056B6E0 class DataNode getRandomLong() { // References // -> static unsigned long s_seed; } // Range: 0x8056B6E0 -> 0x8056B7B4 class DataNode magicNumberGenerator(class DataArray * msg /* r29 */) { // Local variables long hash; // r30 long mask; // r30 } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x8056B7B4 -> 0x8056C434 void ByteGrinder::Init(class ByteGrinder * const this /* r31 */) { // Local variables char functionName[256]; // r1+0x130 class vector funPtrs; // r1+0x124 int i; // r30 } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class DataNode (* * _M_data)(class DataArray *); // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class DataNode (* * _M_start)(class DataArray *); // offset 0x0, size 0x4 class DataNode (* * _M_finish)(class DataArray *); // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x8056C434 -> 0x8056C6E4 void ByteGrinder::GrindArray(class ByteGrinder * const this /* r26 */, long seedA /* r0 */, long seedB /* r27 */, unsigned char * arrayToGrind /* r30 */, int arrayLen /* r31 */) { // Local variables char script[256]; // r1+0x160 class DataArray * a; // r28 class String mainScript; // r1+0x30 int i; // r28 char block[256]; // r1+0x60 char callName[16]; // r1+0x20 class DataArray * mainScriptArray; // r28 int i; // r29 char itoaBuffer[32]; // r1+0x40 unsigned char w; // r27 class String stringArgs; // r1+0x10 int j; // r27 class DataArray * args; // r27 } static unsigned char gHvKeyGreen[16]; // size: 0x10, address: 0x8091ADB0 static unsigned char gHvKeyRed[16]; // size: 0x10, address: 0x8091ADC0 struct symmetric_ECB { // total size: 0x20C int cipher; // offset 0x0, size 0x4 int blocklen; // offset 0x4, size 0x4 union Symmetric_key key; // offset 0x8, size 0x204 }; struct rijndael_key { // total size: 0x204 unsigned long eK[64]; // offset 0x0, size 0x100 unsigned long dK[64]; // offset 0x100, size 0x100 unsigned long k_len; // offset 0x200, size 0x4 }; union Symmetric_key { struct rijndael_key rijndael; // offset 0x0, size 0x204 }; // Range: 0x8056C6E4 -> 0x8056C75C void ByteGrinder::HvDecrypt(unsigned char * inBlock /* r29 */, unsigned char * outBlock /* r30 */) { // Local variables struct symmetric_ECB * ecbState; // r31 union Symmetric_key symKey; // r1+0x8 // References // -> static unsigned char gHvKeyGreen[16]; } struct { // total size: 0x8 } __RTTI__PPFP9DataArray_8DataNode; // size: 0x8, address: 0x8091ADF0 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056C75C -> 0x8056C894 */ // Range: 0x8056C75C -> 0x8056C894 void vector::_M_insert_overflow(class vector * const this /* r27 */, class DataNode (* * __pos)(class DataArray *) /* r28 */, class DataNode (* const & __x)(class DataArray *) /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class DataNode (* * __new_finish)(class DataArray *); // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPFP9DataArray_8DataNode; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\synth\Emitter.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056C894 -> 0x8056E10C */ class DataArray * types; // size: 0x4, address: 0x80A541A8 class Symbol name; // size: 0x4, address: 0x80A541B0 static class RndDir * gIconDir; // size: 0x4, address: 0x80A541B4 class SynthEmitter : public RndTransformable, public RndDrawable, public RndPollable { // total size: 0x170 class ObjPtr mSfx; // offset 0xFC, size 0xC class ObjPtr mInst; // offset 0x108, size 0xC class ObjPtr mListener; // offset 0x114, size 0xC unsigned char mEnabled; // offset 0x120, size 0x1 float mRadInner; // offset 0x124, size 0x4 float mRadOuter; // offset 0x128, size 0x4 float mVolInner; // offset 0x12C, size 0x4 float mVolOuter; // offset 0x130, size 0x4 }; // Range: 0x8056C894 -> 0x8056C9F4 void SynthEmitter::Copy(class SynthEmitter * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class SynthEmitter * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12SynthEmitter; } static int kEmitterRev; // size: 0x4, address: 0x80A47660 // Range: 0x8056C9F4 -> 0x8056CA38 void SynthEmitter::Save() { // References // -> class Debug TheDebug; } // Range: 0x8056CA38 -> 0x8056CB90 void SynthEmitter::Load(class SynthEmitter * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int kEmitterRev; } // Range: 0x8056CB90 -> 0x8056CC90 void SynthEmitter::DrawShowing(class SynthEmitter * const this /* r31 */) { // References // -> static class RndDir * gIconDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x8056CC90 -> 0x8056CD34 class RndDrawable * SynthEmitter::CollideShowing(class SynthEmitter * const this /* r28 */, const class Segment & s /* r29 */, float & dist /* r30 */, class Plane & plane /* r31 */) { // References // -> static class RndDir * gIconDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x8056CD34 -> 0x8056CD94 int SynthEmitter::CollidePlane(const class Plane & plane /* r31 */) { // References // -> static class RndDir * gIconDir; // -> class LoadMgr TheLoadMgr; } // Range: 0x8056CD94 -> 0x8056CEB4 void SynthEmitter::CheckLoadResources() { // Local variables class FilePath resFile; // r1+0x8 class ObjectDir * d; // r0 // References // -> struct [anonymous] __RTTI__9ObjectDir; // -> struct [anonymous] __RTTI__6RndDir; // -> struct [anonymous] __vt__8FilePath; // -> static class RndDir * gIconDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x8056CEB4 -> 0x8056D188 void SynthEmitter::Poll(class SynthEmitter * const this /* r29 */) { // Local variables class Transform invList; // r1+0x30 class Vector3 v; // r1+0x20 float r; // f0 unsigned char isNew; // r0 float vol; // f0 float ang; // f1 // References // -> struct [anonymous] __RTTI__7SeqInst; // -> struct [anonymous] __RTTI__7SfxInst; } // Range: 0x8056D188 -> 0x8056D34C void * SynthEmitter::~SynthEmitter(class SynthEmitter * const this /* r30 */) { // References // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7SfxInst,9ObjectDir>; // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__12SynthEmitter; } class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class SfxInst * mPtr; // offset 0x8, size 0x4 }; // Range: 0x8056D34C -> 0x8056D530 void * SynthEmitter::SynthEmitter(class SynthEmitter * const this /* r31 */) { // References // -> struct [anonymous] __vt__37ObjPtr<16RndTransformable,9ObjectDir>; // -> struct [anonymous] __vt__27ObjPtr<7SfxInst,9ObjectDir>; // -> struct [anonymous] __vt__23ObjPtr<3Sfx,9ObjectDir>; // -> struct [anonymous] __vt__12SynthEmitter; // -> struct [anonymous] __vt__11RndPollable; // -> struct [anonymous] __vt__16RndHighlightable; } // Range: 0x8056D530 -> 0x8056DA50 class DataNode SynthEmitter::Handle(class SynthEmitter * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x48 class DataNode _n; // r1+0x40 class DataNode _n; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A541BC static class Symbol _s; // size: 0x4, address: 0x80A541C4 static class Symbol _s; // size: 0x4, address: 0x80A541CC static class Symbol _s; // size: 0x4, address: 0x80A541D4 static class Symbol _s; // size: 0x4, address: 0x80A541DC static class Symbol _s; // size: 0x4, address: 0x80A541E4 static class Symbol _s; // size: 0x4, address: 0x80A541EC // Range: 0x8056DA50 -> 0x8056E10C unsigned char SynthEmitter::SyncProperty(class SynthEmitter * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0x128 } __vt__12SynthEmitter; // size: 0x128, address: 0x8091AFD0 struct { // total size: 0x8 } __RTTI__12SynthEmitter; // size: 0x8, address: 0x8091B140 struct { // total size: 0x18 } __vt__27ObjPtr<7SfxInst,9ObjectDir>; // size: 0x18, address: 0x8091B148 struct { // total size: 0x8 } __RTTI__27ObjPtr<7SfxInst,9ObjectDir>; // size: 0x8, address: 0x8091B188 struct { // total size: 0x8 } __RTTI__7SfxInst; // size: 0x8, address: 0x8091B200 struct { // total size: 0x8 } __RTTI__7SeqInst; // size: 0x8, address: 0x8091B258 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056E10C -> 0x8056E21C */ // Range: 0x8056E10C -> 0x8056E17C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7SfxInst,9ObjectDir>; } // Range: 0x8056E17C -> 0x8056E184 class Object * ObjPtr::RefOwner() {} // Range: 0x8056E184 -> 0x8056E21C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7SfxInst; } /* Compile unit: C:\rockband2\system\src\obj\PropSync_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056E36C -> 0x8056E4BC */ // Range: 0x8056E36C -> 0x8056E4BC unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__3Sfx; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\synth\Emitter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056E4BC -> 0x8056E6AC */ // Range: 0x8056E4BC -> 0x8056E500 class Symbol SynthEmitter::ClassName() { // References // -> class Symbol name; } // Range: 0x8056E500 -> 0x8056E6A4 void SynthEmitter::SetType(class SynthEmitter * const this /* r29 */, class Symbol & SynthEmitter /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8056E6A4 -> 0x8056E6AC void SynthEmitter::Highlight() {} /* Compile unit: C:\rockband2\system\src\synth\Faders.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8056E6AC -> 0x80570D30 */ class DataArray * types; // size: 0x4, address: 0x80A541F0 // Range: 0x8056E6AC -> 0x8056E73C void * Fader::Fader(class Fader * const this /* r31 */) { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__5Fader; } // Range: 0x8056E73C -> 0x8056E7E4 void * Fader::~Fader(class Fader * const this /* r30 */) { // References // -> struct [anonymous] __vt__5Fader; } // Range: 0x8056E7E4 -> 0x8056E828 void Fader::SetVal(class Fader * const this /* r31 */, float valDb /* f31 */) {} struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std23_List_node; // size: 0x8, address: 0x8091B690 // Range: 0x8056E828 -> 0x8056E83C unsigned char Fader::IsFading() {} // Range: 0x8056E83C -> 0x8056E870 void Fader::AddClient(class Fader * const this /* r5 */, class FaderGroup * fg /* r1+0x8 */) {} // Range: 0x8056E870 -> 0x8056E934 void Fader::RemoveClient(class Fader * const this /* r31 */) {} // Range: 0x8056E934 -> 0x8056E954 void Fader::CancelFade() {} // Range: 0x8056E954 -> 0x8056E9E4 void Fader::UpdateValue() {} // Range: 0x8056E9E4 -> 0x8056EA54 void Fader::Copy(class Fader * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class Fader * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; } static class Symbol _s; // size: 0x4, address: 0x80A541F8 // Range: 0x8056EA54 -> 0x8056EBE4 unsigned char Fader::SyncProperty(class Fader * const this /* r31 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r30 */, enum PropOp _op /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A54200 static class Symbol _s; // size: 0x4, address: 0x80A54208 // Range: 0x8056EBE4 -> 0x8056F09C class DataNode Fader::Handle(class Fader * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x8056F09C -> 0x8056F0C8 void * FaderGroup::FaderGroup() { // References // -> struct [anonymous] __vt__29ObjPtrList<5Fader,9ObjectDir>; } // Range: 0x8056F0C8 -> 0x8056F434 void * FaderGroup::~FaderGroup(class FaderGroup * const this /* r28 */) { // References // -> struct [anonymous] __vt__29ObjPtrList<5Fader,9ObjectDir>; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056F434 -> 0x8056F6AC class Fader * FaderGroup::AddLocal(class FaderGroup * const this /* r30 */, class Symbol & name /* r29 */) { // Local variables class iterator itr; // r1+0x30 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x8056F6AC -> 0x8056F83C void FaderGroup::Add(class FaderGroup * const this /* r31 */, class Fader * fader /* r29 */) { // Local variables class iterator itr; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056F83C -> 0x8056F9B0 void FaderGroup::Remove(class FaderGroup * const this /* r31 */) { // Local variables class iterator itr; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056F9B0 -> 0x8056FA04 float FaderGroup::GetVal() { // Local variables float ret; // f1 class iterator itr; // r1+0x18 } // Range: 0x8056FA04 -> 0x8056FA0C unsigned char FaderGroup::Dirty() {} // Range: 0x8056FA0C -> 0x8056FA18 void FaderGroup::SetDirty() {} // Range: 0x8056FA18 -> 0x8056FA24 void FaderGroup::ClearDirty() {} // Range: 0x8056FA24 -> 0x8056FAD8 class Fader * FaderGroup::FindLocal() { // Local variables class iterator itr; // r1+0x24 // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x8056FAD8 -> 0x8056FC48 void FaderGroup::Print(class FaderGroup * const this /* r29 */, class TextStream & ts /* r31 */) { // Local variables class iterator itr; // r1+0x20 class String nm; // r1+0x24 } // Range: 0x8056FC48 -> 0x8056FF04 void FaderGroup::Load(class FaderGroup * const this /* r31 */, class BinStream & s /* r30 */) { // Local variables int rev; // r1+0x38 class ObjPtrList l; // r1+0x3C class iterator itr; // r1+0x34 // References // -> const char * gNullStr; // -> struct [anonymous] __vt__29ObjPtrList<5Fader,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8056FF04 -> 0x8057045C unsigned char PropSync(class FaderGroup & g /* r24 */, class DataNode & n /* r25 */, class DataArray * prop /* r26 */, int i /* r27 */, enum PropOp op /* r28 */) { // Local variables class ObjPtrList l; // r1+0x68 class iterator itr; // r1+0x64 unsigned char ret; // r29 class iterator itr; // r1+0x60 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__29ObjPtrList<5Fader,9ObjectDir>; } // Range: 0x8057045C -> 0x80570AE8 unsigned char PropSync(class ObjPtrList & l /* r26 */, class DataNode & n /* r27 */, class DataArray * prop /* r28 */, int i /* r29 */, enum PropOp op /* r30 */) { // Local variables class iterator it; // r1+0x1C int which; // r3 class Fader * obj; // r31 class Fader * obj; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Debug TheDebug; // -> const char * kAssertStr; } class list : public _List_base { // total size: 0x8 }; class list sTasks; // size: 0x8, address: 0x80983400 struct FaderTask { // total size: 0x60 class Timer mTimer; // offset 0x0, size 0x38 class LinearInterpolator mInterp; // offset 0x38, size 0x1C class Fader * mFader; // offset 0x54, size 0x4 unsigned char mDone; // offset 0x58, size 0x1 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80570AE8 -> 0x80570B9C void FaderTask::PollAll() { // Local variables struct _List_iterator itr; // r1+0x1C // References // -> class list sTasks; } // Range: 0x80570B9C -> 0x80570CD4 void FaderTask::Poll(struct FaderTask * const this /* r30 */) { // Local variables float t; // f0 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x18 } __vt__29ObjPtrList<5Fader,9ObjectDir>; // size: 0x18, address: 0x8091B7C0 struct { // total size: 0x8 } __RTTI__29ObjPtrList<5Fader,9ObjectDir>; // size: 0x8, address: 0x8091B808 struct { // total size: 0x54 } __vt__5Fader; // size: 0x54, address: 0x8091B810 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_Rb_tree_node; // size: 0x8, address: 0x8091B900 // Range: 0x80570CD4 -> 0x80570D30 static void __sinit_\Faders_cpp() { // References // -> class list sTasks; } class _List_node : public _List_node_base { // total size: 0xC public: struct FaderTask * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80570D30 -> 0x80570E18 */ // Range: 0x80570D30 -> 0x80570D74 void Fader::Save() { // References // -> class Debug TheDebug; } // Range: 0x80570D74 -> 0x80570E18 void Fader::Load(class Fader * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0xC float val; // r1+0x8 // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\synth\Faders.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80570E18 -> 0x8057113C */ // Range: 0x80570E18 -> 0x80570F78 void Fader::DoFade(class Fader * const this /* r30 */, float targetDb /* f30 */, float duration /* f31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std23_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sTasks; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80570F78 -> 0x805710F8 void Fader::SetType(class Fader * const this /* r29 */, class Symbol & Fader /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805710F8 -> 0x8057113C class Symbol Fader::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057113C -> 0x8057186C */ // Range: 0x8057113C -> 0x805712E4 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__29ObjPtrList<5Fader,9ObjectDir>; } // Range: 0x805712E4 -> 0x80571678 class BinStream & __rs(class BinStream & d /* r29 */, class ObjPtrList & c /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80571678 -> 0x80571864 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80571864 -> 0x8057186C class Object * ObjPtrList::RefOwner() {} /* Compile unit: C:\rockband2\system\src\math\Interp.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057186C -> 0x8057187C */ // Range: 0x8057186C -> 0x8057187C float LinearInterpolator::Eval() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057187C -> 0x80571BB4 */ // Range: 0x8057187C -> 0x805718EC void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x805718EC -> 0x80571A18 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, class FaderGroup * const & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x80571A18 -> 0x80571BB4 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r30 */, struct _Rb_tree_node_base * __parent /* r31 */, class FaderGroup * const & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_Rb_tree_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80571BB4 -> 0x80571C0C */ // Range: 0x80571BB4 -> 0x80571C0C void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80571C0C -> 0x80571C6C */ // Range: 0x80571C0C -> 0x80571C6C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\synth\FxSend.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80571C6C -> 0x80572B30 */ class DataArray * types; // size: 0x4, address: 0x80A54210 class Symbol name; // size: 0x4, address: 0x80A54218 // Range: 0x80571C6C -> 0x80571CF4 void * FxSend::FxSend(class FxSend * const this /* r31 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6FxSend,9ObjectDir>; // -> struct [anonymous] __vt__6FxSend; } // Range: 0x80571CF4 -> 0x80571D7C void * FxSend::~FxSend(class FxSend * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6FxSend,9ObjectDir>; } // Range: 0x80571D7C -> 0x80571E08 void FxSend::SetNextSend(class FxSend * const this /* r30 */, class FxSend * send /* r31 */) {} // Range: 0x80571E08 -> 0x80571E68 void FxSend::SetStage(class FxSend * const this /* r30 */, int n /* r31 */) {} // Range: 0x80571E68 -> 0x80571E80 void FxSend::SetChannels() {} // Range: 0x80571E80 -> 0x80571F88 void FxSend::RebuildChain(class FxSend * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x18 class ObjRef * ref; // r31 class FxSend * refSend; // r0 class Sfx * sfx; // r0 // References // -> struct [anonymous] __RTTI__3Sfx; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } // Range: 0x80571F88 -> 0x8057205C void FxSend::Copy(class FxSend * const this /* r29 */, const class Object * o /* r30 */) { // Local variables const class FxSend * send; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } // Range: 0x8057205C -> 0x80572070 void FxSend::SetInputGain() {} static class Symbol _s; // size: 0x4, address: 0x80A54220 // Range: 0x80572070 -> 0x805723F8 class DataNode FxSend::Handle(class FxSend * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54228 static class Symbol _s; // size: 0x4, address: 0x80A54230 static class Symbol _s; // size: 0x4, address: 0x80A54238 static class Symbol _s; // size: 0x4, address: 0x80A54240 static class Symbol _s; // size: 0x4, address: 0x80A54248 static class Symbol _s; // size: 0x4, address: 0x80A54250 static class Symbol _s; // size: 0x4, address: 0x80A54258 // Range: 0x805723F8 -> 0x80572B30 unsigned char FxSend::SyncProperty(class FxSend * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__6FxSend; // size: 0x68, address: 0x8091BC60 struct { // total size: 0x18 } __vt__31ObjOwnerPtr<6FxSend,9ObjectDir>; // size: 0x18, address: 0x8091BCF0 struct { // total size: 0x8 } __RTTI__31ObjOwnerPtr<6FxSend,9ObjectDir>; // size: 0x8, address: 0x8091BD38 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80572B30 -> 0x80572D80 */ // Range: 0x80572B30 -> 0x80572BA0 void * ObjOwnerPtr::~ObjOwnerPtr(class ObjOwnerPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6FxSend,9ObjectDir>; } // Range: 0x80572BA0 -> 0x80572D34 class BinStream & __rs(class BinStream & d /* r28 */, class ObjOwnerPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } // Range: 0x80572D34 -> 0x80572D3C class Object * ObjOwnerPtr::RefOwner() {} // Range: 0x80572D3C -> 0x80572D80 void ObjOwnerPtr::Replace() { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\synth\FxSend.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80572D80 -> 0x805734F4 */ // Range: 0x80572D80 -> 0x80572E6C void FxSend::Replace(class FxSend * const this /* r30 */, class Object * to /* r31 */) { // References // -> struct [anonymous] __vt__31ObjOwnerPtr<6FxSend,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80572E6C -> 0x80572E70 void FxSend::Recreate() {} // Range: 0x80572E70 -> 0x80572FF4 unsigned char FxSend::CheckChain(class FxSend * const this /* r29 */, int myStage /* r30 */) { // Local variables class FxSend * i; // r6 struct _List_iterator i; // r1+0x18 class FxSend * refSend; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; // -> class Debug TheDebug; } // Range: 0x80572FF4 -> 0x80573038 void FxSend::Save() { // References // -> class Debug TheDebug; } // Range: 0x80573038 -> 0x80573238 void FxSend::Load(class FxSend * const this /* r28 */, class BinStream & d /* r27 */) { // Local variables int rev; // r1+0x14 int oldStage; // r30 enum SendChannels oldChans; // r29 float pctWet; // r1+0x10 int tmp; // r1+0xC // References // -> class Debug TheDebug; } // Range: 0x80573238 -> 0x8057323C void FxSend::UpdateMix() {} // Range: 0x8057323C -> 0x8057332C void FxSend::TestWithMic(class FxSend * const this /* r30 */) { // Local variables class Mic * mic; // r31 // References // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x8057332C -> 0x80573330 void FxSend::OnParametersChanged() {} // Range: 0x80573330 -> 0x805734B0 void FxSend::SetType(class FxSend * const this /* r29 */, class Symbol & FxSend /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805734B0 -> 0x805734F4 class Symbol FxSend::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendChorus.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805734F4 -> 0x805743B8 */ class DataArray * types; // size: 0x4, address: 0x80A54260 class Symbol name; // size: 0x4, address: 0x80A54268 static class Symbol quarter; // size: 0x4, address: 0x80A54270 class FxSendChorus : public FxSend { // total size: 0x70 protected: float mDelayMs; // offset 0x50, size 0x4 float mRate; // offset 0x54, size 0x4 float mDepth; // offset 0x58, size 0x4 int mFeedbackPct; // offset 0x5C, size 0x4 int mOffsetPct; // offset 0x60, size 0x4 unsigned char mTempoSync; // offset 0x64, size 0x1 class Symbol mSyncType; // offset 0x68, size 0x4 float mTempo; // offset 0x6C, size 0x4 }; // Range: 0x805734F4 -> 0x805735A8 void * FxSendChorus::FxSendChorus(class FxSendChorus * const this /* r31 */) { // References // -> static class Symbol quarter; // -> const char * gNullStr; // -> struct [anonymous] __vt__12FxSendChorus; } static int REV; // size: 0x4, address: 0x80A47688 // Range: 0x805735A8 -> 0x805735EC void FxSendChorus::Save() { // References // -> class Debug TheDebug; } // Range: 0x805735EC -> 0x80573750 void FxSendChorus::Load(class FxSendChorus * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x80573750 -> 0x805737F0 void FxSendChorus::Copy(class FxSendChorus * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendChorus * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12FxSendChorus; } // Range: 0x805737F0 -> 0x80573A98 class DataNode FxSendChorus::Handle(class FxSendChorus * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54278 static class Symbol _s; // size: 0x4, address: 0x80A54280 static class Symbol _s; // size: 0x4, address: 0x80A54288 static class Symbol _s; // size: 0x4, address: 0x80A54290 static class Symbol _s; // size: 0x4, address: 0x80A54298 static class Symbol _s; // size: 0x4, address: 0x80A542A0 static class Symbol _s; // size: 0x4, address: 0x80A542A8 static class Symbol _s; // size: 0x4, address: 0x80A542B0 // Range: 0x80573A98 -> 0x805743B8 unsigned char FxSendChorus::SyncProperty(class FxSendChorus * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__12FxSendChorus; // size: 0x68, address: 0x8091BF58 struct { // total size: 0x8 } __RTTI__12FxSendChorus; // size: 0x8, address: 0x8091BFF0 /* Compile unit: C:\rockband2\system\src\synth\FxSendChorus.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80574414 -> 0x805745D8 */ // Range: 0x80574414 -> 0x80574594 void FxSendChorus::SetType(class FxSendChorus * const this /* r29 */, class Symbol & FxSendChorus /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80574594 -> 0x805745D8 class Symbol FxSendChorus::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendFlanger.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805745D8 -> 0x805754D4 */ class DataArray * types; // size: 0x4, address: 0x80A542B8 class Symbol name; // size: 0x4, address: 0x80A542C0 static class Symbol quarter; // size: 0x4, address: 0x80A542C8 class FxSendFlanger : public FxSend { // total size: 0x70 protected: float mDelayMs; // offset 0x50, size 0x4 float mRate; // offset 0x54, size 0x4 int mDepthPct; // offset 0x58, size 0x4 int mFeedbackPct; // offset 0x5C, size 0x4 int mOffsetPct; // offset 0x60, size 0x4 unsigned char mTempoSync; // offset 0x64, size 0x1 class Symbol mSyncType; // offset 0x68, size 0x4 float mTempo; // offset 0x6C, size 0x4 }; // Range: 0x805745D8 -> 0x80574688 void * FxSendFlanger::FxSendFlanger(class FxSendFlanger * const this /* r31 */) { // References // -> static class Symbol quarter; // -> const char * gNullStr; // -> struct [anonymous] __vt__13FxSendFlanger; } static int REV; // size: 0x4, address: 0x80A47690 // Range: 0x80574688 -> 0x805746CC void FxSendFlanger::Save() { // References // -> class Debug TheDebug; } // Range: 0x805746CC -> 0x80574868 void FxSendFlanger::Load(class FxSendFlanger * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x10 float tmp; // r1+0xC // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x80574868 -> 0x80574908 void FxSendFlanger::Copy(class FxSendFlanger * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendFlanger * f; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__13FxSendFlanger; } // Range: 0x80574908 -> 0x80574BB0 class DataNode FxSendFlanger::Handle(class FxSendFlanger * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A542D0 static class Symbol _s; // size: 0x4, address: 0x80A542D8 static class Symbol _s; // size: 0x4, address: 0x80A542E0 static class Symbol _s; // size: 0x4, address: 0x80A542E8 static class Symbol _s; // size: 0x4, address: 0x80A542F0 static class Symbol _s; // size: 0x4, address: 0x80A542F8 static class Symbol _s; // size: 0x4, address: 0x80A54300 static class Symbol _s; // size: 0x4, address: 0x80A54308 // Range: 0x80574BB0 -> 0x805754D4 unsigned char FxSendFlanger::SyncProperty(class FxSendFlanger * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__13FxSendFlanger; // size: 0x68, address: 0x8091C228 struct { // total size: 0x8 } __RTTI__13FxSendFlanger; // size: 0x8, address: 0x8091C2C0 /* Compile unit: C:\rockband2\system\src\synth\FxSendFlanger.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80575530 -> 0x805756F4 */ // Range: 0x80575530 -> 0x805756B0 void FxSendFlanger::SetType(class FxSendFlanger * const this /* r29 */, class Symbol & FxSendFlanger /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805756B0 -> 0x805756F4 class Symbol FxSendFlanger::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendFeedback.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805756F4 -> 0x805767E0 */ class DataArray * types; // size: 0x4, address: 0x80A54310 class Symbol name; // size: 0x4, address: 0x80A54318 struct FbState { // total size: 0x34 float mBendRange; // offset 0x0, size 0x4 float mBendAmount; // offset 0x4, size 0x4 float mNote; // offset 0x8, size 0x4 float mFeedbackDB; // offset 0xC, size 0x4 float mTone; // offset 0x10, size 0x4 float mDrive; // offset 0x14, size 0x4 float mSpaceDepth; // offset 0x18, size 0x4 float mSpaceRate; // offset 0x1C, size 0x4 float mSpaceAverage; // offset 0x20, size 0x4 float mOtherNote; // offset 0x24, size 0x4 float mFinePitch; // offset 0x28, size 0x4 float mExcitation; // offset 0x2C, size 0x4 float mAutoBend; // offset 0x30, size 0x4 }; class FxSendFeedback : public FxSend { // total size: 0xB8 protected: struct FbState mState; // offset 0x50, size 0x34 struct FbState mStatePrev; // offset 0x84, size 0x34 }; // Range: 0x805756F4 -> 0x805757A4 void * FxSendFeedback::FxSendFeedback(class FxSendFeedback * const this /* r31 */) { // References // -> struct [anonymous] __vt__14FxSendFeedback; } // Range: 0x805757A4 -> 0x80575800 void * FxSendFeedback::~FxSendFeedback(class FxSendFeedback * const this /* r30 */) {} static int REV; // size: 0x4, address: 0x80A47698 // Range: 0x80575800 -> 0x80575844 void FxSendFeedback::Save() { // References // -> class Debug TheDebug; } // Range: 0x80575844 -> 0x80575980 void FxSendFeedback::Load(class FxSendFeedback * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x80575980 -> 0x80575A30 void FxSendFeedback::Copy(class FxSendFeedback * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendFeedback * Feedback; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14FxSendFeedback; } // Range: 0x80575A30 -> 0x80575CD8 class DataNode FxSendFeedback::Handle(class FxSendFeedback * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54320 static class Symbol _s; // size: 0x4, address: 0x80A54328 static class Symbol _s; // size: 0x4, address: 0x80A54330 static class Symbol _s; // size: 0x4, address: 0x80A54338 static class Symbol _s; // size: 0x4, address: 0x80A54340 static class Symbol _s; // size: 0x4, address: 0x80A54348 static class Symbol _s; // size: 0x4, address: 0x80A54350 static class Symbol _s; // size: 0x4, address: 0x80A54358 static class Symbol _s; // size: 0x4, address: 0x80A54360 static class Symbol _s; // size: 0x4, address: 0x80A54368 // Range: 0x80575CD8 -> 0x805767E0 unsigned char FxSendFeedback::SyncProperty(class FxSendFeedback * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__14FxSendFeedback; // size: 0x68, address: 0x8091C508 struct { // total size: 0x8 } __RTTI__14FxSendFeedback; // size: 0x8, address: 0x8091C5A0 /* Compile unit: C:\rockband2\system\src\synth\FxSendFeedback.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805767E0 -> 0x805769A4 */ // Range: 0x805767E0 -> 0x80576960 void FxSendFeedback::SetType(class FxSendFeedback * const this /* r29 */, class Symbol & FxSendFeedback /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80576960 -> 0x805769A4 class Symbol FxSendFeedback::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendReverb.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805769A4 -> 0x80577864 */ class DataArray * types; // size: 0x4, address: 0x80A54370 class Symbol name; // size: 0x4, address: 0x80A54378 static class Symbol generic; // size: 0x4, address: 0x80A54380 class FxSendReverb : public FxSend { // total size: 0x70 protected: class Symbol mEnvironmentPreset; // offset 0x50, size 0x4 float mPreDelayMs; // offset 0x54, size 0x4 float mHighCut; // offset 0x58, size 0x4 float mLowCut; // offset 0x5C, size 0x4 float mRoomSize; // offset 0x60, size 0x4 float mDamping; // offset 0x64, size 0x4 float mDiffusion; // offset 0x68, size 0x4 float mEarlyLate; // offset 0x6C, size 0x4 }; // Range: 0x805769A4 -> 0x80576A50 void * FxSendReverb::FxSendReverb(class FxSendReverb * const this /* r31 */) { // References // -> static class Symbol generic; // -> const char * gNullStr; // -> struct [anonymous] __vt__12FxSendReverb; } // Range: 0x80576A50 -> 0x80576AAC void * FxSendReverb::~FxSendReverb(class FxSendReverb * const this /* r30 */) {} static int REV; // size: 0x4, address: 0x80A476A0 // Range: 0x80576AAC -> 0x80576AF0 void FxSendReverb::Save() { // References // -> class Debug TheDebug; } // Range: 0x80576AF0 -> 0x80576C14 void FxSendReverb::Load(class FxSendReverb * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x80576C14 -> 0x80576CB4 void FxSendReverb::Copy(class FxSendReverb * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendReverb * reverb; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__12FxSendReverb; } // Range: 0x80576CB4 -> 0x80576F5C class DataNode FxSendReverb::Handle(class FxSendReverb * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54388 static class Symbol _s; // size: 0x4, address: 0x80A54390 static class Symbol _s; // size: 0x4, address: 0x80A54398 static class Symbol _s; // size: 0x4, address: 0x80A543A0 static class Symbol _s; // size: 0x4, address: 0x80A543A8 static class Symbol _s; // size: 0x4, address: 0x80A543B0 static class Symbol _s; // size: 0x4, address: 0x80A543B8 static class Symbol _s; // size: 0x4, address: 0x80A543C0 // Range: 0x80576F5C -> 0x80577864 unsigned char FxSendReverb::SyncProperty(class FxSendReverb * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__12FxSendReverb; // size: 0x68, address: 0x8091C730 struct { // total size: 0x8 } __RTTI__12FxSendReverb; // size: 0x8, address: 0x8091C7C8 /* Compile unit: C:\rockband2\system\src\synth\FxSendReverb.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80577864 -> 0x80577A28 */ // Range: 0x80577864 -> 0x805779E4 void FxSendReverb::SetType(class FxSendReverb * const this /* r29 */, class Symbol & FxSendReverb /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805779E4 -> 0x80577A28 class Symbol FxSendReverb::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendDelay.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80577A28 -> 0x805786BC */ class DataArray * types; // size: 0x4, address: 0x80A543C8 class Symbol name; // size: 0x4, address: 0x80A543D0 static class Symbol eighth; // size: 0x4, address: 0x80A543D8 class FxSendDelay : public FxSend { // total size: 0x68 protected: float mDelayTime; // offset 0x50, size 0x4 float mGain; // offset 0x54, size 0x4 float mPingPongPct; // offset 0x58, size 0x4 unsigned char mTempoSync; // offset 0x5C, size 0x1 class Symbol mSyncType; // offset 0x60, size 0x4 float mTempo; // offset 0x64, size 0x4 }; // Range: 0x80577A28 -> 0x80577AC0 void * FxSendDelay::FxSendDelay(class FxSendDelay * const this /* r31 */) { // References // -> static class Symbol eighth; // -> const char * gNullStr; // -> struct [anonymous] __vt__11FxSendDelay; } // Range: 0x80577AC0 -> 0x80577B1C void * FxSendDelay::~FxSendDelay(class FxSendDelay * const this /* r30 */) {} static int REV; // size: 0x4, address: 0x80A476A8 // Range: 0x80577B1C -> 0x80577B60 void FxSendDelay::Save() { // References // -> class Debug TheDebug; } // Range: 0x80577B60 -> 0x80577C84 void FxSendDelay::Load(class FxSendDelay * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x80577C84 -> 0x80577D14 void FxSendDelay::Copy(class FxSendDelay * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendDelay * delay; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11FxSendDelay; } // Range: 0x80577D14 -> 0x80577FBC class DataNode FxSendDelay::Handle(class FxSendDelay * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A543E0 static class Symbol _s; // size: 0x4, address: 0x80A543E8 static class Symbol _s; // size: 0x4, address: 0x80A543F0 static class Symbol _s; // size: 0x4, address: 0x80A543F8 static class Symbol _s; // size: 0x4, address: 0x80A54400 static class Symbol _s; // size: 0x4, address: 0x80A54408 // Range: 0x80577FBC -> 0x805786BC unsigned char FxSendDelay::SyncProperty(class FxSendDelay * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__11FxSendDelay; // size: 0x68, address: 0x8091C978 struct { // total size: 0x8 } __RTTI__11FxSendDelay; // size: 0x8, address: 0x8091CA08 /* Compile unit: C:\rockband2\system\src\synth\FxSendDelay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805786BC -> 0x80578880 */ // Range: 0x805786BC -> 0x8057883C void FxSendDelay::SetType(class FxSendDelay * const this /* r29 */, class Symbol & FxSendDelay /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8057883C -> 0x80578880 class Symbol FxSendDelay::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendDistortion.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80578880 -> 0x80578EB8 */ class DataArray * types; // size: 0x4, address: 0x80A54410 class Symbol name; // size: 0x4, address: 0x80A54418 class FxSendDistortion : public FxSend { // total size: 0x54 protected: float mDrive; // offset 0x50, size 0x4 }; // Range: 0x80578880 -> 0x805788C4 void * FxSendDistortion::FxSendDistortion(class FxSendDistortion * const this /* r31 */) { // References // -> struct [anonymous] __vt__16FxSendDistortion; } // Range: 0x805788C4 -> 0x80578920 void * FxSendDistortion::~FxSendDistortion(class FxSendDistortion * const this /* r30 */) {} static int REV; // size: 0x4, address: 0x80A476B0 // Range: 0x80578920 -> 0x80578964 void FxSendDistortion::Save() { // References // -> class Debug TheDebug; } // Range: 0x80578964 -> 0x80578A10 void FxSendDistortion::Load(class FxSendDistortion * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x80578A10 -> 0x80578A78 void FxSendDistortion::Copy(class FxSendDistortion * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendDistortion * distortion; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16FxSendDistortion; } // Range: 0x80578A78 -> 0x80578D20 class DataNode FxSendDistortion::Handle(class FxSendDistortion * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54420 // Range: 0x80578D20 -> 0x80578EB8 unsigned char FxSendDistortion::SyncProperty(class FxSendDistortion * const this /* r31 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r30 */, enum PropOp _op /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__16FxSendDistortion; // size: 0x68, address: 0x8091CBA0 struct { // total size: 0x8 } __RTTI__16FxSendDistortion; // size: 0x8, address: 0x8091CC38 /* Compile unit: C:\rockband2\system\src\synth\FxSendDistortion.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80578EB8 -> 0x8057907C */ // Range: 0x80578EB8 -> 0x80579038 void FxSendDistortion::SetType(class FxSendDistortion * const this /* r29 */, class Symbol & FxSendDistortion /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80579038 -> 0x8057907C class Symbol FxSendDistortion::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendCompress.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057907C -> 0x80579F20 */ class DataArray * types; // size: 0x4, address: 0x80A54428 class Symbol name; // size: 0x4, address: 0x80A54430 class FxSendCompress : public FxSend { // total size: 0x70 protected: float mThresholdDB; // offset 0x50, size 0x4 float mRatio; // offset 0x54, size 0x4 float mOutputLevel; // offset 0x58, size 0x4 float mAttack; // offset 0x5C, size 0x4 float mRelease; // offset 0x60, size 0x4 float mExpRatio; // offset 0x64, size 0x4 float mExpAttack; // offset 0x68, size 0x4 float mExpRelease; // offset 0x6C, size 0x4 }; // Range: 0x8057907C -> 0x805790F0 void * FxSendCompress::FxSendCompress(class FxSendCompress * const this /* r31 */) { // References // -> struct [anonymous] __vt__14FxSendCompress; } // Range: 0x805790F0 -> 0x8057914C void * FxSendCompress::~FxSendCompress(class FxSendCompress * const this /* r30 */) {} static int REV; // size: 0x4, address: 0x80A476B8 // Range: 0x8057914C -> 0x80579190 void FxSendCompress::Save() { // References // -> class Debug TheDebug; } // Range: 0x80579190 -> 0x805792E8 void FxSendCompress::Load(class FxSendCompress * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC float tmp; // r1+0x8 // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x805792E8 -> 0x80579388 void FxSendCompress::Copy(class FxSendCompress * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendCompress * delay; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14FxSendCompress; } // Range: 0x80579388 -> 0x80579630 class DataNode FxSendCompress::Handle(class FxSendCompress * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54438 static class Symbol _s; // size: 0x4, address: 0x80A54440 static class Symbol _s; // size: 0x4, address: 0x80A54448 static class Symbol _s; // size: 0x4, address: 0x80A54450 static class Symbol _s; // size: 0x4, address: 0x80A54458 static class Symbol _s; // size: 0x4, address: 0x80A54460 static class Symbol _s; // size: 0x4, address: 0x80A54468 static class Symbol _s; // size: 0x4, address: 0x80A54470 // Range: 0x80579630 -> 0x80579F20 unsigned char FxSendCompress::SyncProperty(class FxSendCompress * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__14FxSendCompress; // size: 0x68, address: 0x8091CD30 struct { // total size: 0x8 } __RTTI__14FxSendCompress; // size: 0x8, address: 0x8091CDC8 /* Compile unit: C:\rockband2\system\src\synth\FxSendCompress.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80579F20 -> 0x8057A0E4 */ // Range: 0x80579F20 -> 0x8057A0A0 void FxSendCompress::SetType(class FxSendCompress * const this /* r29 */, class Symbol & FxSendCompress /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8057A0A0 -> 0x8057A0E4 class Symbol FxSendCompress::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendEQ.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057A0E4 -> 0x8057AE20 */ class DataArray * types; // size: 0x4, address: 0x80A54478 // Range: 0x8057A0E4 -> 0x8057A150 void * FxSendEQ::FxSendEQ(class FxSendEQ * const this /* r31 */) { // References // -> struct [anonymous] __vt__8FxSendEQ; } // Range: 0x8057A150 -> 0x8057A1AC void * FxSendEQ::~FxSendEQ(class FxSendEQ * const this /* r30 */) {} static int REV; // size: 0x4, address: 0x80A476C0 // Range: 0x8057A1AC -> 0x8057A1F0 void FxSendEQ::Save() { // References // -> class Debug TheDebug; } // Range: 0x8057A1F0 -> 0x8057A2FC void FxSendEQ::Load(class FxSendEQ * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x8057A2FC -> 0x8057A394 void FxSendEQ::Copy(class FxSendEQ * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendEQ * delay; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8FxSendEQ; } // Range: 0x8057A394 -> 0x8057A63C class DataNode FxSendEQ::Handle(class FxSendEQ * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54480 static class Symbol _s; // size: 0x4, address: 0x80A54488 static class Symbol _s; // size: 0x4, address: 0x80A54490 static class Symbol _s; // size: 0x4, address: 0x80A54498 static class Symbol _s; // size: 0x4, address: 0x80A544A0 static class Symbol _s; // size: 0x4, address: 0x80A544A8 static class Symbol _s; // size: 0x4, address: 0x80A544B0 // Range: 0x8057A63C -> 0x8057AE20 unsigned char FxSendEQ::SyncProperty(class FxSendEQ * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__8FxSendEQ; // size: 0x68, address: 0x8091CF50 /* Compile unit: C:\rockband2\system\src\synth\FxSendEQ.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057AE20 -> 0x8057AFE4 */ // Range: 0x8057AE20 -> 0x8057AFA0 void FxSendEQ::SetType(class FxSendEQ * const this /* r29 */, class Symbol & FxSendEQ /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8057AFA0 -> 0x8057AFE4 class Symbol FxSendEQ::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendPitchShift.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057AFE4 -> 0x8057B318 */ class DataArray * types; // size: 0x4, address: 0x80A544B8 // Range: 0x8057AFE4 -> 0x8057B028 void * FxSendPitchShift::FxSendPitchShift(class FxSendPitchShift * const this /* r31 */) { // References // -> struct [anonymous] __vt__16FxSendPitchShift; } static class Symbol _s; // size: 0x4, address: 0x80A544C0 // Range: 0x8057B028 -> 0x8057B1C0 unsigned char FxSendPitchShift::SyncProperty(class FxSendPitchShift * const this /* r31 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r30 */, enum PropOp _op /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } // Range: 0x8057B1C0 -> 0x8057B204 void FxSendPitchShift::Save() { // References // -> class Debug TheDebug; } // Range: 0x8057B204 -> 0x8057B2B0 void FxSendPitchShift::Load(class FxSendPitchShift * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x8057B2B0 -> 0x8057B318 void FxSendPitchShift::Copy(class FxSendPitchShift * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendPitchShift * ps; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__16FxSendPitchShift; } struct { // total size: 0x68 } __vt__16FxSendPitchShift; // size: 0x68, address: 0x8091D110 /* Compile unit: C:\rockband2\system\src\synth\FxSendPitchShift.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057B318 -> 0x8057B784 */ // Range: 0x8057B318 -> 0x8057B5C0 class DataNode FxSendPitchShift::Handle(class FxSendPitchShift * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x8057B5C0 -> 0x8057B740 void FxSendPitchShift::SetType(class FxSendPitchShift * const this /* r29 */, class Symbol & FxSendPitchShift /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8057B740 -> 0x8057B784 class Symbol FxSendPitchShift::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendWah.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057B784 -> 0x8057CA08 */ class DataArray * types; // size: 0x4, address: 0x80A544C8 class Symbol name; // size: 0x4, address: 0x80A544D0 class FxSendWah : public FxSend { // total size: 0x80 protected: float mResonance; // offset 0x50, size 0x4 float mUpperFreq; // offset 0x54, size 0x4 float mLowerFreq; // offset 0x58, size 0x4 float mLfoFreq; // offset 0x5C, size 0x4 float mMagic; // offset 0x60, size 0x4 float mDistAmount; // offset 0x64, size 0x4 unsigned char mAutoWah; // offset 0x68, size 0x1 float mFrequency; // offset 0x6C, size 0x4 unsigned char mTempoSync; // offset 0x70, size 0x1 class Symbol mSyncType; // offset 0x74, size 0x4 float mTempo; // offset 0x78, size 0x4 float mBeatFrac; // offset 0x7C, size 0x4 }; static int REV; // size: 0x4, address: 0x80A476C8 // Range: 0x8057B784 -> 0x8057B7C8 void FxSendWah::Save() { // References // -> class Debug TheDebug; } // Range: 0x8057B7C8 -> 0x8057B950 void FxSendWah::Load(class FxSendWah * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0xC // References // -> class Debug TheDebug; // -> static int REV; } // Range: 0x8057B950 -> 0x8057BA08 void FxSendWah::Copy(class FxSendWah * const this /* r30 */, const class Object * o /* r31 */) { // Local variables const class FxSendWah * w; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9FxSendWah; } // Range: 0x8057BA08 -> 0x8057BCB0 class DataNode FxSendWah::Handle(class FxSendWah * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A544D8 static class Symbol _s; // size: 0x4, address: 0x80A544E0 static class Symbol _s; // size: 0x4, address: 0x80A544E8 static class Symbol _s; // size: 0x4, address: 0x80A544F0 static class Symbol _s; // size: 0x4, address: 0x80A544F8 static class Symbol _s; // size: 0x4, address: 0x80A54500 static class Symbol _s; // size: 0x4, address: 0x80A54508 static class Symbol _s; // size: 0x4, address: 0x80A54510 static class Symbol _s; // size: 0x4, address: 0x80A54518 static class Symbol _s; // size: 0x4, address: 0x80A54520 static class Symbol _s; // size: 0x4, address: 0x80A54528 static class Symbol _s; // size: 0x4, address: 0x80A54530 // Range: 0x8057BCB0 -> 0x8057CA08 unsigned char FxSendWah::SyncProperty(class FxSendWah * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x68 } __vt__9FxSendWah; // size: 0x68, address: 0x8091D288 struct { // total size: 0x8 } __RTTI__9FxSendWah; // size: 0x8, address: 0x8091D318 /* Compile unit: C:\rockband2\system\src\synth\FxSendWah.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057CA08 -> 0x8057CC68 */ // Range: 0x8057CA08 -> 0x8057CAA4 void * FxSendWah::FxSendWah(class FxSendWah * const this /* r31 */) { // References // -> struct [anonymous] __vt__9FxSendWah; } // Range: 0x8057CAA4 -> 0x8057CC24 void FxSendWah::SetType(class FxSendWah * const this /* r29 */, class Symbol & FxSendWah /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8057CC24 -> 0x8057CC68 class Symbol FxSendWah::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\MetaMusic.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057D3F0 -> 0x8057E6E8 */ // Range: 0x8057D3F0 -> 0x8057D5B4 void * MetaMusic::MetaMusic(class MetaMusic * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> struct [anonymous] __vt__29ObjPtrList<5Fader,9ObjectDir>; // -> const char * gNullStr; // -> struct [anonymous] __vt__9MetaMusic; } // Range: 0x8057D5B4 -> 0x8057D8A4 void * MetaMusic::~MetaMusic(class MetaMusic * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__29ObjPtrList<5Fader,9ObjectDir>; // -> struct [anonymous] __vt__9MetaMusic; } // Range: 0x8057D8A4 -> 0x8057D8D8 unsigned char MetaMusic::Loaded() {} static int _x; // size: 0x4, address: 0x80A54540 // Range: 0x8057D8D8 -> 0x8057DC18 void MetaMusic::Poll(class MetaMusic * const this /* r31 */) { // Local variables int num; // r1+0x10 int bytes; // r1+0xC int largest; // r1+0x8 // References // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__15MetaMusicLoader; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int _x; } // Range: 0x8057DC18 -> 0x8057DEA0 void MetaMusic::Start(class MetaMusic * const this /* r31 */) { // Local variables class iterator itr; // r1+0x1C // References // -> float kStreamEnd; // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8057DEA0 -> 0x8057DEB4 unsigned char MetaMusic::IsPlaying() {} // Range: 0x8057DEB4 -> 0x8057DEBC unsigned char MetaMusic::IsFading() {} // Range: 0x8057DEBC -> 0x8057DF50 void MetaMusic::Stop(class MetaMusic * const this /* r31 */) {} // Range: 0x8057DF50 -> 0x8057DF60 void MetaMusic::Mute() {} // Range: 0x8057DF60 -> 0x8057DF70 void MetaMusic::UnMute() {} // Range: 0x8057DF70 -> 0x8057E0AC void MetaMusic::AddFader(class MetaMusic * const this /* r31 */, class Fader * f /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A54548 static class Symbol _s; // size: 0x4, address: 0x80A54550 static class Symbol _s; // size: 0x4, address: 0x80A54558 static class Symbol _s; // size: 0x4, address: 0x80A54560 // Range: 0x8057E0AC -> 0x8057E6C8 class DataNode MetaMusic::Handle(class MetaMusic * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } class MetaMusicLoader : public Loader { // total size: 0x1C class File * mFile; // offset 0x14, size 0x4 int & mBytesRead; // offset 0x18, size 0x4 }; // Range: 0x8057E6C8 -> 0x8057E6CC void MetaMusicLoader::PollLoading() {} // Range: 0x8057E6CC -> 0x8057E6E8 unsigned char MetaMusicLoader::IsLoaded(class MetaMusicLoader * const this /* r4 */) {} struct { // total size: 0x14 } __vt__15MetaMusicLoader; // size: 0x14, address: 0x8091D554 struct { // total size: 0x8 } __RTTI__15MetaMusicLoader; // size: 0x8, address: 0x8091D588 struct { // total size: 0x54 } __vt__9MetaMusic; // size: 0x54, address: 0x8091D590 struct { // total size: 0x8 } __RTTI__9MetaMusic; // size: 0x8, address: 0x8091D608 /* Compile unit: C:\rockband2\system\src\synth\Faders.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057E744 -> 0x8057E9EC */ // Range: 0x8057E744 -> 0x8057E9EC void MetaMusic::Load(class MetaMusic * const this /* r31 */, const char * songfile /* r28 */) { // Local variables class DataArray * data; // r30 // References // -> struct [anonymous] __vt__15MetaMusicLoader; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\synth\Mic.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057E9EC -> 0x8057EB80 */ // Range: 0x8057E9EC -> 0x8057EB78 void Mic::Set(class Mic * const this /* r28 */, const class DataArray * data /* r29 */) { // Local variables const class DataArray * compData; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8057EB78 -> 0x8057EB80 int Mic::GetDroppedSamples() {} struct { // total size: 0x74 } __vt__3Mic; // size: 0x74, address: 0x8091D824 /* Compile unit: C:\rockband2\system\src\synth\MicNull.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057EB80 -> 0x8057ECC8 */ class MicNull : public Mic { // total size: 0x4E60 signed short mBuf[10000]; // offset 0x4, size 0x4E20 class Timer mTimer; // offset 0x4E28, size 0x38 }; // Range: 0x8057EB80 -> 0x8057EBD0 void * MicNull::MicNull(class MicNull * const this /* r31 */) { // References // -> struct [anonymous] __vt__7MicNull; } // Range: 0x8057EBD0 -> 0x8057ECC8 signed short * MicNull::GetBuf(class MicNull * const this /* r29 */, int & samples /* r30 */) { // Local variables int i; // r31 } struct { // total size: 0x7C } __vt__7MicNull; // size: 0x7C, address: 0x8091D8A0 struct { // total size: 0x8 } __RTTI__7MicNull; // size: 0x8, address: 0x8091D938 /* Compile unit: C:\rockband2\system\src\synth\MicNull_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057ECC8 -> 0x8057ED70 */ // Range: 0x8057ECC8 -> 0x8057ECD0 int MicNull::GetSampleRate() {} // Range: 0x8057ECD0 -> 0x8057ECD8 float MicNull::GetCompressorParam() {} // Range: 0x8057ECD8 -> 0x8057ECDC void MicNull::SetCompressorParam() {} // Range: 0x8057ECDC -> 0x8057ECE4 unsigned char MicNull::GetCompressor() {} // Range: 0x8057ECE4 -> 0x8057ECE8 void MicNull::SetCompressor() {} // Range: 0x8057ECE8 -> 0x8057ECF0 float MicNull::GetEarpieceVolume() {} // Range: 0x8057ECF0 -> 0x8057ECF4 void MicNull::SetEarpieceVolume() {} // Range: 0x8057ECF4 -> 0x8057ECFC unsigned char MicNull::GetEarpiece() {} // Range: 0x8057ECFC -> 0x8057ED00 void MicNull::SetEarpiece() {} // Range: 0x8057ED00 -> 0x8057ED08 float MicNull::GetGain() {} // Range: 0x8057ED08 -> 0x8057ED0C void MicNull::SetGain() {} // Range: 0x8057ED0C -> 0x8057ED14 unsigned char MicNull::GetDMA() {} // Range: 0x8057ED14 -> 0x8057ED18 void MicNull::SetDMA() {} // Range: 0x8057ED18 -> 0x8057ED20 enum Type MicNull::GetType() {} // Range: 0x8057ED20 -> 0x8057ED28 unsigned char MicNull::IsRunning() {} // Range: 0x8057ED28 -> 0x8057ED2C void MicNull::Stop() {} // Range: 0x8057ED2C -> 0x8057ED30 void MicNull::Start() {} // Range: 0x8057ED30 -> 0x8057ED70 void * MicNull::~MicNull(class MicNull * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\synth\MidiChannel.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057ED70 -> 0x8057EDB8 */ class MidiChannel { // total size: 0x1C int mInst; // offset 0x0, size 0x4 int mBank; // offset 0x4, size 0x4 float mVolume; // offset 0x8, size 0x4 float mPan; // offset 0xC, size 0x4 float mTranspose; // offset 0x10, size 0x4 class list mPlayingNotes; // offset 0x14, size 0x8 }; // Range: 0x8057ED70 -> 0x8057EDB8 void * MidiChannel::MidiChannel() {} class StlNodeAlloc { // total size: 0x1 }; class _List_node : public _List_node_base { // total size: 0x28 public: struct Note _M_data; // offset 0x8, size 0x20 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct Note { // total size: 0x20 int mNoteNum; // offset 0x0, size 0x4 float mVolume; // offset 0x4, size 0x4 class vector mSamples; // offset 0x8, size 0xC class vector mTransposes; // offset 0x14, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; struct DummySample { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct DummySample * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct DummySample * * _M_start; // offset 0x0, size 0x4 struct DummySample * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct _OKToMemCpy { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__PPQ211MidiChannel11DummySample; // size: 0x8, address: 0x8091D960 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std32_List_node; // size: 0x8, address: 0x8091D998 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057EDB8 -> 0x8057EDBC */ // Range: 0x8057EDB8 -> 0x8057EDBC class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057EDBC -> 0x8057EDD4 */ // Range: 0x8057EDBC -> 0x8057EDD4 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057EDD4 -> 0x8057EEB4 */ // Range: 0x8057EDD4 -> 0x8057EEB4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\synth\MidiSynth.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057EEB4 -> 0x8057F010 */ class MidiSynth { // total size: 0xC class vector mChannels; // offset 0x0, size 0xC }; // Range: 0x8057EEB4 -> 0x8057F010 void * MidiSynth::MidiSynth(class MidiSynth * const this /* r31 */) {} class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class MidiChannel * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class MidiChannel * _M_start; // offset 0x0, size 0x4 class MidiChannel * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; struct { // total size: 0x8 } __RTTI__P11MidiChannel; // size: 0x8, address: 0x8091D9B0 /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057F010 -> 0x8057F014 */ // Range: 0x8057F010 -> 0x8057F014 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057F014 -> 0x8057F46C */ // Range: 0x8057F014 -> 0x8057F46C class list & list::__as(class list * const this /* r28 */) { // Local variables struct _List_iterator __first1; // r1+0xAC struct _List_iterator __last1; // r1+0xA8 struct _List_iterator __first2; // r1+0xA4 struct _List_iterator __last2; // r1+0xA0 // References // -> struct [anonymous] __RTTI__Pf; // -> struct [anonymous] __RTTI__PPQ211MidiChannel11DummySample; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std32_List_node; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8057F46C -> 0x80580E2C */ // Range: 0x8057F46C -> 0x8057F4F0 void vector::_M_fill_insert() {} // Range: 0x8057F4F0 -> 0x80580060 void vector::_M_insert_overflow_aux(class vector * const this /* r28 */, class MidiChannel * __pos /* r29 */, const class MidiChannel & __x /* r21 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r22 */) { // Local variables unsigned long __old_size; // r1+0x144 unsigned long __len; // r31 class MidiChannel * __new_finish; // r30 // References // -> struct [anonymous] __RTTI__Pf; // -> struct [anonymous] __RTTI__PPQ211MidiChannel11DummySample; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std32_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11MidiChannel; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80580060 -> 0x80580C5C void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class MidiChannel * __pos /* r29 */, unsigned long __n /* r21 */, const class MidiChannel & __x /* r30 */) { // Local variables class MidiChannel __x_copy; // r1+0x180 unsigned long __elems_after; // r22 class MidiChannel * __old_finish; // r0 // References // -> struct [anonymous] __RTTI__Pf; // -> struct [anonymous] __RTTI__PPQ211MidiChannel11DummySample; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std32_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80580C5C -> 0x80580E2C class vector & vector::__as(class vector * const this /* r28 */, const class vector & __x /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ211MidiChannel11DummySample; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\synth\OggMap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80580E2C -> 0x805811A8 */ class OggMap { // total size: 0x14 public: void * __vptr$; // offset 0x0, size 0x4 private: int mGran; // offset 0x4, size 0x4 class vector mLookup; // offset 0x8, size 0xC }; // Range: 0x80580E2C -> 0x80580EE4 void * OggMap::OggMap(class OggMap * const this /* r31 */) { // References // -> struct [anonymous] __vt__6OggMap; } // Range: 0x80580EE4 -> 0x80581030 void * OggMap::~OggMap(class OggMap * const this /* r30 */) { // References // -> struct [anonymous] __vt__6OggMap; } // Range: 0x80581030 -> 0x805810C4 void OggMap::Read(class OggMap * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int version; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x805810C4 -> 0x805811A8 void OggMap::GetSeekPos(class OggMap * const this /* r28 */, int sampTarget /* r29 */, int & seekPos /* r30 */, int & actSamp /* r31 */) { // Local variables int idx; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0xC } __vt__6OggMap; // size: 0xC, address: 0x8091D9F4 struct { // total size: 0x8 } __RTTI__6OggMap; // size: 0x8, address: 0x8091DA08 /* Compile unit: C:\rockband2\system\src\synth\Pollable.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805811A8 -> 0x80581440 */ class list sPollables; // size: 0x8, address: 0x80983418 // Range: 0x805811A8 -> 0x805811D8 void * SynthPollable::SynthPollable() { // References // -> class list sPollables; // -> struct [anonymous] __vt__13SynthPollable; } // Range: 0x805811D8 -> 0x80581238 void * SynthPollable::~SynthPollable(class SynthPollable * const this /* r30 */) { // References // -> struct [anonymous] __vt__13SynthPollable; } // Range: 0x80581238 -> 0x805812E4 void SynthPollable::StartPolling(class SynthPollable * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std28_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sPollables; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std28_List_node; // size: 0x8, address: 0x8091DA40 // Range: 0x805812E4 -> 0x80581374 void SynthPollable::CancelPolling(class SynthPollable * const this /* r29 */) { // References // -> class list sPollables; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x80581374 -> 0x805813E4 void SynthPollable::PollAll() { // Local variables struct _List_iterator itr; // r1+0x14 // References // -> class list sPollables; } struct { // total size: 0x10 } __vt__13SynthPollable; // size: 0x10, address: 0x8091DA48 // Range: 0x805813E4 -> 0x80581440 static void __sinit_\Pollable_cpp() { // References // -> class list sPollables; } class _List_node : public _List_node_base { // total size: 0xC public: class SynthPollable * _M_data; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80581440 -> 0x80581498 */ // Range: 0x80581440 -> 0x80581498 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80581498 -> 0x805814F8 */ // Range: 0x80581498 -> 0x805814F8 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\synth\SampleData.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805814F8 -> 0x80581ADC */ void * (* sAlloc)(int); // size: 0x4, address: 0x80A54568 void (* sFree)(void *); // size: 0x4, address: 0x80A5456C // Range: 0x805814F8 -> 0x80581504 void SampleData::SetAllocator() { // References // -> void (* sFree)(void *); // -> void * (* sAlloc)(int); } // Range: 0x80581504 -> 0x8058153C void * SampleData::SampleData(class SampleData * const this /* r31 */) {} // Range: 0x8058153C -> 0x8058159C void * SampleData::~SampleData(class SampleData * const this /* r30 */) { // References // -> void (* sFree)(void *); } // Range: 0x8058159C -> 0x80581724 void SampleData::Load(class SampleData * const this /* r29 */, class BinStream & s /* r30 */, const class FilePath & fp /* r31 */) { // Local variables int rev; // r1+0x10 int fmt; // r1+0xC unsigned char haveData; // r3 // References // -> void * (* sAlloc)(int); // -> struct [anonymous] __vt__8FilePath; // -> class Debug TheDebug; } // Range: 0x80581724 -> 0x8058191C void SampleData::LoadWAV(class SampleData * const this /* r28 */, class BinStream & s /* r29 */, const class FilePath & f /* r30 */) { // Local variables class WaveFile wf; // r1+0x58 class WaveFileData wfd; // r1+0x30 // References // -> void * (* sAlloc)(int); // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x8058191C -> 0x8058196C void SampleData::Reset(class SampleData * const this /* r31 */) { // References // -> void (* sFree)(void *); } // Range: 0x8058196C -> 0x80581ADC int SampleData::SizeAs(const class SampleData * const this /* r31 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\synth\SampleInst.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80581ADC -> 0x80581DFC */ // Range: 0x80581ADC -> 0x80581B58 void * SampleInst::SampleInst(class SampleInst * const this /* r31 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6FxSend,9ObjectDir>; // -> struct [anonymous] __vt__10SampleInst; } // Range: 0x80581B58 -> 0x80581BDC void * SampleInst::~SampleInst(class SampleInst * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6FxSend,9ObjectDir>; } // Range: 0x80581BDC -> 0x80581C1C void SampleInst::Start(class SampleInst * const this /* r31 */) {} // Range: 0x80581C1C -> 0x80581C70 void SampleInst::Stop(class SampleInst * const this /* r31 */) {} // Range: 0x80581C70 -> 0x80581CA8 void SampleInst::SetVolume(class SampleInst * const this /* r31 */) {} // Range: 0x80581CA8 -> 0x80581CE0 void SampleInst::SetBankVolume(class SampleInst * const this /* r31 */) {} // Range: 0x80581CE0 -> 0x80581CFC void SampleInst::UpdateVolume() {} // Range: 0x80581CFC -> 0x80581D7C void SampleInst::SetSend(class SampleInst * const this /* r30 */, class FxSend * send /* r31 */) {} // Range: 0x80581D7C -> 0x80581D9C void SampleInst::SetPan() {} // Range: 0x80581D9C -> 0x80581DBC void SampleInst::SetBankPan() {} // Range: 0x80581DBC -> 0x80581DDC void SampleInst::SetSpeed() {} // Range: 0x80581DDC -> 0x80581DFC void SampleInst::SetBankSpeed() {} struct { // total size: 0x84 } __vt__10SampleInst; // size: 0x84, address: 0x8091DBD0 struct { // total size: 0x18 } __vt__26ObjPtr<6FxSend,9ObjectDir>; // size: 0x18, address: 0x8091DC58 struct { // total size: 0x8 } __RTTI__26ObjPtr<6FxSend,9ObjectDir>; // size: 0x8, address: 0x8091DC98 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80581DFC -> 0x80581F0C */ // Range: 0x80581DFC -> 0x80581E6C void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__26ObjPtr<6FxSend,9ObjectDir>; } // Range: 0x80581E6C -> 0x80581E74 class Object * ObjPtr::RefOwner() {} // Range: 0x80581E74 -> 0x80581F0C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } /* Compile unit: C:\rockband2\system\src\synth\SampleInst_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80581F0C -> 0x80581F18 */ // Range: 0x80581F0C -> 0x80581F10 void SampleInst::SetStartProgress() {} // Range: 0x80581F10 -> 0x80581F18 float SampleInst::GetProgress() {} /* Compile unit: C:\rockband2\system\src\synth\Sequence.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80581F18 -> 0x80586484 */ class DataArray * types; // size: 0x4, address: 0x80A54570 class Symbol name; // size: 0x4, address: 0x80A54578 class DataArray * types; // size: 0x4, address: 0x80A5457C class Symbol name; // size: 0x4, address: 0x80A54584 class DataArray * types; // size: 0x4, address: 0x80A54588 class Symbol name; // size: 0x4, address: 0x80A54590 class DataArray * types; // size: 0x4, address: 0x80A54594 class Symbol name; // size: 0x4, address: 0x80A5459C class DataArray * types; // size: 0x4, address: 0x80A545A0 class Symbol name; // size: 0x4, address: 0x80A545A8 // Range: 0x80581F18 -> 0x80581F5C static float RandomVal(float center /* f3 */) {} // Range: 0x80581F5C -> 0x80581FF0 void * Sequence::Sequence(class Sequence * const this /* r31 */) { // References // -> struct [anonymous] __vt__31ObjPtrList<7SeqInst,9ObjectDir>; // -> struct [anonymous] __vt__8Sequence; } struct Node { // total size: 0xC class SeqInst * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; // Range: 0x80581FF0 -> 0x8058214C class SeqInst * Sequence::MakeInst(class Sequence * const this /* r30 */) { // Local variables class SeqInst * newInst; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058214C -> 0x805821E4 void Sequence::Play(float vol /* f29 */, float pan /* f30 */, float transpose /* f31 */) { // Local variables class SeqInst * newInst; // r31 } // Range: 0x805821E4 -> 0x80582278 void Sequence::Stop() {} // Range: 0x80582278 -> 0x805824D8 void * Sequence::~Sequence(class Sequence * const this /* r29 */) { // References // -> struct [anonymous] __vt__31ObjPtrList<7SeqInst,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__8Sequence; } class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x805824D8 -> 0x8058261C void Sequence::SynthPoll(class Sequence * const this /* r29 */) { // Local variables class iterator it; // r1+0x30 } // Range: 0x8058261C -> 0x80582624 float Sequence::GetAvgVolume() {} // Range: 0x80582624 -> 0x8058262C float Sequence::GetVolSpread() {} // Range: 0x8058262C -> 0x80582634 float Sequence::GetAvgTranspose() {} // Range: 0x80582634 -> 0x8058263C float Sequence::GetTransposeSpread() {} // Range: 0x8058263C -> 0x80582644 float Sequence::GetAvgPan() {} // Range: 0x80582644 -> 0x8058264C float Sequence::GetPanSpread() {} // Range: 0x8058264C -> 0x805826F0 void Sequence::Copy(class Sequence * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class Sequence * s; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; } static class Symbol volume; // size: 0x4, address: 0x80A545B0 static class Symbol pan; // size: 0x4, address: 0x80A545B8 static class Symbol transpose; // size: 0x4, address: 0x80A545C0 // Range: 0x805826F0 -> 0x8058281C class DataNode Sequence::OnPlay(class Sequence * const this /* r30 */, class DataArray * msg /* r31 */) { // Local variables float v; // r1+0x1C float p; // r1+0x18 float tp; // r1+0x14 // References // -> static class Symbol transpose; // -> static class Symbol pan; // -> static class Symbol volume; } static class Symbol _s; // size: 0x4, address: 0x80A545C8 static class Symbol _s; // size: 0x4, address: 0x80A545D0 static class Symbol _s; // size: 0x4, address: 0x80A545D8 // Range: 0x8058281C -> 0x80582E08 class DataNode Sequence::Handle(class Sequence * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A545E0 static class Symbol _s; // size: 0x4, address: 0x80A545E8 static class Symbol _s; // size: 0x4, address: 0x80A545F0 static class Symbol _s; // size: 0x4, address: 0x80A545F8 static class Symbol _s; // size: 0x4, address: 0x80A54600 static class Symbol _s; // size: 0x4, address: 0x80A54608 // Range: 0x80582E08 -> 0x80583424 unsigned char Sequence::SyncProperty(class Sequence * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } class WaitSeq : public Sequence { // total size: 0x80 float mAvgWaitSecs; // offset 0x78, size 0x4 float mWaitSpread; // offset 0x7C, size 0x4 }; // Range: 0x80583424 -> 0x80583474 void * WaitSeq::WaitSeq(class WaitSeq * const this /* r31 */) { // References // -> struct [anonymous] __vt__7WaitSeq; } // Range: 0x80583474 -> 0x805834C0 class SeqInst * WaitSeq::MakeInstImpl(class WaitSeq * const this /* r31 */) {} // Range: 0x805834C0 -> 0x80583504 void WaitSeq::Save() { // References // -> class Debug TheDebug; } // Range: 0x80583504 -> 0x805835B8 void WaitSeq::Load(class WaitSeq * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x805835B8 -> 0x8058363C void WaitSeq::Copy(class WaitSeq * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class WaitSeq * s; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7WaitSeq; } static class Symbol _s; // size: 0x4, address: 0x80A54610 static class Symbol _s; // size: 0x4, address: 0x80A54618 // Range: 0x8058363C -> 0x805838AC unsigned char WaitSeq::SyncProperty(class WaitSeq * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } class RandomGroupSeq : public GroupSeq { // total size: 0x90 int mNumSimul; // offset 0x8C, size 0x4 }; // Range: 0x805838AC -> 0x805838F8 void * RandomGroupSeq::RandomGroupSeq(class RandomGroupSeq * const this /* r31 */) { // References // -> struct [anonymous] __vt__14RandomGroupSeq; } // Range: 0x80583AB8 -> 0x80583B04 class SeqInst * RandomGroupSeq::MakeInstImpl(class RandomGroupSeq * const this /* r31 */) {} // Range: 0x80583B04 -> 0x80583B0C int RandomGroupSeq::GetNumSimul() {} // Range: 0x80583B0C -> 0x80583B88 void RandomGroupSeq::Copy(class RandomGroupSeq * const this /* r29 */, const class Object * o /* r30 */, enum CopyType type /* r31 */) { // Local variables const class RandomGroupSeq * s; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__14RandomGroupSeq; } // Range: 0x80583B88 -> 0x80583BCC void RandomGroupSeq::Save() { // References // -> class Debug TheDebug; } // Range: 0x80583BCC -> 0x80583C64 void RandomGroupSeq::Load(class RandomGroupSeq * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A54620 // Range: 0x80583C64 -> 0x80583DE4 unsigned char RandomGroupSeq::SyncProperty(class RandomGroupSeq * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } class SerialGroupSeq : public GroupSeq { // total size: 0x8C }; // Range: 0x80583DE4 -> 0x80583E30 class SeqInst * SerialGroupSeq::MakeInstImpl(class SerialGroupSeq * const this /* r31 */) {} // Range: 0x80583E30 -> 0x80583E74 void SerialGroupSeq::Save() { // References // -> class Debug TheDebug; } // Range: 0x80583E74 -> 0x80583EFC void SerialGroupSeq::Load(class SerialGroupSeq * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } class ParallelGroupSeq : public GroupSeq { // total size: 0x8C }; // Range: 0x80583EFC -> 0x80583F48 class SeqInst * ParallelGroupSeq::MakeInstImpl(class ParallelGroupSeq * const this /* r31 */) {} // Range: 0x80583F48 -> 0x80583F8C void ParallelGroupSeq::Save() { // References // -> class Debug TheDebug; } // Range: 0x80583F8C -> 0x80584014 void ParallelGroupSeq::Load(class ParallelGroupSeq * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x80584014 -> 0x80584078 void * GroupSeq::GroupSeq(class GroupSeq * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtrList<8Sequence,9ObjectDir>; // -> struct [anonymous] __vt__8GroupSeq; } // Range: 0x80584078 -> 0x805843DC void GroupSeq::Copy(class GroupSeq * const this /* r29 */, const class Object * o /* r28 */, enum CopyType type /* r27 */) { // Local variables const class GroupSeq * s; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8GroupSeq; } // Range: 0x805843DC -> 0x80584420 void GroupSeq::Save() { // References // -> class Debug TheDebug; } class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; // Range: 0x80584420 -> 0x80584810 void GroupSeq::Load(class GroupSeq * const this /* r29 */, class BinStream & s /* r30 */) { // Local variables int rev; // r1+0x24 class ObjVector children; // r1+0x28 int i; // r30 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; static class Symbol _s; // size: 0x4, address: 0x80A54628 // Range: 0x80584810 -> 0x805848E8 unsigned char GroupSeq::SyncProperty(class GroupSeq * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; } // Range: 0x805848E8 -> 0x805849B4 void * SeqInst::SeqInst(class SeqInst * const this /* r30 */, class Sequence * owner /* r31 */) { // References // -> struct [anonymous] __vt__7SeqInst; } // Range: 0x805849B4 -> 0x80584A14 void * SeqInst::~SeqInst(class SeqInst * const this /* r30 */) {} // Range: 0x80584A14 -> 0x80584A2C void SeqInst::Start() {} // Range: 0x80584A2C -> 0x80584A40 void SeqInst::SetVolume() {} class WaitSeqInst : public SeqInst { // total size: 0x48 float mWaitMs; // offset 0x40, size 0x4 float mEndTime; // offset 0x44, size 0x4 }; // Range: 0x80584A40 -> 0x80584AB0 void * WaitSeqInst::WaitSeqInst(class WaitSeqInst * const this /* r30 */, class WaitSeq * owner /* r31 */) { // References // -> struct [anonymous] __vt__11WaitSeqInst; } // Range: 0x80584AB0 -> 0x80584AF8 void WaitSeqInst::StartImpl(class WaitSeqInst * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80584AF8 -> 0x80584B04 void WaitSeqInst::Stop() {} // Range: 0x80584B04 -> 0x80584B54 unsigned char WaitSeqInst::IsRunning(class WaitSeqInst * const this /* r31 */) { // References // -> class TaskMgr TheTaskMgr; } class ObjVector : public vector { // total size: 0x10 class Object * mOwner; // offset 0xC, size 0x4 }; class GroupSeqInst : public SeqInst { // total size: 0x50 protected: class ObjVector mSeqs; // offset 0x40, size 0x10 }; // Range: 0x80584B54 -> 0x80584DB4 void * GroupSeqInst::GroupSeqInst(class GroupSeqInst * const this /* r29 */, class GroupSeq * owner /* r25 */) { // Local variables class iterator itr; // r1+0x28 class SeqInst * newInst; // r30 // References // -> struct [anonymous] __vt__27ObjPtr<7SeqInst,9ObjectDir>; // -> struct [anonymous] __vt__12GroupSeqInst; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjPtr * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjPtr * _M_start; // offset 0x0, size 0x4 class ObjPtr * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class ObjPtr : public ObjRef { // total size: 0xC protected: class Object * mOwner; // offset 0x4, size 0x4 class SeqInst * mPtr; // offset 0x8, size 0x4 }; // Range: 0x80584DB4 -> 0x80584F08 void * GroupSeqInst::~GroupSeqInst(class GroupSeqInst * const this /* r30 */) { // Local variables class ObjPtr * itr; // r29 // References // -> struct [anonymous] __vt__12GroupSeqInst; } // Range: 0x80584F08 -> 0x80584F0C void GroupSeqInst::Poll() {} // Range: 0x80584F0C -> 0x80584F8C void GroupSeqInst::UpdateVolume(class GroupSeqInst * const this /* r29 */) { // Local variables class ObjPtr * it; // r30 } // Range: 0x80584F8C -> 0x8058500C void GroupSeqInst::SetPan(class GroupSeqInst * const this /* r30 */, float pan /* f31 */) { // Local variables class ObjPtr * it; // r31 } // Range: 0x8058500C -> 0x8058508C void GroupSeqInst::SetTranspose(class GroupSeqInst * const this /* r30 */, float tp /* f31 */) { // Local variables class ObjPtr * it; // r31 } class SerialGroupSeqInst : public GroupSeqInst { // total size: 0x54 class ObjPtr * mIt; // offset 0x50, size 0x4 }; // Range: 0x8058508C -> 0x805850D0 void * SerialGroupSeqInst::SerialGroupSeqInst(class SerialGroupSeqInst * const this /* r31 */) { // References // -> struct [anonymous] __vt__18SerialGroupSeqInst; } // Range: 0x805850D0 -> 0x805850EC void SerialGroupSeqInst::StartImpl() {} // Range: 0x805850EC -> 0x80585194 void SerialGroupSeqInst::Stop(class SerialGroupSeqInst * const this /* r30 */) { // Local variables class ObjPtr * itr; // r31 } // Range: 0x80585194 -> 0x805851B0 unsigned char SerialGroupSeqInst::IsRunning() {} // Range: 0x805851B0 -> 0x80585238 void SerialGroupSeqInst::Poll(class SerialGroupSeqInst * const this /* r31 */) {} class ParallelGroupSeqInst : public GroupSeqInst { // total size: 0x54 class ObjPtr * mIt; // offset 0x50, size 0x4 }; // Range: 0x80585238 -> 0x8058527C void * ParallelGroupSeqInst::ParallelGroupSeqInst(class ParallelGroupSeqInst * const this /* r31 */) { // References // -> struct [anonymous] __vt__20ParallelGroupSeqInst; } // Range: 0x8058527C -> 0x805852DC void * ParallelGroupSeqInst::~ParallelGroupSeqInst(class ParallelGroupSeqInst * const this /* r30 */) {} // Range: 0x805852DC -> 0x80585380 void ParallelGroupSeqInst::StartImpl(class ParallelGroupSeqInst * const this /* r30 */) { // Local variables class ObjPtr * it; // r31 } // Range: 0x80585380 -> 0x805853E4 void ParallelGroupSeqInst::Stop(class ParallelGroupSeqInst * const this /* r30 */) { // Local variables class ObjPtr * itr; // r31 } // Range: 0x805853E4 -> 0x80585400 unsigned char ParallelGroupSeqInst::IsRunning() {} // Range: 0x80585400 -> 0x8058546C void ParallelGroupSeqInst::Poll(class ParallelGroupSeqInst * const this /* r31 */) {} class RandomGroupSeqInst : public GroupSeqInst { // total size: 0x68 int mNumSeqs; // offset 0x50, size 0x4 class ObjVector mPlayingSeqs; // offset 0x54, size 0x10 class ObjPtr * mIt; // offset 0x64, size 0x4 }; // Range: 0x8058546C -> 0x805854D8 void * RandomGroupSeqInst::RandomGroupSeqInst(class RandomGroupSeqInst * const this /* r30 */, class RandomGroupSeq * owner /* r31 */) { // References // -> struct [anonymous] __vt__18RandomGroupSeqInst; } // Range: 0x805854D8 -> 0x805855E8 void * RandomGroupSeqInst::~RandomGroupSeqInst(class RandomGroupSeqInst * const this /* r30 */) {} // Range: 0x805855E8 -> 0x80585C40 void RandomGroupSeqInst::StartImpl(class RandomGroupSeqInst * const this /* r23 */) { // Local variables int num; // r26 int child; // r0 int i; // r26 int left; // r25 int candidate; // r24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__27ObjPtr<7SeqInst,9ObjectDir>; } // Range: 0x80585C40 -> 0x80585CA4 void RandomGroupSeqInst::Stop(class RandomGroupSeqInst * const this /* r30 */) { // Local variables class ObjPtr * it; // r31 } // Range: 0x80585CA4 -> 0x80585CC0 unsigned char RandomGroupSeqInst::IsRunning() {} // Range: 0x80585CC0 -> 0x80585D2C void RandomGroupSeqInst::Poll(class RandomGroupSeqInst * const this /* r31 */) {} // Range: 0x80585D2C -> 0x80585E74 void Sequence::Init() { // References // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; } class SfxSeq : public SerialGroupSeq { // total size: 0x8C }; // Range: 0x80585E74 -> 0x80585EB8 void * SfxSeq::SfxSeq(class SfxSeq * const this /* r31 */) { // References // -> struct [anonymous] __vt__6SfxSeq; } // Range: 0x8058607C -> 0x805860C0 void SfxSeq::Save() { // References // -> class Debug TheDebug; } // Range: 0x805860C0 -> 0x80586484 void SfxSeq::Load(class SfxSeq * const this /* r28 */, class BinStream & s /* r29 */) { // Local variables int rev; // r1+0x10 class ObjPtr sfx; // r1+0x14 // References // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; // -> const char * kAssertStr; // -> class Debug TheDebug; } struct { // total size: 0x18 } __vt__27ObjPtr<7SeqInst,9ObjectDir>; // size: 0x18, address: 0x8091DED0 struct { // total size: 0x8 } __RTTI__27ObjPtr<7SeqInst,9ObjectDir>; // size: 0x8, address: 0x8091DF10 struct { // total size: 0x70 } __vt__18RandomGroupSeqInst; // size: 0x70, address: 0x8091DF60 struct { // total size: 0x8 } __RTTI__18RandomGroupSeqInst; // size: 0x8, address: 0x8091E008 struct { // total size: 0x70 } __vt__20ParallelGroupSeqInst; // size: 0x70, address: 0x8091E010 struct { // total size: 0x8 } __RTTI__20ParallelGroupSeqInst; // size: 0x8, address: 0x8091E0C0 struct { // total size: 0x70 } __vt__18SerialGroupSeqInst; // size: 0x70, address: 0x8091E0C8 struct { // total size: 0x8 } __RTTI__18SerialGroupSeqInst; // size: 0x8, address: 0x8091E170 struct { // total size: 0x70 } __vt__12GroupSeqInst; // size: 0x70, address: 0x8091E178 struct { // total size: 0x8 } __RTTI__12GroupSeqInst; // size: 0x8, address: 0x8091E218 struct { // total size: 0x70 } __vt__11WaitSeqInst; // size: 0x70, address: 0x8091E220 struct { // total size: 0x8 } __RTTI__11WaitSeqInst; // size: 0x8, address: 0x8091E2B8 struct { // total size: 0x6C } __vt__6SfxSeq; // size: 0x6C, address: 0x8091E2C0 struct { // total size: 0x8 } __RTTI__6SfxSeq; // size: 0x8, address: 0x8091E368 struct { // total size: 0x70 } __vt__7SeqInst; // size: 0x70, address: 0x8091E370 struct { // total size: 0x6C } __vt__16ParallelGroupSeq; // size: 0x6C, address: 0x8091E408 struct { // total size: 0x8 } __RTTI__16ParallelGroupSeq; // size: 0x8, address: 0x8091E4B8 struct { // total size: 0x6C } __vt__14SerialGroupSeq; // size: 0x6C, address: 0x8091E4C0 struct { // total size: 0x8 } __RTTI__14SerialGroupSeq; // size: 0x8, address: 0x8091E568 struct { // total size: 0x6C } __vt__14RandomGroupSeq; // size: 0x6C, address: 0x8091E570 struct { // total size: 0x8 } __RTTI__14RandomGroupSeq; // size: 0x8, address: 0x8091E618 struct { // total size: 0x6C } __vt__8GroupSeq; // size: 0x6C, address: 0x8091E620 struct { // total size: 0x8 } __RTTI__8GroupSeq; // size: 0x8, address: 0x8091E6C0 struct { // total size: 0x6C } __vt__7WaitSeq; // size: 0x6C, address: 0x8091E718 struct { // total size: 0x8 } __RTTI__7WaitSeq; // size: 0x8, address: 0x8091E7B8 struct { // total size: 0x6C } __vt__8Sequence; // size: 0x6C, address: 0x8091E7C0 struct { // total size: 0x18 } __vt__31ObjPtrList<7SeqInst,9ObjectDir>; // size: 0x18, address: 0x8091E860 struct { // total size: 0x8 } __RTTI__31ObjPtrList<7SeqInst,9ObjectDir>; // size: 0x8, address: 0x8091E8A8 struct { // total size: 0x8 } __RTTI__P28ObjPtr<8Sequence,9ObjectDir>; // size: 0x8, address: 0x8091E958 struct { // total size: 0x8 } __RTTI__P27ObjPtr<7SeqInst,9ObjectDir>; // size: 0x8, address: 0x8091E980 /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80586AF0 -> 0x8058715C */ // Range: 0x80586AF0 -> 0x80586C98 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__31ObjPtrList<7SeqInst,9ObjectDir>; } // Range: 0x80586C98 -> 0x80586E58 class BinStream & __rs(class BinStream & d /* r30 */, class ObjVector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class ObjPtr * t; // r26 // References // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; } // Range: 0x80586E58 -> 0x80586EC8 void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__27ObjPtr<7SeqInst,9ObjectDir>; } // Range: 0x80586EC8 -> 0x805870B4 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7SeqInst; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805870B4 -> 0x805870BC class Object * ObjPtrList::RefOwner() {} // Range: 0x805870BC -> 0x805870C4 class Object * ObjPtr::RefOwner() {} // Range: 0x805870C4 -> 0x8058715C void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7SeqInst; } /* Compile unit: C:\rockband2\system\src\synth\Sequence.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058715C -> 0x80587C8C */ // Range: 0x8058715C -> 0x80587160 void SeqInst::Poll() {} // Range: 0x80587160 -> 0x805871A4 void Sequence::Save() { // References // -> class Debug TheDebug; } // Range: 0x805871A4 -> 0x80587280 void Sequence::Load(class Sequence * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x80587280 -> 0x805872B0 class Object * SfxSeq::NewObject() {} // Range: 0x805872B0 -> 0x805872E0 class Object * WaitSeq::NewObject() {} // Range: 0x805872E0 -> 0x80587310 class Object * RandomGroupSeq::NewObject() {} // Range: 0x80587310 -> 0x80587364 class Object * SerialGroupSeq::NewObject() { // References // -> struct [anonymous] __vt__14SerialGroupSeq; } // Range: 0x80587364 -> 0x805873B8 class Object * ParallelGroupSeq::NewObject() { // References // -> struct [anonymous] __vt__16ParallelGroupSeq; } // Range: 0x805873B8 -> 0x80587538 void SfxSeq::SetType(class SfxSeq * const this /* r29 */, class Symbol & SfxSeq /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80587538 -> 0x8058757C class Symbol SfxSeq::ClassName() { // References // -> class Symbol name; } // Range: 0x8058757C -> 0x805876FC void ParallelGroupSeq::SetType(class ParallelGroupSeq * const this /* r29 */, class Symbol & ParallelGroupSeq /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805876FC -> 0x80587740 class Symbol ParallelGroupSeq::ClassName() { // References // -> class Symbol name; } // Range: 0x80587740 -> 0x805878C0 void SerialGroupSeq::SetType(class SerialGroupSeq * const this /* r29 */, class Symbol & SerialGroupSeq /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805878C0 -> 0x80587904 class Symbol SerialGroupSeq::ClassName() { // References // -> class Symbol name; } // Range: 0x80587904 -> 0x80587A84 void RandomGroupSeq::SetType(class RandomGroupSeq * const this /* r29 */, class Symbol & RandomGroupSeq /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80587A84 -> 0x80587AC8 class Symbol RandomGroupSeq::ClassName() { // References // -> class Symbol name; } // Range: 0x80587AC8 -> 0x80587C48 void WaitSeq::SetType(class WaitSeq * const this /* r29 */, class Symbol & WaitSeq /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80587C48 -> 0x80587C8C class Symbol WaitSeq::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\Sequence_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80587CCC -> 0x80587CD8 */ // Range: 0x80587CCC -> 0x80587CD0 void WaitSeqInst::SetTranspose() {} // Range: 0x80587CD0 -> 0x80587CD4 void WaitSeqInst::SetPan() {} // Range: 0x80587CD4 -> 0x80587CD8 void WaitSeqInst::UpdateVolume() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80587CD8 -> 0x80588980 */ // Range: 0x80587CD8 -> 0x80587D58 void vector::_M_fill_insert() {} // Range: 0x80587D58 -> 0x80587DD8 void vector::_M_fill_insert() {} // Range: 0x80587DD8 -> 0x80588070 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P28ObjPtr<8Sequence,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80588070 -> 0x805883AC void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__28ObjPtr<8Sequence,9ObjectDir>; } // Range: 0x805883AC -> 0x80588644 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjPtr * __pos /* r26 */, const class ObjPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__27ObjPtr<7SeqInst,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P27ObjPtr<7SeqInst,9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80588644 -> 0x80588980 void vector::_M_fill_insert_aux(class vector * const this /* r26 */, class ObjPtr * __pos /* r27 */, unsigned long __n /* r28 */, const class ObjPtr & __x /* r29 */) { // Local variables class ObjPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r30 // References // -> struct [anonymous] __vt__27ObjPtr<7SeqInst,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\synth\Sfx.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80588980 -> 0x8058AFC4 */ class DataArray * types; // size: 0x4, address: 0x80A54630 class Symbol name; // size: 0x4, address: 0x80A54638 // Range: 0x80588980 -> 0x80588AFC void * SfxInst::SfxInst(class SfxInst * const this /* r29 */, class Sfx * parent /* r30 */) { // Local variables class SfxMap * itr; // r31 class SampleInst * samp; // r1+0xC // References // -> struct [anonymous] __vt__7SfxInst; } // Range: 0x80588AFC -> 0x80588C34 void * SfxInst::~SfxInst(class SfxInst * const this /* r31 */) { // References // -> struct [anonymous] __vt__7SfxInst; } // Range: 0x80588C34 -> 0x80588C9C void SfxInst::StartImpl(class SfxInst * const this /* r30 */) { // Local variables class SampleInst * * itr; // r31 } // Range: 0x80588C9C -> 0x80588CEC void SfxInst::Stop(class SfxInst * const this /* r30 */) { // Local variables class SampleInst * * itr; // r31 } // Range: 0x80588CEC -> 0x80588D5C unsigned char SfxInst::IsRunning(class SfxInst * const this /* r30 */) { // Local variables class SampleInst * * itr; // r31 } // Range: 0x80588D5C -> 0x80588DC8 void SfxInst::Pause(class SfxInst * const this /* r29 */, unsigned char pause /* r30 */) { // Local variables class SampleInst * * itr; // r31 } // Range: 0x80588DC8 -> 0x80588E28 void SfxInst::SetSend(class SfxInst * const this /* r29 */, class FxSend * send /* r30 */) { // Local variables class SampleInst * * it; // r31 } // Range: 0x80588E28 -> 0x80588E88 void SfxInst::SetSpeed(class SfxInst * const this /* r30 */, float speed /* f31 */) { // Local variables class SampleInst * * itr; // r31 } // Range: 0x80588E88 -> 0x80588EBC void SfxInst::SetTranspose(class SfxInst * const this /* r31 */) {} // Range: 0x80588EBC -> 0x80588F20 void SfxInst::UpdateVolume(class SfxInst * const this /* r30 */) { // Local variables class SampleInst * * itr; // r31 } // Range: 0x80588F20 -> 0x80588F80 void SfxInst::SetPan(class SfxInst * const this /* r30 */, float pan /* f31 */) { // Local variables class SampleInst * * itr; // r31 } // Range: 0x80588F80 -> 0x80589034 void * Sfx::Sfx(class Sfx * const this /* r31 */) { // References // -> class Synth * TheSynth; // -> struct [anonymous] __vt__31ObjPtrList<7SfxInst,9ObjectDir>; // -> struct [anonymous] __vt__26ObjPtr<6FxSend,9ObjectDir>; // -> struct [anonymous] __vt__3Sfx; } struct Node { // total size: 0xC class SfxInst * object; // offset 0x0, size 0x4 struct Node * next; // offset 0x4, size 0x4 struct Node * prev; // offset 0x8, size 0x4 }; // Range: 0x80589034 -> 0x80589038 void Sfx::SynthPoll() {} class iterator { // total size: 0x4 struct Node * mNode; // offset 0x0, size 0x4 }; // Range: 0x80589038 -> 0x805890A8 void Sfx::Pause(unsigned char p /* r31 */) { // Local variables class iterator itr; // r1+0x18 } // Range: 0x805890A8 -> 0x80589210 class SeqInst * Sfx::MakeInstImpl(class Sfx * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80589210 -> 0x80589290 unsigned char Sfx::IsPlaying() { // Local variables class iterator itr; // r1+0x18 } static class Symbol _s; // size: 0x4, address: 0x80A54640 // Range: 0x80589290 -> 0x805897F4 class DataNode Sfx::Handle(class Sfx * const this /* r30 */, class DataArray * _msg /* r27 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54648 static class Symbol _s; // size: 0x4, address: 0x80A54650 static class Symbol _s; // size: 0x4, address: 0x80A54658 static class Symbol _s; // size: 0x4, address: 0x80A54660 static class Symbol _s; // size: 0x4, address: 0x80A54668 static class Symbol _s; // size: 0x4, address: 0x80A54670 static class Symbol _s; // size: 0x4, address: 0x80A54678 static class Symbol _s; // size: 0x4, address: 0x80A54680 // Range: 0x805897F4 -> 0x80589FFC unsigned char PropSync(class ADSR & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A54688 static class Symbol _s; // size: 0x4, address: 0x80A54690 static class Symbol _s; // size: 0x4, address: 0x80A54698 static class Symbol _s; // size: 0x4, address: 0x80A546A0 static class Symbol _s; // size: 0x4, address: 0x80A546A8 static class Symbol _s; // size: 0x4, address: 0x80A546B0 // Range: 0x80589FFC -> 0x8058A4D4 unsigned char PropSync(class SfxMap & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8058A4D4 -> 0x8058A624 unsigned char PropSync(class ObjPtr & p /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11SynthSample; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A546B8 static class Symbol _s; // size: 0x4, address: 0x80A546C0 static class Symbol _s; // size: 0x4, address: 0x80A546C8 // Range: 0x8058A624 -> 0x8058A810 unsigned char Sfx::SyncProperty(class Sfx * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x8058A810 -> 0x8058AB28 unsigned char PropSync(class ObjVector & v /* r29 */, class DataNode & n /* r31 */, class DataArray * prop /* r26 */, int i /* r28 */, enum PropOp op /* r27 */) { // Local variables class SfxMap * it; // r30 class SfxMap tmp; // r1+0x20 // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058AB28 -> 0x8058AB6C void Sfx::Save() { // References // -> class Debug TheDebug; } // Range: 0x8058AB6C -> 0x8058AC74 void Sfx::Load(class Sfx * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0xC float sendVolume; // r1+0x8 // References // -> int sRev; // -> class Debug TheDebug; } // Range: 0x8058AC74 -> 0x8058AF14 void Sfx::Copy(class Sfx * const this /* r26 */, const class Object * o /* r27 */, enum CopyType type /* r25 */) { // Local variables const class Sfx * sfx; // r0 // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__3Sfx; } // Range: 0x8058AF14 -> 0x8058AFC4 void Sfx::SetSend(class Sfx * const this /* r30 */, class FxSend * send /* r31 */) { // Local variables class iterator it; // r1+0x18 } struct { // total size: 0x70 } __vt__7SfxInst; // size: 0x70, address: 0x8091EE38 struct { // total size: 0x6C } __vt__3Sfx; // size: 0x6C, address: 0x8091EED8 struct { // total size: 0x18 } __vt__31ObjPtrList<7SfxInst,9ObjectDir>; // size: 0x18, address: 0x8091EF70 struct { // total size: 0x8 } __RTTI__31ObjPtrList<7SfxInst,9ObjectDir>; // size: 0x8, address: 0x8091EFB8 struct { // total size: 0x18 } __vt__32ObjPtr<11SynthSample,9ObjectDir>; // size: 0x18, address: 0x8091F0A0 struct { // total size: 0x8 } __RTTI__32ObjPtr<11SynthSample,9ObjectDir>; // size: 0x8, address: 0x8091F0E8 struct { // total size: 0x8 } __RTTI__PP10SampleInst; // size: 0x8, address: 0x8091F170 struct { // total size: 0x8 } __RTTI__P6SfxMap; // size: 0x8, address: 0x8091F188 /* Compile unit: C:\rockband2\system\src\synth\SynthSample.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058AFC4 -> 0x8058AFD4 */ // Range: 0x8058AFC4 -> 0x8058AFCC class SampleInst * SynthSample::NewInst() {} // Range: 0x8058AFCC -> 0x8058AFD4 float SynthSample::LengthMs() {} /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058B26C -> 0x8058BAD8 */ // Range: 0x8058B26C -> 0x8058B2DC void * ObjPtr::~ObjPtr(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; } // Range: 0x8058B2DC -> 0x8058B484 void * ObjPtrList::~ObjPtrList(class ObjPtrList * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__31ObjPtrList<7SfxInst,9ObjectDir>; } // Range: 0x8058B484 -> 0x8058B61C class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__6FxSend; } // Range: 0x8058B61C -> 0x8058B844 class BinStream & __rs(class BinStream & d /* r28 */, class ObjVector & c /* r29 */) { // Local variables unsigned int s; // r1+0x18 class SfxMap * t; // r26 // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; } // Range: 0x8058B844 -> 0x8058BA30 void ObjPtrList::Replace(class ObjPtrList * const this /* r28 */, class Object * from /* r29 */, class Object * to /* r30 */) { // Local variables struct Node * n; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7SfxInst; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058BA30 -> 0x8058BA38 class Object * ObjPtrList::RefOwner() {} // Range: 0x8058BA38 -> 0x8058BA40 class Object * ObjPtr::RefOwner() {} // Range: 0x8058BA40 -> 0x8058BAD8 void ObjPtr::Replace(class ObjPtr * const this /* r30 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11SynthSample; } /* Compile unit: C:\rockband2\system\src\synth\Sfx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058BAD8 -> 0x8058BC94 */ // Range: 0x8058BAD8 -> 0x8058BC54 void Sfx::SetType(class Sfx * const this /* r29 */, class Symbol & Sfx /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8058BC54 -> 0x8058BC94 class Symbol Sfx::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058BC94 -> 0x8058CF3C */ // Range: 0x8058BC94 -> 0x8058BDCC void vector::_M_insert_overflow(class vector * const this /* r27 */, class SampleInst * * __pos /* r28 */, class SampleInst * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class SampleInst * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10SampleInst; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8058BDCC -> 0x8058C34C class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6SfxMap; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8058C34C -> 0x8058C3B4 class SfxMap * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x8058C3B4 -> 0x8058C434 void vector::_M_fill_insert() {} // Range: 0x8058C434 -> 0x8058C8BC void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, class SfxMap * __pos /* r25 */, const class SfxMap & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r29 class SfxMap * __new_finish; // r28 // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P6SfxMap; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8058C8BC -> 0x8058CF2C void vector::_M_fill_insert_aux(class vector * const this /* r25 */, class SfxMap * __pos /* r26 */, unsigned long __n /* r27 */, const class SfxMap & __x /* r28 */) { // Local variables class SfxMap __x_copy; // r1+0x1C unsigned long __elems_after; // r29 class SfxMap * __old_finish; // r0 // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\synth\SfxMap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058CF3C -> 0x8058D08C */ // Range: 0x8058CF3C -> 0x8058CFA8 void * SfxMap::SfxMap(class SfxMap * const this /* r31 */) { // References // -> struct [anonymous] __vt__32ObjPtr<11SynthSample,9ObjectDir>; } int sRev; // size: 0x4, address: 0x80A546D0 // Range: 0x8058CFA8 -> 0x8058CFE0 class BinStream & __rs(class BinStream & s /* r31 */) {} // Range: 0x8058CFE0 -> 0x8058D08C void SfxMap::Load(class SfxMap * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int tmp; // r1+0x8 // References // -> int sRev; } /* Compile unit: C:\rockband2\system\src\obj\ObjPtr_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058D08C -> 0x8058D224 */ // Range: 0x8058D08C -> 0x8058D224 class BinStream & __rs(class BinStream & d /* r28 */, class ObjPtr & f /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11SynthSample; } /* Compile unit: C:\rockband2\system\src\synth\SlipTrack.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058D224 -> 0x8058D5C0 */ // Range: 0x8058D224 -> 0x8058D2C4 void * SlipTrack::SlipTrack(class SlipTrack * const this /* r30 */, class Stream * s /* r31 */, int channel /* r1+0x8 */) {} // Range: 0x8058D2C4 -> 0x8058D340 void SlipTrack::PlayChunk(class SlipTrack * const this /* r31 */, float startMs /* f30 */, float endMs /* f31 */) {} // Range: 0x8058D340 -> 0x8058D38C void SlipTrack::ForceOn(class SlipTrack * const this /* r31 */) {} // Range: 0x8058D38C -> 0x8058D3F4 void SlipTrack::Poll(class SlipTrack * const this /* r31 */) {} // Range: 0x8058D3F4 -> 0x8058D458 void SlipTrack::VolumeOn(class SlipTrack * const this /* r31 */, float startMs /* f31 */) { // Local variables float offset; // f1 } // Range: 0x8058D458 -> 0x8058D4C0 void SlipTrack::VolumeOff(class SlipTrack * const this /* r30 */) { // Local variables int * itr; // r31 } // Range: 0x8058D4C0 -> 0x8058D530 void SlipTrack::SetSpeed(class SlipTrack * const this /* r30 */, float spd /* f31 */) { // Local variables int * itr; // r31 } // Range: 0x8058D530 -> 0x8058D5A0 void SlipTrack::SetOffset(class SlipTrack * const this /* r30 */, float ms /* f31 */) { // Local variables int * itr; // r31 } // Range: 0x8058D5A0 -> 0x8058D5C0 float SlipTrack::GetCurrentOffset(class SlipTrack * const this /* r4 */) {} /* Compile unit: C:\rockband2\system\src\synth\Stream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058D5C0 -> 0x8058D5C4 */ // Range: 0x8058D5C0 -> 0x8058D5C4 void Stream::SetStereoPair() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058D5C4 -> 0x8058D69C */ // Range: 0x8058D5C4 -> 0x8058D69C void SlipTrack::Init(class SlipTrack * const this /* r30 */) { // Local variables int * itr; // r31 } /* Compile unit: C:\rockband2\system\src\synth\StandardStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8058D69C -> 0x805907DC */ static class Symbol _parent; // size: 0x4, address: 0x80A546DC static class Symbol _default; // size: 0x4, address: 0x80A546E4 struct ChannelParams { // total size: 0x60 float mPan; // offset 0x0, size 0x4 float mSlipSpeed; // offset 0x4, size 0x4 unsigned char mSlipEnabled; // offset 0x8, size 0x1 class ADSR mADSR; // offset 0xC, size 0x28 class FaderGroup mFaders; // offset 0x34, size 0x18 class ObjPtr mFxSend; // offset 0x4C, size 0xC enum FXCore mFXCore; // offset 0x58, size 0x4 unsigned char mPitchShift; // offset 0x5C, size 0x1 }; // Range: 0x8058D69C -> 0x8058D7B4 void * ChannelParams::ChannelParams(struct ChannelParams * const this /* r30 */) { // References // -> static class Symbol _default; // -> static class Symbol _parent; // -> struct [anonymous] __vt__26ObjPtr<6FxSend,9ObjectDir>; } // Range: 0x8058D7B4 -> 0x8058D8F4 void * StandardStream::StandardStream(class StandardStream * const this /* r28 */, class File * f /* r29 */, float startMs /* f30 */, float bufSecs /* f31 */, class Symbol & ext /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> struct [anonymous] __vt__14StandardStream; } // Range: 0x8058D8F4 -> 0x8058DBD0 void StandardStream::Init(class StandardStream * const this /* r29 */, float startMs /* f31 */, class Symbol & ext /* r30 */, unsigned char resync /* r27 */) { // Local variables int i; // r28 // References // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058DBD0 -> 0x8058DCB0 void StandardStream::Destroy(class StandardStream * const this /* r29 */) {} // Range: 0x8058DCB0 -> 0x8058DFD4 void * StandardStream::~StandardStream(class StandardStream * const this /* r30 */) { // Local variables int i; // r27 // References // -> struct [anonymous] __vt__26ObjPtr<6FxSend,9ObjectDir>; // -> struct [anonymous] __vt__14StandardStream; } // Range: 0x8058DFD4 -> 0x8058E24C void StandardStream::SynthPoll(class StandardStream * const this /* r31 */) { // Local variables float frameMs; // f0 float minTime; // r1+0xC float weightedThrottle; // f1 float limit; // f1 int jumpSample; // r0 // References // -> class Debug TheDebug; } // Range: 0x8058E24C -> 0x8058E778 void StandardStream::InitInfo(class StandardStream * const this /* r27 */, int numChannels /* r28 */, int sampleRate /* r29 */, unsigned char floatSamples /* r26 */) { // Local variables int bufBytes; // r30 int numBuffers; // r26 int i; // r30 unsigned char slip; // r0 int i; // r30 // References // -> struct [anonymous] __vt__26ObjPtr<6FxSend,9ObjectDir>; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058E778 -> 0x8058E874 unsigned char StandardStream::StuffChannels(class StandardStream * const this /* r31 */) { // Local variables unsigned char ready; // r29 int i; // r30 } // Range: 0x8058E874 -> 0x8058EBBC int StandardStream::ConsumeData(class StandardStream * const this /* r28 */, void * pcmIn /* r29 */, int samples /* r1+0x8 */, int startSamp /* r26 */) { // Local variables int numChannels; // r30 int numRealChannels; // r27 float * pcm[30]; // r1+0x20 int i; // r5 unsigned int act; // r1+0x18 int jumpSamp; // r0 class StreamReceiver * * itr; // r27 int sampSize; // r0 struct pair * itr; // r27 int chan; // r31 signed short tmpBuf[2048]; // r1+0x98 int i; // r6 // References // -> static int kTmpBufSize; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058EBBC -> 0x8058EC10 unsigned char StandardStream::Fail() {} // Range: 0x8058EC10 -> 0x8058EC40 unsigned char StandardStream::IsReady() {} // Range: 0x8058EC40 -> 0x8058EC58 unsigned char StandardStream::IsFinished() {} // Range: 0x8058EC58 -> 0x8058EC70 unsigned char StandardStream::IsPlaying() {} // Range: 0x8058EC70 -> 0x8058EC88 unsigned char StandardStream::IsPaused() {} // Range: 0x8058EC88 -> 0x8058ECA0 int StandardStream::GetNumChannels() {} // Range: 0x8058ECA0 -> 0x8058ECB8 int StandardStream::GetNumChanParams() {} // Range: 0x8058ECB8 -> 0x8058EDB8 void StandardStream::Play(class StandardStream * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058EDB8 -> 0x8058EE5C void StandardStream::Stop(class StandardStream * const this /* r29 */) {} // Range: 0x8058EE5C -> 0x8058EEFC void StandardStream::Resync(class StandardStream * const this /* r31 */, float startMs /* f31 */) { // Local variables int bytes; // r1+0xC } // Range: 0x8058EEFC -> 0x8058F0AC void StandardStream::SetJump(class StandardStream * const this /* r29 */, float fromMs /* f30 */, float toMs /* f31 */, const char * file /* r30 */) { // References // -> float kStreamEnd; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058F0AC -> 0x8058F0B8 void StandardStream::ClearJump() {} // Range: 0x8058F0B8 -> 0x8058F278 void StandardStream::DoJump(class StandardStream * const this /* r29 */) { // Local variables int readAhead; // r1+0x14 // References // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058F278 -> 0x8058F28C void StandardStream::EnableReads() {} // Range: 0x8058F28C -> 0x8058F404 void StandardStream::UpdateTime(class StandardStream * const this /* r31 */) { // Local variables float quantum; // f30 float rawestTime; // f0 float rawTime; // f29 float residue; // f28 float t; // f28 float qt; // f0 float error; // f28 } // Range: 0x8058F404 -> 0x8058F4DC void StandardStream::UpdateTimeByFiltering(class StandardStream * const this /* r31 */) { // Local variables float error; // f31 float kCorrectionFactor; // f2 } // Range: 0x8058F4DC -> 0x8058F560 float StandardStream::GetRawTime(class StandardStream * const this /* r31 */) { // Local variables float streamMs; // f1 } // Range: 0x8058F560 -> 0x8058F58C float StandardStream::GetTime() {} static class Symbol _default; // size: 0x4, address: 0x80A546EC // Range: 0x8058F58C -> 0x8058F680 void StandardStream::SetVolume(class StandardStream * const this /* r29 */, int chan /* r30 */, float volDb /* f31 */) { // References // -> static class Symbol _default; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058F680 -> 0x8058F758 void StandardStream::SetPan(class StandardStream * const this /* r30 */, int chan /* r31 */, float pan /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058F758 -> 0x8058F7D8 void StandardStream::SetSpeed(class StandardStream * const this /* r30 */, float s /* f31 */) { // Local variables int j; // r31 } // Range: 0x8058F7D8 -> 0x8058F904 void StandardStream::SetADSR(class StandardStream * const this /* r30 */, int chan /* r29 */, const class ADSR & adsr /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058F904 -> 0x8058F9AC float StandardStream::GetVolume(const class StandardStream * const this /* r30 */, int chan /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058F9AC -> 0x8058FA50 float StandardStream::GetPan(const class StandardStream * const this /* r30 */, int chan /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058FA50 -> 0x8058FA58 float StandardStream::GetSpeed() {} // Range: 0x8058FA58 -> 0x8058FB08 int StandardStream::MsToSamp(class StandardStream * const this /* r31 */, float ms /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _parent; // size: 0x4, address: 0x80A546F4 static class Symbol _default; // size: 0x4, address: 0x80A546FC // Range: 0x8058FB08 -> 0x8058FCA0 void StandardStream::UpdateVolumes(class StandardStream * const this /* r31 */) { // Local variables float streamVol; // f31 struct ChannelParams * * itr; // r30 int i; // r29 float channelVol; // f1 // References // -> static class Symbol _default; // -> static class Symbol _parent; } // Range: 0x8058FCA0 -> 0x8058FD1C void StandardStream::UpdateFXSends(class StandardStream * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x8058FD1C -> 0x8058FDC0 class FaderGroup & StandardStream::ChannelFaders(class StandardStream * const this /* r30 */, int channel /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058FDC0 -> 0x8058FE3C void StandardStream::AddVirtualChannels(class StandardStream * const this /* r30 */, int n /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058FE3C -> 0x8058FEBC void StandardStream::RemapChannel() {} // Range: 0x8058FEBC -> 0x8058FFB4 void StandardStream::UpdateSpeed(class StandardStream * const this /* r29 */, int chn /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8058FFB4 -> 0x80590098 void StandardStream::EnableSlipStreaming(class StandardStream * const this /* r29 */, int channel /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80590098 -> 0x80590158 void StandardStream::SetSlipOffset(class StandardStream * const this /* r30 */, int channel /* r31 */, float ms /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80590158 -> 0x80590208 void StandardStream::SlipStop(class StandardStream * const this /* r30 */, int channel /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80590208 -> 0x8059031C void StandardStream::SetSlipSpeed(class StandardStream * const this /* r28 */, int channel /* r29 */, float speed /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059031C -> 0x805903CC float StandardStream::GetSlipOffset(class StandardStream * const this /* r30 */, int channel /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805903CC -> 0x805904EC void StandardStream::SetFXSend(class StandardStream * const this /* r28 */, int channel /* r29 */, class FxSend * send /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805904EC -> 0x805905AC void StandardStream::SetFX(class StandardStream * const this /* r29 */, int channel /* r30 */, unsigned char fx /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805905AC -> 0x8059065C unsigned char StandardStream::GetFX(const class StandardStream * const this /* r30 */, int channel /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059065C -> 0x8059070C void StandardStream::SetFXCore(class StandardStream * const this /* r29 */, int channel /* r30 */, enum FXCore fxc /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059070C -> 0x805907B0 enum FXCore StandardStream::GetFXCore(const class StandardStream * const this /* r30 */, int channel /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805907B0 -> 0x805907DC void StandardStream::SetPitchShift() {} struct { // total size: 0xC8 } __vt__14StandardStream; // size: 0xC8, address: 0x8091F770 struct { // total size: 0x8 } __RTTI__PPv; // size: 0x8, address: 0x8091F8E8 struct { // total size: 0x8 } __RTTI__PPQ214StandardStream13ChannelParams; // size: 0x8, address: 0x8091F918 struct { // total size: 0x8 } __RTTI__PP14StreamReceiver; // size: 0x8, address: 0x8091F938 struct _OKToMemCpy { // total size: 0x1 }; static int kTmpBufSize; // size: 0x4, address: 0x80A57CE0 /* Compile unit: C:\rockband2\system\src\synth\Synth.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805907DC -> 0x805907E4 */ // Range: 0x805907DC -> 0x805907E4 class StreamReader * Synth::NewStreamDecoder() {} /* Compile unit: C:\rockband2\system\src\synth\StreamReceiver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805907E4 -> 0x805907FC */ // Range: 0x805907E4 -> 0x805907E8 void StreamReceiver::SetADSR() {} // Range: 0x805907E8 -> 0x805907EC void StreamReceiver::SetFXCore() {} // Range: 0x805907EC -> 0x805907F0 void StreamReceiver::SetPitchShift() {} // Range: 0x805907F0 -> 0x805907F4 void StreamReceiver::SetFX() {} // Range: 0x805907F4 -> 0x805907FC unsigned char StreamReceiver::GetFX() {} /* Compile unit: C:\rockband2\system\src\synth\StandardStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805907FC -> 0x80590818 */ // Range: 0x805907FC -> 0x80590804 float StandardStream::GetFileLength() {} // Range: 0x80590804 -> 0x8059080C float StandardStream::GetFilePos() {} // Range: 0x8059080C -> 0x80590814 unsigned char StandardStream::FillDone() {} // Range: 0x80590814 -> 0x80590818 void StandardStream::Fill() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80590818 -> 0x80590DE0 */ // Range: 0x80590818 -> 0x80590950 void vector::_M_insert_overflow(class vector * const this /* r27 */, void * __pos /* r28 */, void * __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 void * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPv; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80590950 -> 0x80590A88 void vector::_M_insert_overflow(class vector * const this /* r27 */, struct ChannelParams * * __pos /* r28 */, struct ChannelParams * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct ChannelParams * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ214StandardStream13ChannelParams; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80590A88 -> 0x80590AF4 void vector::_M_fill_insert() {} // Range: 0x80590AF4 -> 0x80590C2C void vector::_M_insert_overflow(class vector * const this /* r27 */, class StreamReceiver * * __pos /* r28 */, class StreamReceiver * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class StreamReceiver * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14StreamReceiver; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80590C2C -> 0x80590DE0 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, struct ChannelParams * * __pos /* r29 */, unsigned long __n /* r25 */, struct ChannelParams * const & __x /* r30 */) { // Local variables struct ChannelParams * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80590DE0 -> 0x80590E08 */ // Range: 0x80590DE0 -> 0x80590DF8 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\synth\Stream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80590E08 -> 0x80590F90 */ float kStreamEnd; // size: 0x4, address: 0x80A57CE8 static class Symbol _default; // size: 0x4, address: 0x80A54704 // Range: 0x80590E08 -> 0x80590EAC void * Stream::Stream(class Stream * const this /* r31 */) { // References // -> class Synth * TheSynth; // -> static class Symbol _default; // -> struct [anonymous] __vt__6Stream; } // Range: 0x80590EAC -> 0x80590F18 void * Stream::~Stream(class Stream * const this /* r30 */) { // References // -> struct [anonymous] __vt__6Stream; } static class Symbol _default; // size: 0x4, address: 0x80A5470C // Range: 0x80590F18 -> 0x80590F90 void Stream::SetVolume(class Stream * const this /* r31 */, float volDb /* f31 */) { // References // -> static class Symbol _default; } struct { // total size: 0xA8 } __vt__6Stream; // size: 0xA8, address: 0x8091F998 /* Compile unit: C:\rockband2\system\src\synth\Stream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80590F90 -> 0x80590F9C */ // Range: 0x80590F90 -> 0x80590F94 void Stream::SetADSR() {} // Range: 0x80590F94 -> 0x80590F9C unsigned char Stream::IsPaused() {} /* Compile unit: C:\rockband2\system\src\synth\StreamNull.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80590F9C -> 0x80591288 */ class StreamNull : public Stream { // total size: 0x70 class VarTimer mTimer; // offset 0x8, size 0x40 class FaderGroup mFaders; // offset 0x48, size 0x18 class vector mChannelFaders; // offset 0x60, size 0xC }; // Range: 0x80590F9C -> 0x805910C0 void * StreamNull::StreamNull(class StreamNull * const this /* r30 */, float startMs /* f31 */) { // Local variables class FaderGroup * * itr; // r31 // References // -> struct [anonymous] __vt__10StreamNull; } class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class FaderGroup * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class FaderGroup * * _M_start; // offset 0x0, size 0x4 class FaderGroup * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x805910C0 -> 0x805911F0 void * StreamNull::~StreamNull(class StreamNull * const this /* r30 */) { // References // -> struct [anonymous] __vt__10StreamNull; } // Range: 0x805911F0 -> 0x805911F8 void StreamNull::Play() {} // Range: 0x805911F8 -> 0x80591200 void StreamNull::Stop() {} // Range: 0x80591200 -> 0x80591214 unsigned char StreamNull::IsPlaying() {} // Range: 0x80591214 -> 0x80591228 unsigned char StreamNull::IsFinished() {} // Range: 0x80591228 -> 0x80591270 void StreamNull::Resync(class StreamNull * const this /* r31 */, float startMs /* f31 */) {} // Range: 0x80591270 -> 0x80591278 float StreamNull::GetTime() {} // Range: 0x80591278 -> 0x80591280 void StreamNull::SetSpeed() {} // Range: 0x80591280 -> 0x80591288 float StreamNull::GetSpeed() {} struct { // total size: 0xA8 } __vt__10StreamNull; // size: 0xA8, address: 0x8091FA40 struct { // total size: 0x8 } __RTTI__10StreamNull; // size: 0x8, address: 0x8091FB00 struct { // total size: 0x8 } __RTTI__PP10FaderGroup; // size: 0x8, address: 0x8091FB18 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\synth\StreamNull_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80591288 -> 0x80591320 */ // Range: 0x80591288 -> 0x80591298 class FaderGroup & StreamNull::ChannelFaders() {} // Range: 0x80591298 -> 0x8059129C void StreamNull::SetSlipSpeed() {} // Range: 0x8059129C -> 0x805912A4 float StreamNull::GetSlipOffset() {} // Range: 0x805912A4 -> 0x805912A8 void StreamNull::SlipStop() {} // Range: 0x805912A8 -> 0x805912AC void StreamNull::SetSlipOffset() {} // Range: 0x805912AC -> 0x805912B0 void StreamNull::EnableSlipStreaming() {} // Range: 0x805912B0 -> 0x805912B4 void StreamNull::ClearJump() {} // Range: 0x805912B4 -> 0x805912B8 void StreamNull::SetJump() {} // Range: 0x805912B8 -> 0x805912C0 enum FXCore StreamNull::GetFXCore() {} // Range: 0x805912C0 -> 0x805912C4 void StreamNull::SetFXCore() {} // Range: 0x805912C4 -> 0x805912CC unsigned char StreamNull::GetFX() {} // Range: 0x805912CC -> 0x805912D0 void StreamNull::SetFX() {} // Range: 0x805912D0 -> 0x805912D8 float StreamNull::GetPan() {} // Range: 0x805912D8 -> 0x805912DC void StreamNull::SetPan() {} // Range: 0x805912DC -> 0x805912E4 float StreamNull::GetVolume() {} // Range: 0x805912E4 -> 0x805912E8 void StreamNull::SetVolume() {} // Range: 0x805912E8 -> 0x805912F0 float StreamNull::GetFileLength() {} // Range: 0x805912F0 -> 0x805912F8 float StreamNull::GetFilePos() {} // Range: 0x805912F8 -> 0x805912FC void StreamNull::EnableReads() {} // Range: 0x805912FC -> 0x80591304 unsigned char StreamNull::FillDone() {} // Range: 0x80591304 -> 0x80591308 void StreamNull::Fill() {} // Range: 0x80591308 -> 0x80591310 int StreamNull::GetNumChanParams() {} // Range: 0x80591310 -> 0x80591318 int StreamNull::GetNumChannels() {} // Range: 0x80591318 -> 0x80591320 unsigned char StreamNull::IsReady() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80591320 -> 0x80591678 */ // Range: 0x80591320 -> 0x8059138C void vector::_M_fill_insert() {} // Range: 0x8059138C -> 0x805914C4 void vector::_M_insert_overflow(class vector * const this /* r27 */, class FaderGroup * * __pos /* r28 */, class FaderGroup * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class FaderGroup * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10FaderGroup; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805914C4 -> 0x80591678 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class FaderGroup * * __pos /* r29 */, unsigned long __n /* r25 */, class FaderGroup * const & __x /* r30 */) { // Local variables class FaderGroup * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80591678 -> 0x80591690 */ // Range: 0x80591678 -> 0x80591690 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\synth\StreamReceiver.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80591690 -> 0x80592290 */ class StreamReceiver * (* sFactory)(int, int, unsigned char); // size: 0x4, address: 0x80A54710 // Range: 0x80591690 -> 0x80591720 class StreamReceiver * StreamReceiver::New(int numBuffers /* r29 */, int sampleRate /* r30 */, unsigned char slip /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class StreamReceiver * (* sFactory)(int, int, unsigned char); } // Range: 0x80591720 -> 0x80591800 void * StreamReceiver::StreamReceiver(class StreamReceiver * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__14StreamReceiver; } // Range: 0x80591800 -> 0x80591840 void * StreamReceiver::~StreamReceiver(class StreamReceiver * const this /* r31 */) {} // Range: 0x80591840 -> 0x8059184C int StreamReceiver::BytesWriteable() {} // Range: 0x8059184C -> 0x80591974 void StreamReceiver::WriteData(class StreamReceiver * const this /* r27 */, void * data /* r28 */, int bytes /* r31 */) { // Local variables int bytesToEnd; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80591974 -> 0x80591ABC void StreamReceiver::ClearAtEndData(class StreamReceiver * const this /* r28 */) { // Local variables int firstWipeSize; // r30 int secondWipeSize; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80591ABC -> 0x80591AD4 unsigned char StreamReceiver::Ready() {} // Range: 0x80591AD4 -> 0x80591B88 void StreamReceiver::Play(class StreamReceiver * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80591B88 -> 0x80591C38 void StreamReceiver::Stop(class StreamReceiver * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80591C38 -> 0x805921E0 void StreamReceiver::Poll(class StreamReceiver * const this /* r31 */) { // Local variables int activeBuf; // r28 // References // -> class Debug TheDebug; } // Range: 0x805921E0 -> 0x80592240 void StreamReceiver::EndData(class StreamReceiver * const this /* r31 */) {} // Range: 0x80592240 -> 0x80592290 int StreamReceiver::GetBytesPlayed() { // Local variables int bytesSent; // r5 int bytesPlayed; // r3 } struct { // total size: 0x60 } __vt__14StreamReceiver; // size: 0x60, address: 0x8091FC78 /* Compile unit: C:\rockband2\system\src\synth\StreamReceiver.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80592290 -> 0x80592298 */ // Range: 0x80592290 -> 0x80592298 enum FXCore StreamReceiver::GetFXCore() {} /* Compile unit: C:\rockband2\system\src\synth\Synth.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80592298 -> 0x80595A18 */ class Symbol name; // size: 0x4, address: 0x80A5471C class Symbol name; // size: 0x4, address: 0x80A54724 static float kDBWidth; // size: 0x4, address: 0x80A57CF8 // Range: 0x80592298 -> 0x805923AC class DataNode returnMasterKey(class DataArray * msg /* r28 */) { // Local variables unsigned char someMasher[64]; // r1+0x10 unsigned char callName[4]; // r1+0x8 int i; // r5 class DataArray * a; // r29 unsigned long masher; // r0 } class Synth * TheSynth; // size: 0x4, address: 0x80A54728 // Range: 0x805923AC -> 0x805924F0 void * Synth::Synth(class Synth * const this /* r29 */) { // Local variables const class DataArray * data; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Synth * TheSynth; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__11ByteGrinder; // -> struct [anonymous] __vt__5Synth; } // Range: 0x805924F0 -> 0x80592574 static class Loader * WavFactory(const class FilePath & file /* r29 */, enum LoaderPos pos /* r30 */) { // References // -> class Synth * TheSynth; } // Range: 0x80592574 -> 0x80592BCC void Synth::Init(class Synth * const this /* r30 */) { // Local variables class DataArray * cfg; // r29 int i; // r29 // References // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__5Fader; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; // -> class Symbol name; } class SynthDir : public ObjectDir { // total size: 0xAC }; // Range: 0x80592BCC -> 0x80592C84 void Synth::InitSecurity(class Synth * const this /* r29 */) { // Local variables char functionName[256]; // r1+0x10 int i; // r31 int j; // r30 } // Range: 0x80592C84 -> 0x80592E50 void Synth::Terminate(class Synth * const this /* r31 */) {} // Range: 0x80592E50 -> 0x80592E58 void Synth::SetMasterVolume() {} // Range: 0x80592E58 -> 0x80592E64 float Synth::GetMasterVolume() {} // Range: 0x80592E64 -> 0x80592F24 void Synth::Poll(class Synth * const this /* r31 */) { // Local variables int i; // r6 } // Range: 0x80592F24 -> 0x80593178 void Synth::SetFX(class Synth * const this /* r25 */, const class DataArray * data /* r26 */) { // Local variables int core; // r28 const char * name; // r0 const class DataArray * coreData; // r27 float volume; // f31 float delay; // f30 float feedback; // f29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80593178 -> 0x805931F8 void Synth::RegisterBank(class ObjectDir * dir /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std23_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std23_List_node; // size: 0x8, address: 0x8091FF58 // Range: 0x805931F8 -> 0x80593294 void Synth::UnregisterBank(class ObjectDir * dir /* r31 */) {} // Range: 0x80593294 -> 0x8059329C int Synth::GetNumMics() {} // Range: 0x8059329C -> 0x80593314 void Synth::StopPlaybackAllMics(class Synth * const this /* r30 */) { // Local variables int i; // r31 class Mic * mic; // r0 } // Range: 0x80593314 -> 0x8059342C void Synth::SetMic(class Synth * const this /* r29 */, const class DataArray * data /* r30 */) { // Local variables int i; // r31 class Mic * mic; // r0 } // Range: 0x8059342C -> 0x80593480 class Mic * Synth::GetMic(class Synth * const this /* r30 */, int i /* r31 */) {} // Range: 0x80593480 -> 0x80593504 void SynthTerminate() { // References // -> class Debug TheDebug; // -> class Synth * TheSynth; } static char cacheFile[256]; // size: 0x100, address: 0x80983420 // Range: 0x80593504 -> 0x80593688 char * Synth::CacheWav(class Synth * const this /* r25 */, const char * wavFile /* r26 */) { // Local variables enum Platform plat; // r0 class DepChecker dc; // r1+0x14 const char * cmd; // r0 // References // -> class Debug TheDebug; // -> static char cacheFile[256]; // -> class LoadMgr TheLoadMgr; } // Range: 0x80593688 -> 0x805936E8 void Synth::ToggleHud(class Synth * const this /* r31 */) {} // Range: 0x805936E8 -> 0x80593A24 void Synth::DrawMeter(float & y0 /* r29 */, float lvl /* f28 */, float pkLvl /* f29 */) { // Local variables class Color gray; // r1+0xA0 class Color black; // r1+0x90 class Color white; // r1+0x80 class Color green; // r1+0x70 class Color red; // r1+0x60 float labStart; // f1 float x0; // f31 float width; // f30 float fullness; // f28 class Rect bgr; // r1+0x50 class Rect fgr; // r1+0x40 float pkFull; // f2 class Rect pk; // r1+0x30 class Color white; // r1+0x20 // References // -> static float kDBWidth; // -> class Rnd & TheRnd; } // Range: 0x80593A24 -> 0x80593BBC void Synth::DrawMeterScale(float & y0 /* r31 */) { // Local variables float meterStartX; // f31 float meterWidth; // f30 class Color white; // r1+0x30 // References // -> static float kDBWidth; // -> class Rnd & TheRnd; } // Range: 0x80593BBC -> 0x80593E8C float Synth::UpdateOverlay(class Synth * const this /* r31 */, float y0 /* r1+0x10 */) { // Local variables class Color white; // r1+0x30 int i; // r29 int i; // r29 float lvl; // f31 float pkLvl; // f2 struct _List_iterator itr; // r1+0x24 class Object * o; // r29 class Sfx * sfx; // r3 // References // -> struct [anonymous] __RTTI__13SynthPollable; // -> struct [anonymous] __RTTI__3Sfx; // -> class list sPollables; // -> class Rnd & TheRnd; } // Range: 0x80593E8C -> 0x80593F14 class DataNode Synth::OnStartMic(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x80593F14 -> 0x80593F9C class DataNode Synth::OnStopMic(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x80593F9C -> 0x80593FE4 class DataNode Synth::OnNumConnectedMics() {} // Range: 0x80593FE4 -> 0x80594078 class DataNode Synth::OnIsMicConnected(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x80594078 -> 0x80594100 class DataNode Synth::OnIsMicRunning(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x80594100 -> 0x80594188 class DataNode Synth::OnIsMicUserTalking(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x80594188 -> 0x80594210 class DataNode Synth::OnMicUserPercentTalking(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x80594210 -> 0x80594284 class DataNode Synth::OnSetMicVolume(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) { // Local variables float vol; // f0 } // Range: 0x80594284 -> 0x805942F0 class DataNode Synth::OnSetFX(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x805942F0 -> 0x8059438C class DataNode Synth::OnSetFXVol(class Synth * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x8059438C -> 0x80594418 void Synth::StopAllSfx() { // Local variables struct _List_iterator itr; // r1+0x18 class Sequence * seq; // r0 // References // -> struct [anonymous] __RTTI__13SynthPollable; // -> struct [anonymous] __RTTI__8Sequence; // -> class list sPollables; } // Range: 0x80594418 -> 0x805944B4 void Synth::PauseAllSfx(unsigned char pause /* r31 */) { // Local variables struct _List_iterator itr; // r1+0x18 class Sfx * sfx; // r0 // References // -> struct [anonymous] __RTTI__13SynthPollable; // -> struct [anonymous] __RTTI__3Sfx; // -> class list sPollables; } // Range: 0x805944B4 -> 0x805945F4 class DataNode Synth::OnPassthrough(class Synth * const this /* r29 */, class DataArray * msg /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x805945F4 -> 0x805946D8 void Synth::Play(class Synth * const this /* r30 */, const char * name /* r31 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__8Sequence; } static class Symbol _s; // size: 0x4, address: 0x80A54730 static class Symbol _s; // size: 0x4, address: 0x80A54738 static class Symbol _s; // size: 0x4, address: 0x80A54740 static class Symbol _s; // size: 0x4, address: 0x80A54748 static class Symbol _s; // size: 0x4, address: 0x80A54750 static class Symbol _s; // size: 0x4, address: 0x80A54758 static class Symbol _s; // size: 0x4, address: 0x80A54760 static class Symbol _s; // size: 0x4, address: 0x80A54768 static class Symbol _s; // size: 0x4, address: 0x80A54770 static class Symbol _s; // size: 0x4, address: 0x80A54778 static class Symbol _s; // size: 0x4, address: 0x80A54780 static class Symbol _s; // size: 0x4, address: 0x80A54788 static class Symbol _s; // size: 0x4, address: 0x80A54790 static class Symbol _s; // size: 0x4, address: 0x80A54798 static class Symbol _s; // size: 0x4, address: 0x80A547A0 static class Symbol _s; // size: 0x4, address: 0x80A547A8 static class Symbol _s; // size: 0x4, address: 0x80A547B0 static class Symbol _s; // size: 0x4, address: 0x80A547B8 static class Symbol _s; // size: 0x4, address: 0x80A547C0 static class Symbol _s; // size: 0x4, address: 0x80A547C8 static class Symbol _s; // size: 0x4, address: 0x80A547D0 static class Symbol _s; // size: 0x4, address: 0x80A547D8 static class Symbol _s; // size: 0x4, address: 0x80A547E0 static class Symbol _s; // size: 0x4, address: 0x80A547E8 // Range: 0x805946D8 -> 0x80595394 class DataNode Synth::Handle(class Synth * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x14 class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 class DataNode r; // r1+0x20 class DataNode _n; // r1+0x18 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x80595394 -> 0x805953D4 class Stream * Synth::NewStream(float startMs /* f31 */) {} // Range: 0x805953D4 -> 0x80595414 class Stream * Synth::NewBufStream(float startMs /* f31 */) {} static char gFakeFile[16]; // size: 0x10, address: 0x80983520 // Range: 0x80595414 -> 0x805954DC void Synth::NewStreamFile(class File * & fileOut /* r29 */, class Symbol & extOut /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static char gFakeFile[16]; // -> struct [anonymous] __vt__7BufFile; } class ObjDirItr { // total size: 0x14 class ObjectDir * mDir; // offset 0x0, size 0x4 class ObjectDir * mSubDir; // offset 0x4, size 0x4 struct Entry * mEntry; // offset 0x8, size 0x4 class SynthSample * mObj; // offset 0xC, size 0x4 int mWhich; // offset 0x10, size 0x4 }; // Range: 0x805954DC -> 0x80595804 int Synth::GetSampleMem(enum Platform plat /* r30 */) { // Local variables int tot; // r31 class ObjDirItr itr; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11SynthSample; } // Range: 0x80595804 -> 0x80595920 int Synth::GetFXOverhead() { // Local variables int fxWorkSizes[10]; // r1+0x20 const class DataArray * synthData; // r30 int overhead; // r4 } // Range: 0x80595920 -> 0x805959D4 int Synth::GetSPUOverhead(class Synth * const this /* r30 */) { // Local variables const class DataArray * synthData; // r31 int overhead; // r31 } // Range: 0x805959D4 -> 0x805959D8 void * FxParamAutoLock::FxParamAutoLock() {} // Range: 0x805959D8 -> 0x80595A18 void * FxParamAutoLock::~FxParamAutoLock(class FxParamAutoLock * const this /* r31 */) {} struct { // total size: 0xF0 } __vt__5Synth; // size: 0xF0, address: 0x80920460 struct { // total size: 0xC } __vt__11ByteGrinder; // size: 0xC, address: 0x80920580 struct { // total size: 0x8 } __RTTI__11ByteGrinder; // size: 0x8, address: 0x80920598 struct { // total size: 0x8 } __RTTI__PP3Mic; // size: 0x8, address: 0x80920718 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595A18 -> 0x80595C10 */ // Range: 0x80595A18 -> 0x80595C10 void SynthInit() { // Local variables const class DataArray * synthData; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Synth * TheSynth; } /* Compile unit: C:\rockband2\system\src\synth\ByteGrinder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595C10 -> 0x80595C50 */ // Range: 0x80595C10 -> 0x80595C50 void * ByteGrinder::~ByteGrinder(class ByteGrinder * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595C50 -> 0x80595CE0 */ // Range: 0x80595C50 -> 0x80595CE0 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, const char * t2 /* r29 */, class Symbol & t3 /* r30 */, const char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\synth\Faders.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595CE0 -> 0x80595D40 */ // Range: 0x80595CE0 -> 0x80595D40 class Object * Fader::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\Sfx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595D40 -> 0x80595D9C */ // Range: 0x80595D40 -> 0x80595D9C class Object * Sfx::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\SynthDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595D9C -> 0x80595E10 */ // Range: 0x80595D9C -> 0x80595E10 class Object * SynthDir::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595E10 -> 0x80595E40 */ // Range: 0x80595E10 -> 0x80595E40 class Object * Object::NewObject() {} /* Compile unit: C:\rockband2\system\src\synth\Emitter.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595E40 -> 0x80595EB8 */ // Range: 0x80595E40 -> 0x80595EB8 class Object * SynthEmitter::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendReverb.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595EB8 -> 0x80595F18 */ // Range: 0x80595EB8 -> 0x80595F18 class Object * FxSendReverb::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendDelay.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595F18 -> 0x80595F78 */ // Range: 0x80595F18 -> 0x80595F78 class Object * FxSendDelay::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendDistortion.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595F78 -> 0x80595FD8 */ // Range: 0x80595F78 -> 0x80595FD8 class Object * FxSendDistortion::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendCompress.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80595FD8 -> 0x80596038 */ // Range: 0x80595FD8 -> 0x80596038 class Object * FxSendCompress::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendEQ.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596038 -> 0x80596098 */ // Range: 0x80596038 -> 0x80596098 class Object * FxSendEQ::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendFlanger.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596098 -> 0x805960F8 */ // Range: 0x80596098 -> 0x805960F8 class Object * FxSendFlanger::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendFeedback.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805960F8 -> 0x80596158 */ // Range: 0x805960F8 -> 0x80596158 class Object * FxSendFeedback::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendChorus.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596158 -> 0x805961B8 */ // Range: 0x80596158 -> 0x805961B8 class Object * FxSendChorus::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendPitchShift.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805961B8 -> 0x80596218 */ // Range: 0x805961B8 -> 0x80596218 class Object * FxSendPitchShift::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\FxSendWah.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596218 -> 0x80596278 */ // Range: 0x80596218 -> 0x80596278 class Object * FxSendWah::NewObject() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\Synth.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596278 -> 0x80596358 */ // Range: 0x80596278 -> 0x8059627C void Synth::SetMicFX() {} // Range: 0x8059627C -> 0x80596280 void Synth::SetMicVolume() {} // Range: 0x80596280 -> 0x80596340 class Object * Synth::Find(class Synth * const this /* r29 */, const char * name /* r30 */, unsigned char fail /* r31 */) { // Local variables struct _List_iterator itr; // r1+0x14 class Object * ret; // r0 // References // -> class Debug TheDebug; } // Range: 0x80596340 -> 0x80596344 void Synth::ResumeMics() {} // Range: 0x80596344 -> 0x80596348 void Synth::SuspendMics() {} // Range: 0x80596348 -> 0x80596350 float Synth::GetMicVolume() {} // Range: 0x80596350 -> 0x80596358 unsigned char Synth::GetMicFX() {} /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596358 -> 0x805964C8 */ // Range: 0x80596358 -> 0x805964C8 void ObjDirItr::Advance(class ObjDirItr * const this /* r31 */) { // Local variables int which; // r1+0xC // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11SynthSample; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805964C8 -> 0x80596820 */ // Range: 0x805964C8 -> 0x80596534 void vector::_M_fill_insert() {} // Range: 0x80596534 -> 0x8059666C void vector::_M_insert_overflow(class vector * const this /* r27 */, class Mic * * __pos /* r28 */, class Mic * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Mic * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP3Mic; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8059666C -> 0x80596820 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class Mic * * __pos /* r29 */, unsigned long __n /* r25 */, class Mic * const & __x /* r30 */) { // Local variables class Mic * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596820 -> 0x80596840 */ // Range: 0x80596820 -> 0x80596838 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\synth\SynthDir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596840 -> 0x80596E34 */ class DataArray * types; // size: 0x4, address: 0x80A547F0 // Range: 0x80596840 -> 0x805968C8 void * SynthDir::SynthDir(class SynthDir * const this /* r31 */) { // References // -> class Synth * TheSynth; // -> struct [anonymous] __vt__8SynthDir; } // Range: 0x805968C8 -> 0x80596980 void * SynthDir::~SynthDir(class SynthDir * const this /* r29 */) { // References // -> class Synth * TheSynth; // -> struct [anonymous] __vt__8SynthDir; } static int gRev; // size: 0x4, address: 0x80A547F8 // Range: 0x80596980 -> 0x805969C4 void SynthDir::Save() { // References // -> class Debug TheDebug; } // Range: 0x805969C4 -> 0x80596A6C void SynthDir::PreLoad(class SynthDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> static int gRev; } // Range: 0x80596A6C -> 0x80596AEC void SynthDir::PostLoad(class SynthDir * const this /* r29 */, class BinStream & d /* r30 */) { // References // -> static int gRev; // -> class list sRevs; } // Range: 0x80596AEC -> 0x80596AF0 void SynthDir::Copy() {} // Range: 0x80596AF0 -> 0x80596DB4 class DataNode SynthDir::Handle(class SynthDir * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } // Range: 0x80596DB4 -> 0x80596E34 unsigned char SynthDir::SyncProperty(class SynthDir * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) {} struct { // total size: 0xB0 } __vt__8SynthDir; // size: 0xB0, address: 0x80920988 struct { // total size: 0x8 } __RTTI__8SynthDir; // size: 0x8, address: 0x80920A60 /* Compile unit: C:\rockband2\system\src\synth\SynthDir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80596F10 -> 0x805970E8 */ // Range: 0x80596F10 -> 0x80596F54 class Symbol SynthDir::ClassName() { // References // -> class Symbol name; } // Range: 0x80596F54 -> 0x805970E8 void SynthDir::SetType(class SynthDir * const this /* r29 */, class Symbol & SynthDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\SynthSample.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805970E8 -> 0x80598174 */ class DataArray * types; // size: 0x4, address: 0x80A54800 class FileLoader * sLoader; // size: 0x4, address: 0x80A54808 class SynthSample * sLoading; // size: 0x4, address: 0x80A5480C // Range: 0x805970E8 -> 0x805970F8 static void * SampleAlloc() {} // Range: 0x805970F8 -> 0x80597164 void SynthSample::Init() { // References // -> class Symbol name; } // Range: 0x80597164 -> 0x805971DC void * SynthSample::SynthSample(class SynthSample * const this /* r30 */) { // References // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__11SynthSample; } // Range: 0x805971DC -> 0x80597234 void SynthSample::SetFile(class SynthSample * const this /* r31 */) { // References // -> class FilePath sRoot; } // Range: 0x80597234 -> 0x80597300 void * SynthSample::~SynthSample(class SynthSample * const this /* r30 */) { // References // -> class FileLoader * sLoader; // -> class SynthSample * sLoading; // -> struct [anonymous] __vt__11SynthSample; } // Range: 0x80597300 -> 0x80597308 int SynthSample::GetSampleRate() {} // Range: 0x80597308 -> 0x80597310 enum Format SynthSample::GetFormat() {} // Range: 0x80597310 -> 0x80597328 void SynthSample::SetIsLooped() {} // Range: 0x80597328 -> 0x80597330 unsigned char SynthSample::GetIsLooped() {} // Range: 0x80597330 -> 0x80597348 void SynthSample::SetLoopStartSamp() {} // Range: 0x80597348 -> 0x80597350 int SynthSample::GetLoopStartSamp() {} // Range: 0x80597350 -> 0x80597368 void SynthSample::SetLoopEndSamp() {} // Range: 0x80597368 -> 0x805974A0 void SynthSample::Sync(class SynthSample * const this /* r29 */) { // Local variables class FileLoader * l; // r30 int size; // r1+0x8 class BufStream bs; // r1+0xC // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; } // Range: 0x805974A0 -> 0x805974E4 void SynthSample::Save() { // References // -> class Debug TheDebug; } // Range: 0x805974E4 -> 0x80597540 void SynthSample::Load(class SynthSample * const this /* r30 */, class BinStream & s /* r31 */) {} // Range: 0x80597540 -> 0x805976C0 void SynthSample::PreLoad(class SynthSample * const this /* r30 */, class BinStream & s /* r31 */) { // Local variables int rev; // r1+0xC // References // -> class SynthSample * sLoading; // -> class FileLoader * sLoader; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__10FileLoader; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> class Debug TheDebug; } // Range: 0x805976C0 -> 0x805976F4 void SynthSample::PostLoad() { // References // -> class LoadMgr TheLoadMgr; // -> class SynthSample * sLoading; // -> class FileLoader * sLoader; } // Range: 0x805976F4 -> 0x805977A8 void SynthSample::Copy(class SynthSample * const this /* r29 */, const class Object * o /* r31 */, enum CopyType type /* r30 */) { // Local variables const class SynthSample * s; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__11SynthSample; } // Range: 0x805977A8 -> 0x80597A50 class DataNode SynthSample::Handle(class SynthSample * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54814 static class Symbol _s; // size: 0x4, address: 0x80A5481C static class Symbol _s; // size: 0x4, address: 0x80A54824 static class Symbol _s; // size: 0x4, address: 0x80A5482C static class Symbol _s; // size: 0x4, address: 0x80A54834 static class Symbol _s; // size: 0x4, address: 0x80A5483C static class Symbol _s; // size: 0x4, address: 0x80A54844 // Range: 0x80597A50 -> 0x805980A4 unsigned char SynthSample::SyncProperty(class SynthSample * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x805980A4 -> 0x805980C4 int SynthSample::GetPlatformSize() {} // Range: 0x805980C4 -> 0x80598174 class DataNode SynthSample::OnBankSize(unsigned char kB /* r31 */) { // Local variables int mem; // r0 // References // -> class Synth * TheSynth; } struct { // total size: 0x60 } __vt__11SynthSample; // size: 0x60, address: 0x80920BF8 /* Compile unit: C:\rockband2\system\src\synth\SynthSample.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80598174 -> 0x80598398 */ // Range: 0x80598174 -> 0x805981D4 class Object * SynthSample::NewObject() { // References // -> class Symbol name; } // Range: 0x805981D4 -> 0x80598354 void SynthSample::SetType(class SynthSample * const this /* r29 */, class Symbol & SynthSample /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x80598354 -> 0x80598398 class Symbol SynthSample::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\synth\Utl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80598398 -> 0x805983D0 */ // Range: 0x80598398 -> 0x805983D0 float CalcSpeedFromTranspose(float transpose /* f2 */) {} /* Compile unit: C:\rockband2\system\src\synth\VorbisReader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805983D0 -> 0x8059A290 */ static int gCipher; // size: 0x4, address: 0x80A47778 static int gKeySize; // size: 0x4, address: 0x80A4777C static unsigned char gRB1Key[16]; // size: 0x10, address: 0x80920DF8 static unsigned char gKey[256]; // size: 0x100, address: 0x80983530 struct ogg_sync_state { // total size: 0x1C unsigned char * data; // offset 0x0, size 0x4 int storage; // offset 0x4, size 0x4 int fill; // offset 0x8, size 0x4 int returned; // offset 0xC, size 0x4 int unsynced; // offset 0x10, size 0x4 int headerbytes; // offset 0x14, size 0x4 int bodybytes; // offset 0x18, size 0x4 }; struct ogg_stream_state { // total size: 0x168 unsigned char * body_data; // offset 0x0, size 0x4 long body_storage; // offset 0x4, size 0x4 long body_fill; // offset 0x8, size 0x4 long body_returned; // offset 0xC, size 0x4 int * lacing_vals; // offset 0x10, size 0x4 long long * granule_vals; // offset 0x14, size 0x4 long lacing_storage; // offset 0x18, size 0x4 long lacing_fill; // offset 0x1C, size 0x4 long lacing_packet; // offset 0x20, size 0x4 long lacing_returned; // offset 0x24, size 0x4 unsigned char header[282]; // offset 0x28, size 0x11A int header_fill; // offset 0x144, size 0x4 int e_o_s; // offset 0x148, size 0x4 int b_o_s; // offset 0x14C, size 0x4 long serialno; // offset 0x150, size 0x4 long pageno; // offset 0x154, size 0x4 long long packetno; // offset 0x158, size 0x8 long long granulepos; // offset 0x160, size 0x8 }; struct vorbis_info { // total size: 0x20 int version; // offset 0x0, size 0x4 int channels; // offset 0x4, size 0x4 long rate; // offset 0x8, size 0x4 long bitrate_upper; // offset 0xC, size 0x4 long bitrate_nominal; // offset 0x10, size 0x4 long bitrate_lower; // offset 0x14, size 0x4 long bitrate_window; // offset 0x18, size 0x4 void * codec_setup; // offset 0x1C, size 0x4 }; struct vorbis_comment { // total size: 0x10 char * * user_comments; // offset 0x0, size 0x4 int * comment_lengths; // offset 0x4, size 0x4 int comments; // offset 0x8, size 0x4 char * vendor; // offset 0xC, size 0x4 }; struct vorbis_dsp_state { // total size: 0x70 int analysisp; // offset 0x0, size 0x4 struct vorbis_info * vi; // offset 0x4, size 0x4 float * * pcm; // offset 0x8, size 0x4 float * * pcmret; // offset 0xC, size 0x4 int pcm_storage; // offset 0x10, size 0x4 int pcm_current; // offset 0x14, size 0x4 int pcm_returned; // offset 0x18, size 0x4 int preextrapolate; // offset 0x1C, size 0x4 int eofflag; // offset 0x20, size 0x4 long lW; // offset 0x24, size 0x4 long W; // offset 0x28, size 0x4 long nW; // offset 0x2C, size 0x4 long centerW; // offset 0x30, size 0x4 long long granulepos; // offset 0x38, size 0x8 long long sequence; // offset 0x40, size 0x8 long long glue_bits; // offset 0x48, size 0x8 long long time_bits; // offset 0x50, size 0x8 long long floor_bits; // offset 0x58, size 0x8 long long res_bits; // offset 0x60, size 0x8 void * backend_state; // offset 0x68, size 0x4 }; struct oggpack_buffer { // total size: 0x14 long endbyte; // offset 0x0, size 0x4 int endbit; // offset 0x4, size 0x4 unsigned char * buffer; // offset 0x8, size 0x4 unsigned char * ptr; // offset 0xC, size 0x4 long storage; // offset 0x10, size 0x4 }; struct alloc_chain { // total size: 0x8 void * ptr; // offset 0x0, size 0x4 struct alloc_chain * next; // offset 0x4, size 0x4 }; enum /* @enum$6162VorbisReader_cpp */ { vss_init = 0, vss_decode = 1, vss_mdct = 2, }; struct vorbis_block { // total size: 0x70 float * * pcm; // offset 0x0, size 0x4 struct oggpack_buffer opb; // offset 0x4, size 0x14 long lW; // offset 0x18, size 0x4 long W; // offset 0x1C, size 0x4 long nW; // offset 0x20, size 0x4 int pcmend; // offset 0x24, size 0x4 int mode; // offset 0x28, size 0x4 int eofflag; // offset 0x2C, size 0x4 long long granulepos; // offset 0x30, size 0x8 long long sequence; // offset 0x38, size 0x8 struct vorbis_dsp_state * vd; // offset 0x40, size 0x4 void * localstore; // offset 0x44, size 0x4 long localtop; // offset 0x48, size 0x4 long localalloc; // offset 0x4C, size 0x4 long totaluse; // offset 0x50, size 0x4 struct alloc_chain * reap; // offset 0x54, size 0x4 long glue_bits; // offset 0x58, size 0x4 long time_bits; // offset 0x5C, size 0x4 long floor_bits; // offset 0x60, size 0x4 long res_bits; // offset 0x64, size 0x4 void * internal; // offset 0x68, size 0x4 enum /* @enum$6162VorbisReader_cpp */ { vss_init = 0, vss_decode = 1, vss_mdct = 2, } synthesis_state; // offset 0x6C, size 0x4 }; enum DecodeStatus { kDone = 0, kPacketReady = 1, kPacketDecoded = 2, }; class VorbisReader : public StreamReader, public CriticalSection { // total size: 0x110 protected: int mNumChannels; // offset 0x20, size 0x4 int mSampleRate; // offset 0x24, size 0x4 private: class File * mFile; // offset 0x28, size 0x4 int mHeadersRead; // offset 0x2C, size 0x4 unsigned char * mReadBuffer; // offset 0x30, size 0x4 unsigned char mEnableReads; // offset 0x34, size 0x1 int mDecryptBytes; // offset 0x38, size 0x4 unsigned char mNeedInitDecoder; // offset 0x3C, size 0x1 unsigned char mDone; // offset 0x3D, size 0x1 float mStartMs; // offset 0x40, size 0x4 class StandardStream * mStream; // offset 0x44, size 0x4 struct ogg_sync_state * mOggSync; // offset 0x48, size 0x4 struct ogg_stream_state * mOggStream; // offset 0x4C, size 0x4 struct vorbis_info * mVorbisInfo; // offset 0x50, size 0x4 struct vorbis_comment * mVorbisComment; // offset 0x54, size 0x4 struct vorbis_dsp_state * mVorbisDsp; // offset 0x58, size 0x4 struct vorbis_block * mVorbisBlock; // offset 0x5C, size 0x4 long mMagicA; // offset 0x60, size 0x4 long mMagicB; // offset 0x64, size 0x4 long mKeyIndex; // offset 0x68, size 0x4 long mMagicHashA; // offset 0x6C, size 0x4 long mMagicHashB; // offset 0x70, size 0x4 struct ogg_packet mPendingPacket; // offset 0x78, size 0x20 unsigned char mDecodePending; // offset 0x98, size 0x1 int mSeekTarget; // offset 0x9C, size 0x4 int mSamplesToSkip; // offset 0xA0, size 0x4 class OggMap mMap; // offset 0xA4, size 0x14 int mHdrSize; // offset 0xB8, size 0x4 char * mHdrBuf; // offset 0xBC, size 0x4 struct Symmetric_CTR * mCtrState; // offset 0xC0, size 0x4 unsigned char mNonce[16]; // offset 0xC4, size 0x10 unsigned char mKeyMask[16]; // offset 0xD4, size 0x10 unsigned char mAllowDecode; // offset 0xE4, size 0x1 unsigned char mEof; // offset 0xE5, size 0x1 unsigned char mFail; // offset 0xE6, size 0x1 class vector mThreadBuffers; // offset 0xE8, size 0xC long long mThreadBufferStart; // offset 0xF8, size 0x8 int mThreadBufferConsumed; // offset 0x100, size 0x4 enum DecodeStatus mDecodeStatus; // offset 0x104, size 0x4 unsigned char mDecodeDone; // offset 0x108, size 0x1 }; // Range: 0x805983D0 -> 0x80598658 void VorbisReader::setupCypher(class VorbisReader * const this /* r30 */) { // Local variables char script[256]; // r1+0x108 unsigned char masterKey[256]; // r1+0x8 class DataArray * randomGen; // r29 unsigned long masher; // r0 char functionName; // r5 class DataArray * masterKeyGen; // r28 int ix; // r6 int ret; // r0 class DataArray * magicGenA; // r28 class DataArray * magicGenB; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gKeySize; // -> static int gCipher; // -> class Synth * TheSynth; // -> static unsigned char gKey[256]; } // Range: 0x80598658 -> 0x805987E0 void * VorbisReader::VorbisReader(class VorbisReader * const this /* r27 */, class File * vorbisFile /* r31 */, unsigned char expectMap /* r28 */, class StandardStream * s /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12VorbisReader; // -> struct [anonymous] __vt__12StreamReader; } class StlNodeAlloc { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: signed short * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: signed short * _M_start; // offset 0x0, size 0x4 signed short * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class vector * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class vector * _M_start; // offset 0x0, size 0x4 class vector * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x805987E0 -> 0x805989E4 void * VorbisReader::~VorbisReader(class VorbisReader * const this /* r30 */) { // References // -> struct [anonymous] __vt__12VorbisReader; } static class Timer * _t; // size: 0x4, address: 0x80A54848 // Range: 0x805989E4 -> 0x80598EE0 void VorbisReader::Poll(class VorbisReader * const this /* r31 */, float until /* f31 */) { // Local variables class AutoTimer _at; // r1+0xC class Timer t; // r1+0x10 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Timer * _t; } class CritSecTracker { // total size: 0x4 class CriticalSection * mCritSec; // offset 0x0, size 0x4 }; // Range: 0x80598EE0 -> 0x80598FF4 void VorbisReader::Seek(class VorbisReader * const this /* r29 */, int sample /* r30 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Timer * _t; // size: 0x4, address: 0x80A54850 static class Timer * _t; // size: 0x4, address: 0x80A54858 // Range: 0x80598FF4 -> 0x80599280 unsigned char VorbisReader::DoFileRead(class VorbisReader * const this /* r30 */) { // Local variables unsigned char ret; // r29 int bytes; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Timer * _t; // -> static class Timer * _t; } // Range: 0x80599280 -> 0x805993F8 void VorbisReader::Decrypt(class VorbisReader * const this /* r26 */, unsigned char * data /* r27 */, int bytes /* r28 */) { // Local variables unsigned char tmp[1024]; // r1+0x410 int pos; // r30 int act; // r29 unsigned char align[1024]; // r1+0x10 int ret; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class DebugWarner _dw; // size: 0x100, address: 0x80983630 // Range: 0x805993F8 -> 0x80599864 unsigned char VorbisReader::CheckHmxHeader(class VorbisReader * const this /* r30 */) { // Local variables int bytes; // r1+0xC class BufStream bs; // r1+0x38 int version; // r1+0x8 unsigned char rawKeymask[16]; // r1+0x28 int keyIndex; // r28 int ret; // r0 // References // -> static class DebugWarner _dw; // -> static int gKeySize; // -> static unsigned char gRB1Key[16]; // -> static int gCipher; // -> struct _cipher_descriptor rijndael_desc; // -> class Synth * TheSynth; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct ogg_page { // total size: 0x10 unsigned char * header; // offset 0x0, size 0x4 long header_len; // offset 0x4, size 0x4 unsigned char * body; // offset 0x8, size 0x4 long body_len; // offset 0xC, size 0x4 }; struct ogg_packet { // total size: 0x20 unsigned char * packet; // offset 0x0, size 0x4 long bytes; // offset 0x4, size 0x4 long b_o_s; // offset 0x8, size 0x4 long e_o_s; // offset 0xC, size 0x4 long long granulepos; // offset 0x10, size 0x8 long long packetno; // offset 0x18, size 0x8 }; // Range: 0x80599864 -> 0x805999C0 unsigned char VorbisReader::TryReadHeader(class VorbisReader * const this /* r29 */) { // Local variables struct ogg_page pg; // r1+0x8 int result; // r30 struct ogg_packet pk; // r1+0x18 int result; // r5 // References // -> class Debug TheDebug; } // Range: 0x805999C0 -> 0x80599AA0 void VorbisReader::InitDecoder(class VorbisReader * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80599AA0 -> 0x80599B6C unsigned char VorbisReader::TryConsumeData(class VorbisReader * const this /* r29 */) { // Local variables float * * pcm; // r1+0x8 int consumed; // r31 int samples; // r30 // References // -> class Debug TheDebug; } // Range: 0x80599B6C -> 0x80599D20 unsigned char VorbisReader::TryDecode(class VorbisReader * const this /* r30 */) { // Local variables int result; // r5 // References // -> class Debug TheDebug; } // Range: 0x80599D20 -> 0x80599E2C unsigned char VorbisReader::TryReadPacket(class VorbisReader * const this /* r28 */, struct ogg_packet & pk /* r29 */) { // Local variables int res; // r30 struct ogg_page pg; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80599E2C -> 0x80599EF4 unsigned char VorbisReader::DoSeek(class VorbisReader * const this /* r31 */) { // Local variables int byteOffset; // r1+0xC int actSamp; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80599EF4 -> 0x8059A0E4 void VorbisReader::DoRawSeek(class VorbisReader * const this /* r31 */, int byte /* r29 */) { // Local variables int res; // r5 int ret; // r0 // References // -> static int gCipher; // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x8059A0E4 -> 0x8059A0F8 int VorbisReader::QueuedInputBytes() {} // Range: 0x8059A0F8 -> 0x8059A114 int VorbisReader::QueuedOutputSamples() {} // Range: 0x8059A114 -> 0x8059A188 void VorbisReader::Init(class VorbisReader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059A188 -> 0x8059A28C int VorbisReader::ConsumeData(class VorbisReader * const this /* r28 */, void * pcm /* r29 */, int samples /* r1+0x8 */, int startSamp /* r30 */) { // Local variables int consumed; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059A28C -> 0x8059A290 void VorbisReader::EndData() {} struct { // total size: 0x2C } __vt__12VorbisReader; // size: 0x2C, address: 0x8092105C struct { // total size: 0x8 } __RTTI__12VorbisReader; // size: 0x8, address: 0x809210B0 struct { // total size: 0x8 } __RTTI__15CriticalSection; // size: 0x8, address: 0x809210C8 /* Compile unit: C:\rockband2\system\src\os\Endian.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059A290 -> 0x8059A2AC */ // Range: 0x8059A290 -> 0x8059A2AC int EndianSwapBig(int x /* r5 */) {} /* Compile unit: C:\rockband2\system\src\synth\VorbisReader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059A2AC -> 0x8059A2C4 */ // Range: 0x8059A2AC -> 0x8059A2B4 unsigned char VorbisReader::Fail() {} // Range: 0x8059A2B4 -> 0x8059A2BC unsigned char VorbisReader::Done() {} // Range: 0x8059A2BC -> 0x8059A2C4 void VorbisReader::EnableReads() {} /* Compile unit: C:\rockband2\system\src\synth\WavReader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059A2C4 -> 0x8059A8D4 */ class WavReader : public StreamReader { // total size: 0x44 protected: int mNumChannels; // offset 0x4, size 0x4 int mSampleRate; // offset 0x8, size 0x4 private: class File * mInFile; // offset 0xC, size 0x4 class FileStream * mInFileStream; // offset 0x10, size 0x4 class WaveFile * mInWaveFile; // offset 0x14, size 0x4 class WaveFileData * mInWaveFileData; // offset 0x18, size 0x4 unsigned char mEnableReads; // offset 0x1C, size 0x1 int mSamplesLeft; // offset 0x20, size 0x4 unsigned short * mRawInputBuffer; // offset 0x24, size 0x4 unsigned short * mInputBuffers[2]; // offset 0x28, size 0x8 int mBufNumSamples; // offset 0x30, size 0x4 int mBufOffset; // offset 0x34, size 0x4 int mTotalSamplesConsumed; // offset 0x38, size 0x4 unsigned char mInitted; // offset 0x3C, size 0x1 class StandardStream * mOutStream; // offset 0x40, size 0x4 }; // Range: 0x8059A2C4 -> 0x8059A4A8 void * WavReader::WavReader(class WavReader * const this /* r29 */, class File * wavFile /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__9WavReader; } // Range: 0x8059A4A8 -> 0x8059A578 void * WavReader::~WavReader(class WavReader * const this /* r29 */) { // References // -> struct [anonymous] __vt__9WavReader; } // Range: 0x8059A578 -> 0x8059A7A8 void WavReader::Poll(class WavReader * const this /* r31 */) { // Local variables unsigned short * b[2]; // r1+0x8 int consumed; // r0 int bufSamplesLeft; // r0 int i; // r29 int i; // r29 int consumed; // r0 } // Range: 0x8059A7A8 -> 0x8059A7C4 void WavReader::Seek(class WavReader * const this /* r5 */) {} // Range: 0x8059A7C4 -> 0x8059A838 void WavReader::Init(class WavReader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059A838 -> 0x8059A8D0 int WavReader::ConsumeData(class WavReader * const this /* r28 */, void * pcm /* r29 */, int samples /* r30 */, int startSamp /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059A8D0 -> 0x8059A8D4 void WavReader::EndData() {} struct { // total size: 0x2C } __vt__9WavReader; // size: 0x2C, address: 0x8092119C struct { // total size: 0x8 } __RTTI__9WavReader; // size: 0x8, address: 0x809211E0 /* Compile unit: C:\rockband2\system\src\synth\WavReader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059A8D4 -> 0x8059A8F4 */ // Range: 0x8059A8D4 -> 0x8059A8DC unsigned char WavReader::Fail() {} // Range: 0x8059A8DC -> 0x8059A8EC unsigned char WavReader::Done() {} // Range: 0x8059A8EC -> 0x8059A8F4 void WavReader::EnableReads() {} /* Compile unit: C:\rockband2\system\src\synth\tomcrypt\aes.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8059A8F4 -> 0x8059CA50 */ struct _cipher_descriptor { // total size: 0x2C char * name; // offset 0x0, size 0x4 unsigned char ID; // offset 0x4, size 0x1 unsigned long min_key_length; // offset 0x8, size 0x4 unsigned long max_key_length; // offset 0xC, size 0x4 unsigned long block_length; // offset 0x10, size 0x4 unsigned long default_rounds; // offset 0x14, size 0x4 int (* setup)(unsigned char *, int, int, union Symmetric_key *); // offset 0x18, size 0x4 void (* ecb_encrypt)(unsigned char *, unsigned char *, union Symmetric_key *); // offset 0x1C, size 0x4 void (* ecb_decrypt)(unsigned char *, unsigned char *, union Symmetric_key *); // offset 0x20, size 0x4 int (* test)(); // offset 0x24, size 0x4 int (* keysize)(int *); // offset 0x28, size 0x4 }; struct _cipher_descriptor rijndael_desc; // size: 0x2C, address: 0x8084A588 static unsigned long ft_tab[4][256]; // size: 0x1000, address: 0x8084A5B8 static unsigned long it_tab[4][256]; // size: 0x1000, address: 0x8084B5B8 static unsigned long fl_tab[4][256]; // size: 0x1000, address: 0x8084C5B8 static unsigned long il_tab[4][256]; // size: 0x1000, address: 0x8084D5B8 static unsigned long rco_tab[10]; // size: 0x28, address: 0x8084E5B8 // Range: 0x8059A8F4 -> 0x8059B870 void rijndael_ecb_encrypt() { // Local variables unsigned long * kp; // r12 // References // -> static unsigned long fl_tab[4][256]; // -> static unsigned long ft_tab[4][256]; } // Range: 0x8059B870 -> 0x8059C800 void rijndael_ecb_decrypt() { // Local variables unsigned long * kp; // r12 // References // -> static unsigned long il_tab[4][256]; // -> static unsigned long it_tab[4][256]; } static unsigned char pt128[16]; // size: 0x10, address: 0x8084E5E0 static unsigned char key128[16]; // size: 0x10, address: 0x8084E5F0 static unsigned char ct128[16]; // size: 0x10, address: 0x8084E600 static unsigned char key192[24]; // size: 0x18, address: 0x8084E610 static unsigned char ct192[16]; // size: 0x10, address: 0x8084E628 static unsigned char key256[32]; // size: 0x20, address: 0x8084E638 static unsigned char ct256[16]; // size: 0x10, address: 0x8084E658 struct rijndael_key { // total size: 0x204 unsigned long eK[64]; // offset 0x0, size 0x100 unsigned long dK[64]; // offset 0x100, size 0x100 unsigned long k_len; // offset 0x200, size 0x4 }; union Symmetric_key { struct rijndael_key rijndael; // offset 0x0, size 0x204 }; // Range: 0x8059C800 -> 0x8059C9FC int rijndael_test() { // Local variables union Symmetric_key key; // r1+0x28 unsigned char tmp[2][16]; // r1+0x8 // References // -> static unsigned char ct256[16]; // -> static unsigned char key256[32]; // -> static unsigned char ct192[16]; // -> static unsigned char key192[24]; // -> char * crypt_error; // -> static unsigned char ct128[16]; // -> static unsigned char pt128[16]; // -> static unsigned char key128[16]; } // Range: 0x8059C9FC -> 0x8059CA50 int rijndael_keysize() {} /* Compile unit: C:\rockband2\system\src\synth\tomcrypt\aes_tab.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8059CA50 -> 0x8059CFE4 */ // Range: 0x8059CA50 -> 0x8059CFE4 int rijndael_setup() { // Local variables unsigned long t; // r0 unsigned long u; // r12 unsigned long v; // r31 unsigned long w; // r8 unsigned long in_key[8]; // r1+0x8 int i; // r5 int k_len; // r7 // References // -> static unsigned long fl_tab[4][256]; // -> static unsigned long rco_tab[10]; // -> char * crypt_error; } /* Compile unit: C:\rockband2\system\src\synth\tomcrypt\crypt.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8059CFE4 -> 0x8059D0EC */ struct _cipher_descriptor cipher_descriptor[32]; // size: 0x580, address: 0x80983730 struct Symmetric_CTR { // total size: 0x310 int cipher; // offset 0x0, size 0x4 int blocklen; // offset 0x4, size 0x4 int padlen; // offset 0x8, size 0x4 unsigned char ctr[128]; // offset 0xC, size 0x80 unsigned char pad[128]; // offset 0x8C, size 0x80 union Symmetric_key key; // offset 0x10C, size 0x204 }; // Range: 0x8059CFE4 -> 0x8059D0A8 int register_cipher(const struct _cipher_descriptor * cipher /* r30 */) { // Local variables int x; // r31 // References // -> char * crypt_error; // -> struct _cipher_descriptor cipher_descriptor[32]; } // Range: 0x8059D0A8 -> 0x8059D0EC int cipher_is_valid() { // References // -> char * crypt_error; // -> struct _cipher_descriptor cipher_descriptor[32]; } char * crypt_error; // size: 0x4, address: 0x80A54860 /* Compile unit: C:\rockband2\system\src\synth\tomcrypt\ctr.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8059D0EC -> 0x8059D4E0 */ // Range: 0x8059D0EC -> 0x8059D1EC int ctr_start(int cipher /* r25 */, const unsigned char * count /* r26 */, const unsigned char * key /* r27 */, int keylen /* r28 */, int num_rounds /* r31 */, struct Symmetric_CTR * ctr /* r29 */) { // Local variables int x; // r4 // References // -> struct _cipher_descriptor cipher_descriptor[32]; } // Range: 0x8059D1EC -> 0x8059D27C int ctr_reinit(const unsigned char * count /* r30 */, struct Symmetric_CTR * ctr /* r31 */) { // References // -> struct _cipher_descriptor cipher_descriptor[32]; } // Range: 0x8059D27C -> 0x8059D380 static int ctr_encrypt_fast(unsigned long len /* r28 */, struct Symmetric_CTR * ctr /* r29 */) { // Local variables int x; // r5 int * pti; // r31 int * cti; // r30 int x0; // r3 int x1; // r4 int x2; // r5 int x3; // r6 // References // -> struct _cipher_descriptor cipher_descriptor[32]; } // Range: 0x8059D380 -> 0x8059D4DC int ctr_encrypt(const unsigned char * pt /* r28 */, unsigned char * ct /* r29 */, unsigned long len /* r30 */, struct Symmetric_CTR * ctr /* r31 */) { // Local variables int x; // r5 // References // -> struct _cipher_descriptor cipher_descriptor[32]; } // Range: 0x8059D4DC -> 0x8059D4E0 int ctr_decrypt() {} /* Compile unit: C:\rockband2\system\src\usbwii\UsbWii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059D4E0 -> 0x8059E19C */ long callback; // size: 0x4, address: 0x80A54868 struct HIDDeviceDescriptor { // total size: 0x14 unsigned char bLength; // offset 0x0, size 0x1 unsigned char bDescriptorType; // offset 0x1, size 0x1 unsigned short bcdUSB; // offset 0x2, size 0x2 unsigned char bDeviceClass; // offset 0x4, size 0x1 unsigned char bDeviceSubClass; // offset 0x5, size 0x1 unsigned char bDeviceProtocol; // offset 0x6, size 0x1 unsigned char bMaxPacketSize; // offset 0x7, size 0x1 unsigned short idVendor; // offset 0x8, size 0x2 unsigned short idProduct; // offset 0xA, size 0x2 unsigned short bcdDevice; // offset 0xC, size 0x2 unsigned char iManufacturer; // offset 0xE, size 0x1 unsigned char iProduct; // offset 0xF, size 0x1 unsigned char iSerialNumber; // offset 0x10, size 0x1 unsigned char bNumConfigurations; // offset 0x11, size 0x1 unsigned char pad[2]; // offset 0x12, size 0x2 }; struct HIDConfigurationDescriptor { // total size: 0xC unsigned char bLength; // offset 0x0, size 0x1 unsigned char bDescriptorType; // offset 0x1, size 0x1 unsigned short wTotalLength; // offset 0x2, size 0x2 unsigned char bNumInterfaces; // offset 0x4, size 0x1 unsigned char bConfigurationValue; // offset 0x5, size 0x1 unsigned char iConfiguration; // offset 0x6, size 0x1 unsigned char bmAttributes; // offset 0x7, size 0x1 unsigned char bMaxPower; // offset 0x8, size 0x1 unsigned char pad[3]; // offset 0x9, size 0x3 }; struct HIDInterfaceDescriptor { // total size: 0xC unsigned char bLength; // offset 0x0, size 0x1 unsigned char bDescriptorType; // offset 0x1, size 0x1 unsigned char bInterfaceNumber; // offset 0x2, size 0x1 unsigned char bAlternateSetting; // offset 0x3, size 0x1 unsigned char bNumEndpoints; // offset 0x4, size 0x1 unsigned char bInterfaceClass; // offset 0x5, size 0x1 unsigned char bInterfaceSubClass; // offset 0x6, size 0x1 unsigned char bInterfaceProtocol; // offset 0x7, size 0x1 unsigned char iInterface; // offset 0x8, size 0x1 unsigned char pad[3]; // offset 0x9, size 0x3 }; struct HIDEndpointDescriptor { // total size: 0x8 unsigned char bLength; // offset 0x0, size 0x1 unsigned char bDescriptorType; // offset 0x1, size 0x1 unsigned char bEndpointAddress; // offset 0x2, size 0x1 unsigned char bmAttributes; // offset 0x3, size 0x1 unsigned short wMaxPacketSize; // offset 0x4, size 0x2 unsigned char bInterval; // offset 0x6, size 0x1 unsigned char pad[1]; // offset 0x7, size 0x1 }; struct HIDDevice { // total size: 0x20 long fd; // offset 0x0, size 0x4 unsigned short vid; // offset 0x4, size 0x2 unsigned short pid; // offset 0x6, size 0x2 unsigned char iInterface; // offset 0x8, size 0x1 unsigned char endpoint_address_in; // offset 0x9, size 0x1 unsigned char endpoint_address_out; // offset 0xA, size 0x1 unsigned char inst; // offset 0xB, size 0x1 struct HIDDeviceDescriptor * p_hdd; // offset 0xC, size 0x4 struct HIDConfigurationDescriptor * p_hcd; // offset 0x10, size 0x4 struct HIDInterfaceDescriptor * p_hid; // offset 0x14, size 0x4 struct HIDEndpointDescriptor * p_hed0; // offset 0x18, size 0x4 struct HIDEndpointDescriptor * p_hed1; // offset 0x1C, size 0x4 }; enum UsbState { UsbInactive = 0, UsbInit = 1, UsbReady = 2, UsbReading = 3, UsbDone = 4, }; struct UsbDevice { // total size: 0x80 unsigned char packet[64]; // offset 0x0, size 0x40 unsigned char output[8]; // offset 0x40, size 0x8 struct HIDDevice * device; // offset 0x48, size 0x4 enum UsbType type; // offset 0x4C, size 0x4 enum UsbState state; // offset 0x50, size 0x4 unsigned char ledSetup; // offset 0x54, size 0x1 signed short ledNum; // offset 0x56, size 0x2 unsigned char calbertSetup; // offset 0x58, size 0x1 signed short calbertSetting; // offset 0x5A, size 0x2 int buttonMask; // offset 0x5C, size 0x4 int lstickX; // offset 0x60, size 0x4 int lstickY; // offset 0x64, size 0x4 int rstickX; // offset 0x68, size 0x4 int rstickY; // offset 0x6C, size 0x4 unsigned char pressures[4]; // offset 0x70, size 0x4 }; struct UsbDevice devices[4]; // size: 0x200, address: 0x80983CC0 // Range: 0x8059D4E0 -> 0x8059D4E8 static void UsbOpenCloseCallback() { // References // -> long callback; } enum UsbType { UsbNone = 0, UsbGuitar = 1, UsbGuitarRb2 = 2, UsbDrums = 3, UsbDrumsRb2 = 4, }; // Range: 0x8059D4E8 -> 0x8059D4F0 static void UsbDetachHandler() { // References // -> long callback; } // Range: 0x8059D4F0 -> 0x8059D5FC static void UsbReadCallback() { // References // -> struct UsbDevice devices[4]; } static class Timer * _t; // size: 0x4, address: 0x80A5486C // Range: 0x8059D5FC -> 0x8059D6EC static void UsbLedCallback(long error /* r30 */, unsigned long user /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> static class Timer * _t; } struct _HIDClient { // total size: 0xC struct _HIDClient * next; // offset 0x0, size 0x4 int (* attachHandler)(struct _HIDClient *, struct HIDDevice *, unsigned long); // offset 0x4, size 0x4 unsigned long user; // offset 0x8, size 0x4 }; class UsbWii { // total size: 0x10 struct _HIDClient client; // offset 0x0, size 0xC void * usbMem; // offset 0xC, size 0x4 }; // Range: 0x8059D6EC -> 0x8059D7A0 void * UsbWii::UsbWii(class UsbWii * const this /* r29 */) { // Local variables int i; // r30 } // Range: 0x8059D7A0 -> 0x8059D81C void * UsbWii::~UsbWii(class UsbWii * const this /* r30 */) { // References // -> long callback; } // Range: 0x8059D81C -> 0x8059DA60 void UsbWii::Poll() { // Local variables long he; // r0 int interrupts; // r31 int i; // r30 int j; // r5 // References // -> struct UsbDevice devices[4]; } static int _x; // size: 0x4, address: 0x80A54874 // Range: 0x8059DA60 -> 0x8059DB30 unsigned char UsbWii::OpenLib(class UsbWii * const this /* r31 */) { // Local variables long he; // r0 // References // -> long callback; // -> static int _x; } // Range: 0x8059DB30 -> 0x8059DBB8 unsigned char UsbWii::CloseLib(class UsbWii * const this /* r31 */) { // Local variables long he; // r0 // References // -> long callback; } // Range: 0x8059DBB8 -> 0x8059DBCC long UsbWii::WaitForCallback() { // References // -> long callback; } // Range: 0x8059DBCC -> 0x8059DC90 enum UsbType UsbWii::GetType() {} // Range: 0x8059DC90 -> 0x8059DD64 int UsbWii::AddDevice(struct HIDDevice * device /* r27 */, enum UsbType type /* r28 */) { // Local variables int i; // r5 int i; // r29 // References // -> struct UsbDevice devices[4]; } // Range: 0x8059DD64 -> 0x8059DDF8 void UsbWii::ClearDevice(int num /* r31 */) { // References // -> struct UsbDevice devices[4]; } // Range: 0x8059DDF8 -> 0x8059DE2C unsigned char UsbWii::IsActive() { // References // -> struct UsbDevice devices[4]; } // Range: 0x8059DE2C -> 0x8059E054 enum JoypadType UsbWii::ReadInstrument(int num /* r26 */, unsigned int * buttons /* r24 */, char * lstickx /* r25 */, char * lsticky /* r27 */, char * rstickx /* r28 */, char * rsticky /* r29 */, unsigned int * pressures /* r30 */) { // Local variables long he; // r0 // References // -> struct UsbDevice devices[4]; } // Range: 0x8059E054 -> 0x8059E0B8 enum JoypadType UsbWii::GetJoypadType() { // References // -> struct UsbDevice devices[4]; } // Range: 0x8059E0B8 -> 0x8059E114 void UsbWii::SetLED(int num /* r30 */, int led /* r31 */) { // References // -> struct UsbDevice devices[4]; } // Range: 0x8059E114 -> 0x8059E19C void UsbWii::SetCalbert(int num /* r30 */, int calbertSetting /* r31 */) { // References // -> struct UsbDevice devices[4]; } /* Compile unit: C:\rockband2\system\src\usbwii\UsbWii.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059E19C -> 0x8059E2B8 */ // Range: 0x8059E19C -> 0x8059E25C static int UsbAttachHandler(struct HIDDevice * hDevice /* r30 */) { // Local variables enum UsbType type; // r31 int i; // r31 // References // -> struct UsbDevice devices[4]; } // Range: 0x8059E25C -> 0x8059E2B8 static void UsbProtocolCallback(unsigned long user /* r31 */) { // References // -> struct UsbDevice devices[4]; } /* Compile unit: C:\rockband2\system\src\os\Archive.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059E2B8 -> 0x8059F23C */ class Archive * TheArchive; // size: 0x4, address: 0x80A54880 // Range: 0x8059E2B8 -> 0x8059E62C void ArchiveInit() { // Local variables class Symbol plat; // r1+0x48 const char * patch; // r30 unsigned char patch_on_hd; // r29 class String path; // r1+0x4C class File * f; // r0 class Archive m; // r1+0x58 // References // -> class BlockMgr TheBlockMgr; // -> class Archive * TheArchive; // -> class ContentMgr & TheContentMgr; // -> class LoadMgr TheLoadMgr; } // Range: 0x8059E62C -> 0x8059E648 void * FileEntry::FileEntry() {} // Range: 0x8059E648 -> 0x8059E68C unsigned char FileEntry::__lt() {} // Range: 0x8059E68C -> 0x8059E6A8 void * ArkHash::ArkHash() {} // Range: 0x8059E6A8 -> 0x8059E708 void * ArkHash::~ArkHash(class ArkHash * const this /* r30 */) {} // Range: 0x8059E708 -> 0x8059E8A4 int ArkHash::AddString(class ArkHash * const this /* r30 */, const char * str /* r26 */) { // Local variables int hashIdx; // r31 int hashStart; // r27 int len; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059E8A4 -> 0x8059E974 int ArkHash::GetHashValue(const class ArkHash * const this /* r29 */, const char * str /* r30 */) { // Local variables int hashIdx; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059E974 -> 0x8059E9EC char * ArkHash::__vc(const class ArkHash * const this /* r30 */, int idx /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059E9EC -> 0x8059EB28 void ArkHash::Read(class ArkHash * const this /* r30 */, class BinStream & s /* r31 */, int heap_headroom /* r28 */) { // Local variables int old_heap_size; // r1+0xC int heap_size; // r28 char * * it; // r28 char * * end; // r29 int idx; // r1+0x8 } // Range: 0x8059EB28 -> 0x8059EBC0 void * Archive::Archive(class Archive * const this /* r28 */, const char * basename /* r29 */, int heap_headroom /* r30 */) {} // Range: 0x8059EBC0 -> 0x8059EE34 unsigned char Archive::GetFileInfo(class Archive * const this /* r24 */, const char * file /* r23 */, int & arkfileNum /* r25 */, unsigned long long & byteOffset /* r26 */, int & fileSize /* r27 */, int & fileUCSize /* r28 */) { // Local variables class String name; // r1+0x18 class String path; // r1+0xC int hashpath; // r0 int hashname; // r0 class FileEntry target; // r1+0x28 class FileEntry * itr; // r0 unsigned long long arkOffset; // r30 unsigned long long nTotalSize; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct __less_2 { // total size: 0x1 }; // Range: 0x8059EE34 -> 0x8059EEB4 class BinStream & __rs(class BinStream & in /* r30 */, class FileEntry & fe /* r31 */) {} // Range: 0x8059EEB4 -> 0x8059F120 void Archive::Read(class Archive * const this /* r30 */, int heap_headroom /* r31 */) { // Local variables class FileStream arkhdr; // r1+0x48 int version; // r1+0x10 int i; // r27 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct { // total size: 0x8 } __RTTI__P9FileEntry; // size: 0x8, address: 0x80921800 // Range: 0x8059F120 -> 0x8059F170 unsigned char Archive::IsValidBlock() { // Local variables int maxBlock; // r0 // References // -> int kArkBlockSize; } // Range: 0x8059F170 -> 0x8059F23C void Archive::SetLocationHardDrive(class Archive * const this /* r29 */) { // Local variables int i; // r30 class String path; // r1+0x8 // References // -> class ContentMgr & TheContentMgr; } struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class ArkFile : public File { // total size: 0x40 int mArkfileNum; // offset 0x4, size 0x4 unsigned long long mByteStart; // offset 0x8, size 0x8 int mSize; // offset 0x10, size 0x4 int mUCSize; // offset 0x14, size 0x4 int mNumOutstandingTasks; // offset 0x18, size 0x4 int mBytesRead; // offset 0x1C, size 0x4 int mTell; // offset 0x20, size 0x4 int mFail; // offset 0x24, size 0x4 float mReadStartTime; // offset 0x28, size 0x4 int mReadAhead; // offset 0x2C, size 0x4 class String mFilename; // offset 0x30, size 0xC }; class AsyncTask { // total size: 0x18 int mArkfileNum; // offset 0x0, size 0x4 int mBlockNum; // offset 0x4, size 0x4 int mOffsetStart; // offset 0x8, size 0x4 int mOffsetEnd; // offset 0xC, size 0x4 void * mBuffer; // offset 0x10, size 0x4 class ArkFile * mOwner; // offset 0x14, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class BlockRequest { // total size: 0x10 public: int mArkfileNum; // offset 0x0, size 0x4 int mBlockNum; // offset 0x4, size 0x4 class list mTasks; // offset 0x8, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; class Block { // total size: 0x10 public: char * mBuffer; // offset 0x0, size 0x4 int mArkfileNum; // offset 0x4, size 0x4 int mBlockNum; // offset 0x8, size 0x4 int mTimestamp; // offset 0xC, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class Block * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class Block * * _M_start; // offset 0x0, size 0x4 class Block * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class BlockMgr { // total size: 0x60 class list mRequests; // offset 0x0, size 0x8 class list mReadAheadRequests; // offset 0x8, size 0x8 class vector mBlockCache; // offset 0x10, size 0xC class Block * mPendingBlock; // offset 0x1C, size 0x4 int mSectorsPerBlock; // offset 0x20, size 0x4 class Timer mSpinDownTimer; // offset 0x28, size 0x38 }; /* Compile unit: C:\rockband2\system\src\os\ContentMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059F23C -> 0x8059F244 */ // Range: 0x8059F23C -> 0x8059F244 char * ContentMgr::TitleContentPath() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059F244 -> 0x8059FD2C */ // Range: 0x8059F244 -> 0x8059F3F8 void Archive::Enumerate(class Archive * const this /* r19 */, const char * dir /* r20 */, void (* cb)(char *, char *) /* r21 */, unsigned char recurse /* r22 */, const char * pattern /* r23 */) { // Local variables char patternBuf[256]; // r1+0x108 char dirBuf[256]; // r1+0x8 unsigned char dtaPattern; // r29 int dirLen; // r31 const char * lastPath; // r28 unsigned char pathMatches; // r27 class FileEntry * itr; // r26 const char * path; // r25 const char * name; // r24 } // Range: 0x8059F3F8 -> 0x8059F494 char * Archive::GetArkfileName(const class Archive * const this /* r30 */, int filenum /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8059F494 -> 0x8059FD2C void Archive::Merge(class Archive * const this /* r25 */, class Archive & shadow /* r30 */) { // Local variables class vector new_file_entries; // r1+0x8C long long prev_max_offset; // r26 int i; // r4 class ArkHash & shadow_hash; // r28 class vector & shadow_entries; // r0 const class FileEntry * fit; // r29 const char * name; // r24 const char * path; // r31 class FileEntry target; // r1+0xB0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9FileEntry; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059FD2C -> 0x8059FD44 */ // Range: 0x8059FD2C -> 0x8059FD44 struct __less_2 __less2() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059FD44 -> 0x8059FDD8 */ // Range: 0x8059FD44 -> 0x8059FDD8 class FileEntry * __lower_bound(class FileEntry * __first /* r27 */, const class FileEntry & __val /* r28 */) { // Local variables long __len; // r31 long __half; // r30 class FileEntry * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8059FDD8 -> 0x805A0024 */ // Range: 0x8059FDD8 -> 0x8059FF38 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x18 class FileEntry * t; // r29 } // Range: 0x8059FF38 -> 0x805A0024 class BinStream & __rs(class BinStream & d /* r29 */, class vector & c /* r30 */) { // Local variables unsigned int s; // r1+0x14 unsigned int * t; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A0024 -> 0x805A08F0 */ // Range: 0x805A0024 -> 0x805A00E4 void sort(class FileEntry * __first /* r29 */, class FileEntry * __last /* r30 */) {} // Range: 0x805A00E4 -> 0x805A0194 void __final_insertion_sort(class FileEntry * __first /* r29 */, class FileEntry * __last /* r30 */, struct less & __comp /* r31 */) {} // Range: 0x805A0194 -> 0x805A022C void __unguarded_insertion_sort_aux(class FileEntry * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class FileEntry * __i; // r31 } // Range: 0x805A022C -> 0x805A02EC void __unguarded_linear_insert(class FileEntry * __last /* r29 */, class FileEntry & __val /* r30 */) { // Local variables class FileEntry * __next; // r31 } // Range: 0x805A02EC -> 0x805A0494 void __insertion_sort(class FileEntry * __first /* r28 */, class FileEntry * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class FileEntry * __i; // r31 } // Range: 0x805A0494 -> 0x805A0644 void __introsort_loop(class FileEntry * __first /* r28 */, class FileEntry * __last /* r29 */, long __depth_limit /* r30 */, struct less & __comp /* r31 */) { // Local variables class FileEntry * __cut; // r27 } // Range: 0x805A0644 -> 0x805A074C class FileEntry * __unguarded_partition(class FileEntry * __first /* r29 */, class FileEntry * __last /* r30 */, class FileEntry & __pivot /* r31 */) {} // Range: 0x805A074C -> 0x805A077C void partial_sort() {} // Range: 0x805A077C -> 0x805A08F0 void __partial_sort(class FileEntry * __first /* r27 */, class FileEntry * __middle /* r28 */, class FileEntry * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables class FileEntry * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A08F0 -> 0x805A0938 */ // Range: 0x805A08F0 -> 0x805A0908 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x805A0908 -> 0x805A0920 struct __true_type _OKToSwap::_Answer() {} // Range: 0x805A0920 -> 0x805A0938 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A0938 -> 0x805A0D08 */ // Range: 0x805A0938 -> 0x805A0A14 void pop_heap(class FileEntry * __last /* r31 */) {} // Range: 0x805A0A14 -> 0x805A0C14 void __adjust_heap(class FileEntry * __first /* r26 */, long __holeIndex /* r27 */, long __len /* r28 */, class FileEntry & __val /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x805A0C14 -> 0x805A0D08 void make_heap(class FileEntry * __first /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A0D08 -> 0x805A0D1C */ // Range: 0x805A0D08 -> 0x805A0D1C struct less __less() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A0D1C -> 0x805A1530 */ // Range: 0x805A0D1C -> 0x805A0FA8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class FileEntry * __pos /* r26 */, const class FileEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class FileEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P9FileEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805A0FA8 -> 0x805A1028 void vector::_M_fill_insert() {} // Range: 0x805A1028 -> 0x805A1094 void vector::_M_fill_insert() {} // Range: 0x805A1094 -> 0x805A137C void vector::_M_fill_insert_aux() { // Local variables class FileEntry __x_copy; // r1+0x20 unsigned long __elems_after; // r10 class FileEntry * __old_finish; // r0 } // Range: 0x805A137C -> 0x805A1530 void vector::_M_fill_insert_aux(class vector * const this /* r28 */, unsigned int * __pos /* r29 */, unsigned long __n /* r25 */, const unsigned int & __x /* r30 */) { // Local variables unsigned int __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\os\ArkFile.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A1530 -> 0x805A1A74 */ // Range: 0x805A1530 -> 0x805A15F0 void * ArkFile::ArkFile(class ArkFile * const this /* r29 */, const char * iFilename /* r30 */, int iMode /* r31 */) { // Local variables unsigned char retval; // r0 // References // -> class Archive * TheArchive; // -> struct [anonymous] __vt__7ArkFile; } // Range: 0x805A15F0 -> 0x805A1678 void * ArkFile::~ArkFile(class ArkFile * const this /* r30 */) { // References // -> class BlockMgr TheBlockMgr; // -> struct [anonymous] __vt__7ArkFile; } // Range: 0x805A1678 -> 0x805A16EC int ArkFile::Read(class ArkFile * const this /* r31 */) { // Local variables int retVal; // r1+0x8 } // Range: 0x805A16EC -> 0x805A191C unsigned char ArkFile::ReadAsync(class ArkFile * const this /* r29 */, void * iBuff /* r30 */, int iBytes /* r31 */) { // Local variables unsigned long long startByte; // r28 int startBlock; // r1+0x10 int numBlocks; // r1+0xC int blockSize; // r1+0x8 int currBlock; // r26 int lastBlock; // r25 int startOffset; // r24 int endOffset; // r23 char * buff; // [invalid] unsigned char tryFill; // r22 int endByte; // r4 class AsyncTask task; // r1+0x18 // References // -> class BlockMgr TheBlockMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805A191C -> 0x805A1964 int ArkFile::Write() { // References // -> class Debug TheDebug; } // Range: 0x805A1964 -> 0x805A19B4 int ArkFile::Seek() {} // Range: 0x805A19B4 -> 0x805A19BC int ArkFile::Tell() {} // Range: 0x805A19BC -> 0x805A19D4 unsigned char ArkFile::Eof() {} // Range: 0x805A19D4 -> 0x805A19E8 unsigned char ArkFile::Fail() {} // Range: 0x805A19E8 -> 0x805A19F0 int ArkFile::Size() {} // Range: 0x805A19F0 -> 0x805A19F8 int ArkFile::UncompressedSize() {} // Range: 0x805A19F8 -> 0x805A1A20 void ArkFile::TaskDone() {} // Range: 0x805A1A20 -> 0x805A1A74 unsigned char ArkFile::ReadDone(class ArkFile * const this /* r30 */, int & oBytes /* r31 */) { // References // -> class BlockMgr TheBlockMgr; } struct { // total size: 0x38 } __vt__7ArkFile; // size: 0x38, address: 0x80921990 struct { // total size: 0x8 } __RTTI__7ArkFile; // size: 0x8, address: 0x809219E0 /* Compile unit: C:\rockband2\system\src\os\ArkFile_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A1A74 -> 0x805A1A78 */ // Range: 0x805A1A74 -> 0x805A1A78 void ArkFile::Flush() {} /* Compile unit: C:\rockband2\system\src\os\AsyncFile.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A1A78 -> 0x805A2658 */ static int gBufferSize; // size: 0x4, address: 0x80A477A0 class AsyncFile : public File { // total size: 0x3C protected: int mHandle; // offset 0x4, size 0x4 int mMode; // offset 0x8, size 0x4 unsigned char mFail; // offset 0xC, size 0x1 class String mFilename; // offset 0x10, size 0xC unsigned int mTell; // offset 0x1C, size 0x4 int mOffset; // offset 0x20, size 0x4 private: unsigned int mSize; // offset 0x24, size 0x4 int mUCSize; // offset 0x28, size 0x4 char * mBuffer; // offset 0x2C, size 0x4 char * mData; // offset 0x30, size 0x4 int mBytesLeft; // offset 0x34, size 0x4 int mBytesRead; // offset 0x38, size 0x4 }; // Range: 0x805A1A78 -> 0x805A1C74 class AsyncFile * AsyncFile::New(const char * filename /* r30 */, int mode /* r31 */) { // Local variables class AsyncFile * ret; // r29 // References // -> unsigned char gHostLogging; } // Range: 0x805A1C74 -> 0x805A1CE4 void * AsyncFile::AsyncFile(class AsyncFile * const this /* r30 */) { // References // -> struct [anonymous] __vt__9AsyncFile; } // Range: 0x805A1CE4 -> 0x805A1EAC void AsyncFile::Init(class AsyncFile * const this /* r31 */) { // Local variables unsigned char cur; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gBufferSize; } // Range: 0x805A1EAC -> 0x805A1F0C void AsyncFile::Terminate(class AsyncFile * const this /* r31 */) {} // Range: 0x805A1F0C -> 0x805A1F80 int AsyncFile::Read(class AsyncFile * const this /* r31 */, int iBytes /* r1+0x8 */) {} // Range: 0x805A1F80 -> 0x805A20C0 unsigned char AsyncFile::ReadAsync(class AsyncFile * const this /* r29 */, void * iData /* r30 */, int iBytes /* r1+0x8 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805A20C0 -> 0x805A2224 unsigned char AsyncFile::ReadDone(class AsyncFile * const this /* r30 */, int & oBytes /* r31 */) { // Local variables int len; // r29 // References // -> static int gBufferSize; } // Range: 0x805A2224 -> 0x805A238C int AsyncFile::Write(class AsyncFile * const this /* r29 */, void * iData /* r30 */, int iBytes /* r31 */) { // Local variables int bytesLeft; // r28 const char * data; // [invalid] int len; // r27 // References // -> static int gBufferSize; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805A238C -> 0x805A2514 int AsyncFile::Seek(class AsyncFile * const this /* r31 */, int iOffset /* r28 */, int iSeekType /* r29 */) { // Local variables long long tell; // r4 // References // -> static int gBufferSize; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805A2514 -> 0x805A251C int AsyncFile::Tell() {} // Range: 0x805A251C -> 0x805A257C void AsyncFile::Flush(class AsyncFile * const this /* r31 */) {} // Range: 0x805A257C -> 0x805A2628 void AsyncFile::FillBuffer(class AsyncFile * const this /* r31 */) { // References // -> static int gBufferSize; } // Range: 0x805A2628 -> 0x805A2640 unsigned char AsyncFile::Eof() {} // Range: 0x805A2640 -> 0x805A2648 unsigned char AsyncFile::Fail() {} // Range: 0x805A2648 -> 0x805A2650 int AsyncFile::Size() {} // Range: 0x805A2650 -> 0x805A2658 int AsyncFile::UncompressedSize() {} struct { // total size: 0x50 } __vt__9AsyncFile; // size: 0x50, address: 0x80921AB0 struct { // total size: 0x8 } __RTTI__9AsyncFile; // size: 0x8, address: 0x80921B18 /* Compile unit: C:\rockband2\system\src\os\Endian.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A2658 -> 0x805A2664 */ // Range: 0x805A2658 -> 0x805A2664 void EndianSwapEq() {} /* Compile unit: C:\rockband2\system\src\os\AsyncFile_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A2664 -> 0x805A26C4 */ // Range: 0x805A2664 -> 0x805A26C4 void * AsyncFile::~AsyncFile(class AsyncFile * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\AsyncFile_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A26C4 -> 0x805A2F38 */ int gFileRetryAttempts; // size: 0x4, address: 0x80A477A8 class AsyncFileWii : public AsyncFile { // total size: 0xDC int mCount; // offset 0x3C, size 0x4 int mDLCIdx; // offset 0x40, size 0x4 int mFileReadPosition; // offset 0x44, size 0x4 unsigned char mReadInProgress; // offset 0x48, size 0x1 void * mTempBuffer; // offset 0x4C, size 0x4 unsigned char mUseFRead; // offset 0x50, size 0x1 int mTotalCount; // offset 0x54, size 0x4 struct DVDFileInfo mFileInfo; // offset 0x58, size 0x3C struct CNTFileInfo mCNTFileInfo; // offset 0x94, size 0x44 struct _FILE * mFile; // offset 0xD8, size 0x4 }; // Range: 0x805A26C4 -> 0x805A27D4 void * AsyncFileWii::AsyncFileWii(class AsyncFileWii * const this /* r28 */, const char * filename /* r29 */, int mode /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12AsyncFileWii; } // Range: 0x805A27D4 -> 0x805A29F4 unsigned int AsyncFileWii::_Open(class AsyncFileWii * const this /* r29 */) { // Local variables unsigned int size; // r30 char mode[4]; // r1+0x8 int i; // r5 long dvdFileNum; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805A29F4 -> 0x805A2A68 int AsyncFileWii::_Write(class AsyncFileWii * const this /* r29 */, void * buffer /* r30 */, int count /* r31 */) {} // Range: 0x805A2A68 -> 0x805A2B0C void AsyncFileWii::_SeekToTell(class AsyncFileWii * const this /* r31 */) {} // Range: 0x805A2B0C -> 0x805A2BD0 void AsyncFileWii::_ReadAsync(class AsyncFileWii * const this /* r29 */, void * buffer /* r30 */, int count /* r31 */) { // Local variables long readStart; // r0 } // Range: 0x805A2BD0 -> 0x805A2E7C unsigned char AsyncFileWii::_ReadDone(class AsyncFileWii * const this /* r31 */) { // Local variables int read; // r0 int status; // r0 // References // -> class PlatformMgr ThePlatformMgr; // -> int gFileRetryAttempts; } // Range: 0x805A2E7C -> 0x805A2F38 void AsyncFileWii::_Close(class AsyncFileWii * const this /* r31 */) {} struct { // total size: 0x50 } __vt__12AsyncFileWii; // size: 0x50, address: 0x80921C10 struct { // total size: 0x8 } __RTTI__12AsyncFileWii; // size: 0x8, address: 0x80921C88 /* Compile unit: C:\rockband2\system\src\os\AsyncFile_Wii.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A2F38 -> 0x805A2FB0 */ // Range: 0x805A2F38 -> 0x805A2FB0 void * AsyncFileWii::~AsyncFileWii(class AsyncFileWii * const this /* r30 */) { // References // -> struct [anonymous] __vt__12AsyncFileWii; } /* Compile unit: C:\rockband2\system\src\os\AsyncFileCNT.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A2FB0 -> 0x805A3124 */ class AsyncFileCNT : public AsyncFile { // total size: 0x23C0 public: void * mTempBufferCNT; // offset 0x3C, size 0x4 int mReadSizeCNT; // offset 0x40, size 0x4 int mReadResultCNT; // offset 0x44, size 0x4 private: unsigned char mReadInProgress; // offset 0x48, size 0x1 unsigned char mCNTReadThreadStack[8192]; // offset 0x60, size 0x2000 struct OSThread mCNTReadThread; // offset 0x2060, size 0x318 struct CNTFileInfo mCNTFileInfo; // offset 0x2378, size 0x44 }; // Range: 0x805A2FB0 -> 0x805A3014 void * AsyncFileCNT::AsyncFileCNT(class AsyncFileCNT * const this /* r30 */, const char * filename /* r31 */) { // References // -> struct [anonymous] __vt__12AsyncFileCNT; } // Range: 0x805A3014 -> 0x805A301C int AsyncFileCNT::_Write() {} // Range: 0x805A301C -> 0x805A3074 void AsyncFileCNT::_SeekToTell(class AsyncFileCNT * const this /* r31 */) { // Local variables int rv; // r0 } // Range: 0x805A3074 -> 0x805A30B4 void * ReadAsyncCNT(void * param /* r31 */) { // Local variables class AsyncFileCNT * file; // r0 } // Range: 0x805A30B4 -> 0x805A3124 void AsyncFileCNT::_Close(class AsyncFileCNT * const this /* r31 */) {} struct { // total size: 0x50 } __vt__12AsyncFileCNT; // size: 0x50, address: 0x80921D68 struct { // total size: 0x8 } __RTTI__12AsyncFileCNT; // size: 0x8, address: 0x80921DE0 /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Extensions\Any\AnyObjectHolder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A3124 -> 0x805A33D0 */ // Range: 0x805A3124 -> 0x805A320C unsigned int AsyncFileCNT::_Open(class AsyncFileCNT * const this /* r29 */) { // Local variables unsigned long size; // r30 int rv; // r0 // References // -> class ContentMgr & TheContentMgr; // -> class Debug TheDebug; } // Range: 0x805A320C -> 0x805A32D8 void AsyncFileCNT::_ReadAsync(class AsyncFileCNT * const this /* r29 */, void * buffer /* r30 */, int count /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805A32D8 -> 0x805A33D0 unsigned char AsyncFileCNT::_ReadDone(class AsyncFileCNT * const this /* r30 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A33D0 -> 0x805A3430 */ // Range: 0x805A33D0 -> 0x805A3430 char * MakeString(const char * fmt /* r0 */, class String & t1 /* r30 */, unsigned long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\os\AsyncFileCNT.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A3430 -> 0x805A34A8 */ // Range: 0x805A3430 -> 0x805A34A8 void * AsyncFileCNT::~AsyncFileCNT(class AsyncFileCNT * const this /* r30 */) { // References // -> struct [anonymous] __vt__12AsyncFileCNT; } /* Compile unit: C:\rockband2\system\src\os\AsyncTask.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A34A8 -> 0x805A354C */ // Range: 0x805A34A8 -> 0x805A34C4 void * AsyncTask::AsyncTask() {} // Range: 0x805A34C4 -> 0x805A354C unsigned char AsyncTask::FillData(class AsyncTask * const this /* r31 */) { // Local variables void * data; // r0 // References // -> class BlockMgr TheBlockMgr; } /* Compile unit: C:\rockband2\system\src\os\BlockMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A354C -> 0x805A43E0 */ class BlockMgr TheBlockMgr; // size: 0x60, address: 0x80983ED0 int kArkBlockSize; // size: 0x4, address: 0x80A57D40 static char * gBuffers; // size: 0x4, address: 0x80A54888 int gCurrBuffNum; // size: 0x4, address: 0x80A5488C // Range: 0x805A354C -> 0x805A35AC int GetFreeBuffer() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> int gCurrBuffNum; } int sCurrTimestamp; // size: 0x4, address: 0x80A54890 // Range: 0x805A35AC -> 0x805A3600 void * Block::Block(class Block * const this /* r31 */) { // References // -> static char * gBuffers; } // Range: 0x805A3600 -> 0x805A3608 int Block::GetCurrTimestamp() { // References // -> int sCurrTimestamp; } // Range: 0x805A3608 -> 0x805A361C void Block::UpdateTimestamp() { // References // -> int sCurrTimestamp; } // Range: 0x805A361C -> 0x805A3644 unsigned char Block::Matches() {} // Range: 0x805A3644 -> 0x805A3674 unsigned char Block::Matches() {} // Range: 0x805A3674 -> 0x805A36A8 void * BlockRequest::BlockRequest() {} class _List_node : public _List_node_base { // total size: 0x20 public: class AsyncTask _M_data; // offset 0x8, size 0x18 }; // Range: 0x805A36A8 -> 0x805A3788 void * BlockRequest::BlockRequest(class BlockRequest * const this /* r30 */, const class AsyncTask & task /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9AsyncTask>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std22_List_node<9AsyncTask>; // size: 0x8, address: 0x80921E88 // Range: 0x805A3788 -> 0x805A37B0 unsigned char BlockRequest::Matches() {} // Range: 0x805A37B0 -> 0x805A37EC unsigned char BlockRequest::Exceeds() {} // Range: 0x805A37EC -> 0x805A3854 void BlockMgr::GetAssociatedBlocks() { // Local variables int extraAmt; // r5 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x805A3854 -> 0x805A39F0 void BlockMgr::KillBlockRequests(class BlockMgr * const this /* r30 */, class ArkFile * iArk /* r31 */) { // Local variables struct _List_iterator blockItr; // r1+0x48 struct _List_iterator taskItr; // r1+0x44 } // Range: 0x805A39F0 -> 0x805A3A78 char * BlockMgr::GetBlockData(class BlockMgr * const this /* r29 */, int arkfileNum /* r30 */, int iBlockNum /* r31 */) { // Local variables class Block * block; // r31 } // Range: 0x805A3A78 -> 0x805A3F1C void BlockMgr::AddTask(class BlockMgr * const this /* r27 */, const class AsyncTask & iTask /* r28 */) { // Local variables struct _List_iterator blockItr; // r1+0x84 int blocknum; // r30 int arkfileNum; // r29 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node<12BlockRequest>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9AsyncTask>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std26_List_node<12BlockRequest>; // size: 0x8, address: 0x80921EC8 // Range: 0x805A3F1C -> 0x805A4240 void BlockMgr::ReadAheadBlocks(class BlockMgr * const this /* r26 */, int arkfileNum /* r27 */, int startBlock /* r28 */, int numBlocks /* r29 */) { // Local variables struct _List_iterator reqItr; // r1+0x58 struct _List_iterator raReqItr; // r1+0x54 int block; // r30 class Block * b; // r0 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std22_List_node<9AsyncTask>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node<12BlockRequest>; // -> unsigned char gStlAllocNameLookup; // -> class Archive * TheArchive; } // Range: 0x805A4240 -> 0x805A42CC class Block * BlockMgr::FindBlock(class BlockMgr * const this /* r27 */, int arkfileNum /* r28 */, int iBlockNum /* r29 */) { // Local variables int i; // r30 } // Range: 0x805A42CC -> 0x805A4348 class Block * BlockMgr::FindLRUBlock(class BlockMgr * const this /* r31 */) { // Local variables int minTime; // r3 class Block * lruBlock; // r5 int j; // r6 } struct { // total size: 0x8 } __RTTI__PP5Block; // size: 0x8, address: 0x80921F58 struct _OKToMemCpy { // total size: 0x1 }; // Range: 0x805A4348 -> 0x805A43E0 static void __sinit_\BlockMgr_cpp() { // References // -> class BlockMgr TheBlockMgr; } class _List_node : public _List_node_base { // total size: 0x18 public: class BlockRequest _M_data; // offset 0x8, size 0x10 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A43E0 -> 0x805A4A1C */ // Range: 0x805A43E0 -> 0x805A44F8 void BlockMgr::Init(class BlockMgr * const this /* r31 */) { // Local variables int i; // r30 // References // -> int gCurrBuffNum; // -> static char * gBuffers; } // Range: 0x805A44F8 -> 0x805A4A1C void BlockMgr::Poll(class BlockMgr * const this /* r27 */) { // Local variables int err; // r4 struct _List_iterator request; // r1+0xA0 struct _List_iterator taskItr; // r1+0x9C class Block * lruBlock; // r30 int arkfileNum; // r29 int blocknum; // r28 int ret; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct OSThread * gMainThreadID; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A4A1C -> 0x805A4A20 */ // Range: 0x805A4A1C -> 0x805A4A20 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A4A20 -> 0x805A4B04 */ // Range: 0x805A4A20 -> 0x805A4A80 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x805A4A80 -> 0x805A4B04 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A4B04 -> 0x805A4E5C */ // Range: 0x805A4B04 -> 0x805A4B70 void vector::_M_fill_insert() {} // Range: 0x805A4B70 -> 0x805A4CA8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class Block * * __pos /* r28 */, class Block * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class Block * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP5Block; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805A4CA8 -> 0x805A4E5C void vector::_M_fill_insert_aux(class vector * const this /* r28 */, class Block * * __pos /* r29 */, unsigned long __n /* r25 */, class Block * const & __x /* r30 */) { // Local variables class Block * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A4E5C -> 0x805A4E74 */ // Range: 0x805A4E5C -> 0x805A4E74 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\os\CDReader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A4F20 -> 0x805A5580 */ static int gPendingFile; // size: 0x4, address: 0x80A477B0 class vector : protected _Vector_base { // total size: 0xC }; static class vector gFileInfos; // size: 0xC, address: 0x80983F3C static class vector gFileLengths; // size: 0xC, address: 0x80983F54 int gRetryAttempts; // size: 0x4, address: 0x80A477B4 // Range: 0x805A4F20 -> 0x805A515C unsigned char CDReadDone() { // Local variables int status; // r0 // References // -> class PlatformMgr ThePlatformMgr; // -> int gRetryAttempts; // -> static int gPendingFile; // -> static class vector gFileInfos; } // Range: 0x805A515C -> 0x805A5164 int CDGetError() {} // Range: 0x805A5164 -> 0x805A5508 int CDRead(int arkfileNum /* r26 */, int sector /* r27 */, int numSectors /* r28 */, void * buf /* r29 */) { // Local variables int i; // r30 const char * filename; // r24 class String qualName; // r1+0x38 // References // -> static int gPendingFile; // -> class Debug TheDebug; // -> static class vector gFileLengths; // -> class Archive * TheArchive; // -> static class vector gFileInfos; } struct { // total size: 0x8 } __RTTI__P11DVDFileInfo; // size: 0x8, address: 0x80921F88 // Range: 0x805A5508 -> 0x805A5580 static void __sinit_\CDReader_cpp() { // References // -> static class vector gFileLengths; // -> static class vector gFileInfos; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct DVDFileInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct DVDFileInfo * _M_start; // offset 0x0, size 0x4 struct DVDFileInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A5580 -> 0x805A5EA0 */ // Range: 0x805A5580 -> 0x805A5604 void vector::_M_fill_insert() {} // Range: 0x805A5604 -> 0x805A59B8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct DVDFileInfo * __pos /* r26 */, const struct DVDFileInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct DVDFileInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P11DVDFileInfo; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805A59B8 -> 0x805A5EA0 void vector::_M_fill_insert_aux() { // Local variables struct DVDFileInfo __x_copy; // r1+0x1C unsigned long __elems_after; // r0 struct DVDFileInfo * __old_finish; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A5EA0 -> 0x805A5F70 */ // Range: 0x805A5EA0 -> 0x805A5F70 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\ContentMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A5F70 -> 0x805A688C */ // Range: 0x805A5F70 -> 0x805A5F84 void ContentMgr::RecurseCallback(const char * dir /* r0 */) { // References // -> class ContentMgr & TheContentMgr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std40_List_node; // size: 0x8, address: 0x80921FD8 // Range: 0x805A5F84 -> 0x805A5F94 unsigned char ContentMgr::RefreshDone() {} // Range: 0x805A5F94 -> 0x805A5FB8 unsigned char ContentMgr::RefreshInProgress() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std36_List_node; // size: 0x8, address: 0x80922098 // Range: 0x805A5FB8 -> 0x805A6090 void ContentMgr::UnregisterCallback(class ContentMgr * const this /* r30 */, class Callback * c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805A6090 -> 0x805A619C class DataNode ContentMgr::OnAddContent(class ContentMgr * const this /* r30 */, class DataArray * msg /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6String>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805A619C -> 0x805A629C class DataNode ContentMgr::OnRemoveContent(class ContentMgr * const this /* r27 */, class DataArray * msg /* r28 */) { // Local variables struct _List_iterator i; // r1+0x1C } static class Symbol _s; // size: 0x4, address: 0x80A5489C static class Symbol _s; // size: 0x4, address: 0x80A548A4 static class Symbol _s; // size: 0x4, address: 0x80A548AC static class Symbol _s; // size: 0x4, address: 0x80A548B4 // Range: 0x805A629C -> 0x805A688C class DataNode ContentMgr::Handle(class ContentMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x40 class DataNode r; // r1+0x38 class DataNode r; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xB8 } __vt__10ContentMgr; // size: 0xB8, address: 0x80922128 struct { // total size: 0x8 } __RTTI__10ContentMgr; // size: 0x8, address: 0x80922200 class _List_node : public _List_node_base { // total size: 0x28 public: struct CallbackFile _M_data; // offset 0x8, size 0x20 }; class _List_node : public _List_node_base { // total size: 0xC public: class Content * _M_data; // offset 0x8, size 0x4 }; class _List_node : public _List_node_base { // total size: 0xC public: class Callback * _M_data; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A688C -> 0x805A6A14 */ // Range: 0x805A688C -> 0x805A68E4 void ContentMgr::Init(class ContentMgr * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; } // Range: 0x805A68E4 -> 0x805A6A14 void ContentMgr::AddCallbackFile(class ContentMgr * const this /* r27 */) { // Local variables const char * path; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std40_List_node; // -> unsigned char gStlAllocNameLookup; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A6AC4 -> 0x805A7290 */ // Range: 0x805A6AC4 -> 0x805A71D4 void ContentMgr::PollRefresh(class ContentMgr * const this /* r28 */) { // Local variables struct _List_iterator it; // r1+0x6C enum State stateBeforePoll; // r0 enum State state; // r0 struct _List_iterator c; // r1+0x68 struct _List_iterator c; // r1+0x64 enum State s; // r0 struct _List_iterator i; // r1+0x60 class String dir; // r1+0xAC class String pat; // r1+0xA0 class String dir; // r1+0x94 class String pat; // r1+0x88 struct _List_iterator i; // r1+0x5C // References // -> class LoadMgr TheLoadMgr; // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x805A71D4 -> 0x805A7290 void ContentMgr::RegisterCallback(class ContentMgr * const this /* r30 */, class Callback * c /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std36_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\os\ContentMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A7290 -> 0x805A72B4 */ // Range: 0x805A7290 -> 0x805A7294 void Content::Poll() {} // Range: 0x805A7294 -> 0x805A7298 void ContentMgr::NotifyFailed() {} // Range: 0x805A7298 -> 0x805A729C void Content::Unmount() {} // Range: 0x805A729C -> 0x805A72A0 void ContentMgr::NotifyMounted() {} // Range: 0x805A72A0 -> 0x805A72A4 void ContentMgr::NotifyUnmounted() {} // Range: 0x805A72A4 -> 0x805A72AC char * ContentMgr::ContentPath() {} // Range: 0x805A72AC -> 0x805A72B0 void ContentMgr::Terminate() {} // Range: 0x805A72B0 -> 0x805A72B4 void ContentMgr::PreInit() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A72B4 -> 0x805A7410 */ // Range: 0x805A72B4 -> 0x805A7350 void _List_base::clear(class _List_base * const this /* r28 */) { // Local variables class _List_node * __cur; // r30 class _List_node * __tmp; // r29 } // Range: 0x805A7350 -> 0x805A73B0 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x805A73B0 -> 0x805A7410 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\os\ContentMgr_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805A7410 -> 0x805AC184 */ long (* CNTSDInitRSO)(void *, long); // size: 0x4, address: 0x80A548B8 int (* CNTSDIsInsertedRSO)(); // size: 0x4, address: 0x80A548BC long (* CNTSDListFirstRSO)(unsigned char (*)[1092], unsigned long long, unsigned long *); // size: 0x4, address: 0x80A548C0 long (* CNTSDListNextRSO)(unsigned char (*)[1092], unsigned long *); // size: 0x4, address: 0x80A548C4 long (* CNTSDRestoreGetBlocksRSO)(unsigned long long, unsigned long, unsigned char *, unsigned long, unsigned long *, unsigned long *); // size: 0x4, address: 0x80A548C8 enum CNTSDThreadStatus { CNTSD_THREAD_NOT_INITIALIZED = 0, CNTSD_THREAD_STACK_INITIALIZED = 1, CNTSD_THREAD_READY_TO_START = 2, CNTSD_THREAD_CREATED_RESUMED = 3, CNTSD_THREAD_DONE = 4, }; struct CNTSDThreadInfo { // total size: 0x350 struct OSThread thread; // offset 0x0, size 0x318 enum CNTSDThreadStatus status; // offset 0x318, size 0x4 void * stack; // offset 0x31C, size 0x4 unsigned long stackSize; // offset 0x320, size 0x4 long priority; // offset 0x324, size 0x4 unsigned short attribute; // offset 0x328, size 0x2 void * (* func)(void *); // offset 0x32C, size 0x4 unsigned long long args8B[1]; // offset 0x330, size 0x8 void * args4B[5]; // offset 0x338, size 0x14 }; long (* CNTSDInitThreadRSO)(struct CNTSDThreadInfo *, void *, unsigned long); // size: 0x4, address: 0x80A548CC long (* CNTSDSetThreadRestoreRSO)(struct CNTSDThreadInfo *, unsigned char *, unsigned long, struct CNTSDProgressInfo *); // size: 0x4, address: 0x80A548D0 long (* CNTSDStartThreadRSO)(struct CNTSDThreadInfo *); // size: 0x4, address: 0x80A548D4 long (* CNTSDGetFreeKBytesRSO)(); // size: 0x4, address: 0x80A548D8 long (* CNTSDBackupRSO)(unsigned long long, unsigned long, unsigned char *, unsigned long, unsigned long *, struct CNTSDProgressInfo *); // size: 0x4, address: 0x80A548DC long (* CNTSDSetThreadBackupRSO)(struct CNTSDThreadInfo *, unsigned long long, unsigned long, unsigned char *, unsigned long, unsigned long *, struct CNTSDProgressInfo *); // size: 0x4, address: 0x80A548E0 long (* CNTSDFinishThreadRSO)(struct CNTSDThreadInfo *, void *); // size: 0x4, address: 0x80A548E4 long (* CNTSDDeleteBackupRSO)(unsigned long long, unsigned short); // size: 0x4, address: 0x80A548E8 void (* (* CNTSDSetEventCallbackRSO)(void (*)(int)))(int); // size: 0x4, address: 0x80A548EC struct RSOExportFuncTable { // total size: 0x8 const char * symbol_name; // offset 0x0, size 0x4 unsigned long * symbol_ptr; // offset 0x4, size 0x4 }; static struct RSOExportFuncTable exp_tbl_cntsdModule[14]; // size: 0x70, address: 0x80922430 struct RSOObjectLink { // total size: 0x8 struct RSOObjectInfo * next; // offset 0x0, size 0x4 struct RSOObjectInfo * prev; // offset 0x4, size 0x4 }; struct RSOObjectInfo { // total size: 0x1C struct RSOObjectLink link; // offset 0x0, size 0x8 unsigned long numSections; // offset 0x8, size 0x4 unsigned long sectionInfoOffset; // offset 0xC, size 0x4 unsigned long nameOffset; // offset 0x10, size 0x4 unsigned long nameSize; // offset 0x14, size 0x4 unsigned long version; // offset 0x18, size 0x4 }; struct RSOSymbolHeader { // total size: 0xC unsigned long tableOffset; // offset 0x0, size 0x4 unsigned long tableSize; // offset 0x4, size 0x4 unsigned long stringOffset; // offset 0x8, size 0x4 }; struct RSOObjectHeader { // total size: 0x58 struct RSOObjectInfo info; // offset 0x0, size 0x1C unsigned long bssSize; // offset 0x1C, size 0x4 unsigned char prologSection; // offset 0x20, size 0x1 unsigned char epilogSection; // offset 0x21, size 0x1 unsigned char unresolvedSection; // offset 0x22, size 0x1 unsigned char bssSection; // offset 0x23, size 0x1 unsigned long prolog; // offset 0x24, size 0x4 unsigned long epilog; // offset 0x28, size 0x4 unsigned long unresolved; // offset 0x2C, size 0x4 unsigned long internalRelOffset; // offset 0x30, size 0x4 unsigned long internalRelSize; // offset 0x34, size 0x4 unsigned long externalRelOffset; // offset 0x38, size 0x4 unsigned long externalRelSize; // offset 0x3C, size 0x4 struct RSOSymbolHeader expHeader; // offset 0x40, size 0xC struct RSOSymbolHeader impHeader; // offset 0x4C, size 0xC }; struct RSOObjectHeader * cntsdModule; // size: 0x4, address: 0x80A548F0 // Range: 0x805A7410 -> 0x805A74B0 unsigned char CntSdRsoInit() { // References // -> struct RSOObjectHeader * cntsdModule; } // Range: 0x805A74B0 -> 0x805A74F8 void CntSdRsoTerminate() { // References // -> struct RSOObjectHeader * cntsdModule; } static struct MEMAllocator gCNTAllocator; // size: 0x10, address: 0x80983F60 static unsigned char gSDFailed; // size: 0x1, address: 0x80A548F4 // Range: 0x805A74F8 -> 0x805A7504 static void SDCallback() { // References // -> static unsigned char gSDFailed; } struct CNTHandleDVD { // total size: 0x24 unsigned long index; // offset 0x0, size 0x4 long rootDir; // offset 0x4, size 0x4 long currDir; // offset 0x8, size 0x4 unsigned char reserved[24]; // offset 0xC, size 0x18 }; union /* @class$10672ContentMgr_Wii_cpp */ { struct CNTHandleNAND nand; // offset 0x0, size 0x24 struct CNTHandleDVD dvd; // offset 0x0, size 0x24 }; struct CNTHandle { // total size: 0x28 union /* @class$10672ContentMgr_Wii_cpp */ { struct CNTHandleNAND nand; // offset 0x0, size 0x24 struct CNTHandleDVD dvd; // offset 0x0, size 0x24 } as; // offset 0x0, size 0x24 unsigned char type; // offset 0x24, size 0x1 }; class WiiContent : public Content { // total size: 0x68 unsigned long long mTitleIdx; // offset 0x8, size 0x8 int mIdx; // offset 0x10, size 0x4 enum State mState; // offset 0x14, size 0x4 struct CNTHandle mHandle; // offset 0x18, size 0x28 class Symbol mName; // offset 0x40, size 0x4 class DataArray * mSongData; // offset 0x44, size 0x4 enum WiiContentType mType; // offset 0x48, size 0x4 int mOpenFiles; // offset 0x4C, size 0x4 enum ContentLocT mLocation; // offset 0x50, size 0x4 class String mDisplayName; // offset 0x54, size 0xC unsigned char mBackingUp; // offset 0x60, size 0x1 unsigned char mBannerTransferred; // offset 0x61, size 0x1 }; enum WiiContentType { kContentPreview = 0, kContentSong = 1, }; // Range: 0x805A7504 -> 0x805A75A8 void * WiiContent::WiiContent(class WiiContent * const this /* r30 */, class Symbol & name /* r12 */, enum WiiContentType type /* r11 */, enum ContentLocT location /* r6 */) { // References // -> struct [anonymous] __vt__10WiiContent; } // Range: 0x805A75A8 -> 0x805A764C void * WiiContent::~WiiContent(class WiiContent * const this /* r30 */) { // References // -> struct [anonymous] __vt__10WiiContent; } // Range: 0x805A764C -> 0x805A7938 void WiiContent::Poll(class WiiContent * const this /* r31 */) { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x805A7938 -> 0x805A7940 unsigned char WiiContent::OnMemcard() {} // Range: 0x805A7940 -> 0x805A7A68 void WiiContent::Mount(class WiiContent * const this /* r31 */) { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x805A7A68 -> 0x805A7BD8 void WiiContent::Unmount(class WiiContent * const this /* r29 */) { // Local variables long rv; // r0 unsigned short id; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ContentMgr & TheContentMgr; } // Range: 0x805A7BD8 -> 0x805A7C80 long WiiContent::OpenContentFile(class WiiContent * const this /* r29 */, const char * filename /* r30 */, struct CNTFileInfo * cf /* r31 */) { // Local variables long rv; // r3 // References // -> class Debug TheDebug; } // Range: 0x805A7C80 -> 0x805A7D34 void WiiContent::CompleteMount(class WiiContent * const this /* r30 */) { // Local variables long rv; // r5 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> static struct MEMAllocator gCNTAllocator; } // Range: 0x805A7D34 -> 0x805A7E8C void WiiContent::BackupToSDCard(class WiiContent * const this /* r31 */) { // References // -> class ContentMgr & TheContentMgr; } class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; enum CNTSDResult { kDLCSuccess = 0, kDLCFailed = 1, kFailNoSDCard = 2, kFailSDIncompatible = 3, kBackupNoSDSpace = 4, kBackupSDWriteProtected = 5, kRestoreCorrupt = 6, kRestoreNoNANDSpace = 7, kRestoreNoNANDInodes = 8, kRestoreOutOfDate = 9, kRestoreNoLicense = 10, }; class WiiContentMgr : public ContentMgr { // total size: 0x428 class list mTitleIDs; // offset 0x6C, size 0x8 class map mECInfoList; // offset 0x74, size 0x18 struct CNTSDProgressInfo mProgress; // offset 0x8C, size 0x10 struct CNTSDThreadInfo mThreadInfo; // offset 0xA0, size 0x350 void * mCNTRestoreThreadWorkBuffer; // offset 0x3F0, size 0x4 void * mCNTBackupThreadWorkBuffer; // offset 0x3F4, size 0x4 void * mCNTThreadStackBuffer; // offset 0x3F8, size 0x4 class DataArray * mContentList; // offset 0x3FC, size 0x4 unsigned long mCurrentEnumIndex; // offset 0x400, size 0x4 unsigned char mOpInProgress; // offset 0x404, size 0x1 enum Mode mMode; // offset 0x408, size 0x4 enum CNTSDResult mLastResult; // offset 0x40C, size 0x4 int mLastResultValue; // offset 0x410, size 0x4 unsigned char mNeedShopAccount; // offset 0x414, size 0x1 class NetLoader * mNetLoader; // offset 0x418, size 0x4 unsigned char mContentListDirty; // offset 0x41C, size 0x1 unsigned char mInitComplete; // offset 0x41D, size 0x1 unsigned int mRefreshDelay; // offset 0x420, size 0x4 }; static class WiiContentMgr gContentMgr; // size: 0x428, address: 0x80983F80 class ContentMgr & TheContentMgr; // size: 0x4, address: 0x80A548F8 // Range: 0x805A7E8C -> 0x805A7EA0 static void * WiiCntAlloc() { // Local variables void * retPtr; // r0 } // Range: 0x805A7EA0 -> 0x805A7EA8 static void WiiCntFree() {} static struct MEMAllocatorFunc cntAllocFunc; // size: 0x8, address: 0x8084E678 // Range: 0x805A7EA8 -> 0x805A7EB8 void InitAllocator() { // References // -> static struct MEMAllocatorFunc cntAllocFunc; } // Range: 0x805A7EB8 -> 0x805A7EF8 void * ecAlloc() { // Local variables void * p; // r0 } // Range: 0x805A7EF8 -> 0x805A7F24 void * ecFree() {} static class Symbol store; // size: 0x4, address: 0x80A54900 static class Symbol titles; // size: 0x4, address: 0x80A54908 struct ECNameValue { // total size: 0x8 const char * name; // offset 0x0, size 0x4 void * value; // offset 0x4, size 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x805A7F24 -> 0x805A83A4 void WiiContentMgr::Init(class WiiContentMgr * const this /* r29 */) { // Local variables struct ECNameValue args[2]; // r1+0x90 int ret; // r0 class DataArray * store_titles; // r27 int i; // r26 struct _List_iterator it; // r1+0x5C // References // -> void (* (* CNTSDSetEventCallbackRSO)(void (*)(int)))(int); // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std14_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class Symbol titles; // -> static class Symbol store; // -> static struct MEMAllocator gCNTAllocator; // -> class PlatformMgr ThePlatformMgr; // -> const char * gNullStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std14_List_node; // size: 0x8, address: 0x809226B8 // Range: 0x805A83A4 -> 0x805A8800 void WiiContentMgr::Terminate(class WiiContentMgr * const this /* r30 */) { // Local variables struct _List_iterator it; // r1+0x58 // References // -> void (* (* CNTSDSetEventCallbackRSO)(void (*)(int)))(int); } // Range: 0x805A8800 -> 0x805A886C void WiiContentMgr::RestartEC(class WiiContentMgr * const this /* r31 */) { // Local variables struct ECNameValue args[2]; // r1+0x8 int ret; // r0 } enum Mode { kSDMode = 0, kNANDMode = 1, }; // Range: 0x805A886C -> 0x805A8950 void WiiContentMgr::SetMode(class WiiContentMgr * const this /* r29 */, enum Mode mode /* r30 */) { // Local variables struct _List_iterator it; // r1+0x10 enum State state; // r0 } // Range: 0x805A8950 -> 0x805A8AE4 int WiiContentMgr::SDModeNANDCheck(class WiiContentMgr * const this /* r30 */) { // Local variables int num; // r31 struct _List_iterator it; // r1+0x28 struct ContentInfo * contentInfo; // r0 int i; // r5 } // Range: 0x805A8AE4 -> 0x805A8B40 int WiiContentMgr::SDModeSizeCheck() { // Local variables unsigned long answer; // r1+0x8 long result; // r0 } static unsigned short sContentIds[510]; // size: 0x3FC, address: 0x809843A8 // Range: 0x805A8B40 -> 0x805A8E6C void WiiContentMgr::ClearNAND(class WiiContentMgr * const this /* r27 */) { // Local variables struct _List_iterator it; // r1+0x4C enum State state; // r0 struct _List_iterator it; // r1+0x48 unsigned int num; // r30 struct ECContentInfo * info; // r29 int i; // r28 int rv; // r0 // References // -> class Debug TheDebug; // -> static unsigned short sContentIds[510]; } // Range: 0x805A8E6C -> 0x805A8EE8 unsigned long long WiiContentMgr::GetTitleIdFromCode(const char * code /* r31 */) { // Local variables unsigned long long titleID; // r1+0x8 } // Range: 0x805A8EE8 -> 0x805A9600 void WiiContentMgr::UpdateNANDContentInfo(class WiiContentMgr * const this /* r26 */) { // Local variables int rv; // r31 struct _List_iterator it; // r1+0xB8 unsigned long long titleid; // r29 int i; // r27 // References // -> class Debug TheDebug; } // Range: 0x805A9600 -> 0x805A982C unsigned char WiiContentMgr::CheckContentIsPurchased(class WiiContentMgr * const this /* r26 */, unsigned long long titleid /* r28 */, int idx /* r29 */) { // Local variables struct ECContentInfo * info; // r31 int i; // r30 } // Range: 0x805A982C -> 0x805A98F0 unsigned char WiiContentMgr::CheckContent(class WiiContentMgr * const this /* r28 */, int idx /* r29 */) { // Local variables unsigned long long titleid; // r31 } // Range: 0x805A98F0 -> 0x805AA018 void WiiContentMgr::CheckContents(class WiiContentMgr * const this /* r26 */) { // Local variables struct _List_iterator it; // r1+0x98 unsigned long long titleid; // r29 int i; // r27 unsigned short num; // r1+0x8 int rv; // r0 struct _List_iterator it; // r1+0x94 unsigned long long titleid; // r28 int i; // r30 unsigned char content1Exists; // r0 unsigned char content2Exists; // r0 int rv; // r0 // References // -> long (* CNTSDDeleteBackupRSO)(unsigned long long, unsigned short); // -> class Debug TheDebug; } // Range: 0x805AA018 -> 0x805AA244 unsigned char WiiContentMgr::CheckContentOnNAND(class WiiContentMgr * const this /* r26 */, unsigned long long titleid /* r28 */, int idx /* r29 */) { // Local variables struct ECContentInfo * info; // r31 int i; // r30 } // Range: 0x805AA244 -> 0x805AA32C unsigned char WiiContentMgr::CheckContentOnSD(unsigned long long titleid /* r30 */, int idx /* r31 */) { // Local variables unsigned char listInfo[1092]; // r1+0xC long rv; // r3 unsigned long tempIdx; // r1+0x8 // References // -> long (* CNTSDListNextRSO)(unsigned char (*)[1092], unsigned long *); // -> long (* CNTSDListFirstRSO)(unsigned char (*)[1092], unsigned long long, unsigned long *); // -> int (* CNTSDIsInsertedRSO)(); // -> static unsigned char gSDFailed; } // Range: 0x805AA32C -> 0x805AA394 unsigned char WiiContentMgr::IsSDCorrupted() { // Local variables unsigned char * alignedWork; // r0 unsigned long inodes; // r1+0x10 unsigned long blocks; // r1+0xC int rv; // r0 // References // -> long (* CNTSDRestoreGetBlocksRSO)(unsigned long long, unsigned long, unsigned char *, unsigned long, unsigned long *, unsigned long *); } // Range: 0x805AA394 -> 0x805AA468 unsigned char WiiContentMgr::DeleteContent(class WiiContentMgr * const this /* r25 */, unsigned long long titleidx /* r27 */, int idx /* r28 */, unsigned char sd /* r29 */, unsigned char title /* r30 */) { // Local variables unsigned short temp; // r1+0x8 unsigned char found; // r31 int rv; // r0 // References // -> long (* CNTSDDeleteBackupRSO)(unsigned long long, unsigned short); } // Range: 0x805AA468 -> 0x805AA694 unsigned long WiiContentMgr::GetContentSize(class WiiContentMgr * const this /* r26 */, unsigned long long titleidx /* r28 */, int idx /* r29 */) { // Local variables struct ECContentInfo * info; // r31 int i; // r30 } // Range: 0x805AA694 -> 0x805AA794 long WiiContentMgr::GetContentFileHandle(class WiiContentMgr * const this /* r28 */, const char * filename /* r29 */, struct CNTFileInfo * cf /* r30 */) { // Local variables struct _List_iterator it; // r1+0x10 class WiiContent * content; // r31 long rv; // r0 // References // -> class Debug TheDebug; } // Range: 0x805AA794 -> 0x805AA79C enum State WiiContent::GetState() {} // Range: 0x805AA79C -> 0x805AAA64 unsigned char WiiContentMgr::StartRestoreContentFromSD(class WiiContentMgr * const this /* r31 */, unsigned long long titleidx /* r26 */, int idx /* r30 */) { // Local variables unsigned long inodes; // r1+0xC unsigned long blocks; // r1+0x8 long rv; // r4 unsigned char * alignedWork; // r27 // References // -> long (* CNTSDStartThreadRSO)(struct CNTSDThreadInfo *); // -> long (* CNTSDSetThreadRestoreRSO)(struct CNTSDThreadInfo *, unsigned char *, unsigned long, struct CNTSDProgressInfo *); // -> long (* CNTSDInitThreadRSO)(struct CNTSDThreadInfo *, void *, unsigned long); // -> long (* CNTSDRestoreGetBlocksRSO)(unsigned long long, unsigned long, unsigned char *, unsigned long, unsigned long *, unsigned long *); // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805AAA64 -> 0x805AAA6C struct CNTSDProgressInfo * WiiContentMgr::GetProgress() {} // Range: 0x805AAA6C -> 0x805AAAF0 int WiiContentMgr::GetPercentProgress() { // Local variables float p; // f1 int percent; // r3 } // Range: 0x805AAAF0 -> 0x805AACA4 unsigned char WiiContentMgr::FinishContentThread(class WiiContentMgr * const this /* r29 */) { // Local variables long rv; // r4 long rvThread; // r1+0x8 // References // -> long (* CNTSDFinishThreadRSO)(struct CNTSDThreadInfo *, void *); // -> class Debug TheDebug; } // Range: 0x805AACA4 -> 0x805AAF9C unsigned char WiiContentMgr::StartBackupContentFromNAND(class WiiContentMgr * const this /* r30 */, unsigned long long titleidx /* r25 */, int idx /* r26 */) { // Local variables int rv; // r4 unsigned long sizeAvailable; // r27 unsigned long sizeRequired; // r1+0x10 // References // -> long (* CNTSDStartThreadRSO)(struct CNTSDThreadInfo *); // -> long (* CNTSDSetThreadBackupRSO)(struct CNTSDThreadInfo *, unsigned long long, unsigned long, unsigned char *, unsigned long, unsigned long *, struct CNTSDProgressInfo *); // -> long (* CNTSDInitThreadRSO)(struct CNTSDThreadInfo *, void *, unsigned long); // -> long (* CNTSDBackupRSO)(unsigned long long, unsigned long, unsigned char *, unsigned long, unsigned long *, struct CNTSDProgressInfo *); // -> long (* CNTSDGetFreeKBytesRSO)(); // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805AAF9C -> 0x805AB1DC void WiiContentMgr::StartRefresh(class WiiContentMgr * const this /* r31 */) { // Local variables class DataArray * roots; // r29 int i; // r28 struct _List_iterator c; // r1+0x2C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__11RootContent; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std21_List_node; // size: 0x8, address: 0x80922A70 // Range: 0x805AB1DC -> 0x805AB1E4 char * WiiContent::DisplayName() {} // Range: 0x805AB1E4 -> 0x805AB1EC enum ContentLocT WiiContent::Location() {} // Range: 0x805AB1EC -> 0x805AB294 void WiiContentMgr::BackupContent(class WiiContentMgr * const this /* r29 */, class Symbol & contentName /* r30 */) { // Local variables struct _List_iterator it; // r1+0x14 } // Range: 0x805AB294 -> 0x805AB538 unsigned char WiiContentMgr::MissingContentList(class WiiContentMgr * const this /* r28 */) { // Local variables struct _List_iterator it; // r1+0x40 struct ECContentInfo * info; // r30 int i; // r29 } // Range: 0x805AB538 -> 0x805AB540 unsigned char WiiContentMgr::NeedContentListSave() {} // Range: 0x805AB540 -> 0x805AB548 class Symbol WiiContent::FileName() {} // Range: 0x805AB548 -> 0x805AB550 char * WiiContent::Root() {} static class Symbol _s; // size: 0x4, address: 0x80A54910 static class Symbol _s; // size: 0x4, address: 0x80A54918 static class Symbol _s; // size: 0x4, address: 0x80A54920 static class Symbol _s; // size: 0x4, address: 0x80A54928 static class Symbol _s; // size: 0x4, address: 0x80A54930 static class Symbol _s; // size: 0x4, address: 0x80A54938 static class Symbol _s; // size: 0x4, address: 0x80A54940 static class Symbol _s; // size: 0x4, address: 0x80A54948 static class Symbol _s; // size: 0x4, address: 0x80A54950 static class Symbol _s; // size: 0x4, address: 0x80A54958 static class Symbol _s; // size: 0x4, address: 0x80A54960 static class Symbol _s; // size: 0x4, address: 0x80A54968 static class Symbol _s; // size: 0x4, address: 0x80A54970 static class Symbol _s; // size: 0x4, address: 0x80A54978 static class Symbol _s; // size: 0x4, address: 0x80A54980 static class Symbol _s; // size: 0x4, address: 0x80A54988 static class Symbol _s; // size: 0x4, address: 0x80A54990 static class Symbol _s; // size: 0x4, address: 0x80A54998 static class Symbol _s; // size: 0x4, address: 0x80A549A0 static class Symbol _s; // size: 0x4, address: 0x80A549A8 // Range: 0x805AB550 -> 0x805ABF0C class DataNode WiiContentMgr::Handle(class WiiContentMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static unsigned char gSDFailed; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x805ABF0C -> 0x805ABF24 class DataNode WiiContentMgr::OnMsg() {} // Range: 0x805ABF24 -> 0x805ABF74 class DataNode WiiContentMgr::OnMsg(class WiiContentMgr * const this /* r31 */) {} // Range: 0x805ABF74 -> 0x805ABF7C unsigned char WiiContentMgr::IsBusy() {} // Range: 0x805ABF7C -> 0x805ABF84 enum Mode WiiContentMgr::GetMode() {} // Range: 0x805ABF84 -> 0x805ABFDC void WiiContentMgr::LockSystem() { // References // -> class SynthWii * TheWiiSynth; } struct { // total size: 0xB8 } __vt__13WiiContentMgr; // size: 0xB8, address: 0x80922E80 struct { // total size: 0x8 } __RTTI__13WiiContentMgr; // size: 0x8, address: 0x80922F68 class RootContent : public Content { // total size: 0x10 class String mRoot; // offset 0x4, size 0xC }; // Range: 0x805ABFDC -> 0x805ABFE4 char * RootContent::DisplayName() {} // Range: 0x805ABFE4 -> 0x805AC014 class Symbol RootContent::FileName(class RootContent * const this /* r4 */) {} // Range: 0x805AC014 -> 0x805AC01C enum ContentLocT RootContent::Location() {} // Range: 0x805AC01C -> 0x805AC024 unsigned char RootContent::OnMemcard() {} // Range: 0x805AC024 -> 0x805AC02C char * RootContent::Root() {} // Range: 0x805AC02C -> 0x805AC034 enum State RootContent::GetState() {} struct { // total size: 0x34 } __vt__11RootContent; // size: 0x34, address: 0x80922F70 struct { // total size: 0x8 } __RTTI__11RootContent; // size: 0x8, address: 0x80922FC0 struct { // total size: 0x34 } __vt__10WiiContent; // size: 0x34, address: 0x80922FC8 struct { // total size: 0x8 } __RTTI__10WiiContent; // size: 0x8, address: 0x80923018 struct { // total size: 0x34 } __vt__7Content; // size: 0x34, address: 0x809230D8 struct { // total size: 0x8 } __RTTI__7Content; // size: 0x8, address: 0x80923118 class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; struct ContentInfo { // total size: 0x8 struct ECContentInfo * info; // offset 0x0, size 0x4 unsigned long count; // offset 0x4, size 0x4 }; struct pair { // total size: 0x10 unsigned long long first; // offset 0x0, size 0x8 struct ContentInfo second; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class list : public _List_base { // total size: 0x8 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x10 public: unsigned long long _M_data; // offset 0x8, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std72_Rb_tree_node>; // size: 0x8, address: 0x809231B8 // Range: 0x805AC034 -> 0x805AC184 static void __sinit_\ContentMgr_Wii_cpp() { // References // -> class ContentMgr & TheContentMgr; // -> struct [anonymous] __vt__13WiiContentMgr; // -> struct [anonymous] __vt__10ContentMgr; // -> static class WiiContentMgr gContentMgr; } /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AC184 -> 0x805AC1F4 */ // Range: 0x805AC184 -> 0x805AC1C8 class Symbol ContentInstalledMsg::Type() { // References // -> class Symbol t; } // Range: 0x805AC1C8 -> 0x805AC1F4 void * ContentInstalledMsg::ContentInstalledMsg() { // References // -> struct [anonymous] __vt__19ContentInstalledMsg; // -> struct [anonymous] __vt__7Message; } /* Compile unit: C:\rockband2\system\src\cntsdrso\cntsdrso.inc Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AC1F4 -> 0x805AC2B4 */ // Range: 0x805AC1F4 -> 0x805AC204 static void unresolved_cntsdModule() {} // Range: 0x805AC204 -> 0x805AC27C static void ResolvedModule_cntsdModule(const struct RSOObjectHeader * module /* r28 */) { // Local variables int i; // r29 // References // -> static struct RSOExportFuncTable exp_tbl_cntsdModule[14]; } // Range: 0x805AC27C -> 0x805AC2B4 static void UnresolvedModule_cntsdModule() { // Local variables int i; // r5 // References // -> static struct RSOExportFuncTable exp_tbl_cntsdModule[14]; } /* Compile unit: C:\rockband2\system\src\os\ContentMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AC2B4 -> 0x805AC300 */ // Range: 0x805AC2B4 -> 0x805AC2F4 void * Content::~Content(class Content * const this /* r31 */) {} // Range: 0x805AC2F4 -> 0x805AC2FC unsigned int Content::GetLRM() {} // Range: 0x805AC2FC -> 0x805AC300 void Content::Mount() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AC300 -> 0x805AC694 */ // Range: 0x805AC300 -> 0x805AC390 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, class Symbol & t2 /* r29 */, enum State t3 /* r30 */, enum ContentLocT t4 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x805AC390 -> 0x805AC3F0 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805AC3F0 -> 0x805AC450 char * MakeString(const char * fmt /* r0 */, unsigned short t1 /* r30 */, unsigned long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805AC450 -> 0x805AC4D0 char * MakeString(unsigned long long t1 /* r29 */, int t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805AC4D0 -> 0x805AC530 char * MakeString(const char * fmt /* r0 */, unsigned long t1 /* r30 */, unsigned long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AC694 -> 0x805ADBA0 */ // Range: 0x805AC694 -> 0x805AC704 void WiiContentMgr::Save(class WiiContentMgr * const this /* r30 */, class BinStream & b /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805AC704 -> 0x805AC774 void WiiContentMgr::Load(class WiiContentMgr * const this /* r30 */, class BinStream & b /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805AC774 -> 0x805ACECC void WiiContentMgr::PollRefresh(class WiiContentMgr * const this /* r20 */) { // Local variables int count; // r28 int i; // r27 class Symbol name; // r1+0x74 char strTitleIdx[5]; // r1+0x88 unsigned long long titleidx; // r26 char strIdx[4]; // r1+0x70 int idx; // r24 class String displayname; // r1+0xA8 unsigned char metaFound; // r23 enum ContentLocT location; // r22 class WiiContent * metaContent; // r21 unsigned char songFound; // r27 class Symbol songContent; // r1+0x6C struct _List_iterator c; // r1+0x68 struct _List_iterator c; // r1+0x64 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std21_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805ACECC -> 0x805AD08C unsigned char WiiContentMgr::MountContent(class WiiContentMgr * const this /* r30 */, class Symbol & contentName /* r31 */) { // Local variables struct _List_iterator it; // r1+0x28 enum State state; // r0 struct _List_iterator it; // r1+0x24 class WiiContent * content; // r28 // References // -> class Debug TheDebug; } // Range: 0x805AD08C -> 0x805AD180 unsigned char WiiContentMgr::IsMounted(class WiiContentMgr * const this /* r28 */, class Symbol & contentName /* r29 */) { // Local variables unsigned char mounted; // r30 struct _List_iterator it; // r1+0x14 enum State s; // r0 // References // -> class Debug TheDebug; } // Range: 0x805AD180 -> 0x805AD290 char * WiiContentMgr::BackupNextContent(class WiiContentMgr * const this /* r29 */) { // Local variables struct _List_iterator it; // r1+0x10 class WiiContent * wc; // r30 // References // -> class Debug TheDebug; } // Range: 0x805AD290 -> 0x805AD368 unsigned char WiiContentMgr::IsContentOnSD(class WiiContentMgr * const this /* r30 */) { // Local variables struct _List_iterator it; // r1+0x14 unsigned long content; // r1+0x10 unsigned char info[1092]; // r1+0x18 int rv; // r31 // References // -> long (* CNTSDListFirstRSO)(unsigned char (*)[1092], unsigned long long, unsigned long *); // -> static unsigned char gSDFailed; } // Range: 0x805AD368 -> 0x805AD438 unsigned char WiiContentMgr::StartContentListDownload(class WiiContentMgr * const this /* r29 */) { // References // -> class Debug TheDebug; } // Range: 0x805AD438 -> 0x805AD6F0 int WiiContentMgr::PollContentListDownload(class WiiContentMgr * const this /* r30 */) { // Local variables int size; // r0 char * pBufChar; // r0 char * pBufSize; // r0 int decompSize; // r1+0x8 char * pCharInt; // r0 void * pDecompBuf; // r28 class BufStream buf; // r1+0xC // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x805AD6F0 -> 0x805AD85C void WiiContentMgr::NotifyMounted(class WiiContentMgr * const this /* r28 */) { // Local variables class WiiContent * pc; // r29 struct _List_iterator c; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__7Content; // -> struct [anonymous] __RTTI__10WiiContent; } // Range: 0x805AD85C -> 0x805AD96C void WiiContentMgr::NotifyUnmounted(class WiiContentMgr * const this /* r30 */) { // Local variables class WiiContent * pc; // r31 struct _List_iterator c; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__7Content; // -> struct [anonymous] __RTTI__10WiiContent; } // Range: 0x805AD96C -> 0x805ADA7C void WiiContentMgr::NotifyFailed(class WiiContentMgr * const this /* r30 */) { // Local variables class WiiContent * pc; // r31 struct _List_iterator c; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__7Content; // -> struct [anonymous] __RTTI__10WiiContent; } // Range: 0x805ADA7C -> 0x805ADBA0 void WiiContentMgr::NotifySongLoaded(class WiiContentMgr * const this /* r28 */) { // Local variables class WiiContent * pc; // r29 struct _List_iterator c; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__7Content; // -> struct [anonymous] __RTTI__10WiiContent; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805ADBA0 -> 0x805AE2C4 */ // Range: 0x805ADBA0 -> 0x805ADF14 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r28 */, struct _Rb_tree_iterator & __position /* r29 */, const struct pair & __val /* r30 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r7 } // Range: 0x805ADF14 -> 0x805AE10C struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std72_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805AE10C -> 0x805AE17C void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x805AE17C -> 0x805AE2C4 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r28 */, const struct pair & __val /* r29 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 struct _Rb_tree_node_base * __x; // r30 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AE2C4 -> 0x805AE324 */ // Range: 0x805AE2C4 -> 0x805AE324 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\os\CritSec.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AE324 -> 0x805AE438 */ // Range: 0x805AE324 -> 0x805AE36C void CriticalSection::Abandon(class CriticalSection * const this /* r31 */) {} // Range: 0x805AE36C -> 0x805AE3A8 void * CriticalSection::CriticalSection(class CriticalSection * const this /* r31 */) {} // Range: 0x805AE3A8 -> 0x805AE3E8 void * CriticalSection::~CriticalSection(class CriticalSection * const this /* r31 */) {} // Range: 0x805AE3E8 -> 0x805AE424 void CriticalSection::Enter(class CriticalSection * const this /* r31 */) {} // Range: 0x805AE424 -> 0x805AE438 void CriticalSection::Exit() {} /* Compile unit: C:\rockband2\system\src\os\DateTime.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AE438 -> 0x805AE87C */ // Range: 0x805AE438 -> 0x805AE43C void DateTimeInit() {} struct OSCalendarTime { // total size: 0x28 int sec; // offset 0x0, size 0x4 int min; // offset 0x4, size 0x4 int hour; // offset 0x8, size 0x4 int mday; // offset 0xC, size 0x4 int mon; // offset 0x10, size 0x4 int year; // offset 0x14, size 0x4 int wday; // offset 0x18, size 0x4 int yday; // offset 0x1C, size 0x4 int msec; // offset 0x20, size 0x4 int usec; // offset 0x24, size 0x4 }; // Range: 0x805AE43C -> 0x805AE4A4 void GetDateAndTime(struct DateTime & out /* r31 */) { // Local variables struct OSCalendarTime td; // r1+0x8 } // Range: 0x805AE4A4 -> 0x805AE558 void * DateTime::DateTime(unsigned int code /* r7 */) { // Local variables int year; // r6 } // Range: 0x805AE558 -> 0x805AE57C void * DateTime::DateTime() {} // Range: 0x805AE57C -> 0x805AE5DC unsigned int DateTime::ToCode() {} // Range: 0x805AE5DC -> 0x805AE640 void DateTime::ToString(const struct DateTime * const this /* r9 */, class String & str /* r31 */) {} // Range: 0x805AE640 -> 0x805AE698 void DateTime::ToDateString(const struct DateTime * const this /* r6 */, class String & str /* r31 */) {} // Range: 0x805AE698 -> 0x805AE734 unsigned char __lt() { // Local variables unsigned int lhsdate; // r7 unsigned int lhstime; // r8 unsigned int rhsdate; // r9 unsigned int rhstime; // r0 } // Range: 0x805AE734 -> 0x805AE7EC class BinStream & __ls(class BinStream & s /* r31 */) {} // Range: 0x805AE7EC -> 0x805AE87C class BinStream & __rs(class BinStream & s /* r30 */, struct DateTime & obj /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AE87C -> 0x805AE980 */ // Range: 0x805AE87C -> 0x805AE90C char * MakeString(const char * fmt /* r0 */, int t1 /* r26 */, unsigned char t2 /* r27 */, int t3 /* r28 */, unsigned char t4 /* r29 */, unsigned char t5 /* r30 */, unsigned char t6 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805AE90C -> 0x805AE980 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, unsigned char t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\os\Debug.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AE980 -> 0x805AF400 */ const char * kAssertStr; // size: 0x4, address: 0x80A477D8 class Debug TheDebug; // size: 0xFC, address: 0x809847B4 class DebugNotifier TheDebugNotifier; // size: 0x1, address: 0x80A549B0 class DebugFailer TheDebugFailer; // size: 0x1, address: 0x80A549B4 long TheDebugJump[100]; // size: 0x190, address: 0x809848B0 // Range: 0x805AE980 -> 0x805AE9A4 void (* Debug::SetModalCallback(class Debug * const this /* r5 */))(unsigned char &, char *, unsigned char) { // Local variables void (* old)(unsigned char &, char *, unsigned char); // r0 } // Range: 0x805AE9A4 -> 0x805AEA54 void Debug::Init(class Debug * const this /* r31 */) { // Local variables const char * log; // r4 const char * log; // r4 } // Range: 0x805AEA54 -> 0x805AEAF0 void Debug::Poll(class Debug * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct OSThread * gMainThreadID; } // Range: 0x805AEAF0 -> 0x805AEB90 static void DebugModal(unsigned char & fail /* r29 */, char * msg /* r30 */, unsigned char wait /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805AEB90 -> 0x805AEBC4 void Debug::SetTry() {} // Range: 0x805AEBC4 -> 0x805AEC70 void Debug::Notify(class Debug * const this /* r29 */, const char * msg /* r30 */) { // Local variables unsigned char fail; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct OSThread * gMainThreadID; } // Range: 0x805AEC70 -> 0x805AED9C void Debug::Fail(class Debug * const this /* r29 */, const char * msg /* r30 */) { // Local variables struct _List_iterator i; // r1+0x18 unsigned char fail; // r1+0x8 // References // -> struct OSThread * gMainThreadID; // -> long TheDebugJump[100]; } // Range: 0x805AED9C -> 0x805AEF10 void Debug::Modal(class Debug * const this /* r29 */, unsigned char & fail /* r30 */, const char * msg /* r31 */) { // Local variables char buf[4096]; // r1+0x8 // References // -> class Debug TheDebug; // -> class AppChild * TheAppChild; } // Range: 0x805AEF10 -> 0x805AEFEC void Debug::Exit(class Debug * const this /* r31 */, int err /* r29 */, unsigned char call_exit /* r30 */) { // Local variables struct _List_iterator i; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805AEFEC -> 0x805AF08C void Debug::RemoveExitCallback(void (* f)() /* r31 */) {} // Range: 0x805AF08C -> 0x805AF148 void Debug::Print(class Debug * const this /* r30 */, const char * msg /* r31 */) {} // Range: 0x805AF148 -> 0x805AF23C void Debug::StartLog(class Debug * const this /* r29 */, const char * file /* r30 */, unsigned char always_flush /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805AF23C -> 0x805AF290 void Debug::StopLog(class Debug * const this /* r31 */) {} // Range: 0x805AF290 -> 0x805AF338 void * Debug::Debug(class Debug * const this /* r31 */) { // References // -> struct [anonymous] __vt__5Debug; } // Range: 0x805AF338 -> 0x805AF3B8 void * Debug::~Debug(class Debug * const this /* r30 */) { // References // -> struct [anonymous] __vt__5Debug; } struct { // total size: 0x10 } __vt__5Debug; // size: 0x10, address: 0x80923340 struct { // total size: 0x8 } __RTTI__5Debug; // size: 0x8, address: 0x80923368 // Range: 0x805AF3B8 -> 0x805AF400 static void __sinit_\Debug_cpp() { // References // -> class Debug TheDebug; } class AppChild { // total size: 0xC unsigned char mEnabled; // offset 0x0, size 0x1 class BinStream * mStream; // offset 0x4, size 0x4 unsigned char mSync; // offset 0x8, size 0x1 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AF400 -> 0x805AF460 */ // Range: 0x805AF400 -> 0x805AF460 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\os\Elf.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805AF460 -> 0x805B058C */ static char * gDemangleTypes[10][2]; // size: 0x50, address: 0x80984A40 static int gDemangleTypeNum; // size: 0x4, address: 0x80A549B8 // Range: 0x805AF460 -> 0x805AFD8C static unsigned char DemangleIntoBuffer(const char * & src /* r28 */, char * & dst /* r29 */, unsigned char toplevel /* r30 */) { // Local variables int len; // r31 const char * c; // r1+0x8 int num_params; // r31 int num_levels; // r31 int num_params; // r31 int ref; // r3 int len; // r28 char c; // r0 // References // -> struct __locale _current_locale; // -> static char * gDemangleTypes[10][2]; // -> static int gDemangleTypeNum; } // Range: 0x805AFD8C -> 0x805AFF80 static void DemangleString(char * str /* r31 */) { // Local variables char out[512]; // r1+0x10 char * outp; // r1+0xC int name_length; // r30 const char * c; // r1+0x8 // References // -> static int gDemangleTypeNum; } struct Elf32_Ehdr { // total size: 0x34 unsigned char e_ident[16]; // offset 0x0, size 0x10 unsigned short e_type; // offset 0x10, size 0x2 unsigned short e_machine; // offset 0x12, size 0x2 unsigned int e_version; // offset 0x14, size 0x4 unsigned int e_entry; // offset 0x18, size 0x4 unsigned int e_phoff; // offset 0x1C, size 0x4 unsigned int e_shoff; // offset 0x20, size 0x4 unsigned int e_flags; // offset 0x24, size 0x4 unsigned short e_ehsize; // offset 0x28, size 0x2 unsigned short e_phentsize; // offset 0x2A, size 0x2 unsigned short e_phnum; // offset 0x2C, size 0x2 unsigned short e_shentsize; // offset 0x2E, size 0x2 unsigned short e_shnum; // offset 0x30, size 0x2 unsigned short e_shstrndx; // offset 0x32, size 0x2 }; struct Elf32_Shdr { // total size: 0x28 unsigned int sh_name; // offset 0x0, size 0x4 unsigned int sh_type; // offset 0x4, size 0x4 unsigned int sh_flags; // offset 0x8, size 0x4 unsigned int sh_addr; // offset 0xC, size 0x4 unsigned int sh_offset; // offset 0x10, size 0x4 unsigned int sh_size; // offset 0x14, size 0x4 unsigned int sh_link; // offset 0x18, size 0x4 unsigned int sh_info; // offset 0x1C, size 0x4 unsigned int sh_addralign; // offset 0x20, size 0x4 unsigned int sh_entsize; // offset 0x24, size 0x4 }; class Elf { // total size: 0x44 protected: class File * mFile; // offset 0x0, size 0x4 struct Elf32_Ehdr mHeader; // offset 0x4, size 0x34 struct Elf32_Shdr * mSections; // offset 0x38, size 0x4 int mSyms; // offset 0x3C, size 0x4 int mNumSyms; // offset 0x40, size 0x4 }; // Range: 0x805AFF80 -> 0x805B0054 void Elf::GetString(class Elf * const this /* r29 */, char * buffer /* r30 */, int len /* r31 */) { // References // -> class Debug TheDebug; } struct Elf32_Sym { // total size: 0x10 unsigned int st_name; // offset 0x0, size 0x4 unsigned int st_value; // offset 0x4, size 0x4 unsigned int st_size; // offset 0x8, size 0x4 unsigned char st_info; // offset 0xC, size 0x1 unsigned char st_other; // offset 0xD, size 0x1 unsigned short st_shndx; // offset 0xE, size 0x2 }; // Range: 0x805B0054 -> 0x805B0160 void Elf::GetFunction(class Elf * const this /* r27 */, char * buffer /* r31 */, int len /* r28 */, unsigned int addr /* r29 */) { // Local variables int i; // r30 struct Elf32_Sym sym; // r1+0x8 } static int _x; // size: 0x4, address: 0x80A549BC // Range: 0x805B0160 -> 0x805B0338 void Elf::OpenFile(class Elf * const this /* r25 */) { // Local variables class String name; // r1+0x14 const char * cdrom0; // r29 const char * host0; // r28 unsigned long pos; // r27 unsigned char onHost; // r26 unsigned char usingCD; // r27 // References // -> class Debug TheDebug; // -> static int _x; // -> unsigned int npos; } // Range: 0x805B0338 -> 0x805B0510 void * Elf::Elf(class Elf * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805B0510 -> 0x805B058C void * Elf::~Elf(class Elf * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\File.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B058C -> 0x805B220C */ class vector : protected _Vector_base { // total size: 0xC }; static class vector gFiles; // size: 0xC, address: 0x80984A9C static class File * gOpenCaptureFile; // size: 0x4, address: 0x80A549C8 static char gRoot[256]; // size: 0x100, address: 0x80984AA8 static char gExecRoot[256]; // size: 0x100, address: 0x80984BA8 static char gSystemRoot[256]; // size: 0x100, address: 0x80984CA8 static unsigned char gUsingHolmes; // size: 0x1, address: 0x80A549CC // Range: 0x805B058C -> 0x805B0598 char * FileRoot() { // References // -> static char gRoot[256]; } // Range: 0x805B0598 -> 0x805B05A4 char * FileExecRoot() { // References // -> static char gExecRoot[256]; } // Range: 0x805B05A4 -> 0x805B05B0 char * FileSystemRoot() { // References // -> static char gSystemRoot[256]; } // Range: 0x805B05B0 -> 0x805B05BC static class DataNode OnFileExecRoot() { // References // -> static char gExecRoot[256]; } // Range: 0x805B05BC -> 0x805B05C8 static class DataNode OnFileRoot() { // References // -> static char gRoot[256]; } // Range: 0x805B05C8 -> 0x805B0620 static class DataNode OnFileGetDrive(class DataArray * arg /* r31 */) {} // Range: 0x805B0620 -> 0x805B0678 static class DataNode OnFileGetPath(class DataArray * arg /* r31 */) {} // Range: 0x805B0678 -> 0x805B06D0 static class DataNode OnFileGetBase(class DataArray * arg /* r31 */) {} // Range: 0x805B06D0 -> 0x805B0728 static class DataNode OnFileGetExt(class DataArray * arg /* r31 */) {} // Range: 0x805B0728 -> 0x805B0864 static class DataNode OnWithFilePathRoot(class DataArray * arg /* r29 */) { // Local variables class FilePathTracker _fptracker; // r1+0x10 int size; // r30 int i; // r31 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805B0864 -> 0x805B08C0 static class DataNode OnSynchProc() { // References // -> class Debug TheDebug; } // Range: 0x805B08C0 -> 0x805B08D0 static class DataNode OnToggleFakeFileErrors() {} // Range: 0x805B08D0 -> 0x805B0AC0 void FileInit() { // Local variables const char * file_order; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class File * gOpenCaptureFile; // -> class WiiRnd TheWiiRnd; // -> class FilePath sRoot; // -> static char gSystemRoot[256]; // -> static char gExecRoot[256]; // -> static char gRoot[256]; } // Range: 0x805B0AC0 -> 0x805B0B24 void FileTerminate() { // References // -> static char gSystemRoot[256]; // -> static char gExecRoot[256]; // -> static char gRoot[256]; // -> static class File * gOpenCaptureFile; } // Range: 0x805B0B24 -> 0x805B0D64 class File * NewFile(const char * iFilename /* r27 */, int iMode /* r28 */) { // Local variables class String strFile; // r1+0x8 char buffer[256]; // r1+0x118 class File * file; // r29 char buf[256]; // r1+0x18 // References // -> static class File * gOpenCaptureFile; // -> class Archive * TheArchive; // -> class Debug TheDebug; } // Range: 0x805B0D64 -> 0x805B0DB0 void FileQualifiedFilename(class String & oNewName /* r31 */, const char * iOldName /* r0 */) { // Local variables char tmp[256]; // r1+0x8 } // Range: 0x805B0DB0 -> 0x805B0DB8 void SetFileUsingHolmes() { // References // -> static unsigned char gUsingHolmes; } // Range: 0x805B0DB8 -> 0x805B0DC0 unsigned char FileUsingHolmes() { // References // -> static unsigned char gUsingHolmes; } // Range: 0x805B0DC0 -> 0x805B0E2C void FileNormalizePath() { // References // -> struct __locale _current_locale; } static char buffer[256]; // size: 0x100, address: 0x80984DA8 // Range: 0x805B0E2C -> 0x805B11F4 char * FileMakePath(const char * root /* r30 */, const char * file /* r27 */) { // Local variables char * start; // r30 char temp[256]; // r1+0x88 const char * drive; // r29 char * dirs[32]; // r1+0x8 const char * * endDir; // r29 char * c; // r28 unsigned char leadingSlash; // r27 const char * * dir; // r4 const char * cd; // r5 // References // -> static char buffer[256]; // -> class Debug TheDebug; // -> const char * kAssertStr; } static char relative[256]; // size: 0x100, address: 0x80984EA8 class list : public _List_base { // total size: 0x8 }; // Range: 0x805B11F4 -> 0x805B171C char * FileRelativePath(const char * root /* r29 */, const char * filepath /* r30 */) { // Local variables char path[256]; // r1+0x1D8 char file[256]; // r1+0xD8 class list pathDirs; // r1+0xD0 class list fileDirs; // r1+0xC8 char * c; // r29 char * p; // r30 char * f; // r4 // References // -> static char relative[256]; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std14_List_node; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } class _List_node : public _List_node_base { // total size: 0xC public: char * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std14_List_node; // size: 0x8, address: 0x80923720 static char path[256]; // size: 0x100, address: 0x80984FA8 // Range: 0x805B171C -> 0x805B17F4 char * FileGetPath() { // Local variables char * c; // r4 // References // -> static char path[256]; } // Range: 0x805B17F4 -> 0x805B1864 char * FileGetExt(const char * file /* r31 */) { // Local variables int len; // r0 const char * c; // r4 } static char drive[256]; // size: 0x100, address: 0x809850A8 // Range: 0x805B1864 -> 0x805B18E8 char * FileGetDrive(const char * file /* r29 */) { // Local variables const char * c; // r0 // References // -> static char drive[256]; } static char path[256]; // size: 0x100, address: 0x809851A8 // Range: 0x805B18E8 -> 0x805B1988 char * FileGetBase(const char * file /* r31 */) { // Local variables const char * c; // r4 // References // -> static char path[256]; } static char path[256]; // size: 0x100, address: 0x809852A8 // Range: 0x805B1988 -> 0x805B1A08 char * FileGetName(const char * file /* r31 */) { // Local variables const char * c; // r4 // References // -> static char path[256]; } // Range: 0x805B1A08 -> 0x805B1A94 static int GetUnusedFile() { // Local variables int i; // r3 // References // -> class Debug TheDebug; // -> static class vector gFiles; } // Range: 0x805B1A94 -> 0x805B1B10 int FileOpen(const char * iFilename /* r26 */, int iMode /* r27 */) { // Local variables int index; // r28 // References // -> static class vector gFiles; } // Range: 0x805B1B10 -> 0x805B1C24 int FileClose(int iFd /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class vector gFiles; } // Range: 0x805B1C24 -> 0x805B1D34 int FileWrite(int iFd /* r30 */, void * iBuff /* r28 */, unsigned int iLen /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class vector gFiles; } static char mybuffer[256]; // size: 0x100, address: 0x809853A8 // Range: 0x805B1D34 -> 0x805B1FE0 char * FileLocalize(const char * iFilename /* r28 */, char * buffer /* r29 */) { // Local variables unsigned char nextGen; // r31 enum Platform platform; // r30 const char * c; // r27 const char * c; // r27 const char * c; // r30 // References // -> static char mybuffer[256]; // -> const char * gNullStr; // -> class LoadMgr TheLoadMgr; } // Range: 0x805B1FE0 -> 0x805B208C static unsigned char FileMatchInternal(const char * path /* r29 */, const char * pattern /* r30 */, unsigned char all /* r31 */) {} // Range: 0x805B208C -> 0x805B2154 unsigned char FileMatch() {} struct { // total size: 0x8 } __RTTI__PP4File; // size: 0x8, address: 0x80923820 // Range: 0x805B2154 -> 0x805B220C static void __sinit_\File_cpp() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP4File; // -> unsigned char gStlAllocNameLookup; // -> static class vector gFiles; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class File * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class File * * _M_start; // offset 0x0, size 0x4 class File * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B220C -> 0x805B226C */ // Range: 0x805B220C -> 0x805B226C void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B226C -> 0x805B22EC */ // Range: 0x805B226C -> 0x805B22EC void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\File_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B22EC -> 0x805B2644 */ // Range: 0x805B22EC -> 0x805B247C int FileGetStat(const char * iFilename /* r31 */, struct FileStat * iBuffer /* r30 */) { // Local variables class String qualName; // r1+0x8 struct _FILE * file; // r31 unsigned int size; // r0 struct DVDFileInfo fileInfo; // r1+0x14 long dvdFileNum; // r0 } // Range: 0x805B247C -> 0x805B2484 int FileMkDir() {} struct DVDDir { // total size: 0xC unsigned long entryNum; // offset 0x0, size 0x4 unsigned long location; // offset 0x4, size 0x4 unsigned long next; // offset 0x8, size 0x4 }; struct DVDDirEntry { // total size: 0xC unsigned long entryNum; // offset 0x0, size 0x4 int isDir; // offset 0x4, size 0x4 char * name; // offset 0x8, size 0x4 }; // Range: 0x805B2484 -> 0x805B25B8 void FileEnumerate(const char * dir /* r28 */, void (* cb)(char *, char *) /* r29 */, unsigned char recurse /* r30 */, const char * pattern /* r31 */) { // Local variables struct DVDDir dvddir; // r1+0x14 struct DVDDirEntry dirent; // r1+0x8 int rc; // r0 char buf[1024]; // r1+0x20 // References // -> class Archive * TheArchive; } // Range: 0x805B25B8 -> 0x805B2644 void FileQualifiedFilename(char * out /* r30 */, const char * in /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\os\FileCache.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B2644 -> 0x805B39C8 */ class list : public _List_base { // total size: 0x8 }; static class list gCaches; // size: 0x8, address: 0x809854B8 class FileCacheFile : public File { // total size: 0x14 protected: class FileCacheEntry * mParent; // offset 0x4, size 0x4 int mBytesRead; // offset 0x8, size 0x4 void * mData; // offset 0xC, size 0x4 int mPos; // offset 0x10, size 0x4 }; // Range: 0x805B2644 -> 0x805B2680 void * FileCacheFile::FileCacheFile() { // References // -> struct [anonymous] __vt__13FileCacheFile; } // Range: 0x805B2680 -> 0x805B26E4 void * FileCacheFile::~FileCacheFile(class FileCacheFile * const this /* r31 */) { // References // -> struct [anonymous] __vt__13FileCacheFile; } // Range: 0x805B26E4 -> 0x805B27F0 int FileCacheFile::Read(class FileCacheFile * const this /* r31 */, void * iData /* r29 */, int iBytes /* r1+0x8 */) { // Local variables int size; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B27F0 -> 0x805B2994 unsigned char FileCacheFile::ReadAsync(class FileCacheFile * const this /* r28 */, void * iData /* r29 */, int iBytes /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B2994 -> 0x805B2B0C unsigned char FileCacheFile::ReadDone(class FileCacheFile * const this /* r29 */, int & oBytes /* r30 */) {} // Range: 0x805B2B0C -> 0x805B2BC8 int FileCacheFile::Seek(class FileCacheFile * const this /* r30 */, int iOffset /* r31 */) { // Local variables int i; // [invalid] } // Range: 0x805B2BC8 -> 0x805B2BD0 int FileCacheFile::Tell() {} // Range: 0x805B2BD0 -> 0x805B2BF0 unsigned char FileCacheFile::Eof() {} // Range: 0x805B2BF0 -> 0x805B2BFC int FileCacheFile::Size() {} // Range: 0x805B2BFC -> 0x805B2C24 unsigned char FileCacheFile::Fail() {} // Range: 0x805B2C24 -> 0x805B2C28 void FileCache::Init() {} // Range: 0x805B2C28 -> 0x805B2C2C void FileCache::Terminate() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x805B2C2C -> 0x805B2C8C void FileCache::PollAll() { // Local variables struct _List_iterator it; // r1+0x10 // References // -> static class list gCaches; } // Range: 0x805B2C8C -> 0x805B2D0C class File * FileCache::GetFileAll(const char * file /* r31 */) { // Local variables struct _List_iterator it; // r1+0x10 class File * f; // r0 // References // -> static class list gCaches; } // Range: 0x805B2D0C -> 0x805B2DF4 unsigned char FileCache::FileCached(class FileCache * const this /* r29 */, const char * file /* r30 */) { // Local variables class FilePath p; // r1+0x14 class File * f; // r0 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805B2DF4 -> 0x805B2E98 void * FileCache::FileCache(class FileCache * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std23_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class list gCaches; } class FileCacheEntry { // total size: 0x38 protected: class FilePath mFileName; // offset 0x0, size 0xC class FilePath mReadFileName; // offset 0xC, size 0xC char * mBuf; // offset 0x18, size 0x4 class FileLoader * mLoader; // offset 0x1C, size 0x4 int mSize; // offset 0x20, size 0x4 int mRefCount; // offset 0x24, size 0x4 int mPriority; // offset 0x28, size 0x4 int mReads; // offset 0x2C, size 0x4 float mLastRead; // offset 0x30, size 0x4 class DataArray * mSongData; // offset 0x34, size 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std23_List_node; // size: 0x8, address: 0x80923898 // Range: 0x805B2E98 -> 0x805B3130 void * FileCache::~FileCache(class FileCache * const this /* r1+0x8 */) { // Local variables int i; // r28 // References // -> static class list gCaches; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B3130 -> 0x805B32E8 void FileCache::StartSet(class FileCache * const this /* r29 */, int priority /* r30 */) { // Local variables int i; // r31 class FileCacheEntry * e; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B32E8 -> 0x805B3338 void FileCache::EndSet(class FileCache * const this /* r31 */) {} struct Priority { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x805B3338 -> 0x805B3348 void FileCache::Clear() {} // Range: 0x805B3348 -> 0x805B3398 int FileCache::CurSize() { // Local variables int size; // r5 int i; // r6 } // Range: 0x805B3398 -> 0x805B3574 void FileCache::DumpOverSize(class FileCache * const this /* r28 */, int maxSize /* r29 */) { // Local variables int total; // r31 int worstEntry; // r30 int worstPriority; // r4 float worstRead; // f1 int i; // r5 class FileCacheEntry * e; // r3 class FileCacheEntry * e; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B3574 -> 0x805B37E4 void FileCache::Poll(class FileCache * const this /* r30 */) { // Local variables int fileCount; // r31 int i; // r29 class FileCacheEntry * e; // r28 int i; // r28 class FileCacheEntry * e; // r29 // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B37E4 -> 0x805B38EC unsigned char FileCache::DoneCaching(class FileCache * const this /* r29 */) { // Local variables int i; // r30 } // Range: 0x805B38EC -> 0x805B38F4 int FileCacheFile::UncompressedSize() {} // Range: 0x805B38F4 -> 0x805B38F8 void FileCacheFile::Flush() {} // Range: 0x805B38F8 -> 0x805B3940 int FileCacheFile::Write() { // References // -> class Debug TheDebug; } struct { // total size: 0x38 } __vt__13FileCacheFile; // size: 0x38, address: 0x809238D0 struct { // total size: 0x8 } __RTTI__13FileCacheFile; // size: 0x8, address: 0x80923928 // Range: 0x805B3940 -> 0x805B396C void _Vector_base::_M_throw_length_error() {} struct { // total size: 0x8 } __RTTI__PP14FileCacheEntry; // size: 0x8, address: 0x80923950 // Range: 0x805B396C -> 0x805B39C8 static void __sinit_\FileCache_cpp() { // References // -> static class list gCaches; } class _List_node : public _List_node_base { // total size: 0xC public: class FileCache * _M_data; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B39C8 -> 0x805B3F0C */ // Range: 0x805B39C8 -> 0x805B3BF8 void FileCache::Add(class FileCache * const this /* r29 */, const class FilePath & p /* r26 */, int priority /* r30 */, const class FilePath & rFile /* r28 */, class DataArray * songData /* r31 */) { // Local variables class FilePath file; // r1+0x1C int i; // r27 class FilePath readFile; // r1+0x10 class FileCacheEntry * fc; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805B3BF8 -> 0x805B3E44 class File * FileCache::GetFile(class FileCache * const this /* r27 */, const char * p /* r28 */) { // Local variables class FilePathTracker _fptracker; // r1+0x14 class FilePath file; // r1+0x8 int i; // r29 class FileCacheEntry * entry; // r30 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805B3E44 -> 0x805B3F0C void FileCache::FindPath(const class FilePath & path /* r29 */, class FilePath & file /* r30 */) { // Local variables const char * e; // r0 // References // -> class FilePath sRoot; // -> class LoadMgr TheLoadMgr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B3F0C -> 0x805B3F64 */ // Range: 0x805B3F0C -> 0x805B3F64 struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B3F64 -> 0x805B44F4 */ // Range: 0x805B3F64 -> 0x805B4008 void sort(class FileCacheEntry * * __first /* r29 */, class FileCacheEntry * * __last /* r30 */, struct Priority & __comp /* r31 */) {} // Range: 0x805B4008 -> 0x805B40A8 void __final_insertion_sort(class FileCacheEntry * * __first /* r29 */, class FileCacheEntry * * __last /* r30 */, struct Priority & __comp /* r31 */) {} // Range: 0x805B40A8 -> 0x805B4110 void __unguarded_insertion_sort_aux(class FileCacheEntry * * __last /* r29 */, struct Priority & __comp /* r30 */) { // Local variables class FileCacheEntry * * __i; // r31 } // Range: 0x805B4110 -> 0x805B4140 void __unguarded_linear_insert() { // Local variables class FileCacheEntry * * __next; // r7 } // Range: 0x805B4140 -> 0x805B41F8 void __insertion_sort(class FileCacheEntry * * __first /* r27 */, class FileCacheEntry * * __last /* r28 */, struct Priority & __comp /* r29 */) { // Local variables class FileCacheEntry * * __i; // r30 } // Range: 0x805B41F8 -> 0x805B4330 void __introsort_loop(class FileCacheEntry * * __first /* r28 */, class FileCacheEntry * * __last /* r29 */, long __depth_limit /* r30 */, struct Priority & __comp /* r31 */) { // Local variables class FileCacheEntry * * __cut; // r27 } // Range: 0x805B4330 -> 0x805B43E4 class FileCacheEntry * * __unguarded_partition(class FileCacheEntry * * __first /* r29 */, class FileCacheEntry * * __last /* r30 */, class FileCacheEntry * __pivot /* r31 */) {} // Range: 0x805B43E4 -> 0x805B4414 void partial_sort() {} // Range: 0x805B4414 -> 0x805B44F4 void __partial_sort(class FileCacheEntry * * __first /* r27 */, class FileCacheEntry * * __middle /* r28 */, class FileCacheEntry * * __last /* r29 */, struct Priority & __comp /* r30 */) { // Local variables class FileCacheEntry * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B44F4 -> 0x805B4524 */ // Range: 0x805B44F4 -> 0x805B450C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x805B450C -> 0x805B4524 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B4524 -> 0x805B46E0 */ // Range: 0x805B4524 -> 0x805B4578 void pop_heap(class FileCacheEntry * * __last /* r7 */) {} // Range: 0x805B4578 -> 0x805B4648 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r10 } // Range: 0x805B4648 -> 0x805B46E0 void make_heap(class FileCacheEntry * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B46E0 -> 0x805B4960 */ // Range: 0x805B46E0 -> 0x805B4818 void vector::_M_insert_overflow(class vector * const this /* r27 */, class FileCacheEntry * * __pos /* r28 */, class FileCacheEntry * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class FileCacheEntry * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14FileCacheEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805B4818 -> 0x805B4960 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables class FileCacheEntry * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP14FileCacheEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B4960 -> 0x805B49B8 */ // Range: 0x805B4960 -> 0x805B49B8 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B49B8 -> 0x805B4A18 */ // Range: 0x805B49B8 -> 0x805B4A18 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\os\HomeMenu_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B4A18 -> 0x805B5A6C */ static long op[4]; // size: 0x10, address: 0x8084E6B0 // Range: 0x805B4A18 -> 0x805B4A20 static int HomeMenuSoundCallback() {} // Range: 0x805B4A20 -> 0x805B4A5C void * HomeMenu::HomeMenu() {} // Range: 0x805B4A5C -> 0x805B4AB0 void * HomeMenu::~HomeMenu(class HomeMenu * const this /* r30 */) {} // Range: 0x805B4AB0 -> 0x805B4B48 void HomeMenu::Terminate(class HomeMenu * const this /* r31 */) {} // Range: 0x805B4B48 -> 0x805B4B68 void HomeMenu::AllowHomeMenu() {} // Range: 0x805B4B68 -> 0x805B4B90 void HomeMenu::ActivateBanIcon() {} // Range: 0x805B4B90 -> 0x805B4BB8 void HomeMenu::SetHomeMenuActive() {} // Range: 0x805B4BB8 -> 0x805B4BD0 void HomeMenu::UnlockHomeMenu() {} // Range: 0x805B4BD0 -> 0x805B4DA0 void HomeMenu::ShowBannedIcon(class HomeMenu * const this /* r30 */) { // Local variables unsigned char wasActive; // r31 unsigned long currTime; // r0 float elapse; // f3 } // Range: 0x805B4DA0 -> 0x805B4EB8 void HomeMenu::Poll(class HomeMenu * const this /* r30 */) { // Local variables int i; // r31 long probeResult; // r0 unsigned long type; // r1+0x8 int input_classic; // r0 } // Range: 0x805B4EB8 -> 0x805B4F3C void HomeMenu::ActivateHomeMenu() { // References // -> class UIManager TheUI; } // Range: 0x805B4F3C -> 0x805B5000 void HomeMenu::InitHomeMenu(class HomeMenu * const this /* r31 */) { // Local variables int i; // r31 // References // -> class SynthWii * TheWiiSynth; } // Range: 0x805B5000 -> 0x805B5078 void HomeMenu::SetAdjustValue(struct HBMDataInfo * pHomeMenuInfo /* r31 */) {} static int _x; // size: 0x4, address: 0x80A549D0 // Range: 0x805B5078 -> 0x805B5340 void HomeMenu::InitHomeMenuButtonInfo(class HomeMenu * const this /* r29 */, struct HBMDataInfo * pHomeMenuInfo /* r30 */) { // References // -> static int _x; } // Range: 0x805B5340 -> 0x805B5374 void HomeMenu::InitControllerData() { // Local variables int i; // r5 } // Range: 0x805B5374 -> 0x805B56F8 void HomeMenu::DrawBannedIcon(class HomeMenu * const this /* r28 */, unsigned char alpha /* r29 */) { // Local variables struct _GXTexObj texObj; // r1+0x10 signed short offset; // r3 signed short x1; // r31 signed short x2; // r30 // References // -> class WiiRnd TheWiiRnd; } // Range: 0x805B56F8 -> 0x805B57F0 void * HomeMenu::ReadDvdFile(unsigned long * fileSize /* r29 */) { // Local variables void * readBuf; // r31 int readBytes; // r0 class File * file; // r30 } // Range: 0x805B57F0 -> 0x805B58C8 int HomeMenu::CalculateAnalogCursorPos() { // Local variables float x; // f3 float y; // f0 } // Range: 0x805B58C8 -> 0x805B5A6C int HomeMenu::CalculateDigitalCursorPos() {} /* Compile unit: C:\rockband2\system\src\os\JoypadWii_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B5A6C -> 0x805B5E0C */ // Range: 0x805B5A6C -> 0x805B5AF0 static long WPADChannelID(int i /* r31 */) { // References // -> static long op[4]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B5AF0 -> 0x805B5B60 void HomeMenu::PreInit(class HomeMenu * const this /* r31 */) {} // Range: 0x805B5B60 -> 0x805B5BF4 void HomeMenu::Init(class HomeMenu * const this /* r31 */) {} // Range: 0x805B5BF4 -> 0x805B5E0C void HomeMenu::Show(class HomeMenu * const this /* r30 */) { // Local variables int i; // r31 float projMtx[4][4]; // r1+0x8 // References // -> class SynthWii * TheWiiSynth; // -> class WiiRnd TheWiiRnd; } /* Compile unit: C:\rockband2\system\src\os\DiscErrorMgr_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B5E0C -> 0x805B6454 */ struct TPLPalette * gEjectErrorImg; // size: 0x4, address: 0x80A549D8 struct TPLPalette * gRetryErrorImg; // size: 0x4, address: 0x80A549DC // Range: 0x805B5E0C -> 0x805B5E24 void * DiscErrorMgrWii::DiscErrorMgrWii() {} // Range: 0x805B5E24 -> 0x805B5E64 void * DiscErrorMgrWii::~DiscErrorMgrWii(class DiscErrorMgrWii * const this /* r31 */) {} // Range: 0x805B5E64 -> 0x805B5F04 void DiscErrorMgrWii::Init(class DiscErrorMgrWii * const this /* r31 */) { // References // -> struct TPLPalette * gRetryErrorImg; // -> class Debug TheDebug; // -> struct TPLPalette * gEjectErrorImg; } // Range: 0x805B5F04 -> 0x805B5F5C void DiscErrorMgrWii::Terminate(class DiscErrorMgrWii * const this /* r31 */) {} // Range: 0x805B5F5C -> 0x805B5F70 void DiscErrorMgrWii::SetDiscError() {} // Range: 0x805B5F70 -> 0x805B6108 void DiscErrorMgrWii::LoopUntilNoDiscError(class DiscErrorMgrWii * const this /* r28 */, struct DVDFileInfo * fileInfo /* r29 */, unsigned char detectBusy /* r30 */) { // Local variables int status; // r0 int status; // r0 // References // -> class PlatformMgr ThePlatformMgr; // -> class SynthWii * TheWiiSynth; // -> class WiiRnd TheWiiRnd; } // Range: 0x805B6108 -> 0x805B6170 void DiscErrorMgrWii::DrawDiscErrorMsg(class DiscErrorMgrWii * const this /* r30 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class WiiRnd TheWiiRnd; } // Range: 0x805B6170 -> 0x805B6454 void DiscErrorMgrWii::DrawSplashDiscErrorMsg(class DiscErrorMgrWii * const this /* r31 */) { // Local variables struct _GXTexObj texObj; // r1+0x10 signed short x1; // r29 signed short y1; // r30 signed short x2; // r28 signed short y2; // r27 // References // -> class WiiRnd TheWiiRnd; } /* Compile unit: C:\rockband2\system\src\os\Joypad.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805B6454 -> 0x805BA124 */ int kNonUser; // size: 0x4, address: 0x80A57DB0 static float kAnalogRestPos; // size: 0x4, address: 0x80A58AA8 static class DataArray * gControllersCfg; // size: 0x4, address: 0x80A549E0 static class DataArray * gButtonMeanings; // size: 0x4, address: 0x80A549E4 static class JoypadData gJoypadData[8]; // size: 0x340, address: 0x809854C0 static unsigned char gJoypadDisabled[8]; // size: 0x8, address: 0x80985800 static class MsgSource gJoypadMsgSource; // size: 0x48, address: 0x80985818 static unsigned char gJoypadLibInitialized; // size: 0x1, address: 0x80A549E8 static unsigned char gExportMsgs; // size: 0x1, address: 0x80A47818 static unsigned char gReservedUserNums[4]; // size: 0x4, address: 0x80A549EC static unsigned int gNotifyMask; // size: 0x4, address: 0x80A4781C static int gFakeUser1; // size: 0x4, address: 0x80A549F0 // Range: 0x805B6454 -> 0x805B64BC static class DataNode SetFakeUser1(class DataArray * a /* r31 */) { // References // -> static int gFakeUser1; // -> static class JoypadData gJoypadData[8]; } // Range: 0x805B64BC -> 0x805B64D0 static class DataNode FakeUser1() { // References // -> static int gFakeUser1; } // Range: 0x805B64D0 -> 0x805B6528 static class DataNode OnJoypadGetUsersPadNum(class DataArray * args /* r31 */) {} // Range: 0x805B6528 -> 0x805B6580 static class DataNode OnJoypadGetUserFromPadNum(class DataArray * args /* r31 */) {} // Range: 0x805B6580 -> 0x805B65DC static class DataNode OnJoypadControllerType(class DataArray * args /* r31 */) {} // Range: 0x805B65DC -> 0x805B6634 static class DataNode OnJoypadIsConnected(class DataArray * args /* r31 */) {} // Range: 0x805B6634 -> 0x805B66F0 static class DataNode OnJoypadGetLX(class DataArray * args /* r31 */) { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B66F0 -> 0x805B67AC static class DataNode OnJoypadGetLY(class DataArray * args /* r31 */) { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B67AC -> 0x805B6868 static class DataNode OnJoypadGetRX(class DataArray * args /* r31 */) { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B6868 -> 0x805B6924 static class DataNode OnJoypadGetRY(class DataArray * args /* r31 */) { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B6924 -> 0x805B69E0 static class DataNode OnJoypadGetTL(class DataArray * args /* r31 */) { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B69E0 -> 0x805B6A9C static class DataNode OnJoypadGetTR(class DataArray * args /* r31 */) { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B6A9C -> 0x805B6B88 static class DataNode OnJoypadIsButtonDown(class DataArray * args /* r30 */) { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B6B88 -> 0x805B6BE0 static class DataNode OnJoypadIsCalbertGuitar(class DataArray * args /* r31 */) { // Local variables unsigned char isCalbert; // r0 } static class Symbol type; // size: 0x4, address: 0x80A549F8 static class Symbol button; // size: 0x4, address: 0x80A54A00 static class Symbol stick; // size: 0x4, address: 0x80A54A08 static class Symbol trigger; // size: 0x4, address: 0x80A54A10 static class Symbol X; // size: 0x4, address: 0x80A54A18 static class Symbol Y; // size: 0x4, address: 0x80A54A20 // Range: 0x805B6BE0 -> 0x805B6EB4 static unsigned char IsJoypadDetectMatch(class DataArray * detect_cfg /* r28 */, const class JoypadData & data /* r29 */) { // Local variables int i; // r30 int axis; // r25 class Symbol axis_sym; // r1+0x1C // References // -> class Debug TheDebug; // -> static class Symbol Y; // -> static class Symbol X; // -> static class Symbol trigger; // -> static class Symbol stick; // -> static class Symbol button; // -> static class Symbol type; } // Range: 0x805B6EB4 -> 0x805B6EEC static class DataNode DataJoypadReset() {} // Range: 0x805B6EEC -> 0x805B6F8C void * JoypadData::JoypadData() { // Local variables int k; // r5 int j; // r6 int i; // r5 // References // -> const char * gNullStr; } static class Symbol lx; // size: 0x4, address: 0x80A54A28 static class Symbol ly; // size: 0x4, address: 0x80A54A30 static class Symbol rx; // size: 0x4, address: 0x80A54A38 static class Symbol ry; // size: 0x4, address: 0x80A54A40 static class Symbol tl; // size: 0x4, address: 0x80A54A48 static class Symbol tr; // size: 0x4, address: 0x80A54A50 static class Symbol sx; // size: 0x4, address: 0x80A54A58 static class Symbol sy; // size: 0x4, address: 0x80A54A60 static class Symbol sz; // size: 0x4, address: 0x80A54A68 // Range: 0x805B6F8C -> 0x805B71C4 float JoypadData::GetAxis(const class JoypadData * const this /* r30 */, class Symbol & axis /* r31 */) { // References // -> class Debug TheDebug; // -> static class Symbol sz; // -> static class Symbol sy; // -> static class Symbol sx; // -> static class Symbol tr; // -> static class Symbol tl; // -> static class Symbol ry; // -> static class Symbol rx; // -> static class Symbol ly; // -> static class Symbol lx; } // Range: 0x805B71C4 -> 0x805B7244 int JoypadData::FloatToBucket() {} // Range: 0x805B7244 -> 0x805B7284 int JoypadData::GetVelocityBucket(const class JoypadData * const this /* r31 */) { // Local variables float val; // f0 } // Range: 0x805B7284 -> 0x805B7300 int JoypadData::GetPressureBucket(const class JoypadData * const this /* r30 */, enum JoypadButton b /* r31 */) { // Local variables float val; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol LX; // size: 0x4, address: 0x80A54A70 static class Symbol LY; // size: 0x4, address: 0x80A54A78 static class Symbol RX; // size: 0x4, address: 0x80A54A80 static class Symbol RY; // size: 0x4, address: 0x80A54A88 // Range: 0x805B7300 -> 0x805B74C8 int ButtonToVelocityBucket(class JoypadData * data /* r31 */, enum JoypadButton b /* r30 */) { // References // -> static class Symbol RY; // -> static class Symbol RX; // -> static class Symbol LY; // -> static class Symbol LX; } // Range: 0x805B74C8 -> 0x805B77D0 void JoypadInitCommon(const class DataArray * joypad_config /* r27 */) { // Local variables float threshold; // r1+0x54 int i; // r29 const class DataArray * ignores; // r28 // References // -> static unsigned char gJoypadLibInitialized; // -> static class DataArray * gButtonMeanings; // -> static class DataArray * gControllersCfg; // -> static unsigned char gReservedUserNums[4]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static unsigned char gJoypadDisabled[8]; // -> static class JoypadData gJoypadData[8]; } class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x805B77D0 -> 0x805B7B14 unsigned int JoypadWaitForButton(unsigned char start_only /* r30 */) { // Local variables class vector active; // r1+0x50 int i; // r31 struct WaitInfo * i; // r4 int mask; // r0 int cur; // r31 // References // -> static unsigned int gNotifyMask; // -> static unsigned char gExportMsgs; // -> static unsigned char gJoypadDisabled[8]; // -> const char * gNullStr; // -> static class JoypadData gJoypadData[8]; // -> static unsigned char gJoypadLibInitialized; } class StlNodeAlloc { // total size: 0x1 }; struct WaitInfo { // total size: 0x8 int pad; // offset 0x0, size 0x4 int old; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct WaitInfo * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct WaitInfo * _M_start; // offset 0x0, size 0x4 struct WaitInfo * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; static class Symbol hx_kick_xbox; // size: 0x4, address: 0x80A54A90 static class Symbol translate_sticks; // size: 0x4, address: 0x80A54A98 static class Symbol unknown; // size: 0x4, address: 0x80A54AA0 static class Symbol ignore_buttons; // size: 0x4, address: 0x80A54AA8 enum AnalogStickID { kLeftAnalog = 0, kRightAnalog = 1, kNumAnalogSticks = 2, }; struct ButtonVelocity { // total size: 0x8 enum JoypadButton mButton; // offset 0x0, size 0x4 int mBucket; // offset 0x4, size 0x4 }; // Range: 0x805B7B14 -> 0x805B8958 void JoypadPollCommon() { // Local variables int padType; // r0 char sticks[2][2]; // r1+0x50 char triggers[2]; // r1+0x14 float sensors[3]; // r1+0xE8 float pressures[8]; // r1+0x118 unsigned int currButtons; // r1+0x4C int i; // r27 enum AnalogStickID k; // r6 int s; // r4 int p; // r4 unsigned char justDisconnected; // r26 unsigned char justConnected; // r25 enum AnalogStickID k; // r4 int t; // r4 int s; // r4 int p; // r4 class Symbol type; // r1+0x48 unsigned char translate; // r1+0x10 class DataArray * type_array; // r0 class DataArray * ignores; // r19 int i; // r20 unsigned int newBtnDowns; // r24 unsigned int newBtnUps; // r23 unsigned char ignore_dup_and_down; // r22 struct ButtonVelocity button_velocities[4]; // r1+0xF8 int user; // r21 int but; // [invalid] enum JoypadButton joybut; // [invalid] class ButtonUpMsg msg; // r1+0xE0 enum JoypadButton joybut; // r20 int bucket; // r0 class ButtonDownMsg msg; // r1+0xD8 int e; // r9 int f; // r10 int e; // r20 enum JoypadButton joybut; // r19 class ButtonDownMsg msg; // r1+0xD0 class JoypadConnectionMsg msg; // r1+0xC8 class JoypadConnectionMsg msg; // r1+0xC0 // References // -> struct [anonymous] __vt__19JoypadConnectionMsg; // -> class Symbol t; // -> const char * kAssertStr; // -> struct [anonymous] __vt__7Message; // -> static class MsgSource gJoypadMsgSource; // -> static unsigned char gExportMsgs; // -> class UserMgr * TheUserMgr; // -> static class Symbol ignore_buttons; // -> static class Symbol unknown; // -> static class DataArray * gControllersCfg; // -> static class Symbol translate_sticks; // -> static float kAnalogRestPos; // -> static unsigned char gJoypadDisabled[8]; // -> static class JoypadData gJoypadData[8]; // -> static class Symbol hx_kick_xbox; // -> class Debug TheDebug; // -> static unsigned char gJoypadLibInitialized; } // Range: 0x805B8958 -> 0x805B8A2C void TranslateSticksToButs() { // Local variables float distFromRest; // f3 int i; // r8 int offset; // r9 // References // -> static float kAnalogRestPos; } // Range: 0x805B8A2C -> 0x805B8AAC class JoypadData * JoypadGetData(int iUserNum /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B8AAC -> 0x805B8B30 class JoypadData * JoypadGetPadData(int pad_num /* r31 */) { // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B8B30 -> 0x805B8B7C void JoypadSubscribe() { // References // -> static class MsgSource gJoypadMsgSource; // -> const char * gNullStr; } // Range: 0x805B8B7C -> 0x805B8BCC void JoypadSubscribe(class Object * iSink /* r5 */) { // References // -> static class MsgSource gJoypadMsgSource; // -> const char * gNullStr; } // Range: 0x805B8BCC -> 0x805B8C08 void JoypadUnsubscribe() { // References // -> static class MsgSource gJoypadMsgSource; // -> const char * gNullStr; } // Range: 0x805B8C08 -> 0x805B8C44 void JoypadUnsubscribe(class Object * iSink /* r5 */) { // References // -> static class MsgSource gJoypadMsgSource; } static class JoypadReassignMsg msg; // size: 0x8, address: 0x80985870 // Range: 0x805B8C44 -> 0x805B8F80 void AssociateUserAndPad(int iUserNum /* r28 */, int iPadNum /* r29 */) { // References // -> static class MsgSource gJoypadMsgSource; // -> static unsigned char gExportMsgs; // -> struct [anonymous] __vt__17JoypadReassignMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class JoypadReassignMsg msg; // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B8F80 -> 0x805B8F84 void JoypadAssociateUserAndPad() {} // Range: 0x805B8F84 -> 0x805B8FD8 int GetUsersPadNum() { // Local variables int i; // r5 // References // -> static class JoypadData gJoypadData[8]; // -> static unsigned char gJoypadDisabled[8]; } // Range: 0x805B8FD8 -> 0x805B9060 int JoypadGetUserFromPadNum(int iPadNum /* r31 */) { // References // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805B9060 -> 0x805B9064 int JoypadGetUsersPadNum() {} static class Symbol symDetect; // size: 0x4, address: 0x80A54AB0 static class Symbol symOr; // size: 0x4, address: 0x80A54AB8 // Range: 0x805B9064 -> 0x805B9238 unsigned char JoypadIsControllerTypePadNum(int padNum /* r28 */, class Symbol & controller_type /* r31 */) { // Local variables class JoypadData & data; // r29 class DataArray * type_cfg; // r0 class DataArray * detect_cfg; // r30 class DataArray * options; // r28 int i; // r30 // References // -> static class DataArray * gControllersCfg; // -> static class JoypadData gJoypadData[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol symOr; // -> static class Symbol symDetect; } static class Symbol none; // size: 0x4, address: 0x80A54AC0 static class Symbol unknown; // size: 0x4, address: 0x80A54AC8 // Range: 0x805B9238 -> 0x805B93A0 class Symbol JoypadControllerTypePadNum(int padNum /* r31 */) { // Local variables int i; // r29 class Symbol type; // r1+0x14 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class DataArray * gControllersCfg; // -> static class JoypadData gJoypadData[8]; // -> static unsigned char gJoypadDisabled[8]; // -> static class Symbol unknown; // -> static class Symbol none; } // Range: 0x805B93A0 -> 0x805B93C4 class Symbol JoypadControllerType() { // Local variables int pad_num; // r0 } // Range: 0x805B93C4 -> 0x805B9408 unsigned char JoypadIsConnected() { // Local variables int pad; // r0 // References // -> static class JoypadData gJoypadData[8]; } static class JoypadReassignMsg msg; // size: 0x8, address: 0x80985888 // Range: 0x805B9408 -> 0x805B9808 void JoypadSwapUsers(int p1 /* r28 */, int p2 /* r29 */) { // References // -> static class JoypadData gJoypadData[8]; // -> static class MsgSource gJoypadMsgSource; // -> static unsigned char gExportMsgs; // -> struct [anonymous] __vt__17JoypadReassignMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class JoypadReassignMsg msg; } static class JoypadReassignMsg msg; // size: 0x8, address: 0x809858A0 // Range: 0x805B9808 -> 0x805B9C04 void JoypadSwapPads(int padNum1 /* r26 */, int padNum2 /* r27 */) { // Local variables int userNum1; // r29 int userNum2; // r28 // References // -> static class MsgSource gJoypadMsgSource; // -> static unsigned char gExportMsgs; // -> struct [anonymous] __vt__17JoypadReassignMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class JoypadReassignMsg msg; // -> static class JoypadData gJoypadData[8]; } // Range: 0x805B9C04 -> 0x805B9CBC void JoypadReserveUserNum() { // Local variables int pad_num; // r31 int p; // r30 int this_pad; // r29 // References // -> static unsigned char gReservedUserNums[4]; } // Range: 0x805B9CBC -> 0x805B9DB8 void JoypadFreeUserNum(int user /* r30 */) { // Local variables int first_unused_joypad; // r5 int j; // r4 // References // -> static class JoypadData gJoypadData[8]; // -> static unsigned char gJoypadDisabled[8]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static unsigned char gReservedUserNums[4]; } // Range: 0x805B9DB8 -> 0x805B9DEC unsigned char UserHasController() {} static class Symbol lefty_flip; // size: 0x4, address: 0x80A54AD0 // Range: 0x805B9DEC -> 0x805B9E9C unsigned char JoypadTypeHasLeftyFlip(class Symbol & type /* r30 */) { // Local variables class DataArray * a; // r30 // References // -> static class DataArray * gControllersCfg; // -> static class Symbol lefty_flip; } static class Symbol none; // size: 0x4, address: 0x80A54AD8 // Range: 0x805B9E9C -> 0x805B9F68 enum JoypadAction ButtonToAction(enum JoypadButton button /* r29 */, class Symbol & controller_type /* r30 */) { // Local variables enum JoypadAction action; // r31 class DataArray * meaning_set; // r0 class DataArray * mapping; // r30 // References // -> static class DataArray * gButtonMeanings; // -> static class Symbol none; } // Range: 0x805B9F68 -> 0x805BA048 enum JoypadButton JoypadActionToButton(enum JoypadAction action /* r28 */) { // Local variables int pad_num; // r0 class Symbol controller_type; // r1+0xC class DataArray * meaning_set; // r30 int i; // r29 // References // -> static class DataArray * gButtonMeanings; // -> static class JoypadData gJoypadData[8]; } struct { // total size: 0x8 } __RTTI__P8WaitInfo; // size: 0x8, address: 0x80924150 // Range: 0x805BA048 -> 0x805BA124 static void __sinit_\Joypad_cpp() { // References // -> struct [anonymous] __vt__9MsgSource; // -> static class MsgSource gJoypadMsgSource; // -> static class JoypadData gJoypadData[8]; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BA124 -> 0x805BA310 */ // Range: 0x805BA124 -> 0x805BA310 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct WaitInfo * __pos /* r26 */, const struct WaitInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct WaitInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8WaitInfo; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\os\Joypad_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BA310 -> 0x805BC13C */ static int kWiiRemoteButton[16]; // size: 0x40, address: 0x8084E6E8 static int kWiiClassicButton[16]; // size: 0x40, address: 0x8084E728 static int kWiiGuitarButton[16]; // size: 0x40, address: 0x8084E768 static int kWiiUSBButton[24]; // size: 0x60, address: 0x8084E7A8 static long op[4]; // size: 0x10, address: 0x8084E808 static unsigned char gDisabled; // size: 0x1, address: 0x80A54AE0 static float gDeadzone; // size: 0x4, address: 0x80A54AE4 static unsigned char gWiiJoypadCommonInitialized; // size: 0x1, address: 0x80A54AE8 static unsigned char gWiiJoypadUseHeapMemory; // size: 0x1, address: 0x80A54AE9 static class UsbWii * gUSBWii; // size: 0x4, address: 0x80A54AEC static class WiiJoypad * gWiiJoypads[8]; // size: 0x20, address: 0x809858C0 // Range: 0x805BA310 -> 0x805BA360 void * WiiJoypadWPADAlloc(unsigned long size /* r1+0x8 */) { // References // -> static unsigned char gWiiJoypadUseHeapMemory; } // Range: 0x805BA360 -> 0x805BA39C unsigned char WiiJoypadWPADFree() { // References // -> static unsigned char gWiiJoypadUseHeapMemory; } // Range: 0x805BA39C -> 0x805BA5F4 void JoypadInit() { // Local variables class DataArray * joypad_config; // r30 // References // -> static class UsbWii * gUSBWii; // -> static class WiiJoypad * gWiiJoypads[8]; // -> static float gDeadzone; // -> static unsigned char gDisabled; } // Range: 0x805BA5F4 -> 0x805BA640 void WiiJoypadInitCommon() { // References // -> static unsigned char gWiiJoypadUseHeapMemory; // -> static unsigned char gWiiJoypadCommonInitialized; } // Range: 0x805BA640 -> 0x805BA6D4 void JoypadReset() { // Local variables int i; // r31 // References // -> static class WiiJoypad * gWiiJoypads[8]; // -> int kNonUser; } // Range: 0x805BA6D4 -> 0x805BA764 void JoypadTerminate() { // Local variables int i; // r29 // References // -> static class UsbWii * gUSBWii; // -> static class WiiJoypad * gWiiJoypads[8]; // -> static unsigned char gDisabled; } // Range: 0x805BA764 -> 0x805BA7C0 void JoypadPoll() { // References // -> static class UsbWii * gUSBWii; // -> class PlatformMgr ThePlatformMgr; // -> static unsigned char gDisabled; } // Range: 0x805BA7C0 -> 0x805BAA2C int ReadSingleJoypad(int iPadNum /* r22 */, unsigned int * iButtons /* r23 */, char * iLeftStickX /* r24 */, char * iLeftStickY /* r25 */, char * iRightStickX /* r26 */, char * iRightStickY /* r27 */, char * iLeftTrigger /* r28 */, char * iRightTrigger /* r29 */, float * iPressures /* r30 */) { // Local variables class WiiJoypad * wiiJoypad; // r31 enum JoypadType newJoypadType; // r1+0x10 unsigned int pressures[4]; // r1+0x18 enum JoypadType type; // r3 // References // -> class PlatformMgr ThePlatformMgr; // -> static unsigned char gDisabled; } struct DPDObject { // total size: 0x8 signed short x; // offset 0x0, size 0x2 signed short y; // offset 0x2, size 0x2 unsigned short size; // offset 0x4, size 0x2 unsigned char traceId; // offset 0x6, size 0x1 }; struct WPADCLStatus { // total size: 0x36 unsigned short button; // offset 0x0, size 0x2 signed short accX; // offset 0x2, size 0x2 signed short accY; // offset 0x4, size 0x2 signed short accZ; // offset 0x6, size 0x2 struct DPDObject obj[4]; // offset 0x8, size 0x20 unsigned char dev; // offset 0x28, size 0x1 signed char err; // offset 0x29, size 0x1 unsigned short clButton; // offset 0x2A, size 0x2 signed short clLStickX; // offset 0x2C, size 0x2 signed short clLStickY; // offset 0x2E, size 0x2 signed short clRStickX; // offset 0x30, size 0x2 signed short clRStickY; // offset 0x32, size 0x2 unsigned char clTriggerL; // offset 0x34, size 0x1 unsigned char clTriggerR; // offset 0x35, size 0x1 }; struct WPADStatus { // total size: 0x2A unsigned short button; // offset 0x0, size 0x2 signed short accX; // offset 0x2, size 0x2 signed short accY; // offset 0x4, size 0x2 signed short accZ; // offset 0x6, size 0x2 struct DPDObject obj[4]; // offset 0x8, size 0x20 unsigned char dev; // offset 0x28, size 0x1 signed char err; // offset 0x29, size 0x1 }; // Range: 0x805BAA2C -> 0x805BAE3C enum JoypadType ReadWiiJoypad(class WiiJoypad * wiiJoypad /* r29 */, unsigned int * iButtons /* r30 */, char * iLeftStickX /* r24 */, char * iLeftStickY /* r25 */, char * iRightStickX /* r31 */, char * iRightStickY /* r26 */, unsigned int * pressures /* r27 */) { // Local variables unsigned int usbButtons; // r1+0x10 enum JoypadType joypadType; // r31 struct WPADCLStatus curCLStatus; // r1+0x78 struct WPADStatus curStatus; // r1+0x4C struct WPADCLStatus curCLStatus; // r1+0x14 // References // -> class Debug TheDebug; // -> static class UsbWii * gUSBWii; } // Range: 0x805BAE3C -> 0x805BAE40 void JoypadKeepAlive() {} // Range: 0x805BAE40 -> 0x805BAED0 int JoypadPollWiiRemotes() { // Local variables int i; // r31 struct WPADStatus curStatus; // r1+0xC unsigned int iButtons; // r1+0x8 } // Range: 0x805BAED0 -> 0x805BB07C unsigned char CheckForJoypadOverflow() { // Local variables int numberConnected; // r29 unsigned int iButtons; // r1+0x1C char iLeftStickX; // r1+0x15 char iLeftStickY; // r1+0x14 char iRightStickX; // r1+0x13 char iRightStickY; // r1+0x12 char iLeftTrigger; // r1+0x11 char iRightTrigger; // r1+0x10 unsigned int pressures[4]; // r1+0x20 enum JoypadType joypadType; // r0 enum JoypadType newJoypadType; // r1+0x18 int i; // r28 // References // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class WiiJoypad * gWiiJoypads[8]; } // Range: 0x805BB07C -> 0x805BB140 class WiiJoypad * GetWiiJoypad(int joypadNum /* r28 */) { // Local variables int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class WiiJoypad * gWiiJoypads[8]; } // Range: 0x805BB140 -> 0x805BB4FC class WiiJoypad * AddWiiJoypad(int joypadNum /* r29 */) { // Local variables enum JoypadType joypadType; // r31 class WiiJoypad * wiiJoypad; // r30 unsigned long contType; // r1+0x8 long result; // r0 int i; // r26 class WiiJoypad * existingWiiJoypad; // r27 class JoypadData * existingJoypadData; // r0 int requestedUserNum; // r0 int j; // r25 unsigned char foundLocked; // r4 int k; // r25 int i; // r25 int j; // r26 unsigned char foundLocked; // r4 int k; // r26 // References // -> static class WiiJoypad * gWiiJoypads[8]; // -> static class UsbWii * gUSBWii; } // Range: 0x805BB4FC -> 0x805BB52C void DisableWiiJoypad() { // Local variables class WiiJoypad * wiiJoypad; // r0 } // Range: 0x805BB52C -> 0x805BB56C void LockWiiJoypad(int joypadNum /* r31 */) { // Local variables class WiiJoypad * wiiJoypad; // r0 } // Range: 0x805BB56C -> 0x805BB5A0 void UnlockWiiJoypad() { // Local variables class WiiJoypad * wiiJoypad; // r0 } // Range: 0x805BB5A0 -> 0x805BB5F4 void UnlockAllWiiJoypads() { // Local variables int i; // r31 // References // -> static class WiiJoypad * gWiiJoypads[8]; } // Range: 0x805BB5F4 -> 0x805BB648 int GetAccelerationByUser() { // Local variables class WiiJoypad * wiiJoypad; // r0 } // Range: 0x805BB648 -> 0x805BB6C4 enum JoypadType GetWiiType() {} // Range: 0x805BB6C4 -> 0x805BB780 void TranslateButtons() { // Local variables int buttonCount; // r7 const int * lookupTable; // r8 int i; // r9 // References // -> static int kWiiGuitarButton[16]; // -> static int kWiiUSBButton[24]; // -> static int kWiiClassicButton[16]; // -> static int kWiiRemoteButton[16]; } // Range: 0x805BB780 -> 0x805BB790 void WiiJoypadSyncCallback() {} // Range: 0x805BB790 -> 0x805BB848 void WiiJoypadConnectCallback(long chan /* r31 */) { // Local variables unsigned long contType; // r1+0x8 } class WiiJoypad { // total size: 0x20 int mJoypadNum; // offset 0x0, size 0x4 int mWiiJoypadNum; // offset 0x4, size 0x4 enum JoypadType mJoypadType; // offset 0x8, size 0x4 int mAcceleration; // offset 0xC, size 0x4 int mReadDelay; // offset 0x10, size 0x4 unsigned char mEnabled; // offset 0x14, size 0x1 unsigned char mDisabling; // offset 0x15, size 0x1 int mLockedJoypadNum; // offset 0x18, size 0x4 enum JoypadType mLockedJoypadType; // offset 0x1C, size 0x4 }; // Range: 0x805BB848 -> 0x805BB978 void * WiiJoypad::WiiJoypad(class WiiJoypad * const this /* r24 */, enum JoypadType joypadType /* r25 */, int wiiJoypadNum /* r26 */) { // Local variables int maxWiiJoypadNum; // r3 unsigned char setJoypadNum; // r29 unsigned char foundJoypad; // r28 int i; // r27 // References // -> static class WiiJoypad * gWiiJoypads[8]; } // Range: 0x805BB978 -> 0x805BB9B8 void * WiiJoypad::~WiiJoypad(class WiiJoypad * const this /* r31 */) {} // Range: 0x805BB9B8 -> 0x805BBA28 unsigned char WiiJoypad::SetJoypadNum(class WiiJoypad * const this /* r30 */, int joypadNum /* r31 */) {} // Range: 0x805BBA28 -> 0x805BBA44 int WiiJoypad::JoypadNum() {} // Range: 0x805BBA44 -> 0x805BBA6C void WiiJoypad::SetJoypadType() {} // Range: 0x805BBA6C -> 0x805BBA88 int WiiJoypad::WiiJoypadNum() {} // Range: 0x805BBA88 -> 0x805BBAB0 void WiiJoypad::SetReadDelay() {} // Range: 0x805BBAB0 -> 0x805BBAD4 void WiiJoypad::DecrementReadDelay() {} // Range: 0x805BBAD4 -> 0x805BBAF8 unsigned char WiiJoypad::CanRead() {} // Range: 0x805BBAF8 -> 0x805BBC3C void WiiJoypad::Connect(class WiiJoypad * const this /* r30 */, int joypadNum /* r31 */) { // References // -> static class UsbWii * gUSBWii; } // Range: 0x805BBC3C -> 0x805BBC74 void WiiJoypad::Disconnect(class WiiJoypad * const this /* r31 */) {} // Range: 0x805BBC74 -> 0x805BBDDC unsigned char WiiJoypad::Connected(class WiiJoypad * const this /* r29 */, enum JoypadType & newJoypadType /* r30 */) { // Local variables enum JoypadType joypadType; // r31 unsigned long contType; // r1+0x8 long result; // r0 // References // -> static class UsbWii * gUSBWii; } // Range: 0x805BBDDC -> 0x805BBE84 void WiiJoypad::SetEnabled() { // References // -> static class UsbWii * gUSBWii; } // Range: 0x805BBE84 -> 0x805BBF78 void WiiJoypad::SetLocked(class WiiJoypad * const this /* r27 */, int joypadNum /* r28 */, enum JoypadType joypadType /* r29 */) { // References // -> class Debug TheDebug; } // Range: 0x805BBF78 -> 0x805BC064 unsigned char WiiJoypad::IsEquivalentToLockedType() {} // Range: 0x805BC064 -> 0x805BC0AC unsigned char JoypadIsCalbertGuitar() { // Local variables class WiiJoypad * wiiJoypad; // r0 } enum JoypadCalbertMode { kJoypadCalbertPhoto = 0, kJoypadCalbertAudio = 1, kJoypadCalbertOff = 2, }; // Range: 0x805BC0AC -> 0x805BC13C void JoypadSetCalbertMode(enum JoypadCalbertMode mode /* r31 */) { // Local variables class WiiJoypad * wiiJoypad; // r3 // References // -> static class UsbWii * gUSBWii; } /* Compile unit: C:\rockband2\system\src\os\JoypadWii_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BC13C -> 0x805BC1C0 */ // Range: 0x805BC13C -> 0x805BC1C0 static long WPADChannelID(int i /* r31 */) { // References // -> static long op[4]; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BC1C0 -> 0x805BC220 */ // Range: 0x805BC1C0 -> 0x805BC220 char * MakeString(const char * fmt /* r0 */, int t1 /* r30 */, enum JoypadType t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\os\JoypadClient.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BC220 -> 0x805BD8E0 */ static float gDefaultHoldMs; // size: 0x4, address: 0x80A47850 static float gDefaultRepeatMs; // size: 0x4, address: 0x80A47854 class vector : protected _Vector_base { // total size: 0xC }; static class vector gClients; // size: 0xC, address: 0x809858EC // Range: 0x805BC220 -> 0x805BC240 static unsigned char IsLeftStick() {} // Range: 0x805BC240 -> 0x805BC2D0 static enum JoypadButton LeftStickToDpad() { // References // -> class Debug TheDebug; } // Range: 0x805BC2D0 -> 0x805BC324 void * JoypadRepeat::JoypadRepeat(struct JoypadRepeat * const this /* r31 */) {} // Range: 0x805BC324 -> 0x805BC3A8 void JoypadRepeat::Start(struct JoypadRepeat * const this /* r28 */, enum JoypadButton btn /* r29 */, enum JoypadAction action /* r30 */, int pad /* r31 */) {} // Range: 0x805BC3A8 -> 0x805BC3EC void JoypadRepeat::Reset(struct JoypadRepeat * const this /* r31 */) {} // Range: 0x805BC3EC -> 0x805BC62C void JoypadRepeat::Poll(struct JoypadRepeat * const this /* r29 */, float minHoldMs /* f30 */, float minRepeatMs /* f31 */, class Object * sink /* r30 */, int user /* r31 */) { // Local variables float delayMs; // f0 float repeatMs; // f0 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x805BC62C -> 0x805BC730 void JoypadRepeat::SendRepeat(struct JoypadRepeat * const this /* r29 */, class Object * sink /* r30 */, int user /* r31 */) { // References // -> struct [anonymous] __vt__7Message; // -> class UserMgr * TheUserMgr; } // Range: 0x805BC730 -> 0x805BC800 void * JoypadClient::JoypadClient(class JoypadClient * const this /* r29 */, int userNum /* r31 */, class Object * sink /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12JoypadClient; } // Range: 0x805BC800 -> 0x805BC8D0 void * JoypadClient::JoypadClient(class JoypadClient * const this /* r29 */, class Object * sink /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__12JoypadClient; } // Range: 0x805BC8D0 -> 0x805BC9FC void JoypadClient::Init(class JoypadClient * const this /* r1+0x8 */) { // References // -> static class vector gClients; // -> static float gDefaultRepeatMs; // -> static float gDefaultHoldMs; } // Range: 0x805BC9FC -> 0x805BCAD0 void * JoypadClient::~JoypadClient(class JoypadClient * const this /* r1+0x8 */) { // References // -> static class vector gClients; // -> struct [anonymous] __vt__12JoypadClient; } // Range: 0x805BCAD0 -> 0x805BCAD8 void JoypadClient::SetRepeatMask() {} // Range: 0x805BCAD8 -> 0x805BCAE0 void JoypadClient::SetHoldMs() {} // Range: 0x805BCAE0 -> 0x805BCAE8 void JoypadClient::SetRepeatMs() {} // Range: 0x805BCAE8 -> 0x805BCAF0 void JoypadClient::SetVirtualDpad() {} // Range: 0x805BCAF0 -> 0x805BCB54 void JoypadClient::Poll(class JoypadClient * const this /* r30 */) { // Local variables int i; // r31 } // Range: 0x805BCB54 -> 0x805BCBB4 void JoypadClientPoll() { // Local variables int i; // r31 // References // -> static class vector gClients; } // Range: 0x805BCBB4 -> 0x805BD38C class DataNode JoypadClient::Handle(class JoypadClient * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x38 class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode _n; // r1+0x58 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__17JoypadReassignMsg; // -> class Symbol t; // -> struct [anonymous] __vt__11ButtonUpMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } // Range: 0x805BD38C -> 0x805BD5F8 int JoypadClient::OnMsg(class JoypadClient * const this /* r28 */, const class ButtonDownMsg & msg /* r29 */) { // Local variables enum JoypadButton btn; // r30 // References // -> struct [anonymous] __vt__7Message; // -> class UserMgr * TheUserMgr; } // Range: 0x805BD5F8 -> 0x805BD82C int JoypadClient::OnMsg(class JoypadClient * const this /* r29 */, const class ButtonUpMsg & msg /* r25 */) { // Local variables enum JoypadButton btn; // r30 // References // -> struct [anonymous] __vt__7Message; // -> class UserMgr * TheUserMgr; } // Range: 0x805BD82C -> 0x805BD8B4 int JoypadClient::OnMsg(class JoypadClient * const this /* r30 */) {} struct { // total size: 0x54 } __vt__12JoypadClient; // size: 0x54, address: 0x809243E0 struct { // total size: 0x8 } __RTTI__12JoypadClient; // size: 0x8, address: 0x80924458 struct { // total size: 0x8 } __RTTI__PP12JoypadClient; // size: 0x8, address: 0x809244C0 // Range: 0x805BD8B4 -> 0x805BD8E0 static void __sinit_\JoypadClient_cpp() { // References // -> static class vector gClients; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class JoypadClient * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class JoypadClient * * _M_start; // offset 0x0, size 0x4 class JoypadClient * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BD8E0 -> 0x805BD9C0 */ // Range: 0x805BD8E0 -> 0x805BD9C0 class JoypadClient * * find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BD9C0 -> 0x805BDAF8 */ // Range: 0x805BD9C0 -> 0x805BDAF8 void vector::_M_insert_overflow(class vector * const this /* r27 */, class JoypadClient * * __pos /* r28 */, class JoypadClient * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class JoypadClient * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP12JoypadClient; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BDAF8 -> 0x805BDB78 */ // Range: 0x805BDAF8 -> 0x805BDB78 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\JoypadMsgs.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BDB78 -> 0x805BE560 */ // Range: 0x805BDB78 -> 0x805BDDEC void * ButtonDownMsg::ButtonDownMsg(class ButtonDownMsg * const this /* r31 */) { // References // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x805BDDEC -> 0x805BE0DC void * ButtonDownMsg::ButtonDownMsg(class ButtonDownMsg * const this /* r31 */, const class ButtonDownMsg & msg /* r28 */) { // References // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x805BE0DC -> 0x805BE134 class User * ButtonDownMsg::GetUser() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } // Range: 0x805BE134 -> 0x805BE1A0 void ButtonDownMsg::SetAction() {} // Range: 0x805BE1A0 -> 0x805BE294 void ButtonDownMsg::SetUserAndNumFromPadNum(class ButtonDownMsg * const this /* r30 */) { // Local variables int userNum; // r31 // References // -> class UserMgr * TheUserMgr; } // Range: 0x805BE294 -> 0x805BE508 void * ButtonUpMsg::ButtonUpMsg(class ButtonUpMsg * const this /* r31 */) { // References // -> struct [anonymous] __vt__11ButtonUpMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x805BE508 -> 0x805BE560 class User * ButtonUpMsg::GetUser() { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__4User; } /* Compile unit: C:\rockband2\system\src\os\Keyboard.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BE560 -> 0x805BEA4C */ static class MsgSource gSource; // size: 0x48, address: 0x80985908 static class ObjPtr gOverride; // size: 0xC, address: 0x8098595C // Range: 0x805BE560 -> 0x805BE5AC void KeyboardSubscribe() { // References // -> static class MsgSource gSource; // -> const char * gNullStr; } // Range: 0x805BE5AC -> 0x805BE5E8 void KeyboardUnsubscribe() { // References // -> static class MsgSource gSource; // -> const char * gNullStr; } // Range: 0x805BE5E8 -> 0x805BE660 class Object * KeyboardOverride(class Object * override /* r30 */) { // References // -> static class ObjPtr gOverride; } // Range: 0x805BE660 -> 0x805BE948 void KeyboardSendMsg() { // Local variables class KeyboardKeyMsg msg; // r1+0x48 // References // -> static class MsgSource gSource; // -> static class ObjPtr gOverride; // -> struct [anonymous] __vt__14KeyboardKeyMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x805BE948 -> 0x805BEA4C static void __sinit_\Keyboard_cpp() { // References // -> struct [anonymous] __vt__32ObjPtr; // -> static class ObjPtr gOverride; // -> struct [anonymous] __vt__9MsgSource; // -> static class MsgSource gSource; } /* Compile unit: C:\rockband2\system\src\os\Keyboard_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BEA4C -> 0x805BED24 */ static unsigned char __kbd_mem[3264]; // size: 0xCC0, address: 0x80985968 // Range: 0x805BEA4C -> 0x805BEB2C static int TranslateKey() { // Local variables int key; // r4 } struct _KBDDevEvent { // total size: 0x1 unsigned char channel; // offset 0x0, size 0x1 }; // Range: 0x805BEB2C -> 0x805BEB78 static void kbdAppAttach(struct _KBDDevEvent * kde /* r31 */) {} // Range: 0x805BEB78 -> 0x805BEB7C static void kbdAppDetach() {} enum _KBDModState { KBD_MS_CTRL = 1, KBD_MS_SHIFT = 2, KBD_MS_ALT = 4, KBD_MS_GUI = 8, KBD_MS_EXTRA = 16, KBD_MS_ALTGR = 32, KBD_MS_LANG1 = 64, KBD_MS_LANG2 = 128, KBD_MS_NUM_LOCK = 256, KBD_MS_CAPS_LOCK = 512, KBD_MS_SCROLL_LOCK = 1024, KBD_MS_SHIFTED_KEY = 2048, KBD_MS_SET_ALL = 4096, KBD_MS_NULL = 0, }; // Range: 0x805BEB7C -> 0x805BEC50 static void kbdAppKeyEvent(struct _KBDKeyEvent * kke /* r28 */) { // Local variables enum _KBDModState ms; // r1+0x8 unsigned char sh; // r31 unsigned char ctl; // r30 unsigned char alt; // r29 int key; // r0 } // Range: 0x805BEC50 -> 0x805BEC98 void KeyboardInit() { // References // -> static unsigned char __kbd_mem[3264]; } // Range: 0x805BEC98 -> 0x805BEC9C void KeyboardTerminate() {} enum _KBDKeyMode { KBD_KM_DOWN = 1, KBD_KM_REPEAT = 2, KBD_KM_NULL = 0, }; struct _KBDKeyEvent { // total size: 0x10 unsigned char channel; // offset 0x0, size 0x1 unsigned char hid; // offset 0x1, size 0x1 enum _KBDKeyMode mode; // offset 0x4, size 0x4 enum _KBDModState modState; // offset 0x8, size 0x4 unsigned short unicode; // offset 0xC, size 0x2 }; enum _KBDChanStatus { KBD_CS_OK = 0, KBD_CS_DISCONNECTED = 1, KBD_CS_ROLL_OVER = 2, KBD_CS_ERROR = 4, }; enum _KBDEc { KBD_SUCCESS = 0, KBD_ERR_OTHER = 1, KBD_ERR_NOT_INITIALIZED = 2, KBD_ERR_ALREADY_INITIALIZED = 3, KBD_ERR_BAD_VALUE = 4, KBD_ERR_BAD_STATUS = 5, KBD_ERR_BUSY = 7, }; // Range: 0x805BEC9C -> 0x805BED24 void KeyboardPoll() { // Local variables struct _KBDKeyEvent kevent; // r1+0x10 unsigned char ch; // r31 enum _KBDChanStatus cstat; // r1+0x8 enum _KBDEc rc; // r0 } /* Compile unit: C:\rockband2\system\src\os\Memcard.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BED24 -> 0x805BEEF8 */ // Range: 0x805BED24 -> 0x805BED28 void Memcard::Terminate() {} // Range: 0x805BED28 -> 0x805BED2C void Memcard::Poll() {} // Range: 0x805BED2C -> 0x805BEEF0 void Memcard::ShowDeviceSelector(class Object * pCallbackObj /* r31 */) { // Local variables class DeviceChosenMsg msg; // r1+0x28 // References // -> struct [anonymous] __vt__15DeviceChosenMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; } // Range: 0x805BEEF0 -> 0x805BEEF8 unsigned char Memcard::IsDeviceValid() {} struct { // total size: 0x40 } __vt__11MCContainer; // size: 0x40, address: 0x80924620 struct { // total size: 0x84 } __vt__7Memcard; // size: 0x84, address: 0x80924678 struct { // total size: 0x8 } __RTTI__7Memcard; // size: 0x8, address: 0x80924720 /* Compile unit: C:\rockband2\system\src\os\Memcard.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BEEF8 -> 0x805BF138 */ // Range: 0x805BEEF8 -> 0x805BEF14 void Memcard::Init() { // References // -> class ObjectDir * sMainDir; } // Range: 0x805BEF14 -> 0x805BEFCC void Memcard::DestroyContainer(class MCContainer * pContainer /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805BEFCC -> 0x805BF00C void * MCContainer::~MCContainer(class MCContainer * const this /* r31 */) {} // Range: 0x805BF00C -> 0x805BF0BC void MCContainer::DestroyMCFile(class MCFile * pFile /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805BF0BC -> 0x805BF0C4 class String MCContainer::BuildPath() {} // Range: 0x805BF0C4 -> 0x805BF0CC wchar_t * Memcard::GetDisplayName() {} // Range: 0x805BF0CC -> 0x805BF0D4 char * Memcard::GetContainerName() {} // Range: 0x805BF0D4 -> 0x805BF0D8 void Memcard::SetContainerDisplayName() {} // Range: 0x805BF0D8 -> 0x805BF0DC void Memcard::SetContainerName() {} // Range: 0x805BF0DC -> 0x805BF138 void * Memcard::~Memcard(class Memcard * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\Memcard_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805BF138 -> 0x805C038C */ static struct NANDFileInfo info; // size: 0x8C, address: 0x80986628 // Range: 0x805BF138 -> 0x805BF144 void ContainerId::Set() {} class MemcardWii TheMC; // size: 0x2C, address: 0x809866C0 // Range: 0x805BF144 -> 0x805BF180 void MemcardWii::Init(class MemcardWii * const this /* r31 */) {} // Range: 0x805BF180 -> 0x805BF184 void MemcardWii::Terminate() {} // Range: 0x805BF184 -> 0x805BF18C enum MCResult MemcardWii::DeleteContainer() {} // Range: 0x805BF18C -> 0x805BF1F4 class MCContainer * MemcardWii::CreateContainer(const struct ContainerId & cid /* r31 */) { // References // -> struct [anonymous] __vt__14MCContainerWii; // -> struct [anonymous] __vt__11MCContainer; } // Range: 0x805BF1F4 -> 0x805BF200 void MemcardWii::SetMtapConfig() {} // Range: 0x805BF200 -> 0x805BF208 enum MCResult MCContainerWii::Mount() {} // Range: 0x805BF208 -> 0x805BF210 enum MCResult MCContainerWii::Unmount() {} // Range: 0x805BF210 -> 0x805BF29C enum MCResult MCContainerWii::GetFreeSpace(int * pFreeSpace /* r31 */) { // Local variables unsigned long bytes; // r1+0xC unsigned long inodes; // r1+0x8 long result; // r0 } // Range: 0x805BF29C -> 0x805BF2FC int MCContainerWii::GetContainerBlocks() { // Local variables unsigned long blocks; // r31 unsigned long bytes; // r1+0xC unsigned long inodes; // r1+0x8 long result; // r0 } // Range: 0x805BF2FC -> 0x805BF398 enum MCResult MCContainerWii::CheckContainer() { // Local variables unsigned long answer; // r1+0x8 long result; // r0 } // Range: 0x805BF398 -> 0x805BF420 enum MCResult MCContainerWii::CheckContainerSpace(int iNodes /* r30 */) { // Local variables unsigned long bytes; // r1+0xC unsigned long inodes; // r1+0x8 unsigned long totalSpace; // r31 long result; // r0 } // Range: 0x805BF420 -> 0x805BF4AC enum MCResult MCContainerWii::GetFreeInodes(int * pFreeInodes /* r31 */) { // Local variables unsigned long bytes; // r1+0xC unsigned long inodes; // r1+0x8 long result; // r0 } // Range: 0x805BF4AC -> 0x805BF50C enum MCResult MCContainerWii::Delete() { // Local variables long result; // r0 } // Range: 0x805BF50C -> 0x805BF514 enum MCResult MCContainerWii::RemoveDir() {} // Range: 0x805BF514 -> 0x805BF59C enum MCResult MCContainerWii::MakeDir() { // Local variables long result; // r0 } // Range: 0x805BF59C -> 0x805BF5A4 enum MCResult MCContainerWii::PrintDir() {} // Range: 0x805BF5A4 -> 0x805BF614 enum MCResult MCContainerWii::MakeFile() { // Local variables long result; // r0 } // Range: 0x805BF614 -> 0x805BF718 enum MCResult MCContainerWii::WriteFile(void * buffer /* r29 */, int size /* r30 */) { // Local variables unsigned long result; // r0 unsigned long bytesWritten; // r0 // References // -> static struct NANDFileInfo info; } // Range: 0x805BF718 -> 0x805BF7F8 enum MCResult MCContainerWii::ValidateFile(int size /* r31 */) { // Local variables struct NANDFileInfo fileInfo; // r1+0xC long result; // r0 unsigned long length; // r1+0x8 } // Range: 0x805BF7F8 -> 0x805BF8C4 enum MCResult MCContainerWii::GetSize(int * pFileSize /* r30 */) { // Local variables struct NANDFileInfo fileInfo; // r1+0xC enum MCResult mcresult; // r31 long result; // r0 unsigned long length; // r1+0x8 long res; // r0 } // Range: 0x805BF8C4 -> 0x805BF8CC enum MCResult MCContainerWii::Format() {} // Range: 0x805BF8CC -> 0x805BF8D4 enum MCResult MCContainerWii::Unformat() {} // Range: 0x805BF8D4 -> 0x805BF914 class MCFile * MCContainerWii::CreateMCFile(class MCContainerWii * const this /* r31 */) {} // Range: 0x805BF914 -> 0x805BF99C class String MCContainerWii::BuildPath(class String * str /* r29 */) { // Local variables int i; // r30 } struct NANDBanner { // total size: 0xF0A0 unsigned long signature; // offset 0x0, size 0x4 unsigned long flag; // offset 0x4, size 0x4 unsigned short iconSpeed; // offset 0x8, size 0x2 unsigned char reserved[22]; // offset 0xA, size 0x16 unsigned short comment[2][32]; // offset 0x20, size 0x80 unsigned char bannerTexture[24576]; // offset 0xA0, size 0x6000 unsigned char iconTexture[8][4608]; // offset 0x60A0, size 0x9000 }; // Range: 0x805BF99C -> 0x805BFE74 enum MCResult MCContainerWii::CreateBanner(const char * path /* r27 */, int icons /* r29 */) { // Local variables struct NANDFileInfo bannerFileInfo; // r31+0x50 int i; // r27 struct NANDBanner s_bnr; // r31+0xFFFF0F80 long result; // r0 struct TPLPalette * tplIcons; // r30 struct TPLDescriptor * tdpIcons; // r0 unsigned short saveFileName[13]; // r31+0x34 unsigned short saveFileComment[10]; // r31+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class MCFileWii : public MCFile { // total size: 0x98 int mFileID; // offset 0x8, size 0x4 struct NANDFileInfo info; // offset 0xC, size 0x8C }; // Range: 0x805BFE74 -> 0x805BFE90 void * MCFileWii::MCFileWii() { // References // -> struct [anonymous] __vt__9MCFileWii; } // Range: 0x805BFE90 -> 0x805BFED0 void * MCFileWii::~MCFileWii(class MCFileWii * const this /* r31 */) {} // Range: 0x805BFED0 -> 0x805BFF78 enum MCResult MCFileWii::Open(class MCFileWii * const this /* r30 */, const char * file /* r31 */) { // Local variables long result; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805BFF78 -> 0x805C00A0 enum MCResult MCFileWii::Read(class MCFileWii * const this /* r29 */, void * data /* r30 */, int size /* r31 */) { // Local variables long bytesRead; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805C00A0 -> 0x805C0194 enum MCResult MCFileWii::Write(class MCFileWii * const this /* r28 */, void * data /* r29 */, int size /* r30 */) { // Local variables enum MCResult mcResult; // r31 long bytesWritten; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805C0194 -> 0x805C026C enum MCResult MCFileWii::Seek(class MCFileWii * const this /* r29 */, int offset /* r30 */, enum SeekType seek /* r31 */) { // Local variables long seekTarget; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805C026C -> 0x805C0310 enum MCResult MCFileWii::Close(class MCFileWii * const this /* r31 */) { // Local variables long result; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805C0310 -> 0x805C032C unsigned char MCFileWii::IsOpen() {} struct { // total size: 0x24 } __vt__9MCFileWii; // size: 0x24, address: 0x80924898 struct { // total size: 0x8 } __RTTI__9MCFileWii; // size: 0x8, address: 0x809248D8 struct { // total size: 0x60 } __vt__14MCContainerWii; // size: 0x60, address: 0x809248E0 struct { // total size: 0x84 } __vt__10MemcardWii; // size: 0x84, address: 0x80924940 struct { // total size: 0x8 } __RTTI__10MemcardWii; // size: 0x8, address: 0x809249F0 struct { // total size: 0x8 } __RTTI__6MCFile; // size: 0x8, address: 0x80924A00 // Range: 0x805C032C -> 0x805C038C static void __sinit_\Memcard_Wii_cpp() { // References // -> struct [anonymous] __vt__10MemcardWii; // -> class MemcardWii TheMC; } /* Compile unit: C:\rockband2\system\src\os\Memcard_Wii_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C038C -> 0x805C0498 */ // Range: 0x805C038C -> 0x805C03F8 void ContainerId::Set(struct ContainerId * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805C03F8 -> 0x805C0438 void * MCContainerWii::~MCContainerWii(class MCContainerWii * const this /* r31 */) {} // Range: 0x805C0438 -> 0x805C0498 void * MemcardWii::~MemcardWii(class MemcardWii * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\NetStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C0498 -> 0x805C0498 */ struct { // total size: 0x8 } __RTTI__9BinStream; // size: 0x8, address: 0x80924A38 /* Compile unit: C:\rockband2\system\src\os\NetworkSocket_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C0498 -> 0x805C05F4 */ // Range: 0x805C0498 -> 0x805C04D8 class NetworkSocket * NetworkSocket::Create(unsigned char streaming /* r31 */) {} // Range: 0x805C04D8 -> 0x805C04E4 class String NetworkSocket::GetHostName() {} class WiiNetworkSocket : public NetworkSocket { // total size: 0x4 }; // Range: 0x805C04E4 -> 0x805C04E8 void WiiNetworkSocket::Init() {} // Range: 0x805C04E8 -> 0x805C0524 void * WiiNetworkSocket::WiiNetworkSocket(class WiiNetworkSocket * const this /* r31 */) { // References // -> struct [anonymous] __vt__16WiiNetworkSocket; } // Range: 0x805C0524 -> 0x805C058C void * WiiNetworkSocket::~WiiNetworkSocket(class WiiNetworkSocket * const this /* r30 */) { // References // -> struct [anonymous] __vt__16WiiNetworkSocket; } // Range: 0x805C058C -> 0x805C0594 unsigned char WiiNetworkSocket::Connect() {} // Range: 0x805C0594 -> 0x805C0598 void WiiNetworkSocket::Listen() {} // Range: 0x805C0598 -> 0x805C05A0 class NetworkSocket * WiiNetworkSocket::Accept() {} // Range: 0x805C05A0 -> 0x805C05A4 void WiiNetworkSocket::GetRemoteIP() {} // Range: 0x805C05A4 -> 0x805C05A8 void WiiNetworkSocket::Disconnect() {} // Range: 0x805C05A8 -> 0x805C05B0 unsigned char WiiNetworkSocket::Fail() {} // Range: 0x805C05B0 -> 0x805C05B4 void WiiNetworkSocket::Bind() {} // Range: 0x805C05B4 -> 0x805C05BC unsigned char WiiNetworkSocket::InqBoundPort() {} // Range: 0x805C05BC -> 0x805C05C4 int WiiNetworkSocket::Send() {} // Range: 0x805C05C4 -> 0x805C05CC int WiiNetworkSocket::SendTo() {} // Range: 0x805C05CC -> 0x805C05D4 int WiiNetworkSocket::BroadcastTo() {} // Range: 0x805C05D4 -> 0x805C05DC int WiiNetworkSocket::Recv() {} // Range: 0x805C05DC -> 0x805C05E4 int WiiNetworkSocket::RecvFrom() {} // Range: 0x805C05E4 -> 0x805C05EC unsigned char WiiNetworkSocket::CanSend() {} // Range: 0x805C05EC -> 0x805C05F4 unsigned int WiiNetworkSocket::BytesAvailable() {} struct { // total size: 0x48 } __vt__16WiiNetworkSocket; // size: 0x48, address: 0x80924A50 struct { // total size: 0x8 } __RTTI__16WiiNetworkSocket; // size: 0x8, address: 0x80924AB8 struct { // total size: 0x8 } __RTTI__13NetworkSocket; // size: 0x8, address: 0x80924AD0 /* Compile unit: C:\rockband2\system\src\os\OnlineID.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C05F4 -> 0x805C0658 */ // Range: 0x805C05F4 -> 0x805C062C void * OnlineID::OnlineID(class OnlineID * const this /* r31 */) {} // Range: 0x805C062C -> 0x805C0638 void OnlineID::SetName() {} // Range: 0x805C0638 -> 0x805C0640 char * OnlineID::GetName() {} // Range: 0x805C0640 -> 0x805C0648 unsigned char OnlineID::__eq() {} // Range: 0x805C0648 -> 0x805C064C class BinStream & __ls() {} // Range: 0x805C064C -> 0x805C0658 class BinStream & __rs() {} /* Compile unit: C:\rockband2\system\src\os\PlatformMgr_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C0658 -> 0x805C6FA4 */ class Symbol t; // size: 0x4, address: 0x80A54AF4 class PlatformMgr ThePlatformMgr; // size: 0x21B0, address: 0x80986700 static char freadBuf[256]; // size: 0x100, address: 0x809888B0 static int seekSpot; // size: 0x4, address: 0x80A54AF8 static unsigned char gLastNetStatus; // size: 0x1, address: 0x80A54AFC class Symbol t; // size: 0x4, address: 0x80A54B00 class Symbol t; // size: 0x4, address: 0x80A54B08 // Range: 0x805C0658 -> 0x805C086C void * PlatformMgr::PlatformMgr(class PlatformMgr * const this /* r30 */) { // References // -> struct [anonymous] __vt__Q211PlatformMgr31WiiMessagingNotificationHandler; // -> struct [anonymous] __vt__11PlatformMgr; // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x805C086C -> 0x805C09E0 void * PlatformMgr::~PlatformMgr(class PlatformMgr * const this /* r29 */) { // References // -> struct [anonymous] __vt__11PlatformMgr; } // Range: 0x805C09E0 -> 0x805C0A18 void PlatformMgr::PreInit(class PlatformMgr * const this /* r31 */) {} struct NCDIpProfile { // total size: 0x14 unsigned char addr[4]; // offset 0x0, size 0x4 unsigned char netmask[4]; // offset 0x4, size 0x4 unsigned char gateway[4]; // offset 0x8, size 0x4 unsigned char dns1[4]; // offset 0xC, size 0x4 unsigned char dns2[4]; // offset 0x10, size 0x4 }; struct NCDIpAdjustProfile { // total size: 0xC long maxTransferUnit; // offset 0x0, size 0x4 long tcpRetransTimeout; // offset 0x4, size 0x4 long dhcpRetransCount; // offset 0x8, size 0x4 }; struct NCDProxyServerProfile { // total size: 0x148 unsigned char mode; // offset 0x0, size 0x1 unsigned char authType; // offset 0x1, size 0x1 unsigned char reserved[2]; // offset 0x2, size 0x2 signed char server[256]; // offset 0x4, size 0x100 unsigned short port; // offset 0x104, size 0x2 signed char username[33]; // offset 0x106, size 0x21 signed char password[33]; // offset 0x127, size 0x21 }; struct /* @class$11221PlatformMgr_Wii_cpp */ { // total size: 0x404 unsigned long isEnabled; // offset 0x0, size 0x4 signed char servers[1024]; // offset 0x4, size 0x400 }; struct /* @class$11222PlatformMgr_Wii_cpp */ { // total size: 0x108 unsigned long isEnabled1_1; // offset 0x0, size 0x4 unsigned long isAutomaticEnabled; // offset 0x4, size 0x4 signed char automatic[256]; // offset 0x8, size 0x100 }; struct NCDProxyProfile { // total size: 0x79C struct NCDProxyServerProfile http; // offset 0x0, size 0x148 struct NCDProxyServerProfile ssl; // offset 0x148, size 0x148 struct /* @class$11221PlatformMgr_Wii_cpp */ { // total size: 0x404 unsigned long isEnabled; // offset 0x0, size 0x4 signed char servers[1024]; // offset 0x4, size 0x400 } noProxy; // offset 0x290, size 0x404 struct /* @class$11222PlatformMgr_Wii_cpp */ { // total size: 0x108 unsigned long isEnabled1_1; // offset 0x0, size 0x4 unsigned long isAutomaticEnabled; // offset 0x4, size 0x4 signed char automatic[256]; // offset 0x8, size 0x100 } browser; // offset 0x694, size 0x108 }; struct NCDWiredProfile { // total size: 0x4 unsigned char reserved[4]; // offset 0x0, size 0x4 }; union /* @class$11208PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 }; struct /* @class$11207PlatformMgr_Wii_cpp */ { // total size: 0x18 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11208PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11209; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][5]; // offset 0x4, size 0x14 }; union /* @class$11211PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 }; struct /* @class$11210PlatformMgr_Wii_cpp */ { // total size: 0x38 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11211PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11212; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][13]; // offset 0x4, size 0x34 }; struct /* @class$11213PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 }; struct /* @class$11214PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 }; union /* @class$11206PlatformMgr_Wii_cpp */ { struct /* @class$11207PlatformMgr_Wii_cpp */ { // total size: 0x18 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11208PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11209; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][5]; // offset 0x4, size 0x14 } wep40; // offset 0x0, size 0x18 struct /* @class$11210PlatformMgr_Wii_cpp */ { // total size: 0x38 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11211PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11212; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][13]; // offset 0x4, size 0x34 } wep104; // offset 0x0, size 0x38 struct /* @class$11213PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 } tkip; // offset 0x0, size 0x44 struct /* @class$11214PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 } aes; // offset 0x0, size 0x44 }; struct NCDPrivacy { // total size: 0x48 unsigned short mode; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 union { // inferred union /* @class$11206PlatformMgr_Wii_cpp */ { struct /* @class$11207PlatformMgr_Wii_cpp */ { // total size: 0x18 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11208PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11209; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][5]; // offset 0x4, size 0x14 } wep40; // offset 0x0, size 0x18 struct /* @class$11210PlatformMgr_Wii_cpp */ { // total size: 0x38 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11211PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11212; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][13]; // offset 0x4, size 0x34 } wep104; // offset 0x0, size 0x38 struct /* @class$11213PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 } tkip; // offset 0x0, size 0x44 struct /* @class$11214PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 } aes; // offset 0x0, size 0x44 } __anon$11215; // offset 0x4, size 0x44 struct /* @class$11207PlatformMgr_Wii_cpp */ { // total size: 0x18 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11208PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11209; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][5]; // offset 0x4, size 0x14 } wep40; // offset 0x4, size 0x18 struct /* @class$11210PlatformMgr_Wii_cpp */ { // total size: 0x38 unsigned short keyId; // offset 0x0, size 0x2 union { // inferred union /* @class$11211PlatformMgr_Wii_cpp */ { unsigned short option; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x0, size 0x2 } __anon$11212; // offset 0x2, size 0x2 unsigned short option; // offset 0x2, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 }; unsigned char key[4][13]; // offset 0x4, size 0x34 } wep104; // offset 0x4, size 0x38 struct /* @class$11213PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 } tkip; // offset 0x4, size 0x44 struct /* @class$11214PlatformMgr_Wii_cpp */ { // total size: 0x44 unsigned short keyLen; // offset 0x0, size 0x2 unsigned char reserved[2]; // offset 0x2, size 0x2 unsigned char key[64]; // offset 0x4, size 0x40 } aes; // offset 0x4, size 0x44 }; }; struct NCDApConfig { // total size: 0x6C unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned char reserved[2]; // offset 0x22, size 0x2 struct NCDPrivacy privacy; // offset 0x24, size 0x48 }; struct NCDUsbapConfig { // total size: 0x18 unsigned short nickname[11]; // offset 0x0, size 0x16 unsigned char reserved[2]; // offset 0x16, size 0x2 }; struct /* @class$11216PlatformMgr_Wii_cpp */ { // total size: 0x38 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyId; // offset 0x22, size 0x2 unsigned char key[4][5]; // offset 0x24, size 0x14 }; struct /* @class$11217PlatformMgr_Wii_cpp */ { // total size: 0x58 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyId; // offset 0x22, size 0x2 unsigned char key[4][13]; // offset 0x24, size 0x34 }; struct /* @class$11218PlatformMgr_Wii_cpp */ { // total size: 0x64 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyLen; // offset 0x22, size 0x2 unsigned char key[64]; // offset 0x24, size 0x40 }; struct /* @class$11219PlatformMgr_Wii_cpp */ { // total size: 0x64 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyLen; // offset 0x22, size 0x2 unsigned char key[64]; // offset 0x24, size 0x40 }; struct NCDAossConfig { // total size: 0x158 struct /* @class$11216PlatformMgr_Wii_cpp */ { // total size: 0x38 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyId; // offset 0x22, size 0x2 unsigned char key[4][5]; // offset 0x24, size 0x14 } wep40; // offset 0x0, size 0x38 struct /* @class$11217PlatformMgr_Wii_cpp */ { // total size: 0x58 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyId; // offset 0x22, size 0x2 unsigned char key[4][13]; // offset 0x24, size 0x34 } wep104; // offset 0x38, size 0x58 struct /* @class$11218PlatformMgr_Wii_cpp */ { // total size: 0x64 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyLen; // offset 0x22, size 0x2 unsigned char key[64]; // offset 0x24, size 0x40 } tkip; // offset 0x90, size 0x64 struct /* @class$11219PlatformMgr_Wii_cpp */ { // total size: 0x64 unsigned char ssid[32]; // offset 0x0, size 0x20 unsigned short ssidLength; // offset 0x20, size 0x2 unsigned short keyLen; // offset 0x22, size 0x2 unsigned char key[64]; // offset 0x24, size 0x40 } aes; // offset 0xF4, size 0x64 }; union /* @class$11220PlatformMgr_Wii_cpp */ { struct NCDApConfig manual; // offset 0x0, size 0x6C struct NCDUsbapConfig usbap; // offset 0x0, size 0x18 struct NCDAossConfig aoss; // offset 0x0, size 0x158 struct NCDApConfig rakuraku; // offset 0x0, size 0x6C }; struct NCDWirelessProfile { // total size: 0x15C unsigned short rateset; // offset 0x0, size 0x2 unsigned char configMethod; // offset 0x2, size 0x1 unsigned char retryLimit; // offset 0x3, size 0x1 union /* @class$11220PlatformMgr_Wii_cpp */ { struct NCDApConfig manual; // offset 0x0, size 0x6C struct NCDUsbapConfig usbap; // offset 0x0, size 0x18 struct NCDAossConfig aoss; // offset 0x0, size 0x158 struct NCDApConfig rakuraku; // offset 0x0, size 0x6C } config; // offset 0x4, size 0x158 }; union /* @class$11223PlatformMgr_Wii_cpp */ { struct NCDWiredProfile wired; // offset 0x0, size 0x4 struct NCDWirelessProfile wireless; // offset 0x0, size 0x15C }; struct NCDProfile { // total size: 0x91C unsigned char flags; // offset 0x0, size 0x1 unsigned char reserved[3]; // offset 0x1, size 0x3 struct NCDIpProfile ip; // offset 0x4, size 0x14 struct NCDIpAdjustProfile adjust; // offset 0x18, size 0xC struct NCDProxyProfile proxy; // offset 0x24, size 0x79C union /* @class$11223PlatformMgr_Wii_cpp */ { struct NCDWiredProfile wired; // offset 0x0, size 0x4 struct NCDWirelessProfile wireless; // offset 0x0, size 0x15C } netif; // offset 0x7C0, size 0x15C }; struct NCDConfig { // total size: 0x1B5C unsigned long version; // offset 0x0, size 0x4 unsigned char selectedMedia; // offset 0x4, size 0x1 unsigned char nwc24Permission; // offset 0x5, size 0x1 unsigned char linkTimeout; // offset 0x6, size 0x1 unsigned char reserved[1]; // offset 0x7, size 0x1 struct NCDProfile profiles[3]; // offset 0x8, size 0x1B54 }; // Range: 0x805C0A18 -> 0x805C0B08 void PlatformMgr::Init(class PlatformMgr * const this /* r31 */) { // Local variables struct NCDConfig config; // r1+0x8 int ret; // r0 // References // -> class HttpWii TheHttpWii; // -> int (* CNTSDIsInsertedRSO)(); // -> long (* CNTSDInitRSO)(void *, long); // -> class ObjectDir * sMainDir; } // Range: 0x805C0B08 -> 0x805C0B80 void PlatformMgr::Terminate(class PlatformMgr * const this /* r30 */) { // References // -> class HttpWii TheHttpWii; } static class Symbol setup_overflow; // size: 0x4, address: 0x80A54B10 class WiiControllerOverflowMsg : public Message { // total size: 0x8 }; static class WiiControllerOverflowMsg msg; // size: 0x8, address: 0x809889C0 static class PlatformMgrOpCompleteMsg msg; // size: 0x8, address: 0x809889D8 enum ECOperation { EC_OP_Invalid = 0, EC_OP_PurchaseTitle = 1, EC_OP_Unused1 = 2, EC_OP_SyncTickets = 3, EC_OP_RefreshCachedBalance = 4, EC_OP_PurchasePoints = 5, EC_OP_GetTitle = 6, EC_OP_CheckRegistration = 7, EC_OP_Register = 8, EC_OP_Unregister = 9, EC_OP_Transfer = 10, EC_OP_DeleteOwnership = 11, EC_OP_PurchaseGiftTitle = 12, EC_OP_AcceptGiftTitle = 13, EC_OP_CheckDeviceStatus = 14, EC_OP_SyncRegistration = 15, EC_OP_Connect = 16, EC_OP_DownloadContents = 17, EC_OP_Subscribe = 18, EC_OP_GetChallenge = 19, EC_OP_UpdateStatus = 20, EC_OP_ListTitles = 21, EC_OP_ListContentSets = 22, EC_OP_ListSubscriptionPricings = 23, EC_OP_ListPointsPricings = 24, EC_OP_ListECardItems = 25, EC_OP_ListTitleContents = 26, }; enum ECOpPhase { EC_PHASE_NoPhase = 0, EC_PHASE_Starting = 1, EC_PHASE_Done = 2, EC_PHASE_PurchasingTitle = 3, EC_PHASE_Unused1 = 4, EC_PHASE_DownloadingContent = 5, EC_PHASE_GettingTicketsFromServer = 6, EC_PHASE_GettingPointsBalance = 7, EC_PHASE_PurchasingPoints = 8, EC_PHASE_CheckingRegistrationStatus = 9, EC_PHASE_Registering = 10, EC_PHASE_Unregistering = 11, EC_PHASE_Transfer = 12, EC_PHASE_DeletingOwnership = 13, EC_PHASE_AcceptingGiftTitle = 14, EC_PHASE_GettingDeviceStatus = 15, EC_PHASE_SyncingRegistration = 16, EC_PHASE_Connecting = 17, EC_PHASE_UpdatingStatus = 18, EC_PHASE_ListingTitles = 19, EC_PHASE_ListingContentSets = 20, EC_PHASE_ListingSubscriptionPricings = 21, EC_PHASE_ListingPointsPricings = 22, EC_PHASE_ListingECardItems = 23, EC_PHASE_GettingECardBalance = 24, EC_PHASE_Subscribing = 25, EC_PHASE_GettingChallenge = 26, EC_PHASE_ListingTitleContents = 27, }; struct ECProgress { // total size: 0x9C long status; // offset 0x0, size 0x4 enum ECOperation operation; // offset 0x4, size 0x4 enum ECOpPhase phase; // offset 0x8, size 0x4 long isCancelRequested; // offset 0xC, size 0x4 unsigned long totalSize; // offset 0x10, size 0x4 unsigned long downloadedSize; // offset 0x14, size 0x4 long errCode; // offset 0x18, size 0x4 char errInfo[128]; // offset 0x1C, size 0x80 }; // Range: 0x805C0B80 -> 0x805C2698 void PlatformMgr::Poll(class PlatformMgr * const this /* r27 */) { // Local variables class UIChangedMsg msg; // r1+0x208 class StorageChangedMsg msg; // r1+0x200 class ConnectionStatusChangedMsg msg; // r1+0x1F8 class qList lstIDs; // r1+0x1F0 struct _List_iterator it; // r1+0xD4 class TextMessage * wiiMessage; // r1+0xD0 struct _List_iterator it2; // r1+0xCC char * addfriend; // r28 class Friend * addFriendButton; // r1+0xC8 int i; // r29 struct _List_iterator it; // r1+0xC4 class Friend * newFriend; // r1+0xC0 long rv; // r29 struct ECProgress progress; // r1+0x228 int i; // r28 int percent; // r26 // References // -> class ContentMgr & TheContentMgr; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__24PlatformMgrOpCompleteMsg; // -> class Symbol t; // -> static class PlatformMgrOpCompleteMsg msg; // -> struct [anonymous] __vt__26ConnectionStatusChangedMsg; // -> class Symbol t; // -> static unsigned char gLastNetStatus; // -> struct [anonymous] __vt__17StorageChangedMsg; // -> class Symbol t; // -> int (* CNTSDIsInsertedRSO)(); // -> struct [anonymous] __vt__24WiiControllerOverflowMsg; // -> class Symbol t; // -> static class WiiControllerOverflowMsg msg; // -> static class Symbol setup_overflow; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__7UIPanel; // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__12UIChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Net TheNet; // -> const char * gNullStr; } // Range: 0x805C2698 -> 0x805C26A0 unsigned char PlatformMgr::IsConnected() {} // Range: 0x805C26A0 -> 0x805C26A4 void PlatformMgr::SetNotifyUILocation() {} // Range: 0x805C26A4 -> 0x805C26AC unsigned char PlatformMgr::IsEthernetCableConnected() {} // Range: 0x805C26AC -> 0x805C26B4 unsigned char PlatformMgr::IsGuideShowing() {} // Range: 0x805C26B4 -> 0x805C26C4 class DataNode PlatformMgr::OnSignInUsers() {} // Range: 0x805C26C4 -> 0x805C26CC unsigned char PlatformMgr::HasOnlinePrivilege() {} // Range: 0x805C26CC -> 0x805C2708 unsigned char PlatformMgr::PlayerHasOnlinePrivilege(const class PlatformMgr * const this /* r31 */) {} // Range: 0x805C2708 -> 0x805C2754 unsigned char PlatformMgr::UserHasOnlinePrivilege(const class PlatformMgr * const this /* r31 */) {} // Range: 0x805C2754 -> 0x805C275C unsigned char PlatformMgr::CanSeeUserCreatedContent() {} // Range: 0x805C275C -> 0x805C2760 void PlatformMgr::GetOnlineID() {} // Range: 0x805C2760 -> 0x805C2764 void PlatformMgr::ShowMarketplaceUI() {} // Range: 0x805C2764 -> 0x805C2768 void PlatformMgr::ShowFriendsUI() {} // Range: 0x805C2768 -> 0x805C276C void PlatformMgr::EnableXMP() {} // Range: 0x805C276C -> 0x805C2770 void PlatformMgr::DisableXMP() {} // Range: 0x805C2770 -> 0x805C2774 void PlatformMgr::SetScreenSaver() {} // Range: 0x805C2774 -> 0x805C27B0 unsigned char PlatformMgr::IsPlayerSignedIn(const class PlatformMgr * const this /* r31 */) { // Local variables int padNum; // r0 } // Range: 0x805C27B0 -> 0x805C27EC unsigned char PlatformMgr::IsUserSignedIn(const class PlatformMgr * const this /* r31 */) { // Local variables int padNum; // r0 } // Range: 0x805C27EC -> 0x805C2838 unsigned char PlatformMgr::HasUserSigninChanged(const class PlatformMgr * const this /* r31 */) { // Local variables int padNum; // r0 } // Range: 0x805C2838 -> 0x805C2840 unsigned char PlatformMgr::IsSignedIntoLive() {} // Range: 0x805C2840 -> 0x805C2848 char * PlatformMgr::GetName() {} // Range: 0x805C2848 -> 0x805C2850 void PlatformMgr::EnumerateFriends() {} // Range: 0x805C2850 -> 0x805C2998 void PlatformMgr::EnumerateFriends(class PlatformMgr * const this /* r27 */, class vector & friends /* r28 */, class Object * callback /* r29 */, enum FriendType type /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C2998 -> 0x805C2AA8 void PlatformMgr::EnumerateMessages(class PlatformMgr * const this /* r29 */, class vector & messages /* r30 */, class Object * callback /* r31 */) { // References // -> struct [anonymous] __vt__Q26Quazal11ResultRange; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C2AA8 -> 0x805C2AAC void PlatformMgr::CheckMailbox() {} // Range: 0x805C2AAC -> 0x805C2AB0 void PlatformMgr::RunNetStartUtility() {} // Range: 0x805C2AB0 -> 0x805C2AB8 int PlatformMgr::GetOwnerPlayerOfGuestPlayer() {} // Range: 0x805C2AB8 -> 0x805C2AC0 unsigned char PlatformMgr::IsPadAGuest() {} // Range: 0x805C2AC0 -> 0x805C2AC8 unsigned char PlatformMgr::IsPlayerAGuest() {} // Range: 0x805C2AC8 -> 0x805C2B44 void PlatformMgr::Draw(class PlatformMgr * const this /* r31 */) {} // Range: 0x805C2B44 -> 0x805C2B90 void PlatformMgr::InitGQR() {} // Range: 0x805C2B90 -> 0x805C2B94 void PlatformMgr::SetUpDRM() {} // Range: 0x805C2B94 -> 0x805C2B98 void PlatformMgr::ClearDRM() {} // Range: 0x805C2B98 -> 0x805C2B9C void PlatformMgr::AddSongInfo() {} // Range: 0x805C2B9C -> 0x805C2BA4 int PlatformMgr::SigninMask() {} // Range: 0x805C2BA4 -> 0x805C2BAC int PlatformMgr::SigninChangedMask() {} // Range: 0x805C2BAC -> 0x805C2BCC unsigned char PlatformMgr::IsSignedIn() {} // Range: 0x805C2BCC -> 0x805C2CD0 unsigned char PlatformMgr::OnMsg(class PlatformMgr * const this /* r29 */, const class ButtonDownMsg & msg /* r30 */) { // References // -> class UIManager TheUI; } // Range: 0x805C2CD0 -> 0x805C2D2C unsigned char PlatformMgr::OnMsg(class PlatformMgr * const this /* r30 */) {} static class DiskErrorMsg msg; // size: 0x8, address: 0x809889F0 class WiiDiscErrorMsg : public Message { // total size: 0x8 }; static class WiiDiscErrorMsg msg; // size: 0x8, address: 0x80988A08 // Range: 0x805C2D2C -> 0x805C3004 void PlatformMgr::SetDiscError(class PlatformMgr * const this /* r30 */, unsigned char error /* r29 */) { // References // -> struct [anonymous] __vt__15WiiDiscErrorMsg; // -> class Symbol t; // -> static class WiiDiscErrorMsg msg; // -> class Net TheNet; // -> class NetSession * TheNetSession; // -> struct [anonymous] __vt__12DiskErrorMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class DiskErrorMsg msg; } // Range: 0x805C3088 -> 0x805C31B4 void PlatformMgr::AddFriend(class PlatformMgr * const this /* r27 */, const char * key /* r28 */) { // Local variables unsigned long long friendkey; // r29 // References // -> const char * kAssertStr; // -> class Net TheNet; // -> class Debug TheDebug; } // Range: 0x805C31B4 -> 0x805C32BC void PlatformMgr::RemoveFriend(class PlatformMgr * const this /* r27 */, const char * key /* r28 */) { // Local variables unsigned long long friendkey; // r29 // References // -> const char * kAssertStr; // -> class Net TheNet; // -> class Debug TheDebug; } // Range: 0x805C32BC -> 0x805C33C4 void PlatformMgr::AcceptFriendship(class PlatformMgr * const this /* r27 */, const char * key /* r28 */) { // Local variables unsigned long long friendkey; // r29 // References // -> const char * kAssertStr; // -> class Net TheNet; // -> class Debug TheDebug; } // Range: 0x805C33C4 -> 0x805C34CC void PlatformMgr::DeclineFriendship(class PlatformMgr * const this /* r27 */, const char * key /* r28 */) { // Local variables unsigned long long friendkey; // r29 // References // -> const char * kAssertStr; // -> class Net TheNet; // -> class Debug TheDebug; } // Range: 0x805C34CC -> 0x805C3558 char * PlatformMgr::GetFriendCode() { // Local variables unsigned long long friendkey; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C3558 -> 0x805C35CC char * PlatformMgr::GetUsernameFull() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C35CC -> 0x805C3698 unsigned char PlatformMgr::IsYourKey(const char * key /* r29 */) { // Local variables unsigned long long yourKey; // r0 unsigned long long friendkey; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C3698 -> 0x805C3730 unsigned char PlatformMgr::CheckFriendCode(const char * key /* r29 */) { // Local variables unsigned long long friendkey; // r31 // References // -> class Debug TheDebug; } // Range: 0x805C3730 -> 0x805C3734 void PlatformMgr::ChangeFriendNickname() {} // Range: 0x805C3734 -> 0x805C373C void PlatformMgr::SetConnected() {} static char buffer[256]; // size: 0x100, address: 0x80988A10 // Range: 0x805C373C -> 0x805C3810 char * PlatformMgr::ConvertUsername(const char * username /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static char buffer[256]; } class NetStartUtilityFinishedMsg : public Message { // total size: 0x8 }; static class NetStartUtilityFinishedMsg msg; // size: 0x8, address: 0x80988B20 // Range: 0x805C3810 -> 0x805C3B44 void PlatformMgr::InitNintendoConnection(class PlatformMgr * const this /* r30 */) { // Local variables int result; // r1+0x10 // References // -> struct [anonymous] __vt__26NetStartUtilityFinishedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class NetStartUtilityFinishedMsg msg; } // Range: 0x805C3BC8 -> 0x805C3BD0 unsigned char PlatformMgr::CheckProfane() {} // Range: 0x805C3BD0 -> 0x805C3C38 int PlatformMgr::FinishProfane() { // Local variables unsigned char result; // r1+0x9 unsigned char fail; // r1+0x8 } static class NetStartUtilityFinishedMsg msg; // size: 0x8, address: 0x80988B38 // Range: 0x805C3C38 -> 0x805C3E60 void PlatformMgr::SendNetStartComplete(class PlatformMgr * const this /* r30 */) { // References // -> struct [anonymous] __vt__26NetStartUtilityFinishedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static class NetStartUtilityFinishedMsg msg; } // Range: 0x805C3E60 -> 0x805C4058 void PlatformMgr::CloseNintendoConnection(class PlatformMgr * const this /* r31 */, unsigned char notify /* r30 */) { // Local variables class ConnectionStatusChangedMsg msg; // r1+0x28 // References // -> struct [anonymous] __vt__26ConnectionStatusChangedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> static unsigned char gLastNetStatus; } // Range: 0x805C4058 -> 0x805C4098 void * ecAlloc() { // Local variables void * p; // r0 } // Range: 0x805C4098 -> 0x805C40A8 void ecFree() {} // Range: 0x805C40A8 -> 0x805C40F0 static unsigned long long MakeDataTitleId() { // Local variables unsigned long long dtTitleId; // r1+0x8 } // Range: 0x805C40F0 -> 0x805C4120 unsigned char PlatformMgr::NeedSync() { // Local variables int ret; // r0 } // Range: 0x805C4120 -> 0x805C4378 unsigned char PlatformMgr::InitCommerce(class PlatformMgr * const this /* r31 */, class Object * callback /* r26 */) { // Local variables long opId; // r0 char * appId; // r28 char * tin; // r27 int retVal; // r0 enum NHTTPError myError; // r0 // References // -> class Debug TheDebug; } // Range: 0x805C4378 -> 0x805C4428 void PlatformMgr::DestroyCommerce(class PlatformMgr * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805C4428 -> 0x805C44C8 unsigned char PlatformMgr::UpdateTitle(class PlatformMgr * const this /* r29 */) { // Local variables long rv; // r0 unsigned long long titleId; // r31 // References // -> class Debug TheDebug; } // Range: 0x805C44C8 -> 0x805C45F4 unsigned char PlatformMgr::RequestPurchase(class PlatformMgr * const this /* r28 */, const char * dtCode /* r29 */, const char * storeIndex /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805C45F4 -> 0x805C474C unsigned char PlatformMgr::PurchaseContentUnit(class PlatformMgr * const this /* r28 */) { // Local variables struct ECContentCatalogInfo * c; // r29 // References // -> class Debug TheDebug; } // Range: 0x805C474C -> 0x805C483C unsigned char PlatformMgr::DownloadContentUnit(class PlatformMgr * const this /* r27 */) { // Local variables long opId; // r0 unsigned long long titleId; // r29 unsigned short contentIdxs[2]; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x805C483C -> 0x805C493C unsigned char PlatformMgr::QueryOffers(class PlatformMgr * const this /* r26 */, const char * dtCode /* r29 */, class map & contents /* r27 */, class Object * callback /* r28 */) { // Local variables long opId; // r29 // References // -> class Debug TheDebug; } // Range: 0x805C493C -> 0x805C4AB0 unsigned char PlatformMgr::CheckPoints(class PlatformMgr * const this /* r28 */) { // Local variables long rv; // r0 long points; // r1+0x8 long price; // r29 int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x805C4AB0 -> 0x805C4B18 int PlatformMgr::CurrentPoints() { // Local variables long rv; // r0 long points; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x805C4B18 -> 0x805C4D20 int PlatformMgr::CheckContentSize(class PlatformMgr * const this /* r28 */) { // Local variables long fileSize; // r31 unsigned long inodes; // r30 struct ECContentCatalogInfo * c; // r24 int i; // r29 int j; // r23 long round; // r0 unsigned long ohblocks; // r1+0x10 unsigned long ohinodes; // r1+0xC int ret; // r0 unsigned long answer; // r1+0x8 long result; // r0 unsigned long userblocks; // r3 // References // -> class Debug TheDebug; // -> class ContentMgr & TheContentMgr; } // Range: 0x805C4D20 -> 0x805C4E14 int PlatformMgr::GetContentSize(class PlatformMgr * const this /* r25 */) { // Local variables unsigned long fileSize; // r29 struct ECContentCatalogInfo * c; // r28 int i; // r27 int j; // r26 unsigned long ohblocks; // r1+0xC unsigned long ohinodes; // r1+0x8 int ret; // r0 unsigned long userblocks; // r3 } // Range: 0x805C4E14 -> 0x805C4EC8 unsigned char PlatformMgr::DeleteContent(class PlatformMgr * const this /* r28 */, unsigned char sd /* r29 */) { // Local variables unsigned char result; // r31 int i; // r30 unsigned char ret; // r0 // References // -> class ContentMgr & TheContentMgr; } // Range: 0x805C4EC8 -> 0x805C4F94 void PlatformMgr::VerifyDisc() { // Local variables class File * f; // r31 int size; // r0 // References // -> static char freadBuf[256]; // -> static int seekSpot; } // Range: 0x805C4F94 -> 0x805C4F9C unsigned char PlatformMgr::DoDNSLookup() {} // Range: 0x805C4F9C -> 0x805C4FA4 unsigned char PlatformMgr::FinishDNSLookup() {} // Range: 0x805C4FA4 -> 0x805C4FB8 unsigned char PlatformMgr::InviteReceived(class PlatformMgr * const this /* r4 */) { // Local variables unsigned char ret; // r0 } // Range: 0x805C4FB8 -> 0x805C505C unsigned char PlatformMgr::OnMsg(class PlatformMgr * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C505C -> 0x805C5068 void WiiMessagingNotificationHandler::DeliverInstantMessage() {} // Range: 0x805C5068 -> 0x805C5070 int PlatformMgr::GetLastDWCError() {} // Range: 0x805C5070 -> 0x805C5120 unsigned char PlatformMgr::SetParentalControlPin(class PlatformMgr * const this /* r30 */, class String & pin /* r31 */) { // Local variables int rv; // r0 // References // -> class Debug TheDebug; } // Range: 0x805C5120 -> 0x805C51AC void PlatformMgr::CheckDPD() { // Local variables long i; // r31 // References // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A54B1C static class Symbol _s; // size: 0x4, address: 0x80A54B24 static class Symbol _s; // size: 0x4, address: 0x80A54B2C static class Symbol _s; // size: 0x4, address: 0x80A54B34 static class Symbol _s; // size: 0x4, address: 0x80A54B3C static class Symbol _s; // size: 0x4, address: 0x80A54B44 static class Symbol _s; // size: 0x4, address: 0x80A54B4C static class Symbol _s; // size: 0x4, address: 0x80A54B54 static class Symbol _s; // size: 0x4, address: 0x80A54B5C static class Symbol _s; // size: 0x4, address: 0x80A54B64 static class Symbol _s; // size: 0x4, address: 0x80A54B6C static class Symbol _s; // size: 0x4, address: 0x80A54B74 static class Symbol _s; // size: 0x4, address: 0x80A54B7C static class Symbol _s; // size: 0x4, address: 0x80A54B84 static class Symbol _s; // size: 0x4, address: 0x80A54B8C static class Symbol _s; // size: 0x4, address: 0x80A54B94 static class Symbol _s; // size: 0x4, address: 0x80A54B9C static class Symbol _s; // size: 0x4, address: 0x80A54BA4 static class Symbol _s; // size: 0x4, address: 0x80A54BAC static class Symbol _s; // size: 0x4, address: 0x80A54BB4 static class Symbol _s; // size: 0x4, address: 0x80A54BBC static class Symbol _s; // size: 0x4, address: 0x80A54BC4 static class Symbol _s; // size: 0x4, address: 0x80A54BCC static class Symbol _s; // size: 0x4, address: 0x80A54BD4 static class Symbol _s; // size: 0x4, address: 0x80A54BDC static class Symbol _s; // size: 0x4, address: 0x80A54BE4 static class Symbol _s; // size: 0x4, address: 0x80A54BEC static class Symbol _s; // size: 0x4, address: 0x80A54BF4 static class Symbol _s; // size: 0x4, address: 0x80A54BFC static class Symbol _s; // size: 0x4, address: 0x80A54C04 static class Symbol _s; // size: 0x4, address: 0x80A54C0C static class Symbol _s; // size: 0x4, address: 0x80A54C14 static class Symbol _s; // size: 0x4, address: 0x80A54C1C static class Symbol _s; // size: 0x4, address: 0x80A54C24 static class Symbol _s; // size: 0x4, address: 0x80A54C2C static class Symbol _s; // size: 0x4, address: 0x80A54C34 static class Symbol _s; // size: 0x4, address: 0x80A54C3C static class Symbol _s; // size: 0x4, address: 0x80A54C44 static class Symbol _s; // size: 0x4, address: 0x80A54C4C static class Symbol _s; // size: 0x4, address: 0x80A54C54 static class Symbol _s; // size: 0x4, address: 0x80A54C5C static class Symbol _s; // size: 0x4, address: 0x80A54C64 static class Symbol _s; // size: 0x4, address: 0x80A54C6C static class Symbol _s; // size: 0x4, address: 0x80A54C74 static class Symbol _s; // size: 0x4, address: 0x80A54C7C static class Symbol _s; // size: 0x4, address: 0x80A54C84 static class Symbol _s; // size: 0x4, address: 0x80A54C8C static class Symbol _s; // size: 0x4, address: 0x80A54C94 static class Symbol _s; // size: 0x4, address: 0x80A54C9C static class Symbol _s; // size: 0x4, address: 0x80A54CA4 static class Symbol _s; // size: 0x4, address: 0x80A54CAC static class Symbol _s; // size: 0x4, address: 0x80A54CB4 static class Symbol _s; // size: 0x4, address: 0x80A54CBC static class Symbol _s; // size: 0x4, address: 0x80A54CC4 static class Symbol _s; // size: 0x4, address: 0x80A54CCC static class Symbol _s; // size: 0x4, address: 0x80A54CD4 static class Symbol _s; // size: 0x4, address: 0x80A54CDC static class Symbol _s; // size: 0x4, address: 0x80A54CE4 static class Symbol _s; // size: 0x4, address: 0x80A54CEC static class Symbol _s; // size: 0x4, address: 0x80A54CF4 static class Symbol _s; // size: 0x4, address: 0x80A54CFC static class Symbol _s; // size: 0x4, address: 0x80A54D04 static class Symbol _s; // size: 0x4, address: 0x80A54D0C static class Symbol _s; // size: 0x4, address: 0x80A54D14 static class Symbol _s; // size: 0x4, address: 0x80A54D1C static class Symbol _s; // size: 0x4, address: 0x80A54D24 // Range: 0x805C51AC -> 0x805C6F04 class DataNode PlatformMgr::Handle(class PlatformMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x78 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } struct { // total size: 0xC } __vt__24WiiControllerOverflowMsg; // size: 0xC, address: 0x80925790 struct { // total size: 0x8 } __RTTI__24WiiControllerOverflowMsg; // size: 0x8, address: 0x809257C8 struct { // total size: 0xC } __vt__15WiiDiscErrorMsg; // size: 0xC, address: 0x809257D0 struct { // total size: 0x8 } __RTTI__15WiiDiscErrorMsg; // size: 0x8, address: 0x80925800 struct { // total size: 0x6C } __vt__11PlatformMgr; // size: 0x6C, address: 0x80925868 struct { // total size: 0x8 } __RTTI__11PlatformMgr; // size: 0x8, address: 0x80925900 struct { // total size: 0x10 } __vt__Q211PlatformMgr31WiiMessagingNotificationHandler; // size: 0x10, address: 0x80925908 struct { // total size: 0x8 } __RTTI__Q211PlatformMgr31WiiMessagingNotificationHandler; // size: 0x8, address: 0x80925960 struct { // total size: 0xC } __vt__26NetStartUtilityFinishedMsg; // size: 0xC, address: 0x80925A80 struct { // total size: 0x8 } __RTTI__26NetStartUtilityFinishedMsg; // size: 0x8, address: 0x80925AB8 struct { // total size: 0x24 } __vt__Q26Quazal11TextMessage; // size: 0x24, address: 0x80925AF8 struct { // total size: 0x8 } __RTTI__Q26Quazal11TextMessage; // size: 0x8, address: 0x80925B68 struct { // total size: 0x8 } __RTTI__Q26Quazal16_DDL_TextMessage; // size: 0x8, address: 0x80925BB8 struct { // total size: 0xC } __vt__Q26Quazal40CustomDataHolder; // size: 0xC, address: 0x80925BC0 struct { // total size: 0x8 } __RTTI__Q26Quazal40CustomDataHolder; // size: 0x8, address: 0x80925C10 struct { // total size: 0x8 } __RTTI__Q26Quazal28MessagingNotificationHandler; // size: 0x8, address: 0x80925C50 struct { // total size: 0x24 } __vt__Q26Quazal11UserMessage; // size: 0x24, address: 0x80925C58 struct { // total size: 0x8 } __RTTI__Q26Quazal11UserMessage; // size: 0x8, address: 0x80925CB8 struct { // total size: 0xC } __vt__Q26Quazal16MessageRecipient; // size: 0xC, address: 0x80925CC0 struct { // total size: 0x8 } __RTTI__Q26Quazal16MessageRecipient; // size: 0x8, address: 0x80925D00 struct { // total size: 0x8 } __RTTI__Q26Quazal16_DDL_UserMessage; // size: 0x8, address: 0x80925D40 struct { // total size: 0xC } __vt__Q26Quazal21_DDL_MessageRecipient; // size: 0xC, address: 0x80925D48 struct { // total size: 0x8 } __RTTI__Q26Quazal21_DDL_MessageRecipient; // size: 0x8, address: 0x80925D80 struct { // total size: 0xC } __vt__Q26Quazal48AnyObjectHolder; // size: 0xC, address: 0x80925E10 struct { // total size: 0x8 } __RTTI__Q26Quazal48AnyObjectHolder; // size: 0x8, address: 0x80925E60 struct { // total size: 0x8 } __RTTI__Q26Quazal22Holder; // size: 0x8, address: 0x80925E88 struct { // total size: 0x8 } __RTTI__Q26Quazal4Data; // size: 0x8, address: 0x80925EB8 struct { // total size: 0x8 } __RTTI__Q26Quazal9_DDL_Data; // size: 0x8, address: 0x80925EE0 struct { // total size: 0x8 } __RTTI__PPQ26Quazal11TextMessage; // size: 0x8, address: 0x80926020 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std43_Rb_tree_node>; // size: 0x8, address: 0x80926090 // Range: 0x805C6F04 -> 0x805C6F54 static void __sinit_\PlatformMgr_Wii_cpp() { // References // -> class PlatformMgr ThePlatformMgr; } struct { // total size: 0x24 } __vt__Q26Quazal16_DDL_TextMessage; // size: 0x24, address: 0x80973720 const class DateTime & Never; // size: 0x4, address: 0x80A55EA8 struct { // total size: 0x24 } __vt__Q26Quazal16_DDL_UserMessage; // size: 0x24, address: 0x809759B8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C6FA4 -> 0x805C72A4 */ // Range: 0x805C6FA4 -> 0x805C7004 char * MakeString(const char * fmt /* r0 */, char * t1 /* r30 */, long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805C7004 -> 0x805C7064 char * MakeString(const char * fmt /* r0 */, char * t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805C70E8 -> 0x805C7158 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, unsigned long long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805C7158 -> 0x805C71A4 char * MakeString(const char * fmt /* r0 */, enum NHTTPError t1 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805C71A4 -> 0x805C7204 char * MakeString(const char * fmt /* r0 */, long t1 /* r30 */, unsigned long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\os\HomeMenu_Wii.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C7414 -> 0x805C741C */ // Range: 0x805C7414 -> 0x805C741C unsigned char HomeMenu::HomeMenuActive() {} /* Compile unit: C:\rockband2\system\src\os\Friend.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C741C -> 0x805C7428 */ // Range: 0x805C741C -> 0x805C7420 void Friend::SetName() {} // Range: 0x805C7420 -> 0x805C7428 void Friend::SetUsername() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_map.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C7428 -> 0x805C7CF0 */ // Range: 0x805C7428 -> 0x805C7528 char * PlatformMgr::GetName(int padNum /* r28 */, unsigned char numbered /* r29 */) { // References // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; } // Range: 0x805C7528 -> 0x805C7594 char * PlatformMgr::GetNameForLocalLB() { // References // -> class PlatformMgr ThePlatformMgr; // -> class Net TheNet; } // Range: 0x805C7594 -> 0x805C76F0 void PlatformMgr::DeleteMessage(class PlatformMgr * const this /* r29 */, unsigned int messageID /* r30 */) { // Local variables class qList lstIDs; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C76F0 -> 0x805C79F4 void PlatformMgr::SendMsg(class PlatformMgr * const this /* r27 */, class Friend * dest /* r24 */, class String & subject /* r28 */, class String & body /* r29 */, class MemStream & data /* r23 */) { // Local variables unsigned int destPID; // r0 unsigned int * gid; // r23 class CustomDataHolder holder; // r1+0x10 // References // -> struct [anonymous] __vt__Q26Quazal16MessageRecipient; // -> struct [anonymous] __vt__Q26Quazal40CustomDataHolder; // -> class PlatformMgr ThePlatformMgr; // -> struct [anonymous] __vt__Q26Quazal11TextMessage; // -> struct [anonymous] __vt__Q26Quazal16_DDL_TextMessage; // -> const class DateTime & Never; // -> struct [anonymous] __vt__Q26Quazal11UserMessage; // -> struct [anonymous] __vt__Q26Quazal16_DDL_UserMessage; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Net TheNet; } // Range: 0x805C79F4 -> 0x805C7C74 void PlatformMgr::AcceptInvite(class PlatformMgr * const this /* r31 */, const char * sessionID /* r30 */) { // Local variables unsigned int gatheringID; // r0 class InviteAcceptedMsg msg; // r1+0x38 // References // -> struct [anonymous] __vt__17InviteAcceptedMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> class Debug TheDebug; } // Range: 0x805C7C74 -> 0x805C7CF0 unsigned char PlatformMgr::IsUserAGuest(const class PlatformMgr * const this /* r30 */) { // Local variables int padNum; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Services\Foundation\Protocol\UserMessageDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C7CF0 -> 0x805C7DFC */ // Range: 0x805C7CF0 -> 0x805C7D74 void * _DDL_UserMessage::~_DDL_UserMessage(class _DDL_UserMessage * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Services\Messaging\Protocol\TextMessageDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C7DFC -> 0x805C7E98 */ // Range: 0x805C7DFC -> 0x805C7E98 void * _DDL_TextMessage::~_DDL_TextMessage(class _DDL_TextMessage * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Services\Foundation\Protocol\MessageRecipientDDL.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C7E98 -> 0x805C7F18 */ // Range: 0x805C7E98 -> 0x805C7ED8 void * _DDL_MessageRecipient::~_DDL_MessageRecipient(class _DDL_MessageRecipient * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\netz\Wii\include\Core\Holder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C7F18 -> 0x805C7F90 */ // Range: 0x805C7F18 -> 0x805C7F90 void * Holder::~Holder(class Holder * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Extensions\Any\AnyObjectHolder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C7F90 -> 0x805C808C */ // Range: 0x805C7F90 -> 0x805C800C void * AnyObjectHolder::~AnyObjectHolder(class AnyObjectHolder * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\os\PlatformMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C808C -> 0x805C8094 */ // Range: 0x805C808C -> 0x805C8094 unsigned char PlatformMgr::IsConfirmCancelSwapped() {} /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Services\Friends\Protocol\FriendData.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C8094 -> 0x805C810C */ // Range: 0x805C8094 -> 0x805C810C void * FriendData::~FriendData(class FriendData * const this /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C810C -> 0x805C86F0 */ // Range: 0x805C810C -> 0x805C8410 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x805C8410 -> 0x805C85C4 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std43_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805C85C4 -> 0x805C86F0 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C86F0 -> 0x805C8894 */ // Range: 0x805C86F0 -> 0x805C877C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x805C877C -> 0x805C8808 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x805C8808 -> 0x805C8894 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C8894 -> 0x805C89CC */ // Range: 0x805C8894 -> 0x805C89CC void vector::_M_insert_overflow(class vector * const this /* r27 */, class TextMessage * * __pos /* r28 */, class TextMessage * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class TextMessage * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ26Quazal11TextMessage; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\os\System.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C89CC -> 0x805C9A8C */ static class Symbol gSystemLanguage; // size: 0x4, address: 0x80A54D28 static class DataArray * gSystemConfig; // size: 0x4, address: 0x80A54D2C static class DataArray * gSystemTitles; // size: 0x4, address: 0x80A54D30 static int gUsingCD; // size: 0x4, address: 0x80A54D34 enum GfxMode { kOldGfx = 0, kNewGfx = 1, }; static enum GfxMode gGfxMode; // size: 0x4, address: 0x80A54D38 static int gSystemMs; // size: 0x4, address: 0x80A54D3C static float gSystemFrac; // size: 0x4, address: 0x80A54D40 static class Timer gSystemTimer; // size: 0x38, address: 0x80988B40 class vector TheSystemArgs; // size: 0xC, address: 0x80988B84 const char * gNullStr; // size: 0x4, address: 0x80A4788C unsigned char gHostConfig; // size: 0x1, address: 0x80A54D44 unsigned char gHostLogging; // size: 0x1, address: 0x80A54D45 // Range: 0x805C89CC -> 0x805C8A44 void SetGfxMode() { // References // -> static enum GfxMode gGfxMode; } // Range: 0x805C8A44 -> 0x805C8A4C enum GfxMode GetGfxMode() { // References // -> static enum GfxMode gGfxMode; } // Range: 0x805C8A4C -> 0x805C8A6C static class DataNode OnSystemLanguage() { // References // -> static class Symbol gSystemLanguage; } // Range: 0x805C8A6C -> 0x805C8AC4 static class DataNode OnSystemExec(class DataArray * a /* r31 */) {} // Range: 0x805C8AC4 -> 0x805C8AFC static class DataNode OnUsingCD() {} // Range: 0x805C8AFC -> 0x805C8C30 static void LanguageInit() { // Local variables class DataArray * array; // r31 class Symbol lang; // r1+0x2C class DataArray * remap; // r0 class Symbol force; // r1+0x28 // References // -> const char * gNullStr; } static class Symbol sym[6]; // size: 0x18, address: 0x80988B90 // Range: 0x805C8C30 -> 0x805C8CD8 class Symbol PlatformSymbol(enum Platform plat /* r30 */) { // References // -> static class Symbol sym[6]; } // Range: 0x805C8CD8 -> 0x805C8F94 static void InitSystem(const char * config /* r28 */) { // Local variables unsigned char usingCD; // r30 class Archive * ark; // r29 class DataArrayPtr one; // r1+0x40 const char * define; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class DataArray * gSystemConfig; // -> struct [anonymous] __vt__12DataArrayPtr; // -> unsigned char gHostConfig; // -> class Archive * TheArchive; } // Range: 0x805C8F94 -> 0x805C90D0 void SystemTerminate() { // References // -> class vector TheSystemArgs; // -> class ContentMgr & TheContentMgr; // -> class TaskMgr TheTaskMgr; // -> class PlatformMgr ThePlatformMgr; // -> class MemcardWii TheMC; // -> class Locale TheLocale; // -> class VirtualKeyboard TheVirtualKeyboard; // -> class Debug TheDebug; } // Range: 0x805C90D0 -> 0x805C9300 void SystemInit(const char * config /* r31 */) { // Local variables struct DateTime d; // r1+0x14 // References // -> unsigned char gSystemInitialized; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std17_List_node; // -> unsigned char gStlAllocNameLookup; // -> class VirtualKeyboard TheVirtualKeyboard; // -> class PlatformMgr ThePlatformMgr; // -> class MemcardWii TheMC; // -> class TaskMgr TheTaskMgr; // -> class LoadMgr TheLoadMgr; // -> static class DataArray * gSystemTitles; // -> class Debug TheDebug; // -> class ContentMgr & TheContentMgr; // -> unsigned char gHostLogging; // -> unsigned char gHostConfig; // -> static class Timer gSystemTimer; } // Range: 0x805C9300 -> 0x805C938C int SystemMs() { // Local variables int ms; // r4 // References // -> static int gSystemMs; // -> static float gSystemFrac; // -> static class Timer gSystemTimer; } static class Timer * _t; // size: 0x4, address: 0x80A54D48 // Range: 0x805C938C -> 0x805C9520 void SystemPoll(unsigned char pollTasks /* r31 */) { // Local variables class AutoTimer _at; // r1+0xC // References // -> class ContentMgr & TheContentMgr; // -> class VirtualKeyboard TheVirtualKeyboard; // -> class PlatformMgr ThePlatformMgr; // -> class TaskMgr TheTaskMgr; // -> class AppChild * TheAppChild; // -> class NetCacheMgr * TheNetCacheMgr; // -> class CacheMgr * TheCacheMgr; // -> class LoadMgr TheLoadMgr; // -> class MemcardWii TheMC; // -> class Debug TheDebug; // -> static class Timer * _t; } // Range: 0x805C9520 -> 0x805C9534 unsigned char UsingCD() { // References // -> static int gUsingCD; } // Range: 0x805C9534 -> 0x805C953C void SetUsingCD() { // References // -> static int gUsingCD; } // Range: 0x805C953C -> 0x805C9544 class DataArray * SystemConfig() { // References // -> static class DataArray * gSystemConfig; } // Range: 0x805C9544 -> 0x805C9578 class DataArray * SystemConfig() { // References // -> static class DataArray * gSystemConfig; } // Range: 0x805C9578 -> 0x805C95C0 class DataArray * SystemConfig() { // References // -> static class DataArray * gSystemConfig; } // Range: 0x805C95C0 -> 0x805C961C class DataArray * SystemConfig() { // References // -> static class DataArray * gSystemConfig; } // Range: 0x805C961C -> 0x805C968C class DataArray * SystemConfig() { // References // -> static class DataArray * gSystemConfig; } // Range: 0x805C968C -> 0x805C9710 class DataArray * SystemConfig() { // References // -> static class DataArray * gSystemConfig; } // Range: 0x805C9710 -> 0x805C9718 class Symbol SystemLanguage() { // References // -> static class Symbol gSystemLanguage; } // Range: 0x805C9718 -> 0x805C9720 class DataArray * SystemTitles() { // References // -> static class DataArray * gSystemTitles; } static class DataArray * langs; // size: 0x4, address: 0x80A54D50 // Range: 0x805C9720 -> 0x805C97EC unsigned char IsSupportedLanguage(class Symbol & lang /* r29 */) { // Local variables int i; // r30 // References // -> static class DataArray * langs; } // Range: 0x805C97EC -> 0x805C9958 void SetSystemLanguage(class Symbol & lang /* r29 */) { // Local variables class DataArray * pdaLanguage; // r31 class DataArray * pdaDefault; // r31 class Symbol langDefault; // r1+0x30 // References // -> class Locale TheLocale; // -> static class Symbol gSystemLanguage; // -> class Debug TheDebug; } // Range: 0x805C9958 -> 0x805C9A2C void AppendThreadStackTrace(char * msg /* r28 */, unsigned int * stack /* r29 */) { // Local variables int stack_size; // r30 } // Range: 0x805C9A2C -> 0x805C9A8C static void __sinit_\System_cpp() { // References // -> class vector TheSystemArgs; // -> static class Timer gSystemTimer; // -> static class Symbol gSystemLanguage; // -> const char * gNullStr; } class VirtualKeyboard : public Object { // total size: 0x3C class Object * mPobjKeyboardCallback; // offset 0x28, size 0x4 unsigned char mCallbackReady; // offset 0x2C, size 0x1 unsigned char mMsgOk; // offset 0x2D, size 0x1 class String mCallbackMsg; // offset 0x30, size 0xC }; /* Compile unit: C:\rockband2\system\src\os\System_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805C9A8C -> 0x805CA130 */ enum quitType gPowerCallback; // size: 0x4, address: 0x80A54D58 unsigned char gSystemLocked; // size: 0x1, address: 0x80A54D5C unsigned char gSystemInitialized; // size: 0x1, address: 0x80A54D5D // Range: 0x805C9A8C -> 0x805C9D14 void AppendStackTrace(char * msg /* r30 */) { // Local variables unsigned int results[50]; // r1+0x130 unsigned long i; // r29 unsigned long * p; // r3 class String elfName; // r1+0x20 class Elf * elf; // r29 unsigned int * r; // r28 char buffer[256]; // r1+0x30 // References // -> class Debug TheDebug; // -> class vector TheSystemArgs; } // Range: 0x805C9D14 -> 0x805C9DBC void CheckForArchive() { // Local variables class File * f; // r0 } // Range: 0x805C9DBC -> 0x805C9EBC void SystemInit(int argc /* r28 */, char * * argv /* r29 */, const char * config /* r30 */) { // Local variables int i; // r31 // References // -> class PlatformMgr ThePlatformMgr; // -> class vector TheSystemArgs; } // Range: 0x805C9EBC -> 0x805C9EF0 int SystemExec() {} static class Symbol eng; // size: 0x4, address: 0x80A54D60 static class Symbol deu; // size: 0x4, address: 0x80A54D68 static class Symbol ita; // size: 0x4, address: 0x80A54D70 static class Symbol fre; // size: 0x4, address: 0x80A54D78 static class Symbol esl; // size: 0x4, address: 0x80A54D80 // Range: 0x805C9EF0 -> 0x805CA00C class Symbol TrySetLanguage() { // Local variables unsigned char langType; // r0 // References // -> static class Symbol esl; // -> static class Symbol fre; // -> static class Symbol ita; // -> static class Symbol deu; // -> static class Symbol eng; } // Range: 0x805CA00C -> 0x805CA02C void WiiPoll() { // References // -> unsigned char gSystemLocked; // -> enum quitType gPowerCallback; } // Range: 0x805CA02C -> 0x805CA0DC void WiiShutdown(enum quitType type /* r31 */) { // References // -> class ContentMgr & TheContentMgr; } // Range: 0x805CA0DC -> 0x805CA0EC void CaptureStackTrace() {} // Range: 0x805CA0EC -> 0x805CA104 unsigned char PlatformDebugBreak() {} // Range: 0x805CA104 -> 0x805CA130 void _Vector_base::_M_throw_length_error() {} struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CA130 -> 0x805CA278 */ // Range: 0x805CA130 -> 0x805CA278 void vector::reserve(class vector * const this /* r30 */, unsigned long __n /* r31 */) { // Local variables const char * * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPCc; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CA278 -> 0x805CA290 */ // Range: 0x805CA278 -> 0x805CA290 struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\os\ThreadCall_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CA290 -> 0x805CA394 */ struct OSThread * gMainThreadID; // size: 0x4, address: 0x80A54D88 struct ThreadCallData { // total size: 0x14 enum ThreadCallDataType mType; // offset 0x0, size 0x4 int (* mFunc)(); // offset 0x4, size 0x4 void (* mCallback)(int); // offset 0x8, size 0x4 class ThreadCallback * mClass; // offset 0xC, size 0x4 int mArg; // offset 0x10, size 0x4 }; static struct ThreadCallData gData; // size: 0x14, address: 0x80988BA8 // Range: 0x805CA290 -> 0x805CA2B4 void ThreadCallInit() { // References // -> static struct ThreadCallData gData; } // Range: 0x805CA2B4 -> 0x805CA2B8 void ThreadCallTerminate() {} enum ThreadCallDataType { kTCDT_None = 0, kTCDT_Func = 1, kTCDT_Class = 2, }; // Range: 0x805CA2B8 -> 0x805CA394 void ThreadCallPoll() { // Local variables enum ThreadCallDataType cdt; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static struct ThreadCallData gData; } /* Compile unit: C:\rockband2\system\src\os\Timer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CA394 -> 0x805CAC4C */ static float kWorstResetFrames; // size: 0x4, address: 0x80A57DF8 class list sTimers; // size: 0x8, address: 0x80988BD0 float sLowCycles2Ms; // size: 0x4, address: 0x80A54D90 float sHighCycles2Ms; // size: 0x4, address: 0x80A54D94 double sDoubleCycles2Ms; // size: 0x8, address: 0x80988BD8 // Range: 0x805CA394 -> 0x805CA3DC void * Timer::Timer() { // References // -> const char * gNullStr; } // Range: 0x805CA3DC -> 0x805CA4C4 void * Timer::Timer(class Timer * const this /* r29 */, class DataArray * config /* r30 */) {} // Range: 0x805CA4C4 -> 0x805CA504 void Timer::Sleep() {} // Range: 0x805CA504 -> 0x805CA60C void Timer::Reset(class Timer * const this /* r29 */) { // References // -> static float kWorstResetFrames; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x805CA60C -> 0x805CA684 void Timer::Restart(class Timer * const this /* r30 */) {} // Range: 0x805CA684 -> 0x805CA6B0 void Timer::SetLastMs() {} // Range: 0x805CA6B0 -> 0x805CA720 class Timer * AutoTimer::GetTimer() { // Local variables struct _List_iterator t; // r1+0x18 // References // -> class list sTimers; } // Range: 0x805CA720 -> 0x805CA784 void Timer::Init() { // References // -> float sHighCycles2Ms; // -> float sLowCycles2Ms; // -> double sDoubleCycles2Ms; } // Range: 0x805CA784 -> 0x805CA7E8 static class DataNode OnPrintTimers(class DataArray * a /* r31 */) {} // Range: 0x805CA7E8 -> 0x805CA8D0 void AutoTimer::PrintTimers(unsigned char worst /* r30 */) { // Local variables struct _List_iterator t; // r1+0x18 float ms; // f0 // References // -> class list sTimers; // -> class Debug TheDebug; } // Range: 0x805CA8D0 -> 0x805CA964 static class DataNode SetTimerMs(class DataArray * d /* r30 */) { // Local variables class Timer * t; // r31 } // Range: 0x805CA964 -> 0x805CA9E4 static class DataNode TimerMs(class DataArray * d /* r31 */) { // Local variables class Timer * t; // r0 } // Range: 0x805CA9E4 -> 0x805CABAC void AutoTimer::Init() { // Local variables class DataArray * config; // r30 int i; // r29 unsigned char enable; // r1+0x8 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node<5Timer>; // -> unsigned char gStlAllocNameLookup; // -> class list sTimers; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std18_List_node<5Timer>; // size: 0x8, address: 0x80926680 static class list sConditionalTimersEnabled; // size: 0x8, address: 0x80988BF0 // Range: 0x805CABAC -> 0x805CAC4C static void __sinit_\Timer_cpp() { // References // -> static class list sConditionalTimersEnabled; // -> class list sTimers; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CAC4C -> 0x805CB124 */ // Range: 0x805CAC4C -> 0x805CAFF8 void _S_sort(class list & __that /* r28 */, struct less & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x805CAFF8 -> 0x805CB0C4 void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x805CB0C4 -> 0x805CB124 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CB124 -> 0x805CB17C */ // Range: 0x805CB124 -> 0x805CB17C void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CB17C -> 0x805CB1EC */ // Range: 0x805CB17C -> 0x805CB1EC char * FormatTime() {} /* Compile unit: C:\rockband2\system\src\os\User.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CB1EC -> 0x805CBD14 */ // Range: 0x805CB1EC -> 0x805CB1F0 static void Ignore() {} void (* sUserReadyCallbackFunction)(int); // size: 0x4, address: 0x80A478C8 // Range: 0x805CB1F0 -> 0x805CB1F8 void SetUserReadyCallbackFunction() { // References // -> void (* sUserReadyCallbackFunction)(int); } // Range: 0x805CB1F8 -> 0x805CB27C void * User::User(class User * const this /* r30 */, int userNum /* r31 */) { // References // -> struct [anonymous] __vt__4User; } // Range: 0x805CB27C -> 0x805CB290 void User::Reset() {} // Range: 0x805CB290 -> 0x805CB310 void User::UpdateOnlineID(class User * const this /* r29 */) { // Local variables int padNum; // r30 // References // -> class PlatformMgr ThePlatformMgr; } // Range: 0x805CB310 -> 0x805CB318 int User::GetPadNum() {} // Range: 0x805CB318 -> 0x805CB32C void User::SetReady() { // References // -> void (* sUserReadyCallbackFunction)(int); } // Range: 0x805CB32C -> 0x805CB3A8 void User::SyncSave(const class User * const this /* r30 */, class BinStream & dest /* r31 */) {} // Range: 0x805CB3A8 -> 0x805CB428 void User::SyncLoad(class User * const this /* r30 */, class BinStream & src /* r31 */) {} static class Symbol _s; // size: 0x4, address: 0x80A54D9C static class Symbol _s; // size: 0x4, address: 0x80A54DA4 static class Symbol _s; // size: 0x4, address: 0x80A54DAC static class Symbol _s; // size: 0x4, address: 0x80A54DB4 static class Symbol _s; // size: 0x4, address: 0x80A54DBC // Range: 0x805CB428 -> 0x805CBB48 class DataNode User::Handle(class User * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } static class Symbol _s; // size: 0x4, address: 0x80A54DC4 static class Symbol _s; // size: 0x4, address: 0x80A54DCC // Range: 0x805CBB48 -> 0x805CBD14 unsigned char User::SyncProperty(class User * const this /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } struct { // total size: 0x60 } __vt__4User; // size: 0x60, address: 0x80926748 /* Compile unit: C:\rockband2\system\src\os\UserMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CBD14 -> 0x805CC24C */ class UserMgr * TheUserMgr; // size: 0x4, address: 0x80A54DD0 // Range: 0x805CBD14 -> 0x805CBD70 void * UserMgr::UserMgr(class UserMgr * const this /* r31 */) { // References // -> class ObjectDir * sMainDir; // -> struct [anonymous] __vt__7UserMgr; } // Range: 0x805CBD70 -> 0x805CBDB8 class User * UserMgr::GetUserFromPadNum(const class UserMgr * const this /* r31 */) { // Local variables int userID; // r0 } // Range: 0x805CBDB8 -> 0x805CBDC0 void SetTheUserMgr() { // References // -> class UserMgr * TheUserMgr; } static class Symbol _s; // size: 0x4, address: 0x80A54DD8 static class Symbol _s; // size: 0x4, address: 0x80A54DE0 // Range: 0x805CBDC0 -> 0x805CC24C class DataNode UserMgr::Handle(class UserMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x28 class MessageTimer _mt; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x60 } __vt__7UserMgr; // size: 0x60, address: 0x809268C0 /* Compile unit: C:\rockband2\system\src\os\WiiNetInit.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CC24C -> 0x805CCC64 */ class CriticalSection gCrit; // size: 0x1C, address: 0x80988C04 unsigned char gThreadRunning; // size: 0x1, address: 0x80A54DE8 unsigned char gDisconnectionRunning; // size: 0x1, address: 0x80A54DE9 unsigned char gDNSRunning; // size: 0x1, address: 0x80A54DEA const char * gDNSRequest; // size: 0x4, address: 0x80A54DEC static int _x; // size: 0x4, address: 0x80A54DF0 // Range: 0x805CC24C -> 0x805CC2FC void * NetAllocFunc(unsigned long size /* r30 */, int align /* r31 */) { // Local variables void * ptr; // r31 class CritSecTracker __cst; // r1+0x8 // References // -> static int _x; // -> class CriticalSection gCrit; } // Range: 0x805CC2FC -> 0x805CC360 void NetFreeFunc(void * ptr /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class CriticalSection gCrit; } // Range: 0x805CC360 -> 0x805CC368 void * _NetAlloc() {} // Range: 0x805CC368 -> 0x805CC36C void _NetFree() {} struct SOLibraryConfig { // total size: 0x8 void * (* alloc)(unsigned long, long); // offset 0x0, size 0x4 void (* free)(unsigned long, void *, long); // offset 0x4, size 0x4 }; // Range: 0x805CC36C -> 0x805CC4C4 void * ConnectionThread(void * param /* r30 */) { // Local variables int * result; // r0 long rc; // r4 struct SOLibraryConfig soLibConfig; // r1+0x8 // References // -> unsigned char gThreadRunning; } // Range: 0x805CC4C4 -> 0x805CC594 void * DisconnectionThread() { // Local variables int ret; // r31 // References // -> unsigned char gDisconnectionRunning; } struct SOHostEnt { // total size: 0x10 char * name; // offset 0x0, size 0x4 char * * aliases; // offset 0x4, size 0x4 signed short addrType; // offset 0x8, size 0x2 signed short length; // offset 0xA, size 0x2 unsigned char * * addrList; // offset 0xC, size 0x4 }; // Range: 0x805CC594 -> 0x805CC67C void * DNSThread() { // Local variables class String * result; // r31 struct SOHostEnt * ret; // r0 char ip[16]; // r1+0x8 unsigned char * addr; // r30 signed short length; // r29 int i; // r28 // References // -> const char * gDNSRequest; // -> unsigned char gDNSRunning; } // Range: 0x805CC67C -> 0x805CC6CC void * WiiNetInit::WiiNetInit(class WiiNetInit * const this /* r30 */) { // References // -> unsigned char gDisconnectionRunning; // -> unsigned char gThreadRunning; } // Range: 0x805CC6CC -> 0x805CC730 void * WiiNetInit::~WiiNetInit(class WiiNetInit * const this /* r30 */) {} // Range: 0x805CC730 -> 0x805CC7C4 unsigned char WiiNetInit::NetConnect_Start(class WiiNetInit * const this /* r31 */) { // References // -> unsigned char gDisconnectionRunning; } // Range: 0x805CC7C4 -> 0x805CC870 unsigned char WiiNetInit::NetConnect_IsFinished(class WiiNetInit * const this /* r31 */) { // References // -> unsigned char gDisconnectionRunning; // -> unsigned char gThreadRunning; } // Range: 0x805CC870 -> 0x805CC8E4 void WiiNetInit::NetConnect_Close(class WiiNetInit * const this /* r31 */) { // References // -> unsigned char gDisconnectionRunning; } // Range: 0x805CC8E4 -> 0x805CC9C0 unsigned char WiiNetInit::StartProfanity(class WiiNetInit * const this /* r30 */, const char * username /* r31 */) { // Local variables int iStringLength; // r0 int i; // r6 // References // -> class Debug TheDebug; } // Range: 0x805CC9C0 -> 0x805CCAE0 unsigned char WiiNetInit::CheckProfanity(class WiiNetInit * const this /* r29 */, unsigned char & result /* r30 */, unsigned char & fail /* r31 */) { // Local variables int i; // r4 // References // -> class Debug TheDebug; } // Range: 0x805CCAE0 -> 0x805CCB50 unsigned char WiiNetInit::StartDNSLookup(class WiiNetInit * const this /* r31 */) { // References // -> const char * gDNSRequest; // -> unsigned char gDNSRunning; } // Range: 0x805CCB50 -> 0x805CCB94 unsigned char WiiNetInit::CheckDNSLookup(class WiiNetInit * const this /* r5 */) { // References // -> unsigned char gDNSRunning; } // Range: 0x805CCB94 -> 0x805CCBCC void WiiNetInit::KillDNSLookup() { // References // -> unsigned char gDNSRunning; } // Range: 0x805CCBCC -> 0x805CCC1C int WiiNetInit::GetLastDWCError() { // Local variables int error; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x805CCC1C -> 0x805CCC64 static void __sinit_\WiiNetInit_cpp() { // References // -> class CriticalSection gCrit; } /* Compile unit: C:\rockband2\system\src\os\VirtualKeyboard.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CCC64 -> 0x805CD638 */ class Symbol t; // size: 0x4, address: 0x80A54DFC class VirtualKeyboard TheVirtualKeyboard; // size: 0x3C, address: 0x80988C2C // Range: 0x805CCC64 -> 0x805CCCB8 void * VirtualKeyboard::VirtualKeyboard(class VirtualKeyboard * const this /* r31 */) { // References // -> struct [anonymous] __vt__15VirtualKeyboard; } // Range: 0x805CCCB8 -> 0x805CCD28 void * VirtualKeyboard::~VirtualKeyboard(class VirtualKeyboard * const this /* r30 */) {} // Range: 0x805CCD28 -> 0x805CCD44 void VirtualKeyboard::Init() { // References // -> class ObjectDir * sMainDir; } class VirtualKeyboardResultMsg : public Message { // total size: 0x8 }; // Range: 0x805CCD44 -> 0x805CCF94 void VirtualKeyboard::Poll(class VirtualKeyboard * const this /* r31 */) { // Local variables class VirtualKeyboardResultMsg msg; // r1+0x30 // References // -> struct [anonymous] __vt__24VirtualKeyboardResultMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> const char * gNullStr; } // Range: 0x805CCF94 -> 0x805CCF98 void VirtualKeyboard::Terminate() {} // Range: 0x805CCF98 -> 0x805CD108 class DataNode VirtualKeyboard::OnShowKeyboardUI(class VirtualKeyboard * const this /* r28 */, const class DataArray * da /* r29 */) { // Local variables class String strWindowTitle; // r1+0x44 class String strDescription; // r1+0x38 class String strDefaultText; // r1+0x2C } // Range: 0x805CD108 -> 0x805CD1F0 class DataNode VirtualKeyboard::PlaceholderKeyboardUI(class VirtualKeyboard * const this /* r30 */) { // Local variables char buffer[256]; // r1+0x8 int i; // r31 int val; // r0 } static class Symbol _s; // size: 0x4, address: 0x80A54E04 // Range: 0x805CD1F0 -> 0x805CD5F0 class DataNode VirtualKeyboard::Handle(class VirtualKeyboard * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x24 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode _n; // r1+0x28 // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0xC } __vt__24VirtualKeyboardResultMsg; // size: 0xC, address: 0x80926B1C struct { // total size: 0x8 } __RTTI__24VirtualKeyboardResultMsg; // size: 0x8, address: 0x80926B50 struct { // total size: 0x54 } __vt__15VirtualKeyboard; // size: 0x54, address: 0x80926B58 struct { // total size: 0x8 } __RTTI__15VirtualKeyboard; // size: 0x8, address: 0x80926BD8 // Range: 0x805CD5F0 -> 0x805CD638 static void __sinit_\VirtualKeyboard_cpp() { // References // -> class VirtualKeyboard TheVirtualKeyboard; } /* Compile unit: C:\rockband2\system\src\os\VirtualKeyboard_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CD6BC -> 0x805CD774 */ // Range: 0x805CD6BC -> 0x805CD6C0 void VirtualKeyboard::PlatformTerminate() {} // Range: 0x805CD6C0 -> 0x805CD6C4 void VirtualKeyboard::PlatformPoll() {} // Range: 0x805CD6C4 -> 0x805CD774 class DataNode VirtualKeyboard::ShowKeyboardUI(class VirtualKeyboard * const this /* r27 */, int iPlayer /* r28 */, int textLength /* r29 */, class String & strDescription /* r30 */, class String & strDefaultText /* r31 */) {} /* Compile unit: C:\rockband2\system\src\os\Utl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CD774 -> 0x805CD77C */ // Range: 0x805CD774 -> 0x805CD77C unsigned int Int64ToUInt() {} /* Compile unit: C:\rockband2\system\src\os\AppChild.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CD77C -> 0x805CDBE0 */ class AppChild * TheAppChild; // size: 0x4, address: 0x80A54E08 // Range: 0x805CD77C -> 0x805CD7A0 static class DataNode EnableAppChild() { // References // -> class AppChild * TheAppChild; } // Range: 0x805CD7A0 -> 0x805CD7C4 static class DataNode DisableAppChild() { // References // -> class AppChild * TheAppChild; } // Range: 0x805CD7C4 -> 0x805CD808 static class DataNode SyncAppChild() { // References // -> class AppChild * TheAppChild; } // Range: 0x805CD808 -> 0x805CD95C void AppChild::Init() { // Local variables unsigned char app_child; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class AppChild * TheAppChild; } // Range: 0x805CD95C -> 0x805CD990 void AppChild::Terminate() { // References // -> class AppChild * TheAppChild; } // Range: 0x805CD990 -> 0x805CDA30 void * AppChild::AppChild(class AppChild * const this /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x805CDA30 -> 0x805CDAA4 void * AppChild::~AppChild(class AppChild * const this /* r30 */) {} // Range: 0x805CDAA4 -> 0x805CDAB0 void AppChild::Sync() {} // Range: 0x805CDAB0 -> 0x805CDABC void AppChild::Sync() {} static class Symbol tool_sync_cam; // size: 0x4, address: 0x80A54E10 // Range: 0x805CDABC -> 0x805CDBE0 void AppChild::Poll(class AppChild * const this /* r31 */) { // Local variables class DataArrayPtr cmd; // r1+0x10 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol tool_sync_cam; } /* Compile unit: C:\rockband2\system\src\os\AsyncFileHolmes.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CDBE0 -> 0x805CDD84 */ class AsyncFileHolmes : public AsyncFile { // total size: 0x40 int mFileHandle; // offset 0x3C, size 0x4 }; // Range: 0x805CDBE0 -> 0x805CDC24 void * AsyncFileHolmes::AsyncFileHolmes(class AsyncFileHolmes * const this /* r31 */) { // References // -> struct [anonymous] __vt__15AsyncFileHolmes; } // Range: 0x805CDC24 -> 0x805CDC7C unsigned int AsyncFileHolmes::_Open(class AsyncFileHolmes * const this /* r31 */) { // Local variables unsigned int size; // r1+0x8 } // Range: 0x805CDC7C -> 0x805CDD10 int AsyncFileHolmes::_Write(class AsyncFileHolmes * const this /* r29 */, void * buf /* r30 */, int bytes /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805CDD10 -> 0x805CDD54 void AsyncFileHolmes::_SeekToTell(class AsyncFileHolmes * const this /* r31 */) {} // Range: 0x805CDD54 -> 0x805CDD68 void AsyncFileHolmes::_ReadAsync() {} // Range: 0x805CDD68 -> 0x805CDD6C unsigned char AsyncFileHolmes::_ReadDone() {} // Range: 0x805CDD6C -> 0x805CDD84 void AsyncFileHolmes::_Close() {} struct { // total size: 0x50 } __vt__15AsyncFileHolmes; // size: 0x50, address: 0x80926CF0 struct { // total size: 0x8 } __RTTI__15AsyncFileHolmes; // size: 0x8, address: 0x80926D68 /* Compile unit: C:\rockband2\system\src\os\AsyncFileHolmes_p.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CDD84 -> 0x805CDDFC */ // Range: 0x805CDD84 -> 0x805CDDFC void * AsyncFileHolmes::~AsyncFileHolmes(class AsyncFileHolmes * const this /* r30 */) { // References // -> struct [anonymous] __vt__15AsyncFileHolmes; } /* Compile unit: C:\rockband2\system\src\os\HIO.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CDDFC -> 0x805CE234 */ static unsigned char gInitialized; // size: 0x1, address: 0x80A54E18 enum HIO2DeviceType { HIO2_DEVICE_INVALID = -1, HIO2_DEVICE_EXI2USB_0 = 0, HIO2_DEVICE_EXI2USB_1 = 1, HIO2_DEVICE_MrEXI = 2, }; static enum HIO2DeviceType gDevice; // size: 0x4, address: 0x80A478E0 static long gHandle; // size: 0x4, address: 0x80A478E4 // Range: 0x805CDDFC -> 0x805CDE08 static int DeviceEnumCB() { // References // -> static enum HIO2DeviceType gDevice; } // Range: 0x805CDE08 -> 0x805CDE10 long HIOHandle() { // References // -> static long gHandle; } // Range: 0x805CDE10 -> 0x805CDEA4 void HIOInit() { // References // -> static long gHandle; // -> static enum HIO2DeviceType gDevice; // -> static unsigned char gInitialized; } // Range: 0x805CDEA4 -> 0x805CDECC void HIOTerminate() { // References // -> static unsigned char gInitialized; } // Range: 0x805CDECC -> 0x805CDEFC unsigned char HIOInitialized() { // References // -> static long gHandle; // -> static enum HIO2DeviceType gDevice; // -> static unsigned char gInitialized; } // Range: 0x805CDEFC -> 0x805CE088 int HIOReadSharedMemory(unsigned int addr /* r29 */, void * data /* r30 */, int bytes /* r1+0x20 */) { // Local variables int size; // r1+0x28 int actual; // r31 char buffer[4096]; // r1+0x40 // References // -> static long gHandle; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805CE088 -> 0x805CE234 int HIOWriteSharedMemory(unsigned int addr /* r29 */, void * data /* r30 */, int bytes /* r1+0x20 */) { // Local variables int size; // r1+0x28 int actual; // r31 char buffer[4096]; // r1+0x40 // References // -> static long gHandle; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\os\HIOStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CE234 -> 0x805CE8B8 */ static unsigned int crc32_tab[256]; // size: 0x400, address: 0x8084E9E8 // Range: 0x805CE234 -> 0x805CE274 static unsigned int Checksum() { // Local variables unsigned int crc32val; // r5 unsigned int i; // r7 // References // -> static unsigned int crc32_tab[256]; } class HIOStream : public BinStream { // total size: 0x18 unsigned char mFail; // offset 0xC, size 0x1 unsigned char * mReadBuffer; // offset 0x10, size 0x4 int mReadBufferCount; // offset 0x14, size 0x4 }; // Range: 0x805CE274 -> 0x805CE2EC void * HIOStream::HIOStream(class HIOStream * const this /* r30 */) { // References // -> struct [anonymous] __vt__9HIOStream; } // Range: 0x805CE2EC -> 0x805CE370 void * HIOStream::~HIOStream(class HIOStream * const this /* r29 */) { // References // -> struct [anonymous] __vt__9HIOStream; } // Range: 0x805CE370 -> 0x805CE3B8 unsigned char HIOStream::Eof() {} // Range: 0x805CE3B8 -> 0x805CE3CC char * HIOStream::Name() {} // Range: 0x805CE3CC -> 0x805CE3D8 void HIOStream::Failure() {} // Range: 0x805CE3D8 -> 0x805CE434 unsigned char HIOStream::CanRead(class HIOStream * const this /* r31 */) { // Local variables unsigned long status; // r1+0x8 } // Range: 0x805CE434 -> 0x805CE494 unsigned char HIOStream::CanWrite(class HIOStream * const this /* r31 */) { // Local variables unsigned long status; // r1+0x8 } // Range: 0x805CE494 -> 0x805CE6DC void HIOStream::ReadImpl(class HIOStream * const this /* r29 */, int bytes /* r1+0x8 */) { // Local variables unsigned char * pData; // r30 int bufferBytes; // r28 int numRead; // r28 unsigned long msg; // r1+0xC unsigned long mailBytes; // r27 unsigned int checksum; // r0 int bufferBytes; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805CE6DC -> 0x805CE874 void HIOStream::WriteImpl(class HIOStream * const this /* r27 */, int bytes /* r1+0x8 */) { // Local variables const unsigned char * pData; // r29 int numWritten; // r0 unsigned long mailBytes; // r28 unsigned int checksum; // r0 unsigned long ack; // r1+0xC // References // -> static int READ_BUFFER_SIZE; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805CE874 -> 0x805CE8B8 void HIOStream::SeekImpl() { // References // -> class Debug TheDebug; } struct { // total size: 0x2C } __vt__9HIOStream; // size: 0x2C, address: 0x80926E9C struct { // total size: 0x8 } __RTTI__9HIOStream; // size: 0x8, address: 0x80926EE0 static int READ_BUFFER_SIZE; // size: 0x4, address: 0x80A57E10 /* Compile unit: C:\rockband2\system\src\os\HIOStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CE8B8 -> 0x805CE8CC */ // Range: 0x805CE8B8 -> 0x805CE8C0 unsigned char HIOStream::Fail() {} // Range: 0x805CE8C0 -> 0x805CE8C8 int HIOStream::Tell() {} // Range: 0x805CE8C8 -> 0x805CE8CC void HIOStream::Flush() {} /* Compile unit: C:\rockband2\system\src\os\HolmesClient.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CE8CC -> 0x805CF430 */ static class CriticalSection gCrit; // size: 0x1C, address: 0x80988C74 static class BinStream * gStream; // size: 0x4, address: 0x80A54E20 static class MemStream * gStreamBuffer; // size: 0x4, address: 0x80A54E24 class list : public _List_base { // total size: 0x8 }; static class list gRequests; // size: 0x8, address: 0x80988CA0 // Range: 0x805CE8CC -> 0x805CE98C static void CheckReads() { // Local variables int act; // r30 // References // -> static class list gRequests; // -> static class BinStream * gStream; } // Range: 0x805CE98C -> 0x805CE9E8 static void WaitForReads() { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> static class list gRequests; // -> static class CriticalSection gCrit; } // Range: 0x805CE9E8 -> 0x805CEA38 static void HolmesFlushStreamBuffer() { // References // -> static class BinStream * gStream; // -> static class MemStream * gStreamBuffer; } // Range: 0x805CEA38 -> 0x805CEBC0 void HolmesClientInit() { // Local variables unsigned char failed; // r30 int server_ver; // r1+0x10 // References // -> static class MemStream * gStreamBuffer; // -> static class BinStream * gStream; // -> unsigned char gHostLogging; // -> unsigned char gHostConfig; } // Range: 0x805CEBC0 -> 0x805CEC04 void HolmesClientPoll() { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> static class CriticalSection gCrit; } // Range: 0x805CEC04 -> 0x805CECF4 void HolmesClientTerminate() { // Local variables class CritSecTracker __cst; // r1+0xC // References // -> static class MemStream * gStreamBuffer; // -> static class BinStream * gStream; // -> static class CriticalSection gCrit; } // Range: 0x805CECF4 -> 0x805CEEF4 unsigned char HolmesClientOpen(const char * filename /* r25 */, int mode /* r27 */, unsigned int & file_size /* r31 */, int & file_handle /* r26 */) { // Local variables class CritSecTracker __cst; // r1+0x10 unsigned char read; // r0 unsigned char creat; // r0 unsigned char trunc; // r0 unsigned int size; // r1+0xC // References // -> static class MemStream * gStreamBuffer; // -> const char * kAssertStr; // -> class Debug TheDebug; // -> unsigned char gHostConfig; // -> static class BinStream * gStream; // -> unsigned char gHostLogging; // -> static class CriticalSection gCrit; } // Range: 0x805CEEF4 -> 0x805CF074 int HolmesClientWrite(int file_handle /* r28 */, int start /* r31 */, int bytes /* r29 */, void * buf /* r30 */) { // Local variables class CritSecTracker __cst; // r1+0x1C int ret; // r1+0x18 // References // -> static class MemStream * gStreamBuffer; // -> unsigned char gHostLogging; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class BinStream * gStream; // -> static class CriticalSection gCrit; } struct ReadRequest { // total size: 0xC class File * mRequestor; // offset 0x0, size 0x4 char * mBuffer; // offset 0x4, size 0x4 int mBytes; // offset 0x8, size 0x4 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std55_List_node; // size: 0x8, address: 0x80926FF0 // Range: 0x805CF074 -> 0x805CF1E8 void HolmesClientRead(int file_handle /* r27 */, int start /* r31 */, int bytes /* r28 */, void * buf /* r29 */, class File * requestor /* r30 */) { // Local variables class CritSecTracker __cst; // r1+0x1C struct ReadRequest req; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std55_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class list gRequests; // -> static class MemStream * gStreamBuffer; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class BinStream * gStream; // -> static class CriticalSection gCrit; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x805CF1E8 -> 0x805CF29C unsigned char HolmesClientReadDone(class File * f /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x14 struct _List_iterator itr; // r1+0x10 // References // -> static class list gRequests; // -> static class CriticalSection gCrit; } // Range: 0x805CF29C -> 0x805CF3B0 void HolmesClientClose(class File * f /* r30 */, int file_handle /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x1C struct _List_iterator itr; // r1+0x18 // References // -> static class MemStream * gStreamBuffer; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class BinStream * gStream; // -> static class list gRequests; // -> static class CriticalSection gCrit; } struct { // total size: 0x8 } __RTTI__P11RecurseInfo; // size: 0x8, address: 0x80927008 // Range: 0x805CF3B0 -> 0x805CF430 static void __sinit_\HolmesClient_cpp() { // References // -> static class list gRequests; // -> static class CriticalSection gCrit; } class _List_node : public _List_node_base { // total size: 0x14 public: struct ReadRequest _M_data; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CF430 -> 0x805CF50C */ // Range: 0x805CF430 -> 0x805CF50C void HolmesClientPrint(const char * s /* r30 */) { // Local variables class CritSecTracker __cst; // r1+0xC // References // -> static class MemStream * gStreamBuffer; // -> static class BinStream * gStream; // -> static class CriticalSection gCrit; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CF50C -> 0x805CF564 */ // Range: 0x805CF50C -> 0x805CF564 void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CF564 -> 0x805CF5C4 */ // Range: 0x805CF564 -> 0x805CF5C4 void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\os\ToolStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CF5C4 -> 0x805CFAF4 */ class ToolStream : public BinStream { // total size: 0x28 int mBufferSize; // offset 0xC, size 0x4 int * mSize; // offset 0x10, size 0x4 int * mNumWritten; // offset 0x14, size 0x4 int * mNumRead; // offset 0x18, size 0x4 int mOffset; // offset 0x1C, size 0x4 char * mBuffer; // offset 0x20, size 0x4 int mTell; // offset 0x24, size 0x4 }; // Range: 0x805CF5C4 -> 0x805CF634 void * ToolStream::ToolStream(class ToolStream * const this /* r30 */, int bufferSize /* r31 */) { // References // -> struct [anonymous] __vt__10ToolStream; } // Range: 0x805CF634 -> 0x805CF690 void * ToolStream::~ToolStream(class ToolStream * const this /* r30 */) {} // Range: 0x805CF690 -> 0x805CF698 unsigned char ToolStream::Fail() {} // Range: 0x805CF698 -> 0x805CF770 unsigned char ToolStream::Eof(class ToolStream * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805CF770 -> 0x805CFAF0 void ToolStream::ReadImpl(class ToolStream * const this /* r31 */, void * data /* r27 */, int bytes /* r28 */) { // Local variables int i; // r29 int bytes; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805CFAF0 -> 0x805CFAF4 void ToolStream::Flush() {} struct { // total size: 0x2C } __vt__10ToolStream; // size: 0x2C, address: 0x80927064 struct { // total size: 0x8 } __RTTI__10ToolStream; // size: 0x8, address: 0x809270A8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CFAF4 -> 0x805CFCF4 */ // Range: 0x805CFAF4 -> 0x805CFB38 void ToolStream::WriteImpl() { // References // -> class Debug TheDebug; } // Range: 0x805CFB38 -> 0x805CFCF4 void ToolStream::Connect(class ToolStream * const this /* r28 */) { // Local variables const char * kCheckStr; // r30 int kCheckLen; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\os\ToolStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CFCF4 -> 0x805CFD00 */ // Range: 0x805CFCF4 -> 0x805CFCF8 void ToolStream::SeekImpl() {} // Range: 0x805CFCF8 -> 0x805CFD00 int ToolStream::Tell() {} /* Compile unit: C:\rockband2\system\src\obj\DataArray.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805CFD00 -> 0x805D26BC */ static int gIndent; // size: 0x4, address: 0x80A54E28 static class Symbol gFile; // size: 0x4, address: 0x80A54E2C class list : public _List_base { // total size: 0x8 }; static class list gConditional; // size: 0x8, address: 0x80988CB8 class DataNode (* sDefaultHandler)(class DataArray *); // size: 0x4, address: 0x80A54E30 class DataNode (* gPreExecuteFunc)(class DataArray *); // size: 0x4, address: 0x80A54E34 int gPreExecuteLevel; // size: 0x4, address: 0x80A54E38 class DataArray * gCallStack[100]; // size: 0x190, address: 0x80988CC0 class DataArray * * gCallStackPtr; // size: 0x4, address: 0x80A478F8 class DataNode * (* gNodeAllocFunc)(int); // size: 0x4, address: 0x80A478FC void (* gNodeFreeFunc)(int, class DataNode *); // size: 0x4, address: 0x80A47900 // Range: 0x805CFD00 -> 0x805CFD7C unsigned char strncat_tofit(char * dest /* r27 */, int & dest_len /* r28 */, const char * src /* r29 */, int max_size /* r30 */) { // Local variables int src_len; // r0 } // Range: 0x805CFD7C -> 0x805CFFA0 void DataAppendStackTrace(char * msg /* r28 */) { // Local variables unsigned char msg_full; // r31 int msg_len; // r1+0x8 class DataArray * * ptr; // r30 class DataArray * a; // r29 class String s; // r1+0x1C char visualStudioFmt[14]; // r1+0xC // References // -> class Debug TheDebug; // -> class DataArray * gCallStack[100]; // -> class DataArray * * gCallStackPtr; } // Range: 0x805CFFA0 -> 0x805D002C class DataNode & DataArray::Node(const class DataArray * const this /* r30 */, int i /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805D002C -> 0x805D00B8 class DataNode & DataArray::Node(class DataArray * const this /* r30 */, int i /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805D00B8 -> 0x805D029C void DataArray::Print(const class DataArray * const this /* r30 */, class TextStream & s /* r31 */, enum DataType type /* r24 */, unsigned char compact /* r25 */) { // Local variables class DataNode * i; // r29 class DataNode * end; // r28 char open; // r27 char close; // r26 // References // -> static int gIndent; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D029C -> 0x805D030C static class DataNode * NodesAlloc(int bytes /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class DataNode * (* gNodeAllocFunc)(int); } // Range: 0x805D030C -> 0x805D038C static void NodesFree(int bytes /* r30 */, class DataNode * mem /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> void (* gNodeFreeFunc)(int, class DataNode *); } // Range: 0x805D038C -> 0x805D0398 static class DataNode * NodesAllocDefault() {} // Range: 0x805D0398 -> 0x805D039C static void NodesFreeDefault() {} // Range: 0x805D039C -> 0x805D04D8 void DataArray::Insert(class DataArray * const this /* r28 */, int index /* r26 */, const class DataNode & node /* r27 */) { // Local variables int i; // r31 int size; // r30 class DataNode * old; // r29 } // Range: 0x805D04D8 -> 0x805D063C void DataArray::InsertNodes(class DataArray * const this /* r28 */, int index /* r24 */, const class DataArray * array /* r25 */) { // Local variables int i; // r31 int arraySize; // r0 int size; // r30 class DataNode * old; // r29 } // Range: 0x805D063C -> 0x805D0788 void DataArray::Resize(class DataArray * const this /* r29 */, int size /* r1+0x8 */) { // Local variables class DataNode * old; // r31 int min; // r28 int i; // r30 } // Range: 0x805D0788 -> 0x805D08CC void DataArray::Remove(class DataArray * const this /* r29 */, int index /* r27 */) { // Local variables class DataNode * old; // r31 int size; // r30 int i; // r28 int i; // [invalid] int i; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D08CC -> 0x805D0904 void DataArray::Remove() { // Local variables int value; // r6 int i; // r4 } // Range: 0x805D0904 -> 0x805D0944 unsigned char DataArray::Contains() { // Local variables int value; // r5 int i; // r6 } // Range: 0x805D0944 -> 0x805D0A00 class DataArray * DataArray::FindArray(const class DataArray * const this /* r26 */, int tag /* r27 */, unsigned char fail /* r28 */) { // Local variables class DataNode * i; // r31 class DataNode * end; // r30 class DataArray * a; // r29 // References // -> class Debug TheDebug; } // Range: 0x805D0A00 -> 0x805D0A94 class DataArray * DataArray::FindArray(const class DataArray * const this /* r28 */, class Symbol & tag /* r29 */, unsigned char fail /* r30 */) { // Local variables class DataArray * r; // r31 // References // -> class Debug TheDebug; } // Range: 0x805D0A94 -> 0x805D0AD8 class DataArray * DataArray::FindArray() {} // Range: 0x805D0AD8 -> 0x805D0B30 class DataArray * DataArray::FindArray() {} // Range: 0x805D0B30 -> 0x805D0B9C class DataArray * DataArray::FindArray() {} // Range: 0x805D0B9C -> 0x805D0BFC class DataArray * DataArray::FindArray(const class DataArray * const this /* r30 */, class Symbol & s1 /* r31 */) {} // Range: 0x805D0BFC -> 0x805D0C6C unsigned char DataArray::FindData(const char * & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D0C6C -> 0x805D0CE4 unsigned char DataArray::FindData(class Symbol & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D0CE4 -> 0x805D0D40 unsigned char DataArray::FindData(class String & ret /* r31 */) { // Local variables const char * str; // r1+0xC } // Range: 0x805D0D40 -> 0x805D0DB0 unsigned char DataArray::FindData(int & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D0DB0 -> 0x805D0E20 unsigned char DataArray::FindData(float & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D0E20 -> 0x805D0E9C unsigned char DataArray::FindData(unsigned char & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D0E9C -> 0x805D0F24 unsigned char DataArray::FindData(class Vector2 & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D0F24 -> 0x805D0FC4 unsigned char DataArray::FindData(class Vector3 & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D0FC4 -> 0x805D107C unsigned char DataArray::FindData(class Plane & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D107C -> 0x805D114C unsigned char DataArray::FindData(class Color & ret /* r30 */) { // Local variables class DataArray * array; // r31 } // Range: 0x805D114C -> 0x805D12B0 class DataArray * DataArray::Clone(class DataArray * const this /* r27 */, unsigned char deep /* r28 */, unsigned char eval /* r29 */) { // Local variables class DataArray * array; // r0 int i; // r30 class DataArray * a; // r25 } // Range: 0x805D12B0 -> 0x805D1344 void * DataArray::DataArray(class DataArray * const this /* r30 */, int size /* r31 */) { // Local variables int i; // r4 // References // -> const char * gNullStr; } // Range: 0x805D1344 -> 0x805D13C4 void * DataArray::DataArray(class DataArray * const this /* r29 */, void * glob /* r30 */, int size /* r31 */) { // References // -> const char * gNullStr; } // Range: 0x805D13C4 -> 0x805D14A0 void * DataArray::~DataArray(class DataArray * const this /* r29 */) { // Local variables int i; // r31 } // Range: 0x805D14A0 -> 0x805D14B0 void DataArray::SetFileLine() {} // Range: 0x805D14B0 -> 0x805D1640 static int NodeCmp() { // Local variables const class DataNode * anode; // r30 const class DataNode * bnode; // r29 float a; // f0 float b; // f0 // References // -> class Debug TheDebug; } // Range: 0x805D1640 -> 0x805D1664 void DataArray::SortNodes() {} static class Timer * _t; // size: 0x4, address: 0x80A54E3C struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 class DataNode (* second)(class DataArray *); // offset 0x4, size 0x4 }; struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x805D1664 -> 0x805D1DDC class DataNode DataArray::Execute(class DataArray * const this /* r28 */) { // Local variables class AutoTimer _at; // r1+0x24 class Object * object; // r4 struct _Rb_tree_iterator func; // r1+0x20 class Object * object; // r4 class DataNode n; // r1+0x38 class String s; // r1+0x4C class String sn; // r1+0x40 // References // -> class DataNode (* sDefaultHandler)(class DataArray *); // -> class map gDataFuncs; // -> class ObjectDir * gDataDir; // -> static class Timer * _t; // -> int gPreExecuteLevel; // -> class DataNode (* gPreExecuteFunc)(class DataArray *); // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class DataArray * * gCallStackPtr; // -> class DataArray * gCallStack[100]; } // Range: 0x805D1DDC -> 0x805D1E8C void DataArray::Save(const class DataArray * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int i; // r31 } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x805D1E8C -> 0x805D1EEC static unsigned char Defined() { // Local variables struct _List_iterator i; // r1+0x10 // References // -> static class list gConditional; } // Range: 0x805D1EEC -> 0x805D24A8 void DataArray::Load(class DataArray * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables signed short size; // r1+0xC int i; // r31 class DataNode & n; // r26 class DataArray * array; // r30 int j; // r26 class DataNode array; // r1+0x50 class DataNode array; // r1+0x48 const char * path; // r27 int j; // r26 int left; // r26 // References // -> class Debug TheDebug; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class list gConditional; // -> static class Symbol gFile; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std13_List_node; // size: 0x8, address: 0x809273E8 // Range: 0x805D24A8 -> 0x805D2548 void DataArray::SaveGlob(const class DataArray * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables unsigned int size; // r31 } // Range: 0x805D2548 -> 0x805D2554 void DataArray::SetFile() { // References // -> static class Symbol gFile; } // Range: 0x805D2554 -> 0x805D25E0 class BinStream & __rs(class BinStream & s /* r30 */, class DataArray * & n /* r31 */) {} // Range: 0x805D25E0 -> 0x805D2658 class BinStream & __ls(class BinStream & s /* r30 */, const class DataArray * n /* r31 */) {} // Range: 0x805D2658 -> 0x805D26BC static void __sinit_\DataArray_cpp() { // References // -> static class list gConditional; // -> static class Symbol gFile; // -> const char * gNullStr; } class _List_node : public _List_node_base { // total size: 0xC public: unsigned char _M_data; // offset 0x8, size 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D26BC -> 0x805D28B0 */ // Range: 0x805D26BC -> 0x805D2730 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, const char * t2 /* r30 */, signed short t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805D2730 -> 0x805D27A4 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, const char * t2 /* r30 */, signed short t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x805D27A4 -> 0x805D2834 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r28 */, const char * t2 /* r29 */, class Symbol & t3 /* r30 */, signed short t4 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x805D2834 -> 0x805D28B0 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, class Symbol & t2 /* r30 */, signed short t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D28B0 -> 0x805D2D24 */ // Range: 0x805D28B0 -> 0x805D29C8 void DataArray::LoadGlob(class DataArray * const this /* r29 */, class BinStream & d /* r30 */, unsigned char str /* r31 */) { // Local variables unsigned int size; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D29C8 -> 0x805D2CCC class DataNode DataArray::ExecuteScript(class DataNode * ret /* r24 */, class DataArray * const this /* r25 */, int firstCmd /* r26 */, class Object * _this /* r27 */, const class DataArray * _args /* r28 */, int firstArg /* r29 */) { // Local variables int numVars; // r31 int i; // [invalid] int size; // r30 class DataArray * a; // r22 int j; // r21 class Object * oldThis; // r21 // References // -> int gPreExecuteLevel; // -> class DataNode (* gPreExecuteFunc)(class DataArray *); // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class DataArray * * gCallStackPtr; // -> class DataArray * gCallStack[100]; } // Range: 0x805D2CCC -> 0x805D2D24 class TextStream & __ls(class TextStream & s /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D2D24 -> 0x805D2D7C */ // Range: 0x805D2D24 -> 0x805D2D7C void * list::~list(class list * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D2D7C -> 0x805D2DDC */ // Range: 0x805D2D7C -> 0x805D2DDC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\obj\DataFile.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D2DDC -> 0x805D4640 */ static class DataArray * gArray; // size: 0x4, address: 0x80A54E48 static int gNode; // size: 0x4, address: 0x80A54E4C static class Symbol gFile; // size: 0x4, address: 0x80A54E50 static class BinStream * gStream; // size: 0x4, address: 0x80A54E54 static int gOpenArray; // size: 0x4, address: 0x80A54E58 static class list gConditional; // size: 0x8, address: 0x80988E60 static unsigned char gCachingFile; // size: 0x1, address: 0x80A54E5C int gDataLine; // size: 0x4, address: 0x80A54E60 // Range: 0x805D2DDC -> 0x805D2E28 void DataFail() { // References // -> class Debug TheDebug; // -> int gDataLine; // -> static class Symbol gFile; } // Range: 0x805D2E28 -> 0x805D2EFC static class DataArray * ReadEmbeddedFile(const char * file /* r24 */, unsigned char fail /* r23 */) { // Local variables const char * dir; // r0 const char * path; // r30 int node; // r29 class BinStream * stream; // r28 int line; // r27 class DataArray * array; // r26 int openArray; // r25 class DataArray * newArray; // r24 // References // -> class Debug TheDebug; // -> static int gOpenArray; // -> static class DataArray * gArray; // -> int gDataLine; // -> static class BinStream * gStream; // -> static int gNode; // -> static class Symbol gFile; } // Range: 0x805D2EFC -> 0x805D2F5C static void PushBack(const class DataNode & n /* r31 */) { // References // -> static int gNode; // -> static class DataArray * gArray; } // Range: 0x805D2F5C -> 0x805D2FBC static unsigned char Defined() { // Local variables struct _List_iterator i; // r1+0x10 // References // -> static class list gConditional; } // Range: 0x805D2FBC -> 0x805D4284 static unsigned char ParseNode() { // Local variables int token; // r30 class DataArray * array; // r30 unsigned char fail; // r30 class DataArray * array; // r30 int i; // r31 unsigned char ifdef; // r29 char * val; // r4 class Symbol condition; // r1+0xBC int openArray; // r29 class DataArray * array; // r31 class DataNode node; // r1+0x158 class Symbol macro; // r1+0xB8 int openArray; // r29 class DataArray * array; // r31 class Symbol macro; // r1+0xB4 int openArray; // r29 class DataArray * array; // r31 enum DataType type; // r5 int i; // r29 int base; // r30 char * c; // r4 char * val; // r4 class Symbol sym; // r1+0xB0 class DataArray * macro; // r29 int i; // r30 char * val; // r4 char * c; // r5 unsigned char escaped; // r6 char * d; // r3 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class list gConditional; // -> int yyleng; // -> static int gNode; // -> static class DataArray * gArray; // -> char * yytext; // -> static unsigned char gCachingFile; // -> int gDataLine; // -> class Debug TheDebug; // -> static class Symbol gFile; // -> static int gOpenArray; } // Range: 0x805D4284 -> 0x805D4320 static class DataArray * ParseArray() { // Local variables class DataArray * lastArray; // r31 int lastNode; // r30 class DataArray * array; // r0 // References // -> int gDataLine; // -> static class Symbol gFile; // -> static int gNode; // -> static class DataArray * gArray; } // Range: 0x805D4320 -> 0x805D4380 static class DataArray * ReadCacheStream(class BinStream & stream /* r30 */, const char * file /* r31 */) { // Local variables class DataArray * array; // r1+0xC } // Range: 0x805D4380 -> 0x805D43E0 class DataArray * DataReadString(const char * str /* r31 */) { // Local variables class BufStream buf; // r1+0x8 } // Range: 0x805D43E0 -> 0x805D44CC void * DataLoader::~DataLoader(class DataLoader * const this /* r30 */) { // References // -> struct [anonymous] __vt__10DataLoader; } // Range: 0x805D44CC -> 0x805D44DC unsigned char DataLoader::IsLoaded() {} // Range: 0x805D44DC -> 0x805D45DC void DataLoader::PollLoading(class DataLoader * const this /* r31 */) { // Local variables int bytes; // r1+0x8 class BufStream b; // r1+0xC } struct { // total size: 0x14 } __vt__10DataLoader; // size: 0x14, address: 0x809278D4 // Range: 0x805D45DC -> 0x805D4640 static void __sinit_\DataFile_cpp() { // References // -> static class list gConditional; // -> static class Symbol gFile; // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D4640 -> 0x805D4738 */ // Range: 0x805D4640 -> 0x805D46BC char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, class Symbol & t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } // Range: 0x805D46BC -> 0x805D4738 char * MakeString(const char * fmt /* r0 */, int t1 /* r29 */, class Symbol & t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D4738 -> 0x805D4D44 */ // Range: 0x805D4738 -> 0x805D4810 int DataInput(void * buf /* r30 */, int bytes /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class BinStream * gStream; } // Range: 0x805D4810 -> 0x805D4884 static char * CachedDataFile(const char * file /* r30 */) { // References // -> class Archive * TheArchive; } // Range: 0x805D4884 -> 0x805D49A8 class DataArray * DataReadFile(const char * file /* r0 */, unsigned char warn /* r31 */) { // Local variables char buffer[256]; // r1+0x38 unsigned char dtb; // r1+0x8 const char * cached; // r0 class FileStream stream; // r1+0x10 class DataArray * ret; // r31 // References // -> class Debug TheDebug; } // Range: 0x805D49A8 -> 0x805D4AE0 class DataArray * DataReadStream() { // Local variables int conditionals; // r0 class DataArray * array; // r30 // References // -> class Debug TheDebug; // -> static class list gConditional; // -> static int gOpenArray; // -> int gDataLine; // -> static class Symbol gFile; // -> static class BinStream * gStream; } // Range: 0x805D4AE0 -> 0x805D4C1C void * DataLoader::DataLoader(class DataLoader * const this /* r28 */, const class FilePath & path /* r29 */, unsigned char allowDtb /* r30 */) { // Local variables const char * file; // r31 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__10DataLoader; } // Range: 0x805D4C1C -> 0x805D4C8C class DataArray * DataLoader::Data(class DataLoader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D4C8C -> 0x805D4D44 void DataWriteFile(const char * file /* r29 */, const class DataArray * array /* r30 */, int startIndex /* r31 */) { // Local variables class Debug debug; // r1+0x8 int i; // [invalid] } /* Compile unit: C:\rockband2\system\src\obj\DataFunc.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805D4D44 -> 0x805DC9BC */ class map gDataFuncs; // size: 0x18, address: 0x80988E78 // Range: 0x805D4D44 -> 0x805D4EF0 void DataRegisterFunc(class Symbol & sym /* r30 */, class DataNode (* func)(class DataArray *) /* r31 */) { // Local variables struct _Rb_tree_iterator i; // r1+0x2C // References // -> class Debug TheDebug; // -> class map gDataFuncs; } class DataFuncObj : public Object { // total size: 0x2C class DataArray * mFunc; // offset 0x28, size 0x4 }; // Range: 0x805D4EF0 -> 0x805D4FFC class DataNode DataFuncObj::New(class DataArray * a /* r29 */) { // References // -> struct [anonymous] __vt__11DataFuncObj; // -> class ObjectDir * sMainDir; } // Range: 0x805D4FFC -> 0x805D50A0 static class DataNode DataSprintf(class DataArray * array /* r30 */) { // Local variables class FormatString f; // r1+0x8 int i; // r31 } // Range: 0x805D50A0 -> 0x805D5154 static class DataNode DataPrintf(class DataArray * array /* r30 */) { // Local variables class FormatString f; // r1+0x8 int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x805D5154 -> 0x805D51D4 static class DataNode DataPrint(class DataArray * array /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x805D51D4 -> 0x805D5268 static class DataNode DataSprint(class DataArray * array /* r30 */) { // Local variables class String s; // r1+0x8 int i; // r31 } // Range: 0x805D5268 -> 0x805D5344 static class DataNode DataSet(class DataNode * r /* r30 */, class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D5344 -> 0x805D53FC static class DataNode DataIfElse(class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805D53FC -> 0x805D54D4 static class DataNode DataIf(class DataArray * array /* r30 */) { // Local variables int i; // r31 } // Range: 0x805D54D4 -> 0x805D55B0 static class DataNode DataUnless(class DataArray * array /* r30 */) { // Local variables int i; // r31 } // Range: 0x805D55B0 -> 0x805D5628 static class DataNode DataEq(class DataArray * array /* r30 */) {} // Range: 0x805D5628 -> 0x805D5794 static class DataNode DataFindElem(class DataArray * array /* r27 */) { // Local variables int i; // r28 } // Range: 0x805D5794 -> 0x805D580C static class DataNode DataNe() {} // Range: 0x805D580C -> 0x805D5890 static class DataNode DataLe(class DataArray * array /* r31 */) {} // Range: 0x805D5890 -> 0x805D5910 static class DataNode DataLt(class DataArray * array /* r31 */) {} // Range: 0x805D5910 -> 0x805D5994 static class DataNode DataGe(class DataArray * array /* r31 */) {} // Range: 0x805D5994 -> 0x805D5A14 static class DataNode DataGt(class DataArray * array /* r31 */) {} // Range: 0x805D5A14 -> 0x805D5A60 static class DataNode DataNot() {} // Range: 0x805D5A60 -> 0x805D5AF0 static class DataNode DataAnd(class DataArray * array /* r30 */) { // Local variables int i; // r31 } // Range: 0x805D5AF0 -> 0x805D5B7C static class DataNode DataOr(class DataArray * array /* r30 */) { // Local variables int i; // r31 } // Range: 0x805D5B7C -> 0x805D5BF8 static class DataNode DataXor(class DataArray * array /* r30 */) {} // Range: 0x805D5BF8 -> 0x805D5CC8 static class DataNode DataBitAnd(class DataArray * array /* r29 */) { // Local variables int val; // r31 int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D5CC8 -> 0x805D5EC0 static class DataNode DataAndEqual(class DataArray * array /* r28 */) { // Local variables class DataArray * property; // r29 int r; // r30 // References // -> class Object * gDataThis; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D5EC0 -> 0x805D60B8 static class DataNode DataMaskEqual(class DataArray * array /* r28 */) { // Local variables class DataArray * property; // r29 int r; // r30 // References // -> class Object * gDataThis; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D60B8 -> 0x805D62B0 static class DataNode DataOrEqual(class DataArray * array /* r28 */) { // Local variables class DataArray * property; // r29 int r; // r30 // References // -> class Object * gDataThis; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D62B0 -> 0x805D6380 static class DataNode DataBitOr(class DataArray * array /* r29 */) { // Local variables int val; // r31 int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805D6380 -> 0x805D63F8 static class DataNode DataBitXor(class DataArray * array /* r30 */) {} // Range: 0x805D63F8 -> 0x805D6450 static class DataNode DataBitNot(class DataArray * array /* r31 */) {} // Range: 0x805D6450 -> 0x805D64D0 static class DataNode DataLowestBit(class DataArray * array /* r31 */) { // Local variables int val; // r0 int bit; // r4 } // Range: 0x805D64D0 -> 0x805D659C static class DataNode DataWhile(class DataArray * array /* r30 */) { // Local variables int i; // r31 } // Range: 0x805D659C -> 0x805D6600 static class DataNode DataVar(class DataArray * array /* r31 */) {} // Range: 0x805D6600 -> 0x805D66E4 static class DataNode DataPackColor(class DataArray * array /* r31 */) {} // Range: 0x805D66E4 -> 0x805D68CC static class DataNode DataUnpackColor(class DataArray * array /* r30 */) {} // Range: 0x805D68CC -> 0x805D6A48 static class DataNode DataDo(class DataNode * n /* r26 */, class DataArray * array /* r27 */) { // Local variables int size; // r30 int i; // r29 class DataArray * binding; // r28 int numVars; // r28 // References // -> class Debug TheDebug; } // Range: 0x805D6A48 -> 0x805D6B4C static class DataNode DataMin(class DataArray * array /* r30 */) {} // Range: 0x805D6B4C -> 0x805D6C50 static class DataNode DataMax(class DataArray * array /* r30 */) {} // Range: 0x805D6C50 -> 0x805D6CE4 static class DataNode DataAbs(class DataArray * array /* r30 */) { // Local variables float res; // f0 } // Range: 0x805D6CE4 -> 0x805D6DEC static class DataNode DataAdd(class DataArray * array /* r28 */) { // Local variables int isum; // r30 float fsum; // f31 int size; // r0 int i; // r29 } // Range: 0x805D6DEC -> 0x805D6EB0 static class DataNode DataAddEq(class DataNode * r /* r30 */, class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D6EB0 -> 0x805D6FF0 static class DataNode DataSub(class DataArray * array /* r29 */) {} // Range: 0x805D6FF0 -> 0x805D70AC static class DataNode DataMean(class DataArray * array /* r29 */) { // Local variables float fsum; // f31 int size; // r0 int i; // r30 } // Range: 0x805D70AC -> 0x805D7200 static class DataNode DataClamp(class DataArray * array /* r28 */) {} // Range: 0x805D7200 -> 0x805D72C4 static class DataNode DataSubEq(class DataNode * r /* r30 */, class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D72C4 -> 0x805D7388 static class DataNode DataClampEq(class DataNode * r /* r30 */, class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D7388 -> 0x805D746C static class DataNode DataMultiply(class DataArray * array /* r29 */) {} // Range: 0x805D746C -> 0x805D7530 static class DataNode DataMultiplyEq(class DataNode * r /* r30 */, class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D7530 -> 0x805D75B0 static class DataNode DataDivide(class DataArray * array /* r31 */) {} // Range: 0x805D75B0 -> 0x805D7674 static class DataNode DataDivideEq(class DataNode * r /* r30 */, class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D7674 -> 0x805D7790 static class DataNode DataMod(class DataArray * array /* r29 */) {} // Range: 0x805D7790 -> 0x805D78D8 static class DataNode DataDist(class DataArray * array /* r31 */) { // Local variables class Vector3 v; // r1+0x10 } // Range: 0x805D78D8 -> 0x805D7934 static class DataNode DataSymbol(class DataArray * array /* r31 */) {} // Range: 0x805D7934 -> 0x805D79E0 static class DataNode DataInt(class DataArray * array /* r31 */) {} // Range: 0x805D79E0 -> 0x805D7A3C static class DataNode DataFloor(class DataArray * array /* r31 */) {} // Range: 0x805D7A3C -> 0x805D7A98 static class DataNode DataCeil(class DataArray * array /* r31 */) {} // Range: 0x805D7A98 -> 0x805D7B0C static class DataNode DataDelete(class DataArray * array /* r31 */) {} // Range: 0x805D7B0C -> 0x805D7C60 static class DataNode DataNew(class DataArray * array /* r30 */) { // Local variables class Object * o; // r31 // References // -> class ObjectDir * gDataDir; } // Range: 0x805D7C60 -> 0x805D7DE4 static class DataNode DataForEach(class DataArray * array /* r26 */) { // Local variables class DataArray * values; // r30 class DataNode * var; // r29 class DataNode val; // r1+0x10 int i; // r28 int j; // r27 } // Range: 0x805D7DE4 -> 0x805D7F78 static class DataNode DataForEachInt(class DataArray * array /* r29 */) { // Local variables class DataNode * var; // r30 int end; // r0 class DataNode val; // r1+0x18 int i; // r27 int j; // r27 } // Range: 0x805D7F78 -> 0x805D7FF4 static class DataNode DataGetElem(class DataArray * array /* r30 */) {} // Range: 0x805D7FF4 -> 0x805D80F8 static class DataNode DataObject(class DataArray * array /* r30 */) { // Local variables const char * name; // r30 class Object * o; // r0 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> class ObjectDir * gDataDir; } // Range: 0x805D80F8 -> 0x805D81FC static class DataNode DataExists(class DataArray * array /* r30 */) { // Local variables unsigned char exists; // r0 struct _Rb_tree_iterator func; // r1+0x14 // References // -> class map gDataFuncs; // -> class ObjectDir * gDataDir; } // Range: 0x805D81FC -> 0x805D82A8 static class DataNode DataLocalize(class DataArray * array /* r30 */) { // Local variables unsigned char notify; // r31 const char * str; // r4 // References // -> const char * gNullStr; } // Range: 0x805D82A8 -> 0x805D8300 static class DataNode DataLocalizeSeparatedInt(class DataArray * array /* r31 */) {} // Range: 0x805D8300 -> 0x805D83D4 static class DataNode DataStartsWith(class DataArray * array /* r29 */) {} // Range: 0x805D83D4 -> 0x805D8608 static class DataNode DataTime(class DataArray * array /* r29 */) { // Local variables int i; // r28 class DataNode & n; // r0 class Timer t; // r1+0x10 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class Debug TheDebug; } // Range: 0x805D8608 -> 0x805D8684 static class DataNode DataRandomInt(class DataArray * array /* r30 */) {} // Range: 0x805D8684 -> 0x805D8720 static class DataNode DataRandomFloat(class DataArray * array /* r31 */) {} // Range: 0x805D8720 -> 0x805D87C8 static class DataNode DataRandomElem(class DataArray * array /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x805D87C8 -> 0x805D8824 static class DataNode DataRandom(class DataArray * array /* r31 */) {} // Range: 0x805D8824 -> 0x805D887C static class DataNode DataRandomSeed(class DataArray * array /* r31 */) {} // Range: 0x805D887C -> 0x805D8920 static class DataNode DataNotify(class DataArray * array /* r30 */) { // Local variables class String msg; // r1+0x8 int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x805D8920 -> 0x805D89DC static class DataNode DataFail(class DataArray * array /* r30 */) { // Local variables class String msg; // r1+0x8 int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x805D89DC -> 0x805D8AB8 static class DataNode DataCond(class DataArray * array /* r29 */) { // Local variables int i; // r31 class DataNode & n; // r0 class DataArray * a; // r30 // References // -> class Object * gDataThis; } // Range: 0x805D8AB8 -> 0x805D8BF0 static class DataNode DataSwitch(class DataArray * array /* r26 */) { // Local variables const class DataNode & node; // r29 int i; // r28 class DataNode & n; // r0 class DataArray * a; // r27 // References // -> class Object * gDataThis; } // Range: 0x805D8BF0 -> 0x805D8C90 static class DataNode DataInsertElems(class DataArray * array /* r29 */) {} // Range: 0x805D8C90 -> 0x805D8D30 static class DataNode DataInsertElem(class DataArray * array /* r29 */) {} // Range: 0x805D8D30 -> 0x805D8D98 static class DataNode DataPrintArray(class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x805D8D98 -> 0x805D8E68 static class DataNode DataSize(class DataArray * array /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D8E68 -> 0x805D8EE4 static class DataNode DataRemoveElem(class DataArray * array /* r30 */) {} // Range: 0x805D8EE4 -> 0x805D8F60 static class DataNode DataResize(class DataArray * array /* r30 */) {} // Range: 0x805D8F60 -> 0x805D919C static class DataNode DataNewArray(class DataArray * array /* r30 */) { // Local variables class DataArrayPtr a; // r1+0x8 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x805D919C -> 0x805D9244 static class DataNode DataSetElem(class DataArray * array /* r29 */) {} // Range: 0x805D9244 -> 0x805D9284 static class DataNode DataQuote() {} // Range: 0x805D9284 -> 0x805D92CC static class DataNode DataEval() {} // Range: 0x805D92CC -> 0x805D93B0 static class DataNode DataReverseInterp(class DataArray * array /* r31 */) {} // Range: 0x805D93B0 -> 0x805D945C static class DataNode DataInterp(class DataArray * array /* r31 */) {} // Range: 0x805D945C -> 0x805D95E8 static class DataNode DataInc(class DataArray * array /* r30 */) { // Local variables class DataArray * property; // r31 int r; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D95E8 -> 0x805D9774 static class DataNode DataDec(class DataArray * array /* r30 */) { // Local variables class DataArray * property; // r31 int r; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; } // Range: 0x805D9774 -> 0x805D9874 static class DataNode DataHandleType(class DataArray * array /* r29 */) { // Local variables int i; // r30 class Object * o; // r0 // References // -> class ObjectDir * gDataDir; } // Range: 0x805D9874 -> 0x805D9958 static class DataNode DataExport(class DataArray * arr /* r29 */) { // Local variables unsigned char callType; // r30 class Object * o; // r0 // References // -> class ObjectDir * gDataDir; } // Range: 0x805D9958 -> 0x805D9A68 static class DataNode DataHandle(class DataArray * array /* r29 */) { // Local variables int i; // r30 class Object * o; // r0 // References // -> class ObjectDir * gDataDir; } // Range: 0x805D9A68 -> 0x805D9B6C static class DataNode DataHandleRet(class DataArray * array /* r28 */) { // Local variables class Object * o; // r29 class String s; // r1+0x8 // References // -> class Debug TheDebug; // -> class ObjectDir * gDataDir; } // Range: 0x805D9B6C -> 0x805D9C60 static class DataNode DataRun(class DataNode * r /* r30 */, class DataArray * array /* r31 */) { // Local variables const char * path; // r0 class DataArray * script; // r31 // References // -> class Object * gDataThis; } // Range: 0x805D9C60 -> 0x805D9CEC static class DataNode OnReadFile(class DataNode * n /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x805D9CEC -> 0x805D9D34 static class DataNode DataExit() { // References // -> class Debug TheDebug; } // Range: 0x805D9D34 -> 0x805D9E50 static class DataNode DataFindExists(class DataArray * array /* r28 */) { // Local variables class DataArray * a; // r30 int i; // r29 class String s; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x805D9E50 -> 0x805D9F04 static class DataNode DataFind(class DataNode * r /* r31 */, class DataArray * array /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x805D9F04 -> 0x805DA038 static class DataNode DataFindObj(class DataArray * array /* r29 */) { // Local variables class ObjectDir * d; // r31 int i; // r30 const char * name; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class ObjectDir * sMainDir; } // Range: 0x805DA038 -> 0x805DA090 static class DataNode DataBasename(class DataArray * array /* r31 */) {} // Range: 0x805DA090 -> 0x805DA13C static class DataNode DataDirname(class DataArray * array /* r30 */) { // Local variables const char * path; // r30 int last_slash; // r0 // References // -> unsigned int npos; } // Range: 0x805DA13C -> 0x805DA1B8 static class DataNode DataHasSubStr(class DataArray * array /* r30 */) {} // Range: 0x805DA1B8 -> 0x805DA27C static class DataNode DataSubStr(class DataArray * array /* r30 */) { // Local variables class String val; // r1+0x14 class String ret; // r1+0x8 } // Range: 0x805DA27C -> 0x805DA2D4 static class DataNode DataStrlen(class DataArray * array /* r31 */) {} // Range: 0x805DA2D4 -> 0x805DA374 static class DataNode DataStrElem(class DataArray * array /* r30 */) { // Local variables char buffer[2]; // r1+0x8 } // Range: 0x805DA374 -> 0x805DA48C static class DataNode DataSearchReplace(class DataArray * array /* r29 */) { // Local variables char out[1024]; // r1+0x10 } // Range: 0x805DA48C -> 0x805DA528 static class DataNode DataPushBack(class DataArray * array /* r29 */) {} // Range: 0x805DA528 -> 0x805DA580 static class DataNode DataSort(class DataArray * array /* r31 */) {} // Range: 0x805DA580 -> 0x805DA5C8 static class DataNode DataGetType() {} // Range: 0x805DA5C8 -> 0x805DA62C static class DataNode DataWith(class DataArray * array /* r31 */) {} class DataThisPtr : public ObjPtr { // total size: 0xC }; static class DataThisPtr gDataThisPtr; // size: 0xC, address: 0x80988E9C // Range: 0x805DA62C -> 0x805DA6CC static class DataNode OnSetThis(class DataArray * array /* r31 */) { // References // -> static class DataThisPtr gDataThisPtr; } // Range: 0x805DA6CC -> 0x805DA7C4 static class DataNode DataMacroElem(class DataArray * array /* r31 */) { // Local variables class DataArray * macro; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class DataArrayPtr d; // size: 0x8, address: 0x80988EB8 class DataMergeFilter : public MergeFilter { // total size: 0x18 enum DataType mType; // offset 0x8, size 0x4 class DataNode (* mFunc)(class DataArray *); // offset 0xC, size 0x4 class Object * mObj; // offset 0x10, size 0x4 enum Action mAction; // offset 0x14, size 0x4 }; // Range: 0x805DA7C4 -> 0x805DA9DC static class DataNode DataMergeDirs(class DataArray * msg /* r31 */) { // Local variables class DataMergeFilter filter; // r1+0x18 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class map gDataFuncs; // -> class ObjectDir * gDataDir; // -> struct [anonymous] __vt__15DataMergeFilter; } // Range: 0x805DA9DC -> 0x805DAA60 static class DataNode DataReplaceObject(class DataArray * msg /* r30 */) {} // Range: 0x805DAA60 -> 0x805DAB08 static class DataNode DataNextName(class DataArray * msg /* r30 */) { // Local variables class ObjectDir * dir; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class ObjectDir * gDataDir; } static class Symbol unquote; // size: 0x4, address: 0x80A54E6C static class Symbol unquoteAbbrev; // size: 0x4, address: 0x80A54E74 // Range: 0x805DAB08 -> 0x805DAD3C static class DataNode Quasiquote(const class DataNode & n /* r28 */) { // Local variables enum DataType t; // r0 class DataArray * a; // r29 class DataArrayPtr d; // r1+0x18 int i; // r28 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> static class Symbol unquoteAbbrev; // -> static class Symbol unquote; } // Range: 0x805DAD3C -> 0x805DAD7C static class DataNode DataQuasiquote() {} // Range: 0x805DAD7C -> 0x805DADC0 static class DataNode DataUnquote() {} // Range: 0x805DADC0 -> 0x805DB098 static class DataNode DataGetDateTime(class DataArray * msg /* r31 */) { // Local variables struct DateTime d; // r1+0x38 } // Range: 0x805DB098 -> 0x805DB7F4 static class DataNode DataObjectList(class DataArray * msg /* r29 */) { // Local variables class Symbol className; // r1+0x40 int count; // r30 class ObjDirItr o; // r1+0x74 class DataArrayPtr arr; // r1+0x58 class ObjDirItr o; // r1+0x60 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x805DB7F4 -> 0x805DC43C void DataInitFuncs() { // Local variables char functionName[8]; // r1+0x208 } // Range: 0x805DC43C -> 0x805DC494 void DataTermFuncs() { // References // -> class map gDataFuncs; } // Range: 0x805DC494 -> 0x805DC520 class Symbol DataFuncName(class DataNode (* func)(class DataArray *) /* r31 */) { // Local variables struct _Rb_tree_iterator i; // r1+0x14 // References // -> class map gDataFuncs; } // Range: 0x805DC520 -> 0x805DC7A4 enum Action DataMergeFilter::Filter(class DataMergeFilter * const this /* r30 */, class Object * from /* r29 */, class Object * to /* r31 */) { // References // -> class DataArrayPtr d; // -> struct [anonymous] __vt__12DataArrayPtr; } struct { // total size: 0x10 } __vt__15DataMergeFilter; // size: 0x10, address: 0x80927E40 struct { // total size: 0x8 } __RTTI__15DataMergeFilter; // size: 0x8, address: 0x80927E70 // Range: 0x805DC7A4 -> 0x805DC82C void DataThisPtr::Replace(class DataThisPtr * const this /* r29 */, class Object * from /* r30 */, class Object * to /* r31 */) { // References // -> class Object * gDataThis; } struct { // total size: 0x18 } __vt__11DataThisPtr; // size: 0x18, address: 0x80927E78 struct { // total size: 0x8 } __RTTI__11DataThisPtr; // size: 0x8, address: 0x80927EB0 // Range: 0x805DC82C -> 0x805DC844 class DataNode DataFuncObj::Handle() { // References // -> class Object * gDataThis; } // Range: 0x805DC844 -> 0x805DC8D8 void * DataFuncObj::~DataFuncObj(class DataFuncObj * const this /* r30 */) { // References // -> struct [anonymous] __vt__11DataFuncObj; } struct { // total size: 0x54 } __vt__11DataFuncObj; // size: 0x54, address: 0x80927F08 struct { // total size: 0x8 } __RTTI__11DataFuncObj; // size: 0x8, address: 0x80927F80 struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std70_Rb_tree_node>; // size: 0x8, address: 0x809280A8 // Range: 0x805DC8D8 -> 0x805DC9BC static void __sinit_\DataFunc_cpp() { // References // -> struct [anonymous] __vt__11DataThisPtr; // -> struct [anonymous] __vt__32ObjPtr; // -> static class DataThisPtr gDataThisPtr; // -> class map gDataFuncs; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805DC9FC -> 0x805DD0C4 */ // Range: 0x805DC9FC -> 0x805DCA6C void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } // Range: 0x805DCA6C -> 0x805DCD70 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x805DCDE4 -> 0x805DCF98 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std70_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805DCF98 -> 0x805DD0C4 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\obj\DataNode.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805DD140 -> 0x805DF108 */ class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; static class map gDataVars; // size: 0x18, address: 0x80988ED0 // Range: 0x805DD140 -> 0x805DD298 class DataNode & DataVariable() { // References // -> static class map gDataVars; } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x805DD298 -> 0x805DD320 char * DataVarName(const class DataNode * var /* r31 */) { // Local variables struct _Rb_tree_iterator i; // r1+0x14 // References // -> static class map gDataVars; } // Range: 0x805DD320 -> 0x805DD3A4 unsigned char DataNode::CompatibleType() {} static class DataNode gEvalNode[8]; // size: 0x40, address: 0x80988EF8 static int gEvalIndex; // size: 0x4, address: 0x80A54E78 // Range: 0x805DD3A4 -> 0x805DD4F8 class DataNode & DataNode::Evaluate(const class DataNode * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class Object * gDataThis; // -> static class DataNode gEvalNode[8]; // -> static int gEvalIndex; } // Range: 0x805DD4F8 -> 0x805DD5D8 int DataNode::Int(const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r31 class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DD5D8 -> 0x805DD6B4 int DataNode::LiteralInt(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DD6B4 -> 0x805DD794 class Symbol DataNode::Sym(const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r31 class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DD794 -> 0x805DD870 class Symbol DataNode::LiteralSym(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DD870 -> 0x805DD970 class Symbol DataNode::ForceSym(const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r31 class String s; // r1+0x18 // References // -> class Debug TheDebug; } // Range: 0x805DD970 -> 0x805DDA64 char * DataNode::Str(const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r31 class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DDA64 -> 0x805DDB54 char * DataNode::LiteralStr(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DDB54 -> 0x805DDC5C void * DataNode::Glob(int * size /* r29 */, const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r31 class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DDC5C -> 0x805DDD6C float DataNode::Float(const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r31 class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DDD6C -> 0x805DDE78 float DataNode::LiteralFloat(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DDE78 -> 0x805DDF54 class DataNode (* DataNode::Func(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */))(class DataArray *) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DDF54 -> 0x805DE034 class Object * DataNode::GetObj(const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r0 const char * name; // r31 class Object * o; // r30 // References // -> class Debug TheDebug; // -> const char * kNotObjectMsg; // -> class ObjectDir * gDataDir; } // Range: 0x805DE034 -> 0x805DE114 class DataArray * DataNode::Array(const class DataArray * a /* r30 */) { // Local variables const class DataNode & n; // r31 class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DE114 -> 0x805DE1F0 class DataArray * DataNode::LiteralArray(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DE1F0 -> 0x805DE2CC class DataArray * DataNode::Command(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DE2CC -> 0x805DE3A8 class DataNode * DataNode::Var(const class DataNode * const this /* r30 */, const class DataArray * a /* r31 */) { // Local variables class String s; // r1+0x14 // References // -> class Debug TheDebug; } // Range: 0x805DE3A8 -> 0x805DE3D0 void * DataNode::DataNode() {} // Range: 0x805DE3D0 -> 0x805DE45C void * DataNode::DataNode(class DataNode * const this /* r29 */, const char * string /* r30 */) {} // Range: 0x805DE45C -> 0x805DE4EC void * DataNode::DataNode(class DataNode * const this /* r29 */, const class String & string /* r30 */) {} // Range: 0x805DE4EC -> 0x805DE564 void * DataNode::DataNode(class DataNode * const this /* r29 */, void * glob /* r30 */, int size /* r31 */) {} // Range: 0x805DE564 -> 0x805DE584 void * DataNode::DataNode() {} // Range: 0x805DE584 -> 0x805DE644 void * DataNode::DataNode(class DataNode * const this /* r28 */, class DataArray * array /* r29 */, enum DataType type /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805DE644 -> 0x805DE7D8 unsigned char DataNode::__eq(const class DataNode * const this /* r29 */, const class DataNode & n /* r30 */) { // Local variables const char * a; // r31 const char * b; // r4 } // Range: 0x805DE7D8 -> 0x805DE800 unsigned char DataNode::__ne() {} // Range: 0x805DE800 -> 0x805DE8A4 unsigned char DataNode::NotNull() { // Local variables const class DataNode & n; // r0 enum DataType t; // r0 } // Range: 0x805DE8A4 -> 0x805DE938 class DataNode & DataNode::__as(class DataNode * const this /* r30 */, const class DataNode & n /* r31 */) {} // Range: 0x805DE938 -> 0x805DEC2C void DataNode::Print(const class DataNode * const this /* r31 */, class TextStream & s /* r30 */) { // Local variables char * str; // r31 } // Range: 0x805DEC2C -> 0x805DED94 void DataNode::Save(const class DataNode * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> class Debug TheDebug; } static char buf[128]; // size: 0x80, address: 0x80988F38 // Range: 0x805DED94 -> 0x805DF04C void DataNode::Load(class DataNode * const this /* r30 */, class BinStream & d /* r29 */) { // Local variables class Symbol sym; // r1+0x24 struct _Rb_tree_iterator func; // r1+0x20 class Symbol sym; // r1+0x1C class Symbol name; // r1+0x18 // References // -> class ObjectDir * gDataDir; // -> static char buf[128]; // -> class Debug TheDebug; // -> class map gDataFuncs; // -> const char * gNullStr; } class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std56_Rb_tree_node>; // size: 0x8, address: 0x809286E0 // Range: 0x805DF04C -> 0x805DF108 static void __sinit_\DataNode_cpp() { // References // -> static class DataNode gEvalNode[8]; // -> static class map gDataVars; } struct pair { // total size: 0xC class Symbol first; // offset 0x0, size 0x4 class DataNode second; // offset 0x4, size 0x8 }; class StlNodeAlloc { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805DF108 -> 0x805DF118 */ // Range: 0x805DF108 -> 0x805DF118 void * DataNode::DataNode() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805DF118 -> 0x805DF7A8 */ // Range: 0x805DF118 -> 0x805DF41C struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x805DF41C -> 0x805DF5CC struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r28 */, struct _Rb_tree_node_base * __parent /* r29 */, const struct pair & __val /* r30 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std56_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805DF5CC -> 0x805DF6F8 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x805DF6F8 -> 0x805DF7A8 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } /* Compile unit: C:\rockband2\system\src\obj\DataUtl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805DF840 -> 0x805E01A8 */ class Symbol name; // size: 0x4, address: 0x80A54E84 class map gMacroTable; // size: 0x18, address: 0x80988FC8 class ObjectDir * gDataDir; // size: 0x4, address: 0x80A54E88 class Object * gDataThis; // size: 0x4, address: 0x80A54E8C static unsigned char gDataMacroWarning; // size: 0x1, address: 0x80A479F0 struct VarStack { // total size: 0xC class DataNode * var; // offset 0x0, size 0x4 class DataNode value; // offset 0x4, size 0x8 }; static struct VarStack gVarStack[100]; // size: 0x4B0, address: 0x80988FF0 static struct VarStack * gVarStackPtr; // size: 0x4, address: 0x80A479F4 // Range: 0x805DF840 -> 0x805DF894 static class Loader * DataFactory(const class FilePath & file /* r30 */, enum LoaderPos pos /* r31 */) {} // Range: 0x805DF894 -> 0x805DF920 void DataInit() { // References // -> static unsigned char gDataMacroWarning; // -> class Symbol name; // -> class LoadMgr TheLoadMgr; } class TextFile : public Object, public TextStream { // total size: 0x30 class File * mFile; // offset 0x2C, size 0x4 }; // Range: 0x805DF920 -> 0x805DF9F8 void DataTerminate() { // Local variables struct _Rb_tree_iterator i; // r1+0x14 // References // -> class ObjectDir * gDataDir; // -> class Object * gDataThis; // -> class map gMacroTable; } // Range: 0x805DF9F8 -> 0x805DFB94 void DataSetMacro(class Symbol & key /* r30 */, class DataArray * macro /* r31 */) { // References // -> class Debug TheDebug; // -> static unsigned char gDataMacroWarning; // -> class map gMacroTable; } // Range: 0x805DFB94 -> 0x805DFC24 class DataArray * DataGetMacro() { // Local variables struct _Rb_tree_iterator i; // r1+0x10 // References // -> class map gMacroTable; } // Range: 0x805DFC24 -> 0x805DFD40 class Symbol DataGetMacroByInt(int value /* r29 */, const char * prefix /* r30 */) { // Local variables struct _Rb_tree_iterator it; // r1+0x1C class DataArray * macro_array; // r3 class DataNode & node; // r0 class String name; // r1+0x20 // References // -> const char * gNullStr; // -> class map gMacroTable; } // Range: 0x805DFD40 -> 0x805DFE98 void DataMergeTags(class DataArray * dest /* r28 */, class DataArray * src /* r29 */) { // Local variables int i; // r31 class DataNode & n; // r0 class DataArray * srcArray; // r30 class DataArray * destArray; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class DataNode & thisVar; // size: 0x4, address: 0x80A54E94 // Range: 0x805DFE98 -> 0x805DFF7C class Object * DataSetThis(class Object * o /* r30 */) { // Local variables class Object * old; // r31 // References // -> static class DataNode & thisVar; // -> class ObjectDir * gDataDir; // -> class ObjectDir * sMainDir; // -> class Object * gDataThis; } // Range: 0x805DFF7C -> 0x805DFF84 class Object * DataThis() { // References // -> class Object * gDataThis; } // Range: 0x805DFF84 -> 0x805E0028 void DataPushVar(class DataNode * var /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static struct VarStack gVarStack[100]; // -> static struct VarStack * gVarStackPtr; } // Range: 0x805E0028 -> 0x805E00EC void DataPopVar() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static struct VarStack gVarStack[100]; // -> static struct VarStack * gVarStackPtr; } // Range: 0x805E00EC -> 0x805E01A8 static void __sinit_\DataUtl_cpp() { // References // -> static struct VarStack gVarStack[100]; // -> class map gMacroTable; } /* Compile unit: C:\rockband2\system\src\obj\TextFile.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E01A8 -> 0x805E020C */ // Range: 0x805E01A8 -> 0x805E020C class Object * TextFile::NewObject() { // References // -> struct [anonymous] __vt__8TextFile; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E020C -> 0x805E0288 */ // Range: 0x805E020C -> 0x805E0288 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r29 */, const char * t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0xC } /* Compile unit: C:\rockband2\system\src\obj\DataFlex.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x805E033C -> 0x805E0D14 */ struct yy_buffer_state { // total size: 0x28 struct _FILE * yy_input_file; // offset 0x0, size 0x4 char * yy_ch_buf; // offset 0x4, size 0x4 char * yy_buf_pos; // offset 0x8, size 0x4 unsigned int yy_buf_size; // offset 0xC, size 0x4 int yy_n_chars; // offset 0x10, size 0x4 int yy_is_our_buffer; // offset 0x14, size 0x4 int yy_is_interactive; // offset 0x18, size 0x4 int yy_at_bol; // offset 0x1C, size 0x4 int yy_fill_buffer; // offset 0x20, size 0x4 int yy_buffer_status; // offset 0x24, size 0x4 }; static struct yy_buffer_state * yy_current_buffer; // size: 0x4, address: 0x80A54E98 static char * yy_c_buf_p; // size: 0x4, address: 0x80A54E9C static int yy_init; // size: 0x4, address: 0x80A47A00 static int yy_start; // size: 0x4, address: 0x80A54EA0 struct _FILE * yyin; // size: 0x4, address: 0x80A54EA4 struct _FILE * yyout; // size: 0x4, address: 0x80A54EA8 static signed short yy_accept[122]; // size: 0xF4, address: 0x8084EE10 static int yy_ec[256]; // size: 0x400, address: 0x8084EF08 static int yy_meta[46]; // size: 0xB8, address: 0x8084F308 static signed short yy_base[136]; // size: 0x110, address: 0x8084F3C0 static signed short yy_def[136]; // size: 0x110, address: 0x8084F4D0 static signed short yy_nxt[564]; // size: 0x468, address: 0x8084F5E0 static signed short yy_chk[564]; // size: 0x468, address: 0x8084FA48 // Range: 0x805E033C -> 0x805E0784 int yylex() { // Local variables int yy_current_state; // r30 char * yy_cp; // r29 char * yy_bp; // r28 int yy_act; // r4 unsigned char yy_c; // r7 int yy_amount_of_matched_text; // r30 int yy_next_state; // r3 // References // -> static int yy_did_buffer_switch_on_eof; // -> static int yy_n_chars; // -> int gDataLine; // -> int yyleng; // -> char * yytext; // -> static signed short yy_nxt[564]; // -> static signed short yy_chk[564]; // -> static signed short yy_base[136]; // -> static int yy_meta[46]; // -> static signed short yy_def[136]; // -> static char * yy_last_accepting_cpos; // -> static int yy_last_accepting_state; // -> static signed short yy_accept[122]; // -> static int yy_ec[256]; // -> static char yy_hold_char; // -> static char * yy_c_buf_p; // -> static struct yy_buffer_state * yy_current_buffer; // -> struct _FILE * yyout; // -> struct _FILE __files[]; // -> struct _FILE * yyin; // -> static int yy_start; // -> static int yy_init; } // Range: 0x805E0784 -> 0x805E09C0 static int yy_get_next_buffer() { // Local variables char * dest; // r30 char * source; // r29 int number_to_move; // r31 int i; // r3 int ret_val; // r29 int num_to_read; // r0 int yy_c_buf_p_offset; // r29 // References // -> struct _FILE * yyin; // -> static int yy_n_chars; // -> static char * yy_c_buf_p; // -> char * yytext; // -> static struct yy_buffer_state * yy_current_buffer; } // Range: 0x805E09C0 -> 0x805E0A80 static int yy_get_previous_state() { // Local variables int yy_current_state; // r3 char * yy_cp; // r8 unsigned char yy_c; // r9 // References // -> static char * yy_c_buf_p; // -> static signed short yy_nxt[564]; // -> static signed short yy_chk[564]; // -> static signed short yy_base[136]; // -> static int yy_meta[46]; // -> static signed short yy_def[136]; // -> static char * yy_last_accepting_cpos; // -> static int yy_last_accepting_state; // -> static signed short yy_accept[122]; // -> static int yy_ec[256]; // -> char * yytext; // -> static int yy_start; } // Range: 0x805E0A80 -> 0x805E0B20 static int yy_try_NUL_trans() { // Local variables char * yy_cp; // r5 unsigned char yy_c; // r8 // References // -> static signed short yy_nxt[564]; // -> static signed short yy_chk[564]; // -> static signed short yy_base[136]; // -> static int yy_meta[46]; // -> static signed short yy_def[136]; // -> static char * yy_last_accepting_cpos; // -> static int yy_last_accepting_state; // -> static signed short yy_accept[122]; // -> static char * yy_c_buf_p; } // Range: 0x805E0B20 -> 0x805E0B74 void yyrestart(struct _FILE * input_file /* r31 */) { // References // -> struct _FILE * yyin; // -> static struct yy_buffer_state * yy_current_buffer; } // Range: 0x805E0B74 -> 0x805E0BA0 void yy_load_buffer_state() { // References // -> static char yy_hold_char; // -> struct _FILE * yyin; // -> char * yytext; // -> static char * yy_c_buf_p; // -> static int yy_n_chars; // -> static struct yy_buffer_state * yy_current_buffer; } // Range: 0x805E0BA0 -> 0x805E0C38 struct yy_buffer_state * yy_create_buffer(struct _FILE * file /* r29 */, int size /* r30 */) { // Local variables struct yy_buffer_state * b; // r31 } // Range: 0x805E0C38 -> 0x805E0C84 void yy_init_buffer(struct yy_buffer_state * b /* r30 */, struct _FILE * file /* r31 */) {} // Range: 0x805E0C84 -> 0x805E0CCC void yy_flush_buffer() { // References // -> static struct yy_buffer_state * yy_current_buffer; } // Range: 0x805E0CCC -> 0x805E0D0C static void yy_fatal_error() { // References // -> struct _FILE __files[]; } // Range: 0x805E0D0C -> 0x805E0D10 static void * yy_flex_alloc() {} // Range: 0x805E0D10 -> 0x805E0D14 static void * yy_flex_realloc() {} char * yytext; // size: 0x4, address: 0x80A54EAC static char * yy_last_accepting_cpos; // size: 0x4, address: 0x80A54EB0 static int yy_last_accepting_state; // size: 0x4, address: 0x80A54EB4 static int yy_did_buffer_switch_on_eof; // size: 0x4, address: 0x80A54EB8 int yyleng; // size: 0x4, address: 0x80A54EBC static int yy_n_chars; // size: 0x4, address: 0x80A54EC0 static char yy_hold_char; // size: 0x1, address: 0x80A54EC4 /* Compile unit: C:\rockband2\system\src\obj\Dir.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E0D14 -> 0x805E721C */ class DataArray * types; // size: 0x4, address: 0x80A54EC8 const char * kNotObjectMsg; // size: 0x4, address: 0x80A47A08 class ObjectDir * sMainDir; // size: 0x4, address: 0x80A54ED0 static class ObjectDir * gDir; // size: 0x4, address: 0x80A54ED4 // Range: 0x805E0D14 -> 0x805E0D6C void ObjectDir::Reserve(class ObjectDir * const this /* r30 */, int stringSize /* r31 */) {} // Range: 0x805E0D6C -> 0x805E0D78 void ObjectDir::SetCurViewport() {} // Range: 0x805E0D78 -> 0x805E0DF8 class Viewport & ObjectDir::CurViewport(class ObjectDir * const this /* r31 */) { // References // -> class Debug TheDebug; } static class Message msg; // size: 0x8, address: 0x809894B0 class vector : protected _Vector_base { // total size: 0xC }; // Range: 0x805E0DF8 -> 0x805E107C void ObjectDir::SyncObjects(class ObjectDir * const this /* r31 */) { // Local variables class vector dirs; // r1+0x30 int i; // r28 int which; // r1+0x1C class ObjectDir * d; // r1+0x18 // References // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class Debug TheDebug; } class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: class ObjectDir * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: class ObjectDir * * _M_start; // offset 0x0, size 0x4 class ObjectDir * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x805E107C -> 0x805E10E0 void ObjectDir::SetSubDir(class ObjectDir * const this /* r31 */) {} // Range: 0x805E10E0 -> 0x805E11E8 void ObjectDir::Save(class ObjectDir * const this /* r30 */, class BinStream & d /* r31 */) { // References // -> unsigned char gLoadingProxyFromDisk; // -> class FilePath sRoot; } // Range: 0x805E11E8 -> 0x805E12D0 void ObjectDir::SaveProxy(class ObjectDir * const this /* r28 */, class BinStream & d /* r29 */) { // Local variables class FilePathTracker _fptracker; // r1+0x8 // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> unsigned char gLoadingProxyFromDisk; } // Range: 0x805E12D0 -> 0x805E1374 void ObjectDir::Load(class ObjectDir * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables class Loader * l; // r4 // References // -> class LoadMgr TheLoadMgr; } static int gRev; // size: 0x4, address: 0x80A54EDC // Range: 0x805E1374 -> 0x805E1480 class BinStream & __rs(class BinStream & d /* r30 */, class Viewport & c /* r31 */) { // Local variables float xfov; // r1+0x8 // References // -> static int gRev; } static class DataArray * remaps; // size: 0x4, address: 0x80A54EE0 static class vector subDirs; // size: 0xC, address: 0x809894C4 static class DataArray * remaps; // size: 0x4, address: 0x80A54EE8 // Range: 0x805E1480 -> 0x805E25EC void ObjectDir::PreLoad(class ObjectDir * const this /* r27 */, class BinStream & d /* r28 */) { // Local variables int hashSize; // r1+0x4C int stringSize; // r1+0x48 class FilePath proxyFile; // r1+0x80 class FilePath p; // r1+0x74 class DataArray * arg; // r25 char buf[128]; // r1+0x190 char buf[128]; // r1+0x110 char buf[128]; // r1+0x90 int i; // r29 class DataArray * arg; // r26 int i; // r25 unsigned int i; // r30 unsigned int i; // r30 int inlineProxy; // r1+0x44 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std13_List_node; // -> unsigned char gStlAllocNameLookup; // -> class list sRevs; // -> const char * kAssertStr; // -> class FilePath sNull; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> static class DataArray * remaps; // -> static class vector subDirs; // -> static class DataArray * remaps; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> unsigned char gLoadingProxyFromDisk; // -> class Debug TheDebug; // -> static int gRev; } static class Message msg; // size: 0x8, address: 0x809894E0 // Range: 0x805E25EC -> 0x805E2A70 void ObjectDir::PostLoad(class ObjectDir * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int i; // r31 char buf[128]; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Message msg; // -> struct [anonymous] __vt__7Message; // -> class LoadMgr TheLoadMgr; // -> static int gRev; // -> class list sRevs; } // Range: 0x805E2A70 -> 0x805E2AC8 void ObjectDir::TransferLoaderState(class ObjectDir * const this /* r30 */, class ObjectDir * dir /* r31 */) {} // Range: 0x805E2AC8 -> 0x805E2BAC void ObjectDir::SetProxyFile(class ObjectDir * const this /* r30 */, unsigned char override /* r31 */) { // References // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; } // Range: 0x805E2BAC -> 0x805E2CF8 void ObjectDir::Copy(class ObjectDir * const this /* r30 */, const class Object * o /* r31 */, enum CopyType type /* r29 */) { // Local variables const class ObjectDir * m; // r0 int i; // r29 int i; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x805E2CF8 -> 0x805E2E38 class Object * ObjectDir::FindObject(class ObjectDir * const this /* r27 */, const char * name /* r28 */, unsigned char parentDirs /* r29 */) { // Local variables struct Entry * entry; // r0 int i; // r30 class Object * o; // r0 // References // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805E2E38 -> 0x805E2E74 void ObjectDir::RemovingObject() {} // Range: 0x805E2E74 -> 0x805E314C void ObjectDir::AddedSubDir(class ObjectDir * const this /* r31 */, class ObjectDir * dir /* r30 */) { // Local variables class ObjDirItr i; // r1+0x18 } // Range: 0x805E314C -> 0x805E3400 void ObjectDir::RemovingSubDir(class ObjectDir * const this /* r31 */) { // Local variables class ObjDirItr i; // r1+0x18 } // Range: 0x805E3400 -> 0x805E35E8 void * ObjectDir::ObjectDir(class ObjectDir * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29ObjectDir8Viewport; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__9ObjectDir; } struct { // total size: 0x8 } __RTTI__PQ29ObjectDir8Viewport; // size: 0x8, address: 0x80928B28 // Range: 0x805E35E8 -> 0x805E3758 void ObjectDir::ResetEditorState(class ObjectDir * const this /* r31 */) {} // Range: 0x805E3758 -> 0x805E3970 void ObjectDir::ResetViewports() {} // Range: 0x805E3970 -> 0x805E3C40 void ObjectDir::DeleteObjects(class ObjectDir * const this /* r31 */) { // Local variables class ObjDirItr obj; // r1+0x18 } // Range: 0x805E3C40 -> 0x805E3C6C unsigned char ObjectDir::InlineProxy() { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x805E3C6C -> 0x805E3C74 unsigned char ObjectDir::AllowsInlineProxy() {} // Range: 0x805E3C74 -> 0x805E4058 void * ObjectDir::~ObjectDir(class ObjectDir * const this /* r28 */) { // References // -> const char * gNullStr; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__9ObjectDir; } // Range: 0x805E4058 -> 0x805E40F0 struct Entry * ObjectDir::FindEntry(class ObjectDir * const this /* r30 */, const char * name /* r1+0x8 */, unsigned char add /* r31 */) { // Local variables struct Entry * entry; // r3 struct Entry e; // r1+0x10 } // Range: 0x805E40F0 -> 0x805E41A0 static class DataNode OnLoadObjects(class DataArray * msg /* r31 */) { // References // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805E41A0 -> 0x805E41F8 static class DataNode OnPathName(class DataArray * msg /* r31 */) {} // Range: 0x805E41F8 -> 0x805E42B8 static class DataNode OnReserveToFit(class DataArray * msg /* r27 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x805E42B8 -> 0x805E432C static class DataNode OnTestDuplicateObjNames(class DataArray * msg /* r31 */) { // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x805E432C -> 0x805E4384 static class DataNode OnInitObject(class DataArray * msg /* r31 */) {} // Range: 0x805E4384 -> 0x805E4400 void ObjectDir::PreInit() { // References // -> class ObjectDir * sMainDir; // -> class Symbol name; } // Range: 0x805E4400 -> 0x805E4404 void ObjectDir::Terminate() {} static class DataArray * objects; // size: 0x4, address: 0x80A54EF0 // Range: 0x805E4404 -> 0x805E493C void ObjectDir::Iterate(class ObjectDir * const this /* r28 */, class DataArray * a /* r29 */, unsigned char subDirs /* r27 */) { // Local variables class Symbol className; // r1+0x4C class DataArray * na; // r26 class DataNode val; // r1+0x60 class ObjDirItr o; // r1+0x68 int j; // r26 // References // -> static class DataArray * objects; // -> const char * gNullStr; } // Range: 0x805E493C -> 0x805E49D0 unsigned char ObjectDir::HasDirPtrs(const class ObjectDir * const this /* r31 */) { // Local variables struct _List_iterator i; // r1+0x18 } static class Symbol _s; // size: 0x4, address: 0x80A54EF8 static class Symbol _s; // size: 0x4, address: 0x80A54F00 static class Symbol _s; // size: 0x4, address: 0x80A54F08 static class Symbol _s; // size: 0x4, address: 0x80A54F10 static class Symbol _s; // size: 0x4, address: 0x80A54F18 static class Symbol _s; // size: 0x4, address: 0x80A54F20 static class Symbol _s; // size: 0x4, address: 0x80A54F28 static class Symbol _s; // size: 0x4, address: 0x80A54F30 static class Symbol _s; // size: 0x4, address: 0x80A54F38 static class Symbol _s; // size: 0x4, address: 0x80A54F40 static class Symbol _s; // size: 0x4, address: 0x80A54F48 static class Symbol _s; // size: 0x4, address: 0x80A54F50 static class Symbol _s; // size: 0x4, address: 0x80A54F58 static class Symbol _s; // size: 0x4, address: 0x80A54F60 static class Symbol _s; // size: 0x4, address: 0x80A54F68 // Range: 0x805E49D0 -> 0x805E5C54 class DataNode ObjectDir::Handle(class ObjectDir * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x5C class MessageTimer _mt; // r1+0x90 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode _n; // r1+0x60 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x805E5C54 -> 0x805E6254 class DataNode ObjectDir::OnListObjs(class ObjectDir * const this /* r27 */, class DataArray * a /* r24 */) { // Local variables class Symbol class_name; // r1+0x38 unsigned char no_null; // r0 unsigned char subdir_only; // r0 unsigned char curdir_only; // r0 class DataArray * no_objs; // r29 int idx; // r28 class DataArrayPtr da; // r1+0x58 class ObjDirItr i; // r1+0x60 int i; // r24 // References // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x805E6254 -> 0x805E6318 class DataNode ObjectDir::OnFind(class ObjectDir * const this /* r30 */, class DataArray * a /* r29 */) { // Local variables class Object * o; // r0 // References // -> class Debug TheDebug; } // Range: 0x805E6318 -> 0x805E66E0 static class ObjectDir * SyncSubDir(const class FilePath & p /* r30 */) { // Local variables class Loader * l; // r0 class DirLoader * dl; // r0 class ObjectDir * dir; // r31 class ObjDirItr o; // r1+0x24 // References // -> static class ObjectDir * gDir; // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; // -> class LoadMgr TheLoadMgr; } // Range: 0x805E66E0 -> 0x805E6D94 unsigned char PropSyncSubDirs(class vector & s /* r28 */, class DataNode & n /* r29 */, class DataArray * prop /* r31 */, int i /* r30 */, enum PropOp op /* r27 */) { // Local variables class ObjDirPtr * it; // r30 class ObjectDir * dir; // r31 // References // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8FilePath; // -> static class ObjectDir * gDir; // -> class FilePath sRoot; // -> class FilePath sNull; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805E6D94 -> 0x805E6E38 void ObjectDir::SetPathName(class ObjectDir * const this /* r29 */, const char * path /* r30 */) { // References // -> const char * gNullStr; } static class Symbol _s; // size: 0x4, address: 0x80A54F70 static class Symbol _s; // size: 0x4, address: 0x80A54F78 static class Symbol _s; // size: 0x4, address: 0x80A54F80 // Range: 0x805E6E38 -> 0x805E7128 unsigned char ObjectDir::SyncProperty(class ObjectDir * const this /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class ObjectDir * gDir; } struct { // total size: 0xB0 } __vt__9ObjectDir; // size: 0xB0, address: 0x80928E50 // Range: 0x805E7128 -> 0x805E721C struct Entry * KeylessHash::Find(class KeylessHash * const this /* r28 */, const char * const & key /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class DebugWarner _dw; // size: 0x100, address: 0x809894E8 struct { // total size: 0x8 } __RTTI__PP9ObjectDir; // size: 0x8, address: 0x80929108 struct { // total size: 0x8 } __RTTI__P21ObjDirPtr<9ObjectDir>; // size: 0x8, address: 0x80929128 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E721C -> 0x805E727C */ // Range: 0x805E721C -> 0x805E727C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r30 */, enum ViewportId t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E727C -> 0x805E735C */ // Range: 0x805E727C -> 0x805E735C class ObjectDir * * find() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E735C -> 0x805E790C */ // Range: 0x805E735C -> 0x805E7488 class ObjectDir * ObjectDir::NextSubDir(class ObjectDir * const this /* r30 */, int & which /* r31 */) { // Local variables class ObjectDir * d; // r3 int i; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805E7488 -> 0x805E7640 static void CheckForDuplicates() { // Local variables class DataArray * d; // r31 class list objects; // r1+0x50 int i; // r29 // References // -> class Debug TheDebug; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805E7640 -> 0x805E7858 void ObjectDir::Init() { // Local variables class DataArray * d; // r31 // References // -> unsigned char sPrintTimes; // -> class ObjectDir * sMainDir; // -> class LoadMgr TheLoadMgr; // -> class Symbol name; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\utl\BinStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E790C -> 0x805E7CE8 */ // Range: 0x805E790C -> 0x805E79A4 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class ObjDirPtr * t; // r31 } // Range: 0x805E79A4 -> 0x805E7B40 class BinStream & __ls(class BinStream & d /* r29 */, const class vector & c /* r30 */) { // Local variables const class Viewport * t; // r31 } // Range: 0x805E7B40 -> 0x805E7CE8 class BinStream & __rs(class BinStream & d /* r30 */, class vector & c /* r31 */) { // Local variables unsigned int s; // r1+0x20 class Viewport * t; // r29 } /* Compile unit: C:\rockband2\system\src\obj\Dir.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E7CE8 -> 0x805E7FCC */ // Range: 0x805E7CE8 -> 0x805E7D70 class BinStream & __ls(class BinStream & d /* r31 */) { // References // -> class FilePath sRoot; // -> class FilePath sNull; } // Range: 0x805E7D70 -> 0x805E7D80 void * Entry::Entry() {} // Range: 0x805E7D80 -> 0x805E7DF4 class Object * ObjectDir::NewObject() { // References // -> class Symbol name; } // Range: 0x805E7DF4 -> 0x805E7E38 class Symbol ObjectDir::ClassName() { // References // -> class Symbol name; } // Range: 0x805E7E38 -> 0x805E7FCC void ObjectDir::SetType(class ObjectDir * const this /* r29 */, class Symbol & ObjectDir /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E7FCC -> 0x805E8074 */ // Range: 0x805E7FCC -> 0x805E8074 void _S_unique() { // Local variables struct _List_iterator __first; // r1+0x20 struct _List_iterator __last; // r1+0x1C struct _List_iterator __next; // r1+0x18 } /* Compile unit: C:\rockband2\system\src\obj\DirLoader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E8074 -> 0x805E80DC */ // Range: 0x805E8074 -> 0x805E80DC class Loader * DirLoader::New(const class FilePath & file /* r30 */, enum LoaderPos pos /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\KeylessHash.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E80DC -> 0x805E86D4 */ // Range: 0x805E80DC -> 0x805E81E8 void * KeylessHash::KeylessHash(class KeylessHash * const this /* r31 */) { // Local variables int i; // r4 } // Range: 0x805E81E8 -> 0x805E8258 void * KeylessHash::~KeylessHash(class KeylessHash * const this /* r30 */) {} // Range: 0x805E8258 -> 0x805E8508 struct Entry * KeylessHash::Insert(class KeylessHash * const this /* r28 */, const struct Entry & val /* r29 */) { // Local variables const char * key; // r25 int i; // r30 // References // -> class DebugWarner _dw; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805E8508 -> 0x805E86D4 void KeylessHash::Resize(class KeylessHash * const this /* r27 */, int size /* r28 */, struct Entry * entries /* r29 */) { // Local variables unsigned char ownEntries; // r30 int i; // r4 struct Entry * pval; // r26 int i; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805E86D4 -> 0x805EA348 */ // Range: 0x805E86D4 -> 0x805E880C void vector::_M_insert_overflow(class vector * const this /* r27 */, class ObjectDir * * __pos /* r28 */, class ObjectDir * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 class ObjectDir * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9ObjectDir; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805E880C -> 0x805E8C00 class vector & vector::__as(class vector * const this /* r29 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29ObjectDir8Viewport; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805E8C00 -> 0x805E8C70 void vector::_M_fill_insert() {} // Range: 0x805E8C70 -> 0x805E8F18 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class ObjDirPtr * __pos /* r26 */, const class ObjDirPtr & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class ObjDirPtr * __new_finish; // r29 // References // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P21ObjDirPtr<9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805E8F18 -> 0x805E9440 class vector & vector::__as(class vector * const this /* r26 */, const class vector & __x /* r27 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P21ObjDirPtr<9ObjectDir>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805E9440 -> 0x805E94A8 class ObjDirPtr * vector::insert(class vector * const this /* r30 */) { // Local variables unsigned long __n; // r31 } // Range: 0x805E94A8 -> 0x805E9528 void vector::_M_fill_insert() {} // Range: 0x805E9528 -> 0x805E9854 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class Viewport * __pos /* r26 */, const class Viewport & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class Viewport * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ29ObjectDir8Viewport; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805E9854 -> 0x805E9CDC void vector::_M_fill_insert_aux() { // Local variables class Viewport __x_copy; // r1+0x30 unsigned long __elems_after; // r9 class Viewport * __old_finish; // r0 } // Range: 0x805E9CDC -> 0x805EA348 void vector::_M_fill_insert_aux(class vector * const this /* r25 */, class ObjDirPtr * __pos /* r26 */, unsigned long __n /* r27 */, const class ObjDirPtr & __x /* r28 */) { // Local variables class ObjDirPtr __x_copy; // r1+0x1C unsigned long __elems_after; // r29 // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__21ObjDirPtr<9ObjectDir>; } /* Compile unit: C:\rockband2\system\src\obj\DirLoader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EA348 -> 0x805ED0E8 */ unsigned char sPrintTimes; // size: 0x1, address: 0x80A54F88 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x805EA348 -> 0x805EA420 class DirLoader * DirLoader::Find(const class FilePath & file /* r29 */) { // Local variables const class list & l; // r30 struct _List_iterator i; // r1+0x18 class DirLoader * dl; // r0 // References // -> struct [anonymous] __RTTI__6Loader; // -> struct [anonymous] __RTTI__9DirLoader; // -> class LoadMgr TheLoadMgr; } // Range: 0x805EA420 -> 0x805EA498 class ObjectDir * DirLoader::GetDir(class DirLoader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805EA498 -> 0x805EA50C class ObjectDir * DirLoader::LoadObjects(const class FilePath & file /* r0 */) { // Local variables class DirLoader l; // r1+0x8 // References // -> class LoadMgr TheLoadMgr; } enum FileType { kRead = 0, kWrite = 1, }; struct ChunkInfo { // total size: 0x810 int mID; // offset 0x0, size 0x4 int mChunkInfoSize; // offset 0x4, size 0x4 int mNumChunks; // offset 0x8, size 0x4 int mMaxChunkSize; // offset 0xC, size 0x4 int mChunks[512]; // offset 0x10, size 0x800 }; class ChunkStream : public BinStream { // total size: 0x8A0 class File * mFile; // offset 0xC, size 0x4 class String mFilename; // offset 0x10, size 0xC unsigned char mFail; // offset 0x1C, size 0x1 enum FileType mType; // offset 0x20, size 0x4 struct ChunkInfo mChunkInfo; // offset 0x24, size 0x810 int mCurBufSize; // offset 0x834, size 0x4 char * mBuffers[2]; // offset 0x838, size 0x8 char * mCurReadBuffer; // offset 0x840, size 0x4 class Timer mStartTime; // offset 0x848, size 0x38 int mRecommendedChunkSize; // offset 0x880, size 0x4 int mCurBufferIdx; // offset 0x884, size 0x4 unsigned char mCurBufferReady; // offset 0x888, size 0x1 int mCurBufOffset; // offset 0x88C, size 0x4 unsigned char mChunkInfoPending; // offset 0x890, size 0x1 int * mCurChunk; // offset 0x894, size 0x4 int * mChunkEnd; // offset 0x898, size 0x4 }; // Range: 0x805EA50C -> 0x805EA5D0 class Symbol DirLoader::GetDirClass() { // Local variables class ChunkStream d; // r1+0x20 int rev; // r1+0x18 class Symbol name; // r1+0x14 // References // -> const char * gNullStr; } static unsigned char testedDirSort; // size: 0x1, address: 0x80A54F89 struct ClassAndNameSort { // total size: 0x4 protected: class DataArray * mClassNames; // offset 0x0, size 0x4 }; // Range: 0x805EA5D0 -> 0x805EACF0 void DirLoader::SaveObjects(class BinStream & d /* r28 */, class ObjectDir * dir /* r29 */, const char * path /* r25 */) { // Local variables class list objects; // r1+0xA8 class ObjDirItr i; // r1+0xB0 class DataArray * sort; // r25 int i; // r26 class Symbol c; // r1+0x88 struct _List_iterator j; // r1+0x84 class ObjectDir * od; // r0 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; // -> static unsigned char testedDirSort; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805EACF0 -> 0x805EAD34 static unsigned char LittleEndian() { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x805EAD5C -> 0x805EAE7C void * DirLoader::DirLoader(class DirLoader * const this /* r31 */, class Callback * callback /* r27 */, class BinStream * stream /* r30 */, class ObjectDir * proxy /* r28 */) { // References // -> struct [anonymous] __vt__36ObjPtrList; // -> struct [anonymous] __vt__9DirLoader; } // Range: 0x805EAE7C -> 0x805EAEB0 unsigned char DirLoader::IsLoaded() {} // Range: 0x805EAEB0 -> 0x805EAFF4 void DirLoader::PollLoading(class DirLoader * const this /* r31 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class LoadMgr TheLoadMgr; } static class Symbol CompositeTexture; // size: 0x4, address: 0x80A54F8C static class Symbol RenderedTex; // size: 0x4, address: 0x80A54F94 static class Symbol TexRenderer; // size: 0x4, address: 0x80A54F9C static class Symbol LayerDir; // size: 0x4, address: 0x80A54FA4 static class Symbol WorldFx; // size: 0x4, address: 0x80A54FAC static class Symbol BandFx; // size: 0x4, address: 0x80A54FB4 static class Symbol Slider; // size: 0x4, address: 0x80A54FBC static class Symbol BandSlider; // size: 0x4, address: 0x80A54FC4 static class Symbol TextEntry; // size: 0x4, address: 0x80A54FCC static class Symbol BandTextEntry; // size: 0x4, address: 0x80A54FD4 static class Symbol Placer; // size: 0x4, address: 0x80A54FDC static class Symbol BandPlacer; // size: 0x4, address: 0x80A54FE4 static class Symbol ButtonEx; // size: 0x4, address: 0x80A54FEC static class Symbol BandButton; // size: 0x4, address: 0x80A54FF4 static class Symbol LabelEx; // size: 0x4, address: 0x80A54FFC static class Symbol BandLabel; // size: 0x4, address: 0x80A55004 static class Symbol PictureEx; // size: 0x4, address: 0x80A5500C static class Symbol BandPicture; // size: 0x4, address: 0x80A55014 static class Symbol UIPanel; // size: 0x4, address: 0x80A5501C static class Symbol PanelDir; // size: 0x4, address: 0x80A55024 static class Symbol WorldInstance; // size: 0x4, address: 0x80A5502C static class Symbol WorldObject; // size: 0x4, address: 0x80A55034 static class Symbol Group; // size: 0x4, address: 0x80A5503C static class Symbol View; // size: 0x4, address: 0x80A55044 static class Symbol String; // size: 0x4, address: 0x80A5504C static class Symbol Line; // size: 0x4, address: 0x80A55054 static class Symbol MeshGenerator; // size: 0x4, address: 0x80A5505C static class Symbol Generator; // size: 0x4, address: 0x80A55064 static class Symbol TexMovie; // size: 0x4, address: 0x80A5506C static class Symbol Movie; // size: 0x4, address: 0x80A55074 // Range: 0x805EAFF4 -> 0x805EB5F4 class Symbol DirLoader::FixClassName(class DirLoader * const this /* r29 */, class Symbol & c /* r30 */) { // References // -> static class Symbol Movie; // -> static class Symbol TexMovie; // -> static class Symbol Generator; // -> static class Symbol MeshGenerator; // -> static class Symbol Line; // -> static class Symbol String; // -> static class Symbol View; // -> static class Symbol Group; // -> static class Symbol WorldObject; // -> static class Symbol WorldInstance; // -> static class Symbol PanelDir; // -> static class Symbol UIPanel; // -> static class Symbol BandPicture; // -> static class Symbol PictureEx; // -> static class Symbol BandLabel; // -> static class Symbol LabelEx; // -> static class Symbol BandButton; // -> static class Symbol ButtonEx; // -> static class Symbol BandPlacer; // -> static class Symbol Placer; // -> static class Symbol BandTextEntry; // -> static class Symbol TextEntry; // -> static class Symbol BandSlider; // -> static class Symbol Slider; // -> static class Symbol BandFx; // -> static class Symbol WorldFx; // -> static class Symbol LayerDir; // -> static class Symbol TexRenderer; // -> static class Symbol RenderedTex; // -> static class Symbol CompositeTexture; } // Range: 0x805EB5F4 -> 0x805EB800 void DirLoader::OpenFile(class DirLoader * const this /* r31 */) { // Local variables const char * file; // r28 // References // -> struct [anonymous] __vt__8FilePath; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; } // Range: 0x805EB800 -> 0x805EB9C4 unsigned char DirLoader::SetupDir(class DirLoader * const this /* r29 */, class Symbol & className /* r30 */) { // Local variables class ObjectDir * newDir; // r31 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; } // Range: 0x805EB9C4 -> 0x805EBDB8 void DirLoader::LoadHeader(class DirLoader * const this /* r30 */) { // Local variables class Symbol defaultDir; // r1+0x40 class Symbol className; // r1+0x3C char name[128]; // r1+0x50 int hashSize; // r1+0x38 int stringSize; // r1+0x34 class Symbol streamType; // r1+0x30 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> struct [anonymous] __vt__8FilePath; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class LoadMgr TheLoadMgr; } // Range: 0x805EBDB8 -> 0x805EC164 void DirLoader::CreateObjects(class DirLoader * const this /* r30 */) { // Local variables class Symbol className; // r1+0x28 char name[128]; // r1+0x30 class Object * object; // r28 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class LoadMgr TheLoadMgr; // -> const char * kAssertStr; // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x805EC164 -> 0x805EC2C0 void DirLoader::LoadResources(class DirLoader * const this /* r28 */) { // Local variables class FilePathTracker _fptracker; // r1+0x14 class FilePath resource; // r1+0x8 // References // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805EC2C0 -> 0x805EC36C static void ReadDead(class BinStream & d /* r31 */) { // Local variables unsigned char c; // r1+0x8 } // Range: 0x805EC36C -> 0x805EC4EC void DirLoader::LoadDir(class DirLoader * const this /* r31 */) { // Local variables class FilePathTracker _fptracker; // r1+0xC unsigned char old; // r29 // References // -> class LoadMgr TheLoadMgr; // -> unsigned char gLoadingProxyFromDisk; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805EC4EC -> 0x805EC9A8 void DirLoader::LoadObjs(class DirLoader * const this /* r30 */) { // Local variables class FilePathTracker _fptracker; // r1+0x14 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } // Range: 0x805EC9A8 -> 0x805EC9AC void DirLoader::DoneLoading() {} // Range: 0x805EC9AC -> 0x805ECA60 void DirLoader::Replace(class DirLoader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805ECA60 -> 0x805ECE5C void DirLoader::Cleanup(class DirLoader * const this /* r31 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__8FilePath; // -> unsigned char sPrintTimes; // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x805ECE5C -> 0x805ED0E8 void * DirLoader::~DirLoader(class DirLoader * const this /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__36ObjPtrList; // -> struct [anonymous] __vt__9DirLoader; } struct { // total size: 0x34 } __vt__9DirLoader; // size: 0x34, address: 0x809296B0 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805ED0E8 -> 0x805ED148 */ // Range: 0x805ED0E8 -> 0x805ED148 char * MakeString(const char * fmt /* r0 */, class FilePath & t1 /* r31 */, float t2 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805ED148 -> 0x805ED6E8 */ // Range: 0x805ED148 -> 0x805ED4F4 void _S_sort(class list & __that /* r28 */, struct ClassAndNameSort & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x805ED4F4 -> 0x805ED6D0 void _S_merge(struct ClassAndNameSort & __comp /* r31 */) { // Local variables struct _List_iterator __first1; // r1+0x3C struct _List_iterator __last1; // r1+0x38 struct _List_iterator __first2; // r1+0x34 struct _List_iterator __last2; // r1+0x30 struct _List_iterator __next; // r1+0x2C } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805ED6E8 -> 0x805ED6EC */ // Range: 0x805ED6E8 -> 0x805ED6EC class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805ED6EC -> 0x805ED864 */ // Range: 0x805ED6EC -> 0x805ED864 unsigned char DirLoader::SaveObjects(const char * file /* r28 */, class ObjectDir * dir /* r29 */) { // Local variables class FilePathTracker _fptracker; // r1+0x8 class ChunkStream d; // r1+0x18 // References // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; // -> class FilePath sRoot; // -> struct [anonymous] __vt__8FilePath; } /* Compile unit: C:\rockband2\system\src\obj\DirLoader.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805ED864 -> 0x805ED86C */ // Range: 0x805ED864 -> 0x805ED86C class Object * DirLoader::RefOwner() {} /* Compile unit: C:\rockband2\system\src\obj\MessageTimer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805ED86C -> 0x805EE058 */ unsigned char sActive; // size: 0x1, address: 0x80A55078 class vector : protected _Vector_base { // total size: 0xC }; static class vector gEntries; // size: 0xC, address: 0x809895F4 // Range: 0x805ED86C -> 0x805ED8A4 static class DataNode MessageTimerStart() {} // Range: 0x805ED8A4 -> 0x805ED8DC static class DataNode MessageTimerStop() {} // Range: 0x805ED8DC -> 0x805ED914 static class DataNode MessageTimerDump() {} // Range: 0x805ED914 -> 0x805ED928 static class DataNode MessageTimerOn() { // References // -> unsigned char sActive; } // Range: 0x805ED928 -> 0x805ED9B4 void MessageTimer::Init() {} // Range: 0x805ED9B4 -> 0x805EDAEC void MessageTimer::Start() { // References // -> static class vector gEntries; // -> unsigned char sActive; } class vector : protected _Vector_base { // total size: 0xC }; struct ObjEntry { // total size: 0x10 class Symbol name; // offset 0x0, size 0x4 float maxMs; // offset 0x4, size 0x4 float totalMs; // offset 0x8, size 0x4 int num; // offset 0xC, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ObjEntry * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ObjEntry * * _M_start; // offset 0x0, size 0x4 struct ObjEntry * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; // Range: 0x805EDAEC -> 0x805EDAF8 void MessageTimer::Stop() { // References // -> unsigned char sActive; } // Range: 0x805EDAF8 -> 0x805EDCB0 void MessageTimer::Dump() { // Local variables int i; // r31 // References // -> static class vector gEntries; // -> class Debug TheDebug; } struct ObjSort { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; struct MaxSort { // total size: 0x1 }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x805EDCB0 -> 0x805EE02C void MessageTimer::AddTime(class Object * o /* r30 */, class Symbol & msg /* r29 */, float ms /* f31 */) { // Local variables int i; // r7 // References // -> static class vector gEntries; // -> unsigned char sActive; } struct { // total size: 0x8 } __RTTI__PP10EventEntry; // size: 0x8, address: 0x80929930 struct { // total size: 0x8 } __RTTI__PP8ObjEntry; // size: 0x8, address: 0x80929948 // Range: 0x805EE02C -> 0x805EE058 static void __sinit_\MessageTimer_cpp() { // References // -> static class vector gEntries; } class StlNodeAlloc { // total size: 0x1 }; struct EventEntry { // total size: 0x10 class Symbol msg; // offset 0x0, size 0x4 class vector objs; // offset 0x4, size 0xC }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct EventEntry * * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct EventEntry * * _M_start; // offset 0x0, size 0x4 struct EventEntry * * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EE058 -> 0x805EE0D8 */ // Range: 0x805EE058 -> 0x805EE0D8 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EE0D8 -> 0x805EE174 */ // Range: 0x805EE0D8 -> 0x805EE174 char * MakeString(const char * fmt /* r0 */, float t1 /* f29 */, const char * t2 /* r30 */, int t3 /* r31 */, float t4 /* f30 */, float t5 /* f31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EE174 -> 0x805EF244 */ // Range: 0x805EE174 -> 0x805EE218 void sort(struct ObjEntry * * __first /* r29 */, struct ObjEntry * * __last /* r30 */, struct ObjSort & __comp /* r31 */) {} // Range: 0x805EE218 -> 0x805EE2B8 void __final_insertion_sort(struct ObjEntry * * __first /* r29 */, struct ObjEntry * * __last /* r30 */, struct ObjSort & __comp /* r31 */) {} // Range: 0x805EE2B8 -> 0x805EE320 void __unguarded_insertion_sort_aux(struct ObjEntry * * __last /* r29 */, struct ObjSort & __comp /* r30 */) { // Local variables struct ObjEntry * * __i; // r31 } // Range: 0x805EE320 -> 0x805EE358 void __unguarded_linear_insert() { // Local variables struct ObjEntry * * __next; // r6 } // Range: 0x805EE358 -> 0x805EE418 void __insertion_sort(struct ObjEntry * * __first /* r27 */, struct ObjEntry * * __last /* r28 */, struct ObjSort & __comp /* r29 */) { // Local variables struct ObjEntry * * __i; // r30 } // Range: 0x805EE418 -> 0x805EE578 void __introsort_loop(struct ObjEntry * * __first /* r28 */, struct ObjEntry * * __last /* r29 */, long __depth_limit /* r30 */, struct ObjSort & __comp /* r31 */) { // Local variables struct ObjEntry * * __cut; // r27 } // Range: 0x805EE578 -> 0x805EE640 struct ObjEntry * * __unguarded_partition(struct ObjEntry * * __first /* r29 */, struct ObjEntry * * __last /* r30 */, struct ObjEntry * __pivot /* r31 */) {} // Range: 0x805EE640 -> 0x805EE670 void partial_sort() {} // Range: 0x805EE670 -> 0x805EE758 void __partial_sort(struct ObjEntry * * __first /* r27 */, struct ObjEntry * * __middle /* r28 */, struct ObjEntry * * __last /* r29 */, struct ObjSort & __comp /* r30 */) { // Local variables struct ObjEntry * * __i; // r31 } // Range: 0x805EE758 -> 0x805EE7FC void sort(struct EventEntry * * __first /* r29 */, struct EventEntry * * __last /* r30 */, struct MaxSort & __comp /* r31 */) {} // Range: 0x805EE7FC -> 0x805EE89C void __final_insertion_sort(struct EventEntry * * __first /* r29 */, struct EventEntry * * __last /* r30 */, struct MaxSort & __comp /* r31 */) {} // Range: 0x805EE89C -> 0x805EE904 void __unguarded_insertion_sort_aux(struct EventEntry * * __last /* r29 */, struct MaxSort & __comp /* r30 */) { // Local variables struct EventEntry * * __i; // r31 } // Range: 0x805EE904 -> 0x805EE9BC void __unguarded_linear_insert() { // Local variables struct EventEntry * * __next; // r8 } // Range: 0x805EE9BC -> 0x805EEB00 void __insertion_sort(struct EventEntry * * __first /* r27 */, struct EventEntry * * __last /* r28 */, struct MaxSort & __comp /* r29 */) { // Local variables struct EventEntry * * __i; // r30 } // Range: 0x805EEB00 -> 0x805EEEF8 void __introsort_loop(struct EventEntry * * __first /* r28 */, struct EventEntry * * __last /* r29 */, long __depth_limit /* r30 */, struct MaxSort & __comp /* r31 */) { // Local variables struct EventEntry * * __cut; // r27 } // Range: 0x805EEEF8 -> 0x805EF0AC struct EventEntry * * __unguarded_partition(struct EventEntry * * __first /* r29 */, struct EventEntry * * __last /* r30 */, struct EventEntry * __pivot /* r31 */) {} // Range: 0x805EF0AC -> 0x805EF0DC void partial_sort() {} // Range: 0x805EF0DC -> 0x805EF244 void __partial_sort(struct EventEntry * * __first /* r27 */, struct EventEntry * * __middle /* r28 */, struct EventEntry * * __last /* r29 */, struct MaxSort & __comp /* r30 */) { // Local variables struct EventEntry * * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EF244 -> 0x805EF2A4 */ // Range: 0x805EF244 -> 0x805EF25C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x805EF25C -> 0x805EF274 struct __true_type _OKToSwap::_Answer() {} // Range: 0x805EF274 -> 0x805EF28C struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x805EF28C -> 0x805EF2A4 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EF2A4 -> 0x805EF73C */ // Range: 0x805EF2A4 -> 0x805EF2F8 void pop_heap(struct ObjEntry * * __last /* r7 */) {} // Range: 0x805EF2F8 -> 0x805EF3D8 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r9 } // Range: 0x805EF3D8 -> 0x805EF470 void make_heap(struct ObjEntry * * __first /* r29 */) {} // Range: 0x805EF470 -> 0x805EF4C4 void pop_heap(struct EventEntry * * __last /* r7 */) {} // Range: 0x805EF4C4 -> 0x805EF6A4 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r7 } // Range: 0x805EF6A4 -> 0x805EF73C void make_heap(struct EventEntry * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EF73C -> 0x805EF9AC */ // Range: 0x805EF73C -> 0x805EF874 void vector::_M_insert_overflow(class vector * const this /* r27 */, struct EventEntry * * __pos /* r28 */, struct EventEntry * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct EventEntry * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP10EventEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805EF874 -> 0x805EF9AC void vector::_M_insert_overflow(class vector * const this /* r27 */, struct ObjEntry * * __pos /* r28 */, struct ObjEntry * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct ObjEntry * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP8ObjEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\obj\Msg.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805EF9AC -> 0x805F09FC */ // Range: 0x805EF9AC -> 0x805EFAC0 void Sink::Export(struct Sink * const this /* r6 */) {} // Range: 0x805EFAC0 -> 0x805EFC54 void * MsgSource::~MsgSource(class MsgSource * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x28 struct _List_iterator i; // r1+0x24 struct _List_iterator j; // r1+0x20 // References // -> struct [anonymous] __vt__9MsgSource; } // Range: 0x805EFC54 -> 0x805EFD5C void EventSink::Add() { // Local variables struct EventSinkElem s; // r1+0x10 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; } // Range: 0x805EFD5C -> 0x805EFE20 void EventSink::Remove(unsigned char exporting /* r30 */) { // Local variables struct _List_iterator s; // r1+0x18 } // Range: 0x805EFE20 -> 0x805EFE50 void MsgSource::Replace() { // References // -> const char * gNullStr; } // Range: 0x805EFE50 -> 0x805EFF7C void MsgSource::MergeSinks(class MsgSource * const this /* r31 */, class MsgSource * from /* r29 */) { // Local variables class list & sinks; // r30 struct _List_iterator it; // r1+0x40 class list & events; // r29 struct _List_iterator e; // r1+0x3C struct _List_iterator p; // r1+0x38 // References // -> const char * gNullStr; } // Range: 0x805EFF7C -> 0x805F02BC void MsgSource::Export(class MsgSource * const this /* r29 */, class DataArray * a /* r30 */) { // Local variables struct _List_iterator i; // r1+0x54 struct _List_iterator i; // r1+0x50 class DataNode t; // r1+0x68 struct _List_iterator j; // r1+0x4C } static class Symbol _s; // size: 0x4, address: 0x80A55084 static class Symbol _s; // size: 0x4, address: 0x80A5508C // Range: 0x805F02BC -> 0x805F06E4 class DataNode MsgSource::Handle(class MsgSource * const this /* r30 */, class DataArray * _msg /* r31 */) { // Local variables class Symbol _type; // r1+0x20 class MessageTimer _mt; // r1+0x38 class DataNode r; // r1+0x30 class DataNode r; // r1+0x28 // References // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x805F06E4 -> 0x805F091C class DataNode MsgSource::OnAddSink(class MsgSource * const this /* r30 */, class DataArray * a /* r25 */) { // Local variables enum SinkMode mode; // r27 class DataArray * arr; // r26 class Object * sink; // r31 int i; // r25 class DataNode n; // r1+0x48 // References // -> const char * gNullStr; } // Range: 0x805F091C -> 0x805F09FC class DataNode MsgSource::OnRemoveSink(class MsgSource * const this /* r28 */, class DataArray * a /* r29 */) { // Local variables class Object * obj; // r31 int i; // r30 // References // -> const char * gNullStr; } struct { // total size: 0x6C } __vt__9MsgSource; // size: 0x6C, address: 0x80929AB0 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F09FC -> 0x805F0F64 */ // Range: 0x805F09FC -> 0x805F0B1C void MsgSource::ChainSource(class MsgSource * const this /* r30 */, class MsgSource * source /* r31 */) { // Local variables struct _List_iterator i; // r1+0x28 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805F0B1C -> 0x805F0F64 void MsgSource::AddSink(class MsgSource * const this /* r27 */, class Object * s /* r28 */, class Symbol & ev /* r31 */, class Symbol & handler /* r29 */, enum SinkMode mode /* r30 */) { // Local variables struct Sink sink; // r1+0x80 struct _List_iterator i; // r1+0x58 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std34_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std29_List_node; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F0FB4 -> 0x805F1190 */ // Range: 0x805F0FB4 -> 0x805F1190 void MsgSource::RemoveSink(class MsgSource * const this /* r30 */, class Object * s /* r31 */, class Symbol & ev /* r29 */) { // Local variables struct _List_iterator it; // r1+0x2C struct _List_iterator i; // r1+0x28 struct _List_iterator i; // r1+0x24 // References // -> const char * gNullStr; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\obj\Object.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F1190 -> 0x805F3C6C */ unsigned char gLoadingProxyFromDisk; // size: 0x1, address: 0x80A55090 class map { // total size: 0x18 public: class _Rb_tree _M_t; // offset 0x0, size 0x18 }; class map sFactories; // size: 0x18, address: 0x80989610 class Object * sDeleting; // size: 0x4, address: 0x80A55094 class list sRevs; // size: 0x8, address: 0x80989638 // Range: 0x805F1190 -> 0x805F11A4 class ObjectDir * Object::DataDir() { // References // -> class ObjectDir * sMainDir; } struct _Rb_tree_iterator : public _Rb_tree_base_iterator { // total size: 0x4 }; // Range: 0x805F11A4 -> 0x805F1270 class Object * Object::NewObject() { // Local variables struct _Rb_tree_iterator i; // r1+0x14 // References // -> class Debug TheDebug; // -> class map sFactories; } // Range: 0x805F1270 -> 0x805F1364 void Object::RegisterFactory(class Object * (* f)() /* r31 */) { // References // -> class map sFactories; } // Range: 0x805F1364 -> 0x805F13F0 unsigned char Object::RegisteredFactory() { // References // -> class map sFactories; } // Range: 0x805F13F0 -> 0x805F1454 void * Object::Object() { // References // -> const char * gNullStr; // -> struct [anonymous] __vt__9TypeProps; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x805F1454 -> 0x805F15FC void * Object::~Object(class Object * const this /* r30 */) { // Local variables class Object * deleting; // r29 struct _List_iterator i; // r1+0x1C // References // -> struct [anonymous] __vt__9TypeProps; // -> const char * gNullStr; // -> class Object * sDeleting; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct OSThread * gMainThreadID; // -> struct [anonymous] __vt__Q23Hmx6Object; } // Range: 0x805F15FC -> 0x805F16A0 void Object::SetNote(class Object * const this /* r29 */, const char * note /* r30 */) { // References // -> const char * gNullStr; } // Range: 0x805F16A0 -> 0x805F17AC void Object::SetName(class Object * const this /* r28 */, const char * name /* r29 */, class ObjectDir * dir /* r30 */) { // Local variables struct Entry * entry; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x805F17AC -> 0x805F18A0 void Object::RemoveFromDir(class Object * const this /* r29 */) { // Local variables struct Entry * entry; // r0 // References // -> class Debug TheDebug; // -> class Object * sDeleting; } // Range: 0x805F18A0 -> 0x805F1930 void Object::SetTypeDef(class Object * const this /* r30 */, class DataArray * a /* r31 */) {} static class DataNode n; // size: 0x8, address: 0x80989650 // Range: 0x805F1930 -> 0x805F1AF8 class DataNode * Object::Property(class Object * const this /* r28 */, class DataArray * prop /* r29 */, unsigned char fail /* r30 */) { // Local variables class Symbol name; // r1+0x18 const class DataNode * val; // r31 class DataArray * p; // r0 class DataArray * a; // r31 // References // -> class Debug TheDebug; // -> static class DataNode n; } static class DataArrayPtr d; // size: 0x8, address: 0x80989668 // Range: 0x805F1AF8 -> 0x805F1C70 class DataNode * Object::Property(class Object * const this /* r30 */, class Symbol & prop /* r29 */, unsigned char fail /* r31 */) { // References // -> static class DataArrayPtr d; // -> struct [anonymous] __vt__12DataArrayPtr; } static class DataNode n; // size: 0x8, address: 0x80989680 // Range: 0x805F1C70 -> 0x805F1DB4 class DataNode Object::HandleProperty(class Object * const this /* r28 */, class DataArray * prop /* r29 */, unsigned char fail /* r30 */) { // References // -> class Debug TheDebug; // -> static class DataNode n; } // Range: 0x805F1DB4 -> 0x805F1ECC void Object::SetProperty(class Object * const this /* r29 */, class DataArray * prop /* r30 */, const class DataNode & val /* r31 */) { // Local variables class Symbol name; // r1+0x18 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class DataArrayPtr d; // size: 0x8, address: 0x80989698 // Range: 0x805F1ECC -> 0x805F2044 void Object::SetProperty(class Object * const this /* r30 */, class Symbol & prop /* r29 */, const class DataNode & val /* r31 */) { // References // -> static class DataArrayPtr d; // -> struct [anonymous] __vt__12DataArrayPtr; } static class DataNode n; // size: 0x8, address: 0x809896B0 // Range: 0x805F2044 -> 0x805F221C int Object::PropertySize(class Object * const this /* r28 */, class DataArray * prop /* r29 */) { // Local variables class Symbol name; // r1+0x1C const class DataNode * a; // r31 class DataArray * p; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class DataNode n; } static class DataNode n; // size: 0x8, address: 0x809896C8 // Range: 0x805F221C -> 0x805F2344 void Object::RemoveProperty(class Object * const this /* r29 */, class DataArray * prop /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class DataNode n; } // Range: 0x805F2344 -> 0x805F2438 void Object::InsertProperty(class Object * const this /* r28 */, class DataArray * prop /* r29 */, const class DataNode & val /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805F2438 -> 0x805F24D8 void Object::AddRef(class Object * const this /* r30 */, class ObjRef * o /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805F24D8 -> 0x805F25A4 void Object::Release(class Object * const this /* r30 */, class ObjRef * o /* r31 */) { // Local variables struct _List_iterator i; // r1+0x1C // References // -> class Object * sDeleting; } // Range: 0x805F25A4 -> 0x805F26A4 void Object::Save(class Object * const this /* r29 */, class BinStream & d /* r30 */) { // Local variables int s; // r31 // References // -> const char * gNullStr; } // Range: 0x805F26A4 -> 0x805F26A8 void Object::Replace() {} static class Symbol _s; // size: 0x4, address: 0x80A550A0 static class Symbol _s; // size: 0x4, address: 0x80A550A8 static class Symbol _s; // size: 0x4, address: 0x80A550B0 static class Symbol _s; // size: 0x4, address: 0x80A550B8 static class Symbol _s; // size: 0x4, address: 0x80A550C0 static class Symbol _s; // size: 0x4, address: 0x80A550C8 static class Symbol _s; // size: 0x4, address: 0x80A550D0 static class Symbol _s; // size: 0x4, address: 0x80A550D8 static class Symbol _s; // size: 0x4, address: 0x80A550E0 static class Symbol _s; // size: 0x4, address: 0x80A550E8 static class Symbol _s; // size: 0x4, address: 0x80A550F0 static class Symbol _s; // size: 0x4, address: 0x80A550F8 static class Symbol _s; // size: 0x4, address: 0x80A55100 static class Symbol _s; // size: 0x4, address: 0x80A55108 static class Symbol _s; // size: 0x4, address: 0x80A55110 static class Symbol _s; // size: 0x4, address: 0x80A55118 static class Symbol _s; // size: 0x4, address: 0x80A55120 static class Symbol _s; // size: 0x4, address: 0x80A55128 static class Symbol _s; // size: 0x4, address: 0x80A55130 static class Symbol _s; // size: 0x4, address: 0x80A55138 // Range: 0x805F26A8 -> 0x805F31B8 class DataNode Object::Handle(class Object * const this /* r27 */, class DataArray * _msg /* r28 */, unsigned char _warn /* r29 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataArray * handler; // r30 class DataNode r; // r1+0x30 // References // -> class DebugNotifier TheDebugNotifier; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; } // Range: 0x805F31B8 -> 0x805F3344 class DataNode Object::HandleType(class Object * const this /* r28 */, class DataArray * msg /* r29 */) { // Local variables class DataArray * handler; // r30 class Symbol t; // r1+0x1C class MessageTimer mt; // r1+0x20 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x805F3344 -> 0x805F34E8 class DataNode Object::OnIterateRefs(class Object * const this /* r29 */, const class DataArray * data /* r30 */) { // Local variables class DataNode * var; // r31 class DataNode val; // r1+0x30 struct _List_iterator i; // r1+0x1C int j; // r27 } // Range: 0x805F34E8 -> 0x805F3644 class DataNode Object::OnSet(class Object * const this /* r28 */, const class DataArray * data /* r29 */) { // Local variables int i; // r30 class String s; // r1+0xC // References // -> class Debug TheDebug; } static class DataArrayPtr d; // size: 0x8, address: 0x809896E0 static class DataArrayPtr path; // size: 0x8, address: 0x809896F8 // Range: 0x805F3644 -> 0x805F39F4 class DataNode Object::OnGetArray(class Object * const this /* r29 */, const class DataArray * data /* r25 */) { // Local variables class Symbol prop; // r1+0x18 int size; // r30 class DataArrayPtr array; // r1+0x40 int i; // r25 // References // -> static class DataArrayPtr path; // -> static class DataArrayPtr d; // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x805F39F4 -> 0x805F3B54 class DataNode Object::OnGet(class Object * const this /* r28 */, const class DataArray * data /* r31 */) { // Local variables const class DataNode * r; // r4 class String s; // r1+0xC const class DataNode * r; // r4 // References // -> class Debug TheDebug; } // Range: 0x805F3B54 -> 0x805F3BA8 unsigned char Object::SyncProperty(class DataArray * _prop /* r31 */) {} struct { // total size: 0x54 } __vt__Q23Hmx6Object; // size: 0x54, address: 0x80929E70 class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x10 public: struct _Rb_tree_node_base _M_data; // offset 0x0, size 0x10 }; struct _Rb_tree_base { // total size: 0x10 protected: class _STLP_alloc_proxy _M_header; // offset 0x0, size 0x10 }; class _Rb_tree : public _Rb_tree_base { // total size: 0x18 protected: unsigned long _M_node_count; // offset 0x10, size 0x4 struct less _M_key_compare; // offset 0x14, size 0x1 }; struct pair { // total size: 0x8 struct _Rb_tree_iterator first; // offset 0x0, size 0x4 unsigned char second; // offset 0x4, size 0x1 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std65_Rb_tree_node>; // size: 0x8, address: 0x80929F90 // Range: 0x805F3BA8 -> 0x805F3C6C static void __sinit_\Object_cpp() { // References // -> class list sRevs; // -> class map sFactories; } struct pair { // total size: 0x8 class Symbol first; // offset 0x0, size 0x4 class Object * (* second)(); // offset 0x4, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F3C6C -> 0x805F3D08 */ // Range: 0x805F3C6C -> 0x805F3D08 char * MakeString(const char * fmt /* r0 */, class Symbol & t1 /* r27 */, const char * t2 /* r28 */, const char * t3 /* r29 */, class Symbol & t4 /* r30 */, class Symbol & t5 /* r31 */) { // Local variables class FormatString f; // r1+0x14 } /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F3D08 -> 0x805F3D70 */ // Range: 0x805F3D08 -> 0x805F3D68 class Symbol Object::Type() { // References // -> const char * gNullStr; } // Range: 0x805F3D68 -> 0x805F3D70 class ObjectDir * Object::Dir() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F3D70 -> 0x805F41C8 */ // Range: 0x805F3D70 -> 0x805F3EE0 void Object::Copy(class Object * const this /* r28 */, const class Object * o /* r27 */) { // References // -> class Debug TheDebug; // -> const char * gNullStr; } // Range: 0x805F3EE0 -> 0x805F401C void Object::Load(class Object * const this /* r30 */, class BinStream & d /* r31 */) { // Local variables int rev; // r1+0x14 class Symbol type; // r1+0x10 int s; // r1+0xC // References // -> const char * gNullStr; // -> class Debug TheDebug; } // Range: 0x805F401C -> 0x805F4064 char * FormatPathName(const char * name /* r31 */) {} // Range: 0x805F4064 -> 0x805F41C8 char * Object::FindPathName(class Object * const this /* r29 */) { // Local variables class ObjectDir * d; // r30 } /* Compile unit: C:\rockband2\system\src\obj\Data.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F41C8 -> 0x805F41EC */ // Range: 0x805F41C8 -> 0x805F41EC class DataNode & DataArray::Evaluate() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_tree.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F41EC -> 0x805F4840 */ // Range: 0x805F41EC -> 0x805F44F0 struct _Rb_tree_iterator _Rb_tree::insert_unique(class _Rb_tree * const this /* r29 */, struct _Rb_tree_iterator & __position /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_iterator __after; // r1+0x10 struct _Rb_tree_iterator __before; // r1+0xC struct _Rb_tree_iterator __after; // r1+0x8 unsigned char __comp_pos_v; // r5 } // Range: 0x805F44F0 -> 0x805F46A4 struct _Rb_tree_iterator _Rb_tree::_M_insert(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __parent /* r30 */, const struct pair & __val /* r31 */) { // Local variables struct _Rb_tree_node_base * __new_node; // r31 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std65_Rb_tree_node>; // -> unsigned char gStlAllocNameLookup; } // Range: 0x805F46A4 -> 0x805F47D0 struct pair _Rb_tree::insert_unique(class _Rb_tree * const this /* r27 */, const struct pair & __val /* r28 */) { // Local variables struct _Rb_tree_node_base * __y; // r30 struct _Rb_tree_node_base * __x; // r29 unsigned char __comp; // r0 struct _Rb_tree_iterator __j; // r1+0x18 } // Range: 0x805F47D0 -> 0x805F4840 void _Rb_tree::_M_erase(class _Rb_tree * const this /* r29 */, struct _Rb_tree_node_base * __x /* r30 */) { // Local variables struct _Rb_tree_node_base * __y; // r31 } /* Compile unit: C:\rockband2\system\src\obj\PropSync.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F48BC -> 0x805F6B60 */ // Range: 0x805F48BC -> 0x805F49BC unsigned char PropSync(class String & s /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805F49BC -> 0x805F4ADC unsigned char PropSync(class FilePath & s /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> class FilePath sRoot; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805F4ADC -> 0x805F4C8C unsigned char PropSync(class Color & s /* r29 */, class DataNode & n /* r30 */, enum PropOp op /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A55144 static class Symbol _s; // size: 0x4, address: 0x80A5514C static class Symbol _s; // size: 0x4, address: 0x80A55154 static class Symbol _s; // size: 0x4, address: 0x80A5515C static class Symbol _s; // size: 0x4, address: 0x80A55164 static class Symbol _s; // size: 0x4, address: 0x80A5516C // Range: 0x805F4C8C -> 0x805F53D4 unsigned char PropSync(class Matrix3 & _me /* r25 */, class DataNode & _val /* r26 */, class DataArray * _prop /* r27 */, int _i /* r28 */, enum PropOp _op /* r29 */) { // Local variables unsigned char ret; // r30 class Vector3 rot; // r1+0x60 class Vector3 scale; // r1+0x50 // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A55174 static class Symbol _s; // size: 0x4, address: 0x80A5517C static class Symbol _s; // size: 0x4, address: 0x80A55184 static class Symbol _s; // size: 0x4, address: 0x80A5518C // Range: 0x805F53D4 -> 0x805F580C unsigned char PropSync(class Sphere & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A55194 static class Symbol _s; // size: 0x4, address: 0x80A5519C // Range: 0x805F580C -> 0x805F5A60 unsigned char PropSync(class Vector2 & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A551A4 static class Symbol _s; // size: 0x4, address: 0x80A551AC static class Symbol _s; // size: 0x4, address: 0x80A551B4 // Range: 0x805F5A60 -> 0x805F5DA4 unsigned char PropSync(class Vector3 & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A551BC static class Symbol _s; // size: 0x4, address: 0x80A551C4 static class Symbol _s; // size: 0x4, address: 0x80A551CC // Range: 0x805F5DA4 -> 0x805F6110 unsigned char PropSync(class Transform & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A551D4 static class Symbol _s; // size: 0x4, address: 0x80A551DC static class Symbol _s; // size: 0x4, address: 0x80A551E4 static class Symbol _s; // size: 0x4, address: 0x80A551EC // Range: 0x805F6110 -> 0x805F6544 unsigned char PropSync(class Rect & _me /* r27 */, class DataNode & _val /* r28 */, class DataArray * _prop /* r29 */, int _i /* r30 */, enum PropOp _op /* r31 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } static class Symbol _s; // size: 0x4, address: 0x80A551F4 static class Symbol _s; // size: 0x4, address: 0x80A551FC static class Symbol _s; // size: 0x4, address: 0x80A55204 static class Symbol _s; // size: 0x4, address: 0x80A5520C static class Symbol _s; // size: 0x4, address: 0x80A55214 static class Symbol _s; // size: 0x4, address: 0x80A5521C // Range: 0x805F6544 -> 0x805F6B60 unsigned char PropSync(class Box & _me /* r26 */, class DataNode & _val /* r27 */, class DataArray * _prop /* r28 */, int _i /* r29 */, enum PropOp _op /* r30 */) { // References // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol _s; } /* Compile unit: C:\rockband2\system\src\obj\Task.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805F6B60 -> 0x805FAB64 */ class TaskMgr TheTaskMgr; // size: 0x88, address: 0x80989710 class MessageTask : public Task { // total size: 0x38 class ObjOwnerPtr mObj; // offset 0x28, size 0xC class DataArray * mMsg; // offset 0x34, size 0x4 }; // Range: 0x805F6B60 -> 0x805F6C1C void * MessageTask::MessageTask(class MessageTask * const this /* r29 */, class Object * obj /* r30 */, class DataArray * msg /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__11MessageTask; } // Range: 0x805F6C1C -> 0x805F6CEC void * MessageTask::~MessageTask(class MessageTask * const this /* r30 */) { // References // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__11MessageTask; } // Range: 0x805F6CEC -> 0x805F6D8C void MessageTask::Replace(class MessageTask * const this /* r30 */, class Object * to /* r31 */) {} // Range: 0x805F6D8C -> 0x805F6E7C void MessageTask::Poll(class MessageTask * const this /* r31 */) { // Local variables class DataNode r; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class DataNode & task; // size: 0x4, address: 0x80A55224 class ScriptTask : public Task { // total size: 0x4C protected: class list mVars; // offset 0x28, size 0x8 class list mObjects; // offset 0x30, size 0x8 class ObjOwnerPtr mThis; // offset 0x38, size 0xC class DataArray * mScript; // offset 0x44, size 0x4 unsigned char mOnce; // offset 0x48, size 0x1 }; // Range: 0x805F6E7C -> 0x805F70CC void * ScriptTask::ScriptTask(class ScriptTask * const this /* r29 */, class DataArray * script /* r30 */, unsigned char once /* r28 */, class DataArray * updateVarsObjs /* r31 */) { // Local variables class DataNode oldTask; // r1+0x38 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std30_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class DataNode & task; // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__10ScriptTask; } struct Var { // total size: 0xC class DataNode * var; // offset 0x0, size 0x4 class DataNode value; // offset 0x4, size 0x8 }; class _List_node : public _List_node_base { // total size: 0x14 public: struct Var _M_data; // offset 0x8, size 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std30_List_node; // size: 0x8, address: 0x8092A148 // Range: 0x805F70CC -> 0x805F71EC void * ScriptTask::~ScriptTask(class ScriptTask * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x10 // References // -> struct [anonymous] __vt__37ObjOwnerPtr; // -> struct [anonymous] __vt__10ScriptTask; } // Range: 0x805F71EC -> 0x805F7264 void ScriptTask::Replace(class ScriptTask * const this /* r31 */, class Object * from /* r1+0x8 */) {} static class Symbol script; // size: 0x4, address: 0x80A5522C static class Symbol once; // size: 0x4, address: 0x80A55234 static class Symbol units; // size: 0x4, address: 0x80A5523C static class Symbol delay; // size: 0x4, address: 0x80A55244 static class Symbol name; // size: 0x4, address: 0x80A5524C static class Symbol preserve; // size: 0x4, address: 0x80A55254 // Range: 0x805F7264 -> 0x805F74EC static class DataNode OnScriptTask(class DataArray * data /* r30 */) { // Local variables unsigned char o; // r1+0x8 float d; // r1+0x2C enum TaskUnits u; // r1+0x28 const char * n; // r1+0x24 class Task * t; // r27 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol preserve; // -> static class Symbol name; // -> static class Symbol delay; // -> static class Symbol units; // -> static class Symbol once; // -> static class Symbol script; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x805F74EC -> 0x805F77F0 void ScriptTask::UpdateVarsObjects(class ScriptTask * const this /* r28 */, class DataArray * d /* r29 */) { // Local variables int size; // r31 int i; // r30 enum DataType t; // r0 class Object * o; // r1+0x1C class DataNode * var; // r4 struct _List_iterator i; // r1+0x18 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std26_List_node; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std30_List_node; // -> unsigned char gStlAllocNameLookup; // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805F77F0 -> 0x805F78A8 void ScriptTask::SwapVars(class ScriptTask * const this /* r30 */) { // Local variables struct _List_iterator i; // r1+0x10 } static class DataArrayPtr args; // size: 0x8, address: 0x809897A8 // Range: 0x805F78A8 -> 0x805F7ABC void ScriptTask::Poll(class ScriptTask * const this /* r31 */, float time /* f31 */) { // Local variables class DataNode ret; // r1+0x10 // References // -> static class DataArrayPtr args; // -> struct [anonymous] __vt__12DataArrayPtr; // -> class Debug TheDebug; // -> const char * kAssertStr; } class ThreadTask : public ScriptTask { // total size: 0x5C unsigned char mWait; // offset 0x49, size 0x1 int mCurrent; // offset 0x4C, size 0x4 float mTime; // offset 0x50, size 0x4 unsigned char mExecuting; // offset 0x54, size 0x1 unsigned char mAutoDelete; // offset 0x55, size 0x1 float mTimeout; // offset 0x58, size 0x4 }; // Range: 0x805F7ABC -> 0x805F7B20 void * ThreadTask::ThreadTask(class ThreadTask * const this /* r31 */) { // References // -> struct [anonymous] __vt__10ThreadTask; } static class Symbol script; // size: 0x4, address: 0x80A5525C static class Symbol delay; // size: 0x4, address: 0x80A55264 static class Symbol name; // size: 0x4, address: 0x80A5526C static class Symbol preserve; // size: 0x4, address: 0x80A55274 // Range: 0x805F7B20 -> 0x805F7D24 static class DataNode OnThreadTask(class DataArray * data /* r30 */) { // Local variables float d; // r1+0x1C enum TaskUnits u; // r27 const char * n; // r1+0x18 class Task * t; // r26 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol preserve; // -> static class Symbol name; // -> static class Symbol delay; // -> static class Symbol script; } // Range: 0x805F7D24 -> 0x805F7D68 void ThreadTask::Replace() {} // Range: 0x805F7D68 -> 0x805F7F1C void ThreadTask::Poll(class ThreadTask * const this /* r31 */, float time /* f31 */) { // Local variables class Object * oldThis; // r29 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } static class Symbol _s; // size: 0x4, address: 0x80A5527C static class Symbol _s; // size: 0x4, address: 0x80A55284 static class Symbol _s; // size: 0x4, address: 0x80A5528C static class Symbol _s; // size: 0x4, address: 0x80A55294 static class Symbol _s; // size: 0x4, address: 0x80A5529C static class Symbol _s; // size: 0x4, address: 0x80A552A4 static class Symbol _s; // size: 0x4, address: 0x80A552AC // Range: 0x805F7F78 -> 0x805F8B70 class DataNode ThreadTask::Handle(class ThreadTask * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x3C class MessageTimer _mt; // r1+0x80 class DataNode r; // r1+0x78 class DataNode r; // r1+0x70 class DataNode r; // r1+0x68 class DataNode r; // r1+0x60 class DataNode r; // r1+0x58 class DataNode r; // r1+0x50 class DataNode r; // r1+0x48 class DataNode _n; // r1+0x40 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x805F8B70 -> 0x805F8BD4 class DataNode ThreadTask::OnSetCurrent(class ThreadTask * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x805F8BD4 -> 0x805F8BE8 class DataNode ThreadTask::OnCurrent() {} // Range: 0x805F8BE8 -> 0x805F8C58 class DataNode ThreadTask::OnWait(class ThreadTask * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x805F8C58 -> 0x805F8DBC class DataNode ThreadTask::OnWaitTimeout(class ThreadTask * const this /* r28 */, class DataArray * a /* r29 */) { // Local variables unsigned char timedOut; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805F8DBC -> 0x805F8E3C class DataNode ThreadTask::OnSleep(class ThreadTask * const this /* r30 */, class DataArray * a /* r31 */) {} // Range: 0x805F8E3C -> 0x805F8E54 class DataNode ThreadTask::OnLoop() {} // Range: 0x805F8E54 -> 0x805F8E78 class DataNode ThreadTask::OnExit() {} struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std37_List_node; // size: 0x8, address: 0x8092A290 class TaskTimeline { // total size: 0x1C class list mTasks; // offset 0x0, size 0x8 class list mAddedTasks; // offset 0x8, size 0x8 float mTime; // offset 0x10, size 0x4 float mLastTime; // offset 0x14, size 0x4 class Task * mPollingTask; // offset 0x18, size 0x4 }; // Range: 0x805F8E78 -> 0x805F8ECC void * TaskTimeline::TaskTimeline() {} struct TaskInfo { // total size: 0x10 class ObjPtr task; // offset 0x0, size 0xC float start; // offset 0xC, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x18 public: struct TaskInfo _M_data; // offset 0x8, size 0x10 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x8 public: struct _List_node_base _M_data; // offset 0x0, size 0x8 }; class _List_base { // total size: 0x8 public: class _STLP_alloc_proxy _M_node; // offset 0x0, size 0x8 }; class list : public _List_base { // total size: 0x8 }; // Range: 0x805F8ECC -> 0x805F8F24 void TaskMgr::Terminate(class TaskMgr * const this /* r31 */) {} // Range: 0x805F8F24 -> 0x805F8F48 void TaskMgr::SetUISeconds() {} // Range: 0x805F8F48 -> 0x805F8F54 float TaskMgr::UISeconds() {} // Range: 0x805F8F54 -> 0x805F8F68 float TaskMgr::DeltaUISeconds() {} // Range: 0x805F8F68 -> 0x805F8F84 float TaskMgr::DeltaTime() {} // Range: 0x805F8F84 -> 0x805F8FA0 void TaskMgr::SetDeltaTime() {} // Range: 0x805F8FA0 -> 0x805F8FEC void TaskMgr::SetSecondsAndBeat() {} // Range: 0x805F8FEC -> 0x805F9098 void TaskMgr::SetSeconds(class TaskMgr * const this /* r30 */, unsigned char reset /* r31 */) { // Local variables int tick; // r0 float beat; // f1 // References // -> class BeatMap * TheBeatMap; // -> class TempoMap * TheTempoMap; } // Range: 0x805F9098 -> 0x805F90AC float TaskMgr::Time() {} // Range: 0x805F90AC -> 0x805F90B4 void TaskMgr::SetAVOffset() {} // Range: 0x805F90B4 -> 0x805F90D0 float TaskMgr::Seconds() { // Local variables float seconds; // f1 } // Range: 0x805F90D0 -> 0x805F90E4 float TaskMgr::DeltaSeconds() {} // Range: 0x805F90E4 -> 0x805F90F0 float TaskMgr::Beat() {} // Range: 0x805F90F0 -> 0x805F9104 float TaskMgr::DeltaBeat() {} // Range: 0x805F9104 -> 0x805F9128 void TaskMgr::SetTutorialSeconds() {} // Range: 0x805F9128 -> 0x805F9134 float TaskMgr::TutorialSeconds() {} // Range: 0x805F9134 -> 0x805F9148 float TaskMgr::DeltaTutorialSeconds() {} static class Timer * _t; // size: 0x4, address: 0x80A552B0 static class Timer * _t; // size: 0x4, address: 0x80A552B8 // Range: 0x805F9148 -> 0x805F967C void TaskMgr::Poll(class TaskMgr * const this /* r28 */) { // Local variables class AutoTimer _at; // r1+0x50 class AutoTimer _at; // r1+0x4C float secs; // f1 int i; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Timer * _t; // -> static class Timer * _t; } // Range: 0x805F967C -> 0x805F9798 void TaskMgr::ClearTasks(class TaskMgr * const this /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; // -> struct [anonymous] __RTTI__4Task; // -> struct [anonymous] __RTTI__10ScriptTask; } // Range: 0x805F9798 -> 0x805F9A14 void TaskMgr::Start() { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std37_List_node; // -> unsigned char gStlAllocNameLookup; // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; } // Range: 0x805F9A14 -> 0x805F9A30 char * TaskMgr::GetMBT(class TaskMgr * const this /* r6 */) {} // Range: 0x805F9A30 -> 0x805F9B80 void TaskMgr::ResetTaskTime() {} static class Symbol _s; // size: 0x4, address: 0x80A552C0 static class Symbol _s; // size: 0x4, address: 0x80A552C8 static class Symbol _s; // size: 0x4, address: 0x80A552D0 static class Symbol _s; // size: 0x4, address: 0x80A552D8 static class Symbol _s; // size: 0x4, address: 0x80A552E0 static class Symbol _s; // size: 0x4, address: 0x80A552E8 static class Symbol _s; // size: 0x4, address: 0x80A552F0 static class Symbol _s; // size: 0x4, address: 0x80A552F8 static class Symbol _s; // size: 0x4, address: 0x80A55300 static class Symbol _s; // size: 0x4, address: 0x80A55308 static class Symbol _s; // size: 0x4, address: 0x80A55310 static class Symbol _s; // size: 0x4, address: 0x80A55318 static class Symbol _s; // size: 0x4, address: 0x80A55320 static class Symbol _s; // size: 0x4, address: 0x80A55328 // Range: 0x805F9B80 -> 0x805FA9F4 class DataNode TaskMgr::Handle(class TaskMgr * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x54 class MessageTimer _mt; // r1+0x60 class DataNode r; // r1+0x58 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x805FA9F4 -> 0x805FAAEC class DataNode TaskMgr::OnTimeTilNext(class TaskMgr * const this /* r30 */, class DataArray * args /* r31 */) { // Local variables float fraction; // f0 float slop; // f0 float bf; // f29 float til; // f1 } struct { // total size: 0x54 } __vt__7TaskMgr; // size: 0x54, address: 0x8092A3D0 struct { // total size: 0x8 } __RTTI__7TaskMgr; // size: 0x8, address: 0x8092A448 struct { // total size: 0x58 } __vt__10ThreadTask; // size: 0x58, address: 0x8092A450 struct { // total size: 0x8 } __RTTI__10ThreadTask; // size: 0x8, address: 0x8092A4D8 struct { // total size: 0x58 } __vt__10ScriptTask; // size: 0x58, address: 0x8092A4E0 struct { // total size: 0x8 } __RTTI__10ScriptTask; // size: 0x8, address: 0x8092A560 struct { // total size: 0x58 } __vt__11MessageTask; // size: 0x58, address: 0x8092A568 struct { // total size: 0x8 } __RTTI__11MessageTask; // size: 0x8, address: 0x8092A5E8 // Range: 0x805FAAEC -> 0x805FAB64 static void __sinit_\Task_cpp() { // References // -> struct [anonymous] __vt__7TaskMgr; // -> class TaskMgr TheTaskMgr; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FABC0 -> 0x805FAC78 */ // Range: 0x805FABC0 -> 0x805FAC78 void TaskMgr::Init(class TaskMgr * const this /* r30 */) { // References // -> class ObjectDir * sMainDir; } /* Compile unit: C:\rockband2\system\src\utl\Std.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FACEC -> 0x805FAD4C */ // Range: 0x805FACEC -> 0x805FAD4C unsigned char ListFind() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FAD4C -> 0x805FADBC */ // Range: 0x805FAD4C -> 0x805FADBC struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FADBC -> 0x805FAF90 */ // Range: 0x805FADBC -> 0x805FAE50 void _S_remove_if(struct ObjMatchPr & __pred /* r31 */) { // Local variables struct _List_iterator __first; // r1+0x1C struct _List_iterator __last; // r1+0x18 struct _List_iterator __next; // r1+0x14 } // Range: 0x805FAE50 -> 0x805FAEE4 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 // References // -> struct [anonymous] __vt__24ObjPtr<4Task,9ObjectDir>; } // Range: 0x805FAEE4 -> 0x805FAF90 void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\obj\TextFile.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FAF90 -> 0x805FB9DC */ class DataArray * types; // size: 0x4, address: 0x80A55330 // Range: 0x805FAF90 -> 0x805FAFE8 void TextFile::SetName(class TextFile * const this /* r31 */) {} // Range: 0x805FAFE8 -> 0x805FB0E0 void TextFile::Print(class TextFile * const this /* r30 */, const char * str /* r31 */) { // Local variables char kCRLF[2]; // r1+0x8 const char * ptr; // [invalid] // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A55338 static class Symbol _s; // size: 0x4, address: 0x80A55340 static class Symbol _s; // size: 0x4, address: 0x80A55348 // Range: 0x805FB0E0 -> 0x805FB788 class DataNode TextFile::Handle(class TextFile * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 class DataNode r; // r1+0x38 class DataNode _n; // r1+0x30 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } // Range: 0x805FB788 -> 0x805FB81C class DataNode TextFile::OnPrint(class TextFile * const this /* r29 */, class DataArray * array /* r30 */) { // Local variables int i; // r31 } // Range: 0x805FB81C -> 0x805FB8F0 class DataNode TextFile::OnPrintf(class TextFile * const this /* r29 */, class DataArray * array /* r30 */) { // Local variables class FormatString f; // r1+0x8 int i; // r31 } // Range: 0x805FB8F0 -> 0x805FB9DC class DataNode TextFile::OnReflect(class DataArray * a /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; } struct { // total size: 0x68 } __vt__8TextFile; // size: 0x68, address: 0x8092A808 struct { // total size: 0x8 } __RTTI__8TextFile; // size: 0x8, address: 0x8092A898 /* Compile unit: C:\rockband2\system\src\obj\TextFile.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FB9EC -> 0x805FBC48 */ // Range: 0x805FB9EC -> 0x805FBA84 void * TextFile::~TextFile(class TextFile * const this /* r30 */) { // References // -> struct [anonymous] __vt__8TextFile; } // Range: 0x805FBA84 -> 0x805FBC04 void TextFile::SetType(class TextFile * const this /* r29 */, class Symbol & TextFile /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x805FBC04 -> 0x805FBC48 class Symbol TextFile::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\obj\TypeProps.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FBC48 -> 0x805FCEB4 */ // Range: 0x805FBC48 -> 0x805FBDCC class DataArray * TypeProps::GetArray(class TypeProps * const this /* r27 */, class Symbol & prop /* r28 */, class DataArray * typeDef /* r29 */) { // Local variables class DataNode * n; // r0 class DataArray * a; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805FBDCC -> 0x805FBE78 void TypeProps::SetArrayValue(class TypeProps * const this /* r29 */, int i /* r31 */, const class DataNode & val /* r30 */) { // Local variables class DataArray * a; // r0 class DataNode & n; // r31 class Object * o; // r3 class Object * o; // r3 } // Range: 0x805FBE78 -> 0x805FBF00 void TypeProps::RemoveArrayValue(class TypeProps * const this /* r29 */, int i /* r30 */) { // Local variables class DataArray * a; // r31 class DataNode & n; // r0 class Object * o; // r3 } // Range: 0x805FBF00 -> 0x805FBF80 void TypeProps::InsertArrayValue(class TypeProps * const this /* r29 */, int i /* r30 */, const class DataNode & val /* r31 */) { // Local variables class DataArray * a; // r0 class Object * o; // r3 } // Range: 0x805FBF80 -> 0x805FC170 void TypeProps::SetKeyValue(class TypeProps * const this /* r30 */, class Symbol & key /* r27 */, const class DataNode & value /* r31 */) { // Local variables class Object * o; // r3 int i; // r28 class DataNode & n; // r28 class Object * o; // r3 } // Range: 0x805FC170 -> 0x805FC23C class DataNode * TypeProps::KeyValue(class TypeProps * const this /* r28 */, class Symbol & key /* r29 */, unsigned char fail /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; } static class Symbol proxy_save; // size: 0x4, address: 0x80A55354 // Range: 0x805FC23C -> 0x805FC648 void TypeProps::Save(class TypeProps * const this /* r25 */, class BinStream & d /* r26 */) { // Local variables class Object * o; // r27 class DataArray * typeDef; // r28 int i; // r29 class DataArray * prop; // r30 class DataArray * typeDef; // r30 class DataArray * proxyMap; // r29 int idx; // r28 int i; // r27 class Symbol prop; // r1+0x30 class DataArray * def; // r23 // References // -> const char * kAssertStr; // -> static class Symbol proxy_save; // -> class Debug TheDebug; // -> unsigned char gLoadingProxyFromDisk; // -> class LoadMgr TheLoadMgr; } static class Symbol proxy_save; // size: 0x4, address: 0x80A5535C // Range: 0x805FC648 -> 0x805FC99C void TypeProps::Load(class TypeProps * const this /* r24 */, class BinStream & d /* r23 */, unsigned char oldProxy /* r25 */) { // Local variables class DataArray * typeDef; // r30 class Object * old; // r29 class DataArray * proxyMap; // r28 int size; // r27 int i; // r26 class Symbol s; // r1+0x34 class DataArray * prop; // r23 int i; // r23 class DataArray * prop; // r26 // References // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Symbol proxy_save; // -> unsigned char gLoadingProxyFromDisk; } // Range: 0x805FC99C -> 0x805FCA4C void TypeProps::ReplaceObject(class TypeProps * const this /* r29 */, class DataNode & n /* r30 */, class Object * to /* r31 */) { // Local variables class Object * o; // r3 } // Range: 0x805FCA4C -> 0x805FCB28 void TypeProps::Replace(class TypeProps * const this /* r26 */, class Object * from /* r27 */, class Object * to /* r28 */) { // Local variables int i; // r31 class DataNode & n; // r4 class DataArray * a; // r30 int j; // r29 class DataNode & nj; // r4 } // Range: 0x805FCB28 -> 0x805FCC0C void TypeProps::ReleaseObjects(class TypeProps * const this /* r28 */) { // Local variables int i; // r31 class DataNode & n; // r0 class Object * o; // r3 class DataArray * a; // r30 int j; // r29 class DataNode & nj; // r0 class Object * o; // r3 } // Range: 0x805FCC0C -> 0x805FCCF0 void TypeProps::AddRefObjects(class TypeProps * const this /* r28 */) { // Local variables int i; // r31 class DataNode & n; // r0 class Object * o; // r3 class DataArray * a; // r30 int j; // r29 class DataNode & nj; // r0 class Object * o; // r3 } // Range: 0x805FCCF0 -> 0x805FCD50 class TypeProps & TypeProps::__as(class TypeProps * const this /* r30 */, const class TypeProps & prop /* r31 */) {} // Range: 0x805FCD50 -> 0x805FCE54 void TypeProps::ClearKeyValue(class TypeProps * const this /* r29 */, class Symbol & key /* r30 */) { // Local variables int i; // r31 class DataNode & n; // r0 class Object * o; // r3 } // Range: 0x805FCE54 -> 0x805FCEB4 void TypeProps::ClearAll(class TypeProps * const this /* r31 */) {} struct { // total size: 0x18 } __vt__9TypeProps; // size: 0x18, address: 0x8092AA40 struct { // total size: 0x8 } __RTTI__9TypeProps; // size: 0x8, address: 0x8092AA70 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FCEB4 -> 0x805FCEBC */ // Range: 0x805FCEB4 -> 0x805FCEBC class Object * TypeProps::RefOwner() {} /* Compile unit: C:\rockband2\system\src\obj\Utl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FCEBC -> 0x805FF2EC */ static class DataArray * objects; // size: 0x4, address: 0x80A55360 static class Symbol initSym; // size: 0x4, address: 0x80A55368 // Range: 0x805FCEBC -> 0x805FCFC4 void InitObject(class Object * o /* r31 */) { // Local variables class DataArray * init; // r4 // References // -> static class Symbol initSym; // -> static class DataArray * objects; } // Range: 0x805FCFC4 -> 0x805FCFE8 char * PathName() { // Local variables class Object * obj; // r0 } // Range: 0x805FCFE8 -> 0x805FD134 static void RecurseSuperClasses(class vector & classes /* r28 */) { // Local variables class DataArray * da; // r31 class DataArray * parents; // r30 int i; // r29 class Symbol parentnm; // r1+0x28 } // Range: 0x805FD134 -> 0x805FD1D0 void ListSuperClasses(class vector & classes /* r31 */) {} // Range: 0x805FD1D0 -> 0x805FD2E8 static unsigned char RecurseSuperClassesSearch(class Symbol & searchClass /* r29 */) { // Local variables class DataArray * da; // r31 class DataArray * parents; // r31 int i; // r30 class Symbol parentnm; // r1+0x24 } // Range: 0x805FD2E8 -> 0x805FD398 unsigned char IsASubclass(class Symbol & child /* r29 */, class Symbol & parent /* r30 */) { // References // -> const char * gNullStr; } // Range: 0x805FD398 -> 0x805FD48C void ReplaceObject(class Object * from /* r26 */, class Object * to /* r27 */, unsigned char deleteFrom /* r28 */, unsigned char setProxyFile /* r29 */) {} static class Symbol objects; // size: 0x4, address: 0x80A55370 static class Symbol types; // size: 0x4, address: 0x80A55378 static class Symbol editor; // size: 0x4, address: 0x80A55380 // Range: 0x805FD48C -> 0x805FDD18 void CopyTypeProperties(class Object * from /* r28 */, class Object * to /* r29 */) { // Local variables class list fromProps; // r1+0x180 class list toProps; // r1+0x178 class list fromArrayProps; // r1+0x170 class list toArrayProps; // r1+0x168 class DataArray * fromTypeArr; // r30 class DataArray * fromTypeEditor; // r0 struct _List_iterator fromIt; // r1+0xE8 struct _List_iterator toIt; // r1+0xE4 class Symbol prop; // r1+0xE0 const class DataNode * fromVal; // r26 enum DataType fromType; // r0 enum DataType toType; // r0 class Object * objProp; // r0 struct _List_iterator fromIt; // r1+0xDC struct _List_iterator toIt; // r1+0xD8 class Symbol prop; // r1+0xD4 class DataArray * fromValArr; // r0 class DataArrayPtr propIdx; // r1+0x160 class DataArrayPtr propTag; // r1+0x158 int ii; // r26 // References // -> struct [anonymous] __vt__12DataArrayPtr; // -> class Debug TheDebug; // -> static class Symbol editor; // -> static class Symbol types; // -> static class Symbol objects; // -> const char * gNullStr; } // Range: 0x805FDD18 -> 0x805FDE54 static void MergeObjects(class Object * from /* r26 */, class ObjectDir * fromDir /* r27 */, class Object * to /* r28 */, class ObjectDir * toDir /* r29 */, class MergeFilter & filter /* r30 */, unsigned char subdirs /* r31 */) { // Local variables enum Action action; // r0 } // Range: 0x805FDE54 -> 0x805FE354 void MergeDirs(class ObjectDir * fromDir /* r26 */, class ObjectDir * toDir /* r27 */, class MergeFilter & filter /* r28 */, unsigned char subdirs /* r29 */) { // Local variables int i; // r30 struct _List_iterator ref; // r1+0x30 class Object * o; // r0 class ObjDirItr i; // r1+0x48 class Object * to; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805FE354 -> 0x805FE3D0 void ReserveToFit(class ObjectDir * src /* r27 */, class ObjectDir * dst /* r28 */, int extraObjects /* r29 */) { // Local variables int stringSize; // r30 int hashSize; // r0 } // Range: 0x805FE3D0 -> 0x805FE47C int SubDirStringUsed(class ObjectDir * dir /* r29 */) { // Local variables int used; // r31 const class vector & s; // r0 const class ObjDirPtr * it; // r30 // References // -> class Debug TheDebug; } // Range: 0x805FE47C -> 0x805FE520 int SubDirHashUsed(class ObjectDir * dir /* r29 */) { // Local variables int used; // r31 const class vector & s; // r0 const class ObjDirPtr * it; // r30 // References // -> class Debug TheDebug; } // Range: 0x805FE520 -> 0x805FE5FC class Object * CopyObject(class Object * from /* r27 */, class Object * to /* r28 */, unsigned char setProxyFile /* r29 */) { // Local variables class ObjectDir * d; // r29 // References // -> struct [anonymous] __RTTI__Q23Hmx6Object; // -> struct [anonymous] __RTTI__9ObjectDir; } // Range: 0x805FE5FC -> 0x805FE6A4 class Object * CloneObject(class Object * from /* r30 */, unsigned char instance /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805FE6A4 -> 0x805FE7E0 char * NextName(const char * old_name /* r28 */, class ObjectDir * dir /* r27 */) { // Local variables char name[128]; // r1+0x8 const char * base; // r31 const char * ext; // r30 char * num; // r29 int n; // r28 } // Range: 0x805FE7E0 -> 0x805FE854 static void EditorBlockProps(class DataArray * editDefn /* r29 */, class list & props /* r30 */, class list * arrayProps /* r31 */) { // Local variables class DataArray * ed; // r0 } static class Symbol objects; // size: 0x4, address: 0x80A55388 // Range: 0x805FE854 -> 0x805FEA30 void ListProperties(class list & props /* r30 */, class Symbol & classnm /* r27 */, class Symbol & type /* r28 */, class list * arrayProps /* r31 */) { // Local variables class DataArray * classdef; // r29 class DataArray * da; // r0 class vector classes; // r1+0x38 class Symbol * i; // r29 // References // -> const char * gNullStr; // -> static class Symbol objects; } // Range: 0x805FEA30 -> 0x805FEB4C static int GetPropSize(class Object * o /* r26 */, class DataArray * prop /* r27 */, int nodes /* r28 */) { // Local variables class DataArrayPtr da; // r1+0x8 int i; // r29 int size; // r29 // References // -> struct [anonymous] __vt__12DataArrayPtr; } // Range: 0x805FEB4C -> 0x805FEC00 unsigned char IsPropPathValid(class Object * o /* r28 */, class DataArray * prop /* r29 */) { // Local variables int i; // r30 } // Range: 0x805FEC00 -> 0x805FED58 unsigned char PropPathCompare(class DataArray * a /* r27 */, class DataArray * b /* r28 */) { // Local variables int i; // r29 enum DataType t; // r0 } // Range: 0x805FED58 -> 0x805FEDBC class DataNode * GetPropertyVal(class Object * o /* r29 */, class DataArray * prop /* r30 */, unsigned char fail /* r31 */) {} // Range: 0x805FEDBC -> 0x805FF164 void TestDuplicateObjNames(class ObjectDir * o /* r30 */) { // Local variables class ObjDirItr it; // r1+0x18 int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x805FF164 -> 0x805FF2EC void CheckForDuplicateTypeHandlers(class Object * o /* r29 */) { // Local variables class DataArray * t; // r31 class list handlers; // r1+0x40 int i; // r30 class DataNode & n; // r0 class Symbol handler; // r1+0x2C // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std29_Rb_tree_node; // size: 0x8, address: 0x8092ADF8 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std62_Rb_tree_node>; // size: 0x8, address: 0x8092AE50 struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std60_Rb_tree_node>; // size: 0x8, address: 0x8092AEA8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FF2EC -> 0x805FF360 */ // Range: 0x805FF2EC -> 0x805FF360 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, enum DataType t2 /* r30 */, enum DataType t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FF360 -> 0x805FF634 */ // Range: 0x805FF360 -> 0x805FF634 static void WalkProps(class DataArray * ed /* r26 */, class list & props /* r27 */, class list * arrayProps /* r28 */) { // Local variables int i; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std19_List_node<6Symbol>; // -> unsigned char gStlAllocNameLookup; // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\utl\AllocInfo.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FF634 -> 0x805FF984 */ static char gDefaultMem[4]; // size: 0x4, address: 0x80A55390 class Pool { // total size: 0x4 char * mFree; // offset 0x0, size 0x4 }; static class Pool sPool; // size: 0x4, address: 0x80A55398 // Range: 0x805FF634 -> 0x805FF67C static class Pool & GetPool() { // References // -> static char gDefaultMem[4]; // -> static class Pool sPool; } class AllocInfo { // total size: 0x18 public: int mReqSize; // offset 0x0, size 0x4 int mActSize; // offset 0x4, size 0x4 const char * mType; // offset 0x8, size 0x4 void * mMem; // offset 0xC, size 0x4 signed char mHeap; // offset 0x10, size 0x1 unsigned char mPooled; // offset 0x11, size 0x1 signed short mTimeSlice; // offset 0x12, size 0x2 unsigned char mStrat; // offset 0x14, size 0x1 }; // Range: 0x805FF67C -> 0x805FF6B8 void AllocInfo::SetPoolMemory() {} // Range: 0x805FF6B8 -> 0x805FF750 void * AllocInfo::__nw() { // Local variables void * mem; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805FF750 -> 0x805FF784 void AllocInfo::__dl(void * mem /* r31 */) {} // Range: 0x805FF784 -> 0x805FF7DC void * AllocInfo::AllocInfo(class AllocInfo * const this /* r31 */) { // References // -> class MemTracker * gMemTracker; } // Range: 0x805FF7DC -> 0x805FF80C int AllocInfo::StackCompare() { // Local variables int cmp; // r0 } // Range: 0x805FF80C -> 0x805FF884 int AllocInfo::Compare(const class AllocInfo * const this /* r30 */, const class AllocInfo & rhs /* r31 */) { // Local variables int cmp; // r0 } // Range: 0x805FF884 -> 0x805FF8D8 void AllocInfo::Validate() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x805FF8D8 -> 0x805FF948 void AllocInfo::Print(const class AllocInfo * const this /* r30 */, class TextStream & s /* r31 */) {} // Range: 0x805FF948 -> 0x805FF94C void AllocInfo::FillStackTrace() {} // Range: 0x805FF94C -> 0x805FF984 class TextStream & __ls(class TextStream & s /* r31 */) {} class HeapStats { // total size: 0x14 public: int mTotalNumAllocs; // offset 0x0, size 0x4 int mTotalActSize; // offset 0x4, size 0x4 int mTotalReqSize; // offset 0x8, size 0x4 int mMaxNumAllocs; // offset 0xC, size 0x4 int mMaxActSize; // offset 0x10, size 0x4 }; class BlockStat { // total size: 0x18 public: const char * mName; // offset 0x0, size 0x4 int mSizeReq; // offset 0x4, size 0x4 int mSizeAct; // offset 0x8, size 0x4 int mMaxSize; // offset 0xC, size 0x4 int mNumAllocs; // offset 0x10, size 0x4 unsigned char mHeap; // offset 0x14, size 0x1 }; class BlockStatTable { // total size: 0x600C class BlockStat mStats[1024]; // offset 0x0, size 0x6000 int mMaxStats; // offset 0x6000, size 0x4 int mNumStats; // offset 0x6004, size 0x4 unsigned char mSizeMatters; // offset 0x6008, size 0x1 }; class AllocInfoVec { // total size: 0xC class AllocInfo * * mStart; // offset 0x0, size 0x4 class AllocInfo * * mEnd; // offset 0x4, size 0x4 class AllocInfo * * mEndOfStorage; // offset 0x8, size 0x4 }; class MemTracker { // total size: 0x18190 class AllocInfo * * mHashMem; // offset 0x0, size 0x4 class KeylessHash * mHash; // offset 0x4, size 0x4 signed short mTimeSlice; // offset 0x8, size 0x2 class HeapStats mHeapStats[16]; // offset 0xC, size 0x140 class BlockStatTable mHeapTypeStats[2]; // offset 0x14C, size 0xC018 class BlockStatTable mPoolTypeStats[2]; // offset 0xC164, size 0xC018 int mCurStatTable; // offset 0x1817C, size 0x4 class AllocInfoVec mFreedInfos; // offset 0x18180, size 0xC class TextStream * mLog; // offset 0x1818C, size 0x4 }; /* Compile unit: C:\rockband2\system\src\utl\BeatMap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FF984 -> 0x805FFE1C */ static class BeatMap gDefaultBeatMap; // size: 0xC, address: 0x809897BC class BeatMap * TheBeatMap; // size: 0x4, address: 0x80A47A78 // Range: 0x805FF984 -> 0x805FF98C void SetTheBeatMap() { // References // -> class BeatMap * TheBeatMap; } // Range: 0x805FF98C -> 0x805FF99C void ResetTheBeatMap() { // References // -> class BeatMap * TheBeatMap; // -> static class BeatMap gDefaultBeatMap; } // Range: 0x805FF99C -> 0x805FF9B8 unsigned char BeatInfoCmp() {} // Range: 0x805FF9B8 -> 0x805FF9CC void * BeatMap::BeatMap() {} // Range: 0x805FF9CC -> 0x805FFA74 unsigned char BeatMap::AddBeat() {} // Range: 0x805FFA74 -> 0x805FFB50 float BeatMap::Beat(const class BeatMap * const this /* r31 */, int tick /* r1+0x8 */) { // Local variables int idx; // r5 } // Range: 0x805FFB50 -> 0x805FFC30 float BeatMap::BeatToTick() { // Local variables int idx; // r6 } // Range: 0x805FFC30 -> 0x805FFC98 int BeatMap::IsDownbeat() {} // Range: 0x805FFC98 -> 0x805FFD14 float BeatMap::Interpolate() {} struct { // total size: 0x8 } __RTTI__P8BeatInfo; // size: 0x8, address: 0x8092AF48 // Range: 0x805FFD14 -> 0x805FFD5C static void __sinit_\BeatMap_cpp() { // References // -> static class BeatMap gDefaultBeatMap; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FFE1C -> 0x805FFEAC */ // Range: 0x805FFE1C -> 0x805FFEAC struct BeatInfo * __lower_bound(const struct BeatInfo * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(struct BeatInfo &, int) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const struct BeatInfo * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x805FFEAC -> 0x80600098 */ // Range: 0x805FFEAC -> 0x80600098 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct BeatInfo * __pos /* r26 */, const struct BeatInfo & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct BeatInfo * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8BeatInfo; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\BinkIntegration.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80600098 -> 0x80600FA8 */ struct RADARAMCALLBACKS { // total size: 0x8 void * (* aram_malloc)(unsigned int); // offset 0x0, size 0x4 void (* aram_free)(void *); // offset 0x4, size 0x4 }; // Range: 0x80600098 -> 0x80600100 void BinkInit() { // Local variables struct RADARAMCALLBACKS aram_callbacks; // r1+0x8 } // Range: 0x80600100 -> 0x80600110 static void * BinkAlloc() {} // Range: 0x80600110 -> 0x80600114 static void BinkFree() {} // Range: 0x80600114 -> 0x80600140 static void intelendian() { // Local variables unsigned int s; // r5 unsigned int * d; // r3 } // Range: 0x80600140 -> 0x8060021C static int BinkFileOpen(struct BINKIO * pBinkIO /* r29 */, const char * pFileName /* r30 */, unsigned int iOpenFlags /* r31 */) {} struct BINKENCRYPTIONHEADER { // total size: 0x38 unsigned int mSignature; // offset 0x0, size 0x4 unsigned int mVersion; // offset 0x4, size 0x4 unsigned int mKeyIndex; // offset 0x8, size 0x4 unsigned int mMagicA; // offset 0xC, size 0x4 unsigned int mMagicB; // offset 0x10, size 0x4 unsigned long long mNonce[2]; // offset 0x18, size 0x10 unsigned char mKeyMask[16]; // offset 0x28, size 0x10 }; class XTEABlockEncrypter { // total size: 0x20 unsigned long long mNonce[2]; // offset 0x0, size 0x10 unsigned int mKey[4]; // offset 0x10, size 0x10 }; struct BINKFILE { // total size: 0x70 class File * pFile; // offset 0x0, size 0x4 unsigned int iCloseFile; // offset 0x4, size 0x4 unsigned char * pBuffer; // offset 0x8, size 0x4 unsigned char * pBufEnd; // offset 0xC, size 0x4 unsigned char * pBufPos; // offset 0x10, size 0x4 unsigned char * pBufBack; // offset 0x14, size 0x4 unsigned int iBufEmpty; // offset 0x18, size 0x4 unsigned int iFileBufPos; // offset 0x1C, size 0x4 unsigned int iSimulateBPS; // offset 0x20, size 0x4 unsigned int iTimer; // offset 0x24, size 0x4 unsigned int iHeaderSize; // offset 0x28, size 0x4 struct BINKENCRYPTIONHEADER mEncryptionHeader; // offset 0x30, size 0x38 class XTEABlockEncrypter * pXTEADecrypter; // offset 0x68, size 0x4 }; // Range: 0x8060021C -> 0x8060062C static unsigned int BinkFileReadHeader(struct BINKIO * pBinkIO /* r26 */, void * pDest /* r27 */, unsigned int iReadSize /* r28 */) { // Local variables struct BINKFILE * pBinkFileInfo; // r0 class File * pReadFile; // r31 struct BINKENCRYPTIONHEADER * pEncryptionHeader; // r30 int iEncryptionHeaderReadSize; // r29 char script[256]; // r1+0x118 unsigned char masterKey[256]; // r1+0x18 class DataArray * randomGen; // r18 unsigned long masher; // r0 char functionName; // r5 class DataArray * masterKeyGen; // r18 unsigned char fileKey[16]; // r1+0x8 int ix; // r6 unsigned int kiBytesRead; // r18 unsigned int kiBytesLeft; // r3 // References // -> class Synth * TheSynth; } static class Timer * _t; // size: 0x4, address: 0x80A553A0 struct XTEABlock { // total size: 0x10 unsigned long long mData[2]; // offset 0x0, size 0x10 }; // Range: 0x8060062C -> 0x80600A5C static void ReadFunc(struct BINKIO * pBinkIO /* r29 */, unsigned char bStartNewRead /* r30 */) { // Local variables struct BINKFILE * pBinkFileInfo; // r0 int iBytesRead; // r1+0x10 class AutoTimer _at; // r1+0xC struct XTEABlock * pBlock; // r31 struct XTEABlock decrypted; // r1+0x18 unsigned int iReadSize; // r21 // References // -> class Debug TheDebug; // -> static class Timer * _t; } // Range: 0x80600A5C -> 0x80600DF4 static unsigned int BinkFileReadFrame(struct BINKIO * pBinkIO /* r26 */, int iOffset /* r29 */, void * pDest /* r27 */, unsigned int iReadSize /* r28 */) { // Local variables struct BINKFILE * pBinkFileInfo; // r0 unsigned int iTimerReadStart; // r0 unsigned int iOffsetAlign; // r30 unsigned int iOffsetDifference; // r4 unsigned int iEncryptedOffset; // r0 unsigned int iBlockNumber; // r0 unsigned int iTAmt; // r30 unsigned int iTimerReadSyncStart; // r0 unsigned int iBytesRead; // r0 unsigned int iTimerReadStop; // r0 unsigned int iCopySize; // r29 unsigned int iFrontSize; // r25 unsigned int iFileBytesLeft; // r3 } // Range: 0x80600DF4 -> 0x80600E10 static unsigned int BinkFileGetBufferSize() {} // Range: 0x80600E10 -> 0x80600E84 static void BinkFileClose(struct BINKIO * pBinkIO /* r31 */) { // Local variables struct BINKFILE * pBinkFileInfo; // r0 } // Range: 0x80600E84 -> 0x80600EEC static unsigned int BinkFileIdle(struct BINKIO * pBinkIO /* r31 */) {} // Range: 0x80600EEC -> 0x80600F1C static void BinkFileSetInfo(unsigned int iBufferSize /* r5 */) { // Local variables struct BINKFILE * pBinkFileInfo; // r0 } // Range: 0x80600F1C -> 0x80600FA8 static int BinkFileBGControl(struct BINKIO * pBinkIO /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\BinStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80600FA8 -> 0x80601B38 */ class Rand2 { // total size: 0x4 int mSeed; // offset 0x0, size 0x4 }; // Range: 0x80600FA8 -> 0x80600FB4 char * BinStream::Name() {} // Range: 0x80600FB4 -> 0x80601054 class BinStream & BinStream::__ls(class BinStream * const this /* r29 */, const char * str /* r30 */) { // Local variables unsigned int len; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80601054 -> 0x806010F8 class BinStream & BinStream::__ls(class BinStream * const this /* r29 */) { // Local variables unsigned int len; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806010F8 -> 0x80601168 class BinStream & BinStream::__ls(class BinStream * const this /* r29 */, const class String & str /* r30 */) {} // Range: 0x80601168 -> 0x80601200 void BinStream::ReadString(class BinStream * const this /* r29 */, char * str /* r30 */, int bufSize /* r31 */) { // Local variables unsigned int len; // r1+0x8 // References // -> class Debug TheDebug; } static char buf[512]; // size: 0x200, address: 0x809897C8 // Range: 0x80601200 -> 0x80601264 class BinStream & BinStream::__rs(class BinStream * const this /* r29 */, class Symbol & str /* r30 */) { // References // -> static char buf[512]; } // Range: 0x80601264 -> 0x806012C4 class BinStream & BinStream::__rs(class BinStream * const this /* r30 */, class String & str /* r31 */) { // Local variables unsigned int len; // r1+0x8 } // Range: 0x806012C4 -> 0x806012E0 void * BinStream::BinStream() { // References // -> struct [anonymous] __vt__9BinStream; } // Range: 0x806012E0 -> 0x80601344 void * BinStream::~BinStream(class BinStream * const this /* r30 */) { // References // -> struct [anonymous] __vt__9BinStream; } // Range: 0x80601344 -> 0x806013D0 void BinStream::EnableReadEncryption(class BinStream * const this /* r31 */) { // Local variables int seed; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806013D0 -> 0x8060147C void BinStream::EnableWriteEncryption(class BinStream * const this /* r30 */, int seedOverride /* r31 */) { // Local variables int seed; // [invalid] // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060147C -> 0x806014EC void BinStream::DisableEncryption(class BinStream * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class DebugWarner _dw; // size: 0x100, address: 0x809899C8 // Range: 0x806014EC -> 0x806015F8 void BinStream::Read(class BinStream * const this /* r29 */, void * data /* r31 */, int bytes /* r30 */) { // Local variables unsigned char * ptr; // [invalid] unsigned char * end; // r30 unsigned char c; // r3 // References // -> class Debug TheDebug; // -> static class DebugWarner _dw; } class DebugWarnPrinter { // total size: 0x100 char mStr[256]; // offset 0x0, size 0x100 }; static class DebugWarnPrinter _dw; // size: 0x100, address: 0x80989AC8 // Range: 0x806015F8 -> 0x8060176C void BinStream::Write(class BinStream * const this /* r28 */, void * void_data /* r29 */, int bytes /* r1+0x8 */) { // Local variables const unsigned char * data; // [invalid] char crypt[512]; // r1+0x10 int buf_size; // r30 int i; // r31 unsigned char c; // r3 // References // -> class Debug TheDebug; // -> static class DebugWarnPrinter _dw; } // Range: 0x8060176C -> 0x80601844 void BinStream::Seek(class BinStream * const this /* r28 */, int offset /* r29 */, enum SeekType type /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80601844 -> 0x806019B4 void BinStream::ReadEndian(class BinStream * const this /* r27 */, void * data /* r31 */, int bytes /* r26 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806019B4 -> 0x80601B38 void BinStream::WriteEndian(class BinStream * const this /* r30 */, int bytes /* r31 */) { // Local variables char buf[16]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x2C } __vt__9BinStream; // size: 0x2C, address: 0x8092B058 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80601B38 -> 0x80601B98 */ // Range: 0x80601B38 -> 0x80601B98 char * MakeString(const char * fmt /* r0 */, unsigned int t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\BufStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80601B98 -> 0x80601E78 */ // Range: 0x80601B98 -> 0x80601C14 void * BufStream::BufStream(class BufStream * const this /* r29 */, void * buffer /* r30 */, int size /* r31 */) { // References // -> struct [anonymous] __vt__9BufStream; } // Range: 0x80601C14 -> 0x80601C84 void * BufStream::~BufStream(class BufStream * const this /* r30 */) { // References // -> struct [anonymous] __vt__9BufStream; } // Range: 0x80601C84 -> 0x80601CE4 void BufStream::DeleteChecksum(class BufStream * const this /* r30 */) {} // Range: 0x80601CE4 -> 0x80601D98 void BufStream::ReadImpl(class BufStream * const this /* r29 */, void * data /* r30 */, int bytes /* r31 */) {} // Range: 0x80601D98 -> 0x80601E0C void BufStream::WriteImpl(class BufStream * const this /* r30 */, int bytes /* r31 */) {} // Range: 0x80601E0C -> 0x80601E78 void BufStream::SeekImpl() { // Local variables int i; // r4 } struct { // total size: 0x2C } __vt__9BufStream; // size: 0x2C, address: 0x8092B0A8 struct { // total size: 0x8 } __RTTI__9BufStream; // size: 0x8, address: 0x8092B0F0 /* Compile unit: C:\rockband2\system\src\utl\BufStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80601E78 -> 0x80601EA4 */ // Range: 0x80601E78 -> 0x80601E80 unsigned char BufStream::Fail() {} // Range: 0x80601E80 -> 0x80601E98 unsigned char BufStream::Eof() {} // Range: 0x80601E98 -> 0x80601EA0 int BufStream::Tell() {} // Range: 0x80601EA0 -> 0x80601EA4 void BufStream::Flush() {} /* Compile unit: C:\rockband2\system\src\utl\BufStreamNAND.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80601EA4 -> 0x806026C8 */ // Range: 0x80601EA4 -> 0x80601FB8 void * BufStreamNAND::BufStreamNAND(class BufStreamNAND * const this /* r27 */, void * buffer /* r28 */, int chunkSize /* r29 */, int totalSize /* r30 */, char * filePath /* r31 */) { // Local variables float remainder; // f1 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__13BufStreamNAND; } // Range: 0x80601FB8 -> 0x80602028 void * BufStreamNAND::~BufStreamNAND(class BufStreamNAND * const this /* r30 */) { // References // -> struct [anonymous] __vt__13BufStreamNAND; } // Range: 0x80602028 -> 0x80602030 void BufStreamNAND::SetResult() {} // Range: 0x80602030 -> 0x80602038 enum MCResult BufStreamNAND::GetResult() {} // Range: 0x80602038 -> 0x80602098 void BufStreamNAND::DeleteChecksum(class BufStreamNAND * const this /* r30 */) {} // Range: 0x80602098 -> 0x806021A4 void BufStreamNAND::ReadImpl(class BufStreamNAND * const this /* r29 */, void * data /* r30 */, int bytes /* r31 */) {} // Range: 0x806021A4 -> 0x806022B8 void BufStreamNAND::WriteImpl(class BufStreamNAND * const this /* r30 */, void * data /* r29 */, int bytes /* r31 */) { // Local variables enum MCResult result; // r0 } // Range: 0x806022B8 -> 0x80602324 void BufStreamNAND::SeekImpl() { // Local variables int i; // r4 } // Range: 0x80602324 -> 0x80602454 enum MCResult BufStreamNAND::SaveBufferToNAND(class BufStreamNAND * const this /* r29 */) { // Local variables long result; // r4 enum MCResult mcResult; // r30 } // Range: 0x80602454 -> 0x806024E8 enum MCResult BufStreamNAND::FinishWrite(class BufStreamNAND * const this /* r31 */) { // Local variables enum MCResult mcResult; // r3 } // Range: 0x806024E8 -> 0x806025A4 enum MCResult BufStreamNAND::LoadBufferFromNAND(class BufStreamNAND * const this /* r30 */) { // Local variables long result; // r4 enum MCResult mcResult; // r31 } // Range: 0x806025A4 -> 0x80602614 enum MCResult BufStreamNAND::FinishStream(class BufStreamNAND * const this /* r31 */) { // Local variables long result; // r0 enum MCResult mcResult; // r4 } // Range: 0x80602614 -> 0x806026C8 enum MCResult BufStreamNAND::HandleResultNAND() { // Local variables enum MCResult mcResult; // r31 } struct { // total size: 0x2C } __vt__13BufStreamNAND; // size: 0x2C, address: 0x8092B180 struct { // total size: 0x8 } __RTTI__13BufStreamNAND; // size: 0x8, address: 0x8092B1C8 /* Compile unit: C:\rockband2\system\src\utl\BufStreamNAND.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806026C8 -> 0x806026F4 */ // Range: 0x806026C8 -> 0x806026D0 unsigned char BufStreamNAND::Fail() {} // Range: 0x806026D0 -> 0x806026E8 unsigned char BufStreamNAND::Eof() {} // Range: 0x806026E8 -> 0x806026F0 int BufStreamNAND::Tell() {} // Range: 0x806026F0 -> 0x806026F4 void BufStreamNAND::Flush() {} /* Compile unit: C:\rockband2\system\src\utl\Cache.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806026F4 -> 0x80602768 */ // Range: 0x806026F4 -> 0x80602710 void * Cache::Cache() { // References // -> struct [anonymous] __vt__5Cache; } // Range: 0x80602710 -> 0x80602750 void * Cache::~Cache(class Cache * const this /* r31 */) {} // Range: 0x80602750 -> 0x80602760 unsigned char Cache::IsDone() {} // Range: 0x80602760 -> 0x80602768 enum CacheResult Cache::GetLastResult() {} struct { // total size: 0x34 } __vt__5Cache; // size: 0x34, address: 0x8092B1D0 struct { // total size: 0x8 } __RTTI__5Cache; // size: 0x8, address: 0x8092B210 /* Compile unit: C:\rockband2\system\src\utl\Cache_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80602768 -> 0x806030D8 */ class CacheIDWii : public CacheID { // total size: 0x30 public: class String mStrCacheName; // offset 0x4, size 0xC class String mStrIconFilename; // offset 0x10, size 0xC class String mStrCacheDescription; // offset 0x1C, size 0xC unsigned char mHasCreatedNewGameData; // offset 0x28, size 0x1 int mSizeKB; // offset 0x2C, size 0x4 }; // Range: 0x80602768 -> 0x806027B8 void * CacheIDWii::CacheIDWii(class CacheIDWii * const this /* r31 */) { // References // -> struct [anonymous] __vt__10CacheIDWii; } // Range: 0x806027B8 -> 0x80602838 void * CacheIDWii::~CacheIDWii(class CacheIDWii * const this /* r29 */) {} // Range: 0x80602838 -> 0x8060292C char * CacheIDWii::GetCachePath(class CacheIDWii * const this /* r30 */, const char * strPath /* r31 */) { // Local variables class String str; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x8060292C -> 0x806029CC char * CacheIDWii::GetCacheSearchPath(class CacheIDWii * const this /* r30 */, const char * strFilter /* r31 */) { // References // -> class Debug TheDebug; } class CacheWii : public Cache { // total size: 0x60 class CacheIDWii mCacheID; // offset 0xC, size 0x30 class String mThreadStr; // offset 0x3C, size 0xC class String mThreadStrFilter; // offset 0x48, size 0xC void * mData; // offset 0x54, size 0x4 unsigned int mSize; // offset 0x58, size 0x4 class vector * mCacheDirList; // offset 0x5C, size 0x4 }; // Range: 0x806029CC -> 0x80602A9C void * CacheWii::CacheWii(class CacheWii * const this /* r30 */, const class CacheIDWii & cacheID /* r31 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__10CacheIDWii; // -> struct [anonymous] __vt__8CacheWii; } // Range: 0x80602A9C -> 0x80602B60 void * CacheWii::~CacheWii(class CacheWii * const this /* r29 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__8CacheWii; } // Range: 0x80602B60 -> 0x80602B68 char * CacheWii::GetCacheName() {} // Range: 0x80602B68 -> 0x80602B6C void CacheWii::Poll() {} // Range: 0x80602B6C -> 0x80602B74 unsigned char CacheWii::IsConnectedSync() {} // Range: 0x80602B74 -> 0x80602BDC unsigned char CacheWii::GetFreeSpaceSync(class CacheWii * const this /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x80602BDC -> 0x80602C50 unsigned char CacheWii::DeleteSync(class CacheWii * const this /* r30 */, const char * filename /* r31 */) {} // Range: 0x80602C50 -> 0x80602D78 unsigned char CacheWii::GetDirectoryAsync(class CacheWii * const this /* r28 */, const char * filter /* r29 */, class vector * pDirList /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80602D78 -> 0x80602E68 unsigned char CacheWii::GetFileSizeAsync(class CacheWii * const this /* r29 */, const char * filename /* r30 */, unsigned int * pSize /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80602E68 -> 0x80602F34 unsigned char CacheWii::ReadAsync(class CacheWii * const this /* r28 */, const char * filename /* r29 */, void * pData /* r30 */, unsigned int size /* r31 */) {} // Range: 0x80602F34 -> 0x80603000 unsigned char CacheWii::WriteAsync(class CacheWii * const this /* r28 */, const char * filename /* r29 */, void * pData /* r30 */, unsigned int size /* r31 */) {} // Range: 0x80603000 -> 0x806030D8 unsigned char CacheWii::DeleteAsync(class CacheWii * const this /* r30 */, const char * filename /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x34 } __vt__8CacheWii; // size: 0x34, address: 0x8092B358 struct { // total size: 0x8 } __RTTI__8CacheWii; // size: 0x8, address: 0x8092B3A8 struct { // total size: 0x14 } __vt__10CacheIDWii; // size: 0x14, address: 0x8092B3B0 struct { // total size: 0x8 } __RTTI__10CacheIDWii; // size: 0x8, address: 0x8092B3E0 struct { // total size: 0x14 } __vt__7CacheID; // size: 0x14, address: 0x8092B3F8 struct { // total size: 0x8 } __RTTI__7CacheID; // size: 0x8, address: 0x8092B418 /* Compile unit: C:\rockband2\system\src\utl\CacheMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806030D8 -> 0x80603604 */ class CacheMgr * TheCacheMgr; // size: 0x4, address: 0x80A553A8 // Range: 0x806030D8 -> 0x80603168 void CacheMgrInit() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class CacheMgr * TheCacheMgr; } // Range: 0x80603168 -> 0x806031B0 void CacheMgrTerminate() { // References // -> class CacheMgr * TheCacheMgr; } // Range: 0x806031B0 -> 0x806031E0 class CacheMgr * CacheMgr::CreateCacheMgr() {} // Range: 0x806031E0 -> 0x80603208 void * CacheMgr::CacheMgr() { // References // -> struct [anonymous] __vt__8CacheMgr; } // Range: 0x80603208 -> 0x806032CC void * CacheMgr::~CacheMgr(class CacheMgr * const this /* r30 */) {} // Range: 0x806032CC -> 0x8060332C unsigned char CacheMgr::SearchAsync(class CacheMgr * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x8060332C -> 0x8060338C unsigned char CacheMgr::ShowUserSelectUIAsync(class CacheMgr * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x8060338C -> 0x806033EC unsigned char CacheMgr::CreateCacheID(class CacheMgr * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x806033EC -> 0x806033FC unsigned char CacheMgr::IsDone() {} // Range: 0x806033FC -> 0x80603404 enum CacheResult CacheMgr::GetLastResult() {} // Range: 0x80603404 -> 0x8060350C void CacheMgr::AddCacheID(class CacheMgr * const this /* r29 */, class CacheID * pCacheID /* r30 */, class Symbol & symName /* r31 */) { // Local variables struct CacheIDStoreEntry * it; // r7 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060350C -> 0x806035A8 void CacheMgr::RemoveCacheID() { // Local variables struct CacheIDStoreEntry * it; // r8 } // Range: 0x806035A8 -> 0x806035F4 class CacheID * CacheMgr::GetCacheID() { // Local variables struct CacheIDStoreEntry * it; // r7 struct CacheIDStoreEntry entry; // r1+0x8 } // Range: 0x806035F4 -> 0x806035FC void CacheMgr::SetOp() {} // Range: 0x806035FC -> 0x80603604 void CacheMgr::SetLastResult() {} struct { // total size: 0x28 } __vt__8CacheMgr; // size: 0x28, address: 0x8092B530 struct { // total size: 0x8 } __RTTI__8CacheMgr; // size: 0x8, address: 0x8092B568 struct { // total size: 0x8 } __RTTI__PQ28CacheMgr17CacheIDStoreEntry; // size: 0x8, address: 0x8092B590 /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80603604 -> 0x806037F0 */ // Range: 0x80603604 -> 0x806037F0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct CacheIDStoreEntry * __pos /* r26 */, const struct CacheIDStoreEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct CacheIDStoreEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ28CacheMgr17CacheIDStoreEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\CacheMgr_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806037F0 -> 0x80603950 */ class CacheMgrWii : public CacheMgr { // total size: 0x18 }; // Range: 0x806037F0 -> 0x8060382C void * CacheMgrWii::CacheMgrWii(class CacheMgrWii * const this /* r31 */) { // References // -> struct [anonymous] __vt__11CacheMgrWii; } // Range: 0x8060382C -> 0x80603888 void * CacheMgrWii::~CacheMgrWii(class CacheMgrWii * const this /* r30 */) {} // Range: 0x80603888 -> 0x80603950 unsigned char CacheMgrWii::CreateCacheID(const char * strCacheName /* r26 */, const char * strIconFilename /* r27 */, const char * strTitleName /* r28 */, int maxSizeKB /* r29 */, class CacheID * * ppCacheID /* r30 */) {} struct { // total size: 0x28 } __vt__11CacheMgrWii; // size: 0x28, address: 0x8092B630 struct { // total size: 0x8 } __RTTI__11CacheMgrWii; // size: 0x8, address: 0x8092B670 /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Extensions\Any\AnyObjectHolder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80603950 -> 0x80603BD8 */ // Range: 0x80603950 -> 0x80603AA4 unsigned char CacheMgrWii::MountAsync(class CacheMgrWii * const this /* r29 */, class CacheID * pCacheID /* r31 */, class Cache * * ppCache /* r30 */) { // Local variables class CacheIDWii * pCacheIDWii; // r31 // References // -> struct [anonymous] __RTTI__7CacheID; // -> struct [anonymous] __RTTI__10CacheIDWii; // -> class Debug TheDebug; } // Range: 0x80603AA4 -> 0x80603B8C unsigned char CacheMgrWii::UnmountAsync(class CacheMgrWii * const this /* r30 */, class Cache * * ppCache /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x80603B8C -> 0x80603BD8 unsigned char CacheMgrWii::DeleteAsync() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\CacheMgr_Wii.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80603BD8 -> 0x80603BDC */ // Range: 0x80603BD8 -> 0x80603BDC void CacheMgrWii::Poll() {} /* Compile unit: C:\rockband2\system\src\utl\CompositeTwoColorWii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80603BDC -> 0x806048D0 */ // Range: 0x80603BDC -> 0x80603DEC void DecompressPaletteDXT1(unsigned short * pCompressedPalette /* r29 */, unsigned char (* pDecompressedPalette)[4] /* r31 */) { // Local variables unsigned short iColor0; // r0 unsigned short iColor1; // r10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80603DEC -> 0x80603F44 void DecompressTileDXT1(unsigned char * pCompressedTile /* r29 */, unsigned char * pDecompressedTile /* r30 */, unsigned char kbAsAlpha /* r31 */) { // Local variables unsigned char pPalette[4][4]; // r1+0x8 unsigned int iCompressedIndices; // r6 unsigned char iPixelIndex; // r7 unsigned char kiPixelOffset; // r4 unsigned char iPaletteIndex; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80603F44 -> 0x80604090 void DecompressMaskTile(class RndBitmap * pMaskBmp /* r23 */, unsigned char * pDecompressedTile /* r24 */, unsigned int kiX /* r25 */, unsigned int kiY /* r26 */, float kfScaleX /* f29 */, float kfScaleY /* f30 */) { // Local variables unsigned int iDecompressedIndex; // r29 unsigned int iY; // r28 unsigned int iX; // r27 unsigned char r; // r1+0xB unsigned char g; // r1+0xA unsigned char b; // r1+0x9 unsigned char a; // r1+0x8 unsigned int kiPixelOffset; // r3 } // Range: 0x80604090 -> 0x806043E4 void CompositeTwoColorTile(unsigned char * pCompositeTile /* r28 */, unsigned char * pMaskTile /* r29 */, class Color * pColor1 /* r30 */, class Color * pColor2 /* r31 */) { // Local variables unsigned int iPixelIndex; // r3 unsigned char kiPixelOffset; // r8 class Color base; // r1+0x30 class Color blend; // r1+0x20 class Color mask; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806043E4 -> 0x806048D0 void CompositeTwoColor(class RndBitmap * pBaseBmp /* r18 */, class RndBitmap * pMaskBmp /* r19 */, class Color * pColor1 /* r20 */, class Color * pColor2 /* r21 */, class RndBitmap * pCompositeBmp /* r22 */) { // Local variables unsigned char * pBaseDXTColorTile; // r30 unsigned char * pBaseDXTAlphaTile; // r29 float kfMaskScaleX; // f31 float kfMaskScaleY; // f30 unsigned char * pMaskDXTColorTile; // r28 unsigned char pMaskRGBAColorTile[64]; // r1+0x10 int iSrcX; // r27 int iSrcY; // r26 unsigned char half; // r1+0x8 int kiDiffuseDXTTileCount; // r25 unsigned int iDXTTileIndex; // r24 unsigned char * pCompositeTile; // r23 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\Cheats.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806048D0 -> 0x80605760 */ static unsigned char sKeyCheatsEnabled; // size: 0x1, address: 0x80A47A98 class CheatsManager : public Object { // total size: 0x98 class vector mLongJoyCheats; // offset 0x28, size 0xC class vector mQuickJoyCheats[2]; // offset 0x34, size 0x18 class vector mKeyCheats; // offset 0x4C, size 0xC class Timer mLastButtonTime; // offset 0x58, size 0x38 unsigned char mKeyCheatsEnabled; // offset 0x90, size 0x1 }; // Range: 0x806048D0 -> 0x8060497C void * CheatsManager::CheatsManager(class CheatsManager * const this /* r30 */) { // References // -> static unsigned char sKeyCheatsEnabled; // -> struct [anonymous] __vt__13CheatsManager; } class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct QuickJoyCheat * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct QuickJoyCheat * _M_start; // offset 0x0, size 0x4 struct QuickJoyCheat * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct LongJoyCheat * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct LongJoyCheat * _M_start; // offset 0x0, size 0x4 struct LongJoyCheat * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; class vector : protected _Vector_base { // total size: 0xC }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct KeyCheat * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct KeyCheat * _M_start; // offset 0x0, size 0x4 struct KeyCheat * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class vector : protected _Vector_base { // total size: 0xC }; static class Symbol wii_remote; // size: 0x4, address: 0x80A553B4 enum ShiftMode { kLeftShift = 0, kRightShift = 1, }; // Range: 0x80604990 -> 0x80604CA8 int CheatsManager::OnMsg(class CheatsManager * const this /* r28 */, const class ButtonDownMsg & iMsg /* r29 */) { // Local variables class JoypadData * data; // r0 int but; // r30 enum ShiftMode shiftMode; // r0 const struct QuickJoyCheat * it; // r27 struct LongJoyCheat * lit; // r3 struct LongJoyCheat * lit; // r5 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol wii_remote; } // Range: 0x80604CA8 -> 0x80604D70 class DataNode CheatsManager::OnMsg(class CheatsManager * const this /* r29 */) { // Local variables int key; // r0 const struct KeyCheat * it; // r30 } static class CheatsManager * gCheatsManager; // size: 0x4, address: 0x80A553B8 static unsigned char gDisable; // size: 0x1, address: 0x80A553BC struct QuickJoyCheat { // total size: 0x8 int mButton; // offset 0x0, size 0x4 class DataArray * mScript; // offset 0x4, size 0x4 }; // Range: 0x80604D70 -> 0x80604ECC void InitQuickJoyCheats(const class DataArray * cheats /* r28 */, enum ShiftMode mode /* r29 */) { // Local variables int i; // r30 struct QuickJoyCheat item; // r1+0x10 // References // -> class Debug TheDebug; // -> static class CheatsManager * gCheatsManager; } struct LongJoyCheat { // total size: 0x14 class vector mSequence; // offset 0x0, size 0xC int ixProgress; // offset 0xC, size 0x4 class DataArray * mScript; // offset 0x10, size 0x4 }; // Range: 0x80604ECC -> 0x8060518C void InitLongJoyCheats(const class DataArray * cheats /* r29 */) { // Local variables int i; // r30 struct LongJoyCheat item; // r1+0x2C unsigned char ok; // r25 int buttonNo; // r26 int button; // r1+0x28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__Pi; // -> unsigned char gStlAllocNameLookup; // -> static class CheatsManager * gCheatsManager; // -> class Debug TheDebug; } struct KeyCheat { // total size: 0x8 int mKey; // offset 0x0, size 0x4 class DataArray * mScript; // offset 0x4, size 0x4 }; // Range: 0x8060518C -> 0x80605334 void InitKeyCheats(const class DataArray * cheats /* r28 */) { // Local variables int i; // r29 struct KeyCheat item; // r1+0x10 // References // -> static class CheatsManager * gCheatsManager; // -> class Debug TheDebug; } // Range: 0x80605334 -> 0x8060534C void EnableKeyCheats() { // References // -> static class CheatsManager * gCheatsManager; // -> static unsigned char sKeyCheatsEnabled; } // Range: 0x8060534C -> 0x806053B0 class DataNode SetKeyCheatsEnabled(class DataArray * msg /* r31 */) {} // Range: 0x806053B0 -> 0x80605510 void CheatsInit() { // Local variables const class DataArray * quickcheats; // r31 const class DataArray * leftCheats; // r0 const class DataArray * rightCheats; // r0 const class DataArray * keyCheats; // r0 const class DataArray * longcheats; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class CheatsManager * gCheatsManager; // -> static unsigned char gDisable; } // Range: 0x80605510 -> 0x806055AC void CheatsTerminate() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class CheatsManager * gCheatsManager; // -> static unsigned char gDisable; } struct { // total size: 0x54 } __vt__13CheatsManager; // size: 0x54, address: 0x8092B928 struct { // total size: 0x8 } __RTTI__13CheatsManager; // size: 0x8, address: 0x8092B9A0 struct { // total size: 0x8 } __RTTI__P8KeyCheat; // size: 0x8, address: 0x8092BA68 struct { // total size: 0x8 } __RTTI__P13QuickJoyCheat; // size: 0x8, address: 0x8092BA80 struct { // total size: 0x8 } __RTTI__P12LongJoyCheat; // size: 0x8, address: 0x8092BA98 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80605760 -> 0x80605D78 */ // Range: 0x80605760 -> 0x8060589C void CheatsManager::CallCheatScript(unsigned char quickCheat /* r29 */, class DataArray * script /* r30 */, int playerNum /* r31 */) { // Local variables enum JoypadType type; // r0 } // Range: 0x8060589C -> 0x80605D78 class DataNode CheatsManager::Handle(class CheatsManager * const this /* r29 */, class DataArray * _msg /* r30 */, unsigned char _warn /* r31 */) { // Local variables class Symbol _type; // r1+0x2C class MessageTimer _mt; // r1+0x50 class DataNode r; // r1+0x48 class DataNode r; // r1+0x40 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__14KeyboardKeyMsg; // -> class Symbol t; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> struct [anonymous] __vt__13ButtonDownMsg; // -> struct [anonymous] __vt__7Message; // -> class Symbol t; // -> unsigned char sActive; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80605D78 -> 0x80605E34 */ // Range: 0x80605D78 -> 0x80605E34 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80605E34 -> 0x80606714 */ // Range: 0x80605E34 -> 0x80606020 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct KeyCheat * __pos /* r26 */, const struct KeyCheat & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct KeyCheat * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P8KeyCheat; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80606020 -> 0x8060620C void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct QuickJoyCheat * __pos /* r26 */, const struct QuickJoyCheat & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct QuickJoyCheat * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13QuickJoyCheat; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8060620C -> 0x80606714 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct LongJoyCheat * __pos /* r25 */, const struct LongJoyCheat & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x78 unsigned long __len; // r29 struct LongJoyCheat * __new_finish; // r28 // References // -> struct [anonymous] __RTTI__Pi; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12LongJoyCheat; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\Chunks.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80606714 -> 0x8060736C */ // Range: 0x80606714 -> 0x80606818 void ChunkHeader::Read(class ChunkHeader * const this /* r30 */, class BinStream & iBinStream /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkID kRiffChunkID; // -> class ChunkID kListChunkID; } // Range: 0x80606818 -> 0x80606974 void * IDataChunk::IDataChunk(class IDataChunk * const this /* r29 */, class IListChunk & iParent /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__10IDataChunk; } // Range: 0x80606974 -> 0x806069F8 void * IDataChunk::~IDataChunk(class IDataChunk * const this /* r30 */) { // References // -> struct [anonymous] __vt__10IDataChunk; } // Range: 0x806069F8 -> 0x80606B68 void IDataChunk::SeekImpl(class IDataChunk * const this /* r28 */, int iOffset /* r29 */, enum SeekType iSeekType /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80606B68 -> 0x80606BCC int IDataChunk::Tell(class IDataChunk * const this /* r31 */) { // Local variables int absolute; // r0 } // Range: 0x80606BCC -> 0x80606C58 void IDataChunk::ReadImpl(class IDataChunk * const this /* r29 */, void * oBuffer /* r30 */, int iLen /* r31 */) { // Local variables int curMarker; // r0 } // Range: 0x80606C58 -> 0x80606DD4 void * IListChunk::IListChunk(class IListChunk * const this /* r26 */, class BinStream & iBaseBinStream /* r27 */, unsigned char iHasListHeader /* r28 */) { // Local variables int pos; // r28 int len; // r0 // References // -> class ChunkID kListChunkID; } // Range: 0x80606DD4 -> 0x80606EB4 void * IListChunk::IListChunk(class IListChunk * const this /* r30 */) {} // Range: 0x80606EB4 -> 0x80606F1C void * IListChunk::~IListChunk(class IListChunk * const this /* r30 */) {} // Range: 0x80606F1C -> 0x80606FAC void IListChunk::Init(class IListChunk * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80606FAC -> 0x80607034 void IListChunk::Reset(class IListChunk * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80607034 -> 0x806070AC class ChunkHeader * IListChunk::CurSubChunkHeader(const class IListChunk * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806070AC -> 0x806071D4 class ChunkHeader * IListChunk::Next(class IListChunk * const this /* r31 */) { // Local variables int subLen; // r30 // References // -> class ChunkID kMidiTrackChunkID; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806071D4 -> 0x8060729C class ChunkHeader * IListChunk::Next(class IListChunk * const this /* r30 */, class ChunkID & iID /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060729C -> 0x80607304 void IListChunk::Lock(class IListChunk * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80607304 -> 0x8060736C void IListChunk::UnLock(class IListChunk * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x2C } __vt__10IDataChunk; // size: 0x2C, address: 0x8092BBD8 struct { // total size: 0x8 } __RTTI__10IDataChunk; // size: 0x8, address: 0x8092BC20 /* Compile unit: C:\rockband2\system\src\utl\Chunks.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060736C -> 0x80607384 */ // Range: 0x8060736C -> 0x80607374 unsigned char IDataChunk::Fail() {} // Range: 0x80607374 -> 0x80607378 void IDataChunk::Flush() {} // Range: 0x80607378 -> 0x8060737C void IDataChunk::WriteImpl() {} // Range: 0x8060737C -> 0x80607384 unsigned char IDataChunk::Eof() {} /* Compile unit: C:\rockband2\system\src\utl\ChunkIDs.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80607384 -> 0x806074A0 */ class ChunkID kListChunkID; // size: 0x4, address: 0x80A553C0 class ChunkID kRiffChunkID; // size: 0x4, address: 0x80A553C4 class ChunkID kMidiChunkID; // size: 0x4, address: 0x80A553C8 class ChunkID kMidiHeaderChunkID; // size: 0x4, address: 0x80A553CC class ChunkID kMidiTrackChunkID; // size: 0x4, address: 0x80A553D0 class ChunkID kWaveChunkID; // size: 0x4, address: 0x80A553D4 class ChunkID kWaveFormatChunkID; // size: 0x4, address: 0x80A553D8 class ChunkID kWaveDataChunkID; // size: 0x4, address: 0x80A553DC class ChunkID kWaveFactChunkID; // size: 0x4, address: 0x80A553E0 class ChunkID kWaveInstChunkID; // size: 0x4, address: 0x80A553E4 class ChunkID kWaveSampleChunkID; // size: 0x4, address: 0x80A553E8 class ChunkID kWaveCueChunkID; // size: 0x4, address: 0x80A553EC class ChunkID kWaveLabelChunkID; // size: 0x4, address: 0x80A553F0 class ChunkID kWaveTextChunkID; // size: 0x4, address: 0x80A553F4 class ChunkID kWaveAdditionalChunkID; // size: 0x4, address: 0x80A553F8 // Range: 0x80607384 -> 0x806074A0 static void __sinit_\ChunkIDs_cpp() { // References // -> class ChunkID kWaveAdditionalChunkID; // -> class ChunkID kWaveTextChunkID; // -> class ChunkID kWaveLabelChunkID; // -> class ChunkID kWaveCueChunkID; // -> class ChunkID kWaveSampleChunkID; // -> class ChunkID kWaveInstChunkID; // -> class ChunkID kWaveFactChunkID; // -> class ChunkID kWaveDataChunkID; // -> class ChunkID kWaveFormatChunkID; // -> class ChunkID kWaveChunkID; // -> class ChunkID kMidiTrackChunkID; // -> class ChunkID kMidiHeaderChunkID; // -> class ChunkID kMidiChunkID; // -> class ChunkID kRiffChunkID; // -> class ChunkID kListChunkID; } /* Compile unit: C:\rockband2\system\src\utl\ChunkStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806074A0 -> 0x8060800C */ // Range: 0x806074A0 -> 0x806074F8 class BinStream & MarkChunk(class BinStream & s /* r31 */) { // Local variables class ChunkStream * c; // r0 // References // -> struct [anonymous] __RTTI__9BinStream; // -> struct [anonymous] __RTTI__11ChunkStream; } // Range: 0x806074F8 -> 0x80607638 void * ChunkStream::ChunkStream(class ChunkStream * const this /* r27 */, const char * file /* r28 */, enum FileType t /* r29 */, int chunkSize /* r30 */, unsigned char compress /* r31 */) { // References // -> struct [anonymous] __vt__11ChunkStream; } // Range: 0x80607638 -> 0x806077B0 void * ChunkStream::~ChunkStream(class ChunkStream * const this /* r29 */) { // Local variables int i; // r31 // References // -> struct [anonymous] __vt__11ChunkStream; } // Range: 0x806077B0 -> 0x806078C0 void ChunkStream::ReadImpl(class ChunkStream * const this /* r28 */, void * data /* r29 */, int bytes /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806078C0 -> 0x80607994 void ChunkStream::WriteImpl(class ChunkStream * const this /* r28 */, void * data /* r29 */, int bytes /* r30 */) { // Local variables char * tmp; // r31 } // Range: 0x80607994 -> 0x80607998 void ChunkStream::Flush() {} // Range: 0x80607998 -> 0x806079DC void ChunkStream::SeekImpl() { // References // -> class Debug TheDebug; } // Range: 0x806079DC -> 0x80607A24 int ChunkStream::Tell() { // References // -> class Debug TheDebug; } // Range: 0x80607A24 -> 0x80607A9C void ChunkStream::ReadChunk(class ChunkStream * const this /* r6 */) { // Local variables int size; // r5 } // Range: 0x80607A9C -> 0x80607D8C unsigned char ChunkStream::Eof(class ChunkStream * const this /* r30 */) { // Local variables int bytes; // r1+0xC int i; // r29 int bytes; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80607D8C -> 0x80607D94 unsigned char ChunkStream::Fail() {} // Range: 0x80607D94 -> 0x80607E74 void ChunkStream::MaybeWriteChunk(class ChunkStream * const this /* r31 */) { // Local variables int size; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80607E74 -> 0x80607F08 int ChunkStream::WriteChunk(class ChunkStream * const this /* r30 */) { // Local variables int size; // r31 int dstLen; // r1+0x8 } // Range: 0x80607F08 -> 0x80607FD4 void ChunkStream::DecompressChunk(class ChunkStream * const this /* r31 */) { // Local variables int size; // r4 int dstLen; // r1+0x8 } // Range: 0x80607FD4 -> 0x8060800C void * ChunkInfo::ChunkInfo() {} struct { // total size: 0x2C } __vt__11ChunkStream; // size: 0x2C, address: 0x8092BDC0 struct { // total size: 0x8 } __RTTI__11ChunkStream; // size: 0x8, address: 0x8092BE08 /* Compile unit: C:\rockband2\system\src\utl\ChunkStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060800C -> 0x80608014 */ // Range: 0x8060800C -> 0x80608014 char * ChunkStream::Name() {} /* Compile unit: C:\rockband2\system\src\utl\Compress.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80608014 -> 0x806083B8 */ int (* inflateInit2RSO)(struct z_stream_s *, int); // size: 0x4, address: 0x80A55400 int (* inflateRSO)(struct z_stream_s *, int); // size: 0x4, address: 0x80A55404 int (* inflateEndRSO)(struct z_stream_s *); // size: 0x4, address: 0x80A55408 int (* deflateInit2RSO)(struct z_stream_s *, int, int, int, int, int); // size: 0x4, address: 0x80A5540C int (* deflateRSO)(struct z_stream_s *, int); // size: 0x4, address: 0x80A55410 int (* deflateEndRSO)(struct z_stream_s *); // size: 0x4, address: 0x80A55414 static struct RSOExportFuncTable exp_tbl_zlibModule[6]; // size: 0x30, address: 0x8092BEA0 struct RSOObjectHeader * zlibModule; // size: 0x4, address: 0x80A55418 // Range: 0x80608014 -> 0x806080B4 unsigned char ZLibRsoInit() { // References // -> struct RSOObjectHeader * zlibModule; } // Range: 0x806080B4 -> 0x806080FC void ZLibRsoTerminate() { // References // -> struct RSOObjectHeader * zlibModule; } // Range: 0x806080FC -> 0x80608110 static void * ZAlloc() {} // Range: 0x80608110 -> 0x80608118 static void ZFree() {} struct internal_state { // total size: 0x0 }; struct z_stream_s { // total size: 0x38 unsigned char * next_in; // offset 0x0, size 0x4 unsigned int avail_in; // offset 0x4, size 0x4 unsigned long total_in; // offset 0x8, size 0x4 unsigned char * next_out; // offset 0xC, size 0x4 unsigned int avail_out; // offset 0x10, size 0x4 unsigned long total_out; // offset 0x14, size 0x4 char * msg; // offset 0x18, size 0x4 struct internal_state * state; // offset 0x1C, size 0x4 void * (* zalloc)(void *, unsigned int, unsigned int); // offset 0x20, size 0x4 void (* zfree)(void *, void *); // offset 0x24, size 0x4 void * opaque; // offset 0x28, size 0x4 int data_type; // offset 0x2C, size 0x4 unsigned long adler; // offset 0x30, size 0x4 unsigned long reserved; // offset 0x34, size 0x4 }; // Range: 0x80608118 -> 0x80608280 void DecompressMem(int & dstLen /* r30 */) { // Local variables struct z_stream_s s; // r1+0x8 int ret; // r4 // References // -> int (* inflateEndRSO)(struct z_stream_s *); // -> int (* inflateRSO)(struct z_stream_s *, int); // -> class Debug TheDebug; // -> const char * kAssertStr; // -> int (* inflateInit2RSO)(struct z_stream_s *, int); } // Range: 0x80608280 -> 0x806083B8 void CompressMem(int & dstLen /* r30 */) { // Local variables struct z_stream_s s; // r1+0x8 // References // -> int (* deflateEndRSO)(struct z_stream_s *); // -> int (* deflateRSO)(struct z_stream_s *, int); // -> class Debug TheDebug; // -> const char * kAssertStr; // -> int (* deflateInit2RSO)(struct z_stream_s *, int, int, int, int, int); } /* Compile unit: C:\rockband2\system\src\zlib\zlib.inc Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806083B8 -> 0x80608478 */ // Range: 0x806083B8 -> 0x806083C8 static void unresolved_zlibModule() {} // Range: 0x806083C8 -> 0x80608440 static void ResolvedModule_zlibModule(const struct RSOObjectHeader * module /* r28 */) { // Local variables int i; // r29 // References // -> static struct RSOExportFuncTable exp_tbl_zlibModule[6]; } // Range: 0x80608440 -> 0x80608478 static void UnresolvedModule_zlibModule() { // Local variables int i; // r5 // References // -> static struct RSOExportFuncTable exp_tbl_zlibModule[6]; } /* Compile unit: C:\rockband2\system\src\utl\DepChecker.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80608478 -> 0x80608558 */ // Range: 0x80608478 -> 0x806084D8 void * DepChecker::DepChecker(class DepChecker * const this /* r31 */) { // Local variables struct FileStat stat; // r1+0x8 int res; // r0 // References // -> class Archive * TheArchive; } // Range: 0x806084D8 -> 0x80608558 unsigned char DepChecker::NeedsBuild(const class DepChecker * const this /* r31 */) { // Local variables struct FileStat stat; // r1+0x8 int res; // r0 // References // -> class Archive * TheArchive; } /* Compile unit: C:\rockband2\system\src\utl\EncryptXTEA.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80608558 -> 0x806086D8 */ // Range: 0x80608558 -> 0x80608570 void * XTEABlockEncrypter::XTEABlockEncrypter() {} // Range: 0x80608570 -> 0x8060857C void XTEABlockEncrypter::SetKey() {} // Range: 0x8060857C -> 0x806085B0 void XTEABlockEncrypter::SetNonce() {} // Range: 0x806085B0 -> 0x80608658 void XTEABlockEncrypter::Encrypt(class XTEABlockEncrypter * const this /* r27 */) { // Local variables const unsigned long long * in; // r30 unsigned long long * out; // r29 int i; // r28 unsigned long long pat; // r0 } // Range: 0x80608658 -> 0x806086D8 unsigned long long XTEABlockEncrypter::Encipher() { // Local variables unsigned int v0; // r4 unsigned int v1; // r5 unsigned int sum; // r6 int i; // r8 } /* Compile unit: C:\rockband2\system\src\utl\FastDXT.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806086D8 -> 0x80608C6C */ struct PaletteColor { // total size: 0x8 unsigned char color[3]; // offset 0x0, size 0x3 unsigned int weight; // offset 0x4, size 0x4 }; // Range: 0x806086D8 -> 0x806087B8 void FindPaletteColors() { // Local variables struct PaletteColor min; // r1+0x18 struct PaletteColor max; // r1+0x10 struct PaletteColor pixel; // r1+0x8 int iColorIndex; // r11 } // Range: 0x806087B8 -> 0x80608A80 void FitToPalette(unsigned char * pTile /* r21 */, unsigned char * pColor0 /* r22 */, unsigned char * pColor1 /* r23 */, unsigned int & iCompressedIndices /* r24 */) { // Local variables unsigned char pColor2[3]; // r1+0x10 unsigned char pColor3[3]; // r1+0xC unsigned char pColor[3]; // r1+0x8 int iColorIndex; // r26 unsigned int iMinError; // r25 unsigned char iPaletteIndex; // r3 } // Range: 0x80608A80 -> 0x80608B6C void CompressTile(unsigned char * pTile /* r29 */, unsigned int & iDXT1Palette /* r30 */, unsigned int & iDXT1Indices /* r31 */) { // Local variables unsigned char pColorMin[3]; // r1+0xC unsigned char pColorMax[3]; // r1+0x8 unsigned short iColorMin; // r5 unsigned short iColorMax; // r0 } // Range: 0x80608B6C -> 0x80608C6C void FastDXT1Compress(class RndBitmap & src /* r25 */) { // Local variables int kiTileCount; // r30 int iSrcX; // r29 int iSrcY; // r28 unsigned int * pDXT1Palette; // r27 unsigned int iTileIndex; // r26 unsigned char half; // r1+0x8 unsigned char * pTile; // r31 } /* Compile unit: C:\rockband2\system\src\utl\FilePath.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80608C6C -> 0x80608D70 */ class FilePath sRoot; // size: 0xC, address: 0x80989BD4 class FilePath sNull; // size: 0xC, address: 0x80989BEC // Range: 0x80608C6C -> 0x80608CD0 void FilePath::Set(class FilePath * const this /* r31 */) {} // Range: 0x80608CD0 -> 0x80608D70 static void __sinit_\FilePath_cpp() { // References // -> class FilePath sNull; // -> struct [anonymous] __vt__8FilePath; // -> class FilePath sRoot; } /* Compile unit: C:\rockband2\system\src\utl\FileStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80608D70 -> 0x8060944C */ // Range: 0x80608D70 -> 0x80608E38 void * FileStream::FileStream(class FileStream * const this /* r29 */, const char * file /* r30 */, enum FileType t /* r31 */) { // Local variables int mode; // r31 // References // -> struct [anonymous] __vt__10FileStream; } // Range: 0x80608E38 -> 0x80608EA0 void * FileStream::FileStream(class FileStream * const this /* r30 */, class File * file /* r31 */) { // References // -> struct [anonymous] __vt__10FileStream; } // Range: 0x80608EA0 -> 0x80608F58 void * FileStream::~FileStream(class FileStream * const this /* r30 */) { // References // -> struct [anonymous] __vt__10FileStream; } // Range: 0x80608F58 -> 0x80608FE4 void FileStream::ReadImpl(class FileStream * const this /* r29 */, void * data /* r30 */, int bytes /* r31 */) {} // Range: 0x80608FE4 -> 0x8060903C void FileStream::WriteImpl(class FileStream * const this /* r30 */, int bytes /* r31 */) {} // Range: 0x8060903C -> 0x806090B0 void FileStream::Flush(class FileStream * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806090B0 -> 0x80609178 void FileStream::SeekImpl(class FileStream * const this /* r29 */, int offset /* r30 */, enum SeekType t /* r31 */) { // Local variables int d[3]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80609178 -> 0x806091EC int FileStream::Tell(class FileStream * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806091EC -> 0x80609260 unsigned char FileStream::Eof(class FileStream * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80609260 -> 0x80609268 unsigned char FileStream::Fail() {} // Range: 0x80609268 -> 0x806092C8 void FileStream::DeleteChecksum(class FileStream * const this /* r30 */) {} // Range: 0x806092C8 -> 0x8060935C void FileStream::StartChecksum(class FileStream * const this /* r30 */) {} // Range: 0x8060935C -> 0x8060944C unsigned char FileStream::ValidateChecksum(class FileStream * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x2C } __vt__10FileStream; // size: 0x2C, address: 0x8092C13C struct { // total size: 0x8 } __RTTI__10FileStream; // size: 0x8, address: 0x8092C180 /* Compile unit: C:\rockband2\system\src\utl\FileStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060944C -> 0x80609454 */ // Range: 0x8060944C -> 0x80609454 char * FileStream::Name() {} /* Compile unit: C:\rockband2\system\src\utl\GlitchReport.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80609454 -> 0x8060A408 */ class DataArray * types; // size: 0x4, address: 0x80A55420 // Range: 0x80609454 -> 0x806094D0 void * GlitchReport::GlitchReport(class GlitchReport * const this /* r30 */) { // References // -> struct [anonymous] __vt__12GlitchReport; } // Range: 0x806094D0 -> 0x806096B0 void * GlitchReport::~GlitchReport(class GlitchReport * const this /* r30 */) {} // Range: 0x806096B0 -> 0x80609804 void GlitchReport::AddGlitch(class GlitchReport * const this /* r31 */) { // Local variables float glitchMs; // f2 const class SongPos & p; // r0 int i; // r6 struct Glitch * g; // r30 int j; // r7 // References // -> class TaskMgr TheTaskMgr; } // Range: 0x80609804 -> 0x806099C4 unsigned char GlitchReport::Poll(class GlitchReport * const this /* r31 */) { // Local variables float frameMs; // f0 // References // -> class Rnd & TheRnd; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x806099C4 -> 0x80609B9C void GlitchReport::AddGlitchEvent(class GlitchReport * const this /* r28 */, const class String & s /* r29 */) { // Local variables int i; // r30 struct GlitchEvent ge; // r1+0x10 int count; // r31 int i; // r30 struct Glitch * g; // r27 int j; // r26 } // Range: 0x80609B9C -> 0x80609D58 void GlitchReport::ProcessGlitch(struct Glitch * g /* r28 */) { // Local variables int i; // r31 class String & s; // r30 int j; // r29 char buffer[256]; // r1+0x18 char * dest; // r4 char last; // r5 const char * c; // r6 char cur; // r3 } // Range: 0x80609D58 -> 0x80609F0C void GlitchReport::ProcessReport(class GlitchReport * const this /* r30 */) { // Local variables int i; // r28 struct Glitch * g; // r4 int i; // r31 struct Glitch * g; // r28 int j; // r29 } struct _OKToMemCpy { // total size: 0x1 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x80609F0C -> 0x80609F1C void GlitchReport::StopReport() {} static class Symbol _s; // size: 0x4, address: 0x80A55428 static class Symbol _s; // size: 0x4, address: 0x80A55430 // Range: 0x80609F1C -> 0x8060A408 class DataNode GlitchReport::Handle(class GlitchReport * const this /* r28 */, class DataArray * _msg /* r29 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x30 class MessageTimer _mt; // r1+0x50 class String s; // r1+0x40 class DataNode _n; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x54 } __vt__12GlitchReport; // size: 0x54, address: 0x8092C280 struct { // total size: 0x8 } __RTTI__PQ212GlitchReport11GlitchEvent; // size: 0x8, address: 0x8092C350 struct { // total size: 0x8 } __RTTI__PPQ212GlitchReport6Glitch; // size: 0x8, address: 0x8092C388 struct _OKToMemCpy { // total size: 0x1 }; /* Compile unit: C:\rockband2\system\src\utl\GlitchReport.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060A408 -> 0x8060ABFC */ // Range: 0x8060A408 -> 0x8060A6C8 void GlitchReport::SetTypeDef(class GlitchReport * const this /* r28 */) { // Local variables int i; // r27 } // Range: 0x8060A6C8 -> 0x8060A830 void GlitchReport::RunSession(class GlitchReport * const this /* r31 */) { // Local variables class Message start; // r1+0x20 // References // -> struct [anonymous] __vt__7Message; } // Range: 0x8060A830 -> 0x8060A948 void GlitchReport::PrintReport(class GlitchReport * const this /* r30 */, class TextStream & t /* r31 */) { // Local variables int i; // r27 int i; // r27 } // Range: 0x8060A948 -> 0x8060AA38 void GlitchReport::Print(struct Glitch * g /* r27 */, class TextStream & t /* r28 */) { // Local variables int i; // r29 } // Range: 0x8060AA38 -> 0x8060ABB8 void GlitchReport::SetType(class GlitchReport * const this /* r29 */, class Symbol & GlitchReport /* r30 */) { // Local variables class DataArray * def; // r4 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> class DataArray * types; // -> class Symbol name; } // Range: 0x8060ABB8 -> 0x8060ABFC class Symbol GlitchReport::ClassName() { // References // -> class Symbol name; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060ABFC -> 0x8060B384 */ // Range: 0x8060ABFC -> 0x8060ACAC void sort(struct GlitchEvent * __first /* r29 */, struct GlitchEvent * __last /* r30 */) {} // Range: 0x8060ACAC -> 0x8060AD4C void __final_insertion_sort(struct GlitchEvent * __first /* r29 */, struct GlitchEvent * __last /* r30 */, struct less & __comp /* r31 */) {} // Range: 0x8060AD4C -> 0x8060ADD8 void __unguarded_insertion_sort_aux(struct GlitchEvent * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables struct GlitchEvent * __i; // r31 } // Range: 0x8060ADD8 -> 0x8060AE54 void __unguarded_linear_insert(struct GlitchEvent & __val /* r30 */) { // Local variables struct GlitchEvent * __next; // r31 } // Range: 0x8060AE54 -> 0x8060AEF8 void __insertion_sort(struct GlitchEvent * __first /* r28 */, struct GlitchEvent * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables struct GlitchEvent * __i; // r31 } // Range: 0x8060AEF8 -> 0x8060AFE8 void __linear_insert(struct GlitchEvent * __first /* r27 */, struct GlitchEvent * __last /* r28 */, struct GlitchEvent & __val /* r29 */, struct less & __comp /* r30 */) {} // Range: 0x8060AFE8 -> 0x8060B160 void __introsort_loop(struct GlitchEvent * __first /* r28 */, struct GlitchEvent * __last /* r29 */, long __depth_limit /* r30 */, struct less & __comp /* r31 */) { // Local variables struct GlitchEvent * __cut; // r27 } // Range: 0x8060B160 -> 0x8060B25C struct GlitchEvent * __unguarded_partition(struct GlitchEvent * __first /* r29 */, struct GlitchEvent * __last /* r30 */, struct GlitchEvent & __pivot /* r31 */) {} // Range: 0x8060B25C -> 0x8060B28C void partial_sort() {} // Range: 0x8060B28C -> 0x8060B384 void __partial_sort(struct GlitchEvent * __first /* r27 */, struct GlitchEvent * __middle /* r28 */, struct GlitchEvent * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables struct GlitchEvent * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060B384 -> 0x8060B3CC */ // Range: 0x8060B384 -> 0x8060B39C struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8060B39C -> 0x8060B3B4 struct __true_type _OKToSwap::_Answer() {} // Range: 0x8060B3B4 -> 0x8060B3CC struct __true_type _OKToMemCpy::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060B3CC -> 0x8060B3E0 */ // Range: 0x8060B3CC -> 0x8060B3E0 struct less __less() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060B3E0 -> 0x8060B720 */ // Range: 0x8060B3E0 -> 0x8060B464 void pop_heap(struct GlitchEvent * __first /* r30 */, struct GlitchEvent * __last /* r31 */) {} // Range: 0x8060B464 -> 0x8060B58C void __adjust_heap(struct GlitchEvent * __first /* r27 */, long __holeIndex /* r25 */, long __len /* r26 */, struct GlitchEvent & __val /* r28 */, struct less & __comp /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x8060B58C -> 0x8060B660 void __push_heap(struct GlitchEvent * __first /* r28 */, long __topIndex /* r29 */, struct GlitchEvent & __val /* r30 */) { // Local variables long __parent; // r31 } // Range: 0x8060B660 -> 0x8060B720 void make_heap(struct GlitchEvent * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060B720 -> 0x8060B7CC */ // Range: 0x8060B720 -> 0x8060B7CC void __pop_heap(struct GlitchEvent * __first /* r28 */, struct GlitchEvent * __last /* r29 */, struct GlitchEvent & __val /* r30 */, struct less & __comp /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060B7CC -> 0x8060B8DC */ // Range: 0x8060B7CC -> 0x8060B82C char * MakeString(const char * fmt /* r0 */, float t1 /* f31 */, class String & t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8060B82C -> 0x8060B8DC char * MakeString(const char * fmt /* r0 */, float t1 /* f30 */, float t2 /* f31 */, class String & t3 /* r28 */, int t4 /* r29 */, int t5 /* r30 */, int t6 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060B8DC -> 0x8060BE4C */ // Range: 0x8060B8DC -> 0x8060BAF4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct GlitchEvent * __pos /* r26 */, const struct GlitchEvent & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct GlitchEvent * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ212GlitchReport11GlitchEvent; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8060BAF4 -> 0x8060BB60 void vector::_M_fill_insert() {} // Range: 0x8060BB60 -> 0x8060BC98 void vector::_M_insert_overflow(class vector * const this /* r27 */, struct Glitch * * __pos /* r28 */, struct Glitch * const & __x /* r29 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r30 */) { // Local variables unsigned long __old_size; // r1+0x10 unsigned long __len; // r31 struct Glitch * * __new_finish; // r24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PPQ212GlitchReport6Glitch; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8060BC98 -> 0x8060BE4C void vector::_M_fill_insert_aux(class vector * const this /* r28 */, struct Glitch * * __pos /* r29 */, unsigned long __n /* r25 */, struct Glitch * const & __x /* r30 */) { // Local variables struct Glitch * __x_copy; // r1+0x2C unsigned long __elems_after; // r26 } /* Compile unit: C:\rockband2\system\src\utl\HttpWii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060BE4C -> 0x8060C8C4 */ class HttpWii TheHttpWii; // size: 0x290, address: 0x80989C08 static char * const table[16]; // size: 0x40, address: 0x8084FF88 // Range: 0x8060BE4C -> 0x8060BEBC char * HttpWii::GetNHTTPErrorString() { // Local variables const char * system_error; // r0 // References // -> static char * const table[16]; } // Range: 0x8060BEBC -> 0x8060BF0C void * HttpWii::HttpWii(class HttpWii * const this /* r30 */) {} // Range: 0x8060BF0C -> 0x8060BF4C void * HttpWii::~HttpWii(class HttpWii * const this /* r31 */) {} static class Symbol default_server; // size: 0x4, address: 0x80A5543C // Range: 0x8060BF4C -> 0x8060C2DC void HttpWii::Init(class HttpWii * const this /* r31 */) { // Local variables class Symbol servertype; // r1+0x2C class DataArray * netcache; // r0 class String serverSSLPath1; // r1+0x54 class String serverSSLPath2; // r1+0x48 class File * f; // r27 class File * f2; // r26 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> static class Symbol default_server; } // Range: 0x8060C2DC -> 0x8060C320 void HttpWii::Terminate(class HttpWii * const this /* r31 */) {} // Range: 0x8060C320 -> 0x8060C4C8 int HttpWii::GetFileAsync(class HttpWii * const this /* r25 */, const char * path /* r26 */, void * buffer /* r27 */, int bufSize /* r28 */) { // Local variables int retVal; // r0 int next; // r31 // References // -> class Debug TheDebug; // -> class PlatformMgr ThePlatformMgr; } // Range: 0x8060C4C8 -> 0x8060C7FC int HttpWii::CompleteAsync(class HttpWii * const this /* r28 */, int num /* r29 */, unsigned long & size /* r31 */) { // Local variables void * handle; // r24 unsigned long received; // r1+0x10 unsigned long contentLength; // r1+0xC enum NHTTPConnectionStatus status; // r23 enum NHTTPError error; // r22 int code; // r0 int ssl; // r0 float percentage; // f0 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> class PlatformMgr ThePlatformMgr; // -> class Debug TheDebug; } // Range: 0x8060C7FC -> 0x8060C87C unsigned char HttpWii::CancelAsync() { // Local variables enum NHTTPError error; // r4 // References // -> class Debug TheDebug; } // Range: 0x8060C87C -> 0x8060C8C4 static void __sinit_\HttpWii_cpp() { // References // -> class HttpWii TheHttpWii; } /* Compile unit: C:\rockband2\system\src\utl\HxGuid.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060C8C4 -> 0x8060CE10 */ // Range: 0x8060C8C4 -> 0x8060C8F4 void * HxGuid::HxGuid(class HxGuid * const this /* r31 */) {} // Range: 0x8060C8F4 -> 0x8060C980 void HxGuid::Generate(class HxGuid * const this /* r31 */) { // References // -> class Debug TheDebug; } // Range: 0x8060C980 -> 0x8060C998 void HxGuid::Clear() {} // Range: 0x8060C998 -> 0x8060C9D8 unsigned char HxGuid::IsNull() {} // Range: 0x8060C9D8 -> 0x8060CA60 int HxGuid::Chunk32(const class HxGuid * const this /* r30 */, int i /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060CA60 -> 0x8060CAF4 void HxGuid::SetChunk32(class HxGuid * const this /* r29 */, int i /* r30 */, int value /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060CAF4 -> 0x8060CC18 class HxGuid & HxGuid::__as(class HxGuid * const this /* r26 */, class String & hex /* r27 */) { // Local variables int n; // r31 class String chunk; // r1+0x8 unsigned int total; // r30 unsigned int base; // r29 int m; // r28 char value; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060CC18 -> 0x8060CC68 unsigned char HxGuid::__eq() {} // Range: 0x8060CC68 -> 0x8060CC90 unsigned char HxGuid::__ne() {} // Range: 0x8060CC90 -> 0x8060CC94 int * HxGuid::Data() {} // Range: 0x8060CC94 -> 0x8060CCA8 void HxGuid::SetData() {} // Range: 0x8060CCA8 -> 0x8060CD54 class BinStream & __ls(class BinStream & s /* r30 */, const class HxGuid & guid /* r31 */) {} // Range: 0x8060CD54 -> 0x8060CE10 class BinStream & __rs(class BinStream & s /* r30 */, class HxGuid & guid /* r31 */) { // Local variables int rev; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\Hyphenator.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060CE10 -> 0x8060DE4C */ class Hyphenator TheHyphenator; // size: 0x20, address: 0x80989EA8 // Range: 0x8060CE10 -> 0x8060CE74 unsigned char hy_isspace() { // References // -> struct __locale _current_locale; } // Range: 0x8060CE74 -> 0x8060CED8 unsigned char hy_ispunct() { // References // -> struct __locale _current_locale; } // Range: 0x8060CED8 -> 0x8060CFE0 void ValidateHyphenation(const char * str /* r28 */) { // Local variables int points[30]; // r1+0x8 char verify[1024]; // r1+0x80 char * pver; // r31 int idx; // r30 int pIdx; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060CFE0 -> 0x8060CFE8 int compareHyphenatorPatterns() {} // Range: 0x8060CFE8 -> 0x8060CFF8 int compareHyphenatorExceptions() {} // Range: 0x8060CFF8 -> 0x8060D380 void Hyphenator::Init(class Hyphenator * const this /* r28 */) { // Local variables const class DataArray * config; // r29 const class DataArray * patterns; // r30 int i; // r29 const class DataArray * exceptions; // r29 int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060D380 -> 0x8060D3E0 void * Hyphenator::~Hyphenator(class Hyphenator * const this /* r30 */) {} // Range: 0x8060D3E0 -> 0x8060D610 unsigned char Hyphenator::Hyphenate(class Hyphenator * const this /* r29 */, const char * text /* r30 */, int * points /* r31 */, int maxHyphens /* r24 */, int minLength /* r25 */, int minPrefix /* r26 */, int minSuffix /* r27 */) { // Local variables struct HyphenationState state; // r1+0x8 int offset; // r28 int len; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060D610 -> 0x8060DB0C unsigned char Hyphenator::HyphenateWord(class Hyphenator * const this /* r26 */, int offset /* r27 */, int length /* r28 */, struct HyphenationState & state /* r29 */) { // Local variables char tmp[256]; // r1+0x30 int i; // r5 class HyphenatorException key; // r1+0x8 class HyphenatorException * exc; // r0 const signed char * hyp; // r6 int points[256]; // r1+0x130 int i; // r5 class HyphenatorPattern testPat; // r1+0x18 int maxPatLen; // r0 int sIdx; // r25 int i; // r30 int i; // r25 int suffixLen; // r30 int i; // r31 int j; // r30 int count; // r7 int i; // r8 int i; // r5 int i; // r5 int idx; // r0 int i; // r6 // References // -> struct __locale _current_locale; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060DB0C -> 0x8060DBF4 unsigned char Hyphenator::ConsiderPattern(class Hyphenator * const this /* r7 */, int * points /* r30 */, int offset /* r31 */) { // Local variables class HyphenatorPattern * pat; // r3 const char * str; // r3 const signed char * thr; // r5 int len; // r6 int i; // r7 } // Range: 0x8060DBF4 -> 0x8060DCE4 void * HyphenatorException::HyphenatorException(class HyphenatorException * const this /* r31 */) { // Local variables int strIdx; // r7 int hypIdx; // r8 int idx; // r9 char tmp[256]; // r1+0x10 // References // -> struct __locale _current_locale; // -> const char * gNullStr; } // Range: 0x8060DCE4 -> 0x8060DDC4 void * HyphenatorPattern::HyphenatorPattern() { // Local variables int idx; // r8 // References // -> struct __locale _current_locale; } // Range: 0x8060DDC4 -> 0x8060DE20 unsigned char Hyphenate(const char * text /* r31 */, int * points /* r12 */, int maxHyphens /* r11 */, int maxLength /* r10 */, int maxPrefix /* r0 */) { // References // -> class Hyphenator TheHyphenator; } // Range: 0x8060DE20 -> 0x8060DE4C static void __sinit_\Hyphenator_cpp() { // References // -> class Hyphenator TheHyphenator; } /* Compile unit: C:\rockband2\system\src\utl\Hyphenator.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060DE4C -> 0x8060DE58 */ // Range: 0x8060DE4C -> 0x8060DE58 void * HyphenatorException::HyphenatorException() { // References // -> const char * gNullStr; } /* Compile unit: C:\rockband2\system\src\utl\IntPacker.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060DE58 -> 0x8060DFE0 */ // Range: 0x8060DE58 -> 0x8060DEA0 void * IntPacker::IntPacker(class IntPacker * const this /* r31 */) {} // Range: 0x8060DEA0 -> 0x8060DEA8 void IntPacker::AddBool() {} // Range: 0x8060DEA8 -> 0x8060DF34 void IntPacker::AddU(class IntPacker * const this /* r29 */, unsigned int num /* r30 */, unsigned int bits /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060DF34 -> 0x8060DFD8 void IntPacker::Add() { // Local variables unsigned int b; // r11 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060DFD8 -> 0x8060DFE0 void IntPacker::SetPos() {} /* Compile unit: C:\rockband2\system\src\utl\Loader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060DFE0 -> 0x8060EFD4 */ class LoadMgr TheLoadMgr; // size: 0x60, address: 0x80989ED8 // Range: 0x8060DFE0 -> 0x8060E080 void * LoadMgr::LoadMgr(class LoadMgr * const this /* r31 */) {} struct pair { // total size: 0x10 class String first; // offset 0x0, size 0xC class Loader * (* second)(class FilePath &, enum LoaderPos); // offset 0xC, size 0x4 }; class _List_node : public _List_node_base { // total size: 0x18 public: struct pair _M_data; // offset 0x8, size 0x10 }; static class DataNode & edit_mode; // size: 0x4, address: 0x80A55444 // Range: 0x8060E080 -> 0x8060E124 void LoadMgr::SetEditMode(class LoadMgr * const this /* r31 */) { // References // -> static class DataNode & edit_mode; } static class DataNode & cache_mode; // size: 0x4, address: 0x80A5544C // Range: 0x8060E124 -> 0x8060E1C8 void LoadMgr::SetCacheMode(class LoadMgr * const this /* r31 */) { // References // -> static class DataNode & cache_mode; } // Range: 0x8060E1C8 -> 0x8060E238 static class DataNode OnSetCacheMode(class DataArray * a /* r31 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8060E238 -> 0x8060E2A8 static class DataNode OnSetEditMode(class DataArray * a /* r31 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8060E2A8 -> 0x8060E30C static class DataNode OnSetLoaderPeriod(class DataArray * a /* r31 */) { // References // -> class LoadMgr TheLoadMgr; } // Range: 0x8060E30C -> 0x8060E3C8 void LoadMgr::Init(class LoadMgr * const this /* r30 */) { // References // -> class Archive * TheArchive; } // Range: 0x8060E3C8 -> 0x8060E508 class Loader * LoadMgr::GetLoader(class LoadMgr * const this /* r27 */, const class FilePath & file /* r28 */, unsigned char force /* r29 */) { // Local variables class Loader * l; // r30 struct _List_iterator i; // r1+0x10 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__8FilePath; // -> class LoadMgr TheLoadMgr; } struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8060E508 -> 0x8060E68C class Loader * LoadMgr::AddLoader(class LoadMgr * const this /* r29 */, const class FilePath & file /* r30 */, enum LoaderPos pos /* r31 */) { // Local variables const char * ext; // r27 struct _List_iterator i; // r1+0x10 // References // -> class Debug TheDebug; } // Range: 0x8060E68C -> 0x8060E774 void LoadMgr::PollUntilLoaded(class LoadMgr * const this /* r31 */, class Loader * l /* r1+0x8 */) { // Local variables float period; // f31 } // Range: 0x8060E774 -> 0x8060E7DC char * LoadMgr::CachedPath(const char * file /* r30 */) {} static char * names[3]; // size: 0xC, address: 0x8092CC00 static char * abbrevs[4]; // size: 0x10, address: 0x8092CC10 // Range: 0x8060E7DC -> 0x8060E950 void LoadMgr::Poll(class LoadMgr * const this /* r31 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x8060E950 -> 0x8060EA1C void LoadMgr::RegisterFactory(class LoadMgr * const this /* r31 */, class Loader * (* fact)(class FilePath &, enum LoaderPos) /* r30 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std75_List_node>; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std75_List_node>; // size: 0x8, address: 0x8092CCB0 // Range: 0x8060EA1C -> 0x8060EC44 void * Loader::Loader(class Loader * const this /* r31 */) { // Local variables struct _List_iterator it; // r1+0x20 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node; // -> unsigned char gStlAllocNameLookup; // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__8FilePath; // -> struct [anonymous] __vt__6Loader; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std20_List_node; // size: 0x8, address: 0x8092CCE0 // Range: 0x8060EC44 -> 0x8060ED98 void * Loader::~Loader(class Loader * const this /* r30 */) { // References // -> class LoadMgr TheLoadMgr; // -> struct [anonymous] __vt__6Loader; } // Range: 0x8060ED98 -> 0x8060EE3C void * FileLoader::~FileLoader(class FileLoader * const this /* r30 */) { // References // -> struct [anonymous] __vt__10FileLoader; } // Range: 0x8060EE3C -> 0x8060EE44 int FileLoader::GetSize() {} // Range: 0x8060EE44 -> 0x8060EE54 unsigned char FileLoader::IsLoaded() {} // Range: 0x8060EE54 -> 0x8060EF08 void FileLoader::PollLoading(class FileLoader * const this /* r30 */) { // Local variables int bytes; // r1+0x8 } struct { // total size: 0x14 } __vt__10FileLoader; // size: 0x14, address: 0x8092CDEC struct { // total size: 0x14 } __vt__6Loader; // size: 0x14, address: 0x8092CE20 // Range: 0x8060EF08 -> 0x8060EF50 static void __sinit_\Loader_cpp() { // References // -> class LoadMgr TheLoadMgr; } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060EFD4 -> 0x8060F31C */ // Range: 0x8060EFD4 -> 0x8060F288 void * FileLoader::FileLoader(class FileLoader * const this /* r24 */, const class FilePath & loaderFile /* r28 */, const char * file /* r25 */, int flags /* r27 */, unsigned char temp /* r26 */) { // Local variables char buffer[256]; // r1+0x8 const char * ext; // r30 unsigned char bmp; // r29 unsigned char wav; // r28 unsigned char png; // r27 unsigned char ipu; // r26 // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__10FileLoader; } // Range: 0x8060F288 -> 0x8060F31C char * FileLoader::GetBuffer(class FileLoader * const this /* r30 */, int * size /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\Std.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060F31C -> 0x8060F37C */ // Range: 0x8060F31C -> 0x8060F37C unsigned char ListFind() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060F37C -> 0x8060F3EC */ // Range: 0x8060F37C -> 0x8060F3EC struct _List_iterator find() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060F3EC -> 0x8060F4CC */ // Range: 0x8060F3EC -> 0x8060F46C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } // Range: 0x8060F46C -> 0x8060F4CC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } /* Compile unit: C:\rockband2\system\src\utl\Locale.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060F4CC -> 0x8060FDF0 */ const char * sIgnoreMissingText; // size: 0x4, address: 0x80A55450 unsigned char sVerboseNotify; // size: 0x1, address: 0x80A55454 struct BootLocaleEntry { // total size: 0x8 const char * name; // offset 0x0, size 0x4 const char * value; // offset 0x4, size 0x4 }; struct BootLocaleEntry gBootLocaleTable[1]; // size: 0x8, address: 0x8092CF38 class Locale TheLocale; // size: 0x18, address: 0x80989F38 // Range: 0x8060F4CC -> 0x8060FB48 void Locale::Init(class Locale * const this /* r23 */) { // Local variables const class DataArray * filelist; // r30 class vector tables; // r1+0x48 int size; // r29 int idx; // r28 const char * filename; // r26 class DataArray * ordered_table; // r27 class DataArray * array; // r26 class DataArray * lastArray; // [invalid] int i; // r25 class DataArray * n; // r24 int string_size; // r25 int i; // r26 int i; // r25 // References // -> class Hyphenator TheHyphenator; // -> const char * gNullStr; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PP9DataArray; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060FB48 -> 0x8060FBEC void Sort(class DataArray * arr /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8060FBEC -> 0x8060FC5C void Locale::Terminate(class Locale * const this /* r30 */) { // References // -> const char * gNullStr; } static char text[50]; // size: 0x32, address: 0x80989F50 // Range: 0x8060FC5C -> 0x8060FDC4 char * LocalizeSeparatedInt(int num /* r27 */) { // Local variables const char * sepStr; // r3 char sep; // r31 int offset; // r30 unsigned char less_than_zero; // r29 char digit[2]; // r1+0x8 int place; // r28 // References // -> static char text[50]; // -> class Locale TheLocale; } // Range: 0x8060FDC4 -> 0x8060FDF0 static void __sinit_\Locale_cpp() { // References // -> const char * gNullStr; // -> class Locale TheLocale; } /* Compile unit: C:\rockband2\system\src\utl\LocaleChunkSort.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060FDF0 -> 0x8060FE30 */ // Range: 0x8060FDF0 -> 0x8060FE30 static int FastSort() { // Local variables const class DataNode * anode; // r0 const class DataNode * bnode; // r0 int i; // r6 } /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8060FE30 -> 0x8061004C */ // Range: 0x8060FE30 -> 0x8060FEFC char * Locale::Localize(const class Locale * const this /* r29 */, class Symbol & token /* r30 */, unsigned char fail /* r31 */) { // Local variables int idx; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; } // Range: 0x8060FEFC -> 0x8060FFA0 unsigned char Locale::FindDataIndex(const class Locale * const this /* r11 */) { // Local variables int tag; // r0 int lo; // r8 int hi; // r9 int mid; // r10 // References // -> class Debug TheDebug; } // Range: 0x8060FFA0 -> 0x8061004C char * Localize(class Symbol & token /* r29 */, unsigned char notify /* r30 */) { // Local variables const char * textStr; // r31 // References // -> class Debug TheDebug; // -> unsigned char sVerboseNotify; // -> const char * sIgnoreMissingText; // -> class Locale TheLocale; } /* Compile unit: C:\rockband2\system\src\utl\LocaleOrdinal.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061004C -> 0x806103E4 */ static char text[255]; // size: 0xFF, address: 0x80989F88 enum LocaleGender { LocaleGenderMasculine = 0, LocaleGenderFeminine = 1, }; enum LocaleNumber { LocaleSingular = 0, LocalePlural = 1, }; // Range: 0x8061004C -> 0x806103E4 char * LocalizeOrdinal(enum LocaleGender gender /* r28 */, enum LocaleNumber number /* r29 */) { // Local variables int len; // r0 // References // -> class Debug TheDebug; // -> const char * gNullStr; // -> static char text[255]; } /* Compile unit: C:\rockband2\system\src\utl\LogFile.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806103E4 -> 0x806105A0 */ // Range: 0x806103E4 -> 0x8061044C void * LogFile::LogFile(class LogFile * const this /* r30 */, const char * file_pattern /* r31 */) { // References // -> struct [anonymous] __vt__7LogFile; } // Range: 0x8061044C -> 0x80610450 void LogFile::Reset() {} // Range: 0x80610450 -> 0x806104D0 void LogFile::Print(class LogFile * const this /* r30 */, const char * str /* r31 */) {} // Range: 0x806104D0 -> 0x806105A0 void LogFile::AdvanceFile(class LogFile * const this /* r30 */) { // Local variables struct FileStat stat; // r1+0x8 const char * filename; // r31 } struct { // total size: 0x10 } __vt__7LogFile; // size: 0x10, address: 0x8092D128 struct { // total size: 0x8 } __RTTI__7LogFile; // size: 0x8, address: 0x8092D150 /* Compile unit: C:\rockband2\system\src\utl\MakeString.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806105A0 -> 0x80611750 */ static class CriticalSection * gLock; // size: 0x4, address: 0x80A55458 static char * * * gBuf; // size: 0x4, address: 0x80A5545C static int gNum[1]; // size: 0x4, address: 0x80A55460 static struct OSThread * gThreadIds[1]; // size: 0x4, address: 0x80A55464 static int gCurThread; // size: 0x4, address: 0x80A55468 static int gNumThreads; // size: 0x4, address: 0x80A5546C // Range: 0x806105A0 -> 0x806107C8 static char * NextBuf() { // Local variables class CritSecTracker __cst; // r1+0x8 int i; // r29 int j; // r28 int cur; // r28 char * buf; // r28 // References // -> static int gNum[1]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gCurThread; // -> static struct OSThread * gThreadIds[1]; // -> static int gNumThreads; // -> static char * * * gBuf; // -> static class CriticalSection * gLock; } // Range: 0x806107C8 -> 0x8061084C void TerminateMakeString() { // Local variables int i; // r31 int j; // r30 // References // -> static char * * * gBuf; } // Range: 0x8061084C -> 0x8061091C void * FormatString::FormatString(class FormatString * const this /* r30 */, const char * fmt /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } enum /* @enum$6182MakeString_cpp */ { kInit = 0, kUnknown = 1, kKnown = 2, }; // Range: 0x8061091C -> 0x80610A48 void FormatString::UpdateType(class FormatString * const this /* r29 */) { // Local variables enum /* @enum$6182MakeString_cpp */ { kInit = 0, kUnknown = 1, kKnown = 2, } state; // r31 char * i; // r30 // References // -> class Debug TheDebug; } // Range: 0x80610A48 -> 0x80610B3C class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, void * i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80610B3C -> 0x80610C30 class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, unsigned int i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80610C30 -> 0x80610D24 class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, unsigned long i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80610D24 -> 0x80610E18 class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, long i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80610E18 -> 0x80610F04 class FormatString & FormatString::__ls(class FormatString * const this /* r27 */, unsigned long long i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80610F04 -> 0x80610FF0 class FormatString & FormatString::__ls(class FormatString * const this /* r27 */, long long i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80610FF0 -> 0x806110E4 class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, int i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x806110E4 -> 0x80611268 class FormatString & FormatString::__ls(class FormatString * const this /* r31 */) { // Local variables char c; // r28 int n; // r29 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80611268 -> 0x806113A8 class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, const char * i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x806113A8 -> 0x806114A4 class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, float i /* f31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x806114A4 -> 0x80611598 class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, const class String & i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80611598 -> 0x8061168C class FormatString & FormatString::__ls(class FormatString * const this /* r28 */, class Symbol & i /* r31 */) { // Local variables char c; // r29 int n; // r0 // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x8061168C -> 0x80611750 char * FormatString::Str(class FormatString * const this /* r30 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\MBT.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80611750 -> 0x806117BC */ // Range: 0x80611750 -> 0x806117BC char * TickFormat(int tick /* r0 */) { // Local variables int m; // r1+0x10 int b; // r1+0xC int t; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\MeasureMap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806117BC -> 0x80611C38 */ // Range: 0x806117BC -> 0x80611878 void * MeasureMap::MeasureMap(class MeasureMap * const this /* r31 */) { // Local variables class TimeSigChange sig; // r1+0x10 } // Range: 0x80611878 -> 0x8061191C int MeasureMap::MeasureBeatTickToTick(const class MeasureMap * const this /* r29 */, int measure /* r1+0x8 */, int beat /* r30 */, int tick /* r31 */) { // Local variables const class TimeSigChange * it; // r3 } // Range: 0x8061191C -> 0x80611940 void MeasureMap::TickToMeasureBeatTick() { // Local variables int unused; // r1+0x8 } // Range: 0x80611940 -> 0x80611A28 void MeasureMap::TickToMeasureBeatTick(const class MeasureMap * const this /* r27 */, int tick /* r1+0x8 */, int & oMeasure /* r28 */, int & oBeat /* r29 */, int & oTick /* r30 */, int & oBeatsPerMeasure /* r31 */) { // Local variables const class TimeSigChange * it; // r3 int ticks_per_measure; // r6 int ticks_passed; // r7 int measures_passed; // r8 int beats_passed; // r4 } // Range: 0x80611A28 -> 0x80611C00 void MeasureMap::AddTimeSignature(class MeasureMap * const this /* r29 */, int measure /* r26 */, int num /* r30 */, int denom /* r31 */) { // Local variables class TimeSigChange sig; // r1+0x30 int measures_passed; // r27 int this_tick; // r0 class TimeSigChange this_sig; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80611C00 -> 0x80611C1C unsigned char MeasureMap::CompareTick() {} // Range: 0x80611C1C -> 0x80611C38 unsigned char MeasureMap::CompareMeasure() {} struct { // total size: 0x8 } __RTTI__PQ210MeasureMap13TimeSigChange; // size: 0x8, address: 0x8092D3A8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80611C38 -> 0x80611CC8 */ // Range: 0x80611C38 -> 0x80611CC8 class TimeSigChange * __upper_bound(const class TimeSigChange * __first /* r26 */, const int & __val /* r27 */, unsigned char (* __comp)(class TimeSigChange &) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const class TimeSigChange * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80611CC8 -> 0x80611EF4 */ // Range: 0x80611CC8 -> 0x80611EF4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class TimeSigChange * __pos /* r26 */, const class TimeSigChange & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class TimeSigChange * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ210MeasureMap13TimeSigChange; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\MemMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80611EF4 -> 0x80613FB8 */ static int gTimeStamp; // size: 0x4, address: 0x80A55470 class FreeBlock { // total size: 0xC unsigned int mSizeWords; // offset 0x0, size 0x4 unsigned int mTimeStamp; // offset 0x4, size 0x4 class FreeBlock * mNextBlock; // offset 0x8, size 0x4 }; // Range: 0x80611EF4 -> 0x80611F78 unsigned char FreeBlock::AttemptMerge() {} static class Heap gHeaps[16]; // size: 0x200, address: 0x8098A088 static int gNumHeaps; // size: 0x4, address: 0x80A55474 static int gHeapStack[16]; // size: 0x40, address: 0x8098A288 static int gHeapStackSize; // size: 0x4, address: 0x80A55478 static int gCheckConsistency; // size: 0x4, address: 0x80A5547C static unsigned char gInsideMemFunc; // size: 0x1, address: 0x80A55480 unsigned char gStlAllocNameLookup; // size: 0x1, address: 0x80A55481 const char * gStlAllocName; // size: 0x4, address: 0x80A47B40 class CriticalSection * gMemLock; // size: 0x4, address: 0x80A55484 // Range: 0x80611F78 -> 0x80611FEC int GetCurrentHeapNum() { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> static int gHeapStack[16]; // -> static int gHeapStackSize; // -> class CriticalSection * gMemLock; } // Range: 0x80611FEC -> 0x806120B0 void MemFreeBlockStats(int heapNum /* r28 */, int & num /* r29 */, int & bytes /* r30 */, int & largest /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> static class Heap gHeaps[16]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class CriticalSection * gMemLock; } class AllocBlock { // total size: 0x4 unsigned int mSizeWords : 24; // offset 0x0, size 0x4 unsigned int mPadWords : 4; // offset 0x0, size 0x4 unsigned int mMagicNibble : 4; // offset 0x0, size 0x4 }; class Heap { // total size: 0x20 class FreeBlock * mFreeBlockChain; // offset 0x0, size 0x4 int * mStart; // offset 0x4, size 0x4 const char * mName; // offset 0x8, size 0x4 int mSizeWords; // offset 0xC, size 0x4 int mNum; // offset 0x10, size 0x4 unsigned char mIsHandleHeap; // offset 0x14, size 0x1 int mDebugLevel; // offset 0x18, size 0x4 enum Strategy mStrategy; // offset 0x1C, size 0x4 }; // Range: 0x806120B0 -> 0x80612160 void Heap::InsertFreeBlock(class Heap * const this /* r26 */, class FreeBlock * iBlock /* r27 */, int iSizeWords /* r28 */, class FreeBlock * iPrevBlock /* r29 */, class FreeBlock * iNextBlock /* r30 */, int iTimeStamp /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80612160 -> 0x806121B8 void Heap::FreeBlockStats() { // Local variables class FreeBlock * freeBlock; // r7 int sizeBytes; // r3 } enum Strategy { kFirstFit = 0, kBestFit = 1, kLRUFit = 2, kLastFit = 3, }; // Range: 0x806121B8 -> 0x806122CC void Heap::Init(class Heap * const this /* r24 */, const char * name /* r25 */, int num /* r26 */, int * mem /* r27 */, int sizeWords /* r28 */, unsigned char isHandle /* r29 */, enum Strategy strategy /* r30 */, int debug_level /* r31 */) { // References // -> static int gTimeStamp; // -> class Debug TheDebug; } // Range: 0x806122CC -> 0x80612334 void Heap::FirstFit() { // Local variables class FreeBlock * freeBlock; // r9 class FreeBlock * lastBlock; // r10 } // Range: 0x80612334 -> 0x806123A4 void Heap::BestFit() { // Local variables class FreeBlock * freeBlock; // r9 class FreeBlock * lastBlock; // r10 } // Range: 0x806123A4 -> 0x80612420 void Heap::LRUFit() { // Local variables class FreeBlock * freeBlock; // r9 class FreeBlock * lastBlock; // r10 int best_time; // r11 int timestamp; // r7 } // Range: 0x80612420 -> 0x80612484 void Heap::LastFit() { // Local variables class FreeBlock * freeBlock; // r9 class FreeBlock * lastBlock; // r10 } struct FreeBlockInfo { // total size: 0x10 class FreeBlock * mBlock; // offset 0x0, size 0x4 class FreeBlock * mPrevBlock; // offset 0x4, size 0x4 int mSizeWords; // offset 0x8, size 0x4 int mPadWords; // offset 0xC, size 0x4 }; // Range: 0x80612484 -> 0x80612744 int * Heap::Alloc(class Heap * const this /* r29 */, int iSizeWords /* r30 */, int & oActSize /* r31 */) { // Local variables struct FreeBlockInfo info; // r1+0x18 int num_free; // r1+0x10 int bytes_free; // r1+0xC int largest_block; // r1+0x8 int allocWords; // r27 int leftoverWords; // r5 class AllocBlock * allocBlock; // r6 // References // -> class CriticalSection * gMemLock; // -> static unsigned char gInsideMemFunc; // -> struct OSThread * gMainThreadID; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80612744 -> 0x80612884 int * Heap::Truncate(class Heap * const this /* r29 */, int * iMem /* r30 */, int iSizeWords /* r26 */, int & oActSize /* r31 */) { // Local variables class AllocBlock * allocBlock; // r28 int truncWords; // r27 class FreeBlock * prevFree; // r1+0xC class FreeBlock * nextFree; // r1+0x8 class FreeBlock * freeBlock; // r26 // References // -> static int gTimeStamp; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80612884 -> 0x806128C8 int Heap::AllocSize() { // Local variables class AllocBlock * allocBlock; // r0 } // Range: 0x806128C8 -> 0x806128F8 void Heap::FindFreeNeighbors() { // Local variables class FreeBlock * freeBlock; // r3 class FreeBlock * lastBlock; // r0 } // Range: 0x806128F8 -> 0x80612A0C unsigned char Heap::Free(class Heap * const this /* r31 */) { // Local variables class AllocBlock * allocBlock; // r30 class FreeBlock * prevFree; // r1+0xC class FreeBlock * nextFree; // r1+0x8 class FreeBlock * freeBlock; // r30 // References // -> static int gTimeStamp; } // Range: 0x80612A0C -> 0x80612ACC static void PrintAlloc(class TextStream & iStream /* r29 */, const class AllocInfo * info /* r30 */) {} // Range: 0x80612ACC -> 0x80612D18 void Heap::Print(class Heap * const this /* r29 */, class TextStream & iStream /* r30 */, unsigned char iFreeOnly /* r31 */) { // Local variables class FreeBlock * freeBlock; // r26 int * addr; // r25 int * heapEnd; // r24 int * equalAllocStart; // r23 int equalAllocSize; // r22 int numEqualAllocs; // r21 const class AllocInfo * equalInfo; // r20 int sizeWords; // r19 int bytes; // r5 int * pad; // r3 class AllocBlock * allocBlock; // r0 const class AllocInfo * info; // r18 int bytes; // r17 int num_free; // r1+0x10 int bytes_free; // r1+0xC int largest_block; // r1+0x8 } // Range: 0x80612D18 -> 0x80612DBC void MemPushHeap(int iHeap /* r31 */) { // References // -> static int gHeapStack[16]; // -> static int gHeapStackSize; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gNumHeaps; // -> class CriticalSection * gMemLock; } // Range: 0x80612DBC -> 0x80612E2C void MemPopHeap() { // References // -> class CriticalSection * gMemLock; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gHeapStackSize; } // Range: 0x80612E2C -> 0x80612EC0 void * MemDoTempAllocations::MemDoTempAllocations(class MemDoTempAllocations * const this /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> static class Heap gHeaps[16]; // -> class CriticalSection * gMemLock; } // Range: 0x80612EC0 -> 0x80612FA4 void * MemDoTempAllocations::~MemDoTempAllocations(class MemDoTempAllocations * const this /* r29 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static class Heap gHeaps[16]; // -> class CriticalSection * gMemLock; } // Range: 0x80612FA4 -> 0x806132BC void MemInit() { // Local variables class CritSecTracker __cst; // r1+0x4C unsigned char disable; // r1+0xA unsigned char tracking; // r1+0x9 class DataArray * config; // r27 void * tmp; // r26 class DataArray * heaps; // r25 int i; // r24 int bytes; // r1+0x48 unsigned char handle; // r1+0x8 int region; // r1+0x44 int debug; // r1+0x40 enum Strategy strategy; // r1+0x3C // References // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gNumHeaps; // -> static int gCheckConsistency; // -> class CriticalSection * gMemLock; } // Range: 0x806132BC -> 0x80613414 static void AddHeap(const char * name /* r24 */, int heap /* r25 */, int bytes /* r1+0x8 */, unsigned char handle /* r26 */, enum Strategy strategy /* r27 */, int debug_level /* r28 */) { // Local variables int reqBytes; // r30 char * raw_mem; // r29 int leftover_bytes; // r30 // References // -> static int gNumHeaps; // -> static class Heap gHeaps[16]; // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80613414 -> 0x80613494 static int GetFreeSystemMemory() { // Local variables int left; // r31 int right; // r30 int middle; // r29 void * tmp; // r0 } // Range: 0x80613494 -> 0x80613498 void MemTerminate() {} // Range: 0x80613498 -> 0x80613624 void * MemAlloc(int iSizeBytes /* r30 */, const char * type /* r31 */, int iAlign /* r28 */) { // Local variables class CritSecTracker __cst; // r1+0x10 void * allocated_mem; // r29 int sizeWords; // r4 int wordAlign; // r5 int act_size; // r1+0xC void * allocated_mem; // r28 // References // -> class MemTracker * gMemTracker; // -> static class Heap gHeaps[16]; // -> class CriticalSection * gMemLock; } // Range: 0x80613624 -> 0x806136F0 void * MemAllocTemp(int size /* r29 */, const char * type /* r30 */, int align /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0xC class MemDoTempAllocations tmp; // r1+0x8 // References // -> static int gHeapStackSize; // -> class CriticalSection * gMemLock; } // Range: 0x806136F0 -> 0x806137B4 void MemFree(void * iMem /* r30 */) { // Local variables class CritSecTracker __cst; // r1+0x8 int i; // r31 // References // -> static int gNumHeaps; // -> static class Heap gHeaps[16]; // -> class CriticalSection * gMemLock; } // Range: 0x806137B4 -> 0x806138E0 void * MemTruncate(void * iMem /* r27 */, int iSizeBytes /* r28 */) { // Local variables class CritSecTracker __cst; // r1+0xC int sizeWords; // r31 int actSize; // r1+0x8 int * ret; // r30 int i; // r29 // References // -> static int gNumHeaps; // -> static class Heap gHeaps[16]; // -> class CriticalSection * gMemLock; } // Range: 0x806138E0 -> 0x806139DC int MemAllocSize(void * iMem /* r29 */) { // Local variables class CritSecTracker __cst; // r1+0x8 int i; // r31 int size; // r30 // References // -> class Debug TheDebug; // -> static int gNumHeaps; // -> static class Heap gHeaps[16]; // -> class CriticalSection * gMemLock; } // Range: 0x806139DC -> 0x80613AE0 void * MemRealloc(void * mem /* r29 */, int newSize /* r1+0x8 */, const char * type /* r30 */, int align /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x10 int oldSize; // r1+0xC void * ret; // r31 void * ret; // r31 // References // -> static int gNumHeaps; // -> class CriticalSection * gMemLock; } // Range: 0x80613AE0 -> 0x80613AE8 int MemNumHeaps() { // References // -> static int gNumHeaps; } // Range: 0x80613AE8 -> 0x80613B88 int MemFindHeap(const char * iName /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; // -> static int gNumHeaps; // -> static class Heap gHeaps[16]; } // Range: 0x80613B88 -> 0x80613BA0 char * MemHeapName() { // References // -> static class Heap gHeaps[16]; } // Range: 0x80613BA0 -> 0x80613BBC int MemHeapSize() { // References // -> static class Heap gHeaps[16]; } // Range: 0x80613BBC -> 0x80613C3C void MemPrint(int heap /* r29 */, class TextStream & s /* r30 */, unsigned char freeOnly /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> static class Heap gHeaps[16]; // -> class CriticalSection * gMemLock; } class HandleInfo { // total size: 0x10 public: class MemHandle * mPtr; // offset 0x0, size 0x4 int mLockCnt; // offset 0x4, size 0x4 int mPad[2]; // offset 0x8, size 0x8 }; // Range: 0x80613C3C -> 0x80613C54 void * MemHandle::MemHandle() {} // Range: 0x80613C54 -> 0x80613C70 void * MemHandle::Lock() {} // Range: 0x80613C70 -> 0x80613D20 void MemHandle::Unlock(class MemHandle * const this /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80613D20 -> 0x80613E64 class MemHandle * MemAllocH(int sizeBytes /* r28 */, const char * type /* r29 */) { // Local variables void * raw_mem; // r30 // References // -> static class Heap gHeaps[16]; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct OSThread * gMainThreadID; } // Range: 0x80613E64 -> 0x80613F44 void MemFreeH(class MemHandle * h /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct OSThread * gMainThreadID; } // Range: 0x80613F44 -> 0x80613F50 void * __nw() {} // Range: 0x80613F50 -> 0x80613F54 void __dl() {} // Range: 0x80613F54 -> 0x80613F64 void * __nwa() {} // Range: 0x80613F64 -> 0x80613F68 void __dla() {} // Range: 0x80613F68 -> 0x80613F98 void * MemOrPoolAlloc() {} // Range: 0x80613F98 -> 0x80613FB8 void MemOrPoolFree() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80613FB8 -> 0x80614210 */ // Range: 0x80613FB8 -> 0x8061402C char * MakeString(const char * fmt /* r0 */, int * t1 /* r29 */, int t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8061402C -> 0x8061408C char * MakeString(const char * fmt /* r0 */, int * t1 /* r30 */, int t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8061408C -> 0x80614114 char * MakeString(const char * fmt /* r0 */, int * t1 /* r28 */, int t2 /* r29 */, unsigned int t3 /* r30 */, const char * t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80614114 -> 0x8061419C char * MakeString(const char * fmt /* r0 */, int t1 /* r28 */, const char * t2 /* r29 */, int * t3 /* r30 */, int t4 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8061419C -> 0x80614210 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, unsigned int t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\Mem_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80614210 -> 0x8061460C */ static unsigned char gHeapInitialized; // size: 0x1, address: 0x80A55488 struct MEMLink { // total size: 0x8 void * prevObject; // offset 0x0, size 0x4 void * nextObject; // offset 0x4, size 0x4 }; struct MEMList { // total size: 0xC void * headObject; // offset 0x0, size 0x4 void * tailObject; // offset 0x4, size 0x4 unsigned short numObjects; // offset 0x8, size 0x2 unsigned short offset; // offset 0xA, size 0x2 }; struct /* @class$6086Mem_Wii_cpp */ { // total size: 0x4 unsigned long _reserved : 24; // offset 0x0, size 0x4 unsigned long optFlag : 8; // offset 0x0, size 0x4 }; union /* @class$6085Mem_Wii_cpp */ { unsigned long val; // offset 0x0, size 0x4 struct /* @class$6086Mem_Wii_cpp */ { // total size: 0x4 unsigned long _reserved : 24; // offset 0x0, size 0x4 unsigned long optFlag : 8; // offset 0x0, size 0x4 } fields; // offset 0x0, size 0x4 }; struct MEMiHeapHead { // total size: 0x3C unsigned long signature; // offset 0x0, size 0x4 struct MEMLink link; // offset 0x4, size 0x8 struct MEMList childList; // offset 0xC, size 0xC void * heapStart; // offset 0x18, size 0x4 void * heapEnd; // offset 0x1C, size 0x4 struct OSMutex mutex; // offset 0x20, size 0x18 union /* @class$6085Mem_Wii_cpp */ { unsigned long val; // offset 0x0, size 0x4 struct /* @class$6086Mem_Wii_cpp */ { // total size: 0x4 unsigned long _reserved : 24; // offset 0x0, size 0x4 unsigned long optFlag : 8; // offset 0x0, size 0x4 } fields; // offset 0x0, size 0x4 } attribute; // offset 0x38, size 0x4 }; static struct MEMiHeapHead * gMEM1Heap; // size: 0x4, address: 0x80A5548C static struct MEMiHeapHead * gMEM2Heap; // size: 0x4, address: 0x80A55490 // Range: 0x80614210 -> 0x806142E4 static void InitDefaultHeap() { // Local variables void * arena1Lo; // r31 void * arena1Hi; // r30 void * arena2Lo; // r29 void * arena2Hi; // r28 // References // -> static struct MEMiHeapHead * gMEM2Heap; // -> static struct MEMiHeapHead * gMEM1Heap; // -> static unsigned char gHeapInitialized; } // Range: 0x806142E4 -> 0x806142F4 void * __sys_alloc() {} // Range: 0x806142F4 -> 0x806142F8 void __sys_free() {} // Range: 0x806142F8 -> 0x80614404 void * WiiAllocHeap(int * size /* r29 */, int membank /* r30 */) { // References // -> static struct MEMiHeapHead * gMEM2Heap; // -> static struct MEMiHeapHead * gMEM1Heap; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static unsigned char gHeapInitialized; } // Range: 0x80614404 -> 0x8061451C void * WiiAllocHeapAlign(int * size /* r28 */, int membank /* r30 */, int align /* r29 */) { // References // -> static struct MEMiHeapHead * gMEM2Heap; // -> static struct MEMiHeapHead * gMEM1Heap; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static unsigned char gHeapInitialized; } // Range: 0x8061451C -> 0x80614564 void * WiiMalloc(unsigned long size /* r31 */) { // References // -> static struct MEMiHeapHead * gMEM1Heap; // -> static unsigned char gHeapInitialized; } // Range: 0x80614564 -> 0x80614570 void WiiFree() { // References // -> static struct MEMiHeapHead * gMEM1Heap; } // Range: 0x80614570 -> 0x8061460C void WiiFreeHeap(void * ptr /* r30 */, int membank /* r31 */) { // References // -> static struct MEMiHeapHead * gMEM2Heap; // -> static struct MEMiHeapHead * gMEM1Heap; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\MemTrack.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061460C -> 0x80614CEC */ static void * gAllocInfoHeap; // size: 0x4, address: 0x80A55498 class MemTracker * gMemTracker; // size: 0x4, address: 0x80A5549C static int gFirstFileNum; // size: 0x4, address: 0x80A554A0 // Range: 0x8061460C -> 0x8061472C static void StartLog(const char * base /* r28 */) { // Local variables char name[64]; // r1+0x8 int i; // r30 class File * f; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> static int gFirstFileNum; } // Range: 0x8061472C -> 0x80614738 static void StopLog() { // References // -> class Debug TheDebug; } // Range: 0x80614738 -> 0x80614868 void MemTrackInit() { // Local variables class CritSecTracker __cst; // r1+0x14 // References // -> static void * gAllocInfoHeap; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class MemTracker * gMemTracker; // -> class CriticalSection * gMemLock; } // Range: 0x80614868 -> 0x80614908 void MemTrackAlloc(int reqSize /* r26 */, int actSize /* r27 */, const char * type /* r28 */, void * mem /* r29 */, unsigned char pooled /* r30 */, unsigned char strat /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 int heap; // r0 // References // -> class CriticalSection * gMemLock; // -> class MemTracker * gMemTracker; } // Range: 0x80614908 -> 0x8061496C void MemTrackFree(void * mem /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class CriticalSection * gMemLock; // -> class MemTracker * gMemTracker; } // Range: 0x8061496C -> 0x80614A00 void MemTrackRealloc(void * oldMem /* r28 */, int reqSize /* r29 */, int actSize /* r30 */, void * newMem /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class CriticalSection * gMemLock; // -> class MemTracker * gMemTracker; } // Range: 0x80614A00 -> 0x80614A74 class AllocInfo * MemTrackGetInfo(void * mem /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class CriticalSection * gMemLock; // -> class MemTracker * gMemTracker; } // Range: 0x80614A74 -> 0x80614B14 void MemTrackReport(int minSize /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class Debug TheDebug; // -> class CriticalSection * gMemLock; // -> class MemTracker * gMemTracker; } // Range: 0x80614B14 -> 0x80614BA4 void MemTrackHeapDump(unsigned char freeOnly /* r30 */) { // Local variables class CritSecTracker __cst; // r1+0x8 int heap; // r31 // References // -> class Debug TheDebug; // -> class CriticalSection * gMemLock; } // Range: 0x80614BA4 -> 0x80614BDC void MemTrackStartLog() { // References // -> class Debug TheDebug; // -> class MemTracker * gMemTracker; } // Range: 0x80614BDC -> 0x80614C04 void MemTrackStopLog() { // References // -> class MemTracker * gMemTracker; } // Range: 0x80614C04 -> 0x80614C40 static class DataNode MemTrackReportDF() {} // Range: 0x80614C40 -> 0x80614C7C static class DataNode MemTrackHeapDumpDF() {} // Range: 0x80614C7C -> 0x80614CE4 static class DataNode MemTrackLogDF(class DataArray * array /* r31 */) {} // Range: 0x80614CE4 -> 0x80614CE8 void * DebugHeapAlloc() {} // Range: 0x80614CE8 -> 0x80614CEC void DebugHeapFree() {} /* Compile unit: C:\rockband2\system\src\utl\MemTracker.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80614CEC -> 0x80615244 */ // Range: 0x80614CEC -> 0x80614CF0 void * MemTracker::__nw() {} // Range: 0x80614CF0 -> 0x80614DE8 void MemTracker::UpdateStats(class MemTracker * const this /* r31 */) { // Local variables class AllocInfo * * pinfo; // r30 class AllocInfo * info; // r7 } struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x80614DE8 -> 0x80614E28 class AllocInfo * MemTracker::GetInfo(void * mem /* r1+0x8 */) { // Local variables class AllocInfo * * pinfo; // r0 } class vector : protected _Vector_base { // total size: 0xC }; struct MemDiffEntry { // total size: 0x48 char name[59]; // offset 0x0, size 0x3B int alloc_diff; // offset 0x3C, size 0x4 int bytes_diff; // offset 0x40, size 0x4 int heap; // offset 0x44, size 0x4 }; // Range: 0x80614E28 -> 0x80615124 static void DiffTblReport(const char * caption /* r23 */, class BlockStatTable & tbl0 /* r24 */, class BlockStatTable & tbl1 /* r25 */, class TextStream & stream /* r26 */) { // Local variables int sz0; // r0 int sz1; // r0 int idx0; // r28 int idx1; // r27 class vector entries; // r1+0x24 class BlockStat & st0; // r0 class BlockStat & st1; // r0 int name_cmp; // r0 const char * name; // r19 int heap; // r20 int alloc0; // r0 int alloc1; // r3 int bytes0; // r4 int bytes1; // r5 int alloc_diff; // r21 int bytes_diff; // r22 struct MemDiffEntry e; // r1+0x30 int total_bytes; // r19 int total_alloc; // r20 int lastHeap; // r21 struct MemDiffEntry * e; // r22 } struct _OKToMemCpy { // total size: 0x1 }; struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct MemDiffEntry * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct MemDiffEntry * _M_start; // offset 0x0, size 0x4 struct MemDiffEntry * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class KeylessHash { // total size: 0x18 class AllocInfo * * mEntries; // offset 0x0, size 0x4 int mSize; // offset 0x4, size 0x4 unsigned char mOwnEntries; // offset 0x8, size 0x1 int mNumEntries; // offset 0xC, size 0x4 class AllocInfo * mEmpty; // offset 0x10, size 0x4 class AllocInfo * mRemoved; // offset 0x14, size 0x4 }; // Range: 0x80615124 -> 0x80615244 class AllocInfo * * KeylessHash::Find(class KeylessHash * const this /* r30 */, void * key /* r31 */) { // Local variables int i; // r28 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class DebugWarner _dw; // size: 0x100, address: 0x8098A2C8 struct { // total size: 0x8 } __RTTI__P12MemDiffEntry; // size: 0x8, address: 0x8092DED8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80615244 -> 0x80615F24 */ // Range: 0x80615244 -> 0x806153A4 void * MemTracker::MemTracker(class MemTracker * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806153A4 -> 0x806154E8 void MemTracker::Alloc(class MemTracker * const this /* r23 */, int reqSize /* r24 */, int actSize /* r25 */, const char * type /* r26 */, void * mem /* r27 */, signed char heap /* r28 */, unsigned char pooled /* r29 */, unsigned char strat /* r30 */) { // Local variables class AllocInfo * info; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806154E8 -> 0x80615668 void MemTracker::Free(class MemTracker * const this /* r30 */, void * mem /* r1+0x8 */) { // Local variables class AllocInfo * * pinfo; // r29 class AllocInfo * info; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80615668 -> 0x8061577C void MemTracker::Realloc(class MemTracker * const this /* r23 */, void * oldMem /* r1+0x8 */, int reqSize /* r24 */, int actSize /* r25 */, void * newMem /* r26 */) { // Local variables class AllocInfo * * pinfo; // r0 class AllocInfo * info; // r31 signed char heap; // r29 unsigned char strat; // r28 const char * type; // r27 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061577C -> 0x80615830 void MemTracker::StartLog(class MemTracker * const this /* r29 */, class TextStream & s /* r30 */) { // References // -> class vector TheSystemArgs; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80615830 -> 0x806158B0 void MemTracker::StopLog(class MemTracker * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806158B0 -> 0x80615928 void MemTracker::ColatedPrint(class AllocInfo * info /* r30 */, const char * comment /* r31 */) {} // Range: 0x80615928 -> 0x80615B98 void MemTracker::DiffDump(class MemTracker * const this /* r28 */, class TextStream & stream /* r29 */) { // Local variables int num_allocs; // r26 class AllocInfo * * pinfo; // r25 void * tmp_mem; // r30 class AllocInfo * info; // r24 class AllocInfo * * nit; // r24 class AllocInfo * * fit; // r25 int cmp; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class vector TheSystemArgs; } // Range: 0x80615B98 -> 0x80615F24 void MemTracker::Report(class MemTracker * const this /* r27 */, int minSize /* r28 */, class TextStream & stream /* r29 */) { // Local variables int numHeaps; // r0 int i; // r30 int num_blocks; // r1+0x10 int num_bytes; // r1+0xC int largest; // r1+0x8 class HeapStats & hs; // r0 int numStats; // r0 class BlockStat & stat; // r0 class BlockStat & stat; // r0 } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80615F24 -> 0x806160A0 */ // Range: 0x80615F24 -> 0x80615FA8 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r27 */, unsigned char t2 /* r28 */, int t3 /* r29 */, int t4 /* r30 */, int t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x80615FA8 -> 0x8061602C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r27 */, const char * t2 /* r28 */, const char * t3 /* r29 */, const char * t4 /* r30 */, const char * t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8061602C -> 0x806160A0 char * MakeString(const char * fmt /* r0 */, char * t1 /* r29 */, int t2 /* r30 */, int t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\AllocInfo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806160A0 -> 0x806160CC */ // Range: 0x806160A0 -> 0x806160CC unsigned char StackLess() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806160CC -> 0x80617D48 */ // Range: 0x806160CC -> 0x80616160 void sort(class AllocInfo * * __first /* r29 */, class AllocInfo * * __last /* r30 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r31 */) {} // Range: 0x80616160 -> 0x806161E8 void __final_insertion_sort(class AllocInfo * * __first /* r29 */, class AllocInfo * * __last /* r30 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r31 */) {} // Range: 0x806161E8 -> 0x80616248 void __unguarded_insertion_sort_aux(class AllocInfo * * __last /* r29 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r30 */) { // Local variables class AllocInfo * * __i; // r31 } // Range: 0x80616248 -> 0x806162C4 void __unguarded_linear_insert(class AllocInfo * * __last /* r29 */, class AllocInfo * __val /* r1+0x8 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r30 */) { // Local variables class AllocInfo * * __next; // r31 } // Range: 0x806162C4 -> 0x80616390 void __insertion_sort(class AllocInfo * * __first /* r28 */, class AllocInfo * * __last /* r29 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r30 */) { // Local variables class AllocInfo * * __i; // r31 } // Range: 0x80616390 -> 0x806164F4 void __introsort_loop(class AllocInfo * * __first /* r27 */, class AllocInfo * * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r30 */) { // Local variables class AllocInfo * * __cut; // r31 } // Range: 0x806164F4 -> 0x806165C0 class AllocInfo * * __unguarded_partition(class AllocInfo * * __first /* r29 */, class AllocInfo * * __last /* r30 */, class AllocInfo * __pivot /* r1+0x8 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r31 */) {} // Range: 0x806165C0 -> 0x806165CC void partial_sort() {} // Range: 0x806165CC -> 0x80616694 void __partial_sort(class AllocInfo * * __first /* r27 */, class AllocInfo * * __middle /* r28 */, class AllocInfo * * __last /* r29 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r30 */) { // Local variables class AllocInfo * * __i; // r31 } // Range: 0x80616694 -> 0x80616754 void sort(struct MemDiffEntry * __first /* r29 */, struct MemDiffEntry * __last /* r30 */) {} // Range: 0x80616754 -> 0x80616804 void __final_insertion_sort(struct MemDiffEntry * __first /* r29 */, struct MemDiffEntry * __last /* r30 */, struct less & __comp /* r31 */) {} // Range: 0x80616804 -> 0x80616890 void __unguarded_insertion_sort_aux(struct MemDiffEntry * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables struct MemDiffEntry * __i; // r31 } // Range: 0x80616890 -> 0x80616CCC void __unguarded_linear_insert() { // Local variables struct MemDiffEntry * __next; // r5 } // Range: 0x80616CCC -> 0x80617210 void __insertion_sort(struct MemDiffEntry * __first /* r28 */, struct MemDiffEntry * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables struct MemDiffEntry * __i; // r31 } // Range: 0x80617210 -> 0x8061749C void __introsort_loop(struct MemDiffEntry * __first /* r28 */, struct MemDiffEntry * __last /* r29 */, long __depth_limit /* r30 */, struct less & __comp /* r31 */) { // Local variables struct MemDiffEntry * __cut; // r27 } // Range: 0x8061749C -> 0x806179AC struct MemDiffEntry * __unguarded_partition(struct MemDiffEntry * __first /* r29 */, struct MemDiffEntry * __last /* r30 */, struct MemDiffEntry & __pivot /* r31 */) {} // Range: 0x806179AC -> 0x806179DC void partial_sort() {} // Range: 0x806179DC -> 0x80617D48 void __partial_sort(struct MemDiffEntry * __first /* r27 */, struct MemDiffEntry * __middle /* r28 */, struct MemDiffEntry * __last /* r29 */, struct less & __comp /* r30 */) { // Local variables struct MemDiffEntry * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80617D48 -> 0x80617DA8 */ // Range: 0x80617D48 -> 0x80617D60 struct __true_type _OKToMemCpy::_Answer() {} // Range: 0x80617D60 -> 0x80617D78 struct __true_type _OKToSwap::_Answer() {} // Range: 0x80617D78 -> 0x80617D90 struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x80617D90 -> 0x80617DA8 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80617DA8 -> 0x80618C20 */ // Range: 0x80617DA8 -> 0x80617DD4 void pop_heap(class AllocInfo * * __last /* r8 */) {} // Range: 0x80617DD4 -> 0x80617F00 void __adjust_heap(class AllocInfo * * __first /* r27 */, long __holeIndex /* r28 */, long __len /* r25 */, class AllocInfo * __val /* r29 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r26 } // Range: 0x80617F00 -> 0x80617F94 void make_heap(class AllocInfo * * __first /* r28 */, unsigned char (* __comp)(class AllocInfo * const &, class AllocInfo * const &) /* r29 */) {} // Range: 0x80617F94 -> 0x8061822C void pop_heap(struct MemDiffEntry * __last /* r6 */) {} // Range: 0x8061822C -> 0x80618B50 void __adjust_heap() { // Local variables long __topIndex; // r0 long __secondChild; // r8 } // Range: 0x80618B50 -> 0x80618C20 void make_heap(struct MemDiffEntry * __first /* r31 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_function_base.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80618C20 -> 0x80618C34 */ // Range: 0x80618C20 -> 0x80618C34 struct less __less() {} /* Compile unit: C:\rockband2\system\src\utl\KeylessHash.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80618C34 -> 0x80619324 */ // Range: 0x80618C34 -> 0x80618CFC void * KeylessHash::KeylessHash(class KeylessHash * const this /* r31 */) { // Local variables int i; // r5 } // Range: 0x80618CFC -> 0x80618FCC class AllocInfo * * KeylessHash::Insert(class KeylessHash * const this /* r28 */, class AllocInfo * const & val /* r29 */) { // Local variables void * key; // r0 int i; // r30 // References // -> class DebugWarner _dw; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80618FCC -> 0x806190E0 void KeylessHash::Remove(class KeylessHash * const this /* r31 */, class AllocInfo * * pval /* r29 */) { // Local variables int i; // r30 int next; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806190E0 -> 0x806192A4 void KeylessHash::Resize(class KeylessHash * const this /* r26 */, int size /* r27 */, class AllocInfo * * entries /* r28 */) { // Local variables unsigned char ownEntries; // r30 int i; // r4 class AllocInfo * * pval; // r29 int i; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806192A4 -> 0x806192F8 class AllocInfo * * KeylessHash::FirstFrom() { // Local variables class AllocInfo * * end; // r6 } // Range: 0x806192F8 -> 0x80619324 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80619324 -> 0x80619750 */ // Range: 0x80619324 -> 0x80619580 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct MemDiffEntry * __pos /* r26 */, const struct MemDiffEntry & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct MemDiffEntry * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12MemDiffEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80619580 -> 0x80619750 void vector::reserve(class vector * const this /* r28 */, unsigned long __n /* r29 */) { // Local variables struct MemDiffEntry * __tmp; // r30 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12MemDiffEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\MemStats.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80619750 -> 0x80619AA0 */ // Range: 0x80619750 -> 0x80619770 int SizeLess() {} // Range: 0x80619770 -> 0x8061977C int NameLess() {} // Range: 0x8061977C -> 0x80619794 void * BlockStatTable::BlockStatTable() {} // Range: 0x80619794 -> 0x806197A0 void BlockStatTable::Clear() {} // Range: 0x806197A0 -> 0x8061982C class BlockStat & BlockStatTable::GetBlockStat(class BlockStatTable * const this /* r30 */, int iStat /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061982C -> 0x806199E4 void BlockStatTable::Update(class BlockStatTable * const this /* r28 */, const char * name /* r24 */, unsigned char heap /* r29 */, int sizeReq /* r1+0x8 */, int sizeAct /* r30 */) { // Local variables int i; // r31 // References // -> class Debug TheDebug; } // Range: 0x806199E4 -> 0x806199F8 void BlockStatTable::SortBySize() {} // Range: 0x806199F8 -> 0x80619A0C void BlockStatTable::SortByName() {} // Range: 0x80619A0C -> 0x80619A78 void HeapStats::Alloc() {} // Range: 0x80619A78 -> 0x80619AA0 void HeapStats::Free() {} /* Compile unit: C:\rockband2\system\src\utl\MemStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80619AA0 -> 0x80619D80 */ // Range: 0x80619AA0 -> 0x80619B08 void * MemStream::MemStream(class MemStream * const this /* r30 */) { // References // -> struct [anonymous] __vt__9MemStream; } // Range: 0x80619B08 -> 0x80619B88 void MemStream::ReadImpl(class MemStream * const this /* r30 */, int bytes /* r31 */) {} // Range: 0x80619B88 -> 0x80619C8C void MemStream::WriteImpl(class MemStream * const this /* r31 */, void * data /* r28 */, int bytes /* r29 */) { // Local variables int capacity; // r4 } // Range: 0x80619C8C -> 0x80619D08 void MemStream::SeekImpl() { // Local variables int i; // r4 } // Range: 0x80619D08 -> 0x80619D80 void MemStream::Compact(class MemStream * const this /* r30 */) {} struct { // total size: 0x2C } __vt__9MemStream; // size: 0x2C, address: 0x8092DFA0 struct { // total size: 0x8 } __RTTI__9MemStream; // size: 0x8, address: 0x8092DFE8 /* Compile unit: C:\rockband2\system\src\utl\MemStream.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80619D80 -> 0x80619DAC */ // Range: 0x80619D80 -> 0x80619D88 unsigned char MemStream::Fail() {} // Range: 0x80619D88 -> 0x80619DA8 unsigned char MemStream::Eof() {} // Range: 0x80619DA8 -> 0x80619DAC void MemStream::Flush() {} /* Compile unit: C:\rockband2\system\src\utl\MultiTempoTempoMap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80619DAC -> 0x8061A2C8 */ // Range: 0x80619DAC -> 0x80619DCC void * MultiTempoTempoMap::MultiTempoTempoMap() { // References // -> struct [anonymous] __vt__18MultiTempoTempoMap; } // Range: 0x80619DCC -> 0x80619E40 float MultiTempoTempoMap::GetTempo() {} // Range: 0x80619E40 -> 0x80619E74 float MultiTempoTempoMap::GetTempoBPM() { // Local variables float msPerBeat; // f0 } // Range: 0x80619E74 -> 0x80619F18 float MultiTempoTempoMap::TickToTime(float tick /* f31 */) { // Local variables const struct TempoInfoPoint * it; // r0 } // Range: 0x80619F18 -> 0x80619FB8 float MultiTempoTempoMap::TimeToTick(float time /* f31 */) { // Local variables const struct TempoInfoPoint * it; // r0 } // Range: 0x80619FB8 -> 0x8061A014 void MultiTempoTempoMap::WipeTempoInfoPoints() {} // Range: 0x8061A014 -> 0x8061A03C int MultiTempoTempoMap::GetNumTempoChangePoints() {} // Range: 0x8061A03C -> 0x8061A1C8 void MultiTempoTempoMap::Finalize(class MultiTempoTempoMap * const this /* r31 */) { // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ218MultiTempoTempoMap14TempoInfoPoint; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ218MultiTempoTempoMap14TempoInfoPoint; // size: 0x8, address: 0x8092E080 // Range: 0x8061A1C8 -> 0x8061A204 unsigned char MultiTempoTempoMap::CompareTick() {} // Range: 0x8061A204 -> 0x8061A218 unsigned char MultiTempoTempoMap::CompareTime() {} // Range: 0x8061A218 -> 0x8061A2C8 struct TempoInfoPoint * MultiTempoTempoMap::PointForTime(const class MultiTempoTempoMap * const this /* r31 */, float time /* r1+0x8 */) { // Local variables const struct TempoInfoPoint * it; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x28 } __vt__18MultiTempoTempoMap; // size: 0x28, address: 0x8092E0A8 struct { // total size: 0x28 } __vt__8TempoMap; // size: 0x28, address: 0x8092E0F8 /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061A2C8 -> 0x8061A378 */ // Range: 0x8061A2C8 -> 0x8061A378 struct TempoInfoPoint * MultiTempoTempoMap::PointForTick(const class MultiTempoTempoMap * const this /* r31 */, float tick /* r1+0x8 */) { // Local variables const struct TempoInfoPoint * it; // r3 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061A378 -> 0x8061A37C */ // Range: 0x8061A378 -> 0x8061A37C class StlNodeAlloc vector::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061A37C -> 0x8061A5A8 */ // Range: 0x8061A37C -> 0x8061A50C void MultiTempoTempoMap::AddTempoInfoPoint(class MultiTempoTempoMap * const this /* r29 */, int tick /* r30 */, int tempo /* r31 */) { // Local variables class MemDoTempAllocations dummy_temp_mem_allocation; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061A50C -> 0x8061A5A8 int MultiTempoTempoMap::GetTempoChangePoint(const class MultiTempoTempoMap * const this /* r30 */, int index /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061A5A8 -> 0x8061A648 */ // Range: 0x8061A5A8 -> 0x8061A648 struct TempoInfoPoint * __upper_bound(const struct TempoInfoPoint * __first /* r26 */, const float & __val /* r27 */, unsigned char (* __comp)(struct TempoInfoPoint &) /* r28 */) { // Local variables long __len; // r31 long __half; // r30 const struct TempoInfoPoint * __middle; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061A648 -> 0x8061A874 */ // Range: 0x8061A648 -> 0x8061A874 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct TempoInfoPoint * __pos /* r26 */, const struct TempoInfoPoint & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct TempoInfoPoint * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ218MultiTempoTempoMap14TempoInfoPoint; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\NetLoader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061A874 -> 0x8061B274 */ // Range: 0x8061A874 -> 0x8061A8B4 class NetLoader * NetLoader::Create(const class String & strRemotePath /* r31 */) {} // Range: 0x8061A8B4 -> 0x8061A948 void * NetLoader::NetLoader(class NetLoader * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; // -> struct [anonymous] __vt__9NetLoader; } // Range: 0x8061A948 -> 0x8061A9CC void * NetLoader::~NetLoader(class NetLoader * const this /* r30 */) { // References // -> struct [anonymous] __vt__9NetLoader; } // Range: 0x8061A9CC -> 0x8061A9D4 unsigned char NetLoader::IsLoaded() {} // Range: 0x8061A9D4 -> 0x8061A9DC class String & NetLoader::GetRemotePath() {} // Range: 0x8061A9DC -> 0x8061A9E4 int NetLoader::GetSize() {} // Range: 0x8061A9E4 -> 0x8061AA00 char * NetLoader::GetBuffer() {} // Range: 0x8061AA00 -> 0x8061AA94 void NetLoader::AttachBuffer(class NetLoader * const this /* r30 */, char * pBuffer /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061AA94 -> 0x8061AA9C void NetLoader::SetSize() {} // Range: 0x8061AA9C -> 0x8061ABFC void NetLoader::PreDownload(class NetLoader * const this /* r31 */) { // Local variables struct NetCacheEntry * pEntry; // r30 struct NetCacheEntry entry; // r1+0x18 // References // -> class Debug TheDebug; // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x8061ABFC -> 0x8061AD30 void NetLoader::PostDownload(class NetLoader * const this /* r28 */) { // Local variables struct NetCacheEntry * pEntry; // r0 // References // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; // -> class Debug TheDebug; } class NetLoaderStub : public NetLoader { // total size: 0x28 class FileLoader * mFileLoader; // offset 0x20, size 0x4 float mNetSimEndTime; // offset 0x24, size 0x4 }; // Range: 0x8061AD30 -> 0x8061ADC4 void * NetLoaderStub::~NetLoaderStub(class NetLoaderStub * const this /* r30 */) { // References // -> struct [anonymous] __vt__13NetLoaderStub; } // Range: 0x8061ADC4 -> 0x8061AEB4 void NetLoaderStub::PollLoading(class NetLoaderStub * const this /* r31 */) { // Local variables int size; // r1+0x8 // References // -> class TaskMgr TheTaskMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061AEB4 -> 0x8061AEBC unsigned char NetLoaderStub::HasFailed() {} // Range: 0x8061AEBC -> 0x8061AF00 void * DataNetLoader::DataNetLoader(class DataNetLoader * const this /* r31 */) {} // Range: 0x8061AF00 -> 0x8061AFB0 void * DataNetLoader::~DataNetLoader(class DataNetLoader * const this /* r30 */) {} // Range: 0x8061AFB0 -> 0x8061B1E0 void DataNetLoader::PollLoading(class DataNetLoader * const this /* r31 */) { // Local variables int size; // r27 void * pBuf; // r26 unsigned char isZ; // r25 const class String & strFileName; // r0 int strLen; // r0 char * pBufSize; // r0 int decompSize; // r1+0xC char * pCharInt; // r0 void * pDecompBuf; // r25 class BufStream buf; // r1+0x34 class BufStream buf; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061B1E0 -> 0x8061B23C unsigned char DataNetLoader::IsLoaded(class DataNetLoader * const this /* r31 */) { // Local variables unsigned char isLoaded; // r0 } // Range: 0x8061B23C -> 0x8061B244 class DataArray * DataNetLoader::GetData() {} // Range: 0x8061B244 -> 0x8061B274 unsigned char DataNetLoader::HasFailed() {} struct { // total size: 0x14 } __vt__13NetLoaderStub; // size: 0x14, address: 0x8092E2A8 struct { // total size: 0x8 } __RTTI__13NetLoaderStub; // size: 0x8, address: 0x8092E2D8 struct { // total size: 0x14 } __vt__9NetLoader; // size: 0x14, address: 0x8092E2E0 struct { // total size: 0x8 } __RTTI__9NetLoader; // size: 0x8, address: 0x8092E300 /* Compile unit: C:\rockband2\system\src\utl\NetLoader_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061B274 -> 0x8061B5E0 */ class NetLoaderWii : public NetLoader { // total size: 0x48 int mHttpHandle; // offset 0x20, size 0x4 enum State mState; // offset 0x24, size 0x4 unsigned long long mLength; // offset 0x28, size 0x8 unsigned long long mReceived; // offset 0x30, size 0x8 void * mBuffer; // offset 0x38, size 0x4 class String mURL; // offset 0x3C, size 0xC }; // Range: 0x8061B274 -> 0x8061B2CC unsigned char NetLoaderWii::SendRequest(class NetLoaderWii * const this /* r31 */) { // References // -> class HttpWii TheHttpWii; } // Range: 0x8061B2CC -> 0x8061B348 unsigned char NetLoaderWii::GetContentLength(class NetLoaderWii * const this /* r30 */) { // Local variables int result; // r0 unsigned long size; // r1+0x8 // References // -> class HttpWii TheHttpWii; } // Range: 0x8061B348 -> 0x8061B3D8 unsigned char NetLoaderWii::ReceiveResponse(class NetLoaderWii * const this /* r31 */) { // Local variables int result; // r0 unsigned long size; // r1+0x8 // References // -> class HttpWii TheHttpWii; } // Range: 0x8061B3D8 -> 0x8061B434 void NetLoaderWii::FinishTransaction(class NetLoaderWii * const this /* r31 */) {} enum State { kSendRequest = 0, kGetContentLength = 1, kDispatchRequest = 2, kReceiveRequest = 3, kDone = 4, kFailure = 5, kFailureComplete = 6, kMax = 7, kNil = -1, }; // Range: 0x8061B434 -> 0x8061B5BC void NetLoaderWii::PollLoading(class NetLoaderWii * const this /* r31 */) {} // Range: 0x8061B5BC -> 0x8061B5E0 unsigned char NetLoaderWii::HasFailed() {} struct { // total size: 0x14 } __vt__12NetLoaderWii; // size: 0x14, address: 0x8092E44C struct { // total size: 0x8 } __RTTI__12NetLoaderWii; // size: 0x8, address: 0x8092E480 /* Compile unit: C:\rockband2\system\src\rendezvous\Wii\include\Extensions\Any\AnyObjectHolder.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061B5E0 -> 0x8061B928 */ // Range: 0x8061B5E0 -> 0x8061B644 static char * GetServerURL() { // References // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x8061B644 -> 0x8061B72C void * NetLoaderWii::NetLoaderWii(class NetLoaderWii * const this /* r29 */, const class String & strRemotePath /* r30 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__12NetLoaderWii; } // Range: 0x8061B72C -> 0x8061B818 void * NetLoaderWii::~NetLoaderWii(class NetLoaderWii * const this /* r30 */) { // References // -> class HttpWii TheHttpWii; // -> class Debug TheDebug; // -> struct [anonymous] __vt__12NetLoaderWii; } // Range: 0x8061B818 -> 0x8061B888 unsigned char NetLoaderWii::DispatchDownload(class NetLoaderWii * const this /* r31 */) { // References // -> class HttpWii TheHttpWii; } // Range: 0x8061B888 -> 0x8061B8CC void NetLoaderWii::Failure() { // References // -> class Debug TheDebug; } // Range: 0x8061B8CC -> 0x8061B928 void NetLoaderWii::SetState(class NetLoaderWii * const this /* r30 */, enum State state /* r31 */) { // References // -> class Debug TheDebug; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061B928 -> 0x8061B9FC */ // Range: 0x8061B928 -> 0x8061B99C char * MakeString(const char * fmt /* r0 */, const char * t1 /* r29 */, unsigned short t2 /* r30 */, const char * t3 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8061B99C -> 0x8061B9FC char * MakeString(const char * fmt /* r0 */, enum State t1 /* r30 */, enum State t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\NetCacheFileLoader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061B9FC -> 0x8061BF28 */ class NetCacheFileLoader { // total size: 0x28 public: void * __vptr$; // offset 0x0, size 0x4 private: enum State mState; // offset 0x4, size 0x4 class Cache * mCache; // offset 0x8, size 0x4 class String mStrPath; // offset 0xC, size 0xC unsigned int mSize; // offset 0x18, size 0x4 char * mBuffer; // offset 0x1C, size 0x4 unsigned char mOwnsBuffer; // offset 0x20, size 0x1 enum NetCacheMgrFailType mFailType; // offset 0x24, size 0x4 }; // Range: 0x8061B9FC -> 0x8061BAA8 void * NetCacheFileLoader::NetCacheFileLoader(class NetCacheFileLoader * const this /* r30 */, const class String & strPath /* r31 */) { // References // -> class NetCacheMgr * TheNetCacheMgr; // -> struct [anonymous] __vt__18NetCacheFileLoader; } // Range: 0x8061BAA8 -> 0x8061BB1C void * NetCacheFileLoader::~NetCacheFileLoader(class NetCacheFileLoader * const this /* r30 */) { // References // -> struct [anonymous] __vt__18NetCacheFileLoader; } // Range: 0x8061BB1C -> 0x8061BB34 unsigned char NetCacheFileLoader::IsLoaded() {} // Range: 0x8061BB34 -> 0x8061BB4C unsigned char NetCacheFileLoader::HasFailed() {} // Range: 0x8061BB4C -> 0x8061BB54 enum NetCacheMgrFailType NetCacheFileLoader::GetFailType() {} // Range: 0x8061BB54 -> 0x8061BB5C int NetCacheFileLoader::GetSize() {} // Range: 0x8061BB5C -> 0x8061BB78 char * NetCacheFileLoader::GetBuffer() {} enum State { kS_Waiting = 0, kS_GetSize = 1, kS_Loading = 2, kS_Done = 3, kS_Failure = 4, kS_Nil = -1, }; // Range: 0x8061BB78 -> 0x8061BD0C void NetCacheFileLoader::SetState(class NetCacheFileLoader * const this /* r30 */, enum State state /* r31 */) { // Local variables unsigned char ret; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061BD0C -> 0x8061BE24 void NetCacheFileLoader::StartLoading(class NetCacheFileLoader * const this /* r30 */) { // Local variables unsigned char ret; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061BE24 -> 0x8061BF28 void NetCacheFileLoader::PollLoading(class NetCacheFileLoader * const this /* r31 */) { // Local variables enum CacheResult result; // r0 enum CacheResult result; // r0 } struct { // total size: 0xC } __vt__18NetCacheFileLoader; // size: 0xC, address: 0x8092E4CC struct { // total size: 0x8 } __RTTI__18NetCacheFileLoader; // size: 0x8, address: 0x8092E4F0 /* Compile unit: C:\rockband2\system\src\utl\NetCacheLoader.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061BF28 -> 0x8061BFC0 */ // Range: 0x8061BF28 -> 0x8061BF40 unsigned char NetCacheLoader::IsLoaded() {} // Range: 0x8061BF40 -> 0x8061BF58 unsigned char NetCacheLoader::HasFailed() {} // Range: 0x8061BF58 -> 0x8061BF60 enum NetCacheMgrFailType NetCacheLoader::GetFailType() {} // Range: 0x8061BF60 -> 0x8061BF68 char * NetCacheLoader::GetRemotePath() {} // Range: 0x8061BF68 -> 0x8061BF94 int NetCacheLoader::GetSize() {} // Range: 0x8061BF94 -> 0x8061BFC0 char * NetCacheLoader::GetBuffer() {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061BFC0 -> 0x8061C7E4 */ // Range: 0x8061BFC0 -> 0x8061C0FC void * NetCacheLoader::NetCacheLoader(class NetCacheLoader * const this /* r28 */, const class String & strRemotePath /* r29 */) { // References // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; // -> class Debug TheDebug; } // Range: 0x8061C0FC -> 0x8061C18C void * NetCacheLoader::~NetCacheLoader(class NetCacheLoader * const this /* r30 */) { // References // -> class Debug TheDebug; } // Range: 0x8061C18C -> 0x8061C378 void NetCacheLoader::Poll(class NetCacheLoader * const this /* r30 */) { // Local variables struct NetCacheEntry * pEntry; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x8061C378 -> 0x8061C5D8 void NetCacheLoader::SetState(class NetCacheLoader * const this /* r28 */, enum State newState /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x8061C5D8 -> 0x8061C7E4 void NetCacheLoader::StartWrite(class NetCacheLoader * const this /* r28 */) { // Local variables int size; // r30 char * pData; // r29 class Timer timer; // r1+0x8 struct NetCacheEntry * pEntry; // r0 unsigned char ret; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; } /* Compile unit: C:\rockband2\system\src\utl\NetCacheMgr.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061C7E4 -> 0x8061DF00 */ class NetCacheMgr * TheNetCacheMgr; // size: 0x4, address: 0x80A554A8 // Range: 0x8061C7E4 -> 0x8061C82C void NetCacheMgrTerminate() { // References // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x8061C82C -> 0x8061C9CC void * NetCacheMgr::NetCacheMgr(class NetCacheMgr * const this /* r29 */) { // References // -> class ObjectDir * sMainDir; // -> class Debug TheDebug; // -> const char * kAssertStr; // -> const char * gNullStr; // -> struct [anonymous] __vt__11NetCacheMgr; } class _List_node : public _List_node_base { // total size: 0x2C public: struct ServerData _M_data; // offset 0x8, size 0x24 }; class _List_node : public _List_node_base { // total size: 0x1C public: struct NetCacheLoaderRef _M_data; // offset 0x8, size 0x14 }; class _List_node : public _List_node_base { // total size: 0xC public: class NetCacheFileLoader * _M_data; // offset 0x8, size 0x4 }; // Range: 0x8061C9CC -> 0x8061CBF8 void * NetCacheMgr::~NetCacheMgr(class NetCacheMgr * const this /* r30 */) { // References // -> class Debug TheDebug; // -> struct [anonymous] __vt__11NetCacheMgr; } static class Symbol servers; // size: 0x4, address: 0x80A554B0 static class Symbol server; // size: 0x4, address: 0x80A554B8 static class Symbol port; // size: 0x4, address: 0x80A554C0 static class Symbol root; // size: 0x4, address: 0x80A554C8 static class Symbol verify_ssl; // size: 0x4, address: 0x80A554D0 static class Symbol default_server; // size: 0x4, address: 0x80A554D8 struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8061CBF8 -> 0x8061D060 void NetCacheMgr::OnInit(class NetCacheMgr * const this /* r27 */, class DataArray * pData /* r28 */) { // Local variables int index; // r25 class DataArray * s; // r30 int i; // r29 struct ServerData sd; // r1+0x48 struct _List_iterator s; // r1+0x44 // References // -> static class Symbol default_server; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std39_List_node; // -> unsigned char gStlAllocNameLookup; // -> static class Symbol verify_ssl; // -> const char * gNullStr; // -> static class Symbol root; // -> static class Symbol port; // -> static class Symbol server; // -> static class Symbol servers; // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std39_List_node; // size: 0x8, address: 0x8092E718 // Range: 0x8061D060 -> 0x8061D078 unsigned long long NetCacheMgr::GetMaxSize() {} // Range: 0x8061D078 -> 0x8061D09C char * NetCacheMgr::GetServer() {} // Range: 0x8061D09C -> 0x8061D0C0 unsigned short NetCacheMgr::GetPort() {} // Range: 0x8061D0C0 -> 0x8061D0E4 char * NetCacheMgr::GetServerRoot() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8061D0E4 -> 0x8061D150 void NetCacheMgr::Load(class NetCacheMgr * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std31_List_node<17NetCacheLoaderRef>; // size: 0x8, address: 0x8092E8E8 // Range: 0x8061D150 -> 0x8061D23C void NetCacheMgr::ReleaseRef(class NetCacheMgr * const this /* r31 */, class NetCacheLoader * pLoader /* r30 */) { // Local variables class String strRemotePath; // r1+0x24 struct _List_iterator it; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061D23C -> 0x8061D240 void NetCacheMgr::DeleteNetCacheLoader() {} // Range: 0x8061D240 -> 0x8061D258 unsigned char NetCacheMgr::IsUnloaded() {} // Range: 0x8061D258 -> 0x8061D270 unsigned char NetCacheMgr::IsReady() {} // Range: 0x8061D270 -> 0x8061D288 unsigned char NetCacheMgr::HasFailed() {} // Range: 0x8061D288 -> 0x8061D290 enum NetCacheMgrFailType NetCacheMgr::GetFailType() {} // Range: 0x8061D290 -> 0x8061D318 unsigned char NetCacheMgr::IsLocalFile(const class NetCacheMgr * const this /* r29 */, const class String & strRemotePath /* r30 */) { // Local variables const struct NetCacheEntry * it; // r31 } // Range: 0x8061D318 -> 0x8061D3B0 unsigned long long NetCacheMgr::GetCacheSize(class NetCacheMgr * const this /* r31 */) { // Local variables unsigned long long size; // r3 const struct NetCacheEntry * it; // r6 } // Range: 0x8061D3B0 -> 0x8061D4A0 class NetCacheFileLoader * NetCacheMgr::AddFileCacheLoader(class NetCacheMgr * const this /* r29 */, const class String & strRemotePath /* r30 */) { // Local variables struct NetCacheEntry * pEntry; // r0 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std33_List_node; // -> unsigned char gStlAllocNameLookup; } struct { // total size: 0x8 } __RTTI__PQ211stlpmtx_std33_List_node; // size: 0x8, address: 0x8092E948 // Range: 0x8061D4A0 -> 0x8061D564 void NetCacheMgr::DeleteFileCacheLoader(class NetCacheFileLoader * pLoader /* r31 */) { // Local variables struct _List_iterator it; // r1+0x1C } // Range: 0x8061D564 -> 0x8061D57C unsigned char __eq() {} struct _List_iterator : public _List_iterator_base { // total size: 0x4 }; // Range: 0x8061D57C -> 0x8061D584 enum NetCacheMgrState NetCacheMgr::GetState() {} // Range: 0x8061D584 -> 0x8061D688 void NetCacheMgr::AddEntry(class NetCacheMgr * const this /* r29 */, const struct NetCacheEntry & entry /* r30 */) {} // Range: 0x8061D688 -> 0x8061D6FC struct NetCacheEntry * NetCacheMgr::FindEntry(class NetCacheMgr * const this /* r29 */, const class String & strRemotePath /* r30 */) { // Local variables struct NetCacheEntry * it; // r31 } // Range: 0x8061D6FC -> 0x8061D780 struct NetCacheEntry * NetCacheMgr::FindOldestEntry(class NetCacheMgr * const this /* r29 */) { // Local variables struct NetCacheEntry * pEntry; // r31 struct NetCacheEntry * it; // r30 } // Range: 0x8061D780 -> 0x8061D7E0 void NetCacheMgr::DeleteOldestFile(class NetCacheMgr * const this /* r30 */) { // Local variables struct NetCacheEntry * pEntry; // r0 } // Range: 0x8061D7E0 -> 0x8061D864 void NetCacheMgr::EnterUnloadState(class NetCacheMgr * const this /* r31 */) { // Local variables unsigned char ret; // r0 // References // -> class CacheMgr * TheCacheMgr; } // Range: 0x8061D864 -> 0x8061D910 struct ServerData & NetCacheMgr::Server(const class NetCacheMgr * const this /* r31 */) { // Local variables struct _List_iterator s; // r1+0x24 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } static class Symbol _s; // size: 0x4, address: 0x80A554E0 static class Symbol _s; // size: 0x4, address: 0x80A554E8 static class Symbol _s; // size: 0x4, address: 0x80A554F0 static class Symbol _s; // size: 0x4, address: 0x80A554F8 static class Symbol _s; // size: 0x4, address: 0x80A55500 // Range: 0x8061D910 -> 0x8061DF00 class DataNode NetCacheMgr::Handle(class NetCacheMgr * const this /* r29 */, class DataArray * _msg /* r26 */, unsigned char _warn /* r30 */) { // Local variables class Symbol _type; // r1+0x34 class MessageTimer _mt; // r1+0x38 // References // -> class Debug TheDebug; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> static class Symbol _s; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; // -> static class Symbol _s; // -> unsigned char sActive; } struct { // total size: 0x6C } __vt__11NetCacheMgr; // size: 0x6C, address: 0x8092EB74 struct { // total size: 0x8 } __RTTI__11NetCacheMgr; // size: 0x8, address: 0x8092EC00 struct { // total size: 0x8 } __RTTI__P13NetCacheEntry; // size: 0x8, address: 0x8092EC50 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061DF00 -> 0x8061E02C */ // Range: 0x8061DF00 -> 0x8061DF84 char * MakeString(const char * fmt /* r0 */, const char * t1 /* r27 */, unsigned char t2 /* r28 */, int t3 /* r29 */, const char * t4 /* r30 */, const char * t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8061DF84 -> 0x8061E000 char * MakeString(long long t1 /* r29 */, long long t2 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } // Range: 0x8061E000 -> 0x8061E02C void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061E02C -> 0x8061F4E0 */ // Range: 0x8061E02C -> 0x8061E5F0 void NetCacheMgr::Poll(class NetCacheMgr * const this /* r30 */) { // Local variables enum NetCacheMgrState stateCur; // r0 enum CacheResult result; // r0 unsigned char ret; // r0 enum CacheResult result; // r0 unsigned char ret; // r0 unsigned char isFirstDownloader; // r29 struct _List_iterator it; // r1+0x38 class NetCacheFileLoader * pLoader; // r29 struct _List_iterator it; // r1+0x34 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> class CacheMgr * TheCacheMgr; } // Range: 0x8061E5F0 -> 0x8061E738 void NetCacheMgr::UpdateLoaders(class NetCacheMgr * const this /* r29 */) { // Local variables struct _List_iterator it; // r1+0x1C // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061E738 -> 0x8061E7A4 void NetCacheMgr::Unload() { // References // -> class Debug TheDebug; } // Range: 0x8061E7A4 -> 0x8061E954 class NetCacheLoader * NetCacheMgr::AddNetCacheLoader(class NetCacheMgr * const this /* r31 */, const class String & strRemotePath /* r30 */) { // Local variables struct _List_iterator it; // r1+0x24 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std31_List_node<17NetCacheLoaderRef>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; } // Range: 0x8061E954 -> 0x8061EAC8 void NetCacheMgr::DebugClearCache(class NetCacheMgr * const this /* r28 */) { // References // -> class Debug TheDebug; } // Range: 0x8061EAC8 -> 0x8061EC00 void NetCacheMgr::DebugPrintCache(class NetCacheMgr * const this /* r28 */) { // Local variables struct NetCacheEntry * it; // r29 class String strLastLocal; // r1+0x14 class String strLastNet; // r1+0x8 // References // -> class Debug TheDebug; } // Range: 0x8061EC00 -> 0x8061ECDC class Symbol NetCacheMgr::CheatNextServer(class NetCacheMgr * const this /* r31 */) { // Local variables struct _List_iterator s; // r1+0x2C // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061ECDC -> 0x8061EDC8 void NetCacheMgr::SetState() { // Local variables struct NetCacheEntry * it; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061EDC8 -> 0x8061EFAC void NetCacheMgr::EnsureFreeSpace(class NetCacheMgr * const this /* r25 */, int size /* r26 */) { // Local variables long long sizeNeed; // r29 long long sizeMax; // r0 long long sizeCache; // r0 long long sizeMaxAvailable; // r1+0x18 long long sizeCur; // r24 long long sizeLast; // r28 // References // -> class Debug TheDebug; } // Range: 0x8061EFAC -> 0x8061F0B4 unsigned long long NetCacheMgr::GetAvailableSpace(class NetCacheMgr * const this /* r29 */) { // Local variables unsigned long long size; // r1+0x8 unsigned char ret; // r0 enum CacheResult result; // r4 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061F0B4 -> 0x8061F1CC void NetCacheMgr::EnterLoadState(class NetCacheMgr * const this /* r29 */) { // Local variables unsigned char ret; // r0 enum CacheResult result; // r4 // References // -> class CacheMgr * TheCacheMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061F1CC -> 0x8061F370 void NetCacheMgr::StartResync(class NetCacheMgr * const this /* r27 */) { // Local variables unsigned char ret; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8061F370 -> 0x8061F4E0 void NetCacheMgr::ProcessDirectory(class NetCacheMgr * const this /* r30 */) { // Local variables class CacheDirEntry * it; // r31 struct NetCacheEntry * pEntry; // r0 struct NetCacheEntry entry; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\NetCacheMgr.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061F4E0 -> 0x8061F4FC */ // Range: 0x8061F4E0 -> 0x8061F4E8 unsigned char NetCacheMgr::IsDoneLoading() {} // Range: 0x8061F4E8 -> 0x8061F4F0 unsigned char NetCacheMgr::IsDoneUnloading() {} // Range: 0x8061F4F0 -> 0x8061F4F4 void NetCacheMgr::ReadyInit() {} // Range: 0x8061F4F4 -> 0x8061F4F8 void NetCacheMgr::LoadInit() {} // Range: 0x8061F4F8 -> 0x8061F4FC void NetCacheMgr::UnloadInit() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061F4FC -> 0x8061F6D4 */ // Range: 0x8061F4FC -> 0x8061F584 struct _List_iterator find_if() {} // Range: 0x8061F584 -> 0x8061F634 struct _List_iterator find(const class Symbol & __val /* r30 */) {} // Range: 0x8061F634 -> 0x8061F6D4 struct _List_iterator find(const class Symbol & __val /* r30 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061F6D4 -> 0x8061F84C */ // Range: 0x8061F6D4 -> 0x8061F76C void _List_base::clear(class _List_base * const this /* r28 */) { // Local variables class _List_node * __cur; // r30 class _List_node * __tmp; // r29 } // Range: 0x8061F76C -> 0x8061F7CC void _List_base::clear(class _List_base * const this /* r30 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r0 } // Range: 0x8061F7CC -> 0x8061F84C void _List_base::clear(class _List_base * const this /* r29 */) { // Local variables class _List_node * __cur; // r31 class _List_node * __tmp; // r30 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061F84C -> 0x8061FE10 */ // Range: 0x8061F84C -> 0x8061FC00 void vector::_M_insert_overflow_aux(class vector * const this /* r24 */, struct NetCacheEntry * __pos /* r25 */, const struct NetCacheEntry & __x /* r26 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r27 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r29 struct NetCacheEntry * __new_finish; // r28 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13NetCacheEntry; // -> unsigned char gStlAllocNameLookup; } // Range: 0x8061FC00 -> 0x8061FE10 void vector::reserve(class vector * const this /* r25 */, unsigned long __n /* r26 */) { // Local variables struct NetCacheEntry * __tmp; // r26 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P13NetCacheEntry; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\NetCacheMgr_Wii.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061FE10 -> 0x8061FEBC */ class NetCacheMgrWii : public NetCacheMgr { // total size: 0x94 }; // Range: 0x8061FE10 -> 0x8061FE4C void * NetCacheMgrWii::NetCacheMgrWii(class NetCacheMgrWii * const this /* r31 */) { // References // -> struct [anonymous] __vt__14NetCacheMgrWii; } // Range: 0x8061FE4C -> 0x8061FEA8 void * NetCacheMgrWii::~NetCacheMgrWii(class NetCacheMgrWii * const this /* r30 */) {} // Range: 0x8061FEA8 -> 0x8061FEB0 unsigned char NetCacheMgrWii::IsDoneLoading() {} // Range: 0x8061FEB0 -> 0x8061FEB4 void NetCacheMgrWii::UnloadInit() {} // Range: 0x8061FEB4 -> 0x8061FEBC unsigned char NetCacheMgrWii::IsDoneUnloading() {} struct { // total size: 0x6C } __vt__14NetCacheMgrWii; // size: 0x6C, address: 0x8092ECF0 struct { // total size: 0x8 } __RTTI__14NetCacheMgrWii; // size: 0x8, address: 0x8092ED88 /* Compile unit: C:\rockband2\system\src\obj\Object.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061FEBC -> 0x8061FFB4 */ // Range: 0x8061FEBC -> 0x8061FF28 void NetCacheMgrInit() { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class NetCacheMgr * TheNetCacheMgr; } // Range: 0x8061FF28 -> 0x8061FFB4 void NetCacheMgrWii::LoadInit(class NetCacheMgrWii * const this /* r10 */) { // Local variables unsigned char ret; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class CacheMgr * TheCacheMgr; } /* Compile unit: C:\rockband2\system\src\utl\Option.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8061FFB4 -> 0x806202D8 */ // Range: 0x8061FFB4 -> 0x80620084 static class DataNode DataOptionStr(class DataArray * a /* r31 */) { // Local variables const char * str; // r4 } // Range: 0x80620084 -> 0x80620170 static class DataNode DataOptionSym(class DataArray * a /* r31 */) { // Local variables class Symbol sym; // r1+0xC // References // -> const char * gNullStr; } // Range: 0x80620170 -> 0x806201CC static class DataNode DataOptionBool(class DataArray * a /* r31 */) {} // Range: 0x806201CC -> 0x80620248 static char * * FindOption(const char * option /* r30 */) { // Local variables const char * * i; // r31 // References // -> class vector TheSystemArgs; } // Range: 0x80620248 -> 0x806202D8 unsigned char OptionBool(unsigned char def /* r31 */) { // Local variables const char * * i; // r0 // References // -> class vector TheSystemArgs; } /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806202D8 -> 0x8062046C */ // Range: 0x806202D8 -> 0x8062034C void OptionInit() {} // Range: 0x8062034C -> 0x8062046C char * OptionStr(const char * def /* r30 */) { // Local variables const char * * i; // r31 const char * str; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class vector TheSystemArgs; } /* Compile unit: C:\rockband2\system\src\utl\Pool.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062046C -> 0x806204E0 */ // Range: 0x8062046C -> 0x806204A4 void * Pool::Pool() { // Local variables char * elem; // r5 int size; // r4 int num; // r6 } // Range: 0x806204A4 -> 0x806204C8 void * Pool::Alloc() {} // Range: 0x806204C8 -> 0x806204E0 void Pool::Free() {} /* Compile unit: C:\rockband2\system\src\utl\PoolAlloc.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806204E0 -> 0x80620E24 */ // Range: 0x806204E0 -> 0x806204EC static int SizeToIndex() {} // Range: 0x806204EC -> 0x806204F8 static int IndexToPoolSize() {} static int gHunkSize; // size: 0x4, address: 0x80A47BA0 static int gSmallHunkSize; // size: 0x4, address: 0x80A47BA4 static int gTotalChunksSize; // size: 0x4, address: 0x80A55508 static unsigned char gInited; // size: 0x1, address: 0x80A5550C // Range: 0x806204F8 -> 0x8062054C void PoolAllocInit(class DataArray * data /* r31 */) { // References // -> static unsigned char gInited; // -> static int gHunkSize; } static int * gPoolEnd; // size: 0x4, address: 0x80A55510 static int * gPoolStart; // size: 0x4, address: 0x80A55514 // Range: 0x8062054C -> 0x80620620 static int * RawPoolAlloc() { // Local variables int sizeWords; // r0 int * mem; // r0 // References // -> static int gSmallHunkSize; // -> static int gHunkSize; // -> static int * gPoolEnd; // -> static int * gPoolStart; // -> static int gTotalChunksSize; } class ChunkAllocator * gChunkAlloc; // size: 0x4, address: 0x80A55518 class FixedSizeAlloc { // total size: 0x1C public: void * __vptr$; // offset 0x0, size 0x4 protected: int mAllocSizeWords; // offset 0x4, size 0x4 int mNumAllocs; // offset 0x8, size 0x4 int mMaxAllocs; // offset 0xC, size 0x4 int mNumChunks; // offset 0x10, size 0x4 int * mFreeList; // offset 0x14, size 0x4 int mNodesPerChunk; // offset 0x18, size 0x4 }; // Range: 0x80620620 -> 0x806206A8 void * FixedSizeAlloc::FixedSizeAlloc(class FixedSizeAlloc * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> struct [anonymous] __vt__14FixedSizeAlloc; } // Range: 0x806206A8 -> 0x80620708 void * FixedSizeAlloc::Alloc(class FixedSizeAlloc * const this /* r31 */) { // Local variables int * mem; // r3 } // Range: 0x80620708 -> 0x80620780 void FixedSizeAlloc::Free(class FixedSizeAlloc * const this /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80620780 -> 0x80620854 void FixedSizeAlloc::Refill(class FixedSizeAlloc * const this /* r30 */) { // Local variables int chunk_size; // r31 int * chunk; // r3 int * ptr; // r3 int * end; // r4 int * next; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80620854 -> 0x8062085C int * FixedSizeAlloc::RawAlloc() {} // Range: 0x8062085C -> 0x806208A4 void FixedSizeAlloc::GetStats() {} class ChunkAllocator { // total size: 0x80 class FixedSizeAlloc * mAllocs[32]; // offset 0x0, size 0x80 }; // Range: 0x806208A4 -> 0x80620938 void * ChunkAllocator::ChunkAllocator(class ChunkAllocator * const this /* r29 */) { // Local variables int i; // r30 } // Range: 0x80620938 -> 0x806209B4 void * ChunkAllocator::Alloc(class ChunkAllocator * const this /* r30 */) { // Local variables int fixedSizeIndex; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806209B4 -> 0x80620A78 void ChunkAllocator::Free(class ChunkAllocator * const this /* r28 */, void * mem /* r29 */) { // Local variables int fixedSizeIndex; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80620A78 -> 0x80620B74 void ChunkAllocator::Print(class ChunkAllocator * const this /* r27 */, class TextStream & stream /* r28 */) { // Local variables int size; // r1+0x18 int allocs; // r1+0x14 int maxallocs; // r1+0x10 int cap; // r1+0xC int waste; // r1+0x8 int total_waste; // r30 int i; // r29 // References // -> static int gTotalChunksSize; } // Range: 0x80620B74 -> 0x80620C60 void * PoolAlloc(int classSize /* r29 */, int reqSize /* r31 */, const char * type /* r30 */) { // Local variables class CritSecTracker __cst; // r1+0x8 void * mem; // r31 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkAllocator * gChunkAlloc; // -> class CriticalSection * gMemLock; } // Range: 0x80620C60 -> 0x80620D08 void PoolFree(int classSize /* r30 */, void * mem /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkAllocator * gChunkAlloc; // -> class CriticalSection * gMemLock; } // Range: 0x80620D08 -> 0x80620D98 void PoolReport(class TextStream & stream /* r31 */) { // Local variables class CritSecTracker __cst; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkAllocator * gChunkAlloc; // -> class CriticalSection * gMemLock; } class ReclaimableAlloc : public FixedSizeAlloc { // total size: 0x2C const char * mType; // offset 0x1C, size 0x4 class vector mRawMems; // offset 0x20, size 0xC }; // Range: 0x80620D98 -> 0x80620E24 int * ReclaimableAlloc::RawAlloc(class ReclaimableAlloc * const this /* r31 */) { // Local variables void * mem; // r1+0xC } struct { // total size: 0x10 } __vt__16ReclaimableAlloc; // size: 0x10, address: 0x8092F060 struct { // total size: 0x8 } __RTTI__16ReclaimableAlloc; // size: 0x8, address: 0x8092F090 struct { // total size: 0x10 } __vt__14FixedSizeAlloc; // size: 0x10, address: 0x8092F098 struct { // total size: 0x8 } __RTTI__14FixedSizeAlloc; // size: 0x8, address: 0x8092F0B8 /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80620E24 -> 0x80620EA8 */ // Range: 0x80620E24 -> 0x80620EA8 char * MakeString(const char * fmt /* r0 */, int t1 /* r27 */, int t2 /* r28 */, int t3 /* r29 */, int t4 /* r30 */, int t5 /* r31 */) { // Local variables class FormatString f; // r1+0x8 } /* Compile unit: C:\rockband2\system\src\utl\PoolAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80620EA8 -> 0x80620EE8 */ // Range: 0x80620EA8 -> 0x80620EE8 void * FixedSizeAlloc::~FixedSizeAlloc(class FixedSizeAlloc * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\Profiler.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80620F70 -> 0x80620FF4 */ // Range: 0x80620F70 -> 0x80620FD4 void * Profiler::Profiler(class Profiler * const this /* r30 */, int countMax /* r31 */) {} // Range: 0x80620FD4 -> 0x80620FF4 void Profiler::Start() {} /* Compile unit: C:\rockband2\system\src\math\Utl.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80620FF4 -> 0x80621250 */ // Range: 0x80620FF4 -> 0x80621250 void Profiler::Stop(class Profiler * const this /* r31 */) { // References // -> class Debug TheDebug; // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } /* Compile unit: C:\rockband2\system\src\utl\Rso_Utl.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80621250 -> 0x806216DC */ struct RSOObjectHeader * staticRso; // size: 0x4, address: 0x80A55520 // Range: 0x80621250 -> 0x8062125C void * RsoMemAlloc() {} // Range: 0x8062125C -> 0x8062154C void * LoadRsoFile(const char * fileName /* r29 */, unsigned int & size /* r30 */, void * (* memoryAlloc)(int) /* r31 */) { // Local variables struct DVDFileInfo fileInfo; // r1+0xC long dvdFileNum; // r0 char newFileName[256]; // r1+0x48 void * buffer; // r31 class AsyncFileWii * file; // r29 int fileHandle; // r1+0x8 unsigned char failed; // r0 struct _FILE * file; // r29 void * buffer; // r31 int read; // r0 void * buffer; // r29 long status; // r3 int retryCount; // r30 } // Range: 0x8062154C -> 0x806215F4 struct RSOObjectHeader * RsoLoad(const char * moduleName /* r30 */) { // Local variables unsigned int length; // r1+0x8 struct RSOObjectHeader * module; // r31 unsigned char * bss; // r4 } // Range: 0x806215F4 -> 0x80621644 struct RSOObjectHeader * StaticRsoLoad() { // Local variables unsigned int length; // r1+0x8 struct RSOObjectHeader * module; // r31 } // Range: 0x80621644 -> 0x806216B8 unsigned char RsoInit(const char * staticRsoName /* r31 */) { // Local variables unsigned char success; // r0 // References // -> struct RSOObjectHeader * staticRso; } // Range: 0x806216B8 -> 0x806216DC void RsoTerminate() {} /* Compile unit: C:\rockband2\system\src\utl\Spew.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806216DC -> 0x806216E4 */ // Range: 0x806216DC -> 0x806216E0 void SpewInit() {} // Range: 0x806216E0 -> 0x806216E4 void SpewTerminate() {} /* Compile unit: C:\rockband2\system\src\utl\Str.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806216E4 -> 0x8062275C */ unsigned int npos; // size: 0x4, address: 0x80A57EE0 static char gEmpty; // size: 0x1, address: 0x80A55528 // Range: 0x806216E4 -> 0x80621730 void * String::String(class String * const this /* r31 */) { // References // -> static char gEmpty; // -> struct [anonymous] __vt__6String; } // Range: 0x80621730 -> 0x80621794 void * String::String(class String * const this /* r30 */, const char * str /* r31 */) { // References // -> static char gEmpty; // -> struct [anonymous] __vt__6String; } // Range: 0x80621794 -> 0x806217F8 void * String::String(class String * const this /* r30 */, class Symbol & sym /* r31 */) { // References // -> static char gEmpty; // -> struct [anonymous] __vt__6String; } // Range: 0x806217F8 -> 0x8062185C void * String::String(class String * const this /* r30 */, const class String & str /* r31 */) { // References // -> static char gEmpty; // -> struct [anonymous] __vt__6String; } // Range: 0x8062185C -> 0x806218F0 void String::reserve(class String * const this /* r29 */, unsigned int cap /* r30 */) { // Local variables char * str; // r31 } // Range: 0x806218F0 -> 0x80621964 void * String::~String(class String * const this /* r30 */) { // References // -> struct [anonymous] __vt__6String; } // Range: 0x80621964 -> 0x80621968 void String::Print() {} // Range: 0x80621968 -> 0x806219AC class String String::__pl(class String * tstr /* r30 */, const char * var /* r31 */) {} // Range: 0x806219AC -> 0x80621A3C class String & String::__apl(class String * const this /* r29 */, const char * str /* r30 */) { // Local variables int len; // r0 } // Range: 0x80621A3C -> 0x80621A44 class String & String::__apl() {} // Range: 0x80621A44 -> 0x80621A4C class String & String::__apl() {} // Range: 0x80621A4C -> 0x80621ABC class String & String::__apl(class String * const this /* r29 */, char c /* r30 */) { // Local variables int len; // r0 } // Range: 0x80621ABC -> 0x80621B48 class String & String::__as(class String * const this /* r30 */, const char * str /* r31 */) {} // Range: 0x80621B48 -> 0x80621B50 class String & String::__as() {} // Range: 0x80621B50 -> 0x80621B9C class String & String::__as(class String * const this /* r30 */, const class String & str /* r31 */) {} // Range: 0x80621B9C -> 0x80621C10 char & String::__vc(class String * const this /* r30 */, unsigned int i /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80621C10 -> 0x80621CA8 char & String::rindex(class String * const this /* r30 */, int i /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80621CA8 -> 0x80621CF0 unsigned char String::__ne(const class String * const this /* r5 */) {} // Range: 0x80621CF0 -> 0x80621D28 unsigned char String::__ne(const class String * const this /* r5 */) {} // Range: 0x80621D28 -> 0x80621D6C unsigned char String::__eq(const class String * const this /* r5 */) {} // Range: 0x80621D6C -> 0x80621DA0 unsigned char String::__eq(const class String * const this /* r5 */) {} // Range: 0x80621DA0 -> 0x80621DCC unsigned char String::__lt() {} // Range: 0x80621DCC -> 0x80621E10 void String::resize(class String * const this /* r30 */, unsigned int n /* r31 */) {} // Range: 0x80621E10 -> 0x80621EC4 unsigned int String::find(const class String * const this /* r29 */, char c /* r30 */, unsigned int pos /* r31 */) { // Local variables char * d; // r6 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80621EC4 -> 0x80621ED0 unsigned int String::find() {} // Range: 0x80621ED0 -> 0x80621ED8 unsigned int String::find() {} // Range: 0x80621ED8 -> 0x80621F74 unsigned int String::find(const class String * const this /* r31 */, const char * str /* r29 */, unsigned int pos /* r30 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80621F74 -> 0x8062204C unsigned int String::find_first_of(const class String * const this /* r29 */, const char * str /* r30 */, unsigned int pos /* r31 */) { // Local variables const char * c; // r7 const char * d; // r8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8062204C -> 0x80622054 unsigned int String::find_first_of() {} // Range: 0x80622054 -> 0x8062209C unsigned int String::find_last_of() {} // Range: 0x8062209C -> 0x80622134 unsigned int String::find_last_of(const class String * const this /* r29 */) { // Local variables int latest_pos; // r31 const char * c; // r30 int i; // r3 } // Range: 0x80622134 -> 0x806221FC unsigned int String::rfind(const class String * const this /* r28 */, const char * str /* r29 */) { // Local variables int pos; // r31 const char * c; // r30 int i; // r3 } // Range: 0x806221FC -> 0x80622230 unsigned char String::contains() {} // Range: 0x80622230 -> 0x80622348 class String String::substr(const class String * const this /* r28 */, unsigned int pos /* r29 */, unsigned int len /* r30 */) { // Local variables char buf[256]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80622348 -> 0x806223A0 void String::ToLower() { // Local variables char * c; // r5 // References // -> struct __locale _current_locale; } // Range: 0x806223A0 -> 0x806223F8 void String::ToUpper() { // Local variables char * c; // r5 // References // -> struct __locale _current_locale; } // Range: 0x806223F8 -> 0x80622428 void String::ReplaceAll() { // Local variables char * c; // r6 } // Range: 0x80622428 -> 0x8062244C void String::swap() { // Local variables char * str; // r5 unsigned int cap; // r6 } // Range: 0x8062244C -> 0x806225B8 class String & String::replace(class String * const this /* r31 */, unsigned int pos /* r27 */, unsigned int len /* r28 */, const char * str /* r29 */) { // Local variables int newlen; // r30 class String s; // r1+0x8 char * c; // r4 char * d; // r5 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806225B8 -> 0x806225C8 class String & String::erase() {} // Range: 0x806225C8 -> 0x806225E4 class String & String::erase() {} // Range: 0x806225E4 -> 0x806225EC class String & String::erase() {} // Range: 0x806225EC -> 0x806225F8 class String & String::insert() {} // Range: 0x806225F8 -> 0x8062269C unsigned char SearchReplace(const char * target /* r27 */, const char * search /* r28 */, const char * replace /* r29 */, char * out /* r30 */) { // Local variables unsigned char replaced; // r31 const char * r; // r0 int l; // r31 } // Range: 0x8062269C -> 0x8062275C unsigned char StrNCopy(char * dest /* r29 */, const char * src /* r30 */, int n /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } struct { // total size: 0x10 } __vt__6String; // size: 0x10, address: 0x8092F230 /* Compile unit: C:\rockband2\system\src\utl\StringTable.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062275C -> 0x80622BC0 */ // Range: 0x8062275C -> 0x806227B0 void * StringTable::StringTable(class StringTable * const this /* r31 */) {} // Range: 0x806227B0 -> 0x806228B0 void * StringTable::~StringTable(class StringTable * const this /* r30 */) { // Local variables int i; // r29 } // Range: 0x806228B0 -> 0x80622984 void StringTable::Reserve(class StringTable * const this /* r30 */, int size /* r31 */) { // Local variables int curSize; // r0 struct Buf buf; // r1+0x10 } // Range: 0x80622984 -> 0x80622B1C char * StringTable::Add(class StringTable * const this /* r29 */, const char * str /* r30 */) { // Local variables int len; // r1+0x8 int size; // r28 // References // -> const char * kAssertStr; // -> class Debug TheDebug; // -> class LoadMgr TheLoadMgr; } // Range: 0x80622B1C -> 0x80622B80 int StringTable::UsedSize() { // Local variables int size; // r5 int i; // r6 } // Range: 0x80622B80 -> 0x80622BC0 int StringTable::Size() { // Local variables int size; // r5 int i; // r6 } struct { // total size: 0x8 } __RTTI__PQ211StringTable3Buf; // size: 0x8, address: 0x8092F2F8 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80622BC0 -> 0x80622C7C */ // Range: 0x80622BC0 -> 0x80622C7C void StringTable::AddBuf(class StringTable * const this /* r31 */) { // Local variables struct Buf buf; // r1+0x10 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80622C7C -> 0x80622E68 */ // Range: 0x80622C7C -> 0x80622E68 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Buf * __pos /* r26 */, const struct Buf & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Buf * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211StringTable3Buf; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\utl\Symbol.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80622E68 -> 0x80623404 */ static class StringTable * gStringTable; // size: 0x4, address: 0x80A55530 class KeylessHash { // total size: 0x18 const char * * mEntries; // offset 0x0, size 0x4 int mSize; // offset 0x4, size 0x4 unsigned char mOwnEntries; // offset 0x8, size 0x1 int mNumEntries; // offset 0xC, size 0x4 const char * mEmpty; // offset 0x10, size 0x4 const char * mRemoved; // offset 0x14, size 0x4 }; static class KeylessHash gHashTable; // size: 0x18, address: 0x8098A3D8 // Range: 0x80622E68 -> 0x80622F38 void * Symbol::Symbol(class Symbol * const this /* r30 */, const char * str /* r1+0x8 */) { // Local variables const char * * pval; // r0 // References // -> class Debug TheDebug; // -> static class StringTable * gStringTable; // -> static class KeylessHash gHashTable; // -> const char * gNullStr; } // Range: 0x80622F38 -> 0x806231AC static class DataNode PrintSymbolTable(class DataArray * d /* r25 */) { // Local variables class vector vec; // r1+0x18 const char * * s; // r26 int i; // r26 // References // -> static class StringTable * gStringTable; // -> static class KeylessHash gHashTable; // -> class Debug TheDebug; } struct Alpha { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; // Range: 0x806231AC -> 0x80623210 void Symbol::PreInit(int stringSize /* r30 */, int hashSize /* r31 */) { // References // -> static class KeylessHash gHashTable; // -> static class StringTable * gStringTable; } // Range: 0x80623210 -> 0x80623268 void Symbol::Init() { // References // -> static class StringTable * gStringTable; } // Range: 0x80623268 -> 0x806232A8 void Symbol::Terminate() { // References // -> static class KeylessHash gHashTable; // -> static class StringTable * gStringTable; } // Range: 0x806232A8 -> 0x8062339C char * * KeylessHash::Find(class KeylessHash * const this /* r28 */, const char * const & key /* r29 */) { // Local variables int i; // r30 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } class DebugWarner _dw; // size: 0x100, address: 0x8098A3F0 // Range: 0x8062339C -> 0x80623404 static void __sinit_\Symbol_cpp() { // References // -> static class KeylessHash gHashTable; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80623404 -> 0x80623A14 */ // Range: 0x80623404 -> 0x806234A8 void sort(const char * * __first /* r29 */, const char * * __last /* r30 */, struct Alpha & __comp /* r31 */) {} // Range: 0x806234A8 -> 0x80623548 void __final_insertion_sort(const char * * __first /* r29 */, const char * * __last /* r30 */, struct Alpha & __comp /* r31 */) {} // Range: 0x80623548 -> 0x806235B0 void __unguarded_insertion_sort_aux(const char * * __last /* r29 */, struct Alpha & __comp /* r30 */) { // Local variables const char * * __i; // r31 } // Range: 0x806235B0 -> 0x80623624 void __unguarded_linear_insert(const char * * __last /* r28 */, const char * __val /* r29 */) { // Local variables const char * * __next; // r30 } // Range: 0x80623624 -> 0x806236E0 void __insertion_sort(const char * * __first /* r27 */, const char * * __last /* r28 */, struct Alpha & __comp /* r29 */) { // Local variables const char * * __i; // r30 } // Range: 0x806236E0 -> 0x80623844 void __introsort_loop(const char * * __first /* r28 */, const char * * __last /* r29 */, long __depth_limit /* r30 */, struct Alpha & __comp /* r31 */) { // Local variables const char * * __cut; // r24 } // Range: 0x80623844 -> 0x806238FC char * * __unguarded_partition(const char * * __first /* r29 */, const char * * __last /* r30 */, const char * __pivot /* r31 */) {} // Range: 0x806238FC -> 0x8062392C void partial_sort() {} // Range: 0x8062392C -> 0x80623A14 void __partial_sort(const char * * __first /* r25 */, const char * * __middle /* r26 */, const char * * __last /* r27 */, struct Alpha & __comp /* r28 */) { // Local variables const char * * __i; // r29 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80623A14 -> 0x80623A2C */ // Range: 0x80623A14 -> 0x80623A2C struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80623A2C -> 0x80623C28 */ // Range: 0x80623A2C -> 0x80623A80 void pop_heap(const char * * __last /* r7 */) {} // Range: 0x80623A80 -> 0x80623B88 void __adjust_heap(const char * * __first /* r28 */, long __holeIndex /* r29 */, long __len /* r27 */, const char * __val /* r30 */) { // Local variables long __topIndex; // r31 long __secondChild; // r26 } // Range: 0x80623B88 -> 0x80623C28 void make_heap(const char * * __first /* r29 */) {} /* Compile unit: C:\rockband2\system\src\utl\KeylessHash.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80623C28 -> 0x80624220 */ // Range: 0x80623C28 -> 0x80623ECC char * * KeylessHash::Insert(class KeylessHash * const this /* r28 */, const char * const & val /* r29 */) { // Local variables const char * key; // r25 int i; // r30 // References // -> class DebugWarner _dw; // -> class LoadMgr TheLoadMgr; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80623ECC -> 0x80624058 void KeylessHash::Resize(class KeylessHash * const this /* r29 */, int size /* r30 */, const char * * entries /* r31 */) { // Local variables unsigned char ownEntries; // r27 int i; // r4 const char * * pval; // r26 int i; // r25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80624058 -> 0x806240A0 void KeylessHash::Clear(class KeylessHash * const this /* r31 */) {} // Range: 0x806240A0 -> 0x806240F4 char * * KeylessHash::FirstFrom() { // Local variables const char * * end; // r6 } // Range: 0x806240F4 -> 0x806241BC void * KeylessHash::KeylessHash(class KeylessHash * const this /* r31 */) { // Local variables int i; // r5 } // Range: 0x806241BC -> 0x80624220 void * KeylessHash::~KeylessHash(class KeylessHash * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\utl\TempoMap.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80624220 -> 0x80624268 */ class SimpleTempoMap : public TempoMap { // total size: 0x8 float mTempo; // offset 0x4, size 0x4 }; static class SimpleTempoMap gDefaultTempoMap; // size: 0x8, address: 0x8098A500 class TempoMap * TheTempoMap; // size: 0x4, address: 0x80A47BC8 // Range: 0x80624220 -> 0x80624228 void SetTheTempoMap() { // References // -> class TempoMap * TheTempoMap; } // Range: 0x80624228 -> 0x80624238 void ResetTheTempoMap() { // References // -> class TempoMap * TheTempoMap; // -> static class SimpleTempoMap gDefaultTempoMap; } struct { // total size: 0x28 } __vt__14SimpleTempoMap; // size: 0x28, address: 0x8092F460 struct { // total size: 0x8 } __RTTI__14SimpleTempoMap; // size: 0x8, address: 0x8092F4A8 // Range: 0x80624238 -> 0x80624268 static void __sinit_\TempoMap_cpp() { // References // -> struct [anonymous] __vt__14SimpleTempoMap; // -> static class SimpleTempoMap gDefaultTempoMap; } /* Compile unit: C:\rockband2\system\src\utl\SimpleTempoMap.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80624268 -> 0x806242F8 */ // Range: 0x80624268 -> 0x80624270 int SimpleTempoMap::GetTempoChangePoint() {} // Range: 0x80624270 -> 0x80624278 int SimpleTempoMap::GetNumTempoChangePoints() {} // Range: 0x80624278 -> 0x80624290 float SimpleTempoMap::GetTempoBPM() {} // Range: 0x80624290 -> 0x806242A0 float SimpleTempoMap::GetTempo() {} // Range: 0x806242A0 -> 0x806242AC float SimpleTempoMap::TimeToTick() {} // Range: 0x806242AC -> 0x806242B8 float SimpleTempoMap::TickToTime() {} // Range: 0x806242B8 -> 0x806242F8 void * SimpleTempoMap::~SimpleTempoMap(class SimpleTempoMap * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\utl\TextFileStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806242F8 -> 0x806243F0 */ static char kCRLF[2]; // size: 0x2, address: 0x80A57F00 // Range: 0x806242F8 -> 0x8062436C void * TextFileStream::TextFileStream(class TextFileStream * const this /* r29 */, const char * file /* r30 */, unsigned char append /* r31 */) { // References // -> struct [anonymous] __vt__14TextFileStream; } // Range: 0x8062436C -> 0x806243F0 void TextFileStream::Print(class TextFileStream * const this /* r30 */) { // Local variables const char * ptr; // r31 // References // -> static char kCRLF[2]; } struct { // total size: 0x10 } __vt__14TextFileStream; // size: 0x10, address: 0x8092F4B0 struct { // total size: 0x8 } __RTTI__14TextFileStream; // size: 0x8, address: 0x8092F4E0 /* Compile unit: C:\rockband2\system\src\utl\TextStream.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806243F0 -> 0x80624848 */ // Range: 0x806243F0 -> 0x80624400 void * TextStream::TextStream() { // References // -> struct [anonymous] __vt__10TextStream; } // Range: 0x80624400 -> 0x80624494 class TextStream & TextStream::__ls(class TextStream * const this /* r31 */, char i /* r0 */) { // Local variables char buf[1024]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80624494 -> 0x80624524 class TextStream & TextStream::__ls(class TextStream * const this /* r31 */) { // Local variables char buf[1024]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80624524 -> 0x806245B4 class TextStream & TextStream::__ls(class TextStream * const this /* r31 */) { // Local variables char buf[1024]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806245B4 -> 0x80624644 class TextStream & TextStream::__ls(class TextStream * const this /* r31 */) { // Local variables char buf[1024]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80624644 -> 0x806246D8 class TextStream & TextStream::__ls(class TextStream * const this /* r30 */) { // Local variables char buf[1024]; // r1+0x8 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806246D8 -> 0x80624758 class TextStream & TextStream::__ls(class TextStream * const this /* r30 */, const char * c /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80624758 -> 0x80624798 class TextStream & TextStream::__ls(class TextStream * const this /* r31 */) {} // Range: 0x80624798 -> 0x806247EC class TextStream & TextStream::__ls(class TextStream * const this /* r31 */) {} // Range: 0x806247EC -> 0x80624848 void TextStream::Space(class TextStream * const this /* r30 */, int n /* r31 */) {} struct { // total size: 0x10 } __vt__10TextStream; // size: 0x10, address: 0x8092F6A8 /* Compile unit: C:\rockband2\system\src\utl\TimeConversion.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80624848 -> 0x80624B48 */ // Range: 0x80624848 -> 0x806248A0 static class DataNode OnSecondsToBeat(class DataArray * msg /* r31 */) {} // Range: 0x806248A0 -> 0x806248F8 static class DataNode OnBeatToSeconds(class DataArray * msg /* r31 */) {} // Range: 0x806248F8 -> 0x80624950 static class DataNode OnBeatToMs(class DataArray * msg /* r31 */) {} // Range: 0x80624950 -> 0x806249A8 static class DataNode OnMsToTick(class DataArray * msg /* r31 */) {} // Range: 0x806249A8 -> 0x80624A34 void TimeConversionInit() {} // Range: 0x80624A34 -> 0x80624A48 float MsToTick() { // References // -> class TempoMap * TheTempoMap; } // Range: 0x80624A48 -> 0x80624A8C float MsToBeat() { // References // -> class BeatMap * TheBeatMap; // -> class TempoMap * TheTempoMap; } // Range: 0x80624A8C -> 0x80624AA0 float TickToMs() { // References // -> class TempoMap * TheTempoMap; } // Range: 0x80624AA0 -> 0x80624AD8 float BeatToMs() { // References // -> class TempoMap * TheTempoMap; // -> class BeatMap * TheBeatMap; } // Range: 0x80624AD8 -> 0x80624AE0 float BeatToTick() { // References // -> class BeatMap * TheBeatMap; } // Range: 0x80624AE0 -> 0x80624AEC float TickToBeat() { // References // -> class BeatMap * TheBeatMap; } // Range: 0x80624AEC -> 0x80624AF8 float SecondsToBeat() {} // Range: 0x80624AF8 -> 0x80624B20 float TickToSeconds() {} // Range: 0x80624B20 -> 0x80624B48 float BeatToSeconds() {} /* Compile unit: C:\rockband2\system\src\utl\UTF8.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80624B48 -> 0x80624E80 */ // Range: 0x80624B48 -> 0x80624D18 unsigned int EncodeUTF8(class String & out /* r31 */, unsigned int in /* r29 */) { // References // -> const char * kAssertStr; // -> class Debug TheDebug; } // Range: 0x80624D18 -> 0x80624E80 void ASCIItoUTF8(char * out /* r26 */, int len /* r27 */, const char * in /* r28 */) { // Local variables class String utf8; // r1+0x8 char * currOut; // r30 unsigned int num; // r0 unsigned int i; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\utl\VarTimer.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80624E80 -> 0x80625188 */ // Range: 0x80624E80 -> 0x80624EC0 void * VarTimer::VarTimer(class VarTimer * const this /* r31 */) {} // Range: 0x80624EC0 -> 0x80624EEC void VarTimer::Start() {} // Range: 0x80624EEC -> 0x80624FD0 void VarTimer::Stop(class VarTimer * const this /* r30 */) { // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } // Range: 0x80624FD0 -> 0x80625048 void VarTimer::Reset(class VarTimer * const this /* r30 */, float startMs /* f31 */) {} // Range: 0x80625048 -> 0x806250B0 void VarTimer::SetSpeed(class VarTimer * const this /* r30 */, float speed /* f31 */) {} // Range: 0x806250B0 -> 0x80625188 float VarTimer::Ms(class VarTimer * const this /* r30 */) { // Local variables float ms; // f1 // References // -> float sLowCycles2Ms; // -> float sHighCycles2Ms; } /* Compile unit: C:\rockband2\system\src\utl\Wav.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80625188 -> 0x80625374 */ static const char * riffID; // size: 0x4, address: 0x80A47BF0 static const char * waveID; // size: 0x4, address: 0x80A47BF4 static const char * formatID; // size: 0x4, address: 0x80A47BF8 static const char * dataID; // size: 0x4, address: 0x80A47BFC struct ChunkHeader { // total size: 0x8 char mID[4]; // offset 0x0, size 0x4 unsigned int mSize; // offset 0x4, size 0x4 }; struct RIFFHeader { // total size: 0x4 char mFileID[4]; // offset 0x0, size 0x4 }; struct FormatChunk { // total size: 0x10 signed short mFormatTag; // offset 0x0, size 0x2 unsigned short mChannels; // offset 0x2, size 0x2 unsigned int mSamplesPerSec; // offset 0x4, size 0x4 unsigned int mAvgBytesPerSec; // offset 0x8, size 0x4 unsigned short mBlockAlign; // offset 0xC, size 0x2 unsigned short mBitsPerSample; // offset 0xE, size 0x2 }; // Range: 0x80625188 -> 0x80625374 void WriteWav(int samplesPerSec /* r30 */, void * buf /* r28 */, int bufsize /* r29 */) { // Local variables int fd; // r31 int size; // r3 struct ChunkHeader chunk; // r1+0x20 struct RIFFHeader hdr; // r1+0xC struct ChunkHeader chunk; // r1+0x18 struct FormatChunk fmtChunk; // r1+0x28 struct ChunkHeader chunk; // r1+0x10 const signed short * sampBuf; // r0 int i; // r30 signed short samp; // r1+0x8 // References // -> static const char * dataID; // -> static const char * formatID; // -> static const char * waveID; // -> static const char * riffID; // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\os\Endian.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80625374 -> 0x8062539C */ // Range: 0x80625374 -> 0x80625388 void EndianSwapEq() {} // Range: 0x80625388 -> 0x8062539C void EndianSwapEq() {} /* Compile unit: C:\rockband2\system\src\utl\WaveFile.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062539C -> 0x8062571C */ // Range: 0x8062539C -> 0x806253BC static unsigned char CompareCuePoints() {} // Range: 0x806253BC -> 0x8062541C void * WaveFile::WaveFile(class WaveFile * const this /* r31 */) {} // Range: 0x8062541C -> 0x80625524 void * WaveFile::~WaveFile(class WaveFile * const this /* r30 */) {} class vector : protected _Vector_base { // total size: 0xC }; class vector : protected _Vector_base { // total size: 0xC }; struct _OKToMemCpy { // total size: 0x1 }; struct _OKToSwap { // total size: 0x1 }; class StlNodeAlloc { // total size: 0x1 }; struct CuePoint { // total size: 0x8 int mFrame; // offset 0x0, size 0x4 int mID; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct CuePoint * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct CuePoint * _M_start; // offset 0x0, size 0x4 struct CuePoint * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; class StlNodeAlloc { // total size: 0x1 }; struct Label { // total size: 0x10 class String mName; // offset 0x0, size 0xC int mID; // offset 0xC, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct Label * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct Label * _M_start; // offset 0x0, size 0x4 struct Label * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; // Range: 0x80625524 -> 0x806255D0 void WaveFile::ReadNumSamples(class WaveFile * const this /* r30 */) { // Local variables const class ChunkHeader * chunk; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkID kWaveDataChunkID; } // Range: 0x806255D0 -> 0x80625664 class IListChunk & WaveFile::PrepareToProvideData(class WaveFile * const this /* r31 */) { // Local variables const class ChunkHeader * chunk; // r0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkID kWaveDataChunkID; } // Range: 0x80625664 -> 0x806256C0 void * WaveFileData::WaveFileData(class WaveFileData * const this /* r30 */, class WaveFile & file /* r31 */) { // References // -> struct [anonymous] __vt__12WaveFileData; } // Range: 0x806256C0 -> 0x8062571C void * WaveFileData::~WaveFileData(class WaveFileData * const this /* r30 */) {} struct { // total size: 0x2C } __vt__12WaveFileData; // size: 0x2C, address: 0x8092F888 struct { // total size: 0x8 } __RTTI__12WaveFileData; // size: 0x8, address: 0x8092F8D8 struct { // total size: 0x8 } __RTTI__PQ222@unnamed@WaveFile_cpp@5Label; // size: 0x8, address: 0x8092F938 struct { // total size: 0x8 } __RTTI__PQ222@unnamed@WaveFile_cpp@8CuePoint; // size: 0x8, address: 0x8092F968 struct { // total size: 0x8 } __RTTI__P14WaveFileMarker; // size: 0x8, address: 0x8092F988 /* Compile unit: C:\rockband2\system\src\stlport\stl\_algobase.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062571C -> 0x80625F90 */ // Range: 0x8062571C -> 0x806258B0 void WaveFile::ReadFormat(class WaveFile * const this /* r30 */) { // Local variables const class ChunkHeader * chunk; // r0 class IDataChunk formatChunk; // r1+0xC // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkID kWaveFormatChunkID; } // Range: 0x806258B0 -> 0x80625F90 void WaveFile::ReadMarkers(class WaveFile * const this /* r30 */) { // Local variables class vector cues; // r1+0xE8 class vector labels; // r1+0xDC int numCuePoints; // r1+0xB0 int i; // r31 const class ChunkHeader * chunk; // r0 class IDataChunk cueChunk; // r1+0x158 int id; // r1+0xAC int frame; // r1+0xA8 class IListChunk adtlList; // r1+0x12C class IDataChunk lablChunk; // r1+0x108 int len; // r29 int id; // r1+0xA4 class String str; // r1+0xD0 int j; // r29 // References // -> class Debug TheDebug; // -> const char * kAssertStr; // -> class ChunkID kWaveLabelChunkID; // -> class ChunkID kWaveAdditionalChunkID; // -> class ChunkID kWaveCueChunkID; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_algo.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80625F90 -> 0x80626614 */ // Range: 0x80625F90 -> 0x80626024 void sort(struct CuePoint * __first /* r29 */, struct CuePoint * __last /* r30 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r31 */) {} // Range: 0x80626024 -> 0x806260AC void __final_insertion_sort(struct CuePoint * __first /* r29 */, struct CuePoint * __last /* r30 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r31 */) {} // Range: 0x806260AC -> 0x8062611C void __unguarded_insertion_sort_aux(struct CuePoint * __last /* r29 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r30 */) { // Local variables struct CuePoint * __i; // r31 } // Range: 0x8062611C -> 0x806261B0 void __unguarded_linear_insert(struct CuePoint * __last /* r28 */, struct CuePoint & __val /* r29 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r30 */) { // Local variables struct CuePoint * __next; // r31 } // Range: 0x806261B0 -> 0x806262C0 void __insertion_sort(struct CuePoint * __first /* r28 */, struct CuePoint * __last /* r29 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r30 */) { // Local variables struct CuePoint * __i; // r31 } // Range: 0x806262C0 -> 0x8062643C void __introsort_loop(struct CuePoint * __first /* r27 */, struct CuePoint * __last /* r28 */, long __depth_limit /* r29 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r30 */) { // Local variables struct CuePoint * __cut; // r31 } // Range: 0x8062643C -> 0x80626520 struct CuePoint * __unguarded_partition(struct CuePoint * __first /* r28 */, struct CuePoint * __last /* r29 */, struct CuePoint & __pivot /* r30 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r31 */) {} // Range: 0x80626520 -> 0x8062652C void partial_sort() {} // Range: 0x8062652C -> 0x80626614 void __partial_sort(struct CuePoint * __first /* r27 */, struct CuePoint * __middle /* r28 */, struct CuePoint * __last /* r29 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r30 */) { // Local variables struct CuePoint * __i; // r31 } /* Compile unit: C:\rockband2\system\src\stlport\stl\type_traits.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80626614 -> 0x80626644 */ // Range: 0x80626614 -> 0x8062662C struct __false_type _OKToMemCpy::_Answer() {} // Range: 0x8062662C -> 0x80626644 struct __true_type _OKToSwap::_Answer() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_heap.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80626644 -> 0x806268D0 */ // Range: 0x80626644 -> 0x806266AC void pop_heap(struct CuePoint * __last /* r8 */) {} // Range: 0x806266AC -> 0x80626820 void __adjust_heap(struct CuePoint * __first /* r25 */, long __holeIndex /* r26 */, long __len /* r27 */, struct CuePoint & __val /* r28 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r29 */) { // Local variables long __topIndex; // r31 long __secondChild; // r30 } // Range: 0x80626820 -> 0x806268D0 void make_heap(struct CuePoint * __first /* r28 */, unsigned char (* __comp)(struct CuePoint &, struct CuePoint &) /* r29 */) {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806268D0 -> 0x80626F28 */ // Range: 0x806268D0 -> 0x80626AE4 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct Label * __pos /* r26 */, const struct Label & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct Label * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ222@unnamed@WaveFile_cpp@5Label; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80626AE4 -> 0x80626CD0 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct CuePoint * __pos /* r26 */, const struct CuePoint & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct CuePoint * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ222@unnamed@WaveFile_cpp@8CuePoint; // -> unsigned char gStlAllocNameLookup; } // Range: 0x80626CD0 -> 0x80626F28 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, class WaveFileMarker * __pos /* r26 */, const class WaveFileMarker & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 class WaveFileMarker * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P14WaveFileMarker; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\math\SHA1.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80626F28 -> 0x80628BBC */ // Range: 0x80626F28 -> 0x80626F60 void * CSHA1::CSHA1(class CSHA1 * const this /* r31 */) {} // Range: 0x80626F60 -> 0x80626FB4 void * CSHA1::~CSHA1(class CSHA1 * const this /* r30 */) {} // Range: 0x80626FB4 -> 0x80627000 void CSHA1::Reset() {} // Range: 0x80627000 -> 0x80628974 void CSHA1::Transform(class CSHA1 * const this /* r25 */, unsigned long * pState /* r26 */) { // Local variables unsigned long a; // r31 unsigned long b; // r30 unsigned long c; // r29 unsigned long d; // r28 unsigned long e; // r27 } // Range: 0x80628974 -> 0x80628A70 void CSHA1::Update(class CSHA1 * const this /* r28 */, const unsigned char * pData /* r29 */, unsigned long uLen /* r30 */) { // Local variables unsigned long i; // r31 unsigned long j; // r6 } // Range: 0x80628A70 -> 0x80628BA8 void CSHA1::Final(class CSHA1 * const this /* r31 */) { // Local variables unsigned long i; // r5 unsigned char finalcount[8]; // r1+0x8 } // Range: 0x80628BA8 -> 0x80628BBC void CSHA1::GetHash(const class CSHA1 * const this /* r5 */) {} /* Compile unit: C:\rockband2\system\src\math\Sort.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80628BBC -> 0x80628BF8 */ // Range: 0x80628BBC -> 0x80628BF8 int HashString() { // Local variables int h; // r6 const unsigned char * u; // r3 } /* Compile unit: C:\rockband2\system\src\math\Geo.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80628BF8 -> 0x8062C028 */ static float gBSPPosTol; // size: 0x4, address: 0x80A47C08 static float gBSPDirTol; // size: 0x4, address: 0x80A47C0C static int gBSPMaxDepth; // size: 0x4, address: 0x80A47C10 static int gBSPMaxCandidates; // size: 0x4, address: 0x80A47C14 static float gBSPCheckScale; // size: 0x4, address: 0x80A47C18 // Range: 0x80628BF8 -> 0x80628CE0 static class DataNode SetBSPParams(class DataArray * a /* r29 */) {} // Range: 0x80628CE0 -> 0x80628E64 void GeoInit() { // Local variables class DataArray * config; // r27 } // Range: 0x80628E64 -> 0x80628F50 class BinStream & __rs(class BinStream & d /* r29 */, class BSPNode * & s /* r30 */) { // Local variables unsigned char c; // r1+0x8 } // Range: 0x80628F50 -> 0x80628FD4 void Box::GrowToContain() { // Local variables int i; // r6 } // Range: 0x80628FD4 -> 0x80629094 unsigned char Box::Clamp() {} // Range: 0x80629094 -> 0x806291B0 void Multiply() { // Local variables class Vector3 center; // r1+0x10 } // Range: 0x806291B0 -> 0x80629328 void Multiply(const class Plane & a /* r29 */, const class Transform & b /* r30 */, class Plane & c /* r31 */) { // Local variables class Vector3 on; // r1+0x30 class Vector3 n; // r1+0x20 class Matrix3 m; // r1+0x40 } // Range: 0x80629328 -> 0x80629390 void Intersect() { // Local variables float a; // f1 float b; // f2 float c; // f3 float d; // f4 float e; // f5 float f; // f6 float g; // f7 float h; // f8 float l2; // f9 } // Range: 0x80629390 -> 0x80629554 void Intersect() { // Local variables class Vector3 base; // r1+0x30 class Vector3 dir; // r1+0x20 } // Range: 0x80629554 -> 0x8062988C unsigned char Intersect() { // Local variables class Vector3 v; // r1+0x20 float d; // f0 class Vector3 v2; // r1+0x10 float zx; // f0 float zy; // f0 float zz; // f0 int i; // r0 int j; // r6 float x; // f1 float y; // f2 float A; // f31 float B; // f30 float C; // f29 float D; // f28 float E; // f27 float F; // f26 float det; // f25 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8062988C -> 0x80629964 unsigned char Intersect(const class Vector3 & v /* r30 */, const class BSPNode * n /* r31 */) { // Local variables float dot; // f0 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80629964 -> 0x80629D64 unsigned char Intersect(const class Segment & s /* r28 */, const class BSPNode * n /* r29 */, float & dist /* r30 */, class Plane & plane /* r31 */) { // Local variables float startDot; // f0 float endDot; // f0 float d; // r1+0x10 float diff; // f2 float ratio; // f31 class Segment startSeg; // r1+0x40 class Segment endSeg; // r1+0x20 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80629D64 -> 0x8062A068 unsigned char Intersect(const class Transform & t /* r28 */, const class Polygon & p /* r29 */, const class BSPNode * n /* r30 */) { // Local variables unsigned char front; // r6 unsigned char back; // r7 const class Vector2 * i; // r8 class Vector3 v; // r1+0x60 float dot; // f0 class Ray r; // r1+0x48 class Polygon splitPoly; // r1+0x38 } // Range: 0x8062A07C -> 0x8062A254 unsigned char Intersect() { // Local variables class Vector3 d; // r1+0x20 class Vector3 d2; // r1+0x10 float sq; // f0 float dist; // f0 } // Range: 0x8062A254 -> 0x8062A26C void SetBSPParams() { // References // -> static float gBSPCheckScale; // -> static int gBSPMaxCandidates; // -> static int gBSPMaxDepth; // -> static float gBSPDirTol; // -> static float gBSPPosTol; } // Range: 0x8062A26C -> 0x8062AA28 unsigned char CheckBSPTree(const class BSPNode * tree /* r31 */, const class Box & box /* r30 */) { // Local variables class Box b; // r1+0x110 class Polygon p; // r1+0x100 class Transform t; // r1+0x130 // References // -> static float gBSPCheckScale; } static int depth; // size: 0x4, address: 0x80A55538 // Range: 0x8062AA28 -> 0x8062AAE0 void NumNodes(const class BSPNode * n /* r29 */, int & num /* r30 */, int & maxDepth /* r31 */) { // References // -> static int depth; } // Range: 0x8062AAE0 -> 0x8062AAF8 static unsigned char __lt() {} // Range: 0x8062AAF8 -> 0x8062ABF0 void BSPFace::OnSide() { // Local variables class Vector2 * point; // r7 class Vector3 v; // r1+0x10 float dot; // f0 // References // -> static float gBSPPosTol; } // Range: 0x8062ABF0 -> 0x8062B050 void BSPFace::Update(class BSPFace * const this /* r31 */) { // Local variables class Vector2 * i; // r30 class Vector2 * p1; // r3 class Vector2 * p2; // r4 class Vector3 v; // r1+0x60 class Vector3 v2; // r1+0x50 class Vector3 v3; // r1+0x40 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node<5Plane>; // -> unsigned char gStlAllocNameLookup; // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8062B050 -> 0x8062B5F8 void BSPFace::Set(class BSPFace * const this /* r30 */, const class Vector3 & p2 /* r29 */, const class Vector3 & p3 /* r31 */) { // Local variables class Vector3 v; // r1+0x50 } struct binary_function { // total size: 0x1 }; struct __stlport_class { // total size: 0x1 }; struct less : public binary_function, public __stlport_class { // total size: 0x1 }; // Range: 0x8062B5F8 -> 0x8062B824 void Sphere::GrowToContain() { // Local variables class Vector3 v; // r1+0x30 float d; // f0 class Vector3 a; // r1+0x20 class Vector3 b; // r1+0x10 } // Range: 0x8062B84C -> 0x8062BA0C void Frustum::Set(class Frustum * const this /* r31 */, float yFov /* f30 */, float yRatio /* f31 */) { // Local variables float h; // f28 class Vector2 v; // r1+0x8 } // Range: 0x8062BA0C -> 0x8062BBE0 unsigned char __gt() {} // Range: 0x8062BBE0 -> 0x8062C028 void Clip(const class Polygon & p1 /* r27 */, const class Ray & r /* r28 */, class Polygon & p2 /* r29 */) { // Local variables class vector * newPoints; // r31 class vector tempPoints; // r1+0x60 class Vector2 v; // r1+0x58 float lastDot; // f4 const class Vector2 * i; // r30 const class Vector2 * lastPoint; // r3 float dot; // f31 } /* Compile unit: C:\rockband2\system\src\math\Vec.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062C028 -> 0x8062C034 */ // Range: 0x8062C028 -> 0x8062C034 void * Vector2::Vector2() {} /* Compile unit: C:\rockband2\system\src\utl\StlAlloc.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062C034 -> 0x8062CB60 */ // Range: 0x8062C034 -> 0x8062CB34 unsigned char MakeBSPTree(class BSPNode * & n /* r23 */, class list & faces /* r24 */, int depth /* r25 */) { // Local variables int numFaces; // r0 float lowestSum; // f31 struct _List_iterator t; // r1+0x10C int i; // r29 struct _List_iterator p; // r1+0x108 float frontArea; // f30 float backArea; // f29 int frontFaces; // r28 int backFaces; // r27 int numSplit; // r26 struct _List_iterator ti; // r1+0x104 unsigned char front; // r1+0x3F unsigned char back; // r1+0x3E float sum; // f1 class list frontFaces; // r1+0x158 class list backFaces; // r1+0x150 unsigned char front; // r1+0x3D unsigned char back; // r1+0x3C class Ray r; // r1+0x160 class BSPFace tf; // r1+0x170 // References // -> struct [anonymous] __RTTI__PQ211stlpmtx_std18_List_node<5Plane>; // -> struct [anonymous] __RTTI__P7Vector2; // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__PQ211stlpmtx_std20_List_node<7BSPFace>; // -> unsigned char gStlAllocNameLookup; // -> static int gBSPMaxCandidates; // -> static float gBSPDirTol; // -> class Debug TheDebug; // -> static int gBSPMaxDepth; } // Range: 0x8062CB34 -> 0x8062CB60 void _Vector_base::_M_throw_length_error() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062CB60 -> 0x8062CCC8 */ // Range: 0x8062CB60 -> 0x8062CC30 void vector::resize(unsigned long __new_size /* r7 */) {} // Range: 0x8062CC30 -> 0x8062CC40 class Vector2 & vector::__vc() {} // Range: 0x8062CC40 -> 0x8062CCC8 void vector::clear() {} /* Compile unit: C:\rockband2\system\src\math\Geo.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062CCC8 -> 0x8062CCCC */ // Range: 0x8062CCC8 -> 0x8062CCCC void * Box::Box() {} /* Compile unit: C:\rockband2\system\src\math\Mtx.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062CCCC -> 0x8062CCFC */ // Range: 0x8062CCCC -> 0x8062CCFC void Matrix3::Identity() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062CCFC -> 0x8062D17C */ // Range: 0x8062CCFC -> 0x8062D0A8 void _S_sort(class list & __that /* r28 */, struct less & __comp /* r29 */) { // Local variables class list __carry; // r1+0x98 class list __counter[64]; // r1+0xA0 int __fill; // r31 int __i; // r30 int __i; // r30 } // Range: 0x8062D0A8 -> 0x8062D17C void _S_merge() { // Local variables struct _List_iterator __first1; // r1+0x24 struct _List_iterator __last1; // r1+0x20 struct _List_iterator __first2; // r1+0x1C struct _List_iterator __last2; // r1+0x18 struct _List_iterator __next; // r1+0x14 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_list.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062D17C -> 0x8062D180 */ // Range: 0x8062D17C -> 0x8062D180 class StlNodeAlloc _List_base::get_allocator() {} /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062D180 -> 0x8062D30C */ // Range: 0x8062D180 -> 0x8062D30C void vector::reserve(class vector * const this /* r29 */, unsigned long __n /* r30 */) { // Local variables class Vector2 * __tmp; // r27 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P7Vector2; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\math\Color.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062D30C -> 0x8062D618 */ // Range: 0x8062D30C -> 0x8062D464 void MakeHSL() { // Local variables float maxcolor; // f3 float mincolor; // f4 float delta; // f5 } // Range: 0x8062D464 -> 0x8062D598 void MakeColor() { // Local variables float temp2; // f5 float temp1; // f6 float * col; // r0 int i; // r4 float temp3; // f7 } // Range: 0x8062D598 -> 0x8062D618 class TextStream & __ls(class TextStream & d /* r30 */, const class Color & c /* r31 */) {} /* Compile unit: C:\rockband2\system\src\math\Interp.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062D618 -> 0x8062DAB8 */ // Range: 0x8062D618 -> 0x8062D654 void * LinearInterpolator::LinearInterpolator(class LinearInterpolator * const this /* r31 */) { // References // -> struct [anonymous] __vt__18LinearInterpolator; } // Range: 0x8062D654 -> 0x8062D664 void * LinearInterpolator::LinearInterpolator() { // References // -> struct [anonymous] __vt__18LinearInterpolator; } // Range: 0x8062D664 -> 0x8062D6C0 void LinearInterpolator::Reset() { // Local variables float run; // f4 } // Range: 0x8062D6C0 -> 0x8062D77C void LinearInterpolator::Reset(class LinearInterpolator * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x8062D77C -> 0x8062D84C void * ATanInterpolator::ATanInterpolator(class ATanInterpolator * const this /* r31 */, float y0 /* f27 */, float y1 /* f28 */, float x0 /* f29 */, float x1 /* f30 */, float severity /* f31 */) { // References // -> struct [anonymous] __vt__16ATanInterpolator; } // Range: 0x8062D84C -> 0x8062D954 void ATanInterpolator::Reset(class ATanInterpolator * const this /* r31 */, float y0 /* f27 */, float y1 /* f28 */, float x0 /* f29 */, float x1 /* f30 */, float severity /* f31 */) { // Local variables float x0val; // f0 float x1val; // f1 float rise; // f2 // References // -> class Debug TheDebug; } // Range: 0x8062D954 -> 0x8062DA68 void ATanInterpolator::Reset(class ATanInterpolator * const this /* r30 */, const class DataArray * data /* r31 */) {} // Range: 0x8062DA68 -> 0x8062DAB8 float ATanInterpolator::Eval(class ATanInterpolator * const this /* r31 */) { // Local variables float xnorm; // f0 float ydenorm; // f0 float ynorm; // f1 } struct { // total size: 0x14 } __vt__16ATanInterpolator; // size: 0x14, address: 0x8092FBDC struct { // total size: 0x8 } __RTTI__16ATanInterpolator; // size: 0x8, address: 0x8092FC10 struct { // total size: 0x14 } __vt__18LinearInterpolator; // size: 0x14, address: 0x8092FC18 struct { // total size: 0x8 } __RTTI__18LinearInterpolator; // size: 0x8, address: 0x8092FC50 struct { // total size: 0x8 } __RTTI__12Interpolator; // size: 0x8, address: 0x8092FC68 /* Compile unit: C:\rockband2\system\src\math\Rand.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062DAB8 -> 0x8062DD5C */ // Range: 0x8062DAB8 -> 0x8062DB18 void * Rand::Rand(class Rand * const this /* r31 */) {} // Range: 0x8062DB18 -> 0x8062DB6C void Rand::Seed() { // Local variables unsigned int seed; // r4 int i; // r7 int rand_lo; // r0 int rand_hi; // r0 } // Range: 0x8062DB6C -> 0x8062DBFC int Rand::Int(class Rand * const this /* r29 */, int low /* r30 */, int high /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x8062DBFC -> 0x8062DC4C float Rand::Float(float low /* f30 */, float high /* f31 */) {} // Range: 0x8062DC4C -> 0x8062DC98 float Rand::Float() { // Local variables float answer; // f1 } // Range: 0x8062DC98 -> 0x8062DD00 int Rand::Int() { // Local variables int ret; // r5 } class Rand gRand; // size: 0x410, address: 0x8098A508 // Range: 0x8062DD00 -> 0x8062DD10 void SeedRand() { // References // -> class Rand gRand; } // Range: 0x8062DD10 -> 0x8062DD1C int RandomInt() { // References // -> class Rand gRand; } // Range: 0x8062DD1C -> 0x8062DD34 int RandomInt(int low /* r0 */) { // References // -> class Rand gRand; } // Range: 0x8062DD34 -> 0x8062DD40 float RandomFloat() { // References // -> class Rand gRand; } // Range: 0x8062DD40 -> 0x8062DD4C float RandomFloat() { // References // -> class Rand gRand; } // Range: 0x8062DD4C -> 0x8062DD5C static void __sinit_\Rand_cpp() { // References // -> class Rand gRand; } /* Compile unit: C:\rockband2\system\src\math\Rand2.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062DD5C -> 0x8062DDEC */ // Range: 0x8062DD5C -> 0x8062DD84 void * Rand2::Rand2() {} // Range: 0x8062DD84 -> 0x8062DDEC int Rand2::Int() { // Local variables int test; // r4 } /* Compile unit: C:\rockband2\system\src\math\Rot.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062DDEC -> 0x8062F730 */ // Range: 0x8062DDEC -> 0x8062DE48 void Normalize() { // Local variables float xy; // f0 float zw; // f1 float xy_sqr; // f2 float zw_sqr; // f3 float sum_0; // f4 float sum_1; // f3 float rsqrt; // f2 float nwork0; // f3 float nwork1; // f2 float diff; // f5 float c_zero; // f3 float epsilon; // f6 float c_half; // f7 float c_three; // f8 } // Range: 0x8062DE48 -> 0x8062DEE4 void Quat::Set(class Quat * const this /* r30 */, const class Vector3 & axis /* r31 */) { // Local variables float h; // f30 float s; // f0 } // Range: 0x8062DEE4 -> 0x8062DFB0 void MakeEuler(const class Matrix3 & m /* r30 */, class Vector3 & r /* r31 */) {} // Range: 0x8062DFB0 -> 0x8062E07C void MakeVertical() {} // Range: 0x8062E07C -> 0x8062E1D8 void MakeScale() { // Local variables float z; // f0 class Vector3 v; // r1+0x10 } // Range: 0x8062E1D8 -> 0x8062E2F0 void MakeEulerScale(const class Matrix3 & m /* r29 */, class Vector3 & r /* r30 */, class Vector3 & s /* r31 */) { // Local variables class Matrix3 m2; // r1+0x10 } // Range: 0x8062E2F0 -> 0x8062E31C float GetXAngle() {} // Range: 0x8062E31C -> 0x8062E34C float GetYAngle() {} // Range: 0x8062E34C -> 0x8062E37C float GetZAngle() {} // Range: 0x8062E37C -> 0x8062E4D0 void Quat::Set(class Quat * const this /* r31 */) { // Local variables class Vector3 e; // r1+0x10 float x1; // f0 float w1; // f0 float y2; // f0 float w2; // f0 float z1; // f0 } // Range: 0x8062E4D0 -> 0x8062E6BC void Quat::Set() { // Local variables float tr; // f3 float s; // f2 int nxt[3]; // r1+0x8 int i; // r10 int j; // r11 int k; // r12 float s; // f6 } // Range: 0x8062E6BC -> 0x8062E7C8 void FastInterp() { // Local variables float cosom; // f0 } // Range: 0x8062E7C8 -> 0x8062E86C void IdentityInterp() { // Local variables float t1; // f3 } // Range: 0x8062E86C -> 0x8062E978 void Interp() {} // Range: 0x8062E978 -> 0x8062EA04 void Interp(const class Matrix3 & from /* r0 */, const class Matrix3 & to /* r30 */, float t /* f31 */, class Matrix3 & res /* r31 */) { // Local variables class Quat a; // r1+0x30 class Quat b; // r1+0x20 class Quat c; // r1+0x10 } // Range: 0x8062EA04 -> 0x8062EB94 void MakeRotMatrix(const class Vector3 & v /* r30 */, class Matrix3 & m /* r31 */) { // Local variables float cz; // f31 float sz; // f30 float cy; // f29 float sy; // f28 float cx; // f1 float sx; // f27 float syz; // f2 float cyz; // f3 float csyz; // f4 float cszy; // f5 } // Range: 0x8062EB94 -> 0x8062ED18 void MakeRotMatrix() {} // Range: 0x8062ED18 -> 0x8062EDB8 void MakeRotMatrix() { // Local variables float p00; // f5 float p01; // f6 float p02; // f7 float p03; // f8 float p11; // f3 float p12; // f9 float p13; // f10 float p22; // f2 float p23; // f4 } // Range: 0x8062EDB8 -> 0x8062EEA0 void RotateAboutX(const class Matrix3 & in /* r30 */, float rad /* f30 */, class Matrix3 & out /* r31 */) { // Local variables float cs; // f0 float sn; // f0 } // Range: 0x8062EEA0 -> 0x8062EF88 void RotateAboutZ(const class Matrix3 & in /* r30 */, float rad /* f30 */, class Matrix3 & out /* r31 */) { // Local variables float cs; // f0 float sn; // f0 } // Range: 0x8062EF88 -> 0x8062EFD4 void MakeEuler(class Vector3 & euler /* r31 */) { // Local variables class Matrix3 mat; // r1+0x10 } // Range: 0x8062EFD4 -> 0x8062F140 void MakeRotQuat() { // Local variables class Vector3 axis; // r1+0x10 float l; // f0 float cosHalfTheta; // f0 float scale; // f2 } // Range: 0x8062F140 -> 0x8062F1C8 void MakeRotQuatUnitX() { // Local variables float cosHalfTheta; // f0 float scale; // f4 } // Range: 0x8062F1C8 -> 0x8062F258 void Multiply(const class Vector3 & a /* r30 */, class Vector3 & b /* r31 */) { // Local variables class Matrix3 mat; // r1+0x10 } // Range: 0x8062F258 -> 0x8062F2D8 class TextStream & __ls(class TextStream & d /* r30 */, const class Quat & a /* r31 */) {} // Range: 0x8062F2D8 -> 0x8062F348 class TextStream & __ls(class TextStream & d /* r30 */, const class Vector3 & a /* r31 */) {} // Range: 0x8062F348 -> 0x8062F3A8 class TextStream & __ls(class TextStream & d /* r30 */, const class Vector2 & a /* r31 */) {} // Range: 0x8062F3A8 -> 0x8062F410 class TextStream & __ls(class TextStream & d /* r30 */, const class Matrix3 & a /* r31 */) {} // Range: 0x8062F410 -> 0x8062F45C class TextStream & __ls(class TextStream & d /* r30 */, const class Transform & a /* r31 */) {} // Range: 0x8062F45C -> 0x8062F530 void Multiply() { // Local variables float b_m__xy; // f0 float b_m__zw; // f1 float a_m__; // f2 float a_v__; // f2 float c_m_x_xy; // f3 float c_m_x_zw; // f4 float c_m_y_xy; // f5 float c_m_y_zw; // f6 float c_m_z_xy; // f7 float c_m_z_zw; // f8 float c_v_xy; // f9 float c_v_zw; // f10 } // Range: 0x8062F530 -> 0x8062F5EC void FastInvert() { // Local variables float x; // f13 float y; // f31 float z; // f1 } // Range: 0x8062F5EC -> 0x8062F730 void Invert() { // Local variables float det; // f2 } /* Compile unit: C:\rockband2\system\src\math\strips\Adjacency.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062F730 -> 0x8062FFAC */ // Range: 0x8062F730 -> 0x8062F74C void * Adjacencies::Adjacencies() {} // Range: 0x8062F74C -> 0x8062F7C0 void * Adjacencies::~Adjacencies(class Adjacencies * const this /* r29 */) {} // Range: 0x8062F7C0 -> 0x8062F940 unsigned char Adjacencies::Init(class Adjacencies * const this /* r29 */, struct ADJACENCIESCREATE & create /* r30 */) { // Local variables unsigned int i; // r31 } // Range: 0x8062F940 -> 0x8062FAA0 unsigned char Adjacencies::AddTriangle(class Adjacencies * const this /* r28 */, unsigned int ref0 /* r29 */, unsigned int ref1 /* r30 */, unsigned int ref2 /* r31 */) {} // Range: 0x8062FAA0 -> 0x8062FAEC unsigned char Adjacencies::AddEdge() {} class RadixSorter { // total size: 0x14 unsigned int * mHistogram; // offset 0x0, size 0x4 unsigned int * mOffset; // offset 0x4, size 0x4 unsigned int mCurrentSize; // offset 0x8, size 0x4 unsigned int * mIndices; // offset 0xC, size 0x4 unsigned int * mIndices2; // offset 0x10, size 0x4 }; // Range: 0x8062FAEC -> 0x8062FD74 unsigned char Adjacencies::CreateDatabase(class Adjacencies * const this /* r27 */) { // Local variables class RadixSorter Core; // r1+0x14 unsigned int * FaceNb; // r31 unsigned int * VRefs0; // r30 unsigned int * VRefs1; // r29 unsigned int i; // r28 unsigned int LastRef0; // r6 unsigned int LastRef1; // r7 unsigned int Count; // r4 unsigned int TmpBuffer[3]; // r1+0x8 unsigned int Face; // r25 unsigned int Ref0; // r24 unsigned int Ref1; // r23 unsigned char Status; // r22 unsigned char Status; // r22 } // Range: 0x8062FD74 -> 0x8062FE3C unsigned char Adjacencies::UpdateLink(unsigned int firsttri /* r25 */, unsigned int secondtri /* r26 */, unsigned int ref0 /* r27 */, unsigned int ref1 /* r28 */) { // Local variables struct AdjTriangle * Tri0; // r30 struct AdjTriangle * Tri1; // r29 unsigned char EdgeNb0; // r0 unsigned char EdgeNb1; // r0 } // Range: 0x8062FE3C -> 0x8062FEF4 unsigned char AdjTriangle::FindEdge() { // Local variables unsigned char EdgeNb; // r7 } // Range: 0x8062FEF4 -> 0x8062FFAC unsigned int AdjTriangle::OppositeVertex() { // Local variables unsigned int Ref; // r8 } /* Compile unit: C:\rockband2\system\src\math\FileChecksum.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8062FFAC -> 0x806301DC */ class vector : protected _Vector_base { // total size: 0xC }; static class vector gChecksumData; // size: 0xC, address: 0x8098A924 // Range: 0x8062FFAC -> 0x80630040 void SetFileChecksumData() { // References // -> static class vector gChecksumData; } // Range: 0x80630040 -> 0x806300E0 void ClearFileChecksumData() { // References // -> static class vector gChecksumData; } // Range: 0x806300E0 -> 0x80630104 unsigned char HasFileChecksumData() { // References // -> static class vector gChecksumData; } // Range: 0x80630104 -> 0x806301B0 unsigned char * GetFileChecksum(const char * filename /* r29 */) { // Local variables struct ChecksumData * cd; // r31 struct FileChecksum * it; // r30 // References // -> static class vector gChecksumData; } struct { // total size: 0x8 } __RTTI__P12ChecksumData; // size: 0x8, address: 0x8092FC98 // Range: 0x806301B0 -> 0x806301DC static void __sinit_\FileChecksum_cpp() { // References // -> static class vector gChecksumData; } class StlNodeAlloc { // total size: 0x1 }; struct ChecksumData { // total size: 0x8 struct FileChecksum * start; // offset 0x0, size 0x4 struct FileChecksum * end; // offset 0x4, size 0x4 }; class _STLP_alloc_proxy : public StlNodeAlloc { // total size: 0x4 public: struct ChecksumData * _M_data; // offset 0x0, size 0x4 }; class _Vector_base { // total size: 0xC protected: struct ChecksumData * _M_start; // offset 0x0, size 0x4 struct ChecksumData * _M_finish; // offset 0x4, size 0x4 class _STLP_alloc_proxy _M_end_of_storage; // offset 0x8, size 0x4 }; /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806301DC -> 0x806303C8 */ // Range: 0x806301DC -> 0x806303C8 void vector::_M_insert_overflow_aux(class vector * const this /* r25 */, struct ChecksumData * __pos /* r26 */, const struct ChecksumData & __x /* r27 */, unsigned long __fill_len /* r1+0x8 */, unsigned char __atend /* r28 */) { // Local variables unsigned long __old_size; // r1+0x34 unsigned long __len; // r30 struct ChecksumData * __new_finish; // r29 // References // -> const char * gStlAllocName; // -> struct [anonymous] __RTTI__P12ChecksumData; // -> unsigned char gStlAllocNameLookup; } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806303C8 -> 0x80630484 */ // Range: 0x806303C8 -> 0x80630484 void * vector::~vector(class vector * const this /* r30 */) {} /* Compile unit: C:\rockband2\system\src\math\strips\CustomArray.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80630484 -> 0x806309E4 */ // Range: 0x80630484 -> 0x8063051C void * CustomArray::CustomArray(class CustomArray * const this /* r29 */, unsigned long startsize /* r30 */, void * inputbuffer /* r31 */) {} // Range: 0x8063051C -> 0x806305D4 void * CustomArray::~CustomArray(class CustomArray * const this /* r28 */) { // Local variables struct CustomCell * CurCell; // r31 struct CustomCell * Cell; // r30 } // Range: 0x806305D4 -> 0x80630678 class CustomArray & CustomArray::NewBlock(class CustomArray * const this /* r28 */, struct CustomCell * previouscell /* r29 */, unsigned long size /* r30 */) {} // Range: 0x80630678 -> 0x806306C8 class CustomArray & CustomArray::CheckArray(class CustomArray * const this /* r31 */) {} // Range: 0x806306C8 -> 0x806306F8 unsigned long CustomArray::GetOffset() { // Local variables unsigned long Offset; // r4 struct CustomCell * p; // r5 } // Range: 0x806306F8 -> 0x806307D4 void * CustomArray::Collapse(class CustomArray * const this /* r28 */, void * userbuffer /* r29 */) { // Local variables char * Addy; // [invalid] struct CustomCell * p; // r30 unsigned long CurrentSize; // r0 char * AddyCopy; // r31 } // Range: 0x806307D4 -> 0x80630840 class CustomArray & CustomArray::Store(class CustomArray * const this /* r30 */, unsigned char b /* r31 */) { // Local variables char * CurrentAddy; // r4 unsigned char * Current; // r0 } // Range: 0x80630840 -> 0x806308AC class CustomArray & CustomArray::Store(class CustomArray * const this /* r30 */, unsigned short w /* r31 */) { // Local variables char * CurrentAddy; // r4 unsigned short * Current; // r0 } // Range: 0x806308AC -> 0x80630918 class CustomArray & CustomArray::Store(class CustomArray * const this /* r30 */, unsigned int d /* r31 */) { // Local variables char * CurrentAddy; // r4 unsigned int * Current; // r0 } // Range: 0x80630918 -> 0x8063099C class CustomArray & CustomArray::StoreBit(class CustomArray * const this /* r30 */) {} // Range: 0x8063099C -> 0x806309E4 class CustomArray & CustomArray::EndBits(class CustomArray * const this /* r31 */) {} /* Compile unit: C:\rockband2\system\src\math\Decibels.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806309E4 -> 0x80630A34 */ // Range: 0x806309E4 -> 0x80630A34 float DbToRatio(float db /* f2 */) {} /* Compile unit: C:\rockband2\system\src\utl\MakeString.h Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80630A34 -> 0x80630ACC */ // Range: 0x80630A34 -> 0x80630ACC float RatioToDb(float ratio /* f31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\math\Primes.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80630ACC -> 0x80630B04 */ static int primes[61]; // size: 0xF4, address: 0x8092FCC0 // Range: 0x80630ACC -> 0x80630B04 int NextHashPrime() { // Local variables int i; // r5 // References // -> static int primes[61]; } /* Compile unit: C:\rockband2\system\src\math\strips\RevisitedRadix.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80630B04 -> 0x80630FCC */ // Range: 0x80630B04 -> 0x80630B60 void * RadixSorter::RadixSorter(class RadixSorter * const this /* r31 */) {} // Range: 0x80630B60 -> 0x80630BEC void * RadixSorter::~RadixSorter(class RadixSorter * const this /* r29 */) {} // Range: 0x80630BEC -> 0x80630FA4 class RadixSorter & RadixSorter::Sort(class RadixSorter * const this /* r28 */, unsigned int * input /* r29 */, unsigned int nb /* r30 */, unsigned char signedvalues /* r31 */) { // Local variables unsigned char AlreadySorted; // r0 unsigned int * Indices; // r4 unsigned char * p; // r5 unsigned char * pe; // r6 unsigned int * h0; // r0 unsigned int * h1; // r7 unsigned int * h2; // r8 unsigned int * h3; // r9 unsigned int PrevVal; // r10 unsigned int Val; // r11 int PrevVal; // r10 int Val; // r11 unsigned int NbNegativeValues; // r0 unsigned int * h3; // r4 unsigned int i; // r5 unsigned int j; // r3 unsigned int * CurCount; // r4 unsigned char PerformPass; // r6 unsigned int i; // r7 unsigned int i; // r8 unsigned int i; // r8 unsigned char * InputBytes; // r9 unsigned int * Indices; // r10 unsigned int * IndicesEnd; // r11 unsigned int id; // r12 unsigned int * Tmp; // r5 } // Range: 0x80630FA4 -> 0x80630FCC class RadixSorter & RadixSorter::ResetIndices() { // Local variables unsigned int i; // r5 } /* Compile unit: C:\rockband2\system\src\math\StreamChecksum.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80630FCC -> 0x80631338 */ // Range: 0x80630FCC -> 0x80631058 unsigned char StreamChecksum::Begin(class StreamChecksum * const this /* r29 */, const char * file /* r30 */, unsigned char nameOnly /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x80631058 -> 0x806310E4 void StreamChecksum::Update(class StreamChecksum * const this /* r29 */, const unsigned char * data /* r30 */, unsigned int len /* r31 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } // Range: 0x806310E4 -> 0x806310EC void StreamChecksum::End() {} // Range: 0x806310EC -> 0x80631144 unsigned char StreamChecksum::Validate(class StreamChecksum * const this /* r31 */) { // Local variables unsigned char buf[20]; // r1+0x8 } // Range: 0x80631144 -> 0x80631198 void StreamChecksum::HandleError() { // References // -> class Debug TheDebug; } // Range: 0x80631198 -> 0x80631240 unsigned char StreamChecksum::SetFileChecksum(class StreamChecksum * const this /* r30 */, unsigned char nameOnly /* r31 */) {} // Range: 0x80631240 -> 0x80631338 unsigned char StreamChecksum::ValidateChecksum(class StreamChecksum * const this /* r28 */, const unsigned char * hash /* r29 */) { // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\rockband2\system\src\math\strips\Striper.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80631338 -> 0x80631FF0 */ // Range: 0x80631338 -> 0x80631354 void * Striper::Striper() {} // Range: 0x80631354 -> 0x806313A8 void * Striper::~Striper(class Striper * const this /* r30 */) {} // Range: 0x806313A8 -> 0x80631438 class Striper & Striper::FreeUsedRam(class Striper * const this /* r29 */) {} // Range: 0x80631438 -> 0x80631548 unsigned char Striper::Init(class Striper * const this /* r29 */, struct STRIPERCREATE & create /* r30 */) { // Local variables struct ADJACENCIESCREATE ac; // r1+0x8 unsigned char Status; // r0 } // Range: 0x80631548 -> 0x80631818 unsigned char Striper::Compute(class Striper * const this /* r29 */, struct STRIPERRESULT & result /* r30 */) { // Local variables unsigned int * Connectivity; // r31 unsigned int i; // r5 struct AdjTriangle * Tri; // r6 class RadixSorter RS; // r1+0x8 unsigned int i; // r4 unsigned int TotalNbFaces; // r28 unsigned int Index; // r27 } // Range: 0x80631818 -> 0x80631C8C unsigned int Striper::ComputeBestStrip(class Striper * const this /* r25 */, unsigned int face /* r26 */) { // Local variables unsigned int * Strip[3]; // r1+0x44 unsigned int * Faces[3]; // r1+0x38 unsigned int Length[3]; // r1+0x2C unsigned int FirstLength[3]; // r1+0x20 unsigned int Refs0[3]; // r1+0x14 unsigned int Refs1[3]; // r1+0x8 unsigned int j; // r28 unsigned char * Tags; // r27 unsigned int i; // r4 unsigned int ExtraLength; // r0 unsigned int Longest; // r27 unsigned int Best; // r29 unsigned int NbFaces; // r30 unsigned int Ref; // r4 } // Range: 0x80631C8C -> 0x80631D8C unsigned int Striper::TrackStrip(class Striper * const this /* r22 */, unsigned int face /* r23 */, unsigned int middle /* r24 */, unsigned int * strip /* r25 */, unsigned int * faces /* r26 */, unsigned char * tags /* r27 */) { // Local variables unsigned int Length; // r30 unsigned char DoTheStrip; // r29 unsigned int Newest; // r28 unsigned char CurEdge; // r0 unsigned int Link; // r3 } // Range: 0x80631D8C -> 0x80631FF0 unsigned char Striper::ConnectAllStrips(class Striper * const this /* r27 */, struct STRIPERRESULT & result /* r28 */) { // Local variables unsigned short * wrefs; // r31 unsigned int * drefs; // r30 unsigned int k; // r29 unsigned int j; // r26 } /* Compile unit: C:\rockband2\system\src\math\Trig.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x80631FF0 -> 0x806324C4 */ static int gSinTableSize; // size: 0x4, address: 0x80A47C58 static float gSinTableConversion; // size: 0x4, address: 0x80A55540 static float * gSinTable; // size: 0x4, address: 0x80A55544 static float * gSinGradients; // size: 0x4, address: 0x80A55548 static float gBigSinTable[256]; // size: 0x400, address: 0x8098A930 static float gBigSinGradients[256]; // size: 0x400, address: 0x8098AD30 // Range: 0x80631FF0 -> 0x80632204 void TrigTableInit() { // Local variables float invConvert; // f31 int i; // r31 float x; // f1 float sx; // f0 float x; // f1 // References // -> static float gBigSinGradients[256]; // -> static float gBigSinTable[256]; // -> static float * gSinGradients; // -> static float * gSinTable; // -> static float gSinTableConversion; // -> static int gSinTableSize; } // Range: 0x80632204 -> 0x8063223C void TrigTableTerminate() { // References // -> static float * gSinTable; // -> static float * gSinGradients; } // Range: 0x8063223C -> 0x80632410 float Sine() { // Local variables int k; // r4 float y; // f1 float index; // f2 // References // -> static int gSinTableSize; // -> static float * gSinTable; // -> static float * gSinGradients; // -> static float gSinTableConversion; } // Range: 0x80632410 -> 0x80632480 float FastSin() { // Local variables int index; // r0 int index; // r0 // References // -> static float gBigSinTable[256]; } // Range: 0x80632480 -> 0x806324C4 static void __sinit_\Trig_cpp() { // References // -> static float gSinTableConversion; // -> static int gSinTableSize; } /* Compile unit: C:\rockband2\system\src\math\Key.cpp Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x806324C4 -> 0x8063318C */ // Range: 0x806324C4 -> 0x8063263C void InterpTangent() { // Local variables class Vector3 v; // r1+0x10 float r2; // f0 } // Range: 0x8063263C -> 0x80632C5C void InterpVector(const class Keys & vectorKeys /* r21 */, unsigned char spline /* r22 */, float frame /* f29 */, class Vector3 & r /* r23 */, class Vector3 * tangent /* r24 */) { // Local variables float t; // f31 float t2; // f30 float t3; // f29 class Vector3 ta; // r1+0x30 class Vector3 tb; // r1+0x20 const class Vector3 * a; // r26 const class Vector3 * b; // r25 int i; // r27 class Vector3 v; // r1+0x10 } // Range: 0x80632C5C -> 0x8063318C void QuatSpline(const class Keys & quatKeys /* r26 */, float frame /* f29 */, class Quat & ret /* r27 */) { // Local variables int before; // r29 int after; // r28 float f; // f0 int between; // r25 float t; // f31 float t2; // f30 float t3; // f29 class Quat q[4]; // r1+0x10 int i; // r7 } /* Compile unit: C:\rockband2\system\src\stlport\stl\_vector.c Producer: MW EABI PPC C-Compiler Language: C++ Code range: 0x8063318C -> 0x806334CC */ // Range: 0x8063318C -> 0x806334CC void SplineTangent(const class Keys & vectorKeys /* r28 */, int i /* r29 */, class Vector3 & r /* r31 */) { // Local variables int size; // r30 class Vector3 v; // r1+0x20 class Vector3 v; // r1+0x10 // References // -> class Debug TheDebug; // -> const char * kAssertStr; } /* Compile unit: C:\products\RVL\runtime_libs\debugger\embedded\MetroTRK\Export\mslsupp.c Producer: MW EABI PPC C-Compiler Language: C89 Code range: 0x8065DE00 -> 0x8065E3BC */ // Range: 0x8065DE00 -> 0x8065DEDC int __position_file(unsigned long handle /* r28 */, unsigned long * position /* r29 */, int mode /* r30 */) { // Local variables unsigned char result; // r0 unsigned char SeekMode; // r31 } // Range: 0x8065DEDC -> 0x8065DF60 int __close_file(unsigned long handle /* r31 */) { // Local variables unsigned char result; // r0 } // Range: 0x8065DF60 -> 0x8065E0DC int __open_file(const char * name /* r29 */, struct { // total size: 0x4 unsigned int open_mode : 2; // offset 0x0, size 0x4 unsigned int io_mode : 3; // offset 0x0, size 0x4 unsigned int buffer_mode : 2; // offset 0x0, size 0x4 unsigned int file_kind : 3; // offset 0x0, size 0x4 unsigned int file_orientation : 2; // offset 0x0, size 0x4 unsigned int binary_io : 1; // offset 0x0, size 0x4 } & mode /* r30 */, unsigned long * handle /* r31 */) { // Local variables unsigned char result; // r0 } // Range: 0x8065E0DC -> 0x8065E190 int __write_file(unsigned long handle /* r29 */, unsigned char * buffer /* r30 */, unsigned long * count /* r31 */) {} // Range: 0x8065E190 -> 0x8065E244 int __read_file(unsigned long handle /* r29 */, unsigned char * buffer /* r30 */, unsigned long * count /* r31 */) {} // Range: 0x8065E244 -> 0x8065E300 int __TRK_write_console(unsigned char * buffer /* r30 */, unsigned long * count /* r31 */) {} // Range: 0x8065E300 -> 0x8065E3BC int __read_console(unsigned char * buffer /* r30 */, unsigned long * count /* r31 */) {}