1201 lines
45 KiB
C
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
|
|
|