@@ -31,11 +31,20 @@ public bool WeatherOverrideEnabled
31
31
32
32
public unsafe byte CurrentWeather
33
33
{
34
- get => _weatherSystem ->TargetWeather ;
34
+ get
35
+ {
36
+ var system = ( * _weatherSystem ) ;
37
+ if ( system == null ) return 0 ;
38
+ return system ->TargetWeather ;
39
+ }
35
40
set
36
41
{
37
- _weatherSystem ->TargetWeather = value ;
38
- _weatherSystem ->TransitionTime = DefaultTransitionTime ;
42
+ var system = ( * _weatherSystem ) ;
43
+ if ( system != null )
44
+ {
45
+ ( * _weatherSystem ) ->TargetWeather = value ;
46
+ ( * _weatherSystem ) ->TransitionTime = DefaultTransitionTime ;
47
+ }
39
48
}
40
49
}
41
50
@@ -44,7 +53,7 @@ public unsafe byte CurrentWeather
44
53
private delegate void UpdateTerritoryWeatherDelegate ( IntPtr a1 , IntPtr a2 ) ;
45
54
private Hook < UpdateTerritoryWeatherDelegate > _updateTerritoryWeatherHook = null ! ;
46
55
47
- private unsafe WeatherSystem * _weatherSystem ;
56
+ private unsafe WeatherSystem * * _weatherSystem ;
48
57
49
58
private List < Weather > _territoryWeatherTable = new ( ) ;
50
59
@@ -60,7 +69,7 @@ public unsafe WeatherService()
60
69
public unsafe override void Start ( )
61
70
{
62
71
IntPtr rawWeather = Dalamud . SigScanner . GetStaticAddressFromSig ( "4C 8B 05 ?? ?? ?? ?? 41 8B 80 ?? ?? ?? ?? C1 E8 02" ) ;
63
- _weatherSystem = * ( WeatherSystem * * ) rawWeather ;
72
+ _weatherSystem = ( WeatherSystem * * ) rawWeather ;
64
73
65
74
UpdateWeathersForCurrentTerritory ( ) ;
66
75
0 commit comments