Skip to content

Commit a6d0619

Browse files
committed
Changed timer behavior
Now timer should start as soon as we load a level, which makes it easier to verify runs.
1 parent 0e6b602 commit a6d0619

File tree

2 files changed

+17
-28
lines changed

2 files changed

+17
-28
lines changed

Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib.rs

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)