Add code for parsing download level

This commit is contained in:
Lncvrt committed 2025-07-31 10:32:50 -07:00
1 parent 145743eaaa
commit a965b6ae96
1 file changed
+39
@@ -11,3 +11,42 @@ The endpoint URL is `http://georays.puppet57.xyz/php-code/download-level.php`, t
| `[level data]` | The level data with a prefix added by the server | | `[level data]` | The level data with a prefix added by the server |
| `Level doesn't exist!` | The level ID doesn't exist | | `Level doesn't exist!` | The level ID doesn't exist |
| `invalid_request` | A invalid request was provided | | `invalid_request` | A invalid request was provided |
This is the official method for parsing data in Geometry Rays Fyre 1.1.3, a cleaner method to parsing will be added here eventually.
```rust
pub fn parse_level_download_response(
level_download_result: String,
online_level_name: &mut String,
online_level_desc: &mut String,
online_level_diff: &mut u8,
online_level_rated: &mut bool,
online_level_creator: &mut String,
online_level_data: &mut String
) {
let level_download_result_parts: Vec<&str> = level_download_result.split(";;;;;").collect();
let level_download_result_parts_empty_user: Vec<&str> = level_download_result.split(";;;;;;").collect();
let name_desc: Vec<&str> = level_download_result_parts[0].split(";").collect();
*online_level_name = name_desc[0].to_string();
*online_level_desc = name_desc[1].to_string();
*online_level_diff = name_desc[2].parse().unwrap();
if name_desc.len() > 4 {
*online_level_creator = name_desc[4].parse().unwrap();
} else {
*online_level_creator = "".to_string();
}
if name_desc.len() > 4 {
*online_level_data = level_download_result_parts[1].to_string();
} else {
*online_level_data = level_download_result_parts_empty_user[1].to_string();
}
if name_desc[3] == "0" {
*online_level_rated = false
} else {
*online_level_rated = true
}
}
```