Skip to content

Commit

Permalink
runtime 1.10.984, version 0.7.2
Browse files Browse the repository at this point in the history
  • Loading branch information
ianpatt committed May 10, 2024
1 parent 7082a1a commit 7c1bf3e
Show file tree
Hide file tree
Showing 81 changed files with 4,147 additions and 4,130 deletions.
4 changes: 2 additions & 2 deletions cmake/versioning.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
set(F4SE_VERSION_MAJOR 0)
set(F4SE_VERSION_MINOR 7)
set(F4SE_VERSION_PATCH 1)
set(F4SE_VERSION_PATCH 2)

set(F4_VERSION_MAJOR 1)
set(F4_VERSION_MINOR 10)
set(F4_VERSION_PATCH 980)
set(F4_VERSION_PATCH 984)

math(
EXPR
Expand Down
2 changes: 1 addition & 1 deletion f4se/BSGeometry.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#include "f4se/BSGeometry.h"

RelocAddr <_ConvertHalfToFloat> ConvertHalfToFloat(0x006A0B20);
RelocAddr <_ConvertHalfToFloat> ConvertHalfToFloat(0x006A0B50);
4 changes: 2 additions & 2 deletions f4se/BSGeometry.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ class BSGeometry : public NiAVObject

MEMBER_FN_PREFIX(BSGeometry);
//
DEFINE_MEMBER_FN(UpdateShaderProperty, UInt32, 0x0206B3E0);
DEFINE_MEMBER_FN(UpdateShaderProperty, UInt32, 0x0206BB00);
};
STATIC_ASSERT(sizeof(BSGeometry) == 0x160);

Expand All @@ -187,7 +187,7 @@ class BSTriShape : public BSGeometry
float unk16C; // 16C

MEMBER_FN_PREFIX(BSTriShape);
DEFINE_MEMBER_FN(CreateDynamicTriShape, BSDynamicTriShape*, 0x01716650, NiAVObject * unk1);
DEFINE_MEMBER_FN(CreateDynamicTriShape, BSDynamicTriShape*, 0x01716A20, NiAVObject * unk1);
};
STATIC_ASSERT(sizeof(BSTriShape) == 0x170);

Expand Down
12 changes: 6 additions & 6 deletions f4se/BSGraphics.cpp
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
#include "f4se/BSGraphics.h"

//
RelocPtr <ImageSpaceManager> g_imageSpaceManager(0x03CA1BA0);
RelocPtr <ImageSpaceManager> g_imageSpaceManager(0x03CA2BA0);

//
RelocPtr <BSGraphics::Renderer> g_renderManager(0x03768600);
RelocPtr <BSGraphics::Renderer> g_renderManager(0x03769600);

//
RelocPtr <BSRenderTargetManager> g_renderTargetManager(0x02CDAEB0);
RelocPtr <BSRenderTargetManager> g_renderTargetManager(0x02CDBED0);

//
RelocPtr <BSShaderResourceManager> g_shaderResourceManager(0x03191288);
RelocPtr <BSShaderResourceManager> g_shaderResourceManager(0x03192288);

//
RelocPtr <ID3D11Device> g_D3D11Device(0x03623CA8);
RelocPtr <ID3D11Device> g_D3D11Device(0x03624CA8);

//
RelocPtr <ID3D11DeviceContext> g_D3D11DeviceContext(0x03623C90);
RelocPtr <ID3D11DeviceContext> g_D3D11DeviceContext(0x03624C90);
10 changes: 5 additions & 5 deletions f4se/BSGraphics.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class Renderer
CRITICAL_SECTION m_renderLock; // 2590

