// // Created by neo on 2019-08-15. // #include "Classes/classes.h" #include #include #include #include #include #include #include #define WIN32_LEAN_AND_MEAN #ifndef PINBALL_PINBALL_H #define PINBALL_PINBALL_H /* This file has been generated by IDA. It contains local type definitions from the type library 'pinball' */ //------------------------------------------------------------------------- // Function declarations #define __thiscall __cdecl // Test compile in C mode #ifdef _DEBUG void RedirectIOToConsole(); // guicon.cpp #endif HDC __stdcall _GetDC(HWND hWnd); HDC __stdcall _BeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint); CHAR *__stdcall options_path_init(LPCSTR lpString); void __stdcall options_path_uninit(); LPCSTR __stdcall options_path(LPCSTR lpString2); void __stdcall options_path_free(); HKEY __stdcall options_get_int(DWORD cbData, LPCSTR lpValueName, HKEY phkResult); void __stdcall options_get_string(DWORD dwDisposition, LPCSTR lpValueName, LPSTR lpString1, LPCSTR lpString2, int iMaxLength); void __stdcall options_set_int(HKEY phkResult, LPCSTR lpValueName, BYTE Data); void __stdcall options_set_string(HKEY phkResult, LPCSTR lpValueName, LPCSTR lpString); CHAR *__stdcall get_rc_string(__int16 a1, int a2); int __stdcall get_rc_int(__int16 a1, int *a2); int __stdcall grtext_draw_ttext_in_box(LPCSTR lpString, int mode, int, COLORREF color, int, int); // idb int sub_10038F8(); LONG sub_1003975(); LONG sub_100399D(); BOOL __stdcall fullscrn_set_menu_mode(int a1); signed int sub_1003A23(); int sub_1003B66(); LONG __stdcall fullscrn_set_screen_mode(int a1); void __stdcall fullscrn_force_redraw(); signed int __stdcall fullscrn_displaychange(); BOOL __stdcall fullscrn_init(int a1, int a2, int a3, HWND a4, int a5, int a6); LONG __stdcall fullscrn_shutdown(); BOOL __stdcall fullscrn_activate(int a1); int __stdcall fullscrn_convert_mouse_pos(int a1); _DWORD *__stdcall fullscrn_getminmaxinfo(_DWORD *a1); // HBRUSH __userpurge sub_1003F10@(LONG a1@, LONG a2@, int a3, int a4); void __stdcall fullscrn_paint(); signed int __stdcall rectangle_clip(int *a1, int *a2, _DWORD *a3); int __stdcall enclosing_box(_DWORD *a1, _DWORD *a2, _DWORD *a3); int __stdcall DibSetUsage(int, HPALETTE hpal, int); // idb _DWORD *__stdcall DibCreate(int a1, int a2, int a3); int __stdcall gdrv_init(int a1, HWND a2); int __stdcall gdrv_display_palette(int a1); int __stdcall gdrv_uninit(); int __stdcall gdrv_create_bitmap_dib(int a1, int a2, int a3); int __stdcall gdrv_create_bitmap(int a1, int a2, int a3); signed int __stdcall gdrv_create_raw_bitmap(int a1, int a2, int a3, int a4); signed int __stdcall gdrv_destroy_bitmap(int a1); UINT __stdcall gdrv_start_blit_sequence(); int __stdcall gdrv_blit_sequence(int, int xSrc, int, int xDest, int yDest, int DestWidth, int DestHeight); // idb int __stdcall gdrv_end_blit_sequence(); HDC __stdcall gdrv_blit(int a1, int xSrc, int a3, int xDest, int yDest, int DestWidth, int DestHeight); int __stdcall gdrv_blat(int, int xDest, int yDest); // idb // int __userpurge gdrv_fill_bitmap@(int a1@, _DWORD *a2, unsigned int a3, int a4, int a5, int a6, char a7); char *__stdcall gdrv_copy_bitmap(_DWORD *a1, int a2, int a3, int a4, int a5, _DWORD *a6, int a7, int a8); _BYTE *__stdcall gdrv_copy_bitmap_w_transparency(_DWORD *a1, int a2, int a3, int a4, int a5, _DWORD *a6, int a7, int a8); int __stdcall zdrv_pad(int a1); signed int __stdcall zdrv_create_zmap(int a1, int a2, int a3); signed int __stdcall zdrv_destroy_zmap(_DWORD *a1); // int __userpurge zdrv_fill@(int a1@, int a2, unsigned int a3, int a4, int a5, int a6, __int16 a7); _WORD *__stdcall zdrv_paint(int a1, int a2, _DWORD *a3, int a4, int a5, int a6, int a7, int a8, _DWORD *a9, int a10, int a11, int a12, int a13, int a14); unsigned __int16 *__stdcall zdrv_paint_flat(int a1, int a2, _DWORD *a3, int a4, int a5, int a6, int a7, int a8, _DWORD *a9, int a10, int a11, unsigned __int16 a12); int __stdcall high_score_clear_table(int a1); signed int __stdcall high_score_get_score_position(int a1, int a2); int __stdcall high_score_place_new_score_into(int, int, LPCSTR lpString, int); // idb char *__stdcall scramble_number_string(int Val, char *DstBuf); signed int __stdcall high_score_read(int a1, int a2); int __stdcall high_score_write(LPCSTR lpString, int); // idb char *__stdcall score_string_format(int a1, char *a2); void __stdcall hsdlg_show_score(HWND hDlg, LPCSTR lpString, int a3, int a4); void __stdcall show_high_scores(HWND hDlg, LPCSTR lpString); BOOL __stdcall HighScore(HWND, UINT, WPARAM, LPARAM); // idb INT_PTR __stdcall show_high_score_dialog(const CHAR *a1); INT_PTR __stdcall show_and_set_high_score_dialog(const CHAR *a1, int a2, int a3, const CHAR *a4); int __stdcall memory_init(int a1); int __stdcall memoryallocate(unsigned int a1); void __stdcall memoryfree(int a1); int __stdcall memoryrealloc(int a1, unsigned int a2); void __stdcall options_uninit(); HMENU __stdcall options_menu_set(UINT uIDEnableItem, int a2); HMENU __stdcall options_menu_check(UINT uIDCheckItem, int a2); HMENU __stdcall options_toggle(UINT uIDCheckItem); unsigned int __stdcall get_vk_key_name(__int16 a1, LPSTR lpString); BOOL __stdcall KeyMapDlgProc(HWND, UINT, WPARAM, LPARAM); // idb INT_PTR __stdcall options_keyboard(); void __stdcall options_init(HMENU a1); int __stdcall partman_field(int a1, int a2, int a3); int __stdcall partman_field_size_nth(int a1, int a2, int a3, int a4); int __stdcall partman_field_size(int a1, int a2, int a3); int __stdcall partman_field_nth(int a1, int a2, int a3, int a4); int __stdcall partman_record_labeled(int, LPCSTR lpString); // idb int __stdcall partman_field_labeled(int, LPCSTR lpString, int); // idb void __stdcall partman_unload_records(_WORD *a1); char __stdcall _lread_char(HFILE hFile); int __stdcall _lread_long(HFILE hFile); // idb signed __int16 *__stdcall partman_load_records(LPCSTR lpFileName); int __stdcall FindShiftKeys(); int __stdcall nullsub_1(int, int, int); // weak LRESULT __stdcall SoundCallBackWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); int __stdcall Sound_Init(HINSTANCE hInstance, int, int); // idb HLOCAL __stdcall Sound_Close(); CHAR *__stdcall Sound_LoadWaveFile(LPCSTR lpName); LPCVOID __stdcall Sound_FreeSound(LPCVOID pMem); LPCVOID __stdcall Sound_Deactivate(); LPCVOID __stdcall Sound_Activate(); int __stdcall Sound_Idle(); signed int __stdcall Sound_Flush(signed int a1, int a2); void __stdcall Sound_PlaySound(int a1, int a2, int a3, unsigned __int16 a4, __int16 a5); void __stdcall Sound_Enable(signed int a1, int a2, int a3); HPALETTE __stdcall splash_init_palette(LOGPALETTE *plpal); HBITMAP __stdcall load_title_bitmap(HMODULE hModule, HDC hdc, LPCSTR lpName, UINT iStart, int a5, int a6); int __stdcall splash_bitmap_setup(int a1); void __stdcall splash_paint(int a1, HDC hdc); void __stdcall splash_hide(int a1); HINSTANCE __stdcall splash_destroy(int a1); LRESULT __stdcall splash_message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); int __stdcall splash_screen(int, LPCSTR lpString2, LPCSTR); // idb signed int __stdcall timer_init(int a1); void __stdcall timer_uninit(); int __stdcall timer_set(float, int, int); // idb signed int __stdcall timer_check(); int __stdcall timer_kill(int a1); int __stdcall make_path_name(LPSTR lpFilename, LPCSTR lpString2, DWORD nSize); // idb void __stdcall help_introduction(int a1, int a2); BOOL __stdcall center_in(HWND hWnd, HWND a2); INT __stdcall a_dialog(HINSTANCE hInstance, HWND hWnd, int a3); // void __usercall winmain_pause(int a1@); // void __usercall winmain_end_pause(int a1@); // HCURSOR __usercall winmain_new_game@(int a1@); void __stdcall __noreturn winmain_memalloc_failure(); // idb HANDLE __stdcall adjust_priority(int a1); LRESULT __stdcall message_handler(HWND hWnd, UINT Msg, WPARAM wParam, int a4); signed int message_loop(); int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd); double __stdcall normalize_2d(float *a1); double __stdcall ray_intersect_circle(float *a1, float *a2); int __stdcall line_init(int, float, float, float, float); // idb double __stdcall ray_intersect_line(float *a1, float *a2); float *__stdcall proj_matrix_vector_multiply(float *a1, float *a2, float *a3); float *__stdcall cross(float *a1, float *a2, float *a3); double __stdcall magnitude(float *a1); int __stdcall proj_init(int a1, int a2, int a3, int a4); int __stdcall proj_recenter(int a1, int a2); double __stdcall proj_z_distance(_DWORD); // weak double __stdcall proj_xform_to_2d(float *a1, _DWORD *a2); signed int __stdcall loader_error(int a1, int a2); _DWORD *__stdcall loader_default_vsi(_DWORD *a1); signed int __stdcall loader_get_sound_id(int a1); void __stdcall loader_unload(); int __stdcall loader_loadfrom(_WORD *a1); int __stdcall loader_query_handle(LPCSTR lpString); // idb signed int __stdcall loader_query_visual_states(int a1); signed int __stdcall loader_material(int a1, _DWORD *a2); signed int __stdcall loader_kicker(int a1, _DWORD *a2); signed int __stdcall loader_state_id(int a1, signed int a2); signed int __stdcall loader_query_visual(int a1, signed int a2, _DWORD *a3); int __stdcall loader_query_name(int a1); int __stdcall loader_query_float_attribute(int a1, signed int a2, int a3); int __stdcall loader_query_iattribute(int a1, int a2, _DWORD *a3); double __stdcall loader_play_sound(int a1); void __stdcall flasher_callback(int, void *); // idb void __stdcall flasher_start(struct flasher_type *, int); // idb void __stdcall flasher_stop(struct flasher_type *, int); // idb int __stdcall midi_music_init(HWND a1); MCIERROR __stdcall midi_music_shutdown(); MCIERROR __stdcall midi_music_stop(); MCIERROR __stdcall midi_play_pb_theme(int a1); HWND __stdcall restart_midi_seq(int a1); void __stdcall `vector constructor iterator`(void *, unsigned int, int, void *(__thiscall *)(void *)); // idb void __stdcall `vector destructor iterator`(void *, unsigned int, int, void (__thiscall *)(void *)); // idb void __stdcall edges_insert_circle(struct circle_type *, struct TEdgeSegment *, struct field_effect_type *); // idb void __stdcall edges_insert_square(float, float, float, float, struct TEdgeSegment *, struct field_effect_type *); // idb struct TPinballComponent *__stdcall make_component_link(struct component_tag *); // idb void __stdcall control_make_links(struct TPinballTable *); // idb BOOL __stdcall light_on(struct component_tag *a1); void __stdcall table_control_handler(int); // idb // void __userpurge table_set_replay(int a1@, float a2); // void __usercall table_set_multiball(int a1@); // void __usercall table_set_jackpot(int a1@); // void __usercall table_set_bonus(int a1@); // void __usercall table_set_flag_lights(int a1@); // void __usercall table_set_bonus_hold(int a1@); // void __usercall table_bump_ball_sink_lock(int a1@); // void __userpurge table_add_extra_ball(int a1@, float a2); int __stdcall SpecialAddScore(int); // idb void __stdcall AdvanceWormHoleDestination(int); // idb void __stdcall FlipperRebounderControl1(int, struct TPinballComponent *); // idb void __stdcall FlipperRebounderControl2(int, struct TPinballComponent *); // idb void __stdcall RebounderControl(int, struct TPinballComponent *); // idb void __stdcall BumperControl(int, struct TPinballComponent *); // idb void __stdcall LeftKickerControl(int, struct TPinballComponent *); // idb void __stdcall RightKickerControl(int, struct TPinballComponent *); // idb void __stdcall LeftKickerGateControl(int, struct TPinballComponent *); // idb void __stdcall RightKickerGateControl(int, struct TPinballComponent *); // idb // void __userpurge DeploymentChuteToEscapeChuteOneWayControl(int a1@, int a2@, int a3, struct TPinballComponent *a4); void __stdcall DeploymentChuteToTableOneWayControl(int, struct TPinballComponent *); // idb void __stdcall DrainBallBlockerControl(int, struct TPinballComponent *); // idb // void __userpurge LaunchRampControl(int a1@, int a2, struct TPinballComponent *a3); void __stdcall LaunchRampHoleControl(int, struct TPinballComponent *); // idb void __stdcall SpaceWarpRolloverControl(int, struct TPinballComponent *); // idb // void __userpurge ReentryLanesRolloverControl(int a1@, int a2@, int a3@, int a4, struct TPinballComponent *a5); void __stdcall BumperGroupControl(int, struct TPinballComponent *); // idb // void __userpurge LaunchLanesRolloverControl(int a1@, int a2@, int a3@, int a4, struct TPinballComponent *a5); // void __userpurge OutLaneRolloverControl(int a1@, int a2@, int a3, struct TPinballComponent *a4); void __stdcall ExtraBallLightControl(int, struct TPinballComponent *); // idb // void __userpurge ReturnLaneRolloverControl(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge BonusLaneRolloverControl(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge FuelRollover1Control(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge FuelRollover2Control(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge FuelRollover3Control(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge FuelRollover4Control(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge FuelRollover5Control(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge FuelRollover6Control(int a1@, int a2, struct TPinballComponent *a3); void __stdcall HyperspaceLightGroupControl(int, struct TPinballComponent *); // idb // void __userpurge WormHoleControl(int a1@, int a2@, int a3@, int a4, struct TPinballComponent *a5); void __stdcall LeftFlipperControl(int, struct TPinballComponent *); // idb void __stdcall RightFlipperControl(int, struct TPinballComponent *); // idb void __stdcall JackpotLightControl(int, struct TPinballComponent *); // idb void __stdcall BonusLightControl(int, struct TPinballComponent *); // idb void __stdcall BoosterTargetControl(int, struct TPinballComponent *); // idb void __stdcall MedalLightGroupControl(int, struct TPinballComponent *); // idb // void __userpurge MultiplierLightGroupControl(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge FuelSpotTargetControl(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MissionSpotTargetControl(int a1@, int a2, struct TPinballComponent *a3); void __stdcall LeftHazardSpotTargetControl(int, struct TPinballComponent *); // idb void __stdcall RightHazardSpotTargetControl(int, struct TPinballComponent *); // idb // void __userpurge WormHoleDestinationControl(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge BlackHoleKickoutControl(int a1@, int a2, struct TPinballComponent *a3); void __stdcall FlagControl(int, struct TPinballComponent *); // idb // void __userpurge GravityWellKickoutControl(int a1@, int a2, struct TPinballComponent *a3); void __stdcall SkillShotGate1Control(int, struct TPinballComponent *); // idb void __stdcall SkillShotGate2Control(int, struct TPinballComponent *); // idb void __stdcall SkillShotGate3Control(int, struct TPinballComponent *); // idb void __stdcall SkillShotGate4Control(int, struct TPinballComponent *); // idb void __stdcall SkillShotGate5Control(int, struct TPinballComponent *); // idb void __stdcall SkillShotGate6Control(int, struct TPinballComponent *); // idb void __stdcall ShootAgainLightControl(int, struct TPinballComponent *); // idb void __stdcall EscapeChuteSinkControl(int, struct TPinballComponent *); // idb // int __usercall cheat_bump_rank@(int a1@); // void __userpurge pbctrl_bdoor_controller(int a1@, int a2); int __stdcall AddRankProgress(int); // idb // void __userpurge WaitingDeploymentController(int a1@, int a2, struct TPinballComponent *a3); void __stdcall SelectMissionController(int, struct TPinballComponent *); // idb // void __userpurge PracticeMissionController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge LaunchTrainingController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge ReentryTrainingController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge ScienceMissionController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge StrayCometController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge SpaceRadiationController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge BlackHoleThreatController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge BugHuntController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge RescueMissionController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge AlienMenaceController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge AlienMenacePartTwoController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge SatelliteController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge ReconnaissanceController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge DoomsdayMachineController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge CosmicPlagueController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge CosmicPlaguePartTwoController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge SecretMissionYellowController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge SecretMissionRedController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge SecretMissionGreenController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge TimeWarpController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge TimeWarpPartTwoController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromPartTwoController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromPartThreeController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromPartFourController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromPartFiveController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromPartSixController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromPartSevenController(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MaelstromPartEightController(int a1@, int a2, struct TPinballComponent *a3); void __stdcall GameoverController(int, struct TPinballComponent *); // idb void __stdcall UnselectMissionController(int, struct TPinballComponent *); // idb void __stdcall MissionControl(int, struct TPinballComponent *); // idb void __stdcall control_handler(int, struct TPinballComponent *); // idb void __stdcall HyperspaceKickOutControl(int, struct TPinballComponent *); // idb // void __userpurge PlungerControl(int a1@, int a2, struct TPinballComponent *a3); // void __userpurge MedalTargetControl(int a1@, int a2@, int a3@, int a4, struct TPinballComponent *a5); // void __userpurge MultiplierTargetControl(int a1@, int a2@, int a3@, int a4, struct TPinballComponent *a5); void __stdcall BallDrainControl(int, struct TPinballComponent *); // idb int __stdcall objlist_add_object(_DWORD *a1, int a2); signed int __stdcall objlist_delete_object(int a1, int a2); _DWORD *__stdcall objlist_new(int a1); int *__stdcall objlist_grow(int *a1, int a2); void __stdcall build_occlude_list(); void __stdcall render_repaint(struct render_sprite_type_struct *); // idb void __stdcall render_paint_balls(); // idb void __stdcall render_unpaint_balls(); // idb int __stdcall render_remove_sprite(struct render_sprite_type_struct *); // idb int __stdcall render_remove_ball(struct render_sprite_type_struct *); // idb BOOL __stdcall overlapping_box(struct rectangle_type *a1, struct rectangle_type *a2, struct rectangle_type *a3); void __stdcall render_update(); void __stdcall render_uninit(); char *__stdcall render_init(_DWORD *a1, float a2, float a3, int a4, int a5); int __stdcall render_sprite_modified(int a1); int __stdcall render_create_sprite(int a1, int a2, int a3, int a4, int a5, _DWORD *a6); int __stdcall render_set_background_zmap(struct zmap_header_type *a1, int a2, int a3); int __stdcall render_sprite_set(_DWORD *a1, int a2, int a3, int a4, int a5); void __stdcall render_sprite_set_bitmap(_DWORD *a1, int a2); void __stdcall render_ball_set(int a1, int a2, float a3, int a4, int a5); void __stdcall render_paint(); void __stdcall render_shift(int a1, int a2, int xSrc, int a4, int DestWidth, int DestHeight); _DWORD *__stdcall score_create(LPCSTR lpString, int a2); void *__stdcall score_dup(const void *a1, int a2); void __stdcall objlist_destroy(int a1); _DWORD *__stdcall score_set(_DWORD *a1, int a2); // void *__userpurge score_erase@(int a1@, _DWORD *a2, int a3); // HDC __userpurge score_update@(int a1@, int *a2); signed int __stdcall score_init(); void __stdcall score_unload_msg_font(); HRSRC __stdcall score_load_msg_font(LPCSTR lpName); _DWORD __stdcall pb_paint(); // idb signed int __stdcall pb_mode_change(int a1); signed int __stdcall pb_mode_countdown(int a1); int __stdcall pb_end_game(); signed int __stdcall pb_chk_highscore(); long double __stdcall pb_collide(struct TEdgeSegment *a1, float a2, struct TBall *a3); void __stdcall pb_timed_frame(float, float, int); // idb // signed int __userpurge pb_frame@(int a1@, int a2); void __stdcall pb_firsttime_setup(); // struct TPinballTable *__usercall pb_tilt_no_more@(int a1@); void __stdcall pb_ballset(signed int a1, signed int a2); void __stdcall nudge(float, float); // idb void __stdcall un_nudge_left(int, void *); // idb void __stdcall un_nudge_right(int, void *); // idb void __stdcall nudge_left(); // idb void __stdcall nudge_right(); // idb void __stdcall un_nudge_up(int, void *); // idb void __stdcall nudge_up(); // idb void __stdcall pb_keydown(HKEY a1); void __stdcall pb_keyup(HKEY a1); int __stdcall pb_replay_level(int a1); INT_PTR __stdcall pb_high_scores(); _DWORD *__stdcall pb_window_size(_DWORD *a1, _DWORD *a2); int __stdcall pb_init(); int __stdcall pb_uninit(); int __stdcall pb_loose_focus(); // void __usercall pb_pause_continue(int a1@); int __stdcall pb_launch_ball(); int __stdcall pb_reset_table(); // void __usercall pb_toggle_demo(int a1@); _DWORD __stdcall gdrv_get_focus(); // idb void __stdcall throw_ball(struct TBall *, struct vector_type *, float, float, float); // idb void __stdcall find_closest_edge(struct ramp_plane_type *, int, struct wall_point_type *, struct vector_type **, struct vector_type **); // idb double __stdcall basic_collision(struct TBall *a1, struct vector_type *a2, struct vector_type *a3, float a4, float a5, float a6, float a7); struct TEdgeSegment *__stdcall install_wall(float *, struct TCollisionComponent *, char *, unsigned int, float, void *); // idb void __stdcall vswap(struct vector_type *, struct vector_type *); // idb double __stdcall distance_to_flipper(struct ray_type *a1, struct ray_type *a2); void __stdcall vector_add(struct vector_type *, struct vector_type *); // idb void __stdcall RotatePt(struct vector_type *, float, float, struct vector_type *); // idb long double __stdcall Distance(struct vector_type *a1, struct vector_type *a2); double __stdcall Distance_Squared(float a1, float a2, int a3, float a4, float a5, int a6); double __stdcall DotProduct(const struct vector_type *a1, const struct vector_type *a2); void __stdcall SinCos(float, float *, float *); // idb void __stdcall RotateVector(struct vector_type *, float); // idb int __security_init_cookie(); // BOOL __usercall __noreturn __report_gsfailure@(int a1@, int a2@, int a3@, int a4@, int a5@, int a6@); int __stdcall sub_101CEB6(LPBYTE lpData); // idb HWND __stdcall HtmlHelpA(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD_PTR dwData); _WORD *__stdcall SessionToGlobalDataPtr(_WORD *a1); BOOL __stdcall IsValidLPMIXWAVE(int a1); bool __stdcall HasCurrentOutputFormat(const void *a1); int __stdcall DefaultPauseBlocks(int a1); unsigned int __stdcall DefaultGoodWavePos(UINT_PTR uDeviceID); DWORD __stdcall MyWaveOutGetPosition(HWAVEOUT hwo, int a2); int __stdcall AddFactor(int a1, int a2); int __stdcall SubFactor(int a1, int a2); unsigned int __stdcall SetWaveOutPosition(unsigned int a1); unsigned int __stdcall MyWaveOutReset(HWAVEOUT hwo); __int16 __stdcall cmixit(_BYTE *a1, char *a2, char *a3, int a4, unsigned __int16 a5); _DWORD *__stdcall InitChannelNodes(); int __stdcall GetChannelNode(); _DWORD *__stdcall FreeChannelNode(_DWORD *a1); struct wavehdr_tag *__stdcall FreeWaveBlocks(HWAVEOUT hwo, int a2); int __stdcall AllocWaveBlocks(HWAVEOUT hwo, int); // idb _DWORD *__stdcall SwapWaveBlocks(); _DWORD *__stdcall GetWaveBlock(); struct wavehdr_tag *__stdcall RemoveFromPlayingQueue(struct wavehdr_tag *a1); LPWAVEHDR __stdcall DestroyPlayQueue(); int __stdcall ReleaseWaveDevice(int a1); signed int __stdcall GetWaveDevice(); signed int __stdcall WaveMixOpenChannel(_WORD *a1, signed int a2, unsigned int a3); LPWAVEHDR __stdcall AddToPlayingQueue(struct wavehdr_tag *a1); int __stdcall MixerPlay(LPWAVEHDR pwh, int); // idb DWORD __stdcall FreePlayedBlocks(); int __stdcall WaveMixPump(); LRESULT __stdcall WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); signed int __stdcall NoResetRemix(int a1, int a2); signed int __stdcall ResetRemix(int a1, int a2); void __stdcall ResetWavePosIfNoChannelData(); signed int __stdcall WaveMixPlay(int a1); signed int __stdcall WaveMixFlushChannel(_WORD *a1, signed int a2, char a3); signed int __stdcall WaveMixCloseChannel(_WORD *a1, signed int a2, char a3); int __stdcall WaveMixFreeWave(int, LPCVOID pMem); // idb // _WORD *__userpurge BitsPerSampleAlign@(int a1@, LPCVOID pMem, int a3, __int16 a4, int a5); _BYTE *__stdcall ChannelAlign(LPCVOID pMem, __int16 a2, __int16 a3, __int16 a4, int a5); void __stdcall AvgSample(_WORD *a1, unsigned __int8 *a2, int a3, int a4, int a5); int __stdcall RepSample(_BYTE *a1, unsigned __int8 *a2, signed int a3, int a4, int a5); LPCVOID __stdcall SamplesPerSecAlign(LPCVOID pMem, int a2, int a3, __int16 a4, __int16 a5, int a6); LPCVOID __stdcall WaveFormatConvert(int a1, int a2, LPCVOID pMem, int a4); CHAR *__stdcall WaveMixOpenWave(LPCVOID pMem, LPCSTR lpName, HMODULE hModule, LONG cch); unsigned int __stdcall FigureOutDMABufferSize(unsigned int a1, int a2); int __stdcall RemoveInvalidIniNameCharacters(LPCSTR lpString); // idb UINT __stdcall ShowWaveOutDevices(); const char *__stdcall GetOperatingSystemPrefix(); int __stdcall ReadRegistryToGetMachineSpecificInfSection(int, LPSTR lpString1, int); // idb int __stdcall ReadRegistryInt(HKEY hKey, LPCSTR lpSubKey, int); // idb signed int __stdcall ReadRegistryForAppSpecificConfigs(int a1); int __stdcall ShowCurrentSettings(); int __stdcall Settings_OnInitDialog(HWND hWnd, int, int); // idb int __stdcall Settings_OnCommand(HWND hWnd, int, int, int); // idb BOOL __stdcall SettingsDlgProc(HWND, UINT, WPARAM, LPARAM); // idb _DWORD *__stdcall MakeDlgTemplate(int a1, int a2, __int16 a3, __int16 a4, __int16 a5, __int16 a6, wchar_t *Str); _WORD *__stdcall AddDlgControl(int a1, LPCVOID pMem, __int16 a3, int a4, __int16 a5, __int16 a6, __int16 a7, __int16 a8, __int16 a9, wchar_t *Str); _WORD *__stdcall MakeSettingsDlgTemplate(); void __stdcall DestroySettingsDlgTemplate(LPCVOID pMem); signed int __stdcall WaveMixGetConfig(_WORD *a1, int a2); BOOL __stdcall SaveConfigSettings(__int16 a1); DWORD __stdcall SetIniFileName(HMODULE hModule); int __stdcall InitVolumeTable(); int __stdcall WaveMixStartup(HMODULE hModule); // idb signed int __stdcall WaveMixActivate(_WORD *a1, int a2); MMRESULT __stdcall WaveMixConfigure(int a1, HWND hWndParent, int a3, int a4, int a5); signed int __stdcall ReadConfigSettings(int a1); int __stdcall WaveMixConfigureInit(_WORD *a1); int __stdcall WaveMixInit(); HLOCAL __stdcall WaveMixCloseSession(HLOCAL hMem); int WinMainCRTStartup(); // void __cdecl operator delete(void *); idb // void *__cdecl operator new(unsigned int); idb // int __cdecl _initterm(_DWORD, _DWORD); weak unsigned int _setdefaultprecision(); int __stdcall check_expiration_date(); // unsigned int __cdecl _controlfp(unsigned int NewValue, unsigned int Mask); //------------------------------------------------------------------------- // Data declarations // extern _UNKNOWN __acmdln; weak // extern _UNKNOWN __adjust_fdiv; weak CHAR WindowName[2] = { '\0', '\0' }; // idb int gpFormat[4] = { 65537, 11025, 11025, 524289 }; // weak _UNKNOWN __xc_a; // weak _UNKNOWN __xc_z; // weak _UNKNOWN __xi_a; // weak _UNKNOWN __xi_z; // weak int grtext_red = 4294967295; // weak int trick = 1; // weak LOGPALETTE current_palette = { 768u, 256u, { { 0u, 0u, 0u, 0u } } }; // idb _UNKNOWN unk_102305B; // weak PALETTEENTRY pPalEntries = { 0u, 0u, 0u, 0u }; // idb char byte_1023458 = '\0'; // weak char byte_1023459 = '\0'; // weak char byte_102345A = '\0'; // weak _UNKNOWN unk_102345F; // weak _UNKNOWN unk_1023460; // weak __int16 vk_list = 32833; // weak _UNKNOWN unk_1023540; // weak __int16 field_size[14] = { 2, 65535, 2, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 0 }; // idb int LeftShift = 4294967295; // weak int RightShift = 4294967295; // weak int dword_10235F4 = 1; // weak int loader_errors[] = { 0 }; // weak char *error_messages[54] = { "Bad Handle", (char *)1, "No Type Field", (char *)2, "No Attributes Field", (char *)0xB, "No float Attributes Field", (char *)3, "Wrong Type: MATERIAL Expected", (char *)4, "Wrong Type: KICKER Expected", (char *)5, "Wrong Type: AN_OBJECT Expected", (char *)6, "Wrong Type: A_STATE Expected", (char *)7, "STATES (re)defined in a state", (char *)9, "Unrecognized Attribute", (char *)0xA, "Unrecognized float Attribute", (char *)0xD, "float Attribute not found", (char *)0xC, "state_index out of range", (char *)0xF, "loader_material() reports failure", (char *)0xE, "loader_kicker() reports failure", (char *)0x10, "loader_state_id() reports failure", (char *)8, "# walls doesn't match data size", (char *)0x11, "loader_query_visual_states()", (char *)0x12, "loader_query_visual()", (char *)0x15, "loader_material()", (char *)0x14, "loader_kicker()", (char *)0x16, "loader_query_attribute()", (char *)0x17, "loader_query_iattribute()", (char *)0x13, "loader_query_name()", (char *)0x18, "loader_state_id()", (char *)0x19, "loader_get_sound_id()", (char *)0x1A, "sound reference is not A_SOUND record", (char *)0xFFFFFFFF }; // idb int sound_count = 1; // weak int dword_10236E4 = 0; // weak int dword_10236EC = 0; // weak int dword_10236F4 = 0; // weak int dword_10236FC = 0; // weak int dword_1023704 = 0; // weak int dword_102370C = 0; // weak int dword_1023714 = 0; // weak int dword_102371C = 0; // weak int dword_1023724 = 0; // weak int dword_102372C = 0; // weak int dword_1023734 = 0; // weak int dword_102373C = 0; // weak int dword_1023758 = 0; // weak int dword_1023770 = 0; // weak int dword_1023778 = 0; // weak int dword_1023780 = 0; // weak int dword_1023788 = 0; // weak int dword_1023790 = 0; // weak int dword_1023798 = 0; // weak int dword_10237A0 = 0; // weak int dword_10237A8 = 0; // weak int dword_10237C4 = 0; // weak int dword_10237CC = 0; // weak int dword_10237D4 = 0; // weak int dword_10237DC = 0; // weak int dword_10237E8 = 0; // weak int dword_10237F0 = 0; // weak int dword_1023808 = 0; // weak int dword_1023810 = 0; // weak char *lite30 = "lite30"; // weak int dword_1023818 = 0; // weak char *lite29 = "lite29"; // weak int dword_1023820 = 0; // weak int dword_1023828 = 0; // weak int dword_1023830 = 0; // weak int dword_1023838 = 0; // weak int dword_1023840 = 0; // weak struct TPinballComponent *dword_1023860 = NULL; // idb int dword_1023868 = 0; // weak int dword_1023870 = 0; // weak char *lite54 = "lite54"; // weak int dword_1023878 = 0; // weak char *lite55 = "lite55"; // weak int dword_1023880 = 0; // weak char *lite56 = "lite56"; // weak int dword_1023888 = 0; // weak int dword_102389C = 0; // weak int dword_10238A4 = 0; // weak char *lite17 = "lite17"; // weak int dword_10238AC = 0; // weak char *lite18 = "lite18"; // weak int dword_10238B4 = 0; // weak int dword_10238C0 = 0; // weak int dword_10238C8 = 0; // weak char *lite27 = "lite27"; // weak int dword_10238D0 = 0; // weak char *lite28 = "lite28"; // weak int dword_10238D8 = 0; // weak int dword_10238E8 = 0; // weak char *lite16 = "lite16"; // weak int dword_10238F0 = 0; // weak int dword_1023924 = 0; // weak int dword_1023930 = 0; // weak char *lite20 = "lite20"; // weak int dword_1023940 = 0; // weak int dword_1023948 = 0; // weak int dword_1023950 = 0; // weak int dword_1023958 = 0; // weak int dword_1023960 = 0; // weak int dword_1023968 = 0; // weak int dword_1023970 = 0; // weak int dword_1023978 = 0; // weak int dword_1023980 = 0; // weak struct TPinballComponent *dword_10239A8 = NULL; // idb char *lite25 = "lite25"; // weak int dword_10239B0 = 0; // weak char *lite26 = "lite26"; // weak int dword_10239B8 = 0; // weak char *lite130 = "lite130"; // weak int dword_10239C0 = 0; // weak int dword_10239C8 = 0; // weak int dword_10239D0 = 0; // weak int dword_10239EC = 0; // weak int dword_10239F4 = 0; // weak int dword_10239FC = 0; // weak int dword_1023A04 = 0; // weak int dword_1023A0C = 0; // weak int dword_1023A14 = 0; // weak int dword_1023A1C = 0; // weak char *lite4 = "lite4"; // weak int dword_1023A24 = 0; // weak int dword_1023A2C = 0; // weak int dword_1023A34 = 0; // weak int dword_1023A3C = 0; // weak char **lites[9] = { &off_10239E8, &off_10239F0, &off_10239F8, &off_1023A00, &off_1023A08, &off_1023A10, &lite4, &off_1023A28, &off_1023A30 }; // weak char **off_1023A4C[6] = { &off_1023A00, &off_1023A08, &off_1023A10, &lite4, &off_1023A28, &off_1023A30 }; // weak char **off_1023A58[3] = { &lite4, &off_1023A28, &off_1023A30 }; // weak int dword_1023A74 = 0; // weak int dword_1023A7C = 0; // weak int dword_1023A84 = 0; // weak int dword_1023A8C = 0; // weak int dword_1023A94 = 0; // weak int dword_1023A9C = 0; // weak int dword_1023AA4 = 0; // weak int dword_1023AAC = 0; // weak char *lite61 = "lite61"; // weak int dword_1023AB4 = 0; // weak char *lite60 = "lite60"; // weak int dword_1023ABC = 0; // weak char *lite59 = "lite59"; // weak int dword_1023AC4 = 0; // weak char *lite58 = "lite58"; // weak int dword_1023ACC = 0; // weak int dword_1023ADC = 0; // weak int dword_1023AE4 = 0; // weak int dword_1023AEC = 0; // weak struct TPinballComponent *dword_1023B0C = NULL; // idb int dword_1023B20 = 0; // weak int dword_1023B28 = 0; // weak int dword_1023B30 = 0; // weak struct TPinballComponent *dword_1023B38 = NULL; // idb int dword_1023B48 = 0; // weak int dword_1023B50 = 0; // weak int dword_1023B58 = 0; // weak int dword_1023B60 = 0; // weak int dword_1023B68 = 0; // weak int dword_1023B70 = 0; // weak int dword_1023B78 = 0; // weak int dword_1023B84 = 0; // weak int dword_1023B8C = 0; // weak int dword_1023B94 = 0; // weak int dword_1023B9C = 0; // weak int dword_1023BA4 = 0; // weak int dword_1023BAC = 0; // weak int dword_1023BB4 = 0; // weak char *lite198 = "lite198"; // weak int dword_1023BBC = 0; // weak int dword_1023BC8 = 0; // weak int dword_1023BD0 = 0; // weak int dword_1023BD8 = 0; // weak int dword_1023BE0 = 0; // weak int dword_1023BE8 = 0; // weak int dword_1023BF0 = 0; // weak int dword_1023BF8 = 0; // weak int dword_1023C00 = 0; // weak int dword_1023C08 = 0; // weak int dword_1023C10 = 0; // weak int dword_1023C18 = 0; // weak int dword_1023C20 = 0; // weak int dword_1023C28 = 0; // weak int dword_1023C30 = 0; // weak int dword_1023C3C = 0; // weak char *lite110 = "lite110"; // weak int dword_1023C44 = 0; // weak int dword_1023C50 = 0; // weak int dword_1023C5C = 0; // weak int dword_1023C68 = 0; // weak int dword_1023C70 = 0; // weak int dword_1023C7C = 0; // weak char *lite67 = "lite67"; // weak int dword_1023CB4 = 0; // weak int dword_1023CBC = 0; // weak int dword_1023CC4 = 0; // weak int dword_1023CCC = 0; // weak int dword_1023CD4 = 0; // weak int dword_1023CDC = 0; // weak int dword_1023CE4 = 0; // weak int dword_1023CEC = 0; // weak int dword_1023CF4 = 0; // weak int dword_1023CFC = 0; // weak char *lite200 = "lite200"; // weak int dword_1023D04 = 0; // weak char *lite199 = "lite199"; // weak int dword_1023D0C = 0; // weak int dword_1023D14 = 0; // weak int dword_1023D1C = 0; // weak int dword_1023D24 = 0; // weak int dword_1023D2C = 0; // weak int dword_1023D34 = 0; // weak int dword_1023D3C = 0; // weak int dword_1023D44 = 0; // weak int dword_1023D4C = 0; // weak int dword_1023D54 = 0; // weak int dword_1023D64 = 0; // weak int dword_1023D6C = 0; // weak int dword_1023D74 = 0; // weak int dword_1023D7C = 0; // weak int dword_1023D84 = 0; // weak int dword_1023D8C = 0; // weak int dword_1023D94 = 0; // weak int dword_1023D9C = 0; // weak int dword_1023DA4 = 0; // weak int dword_1023DAC = 0; // weak int dword_1023DB4 = 0; // weak int dword_1023DBC = 0; // weak int dword_1023DC4 = 0; // weak int dword_1023DCC = 0; // weak int dword_1023DD4 = 0; // weak int dword_1023DDC = 0; // weak int dword_1023DE4 = 0; // weak int dword_1023DEC = 0; // weak int dword_1023DF4 = 0; // weak int dword_1023DFC = 0; // weak int dword_1023E04 = 0; // weak int dword_1023E0C = 0; // weak int dword_1023E14 = 0; // weak TTextBox *dword_1023E1C = NULL; // idb TTextBox *dword_1023E24 = NULL; // idb int dword_1023E34 = 0; // weak int dword_1023E3C = 0; // weak int dword_1023E44 = 0; // weak char *lite303 = "lite303"; // weak int dword_1023E4C = 0; // weak char *lite304 = "lite304"; // weak int dword_1023E54 = 0; // weak int dword_1023E5C = 0; // weak int dword_1023E64 = 0; // weak int dword_1023E6C = 0; // weak int dword_1023E74 = 0; // weak int dword_1023E7C = 0; // weak int dword_1023E84 = 0; // weak int dword_1023E8C = 0; // weak int dword_1023E94 = 0; // weak int dword_1023E9C = 0; // weak char *lite314 = "lite314"; // weak int dword_1023EA4 = 0; // weak int dword_1023EAC = 0; // weak char *lite316 = "lite316"; // weak int dword_1023EB4 = 0; // weak char *lite317 = "lite317"; // weak int dword_1023EBC = 0; // weak char *lite318 = "lite318"; // weak int dword_1023EC4 = 0; // weak char *lite319 = "lite319"; // weak int dword_1023ECC = 0; // weak int dword_1023ED4 = 0; // weak int dword_1023EDC = 0; // weak int dword_1023EE4 = 0; // weak int dword_1023EEC = 0; // weak _UNKNOWN unk_1023EF8; // weak char **off_1024470[142] = { &off_1023708, &off_1023710, &off_1023718, &off_1023720, &off_1023774, &off_102377C, &off_1023784, &off_102378C, &lite30, &lite29, &off_1023864, &lite54, &lite55, &lite56, &lite18, &lite27, &lite28, &lite16, &off_1023984, &off_102398C, &off_1023994, &off_102399C, &lite25, &lite26, &lite130, &off_1023A00, &off_1023A08, &off_1023A10, &off_1023A18, &lite4, &off_1023A28, &off_1023A30, &off_1023A38, &off_1023A88, &off_1023A90, &off_1023944, &off_102394C, &off_1023954, &off_102395C, &off_1023964, &off_102396C, &off_1023974, &lite20, &off_10239CC, &lite61, &lite58, &off_1023AF0, &off_1023AF8, &off_1023B00, &off_1023B5C, &off_1023B64, &off_1023B6C, &off_1023B74, &off_1023B98, &off_1023BA0, &off_1023BA8, &off_1023BB0, &off_1023BF4, &off_1023BFC, &off_1023C04, &off_1023C0C, &off_1023C14, &off_1023C1C, &off_1023C24, &off_1023C2C, &lite110, &off_1023C6C, &lite67, &off_1023CB8, &off_1023CC0, &off_1023CC8, &off_1023CD0, &off_1023CD8, &off_1023CE0, &off_1023CE8, &lite198, &off_1023CF0, &off_1023CF8, &off_1023D10, &off_1023D18, &off_1023D20, &off_1023D28, &off_1023D30, &off_1023D38, &off_1023D40, &off_1023D48, &off_1023D58, &off_1023D60, &off_1023D68, &off_1023D70, &off_1023D78, &off_1023D80, &off_1023D88, &off_1023D90, &off_1023D98, &off_1023DA0, &off_1023DA8, &off_1023DB0, &off_1023DB8, &off_1023DC0, &off_1023DC8, &off_1023DD0, &off_1023DD8, &off_1023DE0, &lite199, &off_1023824, &off_102382C, &off_1023E18, &off_1023E20, &off_1023DE8, &off_10237D0, &off_10237D8, &off_1023DF0, &off_1023DF8, &off_1023E00, &off_1023E08, &off_1023E30, &off_1023E38, &off_1023E40, &lite303, &lite304, &off_1023E58, &off_1023E60, &off_1023E68, &off_1023E70, &off_1023E78, &off_1023E80, &off_1023E88, &off_1023E90, &off_1023E98, &lite314, &off_1023EA8, &lite316, &lite317, &lite318, &lite319, &off_1023ED0, &off_1023ED8, &off_1023EE0, &off_1023EE8, &off_1023D50, &off_1023E10 }; // weak int off_10246A0 = 16923984; // idb __int16 word_10246EC[] = { 84 }; // weak __int16 word_1024708[] = { 91 }; // weak int render_blit = 1; // weak int dword_1024758[5] = { 1, 2, 3, 5, 10 }; // idb int __security_cookie_complement = 4294919359; // weak int __security_cookie = 47936; // weak CHAR aWavemixV23ByAn[] = "WaveMix V 2.3 by Angel M. Diaz, Jr. (c) Microsoft 1993-1995"; // idb int __defaultmatherr = 1; // weak LPCSTR lpString2 = NULL; // idb LPSTR lpString1 = NULL; // idb CHAR byte_10248A8[1536] = { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', }; // idb int rc_string_slot; // weak HWND hWnd; // idb int dword_1024EC0; // weak int dword_1024ED4; // weak int dword_1024ED8; // weak int dword_1024EDC; // weak int dword_1024EE0; // weak int fullscrn_screen_mode; // weak int dword_1024EE8; // weak int dword_1024EEC; // weak int dword_1024EF0; // weak int fullscrn_display_changed; // weak int dword_1024EF8; // weak int gdrv_use_wing; // weak int memory_use_total; // weak int memory_critical_allocation; // weak int (*memory_critical_callback)(void); // weak HMENU hMenu; // idb __int16 word_1024F18; // weak int dword_1024F1C[8]; // idb int dword_1024F3C[8]; // idb LPCVOID pMem; // idb HMODULE dword_1024F60; // idb HWND dword_1024F64; // idb int (__stdcall *dword_1024F68)(_DWORD, _DWORD, _DWORD); // weak HINSTANCE hInstance; // idb int dword_1024F70; // weak int dword_1024F74; // weak int dword_1024F78; // weak int dword_1024F7C; // weak int dword_1024F80; // weak int time_ticks; // weak char Dest[80]; // idb int single_step; // weak int bQuit; // weak int DispFrameRate; // weak int DispGRhistory; // weak int mouse_down; // weak int has_focus; // weak int activated; // weak int no_time_loss; // weak int cheat_mode; // weak int midi_seq1_open; // weak int midi_seq1_playing; // weak HWND midi_notify_hwnd; // weak _UNKNOWN mci_open_info; // weak MCIDEVICEID mciId; // idb int dword_1025014; // weak int dword_1025018; // weak CHAR byte_1025020[28]; // idb TEdgeManager *edge_manager; // idb TPinballTable *dword_1025040; // idb int dword_1025044; // weak int dword_1025048; // weak int dword_102504C; // weak int dword_1025050; // weak _UNKNOWN zscreen; // weak __int16 word_102505A; // weak struct render_sprite_type_struct **render_dirty_list; // weak struct render_sprite_type_struct **render_ball_list; // weak int render_many_balls; // weak _UNKNOWN vscreen_rect; // weak int dword_1025078; // weak int dword_102507C; // weak int dword_1025080; // weak struct render_sprite_type_struct **render_sprite_list; // weak _UNKNOWN vscreen; // weak int dword_1025094; // weak int dword_1025098; // weak int xDest; // idb int yDest; // idb float render_zscaler; // weak int render_many_sprites; // weak float render_zmax; // weak float render_zmin; // weak int render_many_dirty; // weak _UNKNOWN ball_bitmap; // weak int render_offset_x; // weak int render_offset_y; // weak int render_background_bitmap; // idb struct zmap_header_type *render_background_zmap; // weak _UNKNOWN render_zmap_offset; // weak int dword_10253C0; // weak struct score_msg_font_type *score_msg_fontp; // weak float ball_speed_limit; // weak _UNKNOWN pb_state; // weak CHAR byte_102543C[300]; // idb int dword_1025568; // weak int play_midi_music; // weak int dword_1025570; // weak int dword_1025574; // weak CHAR byte_1025578[32]; // idb int dword_1025598[36]; // idb float time_now; // weak float time_next; // weak int pb_record_table; // idb int nudged_left; // weak int nudged_right; // weak int nudged_up; // weak int nudge_timer; // weak float nudge_count; // weak TTextBox *InfoTextBox; // idb TTextBox *MissTextBox; // idb struct TPinballTable *MainTable; // idb float flipper_sin_angle; // idb _UNKNOWN circlebase; // weak int dword_1025664; // weak int dword_102566C; // weak _UNKNOWN circleT1; // weak int dword_1025674; // weak int dword_102567C; // weak _UNKNOWN lineA; // weak float flt_1025684; // weak _UNKNOWN unk_10256A4; // weak float flipper_cos_angle; // idb _UNKNOWN A2; // weak float flt_10256B8; // weak _UNKNOWN lineB; // weak float flt_10256C4; // weak _UNKNOWN unk_10256E4; // weak _UNKNOWN B1; // weak float flt_10256F4; // weak _UNKNOWN B2; // weak float flt_1025700; // weak _UNKNOWN T1; // weak int dword_102570C; // weak _UNKNOWN A1; // weak float flt_1025718; // weak HWND (__stdcall *pHtmlHelpA)(HWND, const char *, unsigned int, unsigned int); // weak int dword_1025728; // weak HMODULE hModule; // idb int dword_1025730[16]; // idb _UNKNOWN unk_1025770; // weak int dword_1025798; // weak int dword_10257A0[16]; // idb HINSTANCE dword_10257E0; // idb _UNKNOWN unk_10257E4; // weak __int16 word_1025810[]; // weak __int16 word_1025812[30]; // idb CHAR FileName[276]; // idb int dword_1025964; // weak int dword_1025968; // weak char byte_1025970[128]; // idb _UNKNOWN unk_10259F0; // weak _UNKNOWN unk_10263F0; // weak _UNKNOWN unk_1026470; // weak _UNKNOWN unk_1027B68; // weak int dword_1027BA4; // weak LPARAM hMem; // idb int dword_1027BE4; // weak int dword_1027BE8; // weak LPWAVEHDR pwh; // idb int dword_1027BF0; // weak int dword_1027BF4; // weak int dword_1027BF8; // weak int _dowildcard; // weak int _newmode; // weak int _commode; // weak int _fmode; int loader_table; // idb int sound_record_table; // weak int sound_list[]; // weak int dword_1027C24[]; // weak int dword_1027C28[]; // weak char algn_1027C2C[4]; // weak int dword_1027C30[]; // weak _UNKNOWN unk_1027C34; // weak int loader_sound_count; // weak int proj_centery; // weak int proj_centerx; // weak int proj_d; // weak _UNKNOWN proj_matrix; // weak _UNKNOWN unk_1028170; // weak float flt_1028190; // weak float flt_1028194; // weak float flt_1028198; // weak float flt_102819C; // weak int then; // weak _UNKNOWN gfr_display; // weak int displaying_splashscreen; // weak UINT iFrostUniqueMsg; // idb int last_mouse_y; // idb int now; // weak HCURSOR mouse_hsave; // idb int last_mouse_x; // idb HWND hwnd_frame; // idb int return_value; // weak HINSTANCE hinst; // idb int num_channels; // weak HKEY options; // idb HKEY phkResult; // idb HKEY dword_1028228; // idb HKEY fullscreen_toggle; // idb HKEY application_priority; // idb HKEY dword_1028234; // idb HKEY dword_1028238; // idb HKEY dword_102823C; // idb HKEY dword_1028240; // idb HKEY dword_1028244; // idb HKEY dword_1028248; // idb HKEY dword_102824C; // idb __int16 dword_1028250; // idb __int16 dword_1028254; // idb __int16 dword_1028258; // idb __int16 dword_102825C; // idb __int16 dword_1028260; // idb __int16 dword_1028264; // idb int high_score_dlg_score; // idb LPCSTR high_score_dlg_hst; // idb int high_score_dlg_enter_name; // weak int high_score_position; // idb LPCSTR high_score_default_name; // idb HGDIOBJ gdrv_palette_handle; // idb HDC gdrv_sequence_hdc; // idb int gdrv_hinst; // weak HWND gdrv_hwnd; // idb int gdrv_sequence_handle; // weak int grtext_blue; // weak int grtext_green; // weak int __onexitend; // weak int __onexitbegin; // weak int _adjust_fdiv; // weak #endif //PINBALL_PINBALL_H