vtable 0x102700;

method void tickInput() = 0x15ffc;
method void setIsCreativeMode(int is_creative) = 0x16ec4;
method bool isTouchscreen() = 0x1639c;
method void setScreen(Screen *screen) = 0x15d6c;
method void tick(int tick, int max_ticks) = 0x16934;
method void hostMultiplayer(int port) = 0x16664;
method char *getProgressMessage() = 0x16e58;
method uint isLevelGenerated() = 0x16e6c;
method bool isCreativeMode() = 0x17270;
method void releaseMouse() = 0x15d30;
method void grabMouse() = 0x15d10;
method void leaveGame(bool save_remote_level) = 0x15ea0;
method ICreator *getCreator() = 0x17538;
method LevelStorageSource *getLevelSource() = 0x16e84;
method void handleMouseDown(int param_1, bool can_destroy) = 0x1584c;
method void handleBuildAction(uint *build_action_intention) = 0x15920;
method void joinMultiplayer(const PingedCompatibleServer &server) = 0x165f4;
method void setSize(int width, int height) = 0x173a4;

virtual-method void update() = 0x24;
virtual-method int handleBack(bool do_nothing) = 0x34;
virtual-method void init() = 0x38;
virtual-method void selectLevel(const std::string &level_dir, const std::string &level_name, const LevelSettings &settings) = 0x40;
virtual-method AppPlatform *platform() = 0x8;

property int screen_width = 0x20;
property int screen_height = 0x24;
property Options options = 0x3c;
property LevelRenderer *level_renderer = 0x150;
property GameRenderer *game_renderer = 0x154;
property GameMode *game_mode = 0x160;
property Textures *textures = 0x164;
property ScreenChooser screen_chooser = 0x168;
property Font *font = 0x16c;
property RakNetInstance *rak_net_instance = 0x170;
property NetEventCallback *network_handler = 0x174;
property Level *level = 0x188;
property LocalPlayer *player = 0x18c;
property Mob *camera = 0x194;
property Gui gui = 0x198;
property Screen *screen = 0xc10;
property HitResult hit_result = 0xc38;
property int progress = 0xc60;
property int ticks_per_update = 0xc70;
property bool is_creative_mode = 0xcb5;
property PerfRenderer *perf_renderer = 0xcbc;
property CommandServer *command_server = 0xcc0;
property SoundEngine *sound_engine = 0x15c;
property int miss_time = 0xca0;

// Smooth Lighting
static-property bool useAmbientOcclusion = 0x136b90;
