Byte-Matching Plan: Prioritized Hit List¶
Generated from analysis of symbols.json + DOL binary.
Executive Summary¶
- Total code functions: 18,459
- Total code bytes: 4,145,732 (4.0 MB)
- Quick wins (Tiers 1-4): 2,722 functions (14.7%) / 22,300 bytes (0.5%)
- Estimated "free" matches: ~1,976 functions need only a trivial one-liner
- With 12-byte functions: ~2,722 functions matchable in a single pass
The DOL and ELF share identical .text bytes, confirmed by binary comparison. All 18,459 functions can be disassembled from either the ELF or DOL.
Size Distribution¶
| Bucket | Count | % Funcs | Bytes | % Bytes |
|---|---|---|---|---|
| 4b (1 instr) | 616 | 3.3% | 2,464 | 0.1% |
| 8b (2 instr) | 1,461 | 7.9% | 11,688 | 0.3% |
| 12b (3 instr) | 746 | 4.0% | 8,952 | 0.2% |
| 16b (4 instr) | 269 | 1.5% | 4,304 | 0.1% |
| 20b (5 instr) | 259 | 1.4% | 5,180 | 0.1% |
| 24-32b | 984 | 5.3% | 29,132 | 0.7% |
| 36-64b | 3,324 | 18.0% | 165,368 | 4.0% |
| 68-128b | 4,130 | 22.4% | 398,512 | 9.6% |
| 132-256b | 2,946 | 16.0% | 536,676 | 12.9% |
| 260-512b | 2,056 | 11.1% | 730,968 | 17.6% |
| 516-1024b | 1,054 | 5.7% | 743,856 | 17.9% |
| 1028b+ | 614 | 3.3% | 1,508,632 | 36.4% |
Match Difficulty Tiers¶
Tier 1: GUARANTEED -- Empty/Void Functions (blr only)¶
614 functions -- Just blr (return void). C++ equivalent: void Foo() {}
These are stub functions, empty virtual overrides, or no-op implementations. Every single one is a guaranteed byte-match with an empty function body.
All 614 blr-only functions (click to expand)
| Function | Address | |----------|---------| | `ACTTarget::DebugListValidation(void)` | 0x801A2C30 | | `ARSetSize` | 0x80375A58 | | `AptActionInterpreter::_FunctionAptActionBitURShift(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x8027CEB4 | | `AptActionInterpreter::_FunctionAptActionCharToAscii(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x80275EB4 | | `AptActionInterpreter::_FunctionAptActionEnd(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x802729D4 | | `AptActionInterpreter::_FunctionAptActionMBAsciiToChar(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x8027623C | | `AptActionInterpreter::_FunctionAptActionMBCharToAscii(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x80276238 | | `AptActionInterpreter::_FunctionAptActionMBLength(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x80275EB0 | | `AptActionInterpreter::_FunctionAptActionMBSubString(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x80276234 | | `AptActionInterpreter::_FunctionAptActionStopSounds(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x80272BC0 | | `AptActionInterpreter::_FunctionAptActionStringLessThan(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x80275D1C | | `AptActionInterpreter::_FunctionAptActionToggleQuality(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x80272BBC | | `AptActionInterpreter::_FunctionAptActionWaitForFrame(AptActionInterpreter *, AptActionInterpreter::LocalContextT *)` | 0x8027DAD4 | | `AptArray::ConvertAptValue(AptValue *)` | 0x80287EF0 | | `AptAuxPCEorGL_FreeConstantTable(void *)` | 0x800097C0 | | `AptCharacterInst::PreDestroy(void)` | 0x8028FAE4 | | `AptCharacterInst::PreDestroy(void)` | 0x8029C418 | | `AptCharacterInst::PreDestroy(void)` | 0x802C4C64 | | `AptDebugPrintZombieVector(void)` | 0x8026BAB0 | | `AptExtern::AddRef(char *, char *, int)` | 0x802B4534 | | `AptExtern::Release(char *, char *, int)` | 0x802B4538 | | `AptGC::Initialize(void)` | 0x8029C650 | | `AptNone::AddRef(char *, char *, int)` | 0x802B4454 | | `AptNone::Release(char *, char *, int)` | 0x802B4458 | | `AptScriptFunctionBase::PreDestroy(void)` | 0x802B8208 | | `AptScriptFunctionByteCodeBlock::SetArgument(AptValue *, int)` | 0x802B91B8 | | `AptSetMousePosition(int, int)` | 0x8026AAE8 | | `AptTextFormat::operator delete [](void *)` | 0x802B0000 | | `AptValue::DestroyGCPointers(void)` | 0x802B42E4 | | `AptValue::PreDestroy(void)` | 0x802B42E0 | | `AptValue::c_array(void) const` | 0x802B4938 | | `AptValue::c_boolean(void) const` | 0x802B4928 | | `AptValue::c_cih(bool) const` | 0x802B4934 | | `AptValue::c_date(void) const` | 0x802B4958 | | `AptValue::c_float(void) const` | 0x802B490C | | `AptValue::c_global(void) const` | 0x802B4944 | | `AptValue::c_integer(void) const` | 0x802B4904 | | `AptValue::c_key(void) const` | 0x802B4940 | | `AptValue::c_loadvars(void) const` | 0x802B4970 | | `AptValue::c_lookup(void) const` | 0x802B4900 | | `AptValue::c_math(void) const` | 0x802B4948 | | `AptValue::c_movieClip(void) const` | 0x802B4960 | | `AptValue::c_nativefunction(void) const` | 0x802B4930 | | `AptValue::c_object(void) const` | 0x802B4950 | | `AptValue::c_prototype(void) const` | 0x802B4954 | | `AptValue::c_register(void) const` | 0x802B4908 | | `AptValue::c_scriptcolour(void) const` | 0x802B494C | | `AptValue::c_scriptfunction(void) const` | 0x802B492C | | `AptValue::c_sound(void) const` | 0x802B493C | | `AptValue::c_stage(void) const` | 0x802B4974 | | `AptValue::c_textformat(void) const` | 0x802B495C | | `AptValue::c_xml(void) const` | 0x802B4968 | | `AptValue::c_xmlattributes(void) const` | 0x802B496C | | `AptValue::c_xmlnode(void) const` | 0x802B4964 | | `AptValue::setHasClass(int)` | 0x802B4260 | | `AptValueNoGC::RegisterReferences(void) const` | 0x80281D2C | | `AptValueNoGC::RegisterReferences(void) const` | 0x802AEC44 | | `AptValueNoGC::RegisterReferences(void) const` | 0x802B42F8 | | `AptValueNoGC::RegisterReferences(void) const` | 0x802BB8DC | | `AptValueNoGC::RegisterReferences(void) const` | 0x802BBB8C | | `AptValueNoGC::RegisterReferences(void) const` | 0x802BBE48 | | `AptViewer::Update(void)` | 0x80010640 | | `AptXmlAttributes::operator delete [](void *)` | 0x802C4FE4 | | `AptXmlNode::operator delete [](void *)` | 0x802BB69C | | `BSplineVolume::Write(EStream &)` | 0x8030E1B4 | | `BackgroundImpl::Update(void)` | 0x802E1E50 | | `Behavior::GetNodeText(short, BehaviorNode *, StringBuffer &)` | 0x800AB8C0 | | `CASBodyTarget::SetVariable(char *, char *)` | 0x80196A50 | | `CASFashionTarget::RandomizeFashion(void)` | 0x8019B3F4 | | `CASMiscTarget::SetVariable(char *, char *)` | 0x8019C1B0 | | `CASTarget::DialogNoSelectionCallback(void)` | 0x801960F4 | | `CDirtyXml::load(char *)` | 0x8023AFBC | | `CDirtyXml::send(char *)` | 0x8023B050 | | `CDirtyXml::sendAndLoad(char *, IAptXml *)` | 0x8023B054 | | `CDirtyXml::setContentType(char *)` | 0x8023AF80 | | `CDirtyXml::setDocTypeDecl(char *)` | 0x8023AF9C | | `CDirtyXml::setIgnoreWhite(int)` | 0x8023AFB0 | | `CDirtyXmlNode::appendChild(IAptXmlNode *)` | 0x8023A8F8 | | `CDirtyXmlNode::cloneNode(int)` | 0x8023AA70 | | `CDirtyXmlNode::insertBefore(IAptXmlNode *, IAptXmlNode *)` | 0x8023AAAC | | `CDirtyXmlNode::removeNode(void)` | 0x8023AC38 | | `CDirtyXmlNode::setAttribute(char *, char *)` | 0x8023AA00 | | `CDirtyXmlNode::setNodeName(char *)` | 0x8023AB7C | | `CDirtyXmlNode::setNodeValue(char *)` | 0x8023ABE0 | | `CRDTarget::Draw(ERC *)` | 0x801A4C6C | | `CRDTarget::UpdateCredits(void)` | 0x801A4F80 | | `CSPTarget::Update(void)` | 0x801A9918 | | `CSPTarget::onHelpDialogSelection(int)` | 0x801AA57C | | `CTGDump::CTGDump(void)` | 0x800A5158 | | `CTGDump::Shutdown(void)` | 0x800A5184 | | `CTGDump::operator<<(char *)` | 0x800A5188 | | `CTGFileManager::CTGFileManager(void)` | 0x8007D350 | | `CTGFileManager::Shutdown(void)` | 0x8007D384 | | `CUnlockDisplayObjectSim::Setup(void)` | 0x80079EAC | | `CameraManager::Initialize(void)` | 0x8001EB78 | | `CameraManager::Shutdown(void)` | 0x8001EB7C | | `CasListener::HandleEventChangeFocus(CasEventChangeFocus &)` | 0x80161BB0 | | `CasListener::HandleEventChangeSim(CasEventChangeSimS2C &)` | 0x80161BB4 | | `CasListener::HandleEventInitSim(CasEventInitSim &)` | 0x80161BB8 | | `CasListener::HandleEventMorphSim(CasEventMorphSimS2C &)` | 0x80161BC4 | | `CasListener::HandleEventResetSim(CasEventResetSim &)` | 0x80161BBC | | `CasListener::HandleEventResetSimDraw(CasEventResetSimDraw &)` | 0x80161BC8 | | `CasListener::HandleEventStoreSim(CasEventStoreSim &)` | 0x80161BC0 | | `CasNpcEditor::MakeDataset(UserDataSaveLoad)` | 0x80163D48 | | `CasSimDescriptionS2C::WriteSimDescriptionToTextFile(__sFILE *, SimModel *)` | 0x8016A890 | | `CreateASimBaseState::Draw(ERC *)` | 0x800898C0 | | `DBClose` | 0x80267898 | | `DBOpen` | 0x8026789C | | `DStraceNull(...)` | 0x800F3C90 | | `DefaultSwitchThreadCallback` | 0x80253258 | | `DummyMode::Draw(ERC *)` | 0x800998C4 | | `DummyMode::Init(int)` | 0x800998B8 | | `DummyMode::Reset(int)` | 0x800998BC | | `DummyMode::Update(void)` | 0x800998C0 | | `E3DWindow::Cast3DWindow(void)` | 0x802E76A4 | | `EA::Allocator::GeneralAllocator::AdjustHighFence(void)` | 0x802D9350 | | `EA::Allocator::GeneralAllocator::TraceFunctionDefault(char *, void *)` | 0x802DA584 | | `EAllocGroup::Validate(void)` | 0x80359F34 | | `EApp::CleanupAfterMovie(void)` | 0x802E24B4 | | `EApp::Init(void)` | 0x802E2978 | | `EApp::SetupForMovie(void)` | 0x802E24B0 | | `EApp::ShowInitialDisplay(void)` | 0x802E2974 | | `EApp::Shutdown(void)` | 0x802E2990 | | `EApp::Update(void)` | 0x802E297C | | `EApp::UpdateAfterHotSync(void)` | 0x802E2980 | | `EBitArray::Print(void)` | 0x802E00AC | | `ECheats::Update(void)` | 0x80020D0C | | `ECheats::WriteCheatsFile(void)` | 0x80020D08 | | `EControllerManager::Shutdown(void)` | 0x8032344C | | `EDatasetManager::ManageDasFile(char *)` | 0x80324598 | | `EDebugMenuItem::ButtonPress(EDebugMenuButton)` | 0x803C4178 | | `EDebugMenuItem::ButtonPress(EDebugMenuButton, float)` | 0x803C417C | | `EDummyFile::Destroy(void)` | 0x800226C0 | | `EEngine::Line(void)` | 0x802E2B48 | | `EEngine::PrintBanner(void)` | 0x802E3238 | | `EEngine::PrintConfiguration(void)` | 0x802E323C | | `EEngine::Reboot(void)` | 0x802E38C0 | | `EEngine::SignalShutdown(void)` | 0x802E38E4 | | `EFixedString::ReleaseBuffer(void)` | 0x802C862C | | `EGameState::PauseAllSounds(void)` | 0x80089E28 | | `EGameState::ResumeAllSounds(void)` | 0x80089E2C | | `EGlobal::FreeScratchHeap(void)` | 0x8003F0D0 | | `EGlobal::PickUpInHouseObject(cXObject *)` | 0x80041218 | | `EGlobal::PlaceObjectInHouse(cXObject *)` | 0x80041214 | | `EGlobal::SetupScratchHeap(void)` | 0x8003F0CC | | `EGlobalManagerClient::ManagedShutdown(void)` | 0x803C1CF8 | | `EGraphics::ClearStencilBuffer(void)` | 0x802F2318 | | `EGraphics::DiscardAllVram(void)` | 0x802F2314 | | `EGraphics::DoSetupFrameBuffer(int)` | 0x802F11AC | | `EGraphics::DoSwapBuffer(int)` | 0x802F11A8 | | `EGraphics::DrawCensorRects(ERC *)` | 0x802F21C0 | | `EGraphics::GrabFrameBufferChunk32(int, int, int, int, unsigned int *, int *)` | 0x802F2310 | | `EGraphics::ManagedShutdown(void)` | 0x802F0F80 | | `EGraphics::ProcessFrameEffects(void)` | 0x802F231C | | `EGraphics::SelectFrameBuffer(int)` | 0x802F2368 | | `EGraphics::Shutdown(void)` | 0x802F21AC | | `EHouse::TriggerLightningEffect(void)` | 0x80024824 | | `EIFloor::Update(void)` | 0x8004850C | | `EILight::CalcFullIntensityLightOnPoint(EVec3 &, float &)` | 0x802280C8 | | `EILight::LightingParameters(EVec3 &, float &, EVec3 &, EVec3 &)` | 0x802280C4 | | `EILight::Setup(void)` | 0x802280CC | | `EIWallPart::RealizeShaderTuning(void)` | 0x8003065C | | `EInstance::AboutToBeRemovedFromLevel(ERLevel *)` | 0x802296FC | | `EInstance::AddedToLevel(ERLevel *)` | 0x802296F8 | | `EInstance::DoAnimation(void)` | 0x80229464 | | `EInstance::DoLightingCalculation(void)` | 0x80229468 | | `EInstance::Draw(ELevelDrawData &)` | 0x80229474 | | `EInstance::DrawShadow(ELevelDrawData &)` | 0x8022947C | | `EInstance::DrawStencil(ELevelDrawData &)` | 0x80229478 | | `EInstance::DrawWireFrame(ERC *)` | 0x80229480 | | `EInstance::GetOwner(void)` | 0x8022967C | | `EInstance::GetShadowCenter(EVec3 &) const` | 0x8022965C | | `EInstance::Init(void)` | 0x8022945C | | `EInstance::ModifyColor(unsigned int)` | 0x802296EC | | `EInstance::ReadInstanceData(EStream &, bool)` | 0x80229668 | | `EInstance::RealizeShaderTuning(void)` | 0x80229740 | | `EInstance::RebuildShaders(void)` | 0x80229488 | | `EInstance::RegisterFloor(void)` | 0x802294A8 | | `EInstance::RemovedFromLevel(ERLevel *)` | 0x80229700 | | `EInstance::SetOrient(EMat4 &)` | 0x80229484 | | `EInstance::Update(void)` | 0x80229460 | | `ELiveMode::PauseAllSounds(void)` | 0x8008EF14 | | `ELiveMode::ResumeAllSounds(void)` | 0x8008EF18 | | `EMat4::Print(void) const` | 0x802CA640 | | `EMemoryCard::SetMemCardCopyProtection(unsigned int)` | 0x803C76CC | | `EMemoryMeterWin::Init(void)` | 0x80057998 | | `EMemoryMeterWin::Reset(void)` | 0x8005799C | | `EMemoryMeterWin::SetEvent(Panelstateman::PanelEvent, unsigned int)` | 0x80057C14 | | `EMovie::Reset(void)` | 0x80364CE4 | | `EMovie::Stop(void)` | 0x80364CE0 | | `ENCamera::GetName(void)` | 0x8035D248 | | `ENDummy::GetName(void)` | 0x802CC4B0 | | `ENgcAudio::AddEvent(EA_EVENT, EMsgQueue &, unsigned int)` | 0x8032CC20 | | `ENgcAudio::AudioAlarmHandler(OSAlarm *, OSContext *)` | 0x8032B9F0 | | `ENgcAudio::Flush(bool)` | 0x8032CC1C | | `ENgcAudio::RemoveEvent(EA_EVENT, EMsgQueue &, unsigned int)` | 0x8032CC24 | | `ENgcClockMan::Init(void)` | 0x8032DA34 | | `ENgcClockMan::Update(void)` | 0x8032DA38 | | `ENgcControllerManager::Shutdown(void)` | 0x8032DD5C | | `ENgcEngine::InitializeProfiler(void)` | 0x8032E638 | | `ENgcGraphics::GetScreenShot(char *)` | 0x8032F630 | | `ENgcMemoryCard::SetGameCode(char *)` | 0x80334894 | | `ENgcMemoryCard::SetupSaveTypes(EMC_SaveType, unsigned int)` | 0x80334890 | | `ENgcMovie::Reset(void)` | 0x8033549C | | `ENgcRC::Debug(unsigned int, unsigned int)` | 0x8033B3AC | | `ENgcRC::GeometrySetup(void)` | 0x8033ABAC | | `ENgcRC::ParticleListInfo(EGEParticleListInfo *)` | 0x8033B3B0 | | `ENgcRC::ScreenTriList(int, float *, float *, unsigned char *)` | 0x8033A1C0 | | `ENgcRC::SetMipMap(float, int)` | 0x8033A480 | | `ENgcRC::TriList(int, float *, float *, unsigned char *, signed char *, unsigned char *, bool)` | 0x8033A1BC | | `ENgcRenderer::NoOp(EDLEntry *)` | 0x8034A778 | | `ENgcRenderer::ShowPerfGraphs(bool)` | 0x8033B720 | | `ENgcRenderer::TextureMatrix(EDLEntry *)` | 0x8034443C | | `ENgcRenderer::VIPostRetraceCallback(unsigned long)` | 0x8033CDEC | | `ENgcScheduler::RendFrameComplete(ESchedCommand *)` | 0x8034DBA8 | | `ENgcScheduler::RenderingComplete(ESchedCommand *)` | 0x8034D9E4 | | `ENgcScheduler::TextureLoadsComplete(ESchedCommand *)` | 0x8034D9E0 | | `ENgcTextureBase::Invalidate(void)` | 0x8034FE38 | | `ENgcTextureBase::UnswizzleImage(unsigned char *, int, int, unsigned char *)` | 0x80350618 | | `ENgcTextureCMPR::SwizzleImage(unsigned char *, int, int, unsigned char *)` | 0x80351534 | | `EQuat::Print(void)` | 0x802CCB00 | | `ERC::EnableColorModulation(bool)` | 0x802F8DE4 | | `ERC::LightsRadiosity(EVec3 &, EVec3 &, float)` | 0x802F9AB8 | | `ERC::MipMapSetup(EGEVert *, bool, bool)` | 0x802F826C | | `ERC::ParticleListEnd(unsigned int)` | 0x802F7074 | | `ERC::ParticleListInfo(EGEParticleListInfo *)` | 0x802F7068 | | `ERC::PointList(EGEVert *, int)` | 0x802F6D58 | | `ERC::QuadList(EGEVert *, int)` | 0x802F6BE8 | | `ERC::QuadList(int, float *, float *, unsigned char *, signed char *, bool)` | 0x802F6BEC | | `ERC::SetAlphaPlane(float, EVec4, float, float)` | 0x802F9798 | | `ERC::SetBlendModePass3(int, int, int, int, int)` | 0x802F8EC4 | | `ERC::SetColorModulation(int, EVec4)` | 0x802F8DE0 | | `ERC::SetDebugMarker(int)` | 0x802F9674 | | `ERC::SetFog(float, float, EVec4)` | 0x802F979C | | `ERC::SetTextureAlphaValue(unsigned char, unsigned char, unsigned char)` | 0x802F8EC8 | | `ERC::TriFan(EGEVert *, int)` | 0x802F6BE0 | | `ERC::TriList(EGEVert *, int)` | 0x802F6BE4 | | `ERCharacter::PrintNodes(void)` | 0x80368B18 | | `ERLevel::GroupWallInstances(void)` | 0x802337D0 | | `ERLevel::ValidateInstanceInLevel(EInstance *)` | 0x80233364 | | `ERModel::RebuildAfterWelding(void)` | 0x80319E84 | | `ERQuickdata::LockImage(void)` | 0x8031B8F4 | | `ERQuickdata::UnlockImage(void)` | 0x8031B8F0 | | `EResPrefetchFile::Destroy(void)` | 0x80313078 | | `EResource::AddRefSubResources(void)` | 0x80312344 | | `EResource::DelRefSubResources(void)` | 0x80312340 | | `EResource::DetachClone(void)` | 0x80312350 | | `EResource::Init(void)` | 0x80312338 | | `EResource::Refresh(EFile *)` | 0x8031233C | | `EResource::SetCheckPoint(unsigned int)` | 0x803122B8 | | `EResource::SetResName(char *)` | 0x803122A8 | | `EResourceLoaderImpl::Update(void)` | 0x803104B0 | | `EResourceManager::LogResourceLoad(EResource *)` | 0x80326C08 | | `EResourceManager::PrintUnmanagedResources(void)` | 0x80326718 | | `EResourceManager::ResourceDestructing(EResource *)` | 0x80327530 | | `EResourceMap::PrintLoadedResources(char *)` | 0x80327EA0 | | `EResourceMap::PrintResourceSizes(char *)` | 0x80327EA4 | | `EResourceMap::RefreshResources(void)` | 0x80327EA8 | | `EScratchBuffUser::AcquireBuffer(void *, unsigned int)` | 0x803C41D4 | | `EScratchBuffUser::ReleasedBuffer(EScratchBuffUser *)` | 0x803C41D8 | | `EShader::AddGeometryModes(unsigned int)` | 0x802FABF4 | | `EShader::GetShaderDef(void) const` | 0x802FAB4C | | `EShader::RemoveGeometryModes(unsigned int)` | 0x802FABF0 | | `EShader::Select(ERC *, unsigned int)` | 0x802FAAA8 | | `EShader::SetAlternateShader(EShader *)` | 0x802FAB48 | | `EShader::SetShadowAlpha(float)` | 0x802FA9E4 | | `EShader::UpdateMaterialCoefficients(void)` | 0x802FABD0 | | `ESim::DoLightingCalculation(void)` | 0x800334F8 | | `ESim::SetXOb(cXObject *)` | 0x80035308 | | `ESimScratchPadMan::EmptyHeap(void)` | 0x8003545C | | `ESims3DHead::Update(void)` | 0x8006D518 | | `ESimsCam::CursorMoved(int, EVec3 &)` | 0x80019A00 | | `EStorable::Load(EFile &)` | 0x803C148C | | `EStorable::Read(EStream &)` | 0x803C1484 | | `EStorable::Write(EStream &)` | 0x803C1488 | | `ESubModelShader::DrawNormals(ERC *)` | 0x802FD24C | | `ESubModelShader::DrawWireFrame(ERC *)` | 0x802FD250 | | `ESubModelShader::MorphBreakUpStrip(TArrayPlus 1 tail-call functions (single b instruction).
Tier 2: TRIVIAL -- Getters (8 bytes, X+blr)¶
1165 functions -- One instruction + blr. All trivial one-line return statements.
Return Constant (426 functions)¶
Pattern: li r3, N; blr -- C++: return N;
All 426 return-constant functions
| Function | Address | Returns | |----------|---------|--------:| | `ACTTarget::IsActionQueueAvailable(int) const` | 0x801A2B34 | 1 | | `AMC_IsStub` | 0x80267890 | 1 | | `ARGetBaseAddress` | 0x80375A5C | 16384 | | `AnimTableImpl::GetEntryName(int)` | 0x800AAC2C | 0 | | `AptAnimationPoolData::validateBIL(void)` | 0x8029E1F0 | 1 | | `AptIsMouseOverButton(void)` | 0x8026B82C | 0 | | `AptScriptFunctionByteCodeBlock::Duplicate(AptCIH *)` | 0x802B91BC | 0 | | `AptScriptFunctionByteCodeBlock::GetNumArguments(void)` | 0x802B9188 | 0 | | `AptTextFormat::operator new [](unsigned int)` | 0x802AFFF8 | 0 | | `AptValue::ContainsNativeHashVirtual(void) const` | 0x802B4250 | 0 | | `AptValue::GetNativeHashVirtual(void)` | 0x802B4248 | 0 | | `AptValue::getHasClass(void) const` | 0x802B4258 | 0 | | `AptValue::objectMemberLookup(AptValue *, EAStringC *) const` | 0x802B4264 | 0 | | `AptValue::objectMemberSet(AptValue *, EAStringC *, AptValue *)` | 0x802B426C | 0 | | `AptValueGC::IsGarbageCollected(void) const` | 0x80281D1C | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x80287DD0 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x8028F9AC | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802938B8 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x80298BC0 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802A865C | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802ABDC4 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802AEC34 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802AFC0C | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802B42E8 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802B5C24 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802B6100 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802B78B0 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802B87FC | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802BA21C | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802BB634 | 1 | | `AptValueGC::IsGarbageCollected(void) const` | 0x802C4F7C | 1 | | `AptValueNoGC::IsGarbageCollected(void) const` | 0x80281D24 | 0 | | `AptValueNoGC::IsGarbageCollected(void) const` | 0x802AEC3C | 0 | | `AptValueNoGC::IsGarbageCollected(void) const` | 0x802B42F0 | 0 | | `AptValueNoGC::IsGarbageCollected(void) const` | 0x802BB8D4 | 0 | | `AptValueNoGC::IsGarbageCollected(void) const` | 0x802BBB84 | 0 | | `AptValueNoGC::IsGarbageCollected(void) const` | 0x802BBE40 | 0 | | `AptValueWithHash::ContainsNativeHashVirtual(void) const` | 0x802B4178 | 1 | | `AptViewer::ReadController(int, bool, int, bool)` | 0x80010D68 | 0 | | `AptViewer::UIOn(void)` | 0x80011E14 | 1 | | `AptXmlAttributes::operator new [](unsigned int)` | 0x802C4FDC | 0 | | `AptXmlNode::operator new [](unsigned int)` | 0x802BB694 | 0 | | `BBI::InventoryItems::GetContainerSize(void) const` | 0x8004AA5C | 36 | | `BString2::eos(void)` | 0x800A0C70 | 0 | | `BString::eos(void)` | 0x8009CAD8 | 0 | | `BeingReset(void)` | 0x8014160C | 0 | | `CDirtyXml::contentType(void)` | 0x8023AF78 | 0 | | `CDirtyXml::createElement(char *)` | 0x8023AF84 | 0 | | `CDirtyXml::createTextNode(char *)` | 0x8023AF8C | 0 | | `CDirtyXml::docTypeDecl(void)` | 0x8023AF94 | 0 | | `CDirtyXml::getBytesLoaded(void)` | 0x8023AFA8 | 0 | | `CDirtyXml::getBytesTotal(void)` | 0x8023AFA0 | 0 | | `CDirtyXml::isIgnoreWhite(void)` | 0x8023AFB4 | 1 | | `CDirtyXml::isLoaded(void)` | 0x8023AFC0 | 1 | | `CDirtyXml::status(void)` | 0x8023B058 | 1 | | `CDirtyXmlNode::toString(void)` | 0x8023AC3C | 0 | | `CTGFileImpl::Flush(void)` | 0x8007CFC4 | 0 | | `CTGFileImpl::FlushCache(void)` | 0x8007CFCC | 1 | | `CTGFileImpl::IsWritable(void)` | 0x8007CEE8 | 0 | | `CTGFileImpl::SetSize(int)` | 0x8007CFBC | 0 | | `CTGFileImpl::Write(void *, int)` | 0x8007CF28 | 0 | | `CTGFileManager::CopyFile(char *, char *)` | 0x8007D4DC | 1 | | `CTGFileManager::CreateFile(char *)` | 0x8007D4C4 | 1 | | `CTGFileManager::DeleteFile(char *)` | 0x8007D4CC | 1 | | `CTGFileManager::Init(void)` | 0x8007D37C | 1 | | `CTGFileManager::MoveFile(char *, char *)` | 0x8007D4D4 | 1 | | `CUnlockDisplayObjectSim::IsAdult(void)` | 0x80079F84 | 1 | | `CasScene::GetRoomFromCameraAngle(unsigned int) const` | 0x801672C0 | 0 | | `CasSceneGamecube::GetRoomFromCameraAngle(unsigned int) const` | 0x80175784 | 0 | | `CasScenePersonal::GetRoomFromCameraAngle(unsigned int) const` | 0x8017592C | 0 | | `Commander::DoCommand(short, int)` | 0x800B42B4 | 0 | | `DMAHeapFreeMemory(EA::Allocator::GeneralAllocator *, unsigned int, unsigned int, void *)` | 0x803278EC | 0 | | `DVDCloseDir` | 0x8025BF84 | 1 | | `DumpObjectFolder(char *)` | 0x801D1A08 | 0 | | `EA::Allocator::GeneralAllocator::ChunkMatchesLowHigh(int, EA::Allocator::GeneralAllocator::Chunk *, unsigned int) const` | 0x802D93A8 | 1 | | `EA::Allocator::GeneralAllocator::GetPageSize(void)` | 0x802D8FA8 | 4096 | | `EAStringC::FindOneOf(char *) const` | 0x802BCC90 | 0 | | `EAStringC::Insert(int, char *)` | 0x802BCE38 | 0 | | `EAStringC::Insert(int, char)` | 0x802BCE40 | 0 | | `EAStringC::ReverseFind(char) const` | 0x802BCC98 | 0 | | `EAmbientScoreManager::CanCache(EResource *)` | 0x80322CC4 | 1 | | `EAnimManager::CanCache(EResource *)` | 0x80322E48 | 1 | | `EApp::GetEventTableSize(void)` | 0x802E2944 | 8 | | `EApp::GetPrefetchBlockSize(void)` | 0x802E2934 | 0 | | `EApp::GetScratchBuffSize(void)` | 0x802E293C | 0 | | `EAudioSampleManager::CanCache(EResource *)` | 0x8032D98C | 1 | | `ECharacterManager::CanCache(EResource *)` | 0x8032333C | 1 | | `EController::HasVibration(void) const` | 0x80304434 | 0 | | `EControllerManager::GetControllerCount(void)` | 0x80323AF0 | 4 | | `EDatasetManager::CanCache(EResource *)` | 0x8032494C | 1 | | `EDummyFile::Flush(void)` | 0x800226A8 | 1 | | `EDummyFile::GetLastError(void) const` | 0x800226B0 | 0 | | `EDummyFile::GetSystemHandle(void) const` | 0x800226B8 | 0 | | `EEdithTreeSetMan::CanCache(EResource *)` | 0x80324B74 | 1 | | `EEngine::ManagedStartup(void)` | 0x802E38E8 | 1 | | `EFenceWall::IsWallsOpaque(int)` | 0x8039E4B0 | 0 | | `EFile::Allocate(unsigned int &)` | 0x802C6904 | 0 | | `EFileSystem::HDDIsUnformatted(void)` | 0x802C7110 | 0 | | `EFileSystem::InitHDD(bool, char *)` | 0x802C70B4 | 0 | | `EFileSystem::InitHDDFileSystem(void)` | 0x802C70AC | 1 | | `EFlashManager::CanCache(EResource *)` | 0x80324D00 | 1 | | `EGameState::InTransportMode(void)` | 0x80089E20 | 0 | | `EGlobal::GetNameFromProp(PropRef *)` | 0x80042284 | 0 | | `EGlobal::GetPropFromName(char *)` | 0x8004227C | 0 | | `EGlobal::GetSkillFromName(char *)` | 0x8004219C | 0 | | `EGlobal::IsBuildHouseMode(void)` | 0x800420AC | 0 | | `EGlobalManagerClient::ManagedStartup(void)` | 0x803C1CF0 | 1 | | `EGraphics::GetDepthBufferTexture(void)` | 0x802F21CC | 0 | | `EGraphics::GetFrameBufferTexture(int)` | 0x802F21C4 | 0 | | `EGraphics::GetLargestAvailableTextureMemoryBlock(void)` | 0x802F21F4 | -1 | | `EGraphics::GetMaxTextureXSize(void)` | 0x802F22F8 | 1024 | | `EGraphics::GetMaxTextureYSize(void)` | 0x802F2300 | 1024 | | `EGraphics::ManagedStartup(void)` | 0x802F2360 | 1 | | `EGraphics::NeedFlushToDestroy(EDL *)` | 0x802F21D4 | 1 | | `EGraphics::NeedFlushToDestroy(EMovie *)` | 0x802F21EC | 1 | | `EGraphics::NeedFlushToDestroy(ERenderSurface *)` | 0x802F21E4 | 1 | | `EGraphics::NeedFlushToDestroy(EShader *)` | 0x802F21FC | 1 | | `EGraphics::NeedFlushToDestroy(ETexture *)` | 0x802F21DC | 1 | | `EIAmbLight::GetLightType(void)` | 0x80226FD8 | 1 | | `EIDirLight::GetLightType(void)` | 0x802274D4 | 2 | | `EIFenceWall::IsOpaque(void)` | 0x80030898 | 0 | | `EILight::GetLightType(void)` | 0x802280D0 | 0 | | `EIPointLight::GetLightType(void)` | 0x8022A61C | 3 | | `EIPortalPointLight::GetLightType(void)` | 0x8022B0F4 | 4 | | `EIPortalPointLight::IsPointLight(void)` | 0x8022B104 | 1 | | `EInstance::CanReloadInstanceData(void)` | 0x8022966C | 0 | | `EInstance::GetModifiableColor(unsigned int)` | 0x802296F0 | 0 | | `EInstance::GetNumRoomID(void)` | 0x80229680 | 0 | | `EInstance::GetRoomID(unsigned int)` | 0x80229688 | 0 | | `EInstance::GetUpdatePriority(void)` | 0x802294A0 | 50 | | `EInstance::HasModifiableColor(void)` | 0x802296E4 | 0 | | `EInstance::VisibilityTest(E3DWindow &)` | 0x8022946C | 1 | | `EMemoryBufferWriteStream::Read(void *, int)` | 0x802E0EF0 | 0 | | `EMemoryCard::CloseForIO(char *, unsigned int)` | 0x803C76A4 | 1 | | `EMemoryCard::CreateFileS(char *, unsigned int, unsigned int)` | 0x803C76C4 | 1 | | `EMemoryCard::GetFileRefCount(char *, unsigned int)` | 0x803C76AC | 0 | | `EMemoryCard::IsPolledCardAvailable(unsigned int)` | 0x803C76D8 | 1 | | `EMemoryCard::IsWrongDevice(unsigned int)` | 0x803C76E0 | 0 | | `EMemoryCard::LoadDataChunkS(char *, unsigned int, unsigned int, unsigned int, void *)` | 0x803C76B4 | 1 | | `EMemoryCard::OpenForIO(char *, unsigned int)` | 0x803C769C | 1 | | `EMemoryCard::PollCards(bool)` | 0x803C76D0 | 1 | | `EMemoryCard::SaveDataChunkS(char *, unsigned int, unsigned int, unsigned int, void *)` | 0x803C76BC | 1 | | `EMemoryReadStream::Write(void *, int)` | 0x802E0EBC | 0 | | `EMemoryWriteStream::Read(void *, int)` | 0x802E0F00 | 0 | | `EModelManager::CanCache(EResource *)` | 0x80324FF8 | 1 | | `EMovie::IsFinished(void)` | 0x80364CE8 | 1 | | `EMovie::Load(EFile *, unsigned int, unsigned int, unsigned int)` | 0x80364CCC | 0 | | `ENgcAudio::GetIndexFromVoice(EVoice *)` | 0x8032BEDC | 0 | | `ENgcAudio::GetVoiceFromIndex(unsigned char)` | 0x8032BEE4 | 0 | | `ENgcController::HasVibration(void) const` | 0x803C711C | 1 | | `ENgcFile::Flush(void)` | 0x802E1BE4 | 1 | | `ENgcFile::GetLastError(void) const` | 0x802E1BEC | 0 | | `ENgcFile::Write(void *, unsigned int)` | 0x802E1B78 | 0 | | `ENgcMemoryCard::CloseForIO(char *, unsigned int)` | 0x80330D78 | 1 | | `ENgcMemoryCard::DeleteDataA(char *, unsigned int, unsigned int, EMC_Operation *)` | 0x803332F8 | 0 | | `ENgcMemoryCard::FormatCardA(unsigned int, EMC_Operation *)` | 0x80333300 | 0 | | `ENgcMemoryCard::GetFileListA(unsigned int, char *, unsigned int, char (*)[31], EMC_Operation *)` | 0x80334888 | 1 | | `ENgcMemoryCard::LoadDataA(char *, unsigned int, unsigned int, void *, EMC_Operation *)` | 0x803332E8 | 0 | | `ENgcMemoryCard::OpenForIO(char *, unsigned int)` | 0x80330D70 | 1 | | `ENgcMemoryCard::SaveDataA(char *, unsigned int, unsigned int, void *, EMC_Operation *)` | 0x803332F0 | 0 | | `ENgcMemoryCard::UnFormatCardA(unsigned int, EMC_Operation *)` | 0x80333308 | 0 | | `ENgcMemoryCard::UnFormatCardS(unsigned int)` | 0x803332E0 | 0 | | `ENgcMemoryCard::UnInitMemoryCard(void)` | 0x803301BC | 1 | | `ENgcMemoryCard::UpdateOperation(EMC_Operation, bool &)` | 0x80333310 | 0 | | `ENgcSNFile::Flush(void)` | 0x802D8088 | 1 | | `ENgcSNFile::GetLastError(void) const` | 0x802D8090 | 0 | | `ENgcScheduler::GetLastRetraceCount(void)` | 0x8034D9E8 | 1 | | `ENgcTextureBase::GetTEVStageCount(void)` | 0x80350470 | 1 | | `ENgcTextureBase::GetTEXCount(void)` | 0x80350478 | 1 | | `ENgcTextureC4_32::GetTEVStageCount(void)` | 0x80350C10 | 2 | | `ENgcTextureC4_32::GetTEXCount(void)` | 0x80350C18 | 2 | | `ENgcTextureC8_32::GetTEVStageCount(void)` | 0x80351420 | 2 | | `ENgcTextureC8_32::GetTEXCount(void)` | 0x80351428 | 2 | | `EQuickdataManager::CanCache(EResource *)` | 0x80325580 | 1 | | `ERC::AllocVertexData(unsigned int)` | 0x802F9B0C | 0 | | `ERC::ParticleListBegin(unsigned int, unsigned int)` | 0x802F706C | 0 | | `ERenderer::GetCurrentTexture(int)` | 0x80364DA4 | 0 | | `EResPrefetchFile::Flush(void)` | 0x803131B0 | 1 | | `EResPrefetchFile::GetLastError(void) const` | 0x803131B8 | 0 | | `EResPrefetchFile::GetSystemHandle(void) const` | 0x803131C0 | 0 | | `EResPrefetchFile::Write(void *, unsigned int)` | 0x803131A8 | 0 | | `EResource::GetCheckPoint(void)` | 0x803122BC | 0 | | `EResource::IsSafeToDelete(void)` | 0x8031226C | 1 | | `EResource::TryIncrementSubResources(void)` | 0x80312348 | 1 | | `EResourceManager::CanCache(void)` | 0x80327ED4 | 0 | | `EResourceManager::GetOverriddenFile(unsigned int, unsigned int &)` | 0x803276FC | 0 | | `ESemaphore::GetObject(int)` | 0x802D7854 | 0 | | `EShaderManager::CanCache(EResource *)` | 0x80328314 | 1 | | `ESimsApp::GetDefaultLanguage(void)` | 0x800044C0 | 0 | | `ESimsApp::GetEventTableSize(void)` | 0x8000638C | 0 | | `ESoundEventManager::CanCache(EResource *)` | 0x80328498 | 1 | | `ESoundTrackDataManager::CanCache(EResource *)` | 0x803285F8 | 1 | | `EStream::GetFile(void)` | 0x802D21F8 | 0 | | `ESubModel::GetCompositeShaderFlags(void)` | 0x802FAE20 | 0 | | `ETexture::Lock(void)` | 0x80365120 | 1 | | `ETexture::UpdateMipLevel(int, int &, int &)` | 0x80365134 | 0 | | `ETexture::UpdatePalette(void)` | 0x8036513C | 0 | | `ETextureManager::CanCache(EResource *)` | 0x80328790 | 1 | | `EThread::GetStackUsage(void)` | 0x802E17F8 | 0 | | `EVibrate::UpdateVibration(void)` | 0x8030833C | 1 | | `EWindow::Cast3DWindow(void)` | 0x80300B04 | 0 | | `EXI2_Poll` | 0x80267870 | 0 | | `EXI2_ReadN` | 0x80267878 | 0 | | `EXI2_WriteN` | 0x80267880 | 0 | | `Effects::EffectsManager::CreateEffect(REffectsSequencer &, Effects::Effect::ClientParams *)` | 0x80352710 | 0 | | `Effects::EffectsManager::Shutdown(void)` | 0x803523C8 | 1 | | `Effects::FastParticleEmitter::GetTotalPacketsInPool(void)` | 0x803549E0 | 0 | | `Effects::GetDefaultRenderContext(void)` | 0x8035220C | 0 | | `EffectsAttachmentManager::CanCache(EResource *)` | 0x803288F8 | 1 | | `EffectsAttachmentManager::GetRow(int)` | 0x80328844 | 0 | | `EffectsPreRenderVisitor::Visit(Effects::Effect &)` | 0x8003E188 | 1 | | `EffectsPreRenderVisitor::Visit(Effects::EffectsSequencer &)` | 0x8003E190 | 1 | | `Emitter::VisibilityTest(E3DWindow &)` | 0x802389D4 | 0 | | `EyeToyClient::GetFilterCount(void)` | 0x80038CE0 | 5 | | `EyeToyClient::GetFunframeCount(void)` | 0x80038CD8 | 12 | | `EyeToyClient::GetTargetSlotCount(void)` | 0x80038CE8 | 5 | | `EyeToyManager::GetPhysicalConnectionCount(void)` | 0x80328CDC | 0 | | `EyeToyManager::IsPhysicallyConnected(int)` | 0x80328CD4 | 0 | | `FamilyImpl::GetGoalAndUnlockData(void)` | 0x800B6C90 | 0 | | `FamilyImpl::GetInventory(void)` | 0x800B6C88 | 0 | | `FamilyImpl::GetStatRef(int, short **)` | 0x800B6CA0 | 0 | | `FamilyImpl::GetStatValue(int) const` | 0x800B6C98 | 0 | | `FamilyImpl::MyDoCommand(short, int)` | 0x800B6810 | 0 | | `FloatConstantsQuickData::GetDataSourceType(void) const` | 0x800B7174 | 1 | | `FloatConstantsQuickData::GetResourceName(StringBuffer &) const` | 0x800B71F4 | 0 | | `FloatConstantsQuickData::LoadFromIndex(unsigned int, int)` | 0x800B71EC | 0 | | `FloatConstantsQuickData::LoadOnlyNameAndIDFromIndex(unsigned int, int)` | 0x800B7204 | 0 | | `FloatConstantsQuickData::SaveDataByID(ObjectDataID &)` | 0x800B70FC | 0 | | `FloatConstantsQuickData::SetResourceName(StringBuffer &)` | 0x800B71FC | 0 | | `GameTime::CountDaysInMonth(int, int)` | 0x80147088 | 30 | | `GameTime::CountDaysInYear(int)` | 0x80147090 | 360 | | `GetSpaceRequiredForPs2HDDSave(void)` | 0x80075B08 | 0 | | `GetUIStatusText(void)` | 0x80042920 | 0 | | `IFFBehaviorConstants::GetDataSourceType(void) const` | 0x8015A8A8 | 2 | | `IFFBehaviorTree::GetDataSourceType(void) const` | 0x8015B9A4 | 2 | | `IFFSlotDescList::GetDataSourceType(void) const` | 0x801452B8 | 2 | | `IFFSlotDescList::GetStringSetID(void) const` | 0x801452AC | 0 | | `ISimInstance::GetShadow(void)` | 0x80056344 | 0 | | `ISimInstance::IsMultiTilePart(void)` | 0x80056A08 | 0 | | `InfluenceMap::ValidateMissing(cXObject *)` | 0x800492E0 | 1 | | `InitHeap` | 0x802E3A34 | 1 | | `Interaction::SetShader(EActionIcon *) const` | 0x800C2000 | 0 | | `InteractorModule::Interactor::ChooseAction(Interaction *)` | 0x8020951C | 0 | | `InteractorModule::InteractorVisualizer::CreateResources(InteractorModule::DirectInteractor &)` | 0x80217130 | 1 | | `InteractorModule::InteractorVisualizer::CreateResources(InteractorModule::SocialModeInteractor &)` | 0x8021728C | 1 | | `InteractorModule::InteractorVisualizer::DestroyResources(InteractorModule::DirectInteractor &)` | 0x80217138 | 1 | | `InteractorModule::InteractorVisualizer::DestroyResources(InteractorModule::SocialModeInteractor &)` | 0x80217294 | 1 | | `InvalidatePS2SavedGame(int)` | 0x80074E20 | 1 | | `IsObjectLockedByGUID(int, int)` | 0x801ECCB8 | 0 | | `Language::GetSwizzler(void)` | 0x803A2B98 | 0 | | `Language::IsSingleExit(BehaviorNode *)` | 0x803A2B90 | 0 | | `M2MTarget::IsItemEnabledSaveGameSelect(int)` | 0x801C1D00 | 0 | | `NGCGetLanguage(void)` | 0x80006024 | 0 | | `Neighbor::GetLatestPersDataVersion(void)` | 0x800C9794 | 8 | | `NeighborhoodImpl::GetHouseNumberForLevel(int)` | 0x800CDD38 | 0 | | `NghResFile::Close(void)` | 0x800D3BD8 | 0 | | `NghResFile::CloseForReopen(void)` | 0x800D3BC8 | 0 | | `NghResFile::CountTypes(void)` | 0x800D3C20 | 0 | | `NghResFile::Delete(StringBuffer &)` | 0x800D3BB8 | 0 | | `NghResFile::FindUniqueID(int)` | 0x800D3D60 | 0 | | `NghResFile::GetByName(int, StringBuffer &, void (*)(void *, int))` | 0x800D3CC8 | 0 | | `NghResFile::GetIndType(short)` | 0x800D3C28 | 0 | | `NghResFile::GetResType(Memory::HandleNode *)` | 0x800D3D40 | 0 | | `NghResFile::IsLittleEndian(Memory::HandleNode *)` | 0x800D3D70 | 1 | | `NghResFile::Open(StringBuffer &)` | 0x800D3BC0 | 0 | | `NghResFile::Reopen(void)` | 0x800D3BD0 | 0 | | `NghResFile::ValidFile(void)` | 0x800D3C18 | 1 | | `NghResFile::Writable(void)` | 0x800D3BE4 | 0 | | `ObjFnTableQuickData::GetDataSourceType(void) const` | 0x8010FFCC | 1 | | `ObjFnTableQuickData::GetResourceName(StringBuffer &) const` | 0x80110240 | 0 | | `ObjFnTableQuickData::LoadFromIndex(unsigned int, int)` | 0x80110330 | 0 | | `ObjFnTableQuickData::LoadOnlyNameAndIDFromIndex(unsigned int, int)` | 0x80110338 | 0 | | `ObjFnTableQuickData::SaveDataByID(ObjectDataID &)` | 0x80110238 | 0 | | `ObjFnTableQuickData::SetResourceName(StringBuffer &)` | 0x80110248 | 0 | | `ObjectDataBehaviorConstants::SetResourceName(StringBuffer &)` | 0x80159DDC | 0 | | `ObjectDataFactoryDatabaseLoad Word Getter (543 functions)¶
Pattern: lwz r3, offset(rX); blr -- C++: return this->field; or return *ptr;
All 543 lwz-getter functions
| Function | Address | Source Reg | Offset | |----------|---------|-----------|-------:| | `ACTTarget::IsActionQueueActive(void)` | 0x801A23BC | this (r3) | 208 | | `AICheckInit` | 0x80266F94 | r13 (SDA) | -23120 | | `ARCheckInit` | 0x80375980 | r13 (SDA) | -22340 | | `ARGetInternalSize` | 0x80375A6C | r13 (SDA) | -22360 | | `ARGetSize` | 0x80375A64 | r13 (SDA) | -22364 | | `ARQCheckInit` | 0x80377CF4 | r13 (SDA) | -22292 | | `ARQGetChunkSize` | 0x80377CEC | r13 (SDA) | -22296 | | `AXGetDspCycles` | 0x8037B9A8 | r13 (SDA) | -22100 | | `AXGetMaxDspCycles` | 0x8037B9A0 | r13 (SDA) | -22104 | | `AXGetMode` | 0x8037921C | r13 (SDA) | -22208 | | `ActionMenu::MenuItem::GetNext(void)` | 0x80183248 | this (r3) | 96 | | `ActionMenu::MenuItem::GetNextConst(void) const` | 0x80183250 | this (r3) | 96 | | `ActionMenu::MenuItem::GetSubMenu(void)` | 0x80183258 | this (r3) | 92 | | `AmbientScorePlayer::GetAmbientScore(void)` | 0x800A8B24 | this (r3) | 8 | | `AmbientScorePlayer::GetNumPlaying(void)` | 0x800A8B2C | this (r3) | 16 | | `AmbientScorePlayer::GetVolume(void)` | 0x800A8B1C | this (r3) | 20 | | `AmbientSoundPlayer::GetAmbientSound(void)` | 0x800AA9B4 | this (r3) | 4 | | `AptActionInterpreter::cbCallMethod_ASSetPropFlags(AptValue *, int)` | 0x8026F4B8 | r13 (SDA) | -22936 | | `AptAnimationPoolData::GetActionPool(void)` | 0x80293950 | this (r3) | 152 | | `AptAnimationPoolData::GetActionPool(void)` | 0x8029E268 | this (r3) | 152 | | `AptAnimationPoolData::GetActionPool(void)` | 0x802A9880 | this (r3) | 152 | | `AptArray::length(void)` | 0x80287E40 | this (r3) | 44 | | `AptBoolean::GetBool(void) const` | 0x802BBAD8 | this (r3) | 12 | | `AptCIH::getAnimationInst(void) const` | 0x80293B38 | this (r3) | 76 | | `AptCIH::getButtonInst(void) const` | 0x80293B30 | this (r3) | 76 | | `AptCIH::getCharacterInst(void) const` | 0x80293B48 | this (r3) | 76 | | `AptCIH::getMorphInst(void) const` | 0x80293B28 | this (r3) | 76 | | `AptCIH::getShapeInst(void) const` | 0x80293B40 | this (r3) | 76 | | `AptCIH::getSpriteInst(void) const` | 0x80293B08 | this (r3) | 76 | | `AptCIH::getSpriteInstBase(void) const` | 0x80293B10 | this (r3) | 76 | | `AptCIH::getStaticTextInst(void) const` | 0x80293B20 | this (r3) | 76 | | `AptCIH::getTextInst(void) const` | 0x80293B18 | this (r3) | 76 | | `AptDate::sMethod_UTC(AptValue *, int)` | 0x80296888 | r13 (SDA) | -22936 | | `AptDisplayList::getState(void)` | 0x8029B9EC | this (r3) | 0 | | `AptFile::GetMainCharacter(void) const` | 0x802A17F0 | this (r3) | 16 | | `AptGetSwfVersion(void)` | 0x8026BAA8 | r13 (SDA) | -27572 | | `AptInteger::GetInt(void) const` | 0x802BC044 | this (r3) | 12 | | `AptPrototype::GetSuperConstructor(void) const` | 0x802B6218 | this (r3) | 32 | | `AptScriptFunctionByteCodeBlock::GetByteCodeBase(void)` | 0x802B9190 | this (r3) | 52 | | `AptScriptFunctionByteCodeBlock::GetByteCodeSize(void)` | 0x802B9198 | this (r3) | 56 | | `AptScriptFunctionByteCodeBlock::GetName(void) const` | 0x802B9180 | this (r3) | 60 | | `AptSound::sMethod_stop(AptValue *, int)` | 0x802ABB50 | r13 (SDA) | -22936 | | `AptStage::sMethod_addListener(AptValue *, int)` | 0x802A864C | r13 (SDA) | -22936 | | `AptStage::sMethod_removeListener(AptValue *, int)` | 0x802A8654 | r13 (SDA) | -22936 | | `AptString::GetNext(void) const` | 0x802AED0C | this (r3) | 16 | | `AptString::sMethod_lastIndexOf(AptValue *, int)` | 0x802AD0D4 | r13 (SDA) | -22936 | | `AptValueFactory::CreateUndefined(void)` | 0x802B5124 | r13 (SDA) | -22936 | | `AptViewer::IsReadControllerActive(void)` | 0x80011E58 | this (r3) | 932 | | `AptXmlNode::sMethod_appendChild(AptValue *, int)` | 0x802BB338 | r13 (SDA) | -22936 | | `AptXmlNode::sMethod_cloneNode(AptValue *, int)` | 0x802BB340 | r13 (SDA) | -22936 | | `AptXmlNode::sMethod_insertBefore(AptValue *, int)` | 0x802BB4D4 | r13 (SDA) | -22936 | | `AptXmlNode::sMethod_removeNode(AptValue *, int)` | 0x802BB4DC | r13 (SDA) | -22936 | | `ArcCopier::IsTerminatingCopy(void)` | 0x8032171C | r13 (SDA) | -26640 | | `ArcFileInfo::GetCopiedSize(void)` | 0x80321DB4 | this (r3) | 12 | | `ArcFileInfo::GetName(void)` | 0x80321DA4 | this (r3) | 0 | | `ArcFileInfo::GetSourceLen(void)` | 0x80321DAC | this (r3) | 8 | | `AwarenessManager::GetAwareOfObject(void)` | 0x80014250 | this (r3) | 28 | | `AwarenessManager::GetAwarenessAction(void)` | 0x80014248 | this (r3) | 24 | | `AwarenessManager::GetStateFlags(void)` | 0x80014280 | this (r3) | 0 | | `BBHTarget::IsBuildBuyHUDActive(void)` | 0x801A3E94 | this (r3) | 136 | | `BBI::InventoryItem::GetItemGuid(void) const` | 0x8004A20C | this (r3) | 4 | | `BSplineVolume::GetID(void)` | 0x8030F3BC | this (r3) | 128 | | `Behavior::GetGlobNamespaceID(void)` | 0x800AB558 | r13 (SDA) | -31848 | | `Behavior::GetLanguage(void)` | 0x800AD120 | this (r3) | 8 | | `Behavior::GetOwner(void)` | 0x800AD118 | this (r3) | 4 | | `CASGeneticsTarget::GetCasGenetics(void)` | 0x801A08B8 | this (r3) | 148 | | `CASRoommateTarget::GetSelectedSlot(void) const` | 0x801A0934 | this (r3) | 144 | | `CASTarget::GetCurPartUIFocus(void)` | 0x801A0808 | this (r3) | 164 | | `CASTarget::GetCurrentSimNumber(void)` | 0x801A0810 | this (r3) | 4940 | | `CASTarget::GetGeneticsTarget(void)` | 0x801A08A8 | this (r3) | 4976 | | `CASTarget::GetNPCEditor(void)` | 0x801A08B0 | this (r3) | 4948 | | `CASTarget::GetPrevUIFocus(void)` | 0x801A0800 | this (r3) | 160 | | `CASTarget::IsShuttingdown(void)` | 0x801A07F8 | this (r3) | 5680 | | `CDirtyXmlNode::nodeType(void)` | 0x8023AB80 | this (r3) | 8 | | `CDirtyXmlNode::parentNode(void)` | 0x8023ABE4 | this (r3) | 12 | | `CLoadingScreen::GetMode(void) const` | 0x800578A4 | this (r3) | 852 | | `CSMTarget::IsCSIMActive(void)` | 0x801A7674 | this (r3) | 136 | | `CUnlockDisplay::DonePreloadObject(void)` | 0x80078FFC | this (r3) | 1104 | | `CUnlockDisplay::IsDone(void)` | 0x80078FDC | this (r3) | 1116 | | `CUnlockDisplayObject::GetModel(void)` | 0x800799C4 | this (r3) | 20 | | `CUnlockDisplayObject::GetType(void)` | 0x80079C68 | this (r3) | 4 | | `CUnlockDisplayObject::HasDrawn(void)` | 0x80079C60 | this (r3) | 124 | | `CUnlockDisplayObject::IsDone(void)` | 0x80079C2C | this (r3) | 120 | | `CUnlockDisplayObject::IsReady(void)` | 0x80079C18 | this (r3) | 116 | | `CUnlockDisplayObject::IsSimple(void)` | 0x80079A54 | this (r3) | 128 | | `CameraDirector::GetFrameEffectsManager(void)` | 0x8001CAF8 | this (r3) | 720 | | `CameraMotionSystem::GetMotionType(void)` | 0x800160B0 | this (r3) | 0 | | `CareersImpl::GetSuit(Job &, bool)` | 0x800B1B4C | r4 | 104 | | `CasListener::GetMediator(void) const` | 0x80161BA8 | this (r3) | 0 | | `CasMediator::GetNumListeners(void) const` | 0x80162028 | this (r3) | 8 | | `CasScene::Get3DWindow(void) const` | 0x801672B8 | this (r3) | 2840 | | `CasScene::GetAmbientScoreName(void) const` | 0x801672C8 | r13 (SDA) | -31572 | | `CasSceneDefault::GetSceneName(void) const` | 0x801755A4 | r13 (SDA) | -31556 | | `CasSceneGamecube::GetSceneName(void) const` | 0x80175764 | r13 (SDA) | -31552 | | `CasScenePersonal::GetSceneName(void) const` | 0x8017590C | r13 (SDA) | -31548 | | `CasSimRenderer::GetPositionNum(void) const` | 0x8016FB54 | this (r3) | 532 | | `Commander::GetNext(void)` | 0x800B43E4 | this (r3) | 0 | | `Commander::GetType(void)` | 0x800B43DC | this (r3) | 4 | | `DSPCheckInit` | 0x8037E388 | r13 (SDA) | -22056 | | `DVDResetRequired` | 0x8025F5B8 | r13 (SDA) | -23424 | | `DialogPaneBase::GetBodyTextItem(void)` | 0x80088D28 | this (r3) | 100 | | `DialogPaneBase::GetTitleTextItem(void)` | 0x80088D20 | this (r3) | 96 | | `DlgWrapper::GetDialogPane(void)` | 0x8007E5E8 | this (r3) | 172 | | `DlgWrapper::GetFont(void)` | 0x8007E5E0 | this (r3) | 168 | | `DlgWrapper::IsAptDrawable(void)` | 0x8007F06C | this (r3) | 180 | | `E2ETarget::GetTopLevelState(void)` | 0x801E7088 | this (r3) | 216 | | `EAHeap::GetCurrentCheckPoint(void)` | 0x802D09D4 | r13 (SDA) | -26860 | | `EApp::GetGameState(void) const` | 0x802E2954 | this (r3) | 1128 | | `EApp::GetMenuOwner(void) const` | 0x802E2964 | this (r3) | 1132 | | `EBitArray::GetBuffer(void)` | 0x802E0914 | this (r3) | 0 | | `EBitArray::GetSize(void) const` | 0x802E076C | this (r3) | 4 | | `EController::GetId(void)` | 0x8030588C | this (r3) | 0 | | `EController::GetStatus(void)` | 0x80305894 | this (r3) | 4 | | `EController::IsControlFake(void)` | 0x80304D10 | this (r3) | 428 | | `EDL::GetStart(void)` | 0x80363378 | this (r3) | 72 | | `EDL::GetVertCount(void)` | 0x80363408 | this (r3) | 84 | | `EDataHeader::GetName(void)` | 0x8035B320 | this (r3) | 0 | | `EDatasetManager::GetLoadingEnabled(void)` | 0x80324850 | r13 (SDA) | -26632 | | `EDummyFile::Tell(void) const` | 0x800226A0 | this (r3) | 44 | | `EEngine::CanReset(void)` | 0x802E38DC | this (r3) | 12 | | `EEngine::GetCurrentLevel(void)` | 0x802E38CC | this (r3) | 48 | | `EFile::GetAccessMode(void) const` | 0x802C6914 | this (r3) | 12 | | `EFile::GetDeviceType(void) const` | 0x802C691C | this (r3) | 16 | | `EFile::GetIOMode(void) const` | 0x802C690C | this (r3) | 8 | | `EFile::GetLength(void) const` | 0x802C6944 | this (r3) | 20 | | `EFile::GetName(void) const` | 0x802C6934 | this (r3) | 32 | | `EFile::GetPath(void) const` | 0x802C692C | this (r3) | 28 | | `EFileSystem::FileCreator::GetCreatorCB(void) const` | 0x802C6C74 | this (r3) | 0 | | `EFileSystem::GetDefaultType(void) const` | 0x802C7118 | this (r3) | 16 | | `EFileSystem::HDDSaveStatus(void)` | 0x802C7108 | this (r3) | 32 | | `EFileSystem::HDDStatus(void)` | 0x802C70D0 | this (r3) | 24 | | `EFileSystem::HDDTmpStatus(void)` | 0x802C70EC | this (r3) | 28 | | `EGlobal::GetCam(void)` | 0x8003FA1C | this (r3) | 208 | | `EGlobal::ListenForController(void)` | 0x80042194 | this (r3) | 1144 | | `EGraphics::FrameBufferClearFlag(void)` | 0x802F21B0 | this (r3) | 12 | | `EGraphics::FrameBufferClearRequestFlag(void)` | 0x802F21B8 | this (r3) | 16 | | `EGraphics::GetActualScreenXSize(void)` | 0x802F22C8 | this (r3) | 24 | | `EGraphics::GetActualScreenYSize(void)` | 0x802F22D0 | this (r3) | 28 | | `EGraphics::GetCoordinateSystem(void)` | 0x802F221C | this (r3) | 152 | | `EGraphics::GetScreenXOffset(void)` | 0x802F22E8 | this (r3) | 32 | | `EGraphics::GetScreenXSize(void)` | 0x802F2238 | this (r3) | 24 | | `EGraphics::GetScreenYOffset(void)` | 0x802F22F0 | this (r3) | 36 | | `EGraphics::GetScreenYSize(void)` | 0x802F2240 | this (r3) | 28 | | `EGraphics::IsEnableFrameEffects(void)` | 0x802F2350 | this (r3) | 800 | | `EGraphics::IsFirstPassRenderOnly(void)` | 0x802F2340 | this (r3) | 796 | | `EGraphics::IsInsideBeginEnd(void)` | 0x802F2358 | this (r3) | 4 | | `EILight::HaveLightsChanged(void)` | 0x802281BC | r13 (SDA) | -28500 | | `EILight::IsEnabled(void)` | 0x802281A0 | this (r3) | 136 | | `EIPointLight::GetRoomId(void)` | 0x8022A64C | this (r3) | 192 | | `EIPortalPointLight::GetPortal(void)` | 0x8022B0FC | this (r3) | 212 | | `EIPortalPointLight::GetRoomId(void)` | 0x8022B10C | this (r3) | 192 | | `EIStaticModel::GetModel(void)` | 0x8022E27C | this (r3) | 288 | | `EIStaticModel::GetModelId(void)` | 0x8022E274 | this (r3) | 272 | | `EIStaticModel::GetModifiableColor(void)` | 0x8022DAE8 | this (r3) | 276 | | `EIStaticSubModel::GetModifiableColor(void)` | 0x8022F590 | this (r3) | 148 | | `EInstance::GetContext(void)` | 0x80229224 | r13 (SDA) | -28496 | | `EInstance::GetLevel(void)` | 0x80229674 | this (r3) | 4 | | `EInstance::GetOtherSideData(void)` | 0x802295F0 | this (r3) | 36 | | `EInstance::GetOtherSideFn(void)` | 0x802295F8 | this (r3) | 32 | | `EInstance::GetPortalType(void)` | 0x802295CC | this (r3) | 20 | | `EInstance::GetShadowOwner(void)` | 0x8022971C | this (r3) | 24 | | `EInstance::GetThisSideData(void)` | 0x802295E0 | this (r3) | 40 | | `EInstance::GetThisSideFn(void)` | 0x802295E8 | this (r3) | 28 | | `EInstance::IsWall(void)` | 0x80229724 | this (r3) | 16 | | `ELiveMode::GetIntroCameraState(void)` | 0x80090068 | this (r3) | 12 | | `ELiveMode::InTransportMode(void)` | 0x80090038 | this (r3) | 40 | | `ELiveMode::IsInitialized(void)` | 0x80090098 | this (r3) | 48 | | `EMemoryBufferWriteStream::GetPos(void) const` | 0x802E0EE8 | this (r3) | 32 | | `EMemoryReadStream::GetPos(void) const` | 0x802E0EB4 | this (r3) | 32 | | `EMemoryWriteStream::GetPos(void) const` | 0x802E0EF8 | this (r3) | 28 | | `ENCamera::GetID(void)` | 0x8035D24C | this (r3) | 64 | | `ENCamera::GetKeys(void)` | 0x8035D254 | this (r3) | 68 | | `ENDummy::GetID(void)` | 0x802CC4B4 | this (r3) | 64 | | `ENDummy::GetKeys(void)` | 0x802CC4BC | this (r3) | 68 | | `ENgcAudio::IsPausedDueToDiscError(void)` | 0x8032CB0C | this (r3) | 56 | | `ENgcEngine::IsResetting(void)` | 0x8032E884 | r13 (SDA) | -26472 | | `ENgcFile::Tell(void) const` | 0x802E1BDC | this (r3) | 104 | | `ENgcRenderSurface::GetTexture(void)` | 0x8034C314 | this (r3) | 40 | | `ENgcRenderer::GetFrameEffectsScratchMemory(void)` | 0x80349FD4 | this (r3) | 17996 | | `ENgcRenderer::GetNextExternalFrameBuffer(void)` | 0x80349F44 | this (r3) | 844 | | `ENgcRenderer::GetRenderStateCache(void)` | 0x80349F3C | this (r3) | 1240 | | `ENgcSNFile::GetSystemHandle(void) const` | 0x802D8098 | this (r3) | 44 | | `ENgcSNFile::Tell(void) const` | 0x802D8080 | this (r3) | 48 | | `ENgcTextureBase::UpdatePalette(void)` | 0x80350238 | this (r3) | 144 | | `EQuickdataManager::GetCurrentLanguage(void) const` | 0x80325588 | this (r3) | 3360 | | `ERBinary::GetData(void)` | 0x8036860C | this (r3) | 20 | | `ERBinary::GetDataSize(void)` | 0x80368614 | this (r3) | 24 | | `EREdithTreeSet::GetNumTrees(void)` | 0x8030FC5C | this (r3) | 24 | | `ERLevel::IsDrawingOrderTable(void)` | 0x80238290 | r13 (SDA) | -28428 | | `ERModel::AreMatsInDLs(void)` | 0x8031B448 | this (r3) | 140 | | `ERModel::DontCull(void)` | 0x8031B460 | this (r3) | 44 | | `ERModel::DontFrontPlaneFade(void)` | 0x8031B450 | this (r3) | 36 | | `ERModel::DontInterestFade(void)` | 0x8031B458 | this (r3) | 40 | | `ERModel::GetCameraCount(void)` | 0x80318B10 | this (r3) | 300 | | `ERModel::GetDummyCount(void)` | 0x80318B08 | this (r3) | 288 | | `ERModel::GetLatticeCount(void)` | 0x80318B00 | this (r3) | 276 | | `ERModel::GetNumAttachmentVerts(void)` | 0x8031B484 | this (r3) | 312 | | `ERModel::GetNumLightPos(void)` | 0x8031B48C | this (r3) | 320 | | `ERModel::GetNumMorphBases(void)` | 0x8031A628 | this (r3) | 264 | | `ERModel::IsHierarchical(void)` | 0x8031B428 | this (r3) | 20 | | `ERModel::IsLattice(void)` | 0x8031B440 | this (r3) | 52 | | `ERModel::IsMorphTarget(void)` | 0x8031B438 | this (r3) | 56 | | `ERModel::IsWall(void)` | 0x8031B468 | this (r3) | 48 | | `ERModel::IsWeldable(void)` | 0x8031B430 | this (r3) | 32 | | `ERQuickdata::GetImage(void) const` | 0x8031C62C | this (r3) | 20 | | `ERQuickdata::GetImageSize(void) const` | 0x8031C634 | this (r3) | 24 | | `ERSampledata::GetSampleHeader(void) const` | 0x80338324 | this (r3) | 20 | | `ERSampledata::GetSampleHeader2(void) const` | 0x8033832C | this (r3) | 24 | | `ERTQuantize4D::GetPaletteSize(void)` | 0x8035FF48 | this (r3) | 4132 | | `ERTQuantize::GetFullPaletteSize(void)` | 0x802CF964 | this (r3) | 4248 | | `ERTQuantize::GetPaletteSize(void)` | 0x802CF95C | this (r3) | 4264 | | `ERenderSurface::GetFlags(void)` | 0x80364F5C | this (r3) | 8 | | `ERenderSurface::GetXSize(void)` | 0x80364EB8 | this (r3) | 0 | | `ERenderSurface::GetYSize(void)` | 0x80364EC0 | this (r3) | 4 | | `EResPrefetchFile::GetResMan(void)` | 0x80313338 | this (r3) | 44 | | `EResPrefetchFile::Tell(void) const` | 0x803131C8 | this (r3) | 64 | | `EResource::GetResId(void) const` | 0x80312274 | this (r3) | 8 | | `EResourceLoaderImpl::AreLoadsPaused(void)` | 0x80311CC8 | this (r3) | 1000 | | `EResourceManager::IsInitialized(void)` | 0x80327ECC | this (r3) | 72 | | `EResourceMap::GetMaxEntries(void)` | 0x80327EB4 | this (r3) | 8 | | `EResourceMap::GetMaxLoaded(void)` | 0x80327EBC | this (r3) | 12 | | `EResourceMap::GetMaxUsed(void)` | 0x80327EC4 | this (r3) | 16 | | `EResourceMap::GetNumEntries(void)` | 0x80327EAC | this (r3) | 4 | | `EResourceMap::GetSize(void)` | 0x80327E30 | this (r3) | 4 | | `ESemaphore::GetCurrentCount(void)` | 0x802D79F8 | this (r3) | 12 | | `ESemaphore::GetMaxCount(void)` | 0x802D7A00 | this (r3) | 8 | | `EShader::GetShaderUpdate(void) const` | 0x802FAB74 | this (r3) | 232 | | `EShader::GetSurfaceProperties(void) const` | 0x802FAAEC | this (r3) | 4 | | `ESim::GetIsChangingOutfit(void)` | 0x80035374 | this (r3) | 984 | | `ESim::GetIsModelLoaded(void)` | 0x8003536C | this (r3) | 1592 | | `ESim::GetPerson(void)` | 0x80035314 | this (r3) | 976 | | `ESim::GetPlumbBobState(void)` | 0x8003535C | this (r3) | 1004 | | `ESim::GetShadow(void)` | 0x8003530C | this (r3) | 992 | | `ESim::GetSimHead(void)` | 0x80035330 | this (r3) | 1576 | | `ESim::GetSimModel(void)` | 0x80035338 | this (r3) | 1596 | | `ESimsApp::GetStartLot(void)` | 0x80003FDC | r13 (SDA) | -32752 | | `ESimsCam::GetControllerFilterId(void) const` | 0x8001ADA0 | this (r3) | 1376 | | `ESimsCam::GetMode(void) const` | 0x8001EA9C | this (r3) | 972 | | `ESimsCam::GetPlayerId(void)` | 0x8001EAA4 | this (r3) | 4 | | `ESimsCam::GetRoomWallsOpaque(void)` | 0x8001EACC | this (r3) | 1352 | | `ESimsCam::GetbMoved(void) const` | 0x8001EA8C | this (r3) | 8 | | `ESimsCam::IsForceFullScreen(void)` | 0x8001EAB4 | this (r3) | 1356 | | `ESpriteRender::GetMarked(void)` | 0x80036E78 | this (r3) | 0 | | `ESpriteRender::GetMarkedAsNew(void)` | 0x80036E80 | this (r3) | 4 | | `ESpriteRender::GetObject(void)` | 0x80036E70 | this (r3) | 8 | | `EStream::IsStreamingStructure(void)` | 0x802D283C | this (r3) | 0 | | `EString2::operator unsigned wchar_t *(void) const` | 0x803C2F10 | this (r3) | 0 | | `EString::operator char *(void) const` | 0x803B0A6C | this (r3) | 0 | | `ETexture::GetFlags(void)` | 0x80365118 | this (r3) | 8 | | `EThread::GetStack(void)` | 0x802D858C | this (r3) | 796 | | `EThread::GetStackSize(void)` | 0x802D8594 | this (r3) | 800 | | `EThread::GetThreadName(void)` | 0x802D8684 | this (r3) | 812 | | `EVibrate::IsOn(void)` | 0x80307CBC | this (r3) | 0 | | `EVisInfoDecomp::GetBitCount(void)` | 0x8036212C | this (r3) | 8 | | `EWindow::GetCurrent3DWindow(void)` | 0x80300AF0 | r13 (SDA) | -26704 | | `EWindow::GetCurrentWindow(void)` | 0x80300AE8 | r13 (SDA) | -26708 | | `EdithDialogPrimitive::GetModalDialogResult(void) const` | 0x800B5F20 | this (r3) | 136 | | `Emitter::Get(void)` | 0x8023869C | this (r3) | 124 | | `EyeToyClient::GetSessionTexture(void)` | 0x80038F40 | r13 (SDA) | -32536 | | `EyeToyClient::MacroBlockDummyAllocator(unsigned int, unsigned int)` | 0x800387B4 | r13 (SDA) | -32540 | | `EyeToyClient::loadTexture_alloc(unsigned int, unsigned int)` | 0x80037708 | r13 (SDA) | -25032 | | `FCMTarget::IsFireCodeMeterActive(void)` | 0x801B4458 | this (r3) | 136 | | `FamilyImpl::GetCreationOrder(void)` | 0x800B6B28 | this (r3) | 16 | | `FamilyImpl::GetFunds(void)` | 0x800B6B38 | this (r3) | 20 | | `FamilyImpl::GetHouseNumber(void)` | 0x800B6B18 | this (r3) | 12 | | `FamilyImpl::GetHouseValue(void)` | 0x800B6B60 | this (r3) | 24 | | `FamilyImpl::GetNumber(void)` | 0x800B6B08 | this (r3) | 8 | | `FastAllocPool::GetAlignment(void) const` | 0x802D7220 | this (r3) | 16 | | `FastAllocPool::GetBlockSize(void) const` | 0x802D7240 | this (r3) | 12 | | `FastAllocPool::GetPoolBlocks(void) const` | 0x802D7248 | this (r3) | 8 | | `FastAllocPool::GetPoolStart(void) const` | 0x802D7228 | this (r3) | 0 | | `FlowGotoTarget::GetStateRequest(void)` | 0x8017B980 | this (r3) | 132 | | `FrameEffectsManager::BloomObject(void)` | 0x80357970 | this (r3) | 4 | | `FrameEffectsManager::DepthOfFieldObject(void)` | 0x80357978 | this (r3) | 8 | | `FrameEffectsManager::MotionBlurObject(void)` | 0x80357968 | this (r3) | 0 | | `FreeResourceManager::GetUnreferencedResourceCount(void)` | 0x803293F0 | this (r3) | 3232 | | `G2DTarget::IsG2DActive(void)` | 0x801B5A04 | this (r3) | 136 | | `G2DTarget::IsG2DSpawned(void)` | 0x801B5A0C | this (r3) | 132 | | `G2DTarget::IsInitComplete(void)` | 0x801E7050 | r13 (SDA) | -30368 | | `GDGetOverflowCallback` | 0x8039ABD4 | r13 (SDA) | -21540 | | `GXGetCPUFifo` | 0x80389158 | r13 (SDA) | -21960 | | `GXGetCurrentGXThread` | 0x80389150 | r13 (SDA) | -21952 | | `GXGetFifoBase` | 0x80388D64 | this (r3) | 0 | | `GXGetFifoSize` | 0x80388D6C | this (r3) | 8 | | `GXGetGPFifo` | 0x80389160 | r13 (SDA) | -21956 | | `GXGetOverflowCount` | 0x80389168 | r13 (SDA) | -21936 | | `GXGetTexObjFmt` | 0x8038D99C | this (r3) | 20 | | `GXGetTexObjTlut` | 0x8038DBAC | this (r3) | 24 | | `GXGetTexObjUserData` | 0x8038D900 | this (r3) | 16 | | `GameData::GetBuildBuyPlayer(void) const` | 0x8003DDA0 | this (r3) | 296 | | `GetNumNghSubSections(NghLayout *)` | 0x800D26F8 | this (r3) | 12 | | `GetSRandSeed(void)` | 0x800A64E8 | r13 (SDA) | -24584 | | `GlobalConstantsClient::GetFileID(void)` | 0x800EC07C | r13 (SDA) | -31848 | | `H2DTarget::GetPausePlayer(void)` | 0x801B8A38 | this (r3) | 208 | | `HouseImpl::GetFamily(void)` | 0x800BC984 | this (r3) | 20 | | `HouseImpl::GetFurnishingsScoreCurve(void)` | 0x800BC994 | this (r3) | 32 | | `HouseImpl::GetSizeScoreCurve(void)` | 0x800BC98C | this (r3) | 28 | | `HouseStats::GetLotSize(void)` | 0x800BC974 | this (r3) | 20 | | `HouseStats::GetNumBathrooms(void)` | 0x800BC964 | this (r3) | 12 | | `HouseStats::GetNumBedrooms(void)` | 0x800BC95C | this (r3) | 8 | | `HouseStats::GetNumLevels(void)` | 0x800BC96C | this (r3) | 16 | | `HouseStats::GetObjectCount(void)` | 0x800BC97C | this (r3) | 36 | | `HouseStats::GetSquareFeet(void)` | 0x800BC454 | this (r3) | 0 | | `IFFResFile2::Writable(void)` | 0x800BEA00 | this (r3) | 284 | | `INTTarget::IsInterestMeterActive(void)` | 0x801F8E8C | this (r3) | 136 | | `ISimInstance::GetCursFlags(void)` | 0x800569FC | this (r3) | 812 | | `ISimInstance::GetFlags(void)` | 0x80056A10 | this (r3) | 812 | | `ISimInstance::GetXOb(void)` | 0x80056354 | this (r3) | 808 | | `ISimsObjectModel::GetILight(void)` | 0x80053E38 | this (r3) | 1120 | | `ISimsObjectModel::GetShadow(void)` | 0x80053D9C | this (r3) | 1100 | | `ITBTarget::IsIntroThoughtBalloonActive(void)` | 0x801BD8F4 | this (r3) | 136 | | `IconItem::GetShader(void)` | 0x800878BC | this (r3) | 48 | | `ImageProcessingManager::LinkTexture(unsigned int, unsigned int)` | 0x8032A290 | r13 (SDA) | -26592 | | `Interaction::GetFlags(void) const` | 0x800C1FF0 | this (r3) | 60 | | `Interaction::GetID(void) const` | 0x800C1DA4 | this (r3) | 56 | | `Interaction::GetIconObject(void) const` | 0x800C1C84 | this (r3) | 16 | | `Interaction::GetLocalVars(void)` | 0x800C1D64 | this (r3) | 36 | | `Interaction::GetLocalVarsCount(void)` | 0x800C1D6C | this (r3) | 32 | | `Interaction::GetPerson(void) const` | 0x800C1C7C | this (r3) | 8 | | `Interaction::GetPriority(void) const` | 0x800C1D7C | this (r3) | 40 | | `Interaction::GetStackObject(void) const` | 0x800C1C74 | this (r3) | 12 | | `Interaction::GetTreeTabEntryIndex(void) const` | 0x800C1D74 | this (r3) | 20 | | `Interaction::GetType(void)` | 0x800C1D44 | this (r3) | 4 | | `InteractorModule::DirectInteractor::GetControlStatus(void)` | 0x80206118 | this (r3) | 100 | | `InteractorModule::DirectInteractor::IsAutonomous(void)` | 0x8020612C | this (r3) | 128 | | `InteractorModule::FloorPainter::IsInPlaceMode(void)` | 0x802091A4 | this (r3) | 164 | | `InteractorModule::Interactor::GetAttachedCamera(void)` | 0x802092AC | this (r3) | 4 | | `InteractorModule::Interactor::GetDrawState(void)` | 0x802095DC | this (r3) | 76 | | `InteractorModule::Interactor::GetPlayerId(void)` | 0x802095CC | this (r3) | 0 | | `InteractorModule::InteractorInputManager::InstanceData::GetControllerFilterId(void) const` | 0x8020AAE8 | this (r3) | 20 | | `InteractorModule::InteractorManager::GetInputManager(void)` | 0x8020B690 | r13 (SDA) | -28512 | | `InteractorModule::InteractorManager::GetVisualizer(void)` | 0x8020B698 | r13 (SDA) | -28508 | | `InteractorModule::InteractorManager::IsInitialized(void)` | 0x8020B6A0 | this (r3) | 0 | | `InteractorModule::ObjectManipulator::GetIsCursorModelEnabled(void) const` | 0x8021A03C | this (r3) | 168 | | `InteractorModule::SocialModeInteractor::GetTimout(void)` | 0x8021F588 | this (r3) | 108 | | `K2YTarget::GetMode(void)` | 0x801E7098 | r13 (SDA) | -30256 | | `LoadGameTarget::GetResult(void)` | 0x8018AAE8 | this (r3) | 268 | | `LoadingScreenStateMachine::GetLoadingScreen(void)` | 0x80090E04 | this (r3) | 152 | | `LoadingScreenStateMachine::GetSingleton(void)` | 0x80090F74 | r13 (SDA) | -32160 | | `LoadingScreenStateMachine::IsLoadComplete(void)` | 0x80090E18 | this (r3) | 164 | | `M2MTarget::GetDevice(void)` | 0x801C1108 | this (r3) | 268 | | `M2MTarget::GetPlayerNum(void)` | 0x801E7090 | this (r3) | 400 | | `M2MTarget::GetSaveGameID(void)` | 0x801C113C | this (r3) | 272 | | `MDITarget::CountModelessDialogs(void)` | 0x801C3DF0 | this (r3) | 136 | | `MDITarget::IsModelessDialogActive(void)` | 0x801C3CA0 | this (r3) | 148 | | `MIXGetDvdStreamFader` | 0x8037D1A0 | r13 (SDA) | -22068 | | `MIXGetSoundMode` | 0x8037BCC4 | r13 (SDA) | -22064 | | `MMUTarget::GetCurrentGameplayChoice(void) const` | 0x801E7080 | this (r3) | 184 | | `MMUTarget::GetCurrentMainScreenChoice(void) const` | 0x801E7078 | this (r3) | 164 | | `MMUTarget::GetSingleton(void)` | 0x801C59E0 | r13 (SDA) | -30180 | | `MODTarget::IsMoodActive(void)` | 0x801C9C84 | this (r3) | 136 | | `MOTTarget::IsMotivesActive(void)` | 0x801CBFC0 | this (r3) | 136 | | `MUStateMachine::GetCurRequest(void)` | 0x800939C0 | r13 (SDA) | -21368 | | `MUStateMachine::GetHouseNumber(void)` | 0x80093BCC | r13 (SDA) | -21360 | | `MUStateMachine::GetMUWrapper(void)` | 0x80093BD4 | this (r3) | 152 | | `MUWrapper::GetFont(void)` | 0x80083964 | this (r3) | 164 | | `MemFile::Writable(void)` | 0x800A64E0 | this (r3) | 268 | | `NamespaceSelector::GetTreeSetResource(void)` | 0x800C8860 | this (r3) | 48 | | `Neighbor::GetGUID(void)` | 0x800C9A8C | this (r3) | 8 | | `Neighbor::GetRelations(void) const` | 0x800C90B4 | this (r3) | 16 | | `NeighborhoodImpl::GetHouseNumber(void)` | 0x800D1294 | this (r3) | 112 | | `NghResFile::GetSourceType(void) const` | 0x800D93CC | this (r3) | 32 | | `NghResFile::GetStoreChecksum(void)` | 0x800D8EE8 | this (r3) | 396 | | `OSGetArenaHi` | 0x8024C760 | r13 (SDA) | -23680 | | `OSGetArenaLo` | 0x8024C768 | r13 (SDA) | -27920 | | `OSGetSemaphoreCount` | 0x80371A90 | this (r3) | 0 | | `OSGetThreadPriority` | 0x802548F0 | this (r3) | 724 | | `ObjSelector::GetSimDescription(void) const` | 0x803A5208 | this (r3) | 140 | | `ObjectDataObjDefinition::GetData(void)` | 0x8015CA34 | this (r3) | 28 | | `ObjectDataObjDefinition::GetData(void) const` | 0x8015CA3C | this (r3) | 28 | | `ObjectFolderImpl::GetObjectsDatabase(void)` | 0x800F29F0 | this (r3) | 1680 | | `ObjectModuleImpl::GetFolder(void)` | 0x800F9928 | r13 (SDA) | -21508 | | `ObjectModuleImpl::GetSim(void)` | 0x800F9980 | r13 (SDA) | -21496 | | `ObjectSlot::GetHeight(void)` | 0x80145328 | this (r3) | 8 | | `PADGetSpec` | 0x80266280 | r13 (SDA) | -27640 | | `PAZBase::GetPausePlayer(void)` | 0x801D0B68 | this (r3) | 132 | | `PPMMutexGetLockCount(void *)` | 0x802D87E4 | this (r3) | 12 | | `PassiveInfluenceObject::GetObject(void)` | 0x803A8CB0 | this (r3) | 4 | | `PassiveInfluencePerson::GetObject(void)` | 0x803A8B48 | this (r3) | 4 | | `PassiveInfluenceTarget::GetObject(void)` | 0x803A8EE4 | this (r3) | 4 | | `PlayerFamilyImpl::GetTotalAspirationScore(void) const` | 0x8012D1C4 | this (r3) | 3424 | | `REffectsEmitter::GetEmitterInitData(void)` | 0x8036AD78 | this (r3) | 20 | | `REffectsEmitter::GetParticleBirthData(void)` | 0x8036AD80 | this (r3) | 24 | | `REffectsEmitter::GetTexture(void)` | 0x8036AD88 | this (r3) | 28 | | `REffectsEmitter::Refreshed(void)` | 0x8036AD90 | this (r3) | 32 | | `RParticle::GetData(void)` | 0x8036C308 | this (r3) | 20 | | `Room::IsPool(void)` | 0x801386D4 | this (r3) | 148 | | `RoomManager::GetRoomManager(void)` | 0x8013884C | r13 (SDA) | -31676 | | `RoutingSlot::GetFacingDirection(void) const` | 0x80145540 | this (r3) | 52 | | `RoutingSlot::GetMaxDist(void) const` | 0x80145588 | this (r3) | 40 | | `RoutingSlot::GetMinDist(void) const` | 0x80145580 | this (r3) | 36 | | `RoutingSlot::GetOptimalDist(void) const` | 0x80145590 | this (r3) | 44 | | `RoutingSlot::GetResolution(void) const` | 0x80145598 | this (r3) | 56 | | `RoutingSlot::GetSnapTargetSlot(void) const` | 0x801455B8 | this (r3) | 32 | | `SAnimator2::GetAnimState(void)` | 0x800690E8 | this (r3) | 44 | | `SAnimator2::GetAwareOfObject(void)` | 0x80068A40 | this (r3) | 1596 | | `SAnimator2::GetFollowMode(void)` | 0x800690F0 | this (r3) | 24 | | `SAnimator2::GetHeadBoneIndex(void)` | 0x800691DC | this (r3) | 1552 | | `SAnimator2::GetLastCostume(void)` | 0x80069220 | this (r3) | 304 | | `SAnimator2::GetNormalSimDescription(void) const` | 0x80069164 | this (r3) | 1540 | | `SAnimator2::GetPelvisBoneIndex(void)` | 0x800691E4 | this (r3) | 1556 | | `SAnimator2::GetPerson(void)` | 0x800690D8 | this (r3) | 4 | | `SAnimator2::GetRightHandBoneIndex(void)` | 0x800691D4 | this (r3) | 1548 | | `SAnimator2::GetSim(void)` | 0x800690E0 | this (r3) | 8 | | `SAnimator2::GetTorsoBoneIndex(void)` | 0x800691EC | this (r3) | 1560 | | `SKLTarget::IsSkillsActive(void)` | 0x801E19BC | this (r3) | 136 | | `SaveGameTarget::GetResult(void)` | 0x8018DE08 | this (r3) | 272 | | `SimpleReconObjectLoad Float Getter (61 functions)¶
Pattern: lfs fX, offset(rX); blr -- C++: return this->float_field;
Move Register (38 functions)¶
Pattern: mr r3, rX; blr -- C++: return param;
Address-of / Offset Getter (74 functions)¶
Pattern: addi r3, rX, N; blr -- C++: return &this->field;
Load Byte Getter (12 functions)¶
Pattern: lbz r3, offset(rX); blr -- C++: return this->byte_field;
Load Halfword Getter (11 functions)¶
Pattern: lhz r3, offset(rX); blr -- C++: return this->short_field;
Tier 3: TRIVIAL -- Setters (8 bytes, stw/stfs+blr)¶
196 functions -- Store + return. C++: void Set(T v) { field = v; }
- Store word + blr: 170 functions
- Store float + blr: 26 functions
Tier 4: EASY -- 12-byte Functions Ending in blr¶
746 functions -- 3 instructions ending in blr. Common patterns: load a field from a struct member, boolean flag checks, simple delegation (load + call via indirect), or two-step getters.
These require reading the disassembly to understand the pattern but are still straightforward to match.
Tier 5: STRAIGHTFORWARD -- Other Small Functions (4-16b, non-trivial patterns)¶
370 functions -- Small but with non-blr endings or unusual patterns. May include conditional branches, multiple fields, or small logic. Require individual analysis but are still quick to match.
Tier 6: MODERATE -- Medium Functions (20-64 bytes)¶
4567 functions (199,680 bytes)
These are 5-16 instruction functions. Common patterns: - Simple wrappers: prologue, call, epilogue - Multi-field setters: set 2-3 struct members - Switch dispatch: small switch/case on an enum - Constructors: vtable setup + member init
Of these, 4558 end with blr (well-formed standalone functions).
Tier 7: COMPLEX -- Large Functions (65+ bytes)¶
10800 functions (3,918,644 bytes, 94.5% of all code)
These require full decompilation effort: understanding control flow, data structures, and compiler idioms. Most of the actual game logic lives here.
Summary Table¶
| Tier | Description | Count | % | Bytes | Effort |
|---|---|---|---|---|---|
| 1 | blr / tail-call | 615 | 3.3% | 2,460 | Zero -- write empty body |
| 2 | Trivial getter (8b) | 1,165 | 6.3% | 9,320 | One-liner return |
| 3 | Trivial setter (8b) | 196 | 1.1% | 1,568 | One-liner assignment |
| 4 | Easy 3-instr (12b) | 746 | 4.0% | 8,952 | Read disasm, write 1-2 lines |
| 5 | Other small (4-16b) | 370 | 2.0% | 5,108 | Individual analysis, quick |
| 6 | Medium (20-64b) | 4,567 | 24.7% | 199,680 | ~5-15 min each |
| 7 | Large (65b+) | 10,800 | 58.5% | 3,918,644 | Full decompilation |
| Total | 18,459 | 4,145,732 |
Recommended Attack Order¶
Phase 1: Free Wins (Tiers 1-3) -- ~2,776 functions¶
Write a script that auto-generates C++ stubs for all Tier 1-3 functions. These need zero human analysis:
// Tier 1: blr-only (614 functions)
void ACTTarget::DebugListValidation() {}
// Tier 2: return constant (426 functions)
int ESimsApp::GetDefaultLanguage() { return 0; }
bool AptViewer::UIOn() { return true; }
// Tier 2: return field (543 functions)
int ESim::GetShadow() { return m_shadow; } // lwz r3,992(r3)
// Tier 3: setter (196 functions)
void ESim::SetField(int v) { m_field = v; } // stw r4,offset(r3)
Phase 2: Easy Picks (Tier 4) -- ~746 functions¶
Run tools/disasm.py on each, identify the 3-instruction pattern, write the 1-2 line C++ body. ~2-5 minutes per function.
Phase 3: Small Logic (Tier 5) -- ~370 functions¶
Similar to Phase 2 but may need conditional logic or multi-step operations.
Phase 4: Medium Functions (Tier 6) -- ~4,567 functions¶
Start with functions that have clear prologue/epilogue patterns. Focus on high-value source files first:
| Source File | Trivial | Total | Priority |
|---|---|---|---|
| targets_s2c.obj | 96 | 934 | HIGH |
| wrapper.obj | 69 | 258 | HIGH |
| treetablequickdata.obj | 65 | 122 | HIGH |
| slots.obj | 56 | 149 | HIGH |
| e_instance.obj | 56 | 98 | HIGH |
| libaptz.a(AptValue.cpp.obj) | 52 | 130 | HIGH |
| object.obj | 51 | 242 | HIGH |
| person.obj | 49 | 221 | HIGH |
| engine_ngc_release_dvd.lib(e_graphics.obj) | 44 | 93 | HIGH |
| iobject.obj | 41 | 191 | HIGH |
| treetab.obj | 40 | 88 | HIGH |
| base.a(PPCArch.o) | 38 | 44 | HIGH |
| sanimator2.obj | 37 | 229 | HIGH |
| treesim.obj | 34 | 81 | HIGH |
| interaction.obj | 32 | 65 | HIGH |
| nghresfile.obj | 32 | 136 | HIGH |
| mustates.obj | 31 | 98 | HIGH |
| quickresfile.obj | 28 | 37 | MEDIUM |
| camera.obj | 27 | 164 | MEDIUM |
| isiminstance.obj | 27 | 51 | MEDIUM |
Phase 5: Full Decomp (Tier 7) -- ~10,800 functions¶
The bulk of the work. Follow the milestone plan in CLAUDE.md. Focus on one system at a time (memory, boot, main loop, etc.).