#include <iostream>
#include <vector>
class AddressInfo
{
int ammoCount;
int pointerLevel;
std::vector<uint32_t> offsets;
public:
AddressInfo(int ammoCount, int pointerLevel, std::vector<uint32_t> offsets) :
ammoCount{ ammoCount }, pointerLevel { pointerLevel }, offsets{ offsets }
{
}
void print(size_t i)
{
std::cout << this->offsets.at(i) << std::endl;
}
};
int main()
{
AddressInfo ammo (1000, 0x00509B74, { 0x374, 0x14, 0x0 });
ammo.print(0);
ammo.print(1);
ammo.print(2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKY2xhc3MgQWRkcmVzc0luZm8KewogICAgaW50IGFtbW9Db3VudDsKICAgIGludCBwb2ludGVyTGV2ZWw7CiAgICBzdGQ6OnZlY3Rvcjx1aW50MzJfdD4gb2Zmc2V0czsKCnB1YmxpYzoKICAgIEFkZHJlc3NJbmZvKGludCBhbW1vQ291bnQsIGludCBwb2ludGVyTGV2ZWwsIHN0ZDo6dmVjdG9yPHVpbnQzMl90PiBvZmZzZXRzKSA6CiAgICAgICAgYW1tb0NvdW50eyBhbW1vQ291bnQgfSwgcG9pbnRlckxldmVsIHsgcG9pbnRlckxldmVsIH0sIG9mZnNldHN7IG9mZnNldHMgfQogICAgeyAgIAogICAgfQoKICAgIHZvaWQgcHJpbnQoc2l6ZV90IGkpIAogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCB0aGlzLT5vZmZzZXRzLmF0KGkpIDw8IHN0ZDo6ZW5kbDsKICAgIH0KfTsKCmludCBtYWluKCkgCnsKICAgIEFkZHJlc3NJbmZvIGFtbW8gKDEwMDAsIDB4MDA1MDlCNzQsIHsgMHgzNzQsIDB4MTQsIDB4MCB9KTsKICAgIGFtbW8ucHJpbnQoMCk7CiAgICBhbW1vLnByaW50KDEpOwogICAgYW1tby5wcmludCgyKTsKCiAgICByZXR1cm4gMDsKfQ==