Files

1201 lines
45 KiB
C

//
// Created by neo on 2019-08-15.
//
#include "Classes/classes.h"
#include <SDL.h>
#include <d3d.h>
#ifdef _WIN32
#include <CommCtrl.h>
#include <Vfw.h>
#include <gdiplus.h>
#include <WinUser.h>
#include <Windows.h>
#endif
#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 _GetDC(HWND hWnd);
HDC _BeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint);
CHAR *options_path_init(LPCSTR lpString);
void options_path_uninit();
LPCSTR options_path(LPCSTR lpString2);
void options_path_free();
HKEY options_get_int(DWORD cbData, LPCSTR lpValueName, HKEY phkResult);
void options_get_string(DWORD dwDisposition, LPCSTR lpValueName, LPSTR lpString1, LPCSTR lpString2, int iMaxLength);
void options_set_int(HKEY phkResult, LPCSTR lpValueName, BYTE Data);
void options_set_string(HKEY phkResult, LPCSTR lpValueName, LPCSTR lpString);
CHAR *get_rc_string(int a1, int a2);
int get_rc_int(int a1, int *a2);
int 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 fullscrn_set_menu_mode(int a1);
signed int sub_1003A23();
int sub_1003B66();
LONG fullscrn_set_screen_mode(int a1);
void fullscrn_force_redraw();
signed int fullscrn_displaychange();
BOOL fullscrn_init(int a1, int a2, int a3, HWND a4, int a5, int a6);
LONG fullscrn_shutdown();
BOOL fullscrn_activate(int a1);
int fullscrn_convert_mouse_pos(int a1);
DWORD *fullscrn_getminmaxinfo(DWORD *a1);
HBRUSH sub_1003F10(LONG a1, LONG a2, int a3, int a4);
void fullscrn_paint();
signed int rectangle_clip(int *a1, int *a2, DWORD *a3);
int enclosing_box(DWORD *a1, DWORD *a2, DWORD *a3);
int DibSetUsage(int, HPALETTE hpal, int); // idb
DWORD *DibCreate(int a1, int a2, int a3);
int gdrv_init(int a1, HWND a2);
int gdrv_display_palette(int a1);
int gdrv_uninit();
int gdrv_create_bitmap_dib(int a1, int a2, int a3);
int gdrv_create_bitmap(int a1, int a2, int a3);
signed int gdrv_create_raw_bitmap(int a1, int a2, int a3, int a4);
signed int gdrv_destroy_bitmap(int a1);
UINT gdrv_start_blit_sequence();
int gdrv_blit_sequence(int, int xSrc, int, int xDest, int yDest, int DestWidth, int DestHeight); // idb
int gdrv_end_blit_sequence();
HDC gdrv_blit(int a1, int xSrc, int a3, int xDest, int yDest, int DestWidth, int DestHeight);
int gdrv_blat(int, int xDest, int yDest); // idb
int gdrv_fill_bitmap(int a1, DWORD *a2, unsigned int a3, int a4, int a5, int a6, char a7);
char *gdrv_copy_bitmap(DWORD *a1, int a2, int a3, int a4, int a5, DWORD *a6, int a7, int a8);
_BYTE *gdrv_copy_bitmap_w_transparency(DWORD *a1, int a2, int a3, int a4, int a5, DWORD *a6, int a7, int a8);
int zdrv_pad(int a1);
signed int zdrv_create_zmap(int a1, int a2, int a3);
signed int zdrv_destroy_zmap(DWORD *a1);
int zdrv_fill(int a1, int a2, unsigned int a3, int a4, int a5, int a6, int a7);
WORD *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 int *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 int a12);
int high_score_clear_table(int a1);
signed int high_score_get_score_position(int a1, int a2);
int high_score_place_new_score_into(int, int, LPCSTR lpString, int); // idb
char *scramble_number_string(int Val, char *DstBuf);
signed int high_score_read(int a1, int a2);
int high_score_write(LPCSTR lpString, int); // idb
char *score_string_format(int a1, char *a2);
void hsdlg_show_score(HWND hDlg, LPCSTR lpString, int a3, int a4);
void show_high_scores(HWND hDlg, LPCSTR lpString);
BOOL HighScore(HWND, UINT, WPARAM, LPARAM); // idb
INT_PTR show_high_score_dialog(const CHAR *a1);
INT_PTR show_and_set_high_score_dialog(const CHAR *a1, int a2, int a3, const CHAR *a4);
int memory_init(int a1);
int memoryallocate(unsigned int a1);
void memoryfree(int a1);
int memoryrealloc(int a1, unsigned int a2);
void options_uninit();
HMENU options_menu_set(UINT uIDEnableItem, int a2);
HMENU options_menu_check(UINT uIDCheckItem, int a2);
HMENU options_toggle(UINT uIDCheckItem);
unsigned int get_vk_key_name(int a1, LPSTR lpString);
BOOL KeyMapDlgProc(HWND, UINT, WPARAM, LPARAM); // idb
INT_PTR options_keyboard();
void options_init(HMENU a1);
int partman_field(int a1, int a2, int a3);
int partman_field_size_nth(int a1, int a2, int a3, int a4);
int partman_field_size(int a1, int a2, int a3);
int partman_field_nth(int a1, int a2, int a3, int a4);
int partman_record_labeled(int, LPCSTR lpString); // idb
int partman_field_labeled(int, LPCSTR lpString, int); // idb
void partman_unload_records(WORD *a1);
char lread_char(HFILE hFile);
int lread_long(HFILE hFile); // idb
signed int *partman_load_records(LPCSTR lpFileName);
int FindShiftKeys();
int nullsub_1(int, int, int); // weak
LRESULT SoundCallBackWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
int Sound_Init(HINSTANCE hInstance, int, int); // idb
HLOCAL Sound_Close();
CHAR *Sound_LoadWaveFile(LPCSTR lpName);
LPCVOID Sound_FreeSound(LPCVOID pMem);
LPCVOID Sound_Deactivate();
LPCVOID Sound_Activate();
int Sound_Idle();
signed int Sound_Flush(signed int a1, int a2);
void Sound_PlaySound(int a1, int a2, int a3, unsigned int a4, int a5);
void Sound_Enable(signed int a1, int a2, int a3);
HPALETTE splash_init_palette(LOGPALETTE *plpal);
HBITMAP load_title_bitmap(HMODULE hModule, HDC hdc, LPCSTR lpName, UINT iStart, int a5, int a6);
int splash_bitmap_setup(int a1);
void splash_paint(int a1, HDC hdc);
void splash_hide(int a1);
HINSTANCE splash_destroy(int a1);
LRESULT splash_message_handler(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
int splash_screen(int, LPCSTR lpString2, LPCSTR); // idb
signed int timer_init(int a1);
void timer_uninit();
int timer_set(float, int, int); // idb
signed int timer_check();
int timer_kill(int a1);
int make_path_name(LPSTR lpFilename, LPCSTR lpString2, DWORD nSize); // idb
void help_introduction(int a1, int a2);
BOOL center_in(HWND hWnd, HWND a2);
INT a_dialog(HINSTANCE hInstance, HWND hWnd, int a3);
void winmain_pause(int a1);
void winmain_end_pause(int a1);
HCURSOR winmain_new_game(int a1);
void winmain_memalloc_failure(); // idb
HANDLE adjust_priority(int a1);
LRESULT message_handler(HWND hWnd, UINT Msg, WPARAM wParam, int a4);
signed int message_loop();
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd);
double normalize_2d(float *a1);
double ray_intersect_circle(float *a1, float *a2);
int line_init(int, float, float, float, float); // idb
double ray_intersect_line(float *a1, float *a2);
float *proj_matrix_vector_multiply(float *a1, float *a2, float *a3);
float *cross(float *a1, float *a2, float *a3);
double magnitude(float *a1);
int proj_init(int a1, int a2, int a3, int a4);
int proj_recenter(int a1, int a2);
double proj_z_distance(DWORD); // weak
double proj_xform_to_2d(float *a1, DWORD *a2);
signed int loader_error(int a1, int a2);
DWORD *loader_default_vsi(DWORD *a1);
signed int loader_get_sound_id(int a1);
void loader_unload();
int loader_loadfrom(WORD *a1);
int loader_query_handle(LPCSTR lpString); // idb
signed int loader_query_visual_states(int a1);
signed int loader_material(int a1, DWORD *a2);
signed int loader_kicker(int a1, DWORD *a2);
signed int loader_state_id(int a1, signed int a2);
signed int loader_query_visual(int a1, signed int a2, DWORD *a3);
int loader_query_name(int a1);
int loader_query_float_attribute(int a1, signed int a2, int a3);
int loader_query_iattribute(int a1, int a2, DWORD *a3);
double loader_play_sound(int a1);
void flasher_callback(int, void *); // idb
void flasher_start(flasher_type *, int); // idb
void flasher_stop(flasher_type *, int); // idb
int midi_music_init(HWND a1);
MCIERROR midi_music_shutdown();
MCIERROR midi_music_stop();
MCIERROR midi_play_pb_theme(int a1);
HWND restart_midi_seq(int a1);
void create(void *, unsigned int, int, void *(__thiscall *)(void *)); // idb
void destroy(void *, unsigned int, int, void (__thiscall *)(void *)); // idb
void edges_insert_circle(circle_type *, TEdgeSegment *, field_effect_type *); // idb
void edges_insert_square(float, float, float, float, TEdgeSegment *, field_effect_type *); // idb
TPinballComponent *make_component_link(component_tag *); // idb
void control_make_links(TPinballTable *); // idb
BOOL light_on(component_tag *a1);
void table_control_handler(int); // idb
void table_set_replay(int a1, float a2);
void table_set_multiball(int a1);
void table_set_jackpot(int a1);
void table_set_bonus(int a1);
void table_set_flag_lights(int a1);
void table_set_bonus_hold(int a1);
void table_bump_ball_sink_lock(int a1);
void table_add_extra_ball(int a1, float a2);
int SpecialAddScore(int); // idb
void AdvanceWormHoleDestination(int); // idb
void FlipperRebounderControl1(int, TPinballComponent *); // idb
void FlipperRebounderControl2(int, TPinballComponent *); // idb
void RebounderControl(int, TPinballComponent *); // idb
void BumperControl(int, TPinballComponent *); // idb
void LeftKickerControl(int, TPinballComponent *); // idb
void RightKickerControl(int, TPinballComponent *); // idb
void LeftKickerGateControl(int, TPinballComponent *); // idb
void RightKickerGateControl(int, TPinballComponent *); // idb
void DeploymentChuteToEscapeChuteOneWayControl(int a1, int a2, int a3, TPinballComponent *a4);
void DeploymentChuteToTableOneWayControl(int, TPinballComponent *); // idb
void DrainBallBlockerControl(int, TPinballComponent *); // idb
void LaunchRampControl(int a1, int a2, TPinballComponent *a3);
void LaunchRampHoleControl(int, TPinballComponent *); // idb
void SpaceWarpRolloverControl(int, TPinballComponent *); // idb
void ReentryLanesRolloverControl(int a1, int a2, int a3, int a4, TPinballComponent *a5);
void BumperGroupControl(int, TPinballComponent *); // idb
void LaunchLanesRolloverControl(int a1, int a2, int a3, int a4, TPinballComponent *a5);
void OutLaneRolloverControl(int a1, int a2, int a3, TPinballComponent *a4);
void ExtraBallLightControl(int, TPinballComponent *); // idb
void ReturnLaneRolloverControl(int a1, int a2, TPinballComponent *a3);
void BonusLaneRolloverControl(int a1, int a2, TPinballComponent *a3);
void FuelRollover1Control(int a1, int a2, TPinballComponent *a3);
void FuelRollover2Control(int a1, int a2, TPinballComponent *a3);
void FuelRollover3Control(int a1, int a2, TPinballComponent *a3);
void FuelRollover4Control(int a1, int a2, TPinballComponent *a3);
void FuelRollover5Control(int a1, int a2, TPinballComponent *a3);
void FuelRollover6Control(int a1, int a2, TPinballComponent *a3);
void HyperspaceLightGroupControl(int, TPinballComponent *); // idb
void WormHoleControl(int a1, int a2, int a3, int a4, TPinballComponent *a5);
void LeftFlipperControl(int, TPinballComponent *); // idb
void RightFlipperControl(int, TPinballComponent *); // idb
void JackpotLightControl(int, TPinballComponent *); // idb
void BonusLightControl(int, TPinballComponent *); // idb
void BoosterTargetControl(int, TPinballComponent *); // idb
void MedalLightGroupControl(int, TPinballComponent *); // idb
void MultiplierLightGroupControl(int a1, int a2, TPinballComponent *a3);
void FuelSpotTargetControl(int a1, int a2, TPinballComponent *a3);
void MissionSpotTargetControl(int a1, int a2, TPinballComponent *a3);
void LeftHazardSpotTargetControl(int, TPinballComponent *); // idb
void RightHazardSpotTargetControl(int, TPinballComponent *); // idb
void WormHoleDestinationControl(int a1, int a2, TPinballComponent *a3);
void BlackHoleKickoutControl(int a1, int a2, TPinballComponent *a3);
void FlagControl(int, TPinballComponent *); // idb
void GravityWellKickoutControl(int a1, int a2, TPinballComponent *a3);
void SkillShotGate1Control(int, TPinballComponent *); // idb
void SkillShotGate2Control(int, TPinballComponent *); // idb
void SkillShotGate3Control(int, TPinballComponent *); // idb
void SkillShotGate4Control(int, TPinballComponent *); // idb
void SkillShotGate5Control(int, TPinballComponent *); // idb
void SkillShotGate6Control(int, TPinballComponent *); // idb
void ShootAgainLightControl(int, TPinballComponent *); // idb
void EscapeChuteSinkControl(int, TPinballComponent *); // idb
int cheat_bump_rank(int a1);
void pbctrl_bdoor_controller(int a1, int a2);
int AddRankProgress(int); // idb
void WaitingDeploymentController(int a1, int a2, TPinballComponent *a3);
void SelectMissionController(int, TPinballComponent *); // idb
void PracticeMissionController(int a1, int a2, TPinballComponent *a3);
void LaunchTrainingController(int a1, int a2, TPinballComponent *a3);
void ReentryTrainingController(int a1, int a2, TPinballComponent *a3);
void ScienceMissionController(int a1, int a2, TPinballComponent *a3);
void StrayCometController(int a1, int a2, TPinballComponent *a3);
void SpaceRadiationController(int a1, int a2, TPinballComponent *a3);
void BlackHoleThreatController(int a1, int a2, TPinballComponent *a3);
void BugHuntController(int a1, int a2, TPinballComponent *a3);
void RescueMissionController(int a1, int a2, TPinballComponent *a3);
void AlienMenaceController(int a1, int a2, TPinballComponent *a3);
void AlienMenacePartTwoController(int a1, int a2, TPinballComponent *a3);
void SatelliteController(int a1, int a2, TPinballComponent *a3);
void ReconnaissanceController(int a1, int a2, TPinballComponent *a3);
void DoomsdayMachineController(int a1, int a2, TPinballComponent *a3);
void CosmicPlagueController(int a1, int a2, TPinballComponent *a3);
void CosmicPlaguePartTwoController(int a1, int a2, TPinballComponent *a3);
void SecretMissionYellowController(int a1, int a2, TPinballComponent *a3);
void SecretMissionRedController(int a1, int a2, TPinballComponent *a3);
void SecretMissionGreenController(int a1, int a2, TPinballComponent *a3);
void TimeWarpController(int a1, int a2, TPinballComponent *a3);
void TimeWarpPartTwoController(int a1, int a2, TPinballComponent *a3);
void MaelstromController(int a1, int a2, TPinballComponent *a3);
void MaelstromPartTwoController(int a1, int a2, TPinballComponent *a3);
void MaelstromPartThreeController(int a1, int a2, TPinballComponent *a3);
void MaelstromPartFourController(int a1, int a2, TPinballComponent *a3);
void MaelstromPartFiveController(int a1, int a2, TPinballComponent *a3);
void MaelstromPartSixController(int a1, int a2, TPinballComponent *a3);
void MaelstromPartSevenController(int a1, int a2, TPinballComponent *a3);
void MaelstromPartEightController(int a1, int a2, TPinballComponent *a3);
void GameoverController(int, TPinballComponent *); // idb
void UnselectMissionController(int, TPinballComponent *); // idb
void MissionControl(int, TPinballComponent *); // idb
void control_handler(int, TPinballComponent *); // idb
void HyperspaceKickOutControl(int, TPinballComponent *); // idb
void PlungerControl(int a1, int a2, TPinballComponent *a3);
void MedalTargetControl(int a1, int a2, int a3, int a4, TPinballComponent *a5);
void MultiplierTargetControl(int a1, int a2, int a3, int a4, TPinballComponent *a5);
void BallDrainControl(int, TPinballComponent *); // idb
int objlist_add_object(DWORD *a1, int a2);
signed int objlist_delete_object(int a1, int a2);
DWORD *objlist_new(int a1);
int *objlist_grow(int *a1, int a2);
void build_occlude_list();
void render_repaint(render_sprite_type_struct *); // idb
void render_paint_balls(); // idb
void render_unpaint_balls(); // idb
int render_remove_sprite(render_sprite_type_struct *); // idb
int render_remove_ball(render_sprite_type_struct *); // idb
BOOL overlapping_box(rectangle_type *a1, rectangle_type *a2, rectangle_type *a3);
void render_update();
void render_uninit();
char *render_init(DWORD *a1, float a2, float a3, int a4, int a5);
int render_sprite_modified(int a1);
int render_create_sprite(int a1, int a2, int a3, int a4, int a5, DWORD *a6);
int render_set_background_zmap(zmap_header_type *a1, int a2, int a3);
int render_sprite_set(DWORD *a1, int a2, int a3, int a4, int a5);
void render_sprite_set_bitmap(DWORD *a1, int a2);
void render_ball_set(int a1, int a2, float a3, int a4, int a5);
void render_paint();
void render_shift(int a1, int a2, int xSrc, int a4, int DestWidth, int DestHeight);
DWORD *score_create(LPCSTR lpString, int a2);
void *score_dup(const void *a1, int a2);
void objlist_destroy(int a1);
DWORD *score_set(DWORD *a1, int a2);
void *score_erase(int a1, DWORD *a2, int a3);
HDC score_update(int a1, int *a2);
signed int score_init();
void score_unload_msg_font();
HRSRC score_load_msg_font(LPCSTR lpName);
DWORD pb_paint(); // idb
signed int pb_mode_change(int a1);
signed int pb_mode_countdown(int a1);
int pb_end_game();
signed int pb_chk_highscore();
long double pb_collide(TEdgeSegment *a1, float a2, TBall *a3);
void pb_timed_frame(float, float, int); // idb
signed int pb_frame(int a1, int a2);
void pb_firsttime_setup();
TPinballTable *pb_tilt_no_more(int a1);
void pb_ballset(signed int a1, signed int a2);
void nudge(float, float); // idb
void un_nudge_left(int, void *); // idb
void un_nudge_right(int, void *); // idb
void nudge_left(); // idb
void nudge_right(); // idb
void un_nudge_up(int, void *); // idb
void nudge_up(); // idb
void pb_keydown(HKEY a1);
void pb_keyup(HKEY a1);
int pb_replay_level(int a1);
INT_PTR pb_high_scores();
DWORD *pb_window_size(DWORD *a1, DWORD *a2);
int pb_init();
int pb_uninit();
int pb_loose_focus();
void pb_pause_continue(int a1);
int pb_launch_ball();
int pb_reset_table();
void pb_toggle_demo(int a1);
DWORD gdrv_get_focus(); // idb
void throw_ball(TBall *, vector_type *, float, float, float); // idb
void find_closest_edge(ramp_plane_type *, int, wall_point_type *, vector_type **, vector_type **); // idb
double basic_collision(TBall *a1, vector_type *a2, vector_type *a3, float a4, float a5, float a6, float a7);
TEdgeSegment *install_wall(float *, TCollisionComponent *, char *, unsigned int, float, void *); // idb
void vswap(vector_type *, vector_type *); // idb
double distance_to_flipper(ray_type *a1, ray_type *a2);
void vector_add(vector_type *, vector_type *); // idb
void RotatePt(vector_type *, float, float, vector_type *); // idb
long double Distance(vector_type *a1, vector_type *a2);
double Distance_Squared(float a1, float a2, int a3, float a4, float a5, int a6);
double DotProduct(const vector_type *a1, const vector_type *a2);
void SinCos(float, float *, float *); // idb
void RotateVector(vector_type *, float); // idb
int sub_101CEB6(LPBYTE lpData); // idb
HWND HtmlHelpA(HWND hwndCaller, LPCSTR pszFile, UINT uCommand, DWORD_PTR dwData);
WORD *SessionToGlobalDataPtr(WORD *a1);
BOOL IsValidLPMIXWAVE(int a1);
bool HasCurrentOutputFormat(const void *a1);
int DefaultPauseBlocks(int a1);
unsigned int DefaultGoodWavePos(UINT_PTR uDeviceID);
DWORD MyWaveOutGetPosition(HWAVEOUT hwo, int a2);
int AddFactor(int a1, int a2);
int SubFactor(int a1, int a2);
unsigned int SetWaveOutPosition(unsigned int a1);
unsigned int MyWaveOutReset(HWAVEOUT hwo);
int cmixit(_BYTE *a1, char *a2, char *a3, int a4, unsigned int a5);
DWORD *InitChannelNodes();
int GetChannelNode();
DWORD *FreeChannelNode(DWORD *a1);
wavehdr_tag *FreeWaveBlocks(HWAVEOUT hwo, int a2);
int AllocWaveBlocks(HWAVEOUT hwo, int); // idb
DWORD *SwapWaveBlocks();
DWORD *GetWaveBlock();
wavehdr_tag *RemoveFromPlayingQueue(wavehdr_tag *a1);
LPWAVEHDR DestroyPlayQueue();
int ReleaseWaveDevice(int a1);
signed int GetWaveDevice();
signed int WaveMixOpenChannel(WORD *a1, signed int a2, unsigned int a3);
LPWAVEHDR AddToPlayingQueue(wavehdr_tag *a1);
int MixerPlay(LPWAVEHDR pwh, int); // idb
DWORD FreePlayedBlocks();
int WaveMixPump();
LRESULT WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
signed int NoResetRemix(int a1, int a2);
signed int ResetRemix(int a1, int a2);
void ResetWavePosIfNoChannelData();
signed int WaveMixPlay(int a1);
signed int WaveMixFlushChannel(WORD *a1, signed int a2, char a3);
signed int WaveMixCloseChannel(WORD *a1, signed int a2, char a3);
int WaveMixFreeWave(int, LPCVOID pMem); // idb
// WORD *BitsPerSampleAlign(int a1, LPCVOID pMem, int a3, int a4, int a5);
_BYTE *ChannelAlign(LPCVOID pMem, int a2, int a3, int a4, int a5);
void AvgSample(WORD *a1, unsigned __int8 *a2, int a3, int a4, int a5);
int RepSample(_BYTE *a1, unsigned __int8 *a2, signed int a3, int a4, int a5);
LPCVOID SamplesPerSecAlign(LPCVOID pMem, int a2, int a3, int a4, int a5, int a6);
LPCVOID WaveFormatConvert(int a1, int a2, LPCVOID pMem, int a4);
CHAR *WaveMixOpenWave(LPCVOID pMem, LPCSTR lpName, HMODULE hModule, LONG cch);
unsigned int FigureOutDMABufferSize(unsigned int a1, int a2);
int RemoveInvalidIniNameCharacters(LPCSTR lpString); // idb
UINT ShowWaveOutDevices();
const char *GetOperatingSystemPrefix();
int ReadRegistryToGetMachineSpecificInfSection(int, LPSTR lpString1, int); // idb
int ReadRegistryInt(HKEY hKey, LPCSTR lpSubKey, int); // idb
signed int ReadRegistryForAppSpecificConfigs(int a1);
int ShowCurrentSettings();
int Settings_OnInitDialog(HWND hWnd, int, int); // idb
int Settings_OnCommand(HWND hWnd, int, int, int); // idb
BOOL SettingsDlgProc(HWND, UINT, WPARAM, LPARAM); // idb
DWORD *MakeDlgTemplate(int a1, int a2, int a3, int a4, int a5, int a6, wchar_t *Str);
WORD *AddDlgControl(int a1, LPCVOID pMem, int a3, int a4, int a5, int a6, int a7, int a8, int a9, wchar_t *Str);
WORD *MakeSettingsDlgTemplate();
void DestroySettingsDlgTemplate(LPCVOID pMem);
signed int WaveMixGetConfig(WORD *a1, int a2);
BOOL SaveConfigSettings(int a1);
DWORD SetIniFileName(HMODULE hModule);
int InitVolumeTable();
int WaveMixStartup(HMODULE hModule); // idb
signed int WaveMixActivate(WORD *a1, int a2);
MMRESULT WaveMixConfigure(int a1, HWND hWndParent, int a3, int a4, int a5);
signed int ReadConfigSettings(int a1);
int WaveMixConfigureInit(WORD *a1);
int WaveMixInit();
HLOCAL WaveMixCloseSession(HLOCAL hMem);
int WinMainCRTStartup();
void component_delete(void *); idb
void *component_create(unsigned int); idb
int _initterm(DWORD, DWORD); weak
unsigned int _setdefaultprecision();
int 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
int vk_list = 32833; // weak
_UNKNOWN unk_1023540; // weak
int 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
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
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 **some_parts[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
TPinballComponent *dword_1023B0C = NULL; // idb
int dword_1023B20 = 0; // weak
int dword_1023B28 = 0; // weak
int dword_1023B30 = 0; // weak
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 *tTextBox = 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
int word_10246EC[] = { 84 }; // weak
int word_1024708[] = { 91 }; // weak
int render_blit = 1; // weak
int dword_1024758[5] = { 1, 2, 3, 5, 10 }; // idb
CHAR aWavemixV23ByAn[] = "WaveMix V 2.3 by Angel M. Diaz, Jr. (c) Microsoft 1993-1995"; // idb
LPCSTR lpString2 = NULL; // idb
LPSTR lpString1 = NULL; // idb
CHAR rc_strings[1536] = { '\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
int 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 (*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
int word_102505A; // weak
render_sprite_type_struct **render_dirty_list; // weak
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
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
zmap_header_type *render_background_zmap; // weak
_UNKNOWN render_zmap_offset; // weak
int dword_10253C0; // weak
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
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 (*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
int word_1025810[]; // weak
int 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
int dword_1028250; // idb
int dword_1028254; // idb
int dword_1028258; // idb
int dword_102825C; // idb
int dword_1028260; // idb
int 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