MEMBER_FN_PREFIX(Renderer);
DEFINE_MEMBER_FN(CreateBSGeometryData, BSGeometryData*, 0x016FD580, UInt32 * blockSize, UInt8 * vertexData, UInt64 vertexDesc, BSGeometryData::TriangleData * triData); // Creates a block with a vertex copy in the resource pool with a reference to the supplied triblock (partial deep copy)
DEFINE_MEMBER_FN(CreateBSGeometryData, BSGeometryData*, 0x016FD950, UInt32 * blockSize, UInt8 * vertexData, UInt64 vertexDesc, BSGeometryData::TriangleData * triData); // Creates a block with a vertex copy in the resource pool with a reference to the supplied triblock (partial deep copy)
};
STATIC_ASSERT(offsetof(Renderer, m_renderLock) == 0x2590);
}
Expand Down Expand Up @@ -58,12 +58,12 @@ class BSRenderTargetManager

MEMBER_FN_PREFIX(BSRenderTargetManager);
//
DEFINE_MEMBER_FN(LockTextureType, void, 0x0171F5E0, UInt32 type);
DEFINE_MEMBER_FN(LockTextureType, void, 0x0171F9B0, UInt32 type);
//
DEFINE_MEMBER_FN(ReleaseTextureType, void, 0x0171F670, UInt32 type);
DEFINE_MEMBER_FN(GetRenderData, BSRenderData *, 0x0171F540, UInt32 type, UInt64 unk1, UInt64 unk2, UInt32 unk3); // type, 0, 1, 0
DEFINE_MEMBER_FN(ReleaseTextureType, void, 0x0171FA40, UInt32 type);
DEFINE_MEMBER_FN(GetRenderData, BSRenderData *, 0x0171F910, UInt32 type, UInt64 unk1, UInt64 unk2, UInt32 unk3); // type, 0, 1, 0
//
DEFINE_MEMBER_FN(Unk_01, void, 0x0171F590, UInt32 type, BSRenderData *, UInt8 unk3); // type, rendererData, 1
DEFINE_MEMBER_FN(Unk_01, void, 0x0171F960, UInt32 type, BSRenderData *, UInt8 unk3); // type, rendererData, 1
};

// 1B8
Expand Down
2 changes: 1 addition & 1 deletion f4se/BSModelDB.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "f4se/BSModelDB.h"

//
RelocPtr <BSModelDB::BSModelProcessor*> g_TESProcessor(0x02E67E50);
RelocPtr <BSModelDB::BSModelProcessor*> g_TESProcessor(0x02E68E50);
4 changes: 2 additions & 2 deletions f4se/BSModelDB.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ class BSModelDB

MEMBER_FN_PREFIX(TESProcessor);
// ??_7BSModelProcessor@BSModelDB@@6B@
DEFINE_MEMBER_FN(dtor, void, 0x016989A0);
DEFINE_MEMBER_FN(Impl_Process, void, 0x002A7C00, ModelData * modelData, const char * modelName, NiAVObject ** root, UInt32 * typeOut);
DEFINE_MEMBER_FN(dtor, void, 0x01698D70);
DEFINE_MEMBER_FN(Impl_Process, void, 0x002A7C30, ModelData * modelData, const char * modelName, NiAVObject ** root, UInt32 * typeOut);
};
};

Expand Down
6 changes: 3 additions & 3 deletions f4se/GameAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include <cstdio>

//
RelocPtr <Heap> g_mainHeap(0x02E61980);
RelocPtr <Heap> g_mainHeap(0x02E62980);

void * Heap_Allocate(size_t size)
{
Expand All @@ -15,10 +15,10 @@ void Heap_Free(void * ptr)
}

//
RelocPtr <ConsoleManager *> g_console(0x02E74E78);
RelocPtr <ConsoleManager *> g_console(0x02E75E78);

//
RelocAddr <UInt32 *> g_consoleHandle(0x0306EEA0);
RelocAddr <UInt32 *> g_consoleHandle(0x0306FEA0);

