Files
3d-pinball-space-cadet/pinball.h
T

1552 lines
58 KiB
C

//
// Created by neo on 2019-08-15.
//
#include "Classes/classes.h"
#include <CommCtrl.h>
#include <combaseapi.h>
#include <Vfw.h>
#include <wingdi.h>
#include <wtypes.h>
#include <WinUser.h>
#include <Windows.h>
#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@<eax>(LONG a1@<ebx>, LONG a2@<edi>, 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@<eax>(int a1@<ebx>, _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@<eax>(int a1@<ebx>, 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@<ebx>);
// void __usercall winmain_end_pause(int a1@<ebx>);
// HCURSOR __usercall winmain_new_game@<eax>(int a1@<ebx>);
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@<ebx>, float a2);
// void __usercall table_set_multiball(int a1@<ebx>);
// void __usercall table_set_jackpot(int a1@<ebx>);
// void __usercall table_set_bonus(int a1@<ebx>);
// void __usercall table_set_flag_lights(int a1@<ebx>);
// void __usercall table_set_bonus_hold(int a1@<ebx>);
// void __usercall table_bump_ball_sink_lock(int a1@<ebx>);
// void __userpurge table_add_extra_ball(int a1@<ebx>, 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@<ebx>, int a2@<esi>, int a3, struct TPinballComponent *a4);
void __stdcall DeploymentChuteToTableOneWayControl(int, struct TPinballComponent *); // idb
void __stdcall DrainBallBlockerControl(int, struct TPinballComponent *); // idb
// void __userpurge LaunchRampControl(int a1@<ebx>, int a2, struct TPinballComponent *a3);
void __stdcall LaunchRampHoleControl(int, struct TPinballComponent *); // idb
void __stdcall SpaceWarpRolloverControl(int, struct TPinballComponent *); // idb
// void __userpurge ReentryLanesRolloverControl(int a1@<ebx>, int a2@<edi>, int a3@<esi>, int a4, struct TPinballComponent *a5);
void __stdcall BumperGroupControl(int, struct TPinballComponent *); // idb
// void __userpurge LaunchLanesRolloverControl(int a1@<ebx>, int a2@<edi>, int a3@<esi>, int a4, struct TPinballComponent *a5);
// void __userpurge OutLaneRolloverControl(int a1@<ebx>, int a2@<esi>, int a3, struct TPinballComponent *a4);
void __stdcall ExtraBallLightControl(int, struct TPinballComponent *); // idb
// void __userpurge ReturnLaneRolloverControl(int a1@<esi>, int a2, struct TPinballComponent *a3);
// void __userpurge BonusLaneRolloverControl(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge FuelRollover1Control(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge FuelRollover2Control(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge FuelRollover3Control(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge FuelRollover4Control(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge FuelRollover5Control(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge FuelRollover6Control(int a1@<ebx>, int a2, struct TPinballComponent *a3);
void __stdcall HyperspaceLightGroupControl(int, struct TPinballComponent *); // idb
// void __userpurge WormHoleControl(int a1@<ebx>, int a2@<edi>, int a3@<esi>, 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@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge FuelSpotTargetControl(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MissionSpotTargetControl(int a1@<esi>, int a2, struct TPinballComponent *a3);
void __stdcall LeftHazardSpotTargetControl(int, struct TPinballComponent *); // idb
void __stdcall RightHazardSpotTargetControl(int, struct TPinballComponent *); // idb
// void __userpurge WormHoleDestinationControl(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge BlackHoleKickoutControl(int a1@<ebx>, int a2, struct TPinballComponent *a3);
void __stdcall FlagControl(int, struct TPinballComponent *); // idb
// void __userpurge GravityWellKickoutControl(int a1@<ebx>, 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@<eax>(int a1@<ebx>);
// void __userpurge pbctrl_bdoor_controller(int a1@<ebx>, int a2);
int __stdcall AddRankProgress(int); // idb
// void __userpurge WaitingDeploymentController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
void __stdcall SelectMissionController(int, struct TPinballComponent *); // idb
// void __userpurge PracticeMissionController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge LaunchTrainingController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge ReentryTrainingController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge ScienceMissionController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge StrayCometController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge SpaceRadiationController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge BlackHoleThreatController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge BugHuntController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge RescueMissionController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge AlienMenaceController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge AlienMenacePartTwoController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge SatelliteController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge ReconnaissanceController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge DoomsdayMachineController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge CosmicPlagueController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge CosmicPlaguePartTwoController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge SecretMissionYellowController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge SecretMissionRedController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge SecretMissionGreenController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge TimeWarpController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge TimeWarpPartTwoController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromPartTwoController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromPartThreeController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromPartFourController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromPartFiveController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromPartSixController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromPartSevenController(int a1@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MaelstromPartEightController(int a1@<ebx>, 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@<ebx>, int a2, struct TPinballComponent *a3);
// void __userpurge MedalTargetControl(int a1@<ebx>, int a2@<edi>, int a3@<esi>, int a4, struct TPinballComponent *a5);
// void __userpurge MultiplierTargetControl(int a1@<ebx>, int a2@<edi>, int a3@<esi>, 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@<eax>(int a1@<ebx>, _DWORD *a2, int a3);
// HDC __userpurge score_update@<eax>(int a1@<ebx>, 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@<eax>(int a1@<ebx>, int a2);
void __stdcall pb_firsttime_setup();
// struct TPinballTable *__usercall pb_tilt_no_more@<eax>(int a1@<ebx>);
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@<ebx>);
int __stdcall pb_launch_ball();
int __stdcall pb_reset_table();
// void __usercall pb_toggle_demo(int a1@<ebx>);
_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@<eax>(int a1@<eax>, int a2@<edx>, int a3@<ecx>, int a4@<ebx>, int a5@<edi>, int a6@<esi>);
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@<eax>(int a1@<eax>, 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