Skip to content
Alan Tse edited this page Dec 7, 2023 · 49 revisions

Welcome to the CommonLibVR wiki!

ESL scratchpad

ESLs are not supported in VR. This is a page to aggregate data for VR for any attempts to add it.

AFKMods discussion

1.5.97 address for .esl: 141632ac8

TESFile->smallFileCompileIndex looks to be just padding in VR. We can treat TESFile as the SE version and we likely won't overwrite any actual data

Address:

Name SSE VR Notes
void TESFile::AdjustFormIDFileIndex(TESFile *a_this,uint *a_formid) 14017e180 Used to set formids for ESL files; need in VR
bool TESFile::IsESL_14017E160 (TESFile * param_1) 14017E160
void TESFile::AdjustFormIDFileIndex (TESFile * a_this, uint * a_formid) 14017e180
bool TESFile::SetCompileIndex_14017C63 (TESFile * a_file, int a_index) 14017C63 14018C480
PluginLoader? 14050eea0 14051dc00
LoadPluginBSA 140173BD0 140184360
TESDataHandler::ctor 140166D80 1401774C0 functions relevant for forms/formIDs/etc.
TESDataHandler::CompileFiles_14017EFF0 14016E660 14017EFF0 DataHandler->LoadingFiles set to true AND false here. offset 0x14A seems to be where masters are set above regular files. loadedModCount reset if a_unk is true, maybe this is where the plugins are parsed/loaded?
iFormsLoaded 141EC3B60 141F889C0 Named from FO4
TESDataHandler::ConstructObjectList_140180870 1401700E0 140180870 Named from FO4

Functions we should modify:

Name SSE VR Modification treatment
TESDataHandler::sub_14017EFF0 14016E660 14017EFF0 ASM hook 5 spots where loadedmods is used, replace with TESFileCollection
TESDataHandler::AddFile 14017EFF0 Replace entire function with SSE or near SSE equivalent
sub_1401831F0 1401831F0 ASM replace 0x807-852. Jmp to function to add TESFile the way SSE does (ESP/ESL split)
TESFile::GetCompileIndex_14018C470 14018C470 Seems used for File checking/form ID setting. Fixes uses of this!
Clone this wiki locally