void Console_Print(const char * fmt, ...)
{
Expand Down
8 changes: 4 additions & 4 deletions f4se/GameAPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ class Heap
{
public:
MEMBER_FN_PREFIX(Heap);
DEFINE_MEMBER_FN(Allocate, void *, 0x0153D400, size_t size, size_t alignment, bool aligned);
DEFINE_MEMBER_FN(Free, void, 0x0153D860, void * buf, bool aligned);
DEFINE_MEMBER_FN(Allocate, void *, 0x0153D7D0, size_t size, size_t alignment, bool aligned);
DEFINE_MEMBER_FN(Free, void, 0x0153DC30, void * buf, bool aligned);
};

extern RelocPtr <Heap> g_mainHeap;
Expand All @@ -19,8 +19,8 @@ class ConsoleManager
{
public:
MEMBER_FN_PREFIX(ConsoleManager);
DEFINE_MEMBER_FN(PrintArgs, void, 0x01262EC0, const char * fmt, ...);
DEFINE_MEMBER_FN(Print, void, 0x00FB5EC0, const char * str);
DEFINE_MEMBER_FN(PrintVArgs, void, 0x00FB6180, const char * fmt, va_list args);
DEFINE_MEMBER_FN(Print, void, 0x00FB6250, const char * str);
};

extern RelocPtr <ConsoleManager *> g_console;
Expand Down
2 changes: 1 addition & 1 deletion f4se/GameCamera.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "f4se/GameCamera.h"

//
RelocPtr <PlayerCamera *> g_playerCamera(0x02E639D8);
RelocPtr <PlayerCamera *> g_playerCamera(0x02E649D8);

SInt32 PlayerCamera::GetCameraStateId(TESCameraState * state)
{
Expand Down
2 changes: 1 addition & 1 deletion f4se/GameCamera.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class TESCamera
UInt32 unk34; // 34

MEMBER_FN_PREFIX(TESCamera);
DEFINE_MEMBER_FN(SetCameraState, void, 0x007D4310, TESCameraState * cameraState);
DEFINE_MEMBER_FN(SetCameraState, void, 0x007D4340, TESCameraState * cameraState);
};

class PlayerCamera : public TESCamera
Expand Down
22 changes: 11 additions & 11 deletions f4se/GameCustomization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
#include "f4se/GameObjects.h"

//
RelocPtr <CharacterCreation*> g_characterCreation(0x02FF7180); // array
RelocPtr <CharacterCreation*> g_characterCreation(0x02FF8180); // array
//
RelocPtr <UInt32> g_characterIndex(0x02FF7158);
RelocPtr <UInt32> g_characterIndex(0x02FF8158);

//
RelocPtr <BSFaceGenManager*> g_faceGenManager(0x02E653F8);
RelocPtr <BSFaceGenManager*> g_faceGenManager(0x02E663F8);

//
RelocPtr <TESNPC*> g_customizationDummy1(0x02F6DD18); // Either Nora or Nate's dummy actors
RelocPtr <TESNPC*> g_customizationDummy1(0x02F6ED18); // Either Nora or Nate's dummy actors
//
RelocPtr <TESNPC*> g_customizationDummy2(0x02F6DCE0); // Either Nora or Nate's dummy actors
RelocPtr <TESNPC*> g_customizationDummy2(0x02F6ECE0); // Either Nora or Nate's dummy actors

RelocAddr<_CreateCharacterTintEntry> CreateCharacterTintEntry(0x003AB990);
RelocAddr<_CopyCharacterTints> CopyCharacterTints(0x003AA640);
RelocAddr<_ClearCharacterTints> ClearCharacterTints(0x003AEF60);
RelocAddr<_CreateCharacterTintEntry> CreateCharacterTintEntry(0x003AB9C0);
RelocAddr<_CopyCharacterTints> CopyCharacterTints(0x003AA670);
RelocAddr<_ClearCharacterTints> ClearCharacterTints(0x003AEF90);

RelocAddr <_FillTintTemplates> FillTintTemplates(0x003AA7F0); // For manipulating the tint lists, their signatures aren't quite right yet
RelocAddr <_MergeTintTextures> MergeTintTextures(0x006985C0);
RelocAddr <_CreateMergeTintTextures> CreateMergeTintTextures(0x006983C0);
RelocAddr <_FillTintTemplates> FillTintTemplates(0x003AA820); // For manipulating the tint lists, their signatures aren't quite right yet
RelocAddr <_MergeTintTextures> MergeTintTextures(0x006985F0);
RelocAddr <_CreateMergeTintTextures> CreateMergeTintTextures(0x006983F0);

// NG: seems to be handled differently? (see 1405FD2E0)
// RelocPtr <tHashSet<CharacterCreation::MorphIntensity, TESNPC*>> g_morphIntensityMap(0x03715370 - 0x08);
Expand Down
4 changes: 2 additions & 2 deletions f4se/GameCustomization.h
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ class CharacterCreation
UInt64 unk520[(0x548-0x520)/8]; // 520

MEMBER_FN_PREFIX(CharacterCreation);
DEFINE_MEMBER_FN(LoadPreset, void, 0x00B43E10, UInt32 presetIndex); // Loads preset by index onto the actor
DEFINE_MEMBER_FN(LoadPreset, void, 0x00B441C0, UInt32 presetIndex); // Loads preset by index onto the actor
};

