From 4157e79c83b86cc789604328fd1e3ed082d13348 Mon Sep 17 00:00:00 2001 From: oz Date: Wed, 4 Nov 2020 16:22:52 +0300 Subject: [PATCH] Table, Component v2. Strings RC. --- SpaceCadetPinball/SpaceCadetPinball.cpp | 13 +- SpaceCadetPinball/SpaceCadetPinball.rc | 224 +++++++++++++++++++++++- SpaceCadetPinball/TPinballComponent.cpp | 34 +++- SpaceCadetPinball/TPinballComponent.h | 10 +- SpaceCadetPinball/TPinballTable.cpp | 83 ++++++++- SpaceCadetPinball/TPinballTable.h | 3 + SpaceCadetPinball/pinball.cpp | 18 +- SpaceCadetPinball/pinball.h | 8 + SpaceCadetPinball/resource.h | 193 +++++++++++++++++++- 9 files changed, 567 insertions(+), 19 deletions(-) diff --git a/SpaceCadetPinball/SpaceCadetPinball.cpp b/SpaceCadetPinball/SpaceCadetPinball.cpp index ff7e48d..61ca286 100644 --- a/SpaceCadetPinball/SpaceCadetPinball.cpp +++ b/SpaceCadetPinball/SpaceCadetPinball.cpp @@ -8,13 +8,17 @@ #include "partman.h" #include "DatParser.h" #include "loader.h" +#include "pinball.h" #include "score.h" #include "TPinballTable.h" +#include "TTextBox.h" int main() { std::cout << "Hello World!\n"; + pinball::hinst = GetModuleHandle(nullptr); + objlist_class d = objlist_class(2, 4); for (int i = 0; i < 100; i++) { @@ -53,7 +57,14 @@ int main() auto score1 = score::create("score1", 117); 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); std::cout << "Goodby World!\n"; } diff --git a/SpaceCadetPinball/SpaceCadetPinball.rc b/SpaceCadetPinball/SpaceCadetPinball.rc index 129cc14..afeff73 100644 --- a/SpaceCadetPinball/SpaceCadetPinball.rc +++ b/SpaceCadetPinball/SpaceCadetPinball.rc @@ -1,6 +1,5 @@ // Microsoft Visual C++ generated resource script. // - #include "resource.h" #define APSTUDIO_READONLY_SYMBOLS @@ -14,10 +13,11 @@ #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// -// English (United States) resources +// Russian (Russia) resources -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE 25, 1 +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT +#pragma code_page(1251) #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// @@ -25,18 +25,18 @@ LANGUAGE 25, 1 // TEXTINCLUDE // -1 TEXTINCLUDE +1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE BEGIN "#include ""winres.h""\r\n" "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE BEGIN "\r\n" "\0" @@ -44,6 +44,215 @@ END #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 ///////////////////////////////////////////////////////////////////////////// @@ -58,3 +267,4 @@ END ///////////////////////////////////////////////////////////////////////////// #endif // not APSTUDIO_INVOKED + diff --git a/SpaceCadetPinball/TPinballComponent.cpp b/SpaceCadetPinball/TPinballComponent.cpp index 1ce8268..63f4344 100644 --- a/SpaceCadetPinball/TPinballComponent.cpp +++ b/SpaceCadetPinball/TPinballComponent.cpp @@ -9,8 +9,8 @@ TPinballComponent::TPinballComponent(TPinballTable* table, int groupIndex, bool { visualStruct visual{}; // [esp+Ch] [ebp-6Ch] - // this->VfTable = (int)&TPinballComponent::`vftable'; - this->Unknown2 = 0; + //this->VfTable = (int)&TPinballComponent::`vftable'; + this->MessageField = 0; this->UnknownBaseFlag1 = 0; this->UnknownBaseFlag2 = 0; this->PinballTable = table; @@ -79,3 +79,33 @@ TPinballComponent::TPinballComponent(TPinballTable* table, int groupIndex, bool } 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; +} \ No newline at end of file diff --git a/SpaceCadetPinball/TPinballComponent.h b/SpaceCadetPinball/TPinballComponent.h index 9fe34e0..434b550 100644 --- a/SpaceCadetPinball/TPinballComponent.h +++ b/SpaceCadetPinball/TPinballComponent.h @@ -3,13 +3,18 @@ class TPinballComponent -{public: +{ +public: 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; __int8 UnknownBaseFlag1; __int8 UnknownBaseFlag2; - int Unknown2; + int MessageField; char* GroupName; int Unknown4; int Unknown5; @@ -19,4 +24,3 @@ class TPinballComponent TZmapList* List1Bitmap8; TZmapList* List2Bitmap16; }; - diff --git a/SpaceCadetPinball/TPinballTable.cpp b/SpaceCadetPinball/TPinballTable.cpp index af6ae64..4e64404 100644 --- a/SpaceCadetPinball/TPinballTable.cpp +++ b/SpaceCadetPinball/TPinballTable.cpp @@ -180,8 +180,83 @@ TPinballTable::TPinballTable(): TPinballComponent(nullptr, -1, false) } } - /* build_occlude_list(); - InfoTextBox = (TTextBox*)TPinballTable::find_component(this, "info_text_box"); - MissTextBox = (TTextBox*)TPinballTable::find_component(this, "mission_text_box"); - control_make_links(this);*/ + //build_occlude_list(); + pinball::InfoTextBox = static_cast(find_component("info_text_box")); + pinball::MissTextBox = static_cast(find_component("mission_text_box")); + //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(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(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(ListP1->Get(index)); + if (obj->GroupIndex == groupIndex) + return obj; + } + } + _itoa_s(groupIndex, Buffer, 10); + MessageBoxA(nullptr, "Table cant find (lh):", Buffer, 0x2000u); + return nullptr; } diff --git a/SpaceCadetPinball/TPinballTable.h b/SpaceCadetPinball/TPinballTable.h index 71c08e0..6e82dad 100644 --- a/SpaceCadetPinball/TPinballTable.h +++ b/SpaceCadetPinball/TPinballTable.h @@ -11,6 +11,9 @@ class TPinballTable:TPinballComponent { public: TPinballTable(); + ~TPinballTable(); + TPinballComponent* find_component(LPCSTR componentName); + TPinballComponent* find_component(int groupIndex); TFlipper* FlipperL; TFlipper* FlipperR; diff --git a/SpaceCadetPinball/pinball.cpp b/SpaceCadetPinball/pinball.cpp index b671a9d..38d4c23 100644 --- a/SpaceCadetPinball/pinball.cpp +++ b/SpaceCadetPinball/pinball.cpp @@ -3,4 +3,20 @@ int pinball::quickFlag = 0; -int pinball::render_background_bitmap = 0; \ No newline at end of file +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; +} diff --git a/SpaceCadetPinball/pinball.h b/SpaceCadetPinball/pinball.h index 569d1e2..77e997d 100644 --- a/SpaceCadetPinball/pinball.h +++ b/SpaceCadetPinball/pinball.h @@ -1,9 +1,17 @@ #pragma once +#include "TTextBox.h" + class pinball { public: static int quickFlag; static int render_background_bitmap; + static TTextBox* InfoTextBox; + static TTextBox* MissTextBox; + static HINSTANCE hinst; + static char* get_rc_string(int uID, int a2); private: + static char getRcBuffer[256*6]; + static int rc_string_slot; }; diff --git a/SpaceCadetPinball/resource.h b/SpaceCadetPinball/resource.h index 6f8a5f7..bd549db 100644 --- a/SpaceCadetPinball/resource.h +++ b/SpaceCadetPinball/resource.h @@ -1,12 +1,203 @@ //{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // 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 // #ifdef APSTUDIO_INVOKED #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_CONTROL_VALUE 1001 #define _APS_NEXT_SYMED_VALUE 101