mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2024-11-23 01:10:19 +01:00
Table, Component v2. Strings RC.
This commit is contained in:
parent
5e94b5b513
commit
4157e79c83
9 changed files with 567 additions and 19 deletions
|
@ -8,13 +8,17 @@
|
||||||
#include "partman.h"
|
#include "partman.h"
|
||||||
#include "DatParser.h"
|
#include "DatParser.h"
|
||||||
#include "loader.h"
|
#include "loader.h"
|
||||||
|
#include "pinball.h"
|
||||||
#include "score.h"
|
#include "score.h"
|
||||||
#include "TPinballTable.h"
|
#include "TPinballTable.h"
|
||||||
|
#include "TTextBox.h"
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
std::cout << "Hello World!\n";
|
std::cout << "Hello World!\n";
|
||||||
|
|
||||||
|
pinball::hinst = GetModuleHandle(nullptr);
|
||||||
|
|
||||||
objlist_class d = objlist_class(2, 4);
|
objlist_class d = objlist_class(2, 4);
|
||||||
for (int i = 0; i < 100; i++)
|
for (int i = 0; i < 100; i++)
|
||||||
{
|
{
|
||||||
|
@ -53,7 +57,14 @@ int main()
|
||||||
auto score1 = score::create("score1", 117);
|
auto score1 = score::create("score1", 117);
|
||||||
|
|
||||||
auto pinballTable = new TPinballTable();
|
auto pinballTable = new TPinballTable();
|
||||||
|
//pinballTable->find_component(1);
|
||||||
|
|
||||||
|
for (int i = 0; i < 190; i++)
|
||||||
|
{
|
||||||
|
auto rsc = pinball::get_rc_string(i, 0);
|
||||||
|
if (rsc)
|
||||||
|
printf_s("%d:\t%s\n", i, rsc);
|
||||||
|
}
|
||||||
//DatParser::Parse(dataFileName);
|
//DatParser::Parse(dataFileName);
|
||||||
std::cout << "Goodby World!\n";
|
std::cout << "Goodby World!\n";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
// Microsoft Visual C++ generated resource script.
|
// Microsoft Visual C++ generated resource script.
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
#define APSTUDIO_READONLY_SYMBOLS
|
||||||
|
@ -14,10 +13,11 @@
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
#undef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// English (United States) resources
|
// Russian (Russia) resources
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
|
||||||
LANGUAGE 25, 1
|
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||||
|
#pragma code_page(1251)
|
||||||
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -44,6 +44,215 @@ END
|
||||||
|
|
||||||
#endif // APSTUDIO_INVOKED
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
#endif // Russian (Russia) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// English (United States) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
#pragma code_page(1252)
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// String Table
|
||||||
|
//
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_STRING101 "Replay Awarded"
|
||||||
|
IDS_STRING102 "Ball Locked"
|
||||||
|
IDS_STRING103 "Center Post\n%ld"
|
||||||
|
IDS_STRING104 "Bonus Awarded\n%ld"
|
||||||
|
IDS_STRING105 "Bonus Activated"
|
||||||
|
IDS_STRING106 "Weapons Upgraded"
|
||||||
|
IDS_STRING107 "Engine Upgraded"
|
||||||
|
IDS_STRING108 "Bonus up 1 Million"
|
||||||
|
IDS_STRING109 "Extra Ball Available\n%ld"
|
||||||
|
IDS_STRING110 "Extra Ball"
|
||||||
|
IDS_STRING111 "Reflex Shot Award\n%ld"
|
||||||
|
IDS_STRING112 "Final Battle Won"
|
||||||
|
IDS_STRING113 "Hyperspace Bonus\n%ld"
|
||||||
|
IDS_STRING114 "Hyperspace Bonus Available"
|
||||||
|
IDS_STRING115 "Jackpot Awarded\n%ld"
|
||||||
|
IDS_STRING116 "Jackpot Activated"
|
||||||
|
IDS_STRING117 "Multiball"
|
||||||
|
IDS_STRING118 "Ramp Bonus Awarded"
|
||||||
|
IDS_STRING119 "Light Added"
|
||||||
|
IDS_STRING120 "Ramp Bonus On"
|
||||||
|
IDS_STRING121 "Light Reset Off"
|
||||||
|
IDS_STRING122 "Skill Shot\n%ld"
|
||||||
|
IDS_STRING123 "Game Paused\nF3 to Resume"
|
||||||
|
IDS_STRING124 "Continue Play"
|
||||||
|
IDS_STRING125 "F2 Starts New Game"
|
||||||
|
IDS_STRING126 "Careful..."
|
||||||
|
IDS_STRING127 "Player 1"
|
||||||
|
IDS_STRING128 "Player 2"
|
||||||
|
IDS_STRING129 "Player 3"
|
||||||
|
IDS_STRING130 "Player 4"
|
||||||
|
IDS_STRING131 "Demo\nPlayer 1"
|
||||||
|
IDS_STRING132 "Demo\nPlayer 2"
|
||||||
|
IDS_STRING133 "Demo\nPlayer 3"
|
||||||
|
IDS_STRING134 "Demo\nPlayer 4"
|
||||||
|
IDS_STRING135 "Game Over"
|
||||||
|
IDS_STRING136 "TILT!"
|
||||||
|
IDS_STRING137 "This program requires an 80386 or later CPU."
|
||||||
|
IDS_STRING138 "80386 Required"
|
||||||
|
IDS_STRING139 "3D Pinball for Windows - Space Cadet"
|
||||||
|
IDS_STRING140 "One or more of the player controls is set to the same key,\nfor best performance use unique keys for each control."
|
||||||
|
IDS_STRING141 "Clear High Scores?"
|
||||||
|
IDS_STRING142 "Confirm"
|
||||||
|
IDS_STRING143 "WAVEMIX.INF is missing - it must be in the pinball directory!"
|
||||||
|
IDS_STRING144 "Warning:"
|
||||||
|
IDS_STRING145 "Ship Re-Fueled"
|
||||||
|
IDS_STRING146 "Gravity Well"
|
||||||
|
IDS_STRING147 "Time Warp Forward"
|
||||||
|
IDS_STRING148 "Time Warp Backward"
|
||||||
|
IDS_STRING149 "Maelstrom!"
|
||||||
|
IDS_STRING150 "Wormhole"
|
||||||
|
IDS_STRING151 "Awaiting Deployment"
|
||||||
|
IDS_STRING152 "Flags Upgraded"
|
||||||
|
IDS_STRING153 "Bonus Hold"
|
||||||
|
IDS_STRING154 "Level One Commendation"
|
||||||
|
IDS_STRING155 "Level Two Commendation"
|
||||||
|
IDS_STRING156 "Level Three Commendation"
|
||||||
|
IDS_STRING157 "Field Multiplier 2x"
|
||||||
|
IDS_STRING158 "Field Multiplier 3x"
|
||||||
|
IDS_STRING159 "Field Multiplier 5x"
|
||||||
|
IDS_STRING160 "Field Multiplier 10x"
|
||||||
|
IDS_STRING161 "Target Practice"
|
||||||
|
IDS_STRING162 "Launch Training"
|
||||||
|
IDS_STRING163 "Re-Entry Training"
|
||||||
|
IDS_STRING164 "Science"
|
||||||
|
IDS_STRING165 "Stray Comet"
|
||||||
|
IDS_STRING166 "Black Hole"
|
||||||
|
IDS_STRING167 "Space Radiation"
|
||||||
|
IDS_STRING168 "Bug Hunt"
|
||||||
|
IDS_STRING169 "Alien Menace"
|
||||||
|
IDS_STRING170 "Rescue"
|
||||||
|
IDS_STRING171 "Satellite Retrieval"
|
||||||
|
IDS_STRING172 "Recon"
|
||||||
|
IDS_STRING173 "Doomsday Machine"
|
||||||
|
IDS_STRING174 "Cosmic Plague"
|
||||||
|
IDS_STRING175 "Secret"
|
||||||
|
IDS_STRING176 "Time Warp"
|
||||||
|
IDS_STRING177 "Maelstrom"
|
||||||
|
IDS_STRING178 "Mission Accepted\n%ld"
|
||||||
|
IDS_STRING179 "Mission Completed\n%ld"
|
||||||
|
IDS_STRING180 "%s Mission Selected"
|
||||||
|
IDS_STRING181 "Black Hole\n%ld"
|
||||||
|
IDS_STRING182 "Gravity Normalized\n%ld"
|
||||||
|
IDS_STRING183 "Gravity Well\n%ld"
|
||||||
|
IDS_STRING184 "Promotion to %s"
|
||||||
|
IDS_STRING185 "Cadet"
|
||||||
|
IDS_STRING186 "Ensign"
|
||||||
|
IDS_STRING187 "Lieutenant"
|
||||||
|
IDS_STRING188 "Captain"
|
||||||
|
IDS_STRING189 "Lt Commander"
|
||||||
|
IDS_STRING190 "Commander"
|
||||||
|
IDS_STRING191 "Commodore"
|
||||||
|
IDS_STRING192 "Admiral"
|
||||||
|
IDS_STRING193 "Fleet Admiral"
|
||||||
|
IDS_STRING194 "Wormhole Opened"
|
||||||
|
IDS_STRING195 "Crash Bonus\n%ld"
|
||||||
|
IDS_STRING196 "Replay Ball"
|
||||||
|
IDS_STRING197 "Re-Deploy"
|
||||||
|
IDS_STRING198 "Player 1 Shoot Again"
|
||||||
|
IDS_STRING199 "Player 2 Shoot Again"
|
||||||
|
IDS_STRING200 "Player 3 Shoot Again"
|
||||||
|
IDS_STRING201 "Player 4 Shoot Again"
|
||||||
|
IDS_STRING202 "This 3D Pinball Table was created for Microsoft by Maxis.\nFor more information call (800)-336-2947\n(US and Canadian customers only).\nCopyright (c) 1995 Maxis."
|
||||||
|
IDS_STRING203 "3D Pinball Table created for Microsoft by Maxis. Copyright (c) 1995 Maxis."
|
||||||
|
IDS_STRING204 "About 3D Pinball"
|
||||||
|
IDS_STRING205 "Hit Mission Targets To Select Mission"
|
||||||
|
IDS_STRING206 "Re-Fuel Ship"
|
||||||
|
IDS_STRING207 "Launch Ramp To Accept %s Mission"
|
||||||
|
IDS_STRING208 "Attack Bumpers Hits\nLeft: %d"
|
||||||
|
IDS_STRING209 "Target Training Passed"
|
||||||
|
IDS_STRING210 "Mission Aborted"
|
||||||
|
IDS_STRING211 "Launches Left: %d"
|
||||||
|
IDS_STRING212 "Launch Training Passed"
|
||||||
|
IDS_STRING213 "Re-Entries Left: %d"
|
||||||
|
IDS_STRING214 "Re-Entry Training Passed"
|
||||||
|
IDS_STRING215 "Drop Targets\nLeft: %d"
|
||||||
|
IDS_STRING216 "Science Mission Completed"
|
||||||
|
IDS_STRING217 "Warning -- Low Fuel"
|
||||||
|
IDS_STRING218 "Fill Right Hazard Banks"
|
||||||
|
IDS_STRING219 "Hyperspace Launch"
|
||||||
|
IDS_STRING220 "Comet Destroyed"
|
||||||
|
IDS_STRING221 "Enter Wormhole"
|
||||||
|
IDS_STRING222 "Radiation Eliminated"
|
||||||
|
IDS_STRING223 "Upgrade Launch Bumpers"
|
||||||
|
IDS_STRING224 "Enter Black Hole"
|
||||||
|
IDS_STRING225 "Black Hole Eliminated"
|
||||||
|
IDS_STRING226 "Targets\nLeft: %d"
|
||||||
|
IDS_STRING227 "Xenomorphs Destroyed"
|
||||||
|
IDS_STRING228 "Upgrade Flags"
|
||||||
|
IDS_STRING229 "Hyperspace Launch"
|
||||||
|
IDS_STRING230 "Survivors Rescued"
|
||||||
|
IDS_STRING231 "Aliens Repelled"
|
||||||
|
IDS_STRING232 "Hit Fuel Targets"
|
||||||
|
IDS_STRING233 "Remote Attack Bumper Hits\nLeft: %d"
|
||||||
|
IDS_STRING234 "Satellite Repaired"
|
||||||
|
IDS_STRING235 "Lane Passes\nLeft: %d"
|
||||||
|
IDS_STRING236 "Shoot Ball Up Fuel Chute"
|
||||||
|
IDS_STRING237 "Survey Complete"
|
||||||
|
IDS_STRING238 "Out Lane Passes\nLeft: %d"
|
||||||
|
IDS_STRING239 "Doomsday Machine Destroyed"
|
||||||
|
IDS_STRING240 "Roll Flags: %d"
|
||||||
|
IDS_STRING241 "Hit Space Warp Rollover"
|
||||||
|
IDS_STRING242 "Plague Eliminated"
|
||||||
|
IDS_STRING243 "Hit Yellow Wormhole"
|
||||||
|
IDS_STRING244 "Hit Red Wormhole"
|
||||||
|
IDS_STRING245 "Hit Green Wormhole"
|
||||||
|
IDS_STRING246 "Plans Recovered"
|
||||||
|
IDS_STRING247 "Rebound Hits\nLeft: %d"
|
||||||
|
IDS_STRING248 "Hit Hyperspace Chute or Launch Ramp"
|
||||||
|
IDS_STRING249 "Drop Target Hits\nLeft: %d"
|
||||||
|
IDS_STRING250 "Spot Target Hits\nLeft: %d"
|
||||||
|
IDS_STRING251 "Lanes Passes\nLeft: %d"
|
||||||
|
IDS_STRING252 "Shoot Ball Up Fuel Chute"
|
||||||
|
IDS_STRING253 "Hit Launch Ramp"
|
||||||
|
IDS_STRING254 "Hit Flags"
|
||||||
|
IDS_STRING255 "Hit Worm Hole"
|
||||||
|
IDS_STRING256 "Hyperspace Chute to end Maelstrom"
|
||||||
|
IDS_STRING257 "pinball.mid"
|
||||||
|
IDS_STRING258 "1 UseBitmapFont"
|
||||||
|
IDS_STRING259 "90 Left Flipper Key"
|
||||||
|
IDS_STRING260 "191 Right Flipper Key"
|
||||||
|
IDS_STRING261 "32 Plunger Key"
|
||||||
|
IDS_STRING262 "88 Bump Left Key"
|
||||||
|
IDS_STRING263 "190 Bump Right Key"
|
||||||
|
IDS_STRING264 "38 Bump Bottom Key"
|
||||||
|
IDS_STRING265 "Software\\Microsoft\\Plus!\\Pinball"
|
||||||
|
IDS_STRING266 "SpaceCadet"
|
||||||
|
IDS_STRING267 "1c7c22a0-9576-11ce-bf80-444553540000"
|
||||||
|
IDS_STRING268 "PINBALL.DAT"
|
||||||
|
IDS_STRING269 "Space Cadet"
|
||||||
|
IDS_STRING270 "Error:"
|
||||||
|
IDS_STRING271 "Unable to find other tables."
|
||||||
|
IDS_STRING272 "3D Pinball\nSpace Cadet"
|
||||||
|
IDS_STRING273 "Promotion to %s"
|
||||||
|
IDS_STRING274 "Demotion to %s"
|
||||||
|
IDS_STRING275 "Upgrade Attack Bumpers"
|
||||||
|
IDS_STRING276 "Fill Left Hazard Banks"
|
||||||
|
IDS_STRING277 "HIGH SCORE"
|
||||||
|
IDS_STRING278 "pinball.chm"
|
||||||
|
IDS_STRING279 "Not enough memory to run 3D Pinball."
|
||||||
|
IDS_STRING280 "Player 1's Score\n%ld"
|
||||||
|
IDS_STRING281 "Player 2's Score\n%ld"
|
||||||
|
IDS_STRING282 "Player 3's Score\n%ld"
|
||||||
|
IDS_STRING283 "Player 4's Score\n%ld"
|
||||||
|
IDS_STRING284 "High Score 1\n%ld"
|
||||||
|
IDS_STRING285 "High Score 2\n%ld"
|
||||||
|
IDS_STRING286 "High Score 3\n%ld"
|
||||||
|
IDS_STRING287 "High Score 4\n%ld"
|
||||||
|
IDS_STRING288 "High Score 5\n%ld"
|
||||||
|
IDS_STRING289 "255 255 255 (R G B default font color)"
|
||||||
|
END
|
||||||
|
|
||||||
#endif // English (United States) resources
|
#endif // English (United States) resources
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -58,3 +267,4 @@ END
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
#endif // not APSTUDIO_INVOKED
|
#endif // not APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ TPinballComponent::TPinballComponent(TPinballTable* table, int groupIndex, bool
|
||||||
{
|
{
|
||||||
visualStruct visual{}; // [esp+Ch] [ebp-6Ch]
|
visualStruct visual{}; // [esp+Ch] [ebp-6Ch]
|
||||||
|
|
||||||
// this->VfTable = (int)&TPinballComponent::`vftable';
|
//this->VfTable = (int)&TPinballComponent::`vftable';
|
||||||
this->Unknown2 = 0;
|
this->MessageField = 0;
|
||||||
this->UnknownBaseFlag1 = 0;
|
this->UnknownBaseFlag1 = 0;
|
||||||
this->UnknownBaseFlag2 = 0;
|
this->UnknownBaseFlag2 = 0;
|
||||||
this->PinballTable = table;
|
this->PinballTable = table;
|
||||||
|
@ -79,3 +79,33 @@ TPinballComponent::TPinballComponent(TPinballTable* table, int groupIndex, bool
|
||||||
}
|
}
|
||||||
this->GroupIndex = groupIndex;
|
this->GroupIndex = groupIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TPinballComponent::~TPinballComponent()
|
||||||
|
{
|
||||||
|
TPinballTable* table = PinballTable;
|
||||||
|
if (table)
|
||||||
|
table->ListP1->Delete(this);
|
||||||
|
|
||||||
|
delete List1Bitmap8;
|
||||||
|
delete List2Bitmap16;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int TPinballComponent::Message(int message1, float message2)
|
||||||
|
{
|
||||||
|
this->MessageField = message1;
|
||||||
|
if (message1 == 1024)
|
||||||
|
this->MessageField = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TPinballComponent::put_scoring( int score1, int score2)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int TPinballComponent::get_scoring(int score1)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -3,13 +3,18 @@
|
||||||
|
|
||||||
|
|
||||||
class TPinballComponent
|
class TPinballComponent
|
||||||
{public:
|
{
|
||||||
|
public:
|
||||||
TPinballComponent(class TPinballTable* table, int groupIndex, bool loadVisuals);
|
TPinballComponent(class TPinballTable* table, int groupIndex, bool loadVisuals);
|
||||||
|
virtual ~TPinballComponent();
|
||||||
|
virtual int Message(int message1, float message2);
|
||||||
|
virtual void put_scoring(int score1, int score2);
|
||||||
|
virtual int get_scoring(int score1);
|
||||||
|
|
||||||
int VfTable;
|
int VfTable;
|
||||||
__int8 UnknownBaseFlag1;
|
__int8 UnknownBaseFlag1;
|
||||||
__int8 UnknownBaseFlag2;
|
__int8 UnknownBaseFlag2;
|
||||||
int Unknown2;
|
int MessageField;
|
||||||
char* GroupName;
|
char* GroupName;
|
||||||
int Unknown4;
|
int Unknown4;
|
||||||
int Unknown5;
|
int Unknown5;
|
||||||
|
@ -19,4 +24,3 @@ class TPinballComponent
|
||||||
TZmapList* List1Bitmap8;
|
TZmapList* List1Bitmap8;
|
||||||
TZmapList* List2Bitmap16;
|
TZmapList* List2Bitmap16;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -180,8 +180,83 @@ TPinballTable::TPinballTable(): TPinballComponent(nullptr, -1, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* build_occlude_list();
|
//build_occlude_list();
|
||||||
InfoTextBox = (TTextBox*)TPinballTable::find_component(this, "info_text_box");
|
pinball::InfoTextBox = static_cast<TTextBox*>(find_component("info_text_box"));
|
||||||
MissTextBox = (TTextBox*)TPinballTable::find_component(this, "mission_text_box");
|
pinball::MissTextBox = static_cast<TTextBox*>(find_component("mission_text_box"));
|
||||||
control_make_links(this);*/
|
//control_make_links(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
TPinballTable::~TPinballTable()
|
||||||
|
{
|
||||||
|
//this->VfTable = (TPinballComponent_vtbl*)&TPinballTable::`vftable';
|
||||||
|
scoreStruct** scorePtr = &Score2;
|
||||||
|
int index = 4;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
if (*scorePtr)
|
||||||
|
{
|
||||||
|
free(*scorePtr);
|
||||||
|
*scorePtr = nullptr;
|
||||||
|
}
|
||||||
|
scorePtr += 7;
|
||||||
|
--index;
|
||||||
|
}
|
||||||
|
while (index);
|
||||||
|
if (ScorePlayerNumber1)
|
||||||
|
{
|
||||||
|
free(ScorePlayerNumber1);
|
||||||
|
ScorePlayerNumber1 = nullptr;
|
||||||
|
}
|
||||||
|
if (ScoreBallcount)
|
||||||
|
{
|
||||||
|
free(ScoreBallcount);
|
||||||
|
ScoreBallcount = nullptr;
|
||||||
|
}
|
||||||
|
for (auto i = LightGroup; ; i = static_cast<TLightGroup*>(ListP1->Get(0)))
|
||||||
|
{
|
||||||
|
//if (i)
|
||||||
|
//(*(void(__thiscall**)(TLightGroup*, int))(*(_DWORD*)i + 16))(i, 1);
|
||||||
|
if (!ListP1->Count())
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
delete ListP2;
|
||||||
|
delete ListP1;
|
||||||
|
}
|
||||||
|
|
||||||
|
TPinballComponent* TPinballTable::find_component(LPCSTR componentName)
|
||||||
|
{
|
||||||
|
int objCount = ListP1->Count();
|
||||||
|
if (objCount > 0)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < objCount; ++index)
|
||||||
|
{
|
||||||
|
TPinballComponent* obj = static_cast<TPinballComponent*>(ListP1->Get(index));
|
||||||
|
const CHAR* groupName = obj->GroupName;
|
||||||
|
if (groupName && !lstrcmpA(groupName, componentName))
|
||||||
|
{
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MessageBoxA(nullptr, "Table cant find:", componentName, 0x2000u);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
TPinballComponent* TPinballTable::find_component(int groupIndex)
|
||||||
|
{
|
||||||
|
char Buffer[33];
|
||||||
|
int objCount = ListP1->Count();
|
||||||
|
if (objCount > 0)
|
||||||
|
{
|
||||||
|
for (int index = 0; index < objCount; ++index)
|
||||||
|
{
|
||||||
|
TPinballComponent* obj = static_cast<TPinballComponent*>(ListP1->Get(index));
|
||||||
|
if (obj->GroupIndex == groupIndex)
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_itoa_s(groupIndex, Buffer, 10);
|
||||||
|
MessageBoxA(nullptr, "Table cant find (lh):", Buffer, 0x2000u);
|
||||||
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,9 @@ class TPinballTable:TPinballComponent
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TPinballTable();
|
TPinballTable();
|
||||||
|
~TPinballTable();
|
||||||
|
TPinballComponent* find_component(LPCSTR componentName);
|
||||||
|
TPinballComponent* find_component(int groupIndex);
|
||||||
|
|
||||||
TFlipper* FlipperL;
|
TFlipper* FlipperL;
|
||||||
TFlipper* FlipperR;
|
TFlipper* FlipperR;
|
||||||
|
|
|
@ -4,3 +4,19 @@
|
||||||
|
|
||||||
int pinball::quickFlag = 0;
|
int pinball::quickFlag = 0;
|
||||||
int pinball::render_background_bitmap = 0;
|
int pinball::render_background_bitmap = 0;
|
||||||
|
TTextBox* pinball::InfoTextBox;
|
||||||
|
TTextBox* pinball::MissTextBox;
|
||||||
|
char pinball::getRcBuffer[6 * 256];
|
||||||
|
int pinball::rc_string_slot = 0;
|
||||||
|
HINSTANCE pinball::hinst;
|
||||||
|
|
||||||
|
|
||||||
|
char* pinball::get_rc_string(int uID, int a2)
|
||||||
|
{
|
||||||
|
char* result = &getRcBuffer[256 * rc_string_slot];
|
||||||
|
if (!LoadStringA(hinst, uID, &getRcBuffer[256 * rc_string_slot], 255))
|
||||||
|
*result = 0;
|
||||||
|
if (++rc_string_slot >= 6)
|
||||||
|
rc_string_slot = 0;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
|
@ -1,9 +1,17 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
#include "TTextBox.h"
|
||||||
|
|
||||||
class pinball
|
class pinball
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static int quickFlag;
|
static int quickFlag;
|
||||||
static int render_background_bitmap;
|
static int render_background_bitmap;
|
||||||
|
static TTextBox* InfoTextBox;
|
||||||
|
static TTextBox* MissTextBox;
|
||||||
|
static HINSTANCE hinst;
|
||||||
|
static char* get_rc_string(int uID, int a2);
|
||||||
private:
|
private:
|
||||||
|
static char getRcBuffer[256*6];
|
||||||
|
static int rc_string_slot;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,203 @@
|
||||||
//{{NO_DEPENDENCIES}}
|
//{{NO_DEPENDENCIES}}
|
||||||
// Microsoft Visual C++ generated include file.
|
// Microsoft Visual C++ generated include file.
|
||||||
// Used by SpaceCadetPinball.rc
|
// Used by SpaceCadetPinball.rc
|
||||||
|
//
|
||||||
|
#define IDS_STRING101 0
|
||||||
|
#define IDS_STRING102 1
|
||||||
|
#define IDS_STRING103 2
|
||||||
|
#define IDS_STRING104 3
|
||||||
|
#define IDS_STRING105 4
|
||||||
|
#define IDS_STRING106 5
|
||||||
|
#define IDS_STRING107 6
|
||||||
|
#define IDS_STRING108 7
|
||||||
|
#define IDS_STRING109 8
|
||||||
|
#define IDS_STRING110 9
|
||||||
|
#define IDS_STRING111 10
|
||||||
|
#define IDS_STRING112 11
|
||||||
|
#define IDS_STRING113 12
|
||||||
|
#define IDS_STRING114 13
|
||||||
|
#define IDS_STRING115 14
|
||||||
|
#define IDS_STRING116 15
|
||||||
|
#define IDS_STRING117 16
|
||||||
|
#define IDS_STRING118 17
|
||||||
|
#define IDS_STRING119 18
|
||||||
|
#define IDS_STRING120 19
|
||||||
|
#define IDS_STRING121 20
|
||||||
|
#define IDS_STRING122 21
|
||||||
|
#define IDS_STRING123 22
|
||||||
|
#define IDS_STRING124 23
|
||||||
|
#define IDS_STRING125 24
|
||||||
|
#define IDS_STRING126 25
|
||||||
|
#define IDS_STRING127 26
|
||||||
|
#define IDS_STRING128 27
|
||||||
|
#define IDS_STRING129 28
|
||||||
|
#define IDS_STRING130 29
|
||||||
|
#define IDS_STRING131 30
|
||||||
|
#define IDS_STRING132 31
|
||||||
|
#define IDS_STRING133 32
|
||||||
|
#define IDS_STRING134 33
|
||||||
|
#define IDS_STRING135 34
|
||||||
|
#define IDS_STRING136 35
|
||||||
|
#define IDS_STRING137 36
|
||||||
|
#define IDS_STRING138 37
|
||||||
|
#define IDS_STRING139 38
|
||||||
|
#define IDS_STRING140 39
|
||||||
|
#define IDS_STRING141 40
|
||||||
|
#define IDS_STRING142 41
|
||||||
|
#define IDS_STRING143 42
|
||||||
|
#define IDS_STRING144 43
|
||||||
|
#define IDS_STRING145 44
|
||||||
|
#define IDS_STRING146 45
|
||||||
|
#define IDS_STRING147 46
|
||||||
|
#define IDS_STRING148 47
|
||||||
|
#define IDS_STRING149 48
|
||||||
|
#define IDS_STRING150 49
|
||||||
|
#define IDS_STRING151 50
|
||||||
|
#define IDS_STRING152 51
|
||||||
|
#define IDS_STRING153 52
|
||||||
|
#define IDS_STRING154 53
|
||||||
|
#define IDS_STRING155 54
|
||||||
|
#define IDS_STRING156 55
|
||||||
|
#define IDS_STRING157 56
|
||||||
|
#define IDS_STRING158 57
|
||||||
|
#define IDS_STRING159 58
|
||||||
|
#define IDS_STRING160 59
|
||||||
|
#define IDS_STRING161 60
|
||||||
|
#define IDS_STRING162 61
|
||||||
|
#define IDS_STRING163 62
|
||||||
|
#define IDS_STRING164 63
|
||||||
|
#define IDS_STRING165 64
|
||||||
|
#define IDS_STRING166 65
|
||||||
|
#define IDS_STRING167 66
|
||||||
|
#define IDS_STRING168 67
|
||||||
|
#define IDS_STRING169 68
|
||||||
|
#define IDS_STRING170 69
|
||||||
|
#define IDS_STRING171 70
|
||||||
|
#define IDS_STRING172 71
|
||||||
|
#define IDS_STRING173 72
|
||||||
|
#define IDS_STRING174 73
|
||||||
|
#define IDS_STRING175 74
|
||||||
|
#define IDS_STRING176 75
|
||||||
|
#define IDS_STRING177 76
|
||||||
|
#define IDS_STRING178 77
|
||||||
|
#define IDS_STRING179 78
|
||||||
|
#define IDS_STRING180 79
|
||||||
|
#define IDS_STRING181 80
|
||||||
|
#define IDS_STRING182 81
|
||||||
|
#define IDS_STRING183 82
|
||||||
|
#define IDS_STRING184 83
|
||||||
|
#define IDS_STRING185 84
|
||||||
|
#define IDS_STRING186 85
|
||||||
|
#define IDS_STRING187 86
|
||||||
|
#define IDS_STRING188 87
|
||||||
|
#define IDS_STRING189 88
|
||||||
|
#define IDS_STRING190 89
|
||||||
|
#define IDS_STRING191 90
|
||||||
|
#define IDS_STRING192 91
|
||||||
|
#define IDS_STRING193 92
|
||||||
|
#define IDS_STRING194 93
|
||||||
|
#define IDS_STRING195 94
|
||||||
|
#define IDS_STRING196 95
|
||||||
|
#define IDS_STRING197 96
|
||||||
|
#define IDS_STRING198 97
|
||||||
|
#define IDS_STRING199 98
|
||||||
|
#define IDS_STRING200 99
|
||||||
|
#define IDS_STRING201 100
|
||||||
|
#define IDS_STRING202 101
|
||||||
|
#define IDS_STRING203 102
|
||||||
|
#define IDS_STRING204 103
|
||||||
|
#define IDS_STRING205 104
|
||||||
|
#define IDS_STRING206 105
|
||||||
|
#define IDS_STRING207 106
|
||||||
|
#define IDS_STRING208 107
|
||||||
|
#define IDS_STRING209 108
|
||||||
|
#define IDS_STRING210 109
|
||||||
|
#define IDS_STRING211 110
|
||||||
|
#define IDS_STRING212 111
|
||||||
|
#define IDS_STRING213 112
|
||||||
|
#define IDS_STRING214 113
|
||||||
|
#define IDS_STRING215 114
|
||||||
|
#define IDS_STRING216 115
|
||||||
|
#define IDS_STRING217 116
|
||||||
|
#define IDS_STRING218 117
|
||||||
|
#define IDS_STRING219 118
|
||||||
|
#define IDS_STRING220 119
|
||||||
|
#define IDS_STRING221 120
|
||||||
|
#define IDS_STRING222 121
|
||||||
|
#define IDS_STRING223 122
|
||||||
|
#define IDS_STRING224 123
|
||||||
|
#define IDS_STRING225 124
|
||||||
|
#define IDS_STRING226 125
|
||||||
|
#define IDS_STRING227 126
|
||||||
|
#define IDS_STRING228 127
|
||||||
|
#define IDS_STRING229 128
|
||||||
|
#define IDS_STRING230 129
|
||||||
|
#define IDS_STRING231 130
|
||||||
|
#define IDS_STRING232 131
|
||||||
|
#define IDS_STRING233 132
|
||||||
|
#define IDS_STRING234 133
|
||||||
|
#define IDS_STRING235 134
|
||||||
|
#define IDS_STRING236 135
|
||||||
|
#define IDS_STRING237 136
|
||||||
|
#define IDS_STRING238 137
|
||||||
|
#define IDS_STRING239 138
|
||||||
|
#define IDS_STRING240 139
|
||||||
|
#define IDS_STRING241 140
|
||||||
|
#define IDS_STRING242 141
|
||||||
|
#define IDS_STRING243 142
|
||||||
|
#define IDS_STRING244 143
|
||||||
|
#define IDS_STRING245 144
|
||||||
|
#define IDS_STRING246 145
|
||||||
|
#define IDS_STRING247 146
|
||||||
|
#define IDS_STRING248 147
|
||||||
|
#define IDS_STRING249 148
|
||||||
|
#define IDS_STRING250 149
|
||||||
|
#define IDS_STRING251 150
|
||||||
|
#define IDS_STRING252 151
|
||||||
|
#define IDS_STRING253 152
|
||||||
|
#define IDS_STRING254 153
|
||||||
|
#define IDS_STRING255 154
|
||||||
|
#define IDS_STRING256 155
|
||||||
|
#define IDS_STRING257 156
|
||||||
|
#define IDS_STRING258 158
|
||||||
|
#define IDS_STRING259 159
|
||||||
|
#define IDS_STRING260 160
|
||||||
|
#define IDS_STRING261 161
|
||||||
|
#define IDS_STRING262 162
|
||||||
|
#define IDS_STRING263 163
|
||||||
|
#define IDS_STRING264 164
|
||||||
|
#define IDS_STRING265 165
|
||||||
|
#define IDS_STRING266 166
|
||||||
|
#define IDS_STRING267 167
|
||||||
|
#define IDS_STRING268 168
|
||||||
|
#define IDS_STRING269 169
|
||||||
|
#define IDS_STRING270 170
|
||||||
|
#define IDS_STRING271 171
|
||||||
|
#define IDS_STRING272 172
|
||||||
|
#define IDS_STRING273 173
|
||||||
|
#define IDS_STRING274 174
|
||||||
|
#define IDS_STRING275 175
|
||||||
|
#define IDS_STRING276 176
|
||||||
|
#define IDS_STRING277 177
|
||||||
|
#define IDS_STRING278 178
|
||||||
|
#define IDS_STRING279 179
|
||||||
|
#define IDS_STRING280 180
|
||||||
|
#define IDS_STRING281 181
|
||||||
|
#define IDS_STRING282 182
|
||||||
|
#define IDS_STRING283 183
|
||||||
|
#define IDS_STRING284 184
|
||||||
|
#define IDS_STRING285 185
|
||||||
|
#define IDS_STRING286 186
|
||||||
|
#define IDS_STRING287 187
|
||||||
|
#define IDS_STRING288 188
|
||||||
|
#define IDS_STRING289 189
|
||||||
|
|
||||||
|
|
||||||
// Next default values for new objects
|
// Next default values for new objects
|
||||||
//
|
//
|
||||||
#ifdef APSTUDIO_INVOKED
|
#ifdef APSTUDIO_INVOKED
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 101
|
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1001
|
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
|
Loading…
Reference in a new issue