// ??
Expand All @@ -435,7 +435,7 @@ class BSFaceGenManager
NiAVObject * camera; // 34A8 - NiCamera (WorldRoot Camera)

MEMBER_FN_PREFIX(BSFaceGenManager);
DEFINE_MEMBER_FN(ApplyDynamicData, void, 0x0068A8C0, BSTriShape * trishape);
DEFINE_MEMBER_FN(ApplyDynamicData, void, 0x0068A8F0, BSTriShape * trishape);
};
STATIC_ASSERT(offsetof(BSFaceGenManager, unk3230) == 0x3230);
STATIC_ASSERT(offsetof(BSFaceGenManager, unk3478) == 0x3478);
Expand Down
10 changes: 5 additions & 5 deletions f4se/GameData.cpp
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
#include "f4se/GameData.h"

//
RelocPtr <DataHandler*> g_dataHandler(0x02E63E68);
RelocPtr <DataHandler*> g_dataHandler(0x02E64E68);

//
RelocPtr <bool> g_isGameDataReady(0x02FE9E44);
RelocPtr <bool> g_isGameDataReady(0x02FEAE44);

//
RelocPtr <DefaultObjectMap*> g_defaultObjectMap(0x02E68990);
RelocPtr <DefaultObjectMap*> g_defaultObjectMap(0x02E69990);

//
RelocPtr <BSReadWriteLock> g_defaultObjectMapLock(0x02E689E0);
RelocPtr <BSReadWriteLock> g_defaultObjectMapLock(0x02E699E0);

//
RelocPtr <FavoritesManager*> g_favoritesManager(0x02FF05C8);
RelocPtr <FavoritesManager*> g_favoritesManager(0x02FF15C8);

