@@ -23,7 +23,6 @@ struct Addr {
2323 levelAddress : u32 ,
2424 warRecordAddress : u32 ,
2525 briefingAddress : u32 ,
26- cutsAddress : u32 ,
2726 mcAddress : u32 ,
2827 fpsAddress : u32
2928}
@@ -36,7 +35,6 @@ impl Addr {
3635 levelAddress : 0x418EED ,
3736 warRecordAddress : 0x418AA8 ,
3837 briefingAddress : 0x3B7299 ,
39- cutsAddress : 0x3ADB24 ,
4038 mcAddress : 0x3AE2E0 ,
4139 fpsAddress : 0x368390
4240 }
@@ -49,7 +47,6 @@ impl Addr {
4947 levelAddress : 0x380CE5 ,
5048 warRecordAddress : 0x394D28 ,
5149 briefingAddress : 0x333F91 ,
52- cutsAddress : 0x35EC4C ,
5350 mcAddress : 0x32B040 ,
5451 fpsAddress : 0x2E60D0
5552 }
@@ -63,8 +60,9 @@ async fn main() {
6360
6461 static mut startByte: u8 = 0 ;
6562
66- let mut loadByte: u8 = 0 ;
67- let mut briefingByte: u8 = 0 ;
63+ static mut loadByte: u8 = 0 ;
64+ static mut oldLoad: u8 = 0 ;
65+ static mut briefingByte: u8 = 0 ;
6866 static mut levelStr: & str = "" ;
6967 static mut levelArray: [ u8 ; 8 ] = [ 0 ; 8 ] ;
7068 static mut oldLevel: [ u8 ; 8 ] = [ 0 ; 8 ] ;
@@ -77,9 +75,8 @@ async fn main() {
7775 static mut mcByte: u16 = 0 ;
7876
7977 let mut warRecord: u8 = 0 ;
80- let mut warRecordArray: [ u8 ; 21 ] = [ 0 ; 21 ] ;
81-
82- let mut cutsByte: u8 = 0 ;
78+ static mut warRecordArray: [ u8 ; 21 ] = [ 0 ; 21 ] ;
79+ static mut warRecordStr: & str = "" ;
8380
8481 let mut baseAddress = asr:: Address :: new ( 0 ) ;
8582 let mut addrStruct = Addr :: steam ( ) ;
@@ -95,11 +92,9 @@ async fn main() {
9592 }
9693 }
9794 unsafe {
98- let mut start = || {
99- cutsByte = process. read :: < u8 > ( baseAddress + addrStruct. cutsAddress ) . unwrap_or ( 0 ) ;
100-
101- if startByte == 5 && cutsByte == 0 && oldStart == 2 ||
102- levelStr == "level02a" && startByte == 5 && oldStart == 255 {
95+ let start = || {
96+ if briefingByte == 1 && fps < 1000.0 ||
97+ ( loadByte == 1 && oldLoad != 1 ) && fps != 60.0 && warRecordStr == "\\ splash\\ Loadbar.dds" {
10398 asr:: timer:: start ( ) ;
10499 }
105100 } ;
@@ -114,11 +109,8 @@ async fn main() {
114109 loadByte = process. read :: < u8 > ( baseAddress + addrStruct. loadAddress ) . unwrap_or ( 1 ) ;
115110 briefingByte = process. read :: < u8 > ( baseAddress + addrStruct. briefingAddress ) . unwrap_or ( 0 ) ;
116111
117- match process. read_into_slice ( baseAddress + addrStruct. warRecordAddress , & mut warRecordArray) {
118- Ok ( _) => warRecordArray[ 0 ] ,
119- Err ( _) => return
120- } ;
121- let warRecordStr: & str = str:: from_utf8 ( & warRecordArray) . unwrap_or ( "" ) . split ( '\0' ) . next ( ) . unwrap_or ( "" ) ;
112+ process. read_into_slice ( baseAddress + addrStruct. warRecordAddress , & mut warRecordArray) . unwrap_or_default ( ) ;
113+ warRecordStr = str:: from_utf8 ( & warRecordArray) . unwrap_or ( "" ) . split ( '\0' ) . next ( ) . unwrap_or ( "" ) ;
122114
123115 fps = process. read :: < f32 > ( baseAddress + addrStruct. fpsAddress ) . unwrap_or ( 0.0 ) ;
124116
@@ -165,28 +157,25 @@ async fn main() {
165157 }
166158
167159 startByte = process. read :: < u8 > ( baseAddress + addrStruct. startAddress ) . unwrap_or ( 0 ) ;
160+ mcByte = process. read :: < u16 > ( baseAddress + addrStruct. mcAddress ) . unwrap_or ( 0 ) ;
168161
169162 process. read_into_slice ( baseAddress + addrStruct. levelAddress , & mut levelArray) . unwrap_or_default ( ) ;
170163 levelStr = str:: from_utf8 ( & levelArray) . unwrap_or ( "" ) . split ( '\0' ) . next ( ) . unwrap_or ( "" ) ;
171164
172- mcByte = process. read :: < u16 > ( baseAddress + addrStruct. mcAddress ) . unwrap_or ( 0 ) ;
173-
174- //let start_time = asr::time_util::Instant::now();
175165 if settings. Full_game_run {
176166 levelSplit ( ) ;
177167 lastSplit ( ) ;
178168 }
179- //let end_time = start_time.elapsed();
180- //asr::print_message(&alloc::format!("Tick time: {:?}", end_time));
181169 if settings. Individual_level {
182170 individualLvl ( ) ;
183171 }
184- start ( ) ;
185172 isLoading ( ) ;
173+ start ( ) ;
186174
187175 oldStart = startByte;
188176 oldFps = fps;
189177 oldLevel = levelArray;
178+ oldLoad = loadByte;
190179 sleep ( Duration :: from_nanos ( 16666667 ) ) . await ;
191180 }
192181 }
0 commit comments