Compare commits

...

3 commits

Author SHA1 Message Date
gromchek
818ae9f3fc chore(build): refresh generated files 2025-11-15 21:38:47 +03:00
gromchek
1a22dec1e2 feat(profile): Weather struct 2025-11-15 21:37:58 +03:00
gromchek
ae4c78c4a2 feat(profile): Weather funcs 2025-11-15 21:35:38 +03:00
11 changed files with 359 additions and 1 deletions

View file

@ -413,6 +413,7 @@ static import_symbols() {
set_name(0x0048A520, "CLayoutFrame__SetDeferredResize");
set_name(0x0048B130, "CLayoutFrame__DestroyLayout");
set_name(0x0048B5F0, "CScriptObject__GetScriptObjectByName");
set_name(0x0048BD20, "CImVector__Set");
set_name(0x0048C1C0, "CSimpleTexture_SetVertexColor");
set_name(0x0048C3E0, "CSimpleTexture_SetAlpha");
set_name(0x0048D800, "CSimpleFontString_SetFormattedText");
@ -566,6 +567,7 @@ static import_symbols() {
set_name(0x004C3380, "C44Matrix__RotateAroundZ");
set_name(0x004C33C0, "C44Matrix__Rotate");
set_name(0x004C3420, "C3Vector__Normalize");
set_name(0x004C3460, "C44Matrix__Rotation");
set_name(0x004C3600, "C3Vector__Normalize@2");
set_name(0x004C4B80, "TSGrowableArray_C3Vector__SetCount");
set_name(0x004C4DF0, "C2Vector__C2Vector");
@ -576,6 +578,8 @@ static import_symbols() {
set_name(0x004C51B0, "C33Matrix__operator_assign_C33Matrix");
set_name(0x004C5550, "C33Matrix__Rotation");
set_name(0x004C56D0, "C33Matrix__FromEulerAnglesZYX");
set_name(0x004C5820, "C33Matrix__Rotation@2");
set_name(0x004C5940, "C33Matrix__Rotate");
set_name(0x004C5990, "SE2SoundKitProperties__ResetToDefaults");
set_name(0x004C6390, "SE2__StopSound");
set_name(0x004C6A40, "SE2__PlaySoundKit");
@ -4390,6 +4394,7 @@ static import_symbols() {
set_name(0x0077EC80, "World__MapIsDungeon");
set_name(0x0077EC90, "World__SetLoadProgressCallback");
set_name(0x0077EFF0, "World__Render");
set_name(0x0077F030, "CWorldScene__RenderWeather");
set_name(0x0077F080, "World__QueryMapId");
set_name(0x0077F090, "World__QueryObjectInside");
set_name(0x0077F1B0, "World__QueryMapObjAreaTable");
@ -4401,6 +4406,7 @@ static import_symbols() {
set_name(0x0077FCD0, "World__ObjectIsDrawable");
set_name(0x0077FFB0, "World__ObjectTestConvexVolume");
set_name(0x00780240, "World__ObjectUpdate");
set_name(0x00780640, "World__GetCamPos");
set_name(0x00780660, "World__SetShadowColor");
set_name(0x00780710, "World__SetDetailDoodadDensity");
set_name(0x00780730, "World__SetDetailDoodadDist");
@ -4423,6 +4429,44 @@ static import_symbols() {
set_name(0x007837F0, "World__Destroy");
set_name(0x00783910, "World__GetFacets");
set_name(0x00783A40, "World__GetFacets@2");
set_name(0x00783B60, "Weather__GetType");
set_name(0x00783B90, "Weather__FillInDefaultPrecipTexturePath");
set_name(0x00784140, "Rain__GetMotionBlurMatrix");
set_name(0x007842D0, "Rain__RealizePacket");
set_name(0x007846A0, "Weather__SetType");
set_name(0x00784850, "Weather__SetStormIntensity");
set_name(0x00785880, "Snow__InitFlake");
set_name(0x00785D60, "Snow__UpdatePacket");
set_name(0x00785EA0, "Sand__InitGrain");
set_name(0x00786210, "Sand__UpdatePacket");
set_name(0x00786330, "Mists__CreateMist");
set_name(0x00786E10, "Mists__Render");
set_name(0x00787780, "Weather__constructor");
set_name(0x00787CE0, "Rain__UpdatePackets");
set_name(0x00788090, "Snow__UpdatePacketsSW");
set_name(0x00788660, "Sand__UpdatePacketsSW");
set_name(0x00789110, "Rain__destructor");
set_name(0x007891B0, "Rain__RenderPatterPacketsSW");
set_name(0x007898A0, "Rain__RenderDropPacketsSW");
set_name(0x0078A030, "Rain__RenderPatterPackets");
set_name(0x0078A640, "Rain__RenderDropPackets");
set_name(0x0078AE20, "Rain__Render");
set_name(0x0078AE70, "Snow__destructor");
set_name(0x0078AEE0, "Snow__RenderPackets");
set_name(0x0078B370, "Snow__RenderPackets@2");
set_name(0x0078BA60, "Snow__Render");
set_name(0x0078BAA0, "Sand__destructor");
set_name(0x0078BB00, "Sand__RenderPackets");
set_name(0x0078BEE0, "Sand__RenderPackets@2");
set_name(0x0078C3E0, "Sand__Render");
set_name(0x0078C420, "Mists__constructor");
set_name(0x0078CA50, "Weather__Render");
set_name(0x0078CA90, "Rain__constructor");
set_name(0x0078CD30, "Snow__constructor");
set_name(0x0078CF20, "Sand__constructor");
set_name(0x0078D0B0, "Weather__Clear");
set_name(0x0078D170, "Weather__Update");
set_name(0x0078D540, "Weather__destructor");
set_name(0x0078D610, "CWorldParam__TerrainLOD");
set_name(0x0078D660, "CWorldParam__TerrainShadows");
set_name(0x0078D6B0, "CWorldParam__MaxLights");
@ -6622,6 +6666,7 @@ static import_symbols() {
set_name(0x00CB7220, "s_logsysteminit");
set_name(0x00CB732C, "s_defaultdir_critsect");
set_name(0x00CB7358, "s_critsect@2");
set_name(0x00CD7544, "World__s_weather");
set_name(0x00CD7548, "World__particulate");
set_name(0x00CD754C, "CWorldScene__s_m2Scene");
set_name(0x00CD7554, "World__shadowModTexture");

View file

@ -91,6 +91,7 @@
#include "map/CMapDoodadDef.h"
#include "map/CMapEntity.h"
#include "map/CMapBaseObjLink.h"
#include "map/Weather.h"
#include "character/CCharacterComponent.h"

View file

@ -0,0 +1,55 @@
#ifndef WEATHER_H
#define WEATHER_H
DECLARE_STRUCT(Weather);
#include "system/types.h"
#include "tempest/vector.h"
struct Weather
{
float intensity;
float lastIntensity;
float currStormItensity;
float targetSkyDark;
float startSkyDark;
float currSkyDark;
uint32_t weatherStartMs;
uint32_t weatherStartMs2;
uint32_t weatherType;
uint32_t abrupt;
float transitionSkyBox;
float transitionSkyBoxNotAbrupt;
float transitionSkyBoxNoWeather;
CImVector color;
char texturePath[260];
void* RainPtr;
void* SnowPtr;
void* SandPtr;
void* unkObject;
int32_t unk_14C;
void* unk_ptr_150;
void* unk_ptr_154;
int32_t unk_158;
void* unk_ptr_15C;
void* unk_ptr_160;
C3Vector velocity;
C3Vector unkVec;
C3Vector playerPos;
int32_t unk_188;
float facingAngle;
float moveSpeed;
int32_t unk_194;
};
#endif

View file

@ -1,3 +1,4 @@
operator_new 00401010 f end=00401067 type="void* __stdcall func(uint32_t count)" ; void* operator new(size_t)
operator_delete 00401030 f end=0040104B type="void __stdcall func(void* ptr)" ; void operator delete(void*)
CDataStore__constructor 00401050 f end=0040106E type="CDataStore* __thiscall func(CDataStore* this)"
@ -409,6 +410,7 @@ CLayoutFrame__ClearAllPoints 0048A510 f end=0048A515 ; CLayoutFrame::ClearAllPoi
CLayoutFrame__SetDeferredResize 0048A520 f end=0048A5F0 ; CLayoutFrame::SetDeferredResize(int)
CLayoutFrame__DestroyLayout 0048B130 f end=0048B23B ; CLayoutFrame::DestroyLayout()
CScriptObject__GetScriptObjectByName 0048B5F0 f end=0048B671
CImVector__Set 0048BD20 f end=0048BDDA
CSimpleTexture_SetVertexColor 0048C1C0 f end=0048C23E ; CSimpleTexture_SetVertexColor(lua_State*)
CSimpleTexture_SetAlpha 0048C3E0 f end=0048C4B3 ; CSimpleTexture_SetAlpha(lua_State*)
CSimpleFontString_SetFormattedText 0048D800 f end=0048D88B type="int32_t __stdcall func(lua_State* L)"
@ -562,6 +564,7 @@ C44Matrix__RotateAroundY 004C3340 f
C44Matrix__RotateAroundZ 004C3380 f
C44Matrix__Rotate 004C33C0 f
C3Vector__Normalize 004C3420 f type="void __thiscall func(C3Vector* this)"
C44Matrix__Rotation 004C3460 f end=004C3593
C3Vector__Normalize 004C3600 f type="void __thiscall func(C3Vector* this)"
TSGrowableArray_C3Vector__SetCount 004C4B80 f end=004C4C75 type="void __thiscall func(TSGrowableArray_C3Vector* this, uint32_t count)"
C2Vector__C2Vector 004C4DF0 f end=004C4E06
@ -572,6 +575,8 @@ CMath__NormalizeAngle0to2pi 004C5090 f end=004C50B4
C33Matrix__operator_assign_C33Matrix 004C51B0 f
C33Matrix__Rotation 004C5550 f end=004C55A2
C33Matrix__FromEulerAnglesZYX 004C56D0 f end=004C581A
C33Matrix__Rotation 004C5820 f end=004C5932
C33Matrix__Rotate 004C5940 f end=004C5984
SE2SoundKitProperties__ResetToDefaults 004C5990 f end=004C5A18
SE2__StopSound 004C6390 f end=004C6410
SE2__PlaySoundKit 004C6A40 f end=004C713B
@ -4386,6 +4391,7 @@ SBigPowMod 0077C980 f end=0077C9A4 type="void __stdcall func(BigData* a, BigData
World__MapIsDungeon 0077EC80 f end=0077EC8B
World__SetLoadProgressCallback 0077EC90 f end=0077ECA6
World__Render 0077EFF0 f end=0077F00C
CWorldScene__RenderWeather 0077F030 f end=0077F03B
World__QueryMapId 0077F080 f end=0077F086
World__QueryObjectInside 0077F090 f end=0077F0A4
World__QueryMapObjAreaTable 0077F1B0 f end=0077F1D1
@ -4397,6 +4403,7 @@ CComand_CharacterAmbient 0077F750 f end=0077F7D1
World__ObjectIsDrawable 0077FCD0 f end=0077FD07
World__ObjectTestConvexVolume 0077FFB0 f end=00780122
World__ObjectUpdate 00780240 f end=007804F5
World__GetCamPos 00780640 f end=00780646
World__SetShadowColor 00780660 f end=0078070D
World__SetDetailDoodadDensity 00780710 f end=0078072F
World__SetDetailDoodadDist 00780730 f end=00780761
@ -4419,6 +4426,44 @@ World__PrepareUpdate 007831A0 f end=007834FE
World__Destroy 007837F0 f end=007BA834
World__GetFacets 00783910 f end=00783A36
World__GetFacets 00783A40 f end=00783A5E
Weather__GetType 00783B60 f end=00783B8C
Weather__FillInDefaultPrecipTexturePath 00783B90 f end=00783BCE
Rain__GetMotionBlurMatrix 00784140 f end=0078426F
Rain__RealizePacket 007842D0 f end=007843D9
Weather__SetType 007846A0 f end=0078484C
Weather__SetStormIntensity 00784850 f end=00784A24
Snow__InitFlake 00785880 f end=00785D55
Snow__UpdatePacket 00785D60 f end=00785E9F
Sand__InitGrain 00785EA0 f end=0078620E
Sand__UpdatePacket 00786210 f end=00786330
Mists__CreateMist 00786330 f end=00786559
Mists__Render 00786E10 f end=00787779
Weather__constructor 00787780 f end=0078791A
Rain__UpdatePackets 00787CE0 f end=00788090
Snow__UpdatePacketsSW 00788090 f end=00788657
Sand__UpdatePacketsSW 00788660 f end=00788927
Rain__destructor 00789110 f end=007891A8
Rain__RenderPatterPacketsSW 007891B0 f end=007898A0
Rain__RenderDropPacketsSW 007898A0 f end=0078A029
Rain__RenderPatterPackets 0078A030 f end=0078A63F
Rain__RenderDropPackets 0078A640 f end=0078AE1D
Rain__Render 0078AE20 f end=0078AE6A
Snow__destructor 0078AE70 f end=0078AED1
Snow__RenderPackets 0078AEE0 f end=0078B363
Snow__RenderPackets 0078B370 f end=0078BA51
Snow__Render 0078BA60 f end=0078BA9C
Sand__destructor 0078BAA0 f end=0078BAF6
Sand__RenderPackets 0078BB00 f end=0078BED3
Sand__RenderPackets 0078BEE0 f end=0078C3D3
Sand__Render 0078C3E0 f end=0078C41C
Mists__constructor 0078C420 f end=0078C4F8
Weather__Render 0078CA50 f end=0078CA8C
Rain__constructor 0078CA90 f end=0078CD2A
Snow__constructor 0078CD30 f end=0078CF1F
Sand__constructor 0078CF20 f end=0078D0A8
Weather__Clear 0078D0B0 f end=0078D12A
Weather__Update 0078D170 f end=0078D53C
Weather__destructor 0078D540 f end=0078D602
CWorldParam__TerrainLOD 0078D610 f end=0078D652
CWorldParam__TerrainShadows 0078D660 f end=0078D6A2
CWorldParam__MaxLights 0078D6B0 f end=0078D6E2
@ -6618,6 +6663,7 @@ g_opt 00CAE958 l type="STORMOPTIONS"
s_logsysteminit 00CB7220 l type="int32_t"
s_defaultdir_critsect 00CB732C l type="CRITICAL_SECTION"
s_critsect 00CB7358 l type="CRITICAL_SECTION[4]"
World__s_weather 00CD7544 l
World__particulate 00CD7548 l
CWorldScene__s_m2Scene 00CD754C l
World__shadowModTexture 00CD7554 l

View file

@ -46,3 +46,7 @@ CFacet__Set 007912C0 f end=00791378
CFacet__constructor 00983940 f end=0098398F
CAaBox__Bounding 00984930 f end=00984C6D
CFacet__Set 009838D0 f end=0098393E
CImVector__Set 0048BD20 f end=0048BDDA
C44Matrix__Rotation 004C3460 f end=004C3593
C33Matrix__Rotation 004C5820 f end=004C5932
C33Matrix__Rotate 004C5940 f end=004C5984

View file

@ -0,0 +1,38 @@
Weather__GetType 00783B60 f end=00783B8C
Weather__FillInDefaultPrecipTexturePath 00783B90 f end=00783BCE
Rain__GetMotionBlurMatrix 00784140 f end=0078426F
Rain__RealizePacket 007842D0 f end=007843D9
Weather__SetType 007846A0 f end=0078484C
Weather__SetStormIntensity 00784850 f end=00784A24
Snow__InitFlake 00785880 f end=00785D55
Snow__UpdatePacket 00785D60 f end=00785E9F
Sand__InitGrain 00785EA0 f end=0078620E
Sand__UpdatePacket 00786210 f end=00786330
Mists__CreateMist 00786330 f end=00786559
Mists__Render 00786E10 f end=00787779
Weather__constructor 00787780 f end=0078791A
Rain__UpdatePackets 00787CE0 f end=00788090
Snow__UpdatePacketsSW 00788090 f end=00788657
Sand__UpdatePacketsSW 00788660 f end=00788927
Rain__destructor 00789110 f end=007891A8
Rain__RenderPatterPacketsSW 007891B0 f end=007898A0
Rain__RenderDropPacketsSW 007898A0 f end=0078A029
Rain__RenderPatterPackets 0078A030 f end=0078A63F
Rain__RenderDropPackets 0078A640 f end=0078AE1D
Rain__Render 0078AE20 f end=0078AE6A
Snow__destructor 0078AE70 f end=0078AED1
Snow__RenderPackets 0078AEE0 f end=0078B363
Snow__RenderPackets 0078B370 f end=0078BA51
Snow__Render 0078BA60 f end=0078BA9C
Sand__destructor 0078BAA0 f end=0078BAF6
Sand__RenderPackets 0078BB00 f end=0078BED3
Sand__RenderPackets 0078BEE0 f end=0078C3D3
Sand__Render 0078C3E0 f end=0078C41C
Mists__constructor 0078C420 f end=0078C4F8
Weather__Render 0078CA50 f end=0078CA8C
Rain__constructor 0078CA90 f end=0078CD2A
Snow__constructor 0078CD30 f end=0078CF1F
Sand__constructor 0078CF20 f end=0078D0A8
Weather__Clear 0078D0B0 f end=0078D12A
Weather__Update 0078D170 f end=0078D53C
Weather__destructor 0078D540 f end=0078D602

View file

@ -25,4 +25,4 @@ World__QueryObjectInside 0077F090 f end=0077F0A4
World__QueryMapObjAreaTable 0077F1B0 f end=0077F1D1
World__Update 007815C0 f end=00781604
World__SetFarClip 00780800 f end=0078085F
World__GetCamPos 00780640 f end=00780646

View file

@ -23,3 +23,4 @@ World__detailDoodadDensity 00CD773C l
World__shadowModTexture 00CD7554 l
World__shadowColor 00CD7878 l
World__particulate 00CD7548 l
World__s_weather 00CD7544 l

View file

@ -32,3 +32,4 @@ CWorldScene__AddDoodadDefs 007998A0 f end=00799977
CWorldScene__CullDoodadsExterior 00799980 f end=00799B62
CWorldScene__CullDoodadsInterior 00799B70 f end=00799D36
CWorldScene__CullMapObjDefGroupFromExterior 007B3A10 f end=007B3B1A
CWorldScene__RenderWeather 0077F030 f end=0077F03B

View file

@ -33140,6 +33140,173 @@
}
]
},
{
"name": "Weather",
"size": 408,
"members": [
{
"type": "float",
"name": "intensity",
"offset": 0
},
{
"type": "float",
"name": "lastIntensity",
"offset": 4
},
{
"type": "float",
"name": "currStormItensity",
"offset": 8
},
{
"type": "float",
"name": "targetSkyDark",
"offset": 12
},
{
"type": "float",
"name": "startSkyDark",
"offset": 16
},
{
"type": "float",
"name": "currSkyDark",
"offset": 20
},
{
"type": "uint32_t",
"name": "weatherStartMs",
"offset": 24
},
{
"type": "uint32_t",
"name": "weatherStartMs2",
"offset": 28
},
{
"type": "uint32_t",
"name": "weatherType",
"offset": 32
},
{
"type": "uint32_t",
"name": "abrupt",
"offset": 36
},
{
"type": "float",
"name": "transitionSkyBox",
"offset": 40
},
{
"type": "float",
"name": "transitionSkyBoxNotAbrupt",
"offset": 44
},
{
"type": "float",
"name": "transitionSkyBoxNoWeather",
"offset": 48
},
{
"type": "CImVector",
"name": "color",
"offset": 52
},
{
"type": "char",
"name": "texturePath",
"arrsize": 260,
"offset": 56
},
{
"type": "void*",
"name": "RainPtr",
"offset": 316
},
{
"type": "void*",
"name": "SnowPtr",
"offset": 320
},
{
"type": "void*",
"name": "SandPtr",
"offset": 324
},
{
"type": "void*",
"name": "unkObject",
"offset": 328
},
{
"type": "int32_t",
"name": "unk_14C",
"offset": 332
},
{
"type": "void*",
"name": "unk_ptr_150",
"offset": 336
},
{
"type": "void*",
"name": "unk_ptr_154",
"offset": 340
},
{
"type": "int32_t",
"name": "unk_158",
"offset": 344
},
{
"type": "void*",
"name": "unk_ptr_15C",
"offset": 348
},
{
"type": "void*",
"name": "unk_ptr_160",
"offset": 352
},
{
"type": "C3Vector",
"name": "velocity",
"offset": 356
},
{
"type": "C3Vector",
"name": "unkVec",
"offset": 368
},
{
"type": "C3Vector",
"name": "playerPos",
"offset": 380
},
{
"type": "int32_t",
"name": "unk_188",
"offset": 392
},
{
"type": "float",
"name": "facingAngle",
"offset": 396
},
{
"type": "float",
"name": "moveSpeed",
"offset": 400
},
{
"type": "int32_t",
"name": "unk_194",
"offset": 404
}
]
},
{
"name": "ARGLIST",
"size": 16,