class LoadedModFinder
{
Expand Down
4 changes: 2 additions & 2 deletions f4se/GameEvents.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "f4se/GameEvents.h"

//
RelocPtr <BSTGlobalEvent::EventSource<ApplyColorUpdateEvent>*> g_colorUpdateDispatcher(0x03B005A0);
RelocPtr <BSTGlobalEvent::EventSource<ApplyColorUpdateEvent>*> g_colorUpdateDispatcher(0x03B015A0);

//
RelocPtr <BSTGlobalEvent*> g_globalEvents(0x02E63A40);
RelocPtr <BSTGlobalEvent*> g_globalEvents(0x02E64A40);
2 changes: 1 addition & 1 deletion f4se/GameExtraData.h
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ class ExtraTextDisplayData : public BSExtraData {
UInt32 unk44; // 44

MEMBER_FN_PREFIX(ExtraTextDisplayData);
DEFINE_MEMBER_FN(GetReferenceName, BSFixedString *, 0x002581B0, TESForm * baseForm);
DEFINE_MEMBER_FN(GetReferenceName, BSFixedString *, 0x002581E0, TESForm * baseForm);
};

// 20
Expand Down
2 changes: 1 addition & 1 deletion f4se/GameFormComponents.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "f4se/GameFormComponents.h"
#include "f4se/GameForms.h"

RelocAddr <_EvaluationConditions> EvaluationConditions(0x00715370);
RelocAddr <_EvaluationConditions> EvaluationConditions(0x007153A0);

#ifdef _DEBUG
#include "f4se/GameExtraData.h"
Expand Down
10 changes: 5 additions & 5 deletions f4se/GameFormComponents.h
Original file line number Diff line number Diff line change
Expand Up @@ -220,8 +220,8 @@ class TESActorBaseData : public BaseFormComponent
UInt64 unk30[7]; // 30

MEMBER_FN_PREFIX(TESActorBaseData);
DEFINE_MEMBER_FN(ModifyFlag, void, 0x002B5EE0, UInt32 flag, bool doSet, bool unk1); // unk1 = 1 (appears to select which actor flags to use)
DEFINE_MEMBER_FN(GetLevel, UInt16, 0x002B5FD0);
DEFINE_MEMBER_FN(ModifyFlag, void, 0x002B5F10, UInt32 flag, bool doSet, bool unk1); // unk1 = 1 (appears to select which actor flags to use)
DEFINE_MEMBER_FN(GetLevel, UInt16, 0x002B6000);
};
STATIC_ASSERT(sizeof(TESActorBaseData) == 0x68);

Expand Down Expand Up @@ -434,7 +434,7 @@ class TESDescription : public BaseFormComponent
void * unk10; // 10

MEMBER_FN_PREFIX(TESDescription);
DEFINE_MEMBER_FN(Get, void, 0x002BA200, BSString * out, TESForm * parent);
DEFINE_MEMBER_FN(Get, void, 0x002BA230, BSString * out, TESForm * parent);
};

// 10
Expand Down Expand Up @@ -1394,12 +1394,12 @@ class Condition
UInt64 unk10[(0x78 - 0x08) >> 3];

MEMBER_FN_PREFIX(Evaluator);
DEFINE_MEMBER_FN(ctor, void, 0x00714AF0, TESForm * a1, TESForm * a2, UInt64 unk1); // a1 might be player or subject, not sure yet
DEFINE_MEMBER_FN(ctor, void, 0x00714B20, TESForm * a1, TESForm * a2, UInt64 unk1); // a1 might be player or subject, not sure yet
};

MEMBER_FN_PREFIX(Condition);
//
DEFINE_MEMBER_FN(Evaluate, bool, 0x00716630, Evaluator * eval); // Evaluates only a single condition
DEFINE_MEMBER_FN(Evaluate, bool, 0x00716660, Evaluator * eval); // Evaluates only a single condition
};
STATIC_ASSERT(offsetof(Condition, referenceType) == 0x31);
STATIC_ASSERT(sizeof(Condition) == 0x38);
Expand Down
6 changes: 3 additions & 3 deletions f4se/GameForms.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#include "f4se/GameForms.h"
#include "f4se/GameUtilities.h"

RelocAddr <_LookupFormByID> LookupFormByID(0x002BD410);
RelocAddr <_LookupFormByID> LookupFormByID(0x002BD440);

//
RelocPtr <IFormFactory*> g_formFactoryList(0x02E68490);
RelocPtr <IFormFactory*> g_formFactoryList(0x02E69490);

//
RelocPtr <tHashSet<ObjectModMiscPair, BGSMod::Attachment::Mod*>> g_modAttachmentMap(0x02C6E478-0x08);
RelocPtr <tHashSet<ObjectModMiscPair, BGSMod::Attachment::Mod*>> g_modAttachmentMap(0x02C6F478-0x08);
6 changes: 3 additions & 3 deletions f4se/GameForms.h
Original file line number Diff line number Diff line change
Expand Up @@ -1528,7 +1528,7 @@ class TESObjectCELL : public TESForm
UInt32 unkEC; // EC

