warcraft3-stats-observer 0.1.1

Rust bindings for the Warcraft 3 Stats Observer API memory map
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::shop_good::ShopGoodInfo;
use crate::string_utils::PaddedString;

const MAX_NAME_LENGTH: usize = 100;
const MAX_GOODS: usize = 12;

#[repr(C, packed)]
pub struct ShopInfo {
    pub id: u32,
    pub name: PaddedString<MAX_NAME_LENGTH>,
    pub owner_id: u32,
    pub goods_count: u32,
    pub goods: [ShopGoodInfo; MAX_GOODS],
}

// Number generated from SIZE fields of https://github.com/TinkerWorX/Blizzard.Net.Warcraft3
// noinspection RsAssertEqual
const _: () = assert!(size_of::<ShopInfo>() == 1552);