MEMBER_FN_PREFIX(TESObjectCELL);
DEFINE_MEMBER_FN(GetHavokWorld, bhkWorld*, 0x00476890);
DEFINE_MEMBER_FN(GetHavokWorld, bhkWorld*, 0x004768C0);
};
STATIC_ASSERT(offsetof(TESObjectCELL, objectList) == 0x70);
STATIC_ASSERT(offsetof(TESObjectCELL, worldSpace) == 0xC8);
Expand Down Expand Up @@ -1807,8 +1807,8 @@ class TESQuest : public BGSStoryManagerTreeForm

MEMBER_FN_PREFIX(TESQuest);
// broken address
DEFINE_MEMBER_FN(ForceRefTo, UInt32, 0x00375050, UInt32 aliasId, TESObjectREFR * reference);
DEFINE_MEMBER_FN(NewGame_Internal, UInt8, 0x00617740, UInt8 * unk1, UInt8 unk2);
// DEFINE_MEMBER_FN(ForceRefTo, UInt32, 0x00375050, UInt32 aliasId, TESObjectREFR * reference);
DEFINE_MEMBER_FN(NewGame_Internal, UInt8, 0x00617770, UInt8 * unk1, UInt8 unk2);

UInt8 NewGame_Hook(UInt8 * unk1, UInt8 unk2);
};
Expand Down
6 changes: 3 additions & 3 deletions f4se/GameHandle.cpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#include "f4se/GameHandle.h"

//
RelocAddr <_LookupREFRByHandle> LookupREFRByHandle(0x0024C210);
RelocAddr <_LookupREFRByHandle> LookupREFRByHandle(0x0024C240);

//
RelocAddr <_CreateHandleByREFR> CreateHandleByREFR(0x001D5050);
RelocAddr <_CreateHandleByREFR> CreateHandleByREFR(0x001D50B0);

//
RelocPtr <UInt32> g_invalidRefHandle(0x02E61E04);
RelocPtr <UInt32> g_invalidRefHandle(0x02E62E04);
10 changes: 5 additions & 5 deletions f4se/GameInput.cpp
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
#include "f4se/GameInput.h"

//
RelocPtr <InputEventTable*> g_inputEventTable(0x02FF0560);
RelocPtr <InputEventTable*> g_inputEventTable(0x02FF1560);
//
RelocPtr <InputDeviceManager*> g_inputDeviceMgr(0x02FF0298);
RelocPtr <InputDeviceManager*> g_inputDeviceMgr(0x02FF1298);
//
RelocPtr <InputManager*> g_inputMgr(0x02F6D628);
RelocPtr <InputManager*> g_inputMgr(0x02F6E628);

//
RelocPtr<MenuControls*> g_menuControls(0x02E655E0); // BSInputEventReceiver
RelocPtr<MenuControls*> g_menuControls(0x02E665E0); // BSInputEventReceiver

//
RelocPtr<PlayerControls*> g_playerControls(0x02F6D620);
RelocPtr<PlayerControls*> g_playerControls(0x02F6E620);

UInt8 InputManager::AllowTextInput(bool allow)
{
Expand Down
2 changes: 1 addition & 1 deletion f4se/GameInput.h
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ class BSInputEventUser
private:
// GameMenuBase:BSInputEventUser override should be the only one calling this function
friend class GameMenuBase;
DEFINE_MEMBER_FN_1(Impl_OnGameMenuBaseButtonEvent, bool, 0x019FE480, ButtonEvent * button);
DEFINE_MEMBER_FN_1(Impl_OnGameMenuBaseButtonEvent, bool, 0x019FE850, ButtonEvent * button);
};

// 30
Expand Down
Loading

0 comments on commit 7c1bf3e

Please sign in to comment.