From ae2d9edc6cb4db8ce415c2eba88a2f89d98a8719 Mon Sep 17 00:00:00 2001 From: John Ratliff Date: Sun, 25 Aug 2019 21:10:43 -0400 Subject: [PATCH] imported version 0.91 --- DialogBlocks/smse.pjd | 14200 +++++++++++++++++--------------- Doxyfile | 2 +- Info.plist | 8 +- TODO | 1 - config.guess | 114 +- config.sub | 49 +- configure | 20 +- configure.ac | 2 +- docs/license.txt | 341 + docs/smse.txt | 159 +- docs/sram-doc.txt | 942 ++- source/App.cc | 12 +- source/App.hh | 14 +- source/AppConstants.hh | 80 +- source/Makefile.am | 3 +- source/Makefile.in | 13 +- source/model/SRAMFile.cc | 441 +- source/model/SRAMFile.hh | 142 +- source/res/smse.xrc | 1269 +-- source/view/Frame.cc | 763 +- source/view/Frame.hh | 95 +- source/view/SRAMFileTarget.cc | 64 + source/view/SRAMFileTarget.hh | 63 + 23 files changed, 10773 insertions(+), 8024 deletions(-) create mode 100644 docs/license.txt create mode 100644 source/view/SRAMFileTarget.cc create mode 100644 source/view/SRAMFileTarget.hh diff --git a/DialogBlocks/smse.pjd b/DialogBlocks/smse.pjd index db3dd8b..b1dee4a 100644 --- a/DialogBlocks/smse.pjd +++ b/DialogBlocks/smse.pjd @@ -12,7 +12,7 @@ - 443 + 469 smse.xrc FALSE FALSE @@ -78,7 +78,7 @@ <None> - 15150136 + 15560568 data-document @@ -89,14 +89,14 @@ 0 Configurations - 15425224 + 15165544 config-data-document 0 1 0 - 15150136 + 15560568 0 TRUE @@ -144,7 +144,7 @@ Projects - 15125648 + 15125768 root-document project @@ -155,25 +155,25 @@ 0 Windows - 15234816 + 15239328 html-document dialogsfolder 1 1 0 - 15125648 + 15125768 1 Super Metroid SRAM Editor - 15149200 + 15156296 dialog-document frame 0 1 0 - 15234816 + 15239328 0 6/9/2005 wbFrameProxy @@ -235,14 +235,14 @@ wxMenuBar: IDMB_SMSE - 15162280 + 15164288 dialog-control-document menubar 0 1 0 - 15149200 + 15156296 0 6/9/2005 wbMenuBarProxy @@ -250,14 +250,14 @@ <Any platform> File - 15346168 + 15172624 dialog-control-document menu 0 1 0 - 15162280 + 15164288 0 6/9/2005 wbMenuProxy @@ -265,14 +265,14 @@ <Any platform> &Open SRAM\tCtrl-O: wxID_OPEN - 15203552 + 15159312 dialog-control-document menuitem 0 1 0 - 15346168 + 15172624 0 9/9/2005 wbMenuItemProxy @@ -288,14 +288,14 @@ &Close\tCtrl-W: wxID_CLOSE - 15229280 + 33195144 dialog-control-document menuitem 0 1 0 - 15346168 + 15172624 0 9/9/2005 wbMenuItemProxy @@ -311,14 +311,14 @@ ------------ - 15202624 + 15273048 dialog-control-document menuitem 0 1 0 - 15346168 + 15172624 0 9/9/2005 wbMenuSeparatorProxy @@ -326,14 +326,14 @@ &Save\tCtrl-S: wxID_SAVE - 15170480 + 15252400 dialog-control-document menuitem 0 1 0 - 15346168 + 15172624 0 9/9/2005 wbMenuItemProxy @@ -349,14 +349,14 @@ Save As: wxID_SAVEAS - 15220128 + 15213200 dialog-control-document menuitem 0 1 0 - 15346168 + 15172624 0 9/9/2005 wbMenuItemProxy @@ -372,14 +372,14 @@ ------------ - 15188816 + 15305808 dialog-control-document menuitem 0 1 0 - 15346168 + 15172624 0 9/9/2005 wbMenuSeparatorProxy @@ -387,14 +387,14 @@ E&xit: wxID_EXIT - 15211072 + 15179552 dialog-control-document menuitem 0 1 0 - 15346168 + 15172624 0 9/9/2005 wbMenuItemProxy @@ -411,14 +411,14 @@ Game - 15243480 + 15221248 dialog-control-document menu 0 1 0 - 15162280 + 15164288 0 9/9/2005 wbMenuProxy @@ -426,14 +426,14 @@ <Any platform> Game &A\tF1: IDM_GAME_GAMEA - 15322576 + 15218456 dialog-control-document menuitem 0 1 0 - 15243480 + 15221248 0 12/9/2005 wbMenuItemProxy @@ -449,14 +449,14 @@ Game &B\tF2: IDM_GAME_GAMEB - 15503824 + 15404520 dialog-control-document menuitem 0 1 0 - 15243480 + 15221248 0 12/9/2005 wbMenuItemProxy @@ -472,14 +472,14 @@ Game &C\tF3: IDM_GAME_GAMEC - 15232728 + 15175736 dialog-control-document menuitem 0 1 0 - 15243480 + 15221248 0 12/9/2005 wbMenuItemProxy @@ -495,14 +495,14 @@ ------------ - 15205624 + 31629320 dialog-control-document menuitem 0 1 0 - 15243480 + 15221248 0 12/9/2005 wbMenuSeparatorProxy @@ -510,35 +510,35 @@ Ending: IDM_GAME_ENDING - 15246624 + 32698544 dialog-control-document menu 0 1 0 - 15243480 + 15221248 0 - 12/9/2005 + 14/9/2005 wbSubmenuProxy IDM_GAME_ENDING 10034 &Ending - TRUE + FALSE <Any platform> &Best Ending\tF5: IDM_GAME_ENDING1 - 15354144 + 15238616 dialog-control-document menuitem 0 1 0 - 15246624 + 32698544 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_ENDING1 10040 @@ -552,16 +552,16 @@ &Average Ending\tF6: IDM_GAME_ENDING2 - 15198448 + 15215968 dialog-control-document menuitem 0 1 0 - 15246624 + 32698544 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_ENDING2 10041 @@ -575,16 +575,16 @@ &Worst Ending\tF7: IDM_GAME_ENDING3 - 15168400 + 15219392 dialog-control-document menuitem 0 1 0 - 15246624 + 32698544 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_ENDING3 10055 @@ -599,35 +599,35 @@ Give: IDM_GAME_GIVE - 32649224 + 15287000 dialog-control-document menu 0 1 0 - 15243480 + 15221248 0 - 12/9/2005 + 14/9/2005 wbSubmenuProxy IDM_GAME_GIVE 10039 &Give - TRUE + FALSE <Any platform> &Everything\tF9: IDM_GAME_GIVE_EVERYTHING - 15189920 + 15250664 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_EVERYTHING 10295 @@ -641,35 +641,35 @@ ------------ - 15241832 + 15383128 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuSeparatorProxy <Any platform> - E&nergy: IDM_GAME_GIVE_ENERGY - 15191720 + Energy: IDM_GAME_GIVE_ENERGY + 15335768 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_ENERGY 10058 - E&nergy + Energy Normal FALSE TRUE @@ -678,21 +678,21 @@ <Any platform> - &Inventory: IDM_GAME_GIVE_INVENTORY - 15380632 + Inventory: IDM_GAME_GIVE_INVENTORY + 15430032 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_INVENTORY 10059 - &Inventory + Inventory Normal FALSE TRUE @@ -702,35 +702,35 @@ ------------ - 15351816 + 15225568 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuSeparatorProxy <Any platform> - &Bosses: IDM_GAME_GIVE_BOSSES - 15353488 + Bosses: IDM_GAME_GIVE_BOSSES + 15292568 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_BOSSES 10060 - &Bosses + Bosses Normal FALSE TRUE @@ -739,21 +739,21 @@ <Any platform> - &Mini-Bosses: IDM_GAME_GIVE_MINIBOSSES - 15494352 + Mini-Bosses: IDM_GAME_GIVE_MINIBOSSES + 15288472 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_MINIBOSSES 10286 - &Mini-Bosses + Mini-Bosses Normal FALSE TRUE @@ -762,21 +762,44 @@ <Any platform> - &Zebetites: IDM_GAME_GIVE_ZEBETITES - 15186288 + Metroid Rooms: IDM_GAME_GIVE_METROIDROOMS + 32872632 + dialog-control-document + + menuitem + 0 + 1 + 0 + 15287000 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_GIVE_METROIDROOMS + 10310 + Metroid Rooms + Normal + FALSE + TRUE + Clear all metroid rooms + + <Any platform> + + + Zebetites: IDM_GAME_GIVE_ZEBETITES + 15265992 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_ZEBETITES 10287 - &Zebetites + Zebetites Normal FALSE TRUE @@ -784,37 +807,37 @@ <Any platform> - + ------------ - 33048608 + 15259976 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuSeparatorProxy <Any platform> - - M&aps: IDM_GAME_GIVE_MAPS - 15395600 + + Maps: IDM_GAME_GIVE_MAPS + 15261624 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_MAPS 10288 - M&aps + Maps Normal FALSE TRUE @@ -822,37 +845,37 @@ <Any platform> - + ------------ - 15319408 + 15255656 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuSeparatorProxy <Any platform> - - Item&s: IDM_GAME_GIVE_ITEMS - 15321112 + + Items: IDM_GAME_GIVE_ITEMS + 15200904 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_ITEMS 10061 - Item&s + Items Normal FALSE TRUE @@ -860,37 +883,37 @@ <Any platform> - + ------------ - 15400744 + 15244304 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuSeparatorProxy <Any platform> - - Missi&le Packs: IDM_GAME_GIVE_MISSILES - 15402512 + + Missile Packs: IDM_GAME_GIVE_MISSILES + 33193792 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_MISSILES 10296 - Missi&le Packs + Missile Packs Normal FALSE TRUE @@ -898,22 +921,22 @@ <Any platform> - - S&uper Missile Packs: IDM_GAME_GIVE_SMISSILES - 32018800 + + Super Missile Packs: IDM_GAME_GIVE_SMISSILES + 15299160 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_SMISSILES 10297 - S&uper Missile Packs + Super Missile Packs Normal FALSE TRUE @@ -921,22 +944,22 @@ <Any platform> - - &Power Bomb Packs: IDM_GAME_GIVE_PBOMBS - 15383808 + + Power Bomb Packs: IDM_GAME_GIVE_PBOMBS + 32899184 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_PBOMBS 10298 - &Power Bomb Packs + Power Bomb Packs Normal FALSE TRUE @@ -944,37 +967,37 @@ <Any platform> - + ------------ - 31422472 + 31532600 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuSeparatorProxy <Any platform> - - Energy &Tanks: IDM_GAME_GIVE_ETANKS - 15397416 + + Energy Tanks: IDM_GAME_GIVE_ETANKS + 15301656 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_ETANKS 10299 - Energy &Tanks + Energy Tanks Normal FALSE TRUE @@ -982,22 +1005,22 @@ <Any platform> - - Reser&ve Tanks: IDM_GAME_GIVE_RTANKS - 15303896 + + Reserve Tanks: IDM_GAME_GIVE_RTANKS + 15303176 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_RTANKS 10300 - Reser&ve Tanks + Reserve Tanks Normal FALSE TRUE @@ -1005,37 +1028,37 @@ <Any platform> - + ------------ - 45030056 + 32701248 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuSeparatorProxy <Any platform> - - Re&d Doors: IDM_GAME_GIVE_REDDOORS - 32252304 + + Red Doors: IDM_GAME_GIVE_REDDOORS + 32072232 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_REDDOORS 10301 - Re&d Doors + Red Doors Normal FALSE TRUE @@ -1043,22 +1066,22 @@ <Any platform> - - &Green Doors: IDM_GAME_GIVE_GREENDOORS - 32142208 + + Green Doors: IDM_GAME_GIVE_GREENDOORS + 32462656 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_GREENDOORS 10302 - &Green Doors + Green Doors Normal FALSE TRUE @@ -1066,22 +1089,22 @@ <Any platform> - - Yello&w Doors: IDM_GAME_GIVE_YELLOWDOORS - 15329200 + + Yellow Doors: IDM_GAME_GIVE_YELLOWDOORS + 15341384 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_YELLOWDOORS 10303 - Yello&w Doors + Yellow Doors Normal FALSE TRUE @@ -1089,22 +1112,22 @@ <Any platform> - - E&ye Doors: IDM_GAME_GIVE_EYEDOORS - 31508280 + + Eye Doors: IDM_GAME_GIVE_EYEDOORS + 15424472 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_EYEDOORS 10304 - E&ye Doors + Eye Doors Normal FALSE TRUE @@ -1112,22 +1135,22 @@ <Any platform> - - Metal D&oors: IDM_GAME_GIVE_METALDOORS - 32778776 + + Metal Doors: IDM_GAME_GIVE_METALDOORS + 31488512 dialog-control-document menuitem 0 1 0 - 32649224 + 15287000 0 - 12/9/2005 + 14/9/2005 wbMenuItemProxy IDM_GAME_GIVE_METALDOORS 10305 - Metal D&oors + Metal Doors Normal FALSE TRUE @@ -1136,32 +1159,354 @@ <Any platform> + + ------------ + 15247448 + dialog-control-document + + menuitem + 0 + 1 + 0 + 15221248 + 0 + 14/9/2005 + wbMenuSeparatorProxy + <Any platform> + + + Copy: IDM_GAME_COPY + 15249136 + dialog-control-document + + menu + 0 + 1 + 0 + 15221248 + 0 + 14/9/2005 + wbSubmenuProxy + IDM_GAME_COPY + 10312 + Copy + + FALSE + <Any platform> + + Game A: IDM_GAME_COPYA + 15652904 + dialog-control-document + + menu + 0 + 1 + 0 + 15249136 + 0 + 14/9/2005 + wbSubmenuProxy + IDM_GAME_COPYA + 10313 + Game A + + TRUE + <Any platform> + + Game B: IDM_GAME_COPYAB + 32778920 + dialog-control-document + + menuitem + 0 + 1 + 0 + 15652904 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_COPYAB + 10316 + Game B + Normal + FALSE + TRUE + Copy game A over game B + + <Any platform> + + + Game C: IDM_GAME_COPYAC + 32136104 + dialog-control-document + + menuitem + 0 + 1 + 0 + 15652904 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_COPYAC + 10317 + Game C + Normal + FALSE + TRUE + Copy game A over game C + + <Any platform> + + + + Game B: IDM_GAME_COPYB + 32370904 + dialog-control-document + + menu + 0 + 1 + 0 + 15249136 + 0 + 14/9/2005 + wbSubmenuProxy + IDM_GAME_COPYB + 10314 + Game B + + TRUE + <Any platform> + + Game A: IDM_GAME_COPYBA + 32373824 + dialog-control-document + + menuitem + 0 + 1 + 0 + 32370904 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_COPYBA + 10318 + Game A + Normal + FALSE + TRUE + Copy game B over game A + + <Any platform> + + + Game C: IDM_GAME_COPYBC + 15426248 + dialog-control-document + + menuitem + 0 + 1 + 0 + 32370904 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_COPYBC + 10319 + Game C + Normal + FALSE + TRUE + Copy game B over game C + + <Any platform> + + + + Game C: IDM_GAME_COPYC + 15295632 + dialog-control-document + + menu + 0 + 1 + 0 + 15249136 + 0 + 14/9/2005 + wbSubmenuProxy + IDM_GAME_COPYC + 10315 + Game C + + TRUE + <Any platform> + + Game A: IDM_GAME_COPYCA + 44229176 + dialog-control-document + + menuitem + 0 + 1 + 0 + 15295632 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_COPYCA + 10320 + Game A + Normal + FALSE + TRUE + Copy game C over game A + + <Any platform> + + + Game B: IDM_GAME_COPYCB + 15496120 + dialog-control-document + + menuitem + 0 + 1 + 0 + 15295632 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_COPYCB + 10321 + Game B + Normal + FALSE + TRUE + Copy game C over game B + + <Any platform> + + + + + Clear: IDM_GAME_CLEAR + 31499312 + dialog-control-document + + menu + 0 + 1 + 0 + 15221248 + 0 + 14/9/2005 + wbSubmenuProxy + IDM_GAME_CLEAR + 10311 + Clear + + FALSE + <Any platform> + + Game A: IDM_GAME_CLEARA + 31502048 + dialog-control-document + + menuitem + 0 + 1 + 0 + 31499312 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_CLEARA + 10322 + Game A + Normal + FALSE + TRUE + Clear game A + + <Any platform> + + + Game B: IDM_GAME_CLEARB + 32230664 + dialog-control-document + + menuitem + 0 + 1 + 0 + 31499312 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_CLEARB + 10323 + Game B + Normal + FALSE + TRUE + Clear game B + + <Any platform> + + + Game C: IDM_GAME_CLEARC + 15197016 + dialog-control-document + + menuitem + 0 + 1 + 0 + 31499312 + 0 + 14/9/2005 + wbMenuItemProxy + IDM_GAME_CLEARC + 10324 + Game C + Normal + FALSE + TRUE + Clear game C + + <Any platform> + + - + Help - 32795000 + 15270544 dialog-control-document menu 0 1 0 - 15162280 + 15164288 0 6/9/2005 wbMenuProxy &Help <Any platform> - + About: wxID_ABOUT - 32735520 + 15272400 dialog-control-document menuitem 0 1 0 - 32795000 + 15270544 0 6/9/2005 wbMenuItemProxy @@ -1177,16 +1522,16 @@ - + wxBoxSizer V - 31731720 + 33190784 dialog-control-document sizer 0 1 0 - 15149200 + 15156296 0 8/9/2005 wbBoxSizerProxy @@ -1196,16 +1541,16 @@ FALSE FALSE <Any platform> - + wxNotebook: IDN_SMSE - 31599456 + 15452792 dialog-control-document notebook 0 1 0 - 31731720 + 33190784 0 8/9/2005 wbNotebookProxy @@ -1259,16 +1604,16 @@ FALSE - + wxPanel: IDP_GAME - 15318336 + 15233552 dialog-control-document panel 0 1 0 - 31599456 + 15452792 0 8/9/2005 wbPanelProxy @@ -1321,16 +1666,16 @@ - + wxBoxSizer V - 15418072 + 15442616 dialog-control-document sizer 0 1 0 - 15318336 + 15233552 0 8/9/2005 wbBoxSizerProxy @@ -1348,16 +1693,16 @@ FALSE FALSE <Any platform> - + wxBoxSizer H - 15421096 + 15400864 dialog-control-document sizer 0 1 0 - 15418072 + 15442616 0 8/9/2005 wbBoxSizerProxy @@ -1375,16 +1720,16 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 15407752 + 15390736 dialog-control-document sizer 0 1 0 - 15421096 + 15400864 0 8/9/2005 wbStaticBoxSizerProxy @@ -1410,16 +1755,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 15258312 + 15312152 dialog-control-document sizer 0 1 0 - 15407752 + 15390736 0 8/9/2005 wbFlexGridSizerProxy @@ -1442,16 +1787,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 15265808 + 15355888 dialog-control-document statictext 0 1 0 - 15258312 + 15312152 0 8/9/2005 wbStaticTextProxy @@ -1500,16 +1845,16 @@ - + wxTextCtrl: IDT_GAME_ENERGY - 15301976 + 15372240 dialog-control-document textctrl 0 1 0 - 15258312 + 15312152 0 8/9/2005 wbTextCtrlProxy @@ -1570,16 +1915,16 @@ - + wxStaticText: wxID_STATIC - 15285384 + 15420928 dialog-control-document statictext 0 1 0 - 15258312 + 15312152 0 8/9/2005 wbStaticTextProxy @@ -1628,16 +1973,16 @@ - + wxTextCtrl: IDT_GAME_RESERVE - 15362592 + 15465376 dialog-control-document textctrl 0 1 0 - 15258312 + 15312152 0 8/9/2005 wbTextCtrlProxy @@ -1700,16 +2045,16 @@ - + wxStaticBoxSizer V - 15411104 + 15485224 dialog-control-document sizer 0 1 0 - 15421096 + 15400864 0 8/9/2005 wbStaticBoxSizerProxy @@ -1735,16 +2080,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 15439816 + 15493408 dialog-control-document sizer 0 1 0 - 15411104 + 15485224 0 8/9/2005 wbFlexGridSizerProxy @@ -1767,16 +2112,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 15447720 + 15505464 dialog-control-document statictext 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbStaticTextProxy @@ -1825,16 +2170,16 @@ - + wxTextCtrl: IDT_GAME_MISSILES - 15464096 + 15521800 dialog-control-document textctrl 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbTextCtrlProxy @@ -1895,16 +2240,16 @@ - + wxSpinButton: IDSB_GAME_MISSILES - 15484112 + 15541808 dialog-control-document spinctrl 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbSpinButtonProxy @@ -1955,16 +2300,16 @@ - + wxStaticText: wxID_STATIC - 15511968 + 15561416 dialog-control-document statictext 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbStaticTextProxy @@ -2013,16 +2358,16 @@ - + wxTextCtrl: IDT_GAME_SMISSILES - 15528136 + 15577600 dialog-control-document textctrl 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbTextCtrlProxy @@ -2083,16 +2428,16 @@ - + wxSpinButton: IDSB_GAME_SMISSILES - 15548104 + 15597576 dialog-control-document spinctrl 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbSpinButtonProxy @@ -2143,16 +2488,16 @@ - + wxStaticText: wxID_STATIC - 15563608 + 15613112 dialog-control-document statictext 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbStaticTextProxy @@ -2201,16 +2546,16 @@ - + wxTextCtrl: IDT_GAME_PBOMBS - 15580088 + 15629592 dialog-control-document textctrl 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbTextCtrlProxy @@ -2271,16 +2616,16 @@ - + wxSpinButton: IDSB_GAME_PBOMBS - 15601024 + 15650536 dialog-control-document spinctrl 0 1 0 - 15439816 + 15493408 0 8/9/2005 wbSpinButtonProxy @@ -2334,16 +2679,16 @@ - + wxBoxSizer H - 15617456 + 15399704 dialog-control-document sizer 0 1 0 - 15418072 + 15442616 0 8/9/2005 wbBoxSizerProxy @@ -2361,16 +2706,16 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 15626416 + 31478360 dialog-control-document sizer 0 1 0 - 15617456 + 15399704 0 8/9/2005 wbStaticBoxSizerProxy @@ -2396,16 +2741,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 15635080 + 31491136 dialog-control-document sizer 0 1 0 - 15626416 + 31478360 0 8/9/2005 wbFlexGridSizerProxy @@ -2428,16 +2773,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 15644712 + 31504912 dialog-control-document statictext 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbStaticTextProxy @@ -2478,7 +2823,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE TRUE @@ -2486,16 +2831,16 @@ - + wxCheckBox: IDC_GAME_BOSS_KRAID - 15661392 + 31521592 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -2531,7 +2876,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -2539,16 +2884,16 @@ - + wxCheckBox: IDC_GAME_STATUE_KRAID - 31408248 + 31543968 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -2584,7 +2929,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -2592,16 +2937,16 @@ - + wxStaticText: wxID_STATIC - 31427000 + 31558584 dialog-control-document statictext 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbStaticTextProxy @@ -2650,16 +2995,16 @@ - + wxCheckBox: IDC_GAME_BOSS_PHANTOON - 31443536 + 31575128 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -2703,16 +3048,16 @@ - + wxCheckBox: IDC_GAME_STATUE_PHANTOON - 31457672 + 31589264 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -2756,16 +3101,16 @@ - + wxStaticText: wxID_STATIC - 31472352 + 31603880 dialog-control-document statictext 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbStaticTextProxy @@ -2814,16 +3159,16 @@ - + wxCheckBox: IDC_GAME_BOSS_DRAYGON - 31488848 + 31624472 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -2867,16 +3212,16 @@ - + wxCheckBox: IDC_GAME_STATUE_DRAYGON - 31511240 + 31642728 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -2920,16 +3265,16 @@ - + wxStaticText: wxID_STATIC - 31529960 + 31657344 dialog-control-document statictext 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbStaticTextProxy @@ -2978,16 +3323,16 @@ - + wxCheckBox: IDC_GAME_BOSS_RIDLEY - 31546512 + 31673840 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -3031,16 +3376,16 @@ - + wxCheckBox: IDC_GAME_STATUE_RIDLEY - 31560656 + 31688024 dialog-control-document checkbox 0 1 0 - 15635080 + 31491136 0 8/9/2005 wbCheckBoxProxy @@ -3086,16 +3431,16 @@ - + wxStaticBoxSizer V - 31575096 + 31702464 dialog-control-document sizer 0 1 0 - 15617456 + 15399704 0 8/9/2005 wbStaticBoxSizerProxy @@ -3121,16 +3466,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 31583408 + 31710736 dialog-control-document sizer 0 1 0 - 31575096 + 31702464 0 8/9/2005 wbFlexGridSizerProxy @@ -3153,16 +3498,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 31591944 + 31719272 dialog-control-document statictext 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbStaticTextProxy @@ -3203,7 +3548,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE TRUE @@ -3211,16 +3556,16 @@ - + wxCheckBox: IDC_GAME_MINIBOSS_SILVERTORIZO - 31612728 + 31735944 dialog-control-document checkbox 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbCheckBoxProxy @@ -3256,7 +3601,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -3264,16 +3609,16 @@ - + wxStaticText: wxID_STATIC - 31627104 + 31754432 dialog-control-document statictext 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbStaticTextProxy @@ -3322,16 +3667,16 @@ - + wxCheckBox: IDC_GAME_MINIBOSS_SPORESPAWN - 31643600 + 31770976 dialog-control-document checkbox 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbCheckBoxProxy @@ -3375,16 +3720,16 @@ - + wxStaticText: wxID_STATIC - 31657992 + 31785400 dialog-control-document statictext 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbStaticTextProxy @@ -3433,16 +3778,16 @@ - + wxCheckBox: IDC_GAME_MINIBOSS_BOTWOON - 31674536 + 31801896 dialog-control-document checkbox 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbCheckBoxProxy @@ -3486,16 +3831,16 @@ - + wxStaticText: wxID_STATIC - 31693008 + 31816272 dialog-control-document statictext 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbStaticTextProxy @@ -3544,16 +3889,16 @@ - + wxCheckBox: IDC_GAME_MINIBOSS_CROCOMIRE - 31709544 + 31832808 dialog-control-document checkbox 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbCheckBoxProxy @@ -3597,16 +3942,16 @@ - + wxStaticText: wxID_STATIC - 31723960 + 31847184 dialog-control-document statictext 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbStaticTextProxy @@ -3655,16 +4000,16 @@ - + wxCheckBox: IDC_GAME_MINIBOSS_GOLDENTORIZO - 31744592 + 31863720 dialog-control-document checkbox 0 1 0 - 31583408 + 31710736 0 8/9/2005 wbCheckBoxProxy @@ -3710,16 +4055,264 @@ - + + wxStaticBoxSizer V + 31877960 + dialog-control-document + + sizer + 0 + 1 + 0 + 15399704 + 0 + 14/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Metroids + + + + FALSE + TRUE + Vertical + + Centre + Expand + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxCheckBox: IDC_GAME_METROIDROOM1 + 31886272 + dialog-control-document + + checkbox + 0 + 1 + 0 + 31877960 + 0 + 14/9/2005 + wbCheckBoxProxy + IDC_GAME_METROIDROOM1 + 10306 + wxCheckBox + + Room 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_GAME_METROIDROOM2 + 31899896 + dialog-control-document + + checkbox + 0 + 1 + 0 + 31877960 + 0 + 14/9/2005 + wbCheckBoxProxy + IDC_GAME_METROIDROOM2 + 10307 + wxCheckBox + + Room 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_GAME_METROIDROOM3 + 31914376 + dialog-control-document + + checkbox + 0 + 1 + 0 + 31877960 + 0 + 14/9/2005 + wbCheckBoxProxy + IDC_GAME_METROIDROOM3 + 10308 + wxCheckBox + + Room 3 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_GAME_METROIDROOM4 + 31928872 + dialog-control-document + + checkbox + 0 + 1 + 0 + 31877960 + 0 + 14/9/2005 + wbCheckBoxProxy + IDC_GAME_METROIDROOM4 + 10309 + wxCheckBox + + Room 4 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxRadioBox: IDRB_GAME_ZEBETITES - 31758784 + 31947472 dialog-control-document radiobox 0 1 0 - 15617456 + 15399704 0 11/9/2005 wbRadioBoxProxy @@ -3763,16 +4356,16 @@ - + wxBoxSizer H - 31771896 + 31960712 dialog-control-document sizer 0 1 0 - 15418072 + 15442616 0 8/9/2005 wbBoxSizerProxy @@ -3790,16 +4383,16 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer H - 31778032 + 31967008 dialog-control-document sizer 0 1 0 - 31771896 + 31960712 0 8/9/2005 wbStaticBoxSizerProxy @@ -3825,16 +4418,16 @@ FALSE FALSE <Any platform> - + wxRadioBox: IDRB_GAME_SAVEAREA - 31787080 + 31977408 dialog-control-document radiobox 0 1 0 - 31778032 + 31967008 0 8/9/2005 wbRadioBoxProxy @@ -3877,16 +4470,16 @@ - + wxStaticBoxSizer V - 31801672 + 31992000 dialog-control-document sizer 0 1 0 - 31778032 + 31967008 0 8/9/2005 wbStaticBoxSizerProxy @@ -3912,16 +4505,16 @@ FALSE FALSE <Any platform> - + wxRadioButton: IDR_GAME_SP1 - 31812480 + 32002760 dialog-control-document radiobutton 0 1 0 - 31801672 + 31992000 0 8/9/2005 wbRadioButtonProxy @@ -3963,16 +4556,16 @@ - + wxRadioButton: IDR_GAME_SP2 - 31826728 + 32016968 dialog-control-document radiobutton 0 1 0 - 31801672 + 31992000 0 8/9/2005 wbRadioButtonProxy @@ -4014,16 +4607,16 @@ - + wxRadioButton: IDR_GAME_SP3 - 31840760 + 32031016 dialog-control-document radiobutton 0 1 0 - 31801672 + 31992000 0 8/9/2005 wbRadioButtonProxy @@ -4065,16 +4658,16 @@ - + wxRadioButton: IDR_GAME_SP4 - 31854840 + 32044952 dialog-control-document radiobutton 0 1 0 - 31801672 + 31992000 0 8/9/2005 wbRadioButtonProxy @@ -4116,16 +4709,16 @@ - + wxRadioButton: IDR_GAME_SP5 - 31868880 + 32059040 dialog-control-document radiobutton 0 1 0 - 31801672 + 31992000 0 8/9/2005 wbRadioButtonProxy @@ -4167,16 +4760,16 @@ - + wxRadioButton: IDR_GAME_SP6 - 31882912 + 32077208 dialog-control-document radiobutton 0 1 0 - 31801672 + 31992000 0 8/9/2005 wbRadioButtonProxy @@ -4220,16 +4813,16 @@ - + wxStaticBoxSizer V - 31897056 + 32091296 dialog-control-document sizer 0 1 0 - 31771896 + 31960712 0 8/9/2005 wbStaticBoxSizerProxy @@ -4255,16 +4848,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_GAME_MAP_C - 31905360 + 32099560 dialog-control-document checkbox 0 1 0 - 31897056 + 32091296 0 8/9/2005 wbCheckBoxProxy @@ -4300,7 +4893,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -4308,16 +4901,16 @@ - + wxCheckBox: IDC_GAME_MAP_BS - 31918976 + 32113168 dialog-control-document checkbox 0 1 0 - 31897056 + 32091296 0 8/9/2005 wbCheckBoxProxy @@ -4361,16 +4954,16 @@ - + wxCheckBox: IDC_GAME_MAP_NF - 31933440 + 32127632 dialog-control-document checkbox 0 1 0 - 31897056 + 32091296 0 8/9/2005 wbCheckBoxProxy @@ -4414,16 +5007,16 @@ - + wxCheckBox: IDC_GAME_MAP_WS - 31947936 + 32146240 dialog-control-document checkbox 0 1 0 - 31897056 + 32091296 0 8/9/2005 wbCheckBoxProxy @@ -4467,16 +5060,16 @@ - + wxCheckBox: IDC_GAME_MAP_M - 31962440 + 32160776 dialog-control-document checkbox 0 1 0 - 31897056 + 32091296 0 8/9/2005 wbCheckBoxProxy @@ -4520,16 +5113,16 @@ - + wxCheckBox: IDC_GAME_MAP_T - 31976944 + 32175280 dialog-control-document checkbox 0 1 0 - 31897056 + 32091296 0 9/9/2005 wbCheckBoxProxy @@ -4577,16 +5170,16 @@ - + wxPanel: IDP_MISC - 15417576 + 15233264 dialog-control-document panel 0 1 0 - 31599456 + 15452792 0 8/9/2005 wbPanelProxy @@ -4639,16 +5232,16 @@ - + wxBoxSizer V - 32004040 + 32202408 dialog-control-document sizer 0 1 0 - 15417576 + 15233264 0 8/9/2005 wbBoxSizerProxy @@ -4666,16 +5259,16 @@ FALSE FALSE <Any platform> - + wxBoxSizer H - 32011104 + 32209432 dialog-control-document sizer 0 1 0 - 32004040 + 32202408 0 8/9/2005 wbBoxSizerProxy @@ -4693,16 +5286,16 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 32023576 + 32217824 dialog-control-document sizer 0 1 0 - 32011104 + 32209432 0 8/9/2005 wbStaticBoxSizerProxy @@ -4728,16 +5321,16 @@ FALSE FALSE <Any platform> - + wxTextCtrl: IDT_MISC_GAMETIME - 32036024 + 32234312 dialog-control-document textctrl 0 1 0 - 32023576 + 32217824 0 8/9/2005 wbTextCtrlProxy @@ -4799,16 +5392,16 @@ - + wxStaticBoxSizer V - 32056944 + 32255192 dialog-control-document sizer 0 1 0 - 32011104 + 32209432 0 8/9/2005 wbStaticBoxSizerProxy @@ -4834,16 +5427,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_MISC_MTUBEBROKEN - 32065408 + 32263648 dialog-control-document checkbox 0 1 0 - 32056944 + 32255192 0 8/9/2005 wbCheckBoxProxy @@ -4887,16 +5480,16 @@ - + wxCheckBox: IDC_MISC_RESCUEDANIMALS - 32079856 + 32278072 dialog-control-document checkbox 0 1 0 - 32056944 + 32255192 0 8/9/2005 wbCheckBoxProxy @@ -4942,16 +5535,16 @@ - + wxStaticBoxSizer V - 32094400 + 32292608 dialog-control-document sizer 0 1 0 - 32004040 + 32202408 0 8/9/2005 wbStaticBoxSizerProxy @@ -4977,16 +5570,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 32106776 + 32300872 dialog-control-document sizer 0 1 0 - 32094400 + 32292608 0 8/9/2005 wbFlexGridSizerProxy @@ -5009,16 +5602,16 @@ FALSE FALSE FALSE - + wxStaticText: wxID_STATIC - 32115584 + 32309544 dialog-control-document statictext 0 1 0 - 32106776 + 32300872 0 8/9/2005 wbStaticTextProxy @@ -5067,16 +5660,16 @@ - + wxChoice: IDC_MISC_DASH - 32132304 + 32326224 dialog-control-document choice 0 1 0 - 32106776 + 32300872 0 9/9/2005 wbChoiceProxy @@ -5116,16 +5709,16 @@ - + wxStaticText: wxID_STATIC - 32149784 + 32339576 dialog-control-document statictext 0 1 0 - 32106776 + 32300872 0 8/9/2005 wbStaticTextProxy @@ -5174,16 +5767,16 @@ - + wxChoice: IDC_MISC_JUMP - 32166328 + 32356072 dialog-control-document choice 0 1 0 - 32106776 + 32300872 0 9/9/2005 wbChoiceProxy @@ -5223,16 +5816,16 @@ - + wxStaticText: wxID_STATIC - 32179720 + 32369464 dialog-control-document statictext 0 1 0 - 32106776 + 32300872 0 8/9/2005 wbStaticTextProxy @@ -5281,16 +5874,16 @@ - + wxChoice: IDC_MISC_ITEMCANCEL - 32196216 + 32390056 dialog-control-document choice 0 1 0 - 32106776 + 32300872 0 9/9/2005 wbChoiceProxy @@ -5330,16 +5923,16 @@ - + wxStaticText: wxID_STATIC - 32209568 + 32403408 dialog-control-document statictext 0 1 0 - 32106776 + 32300872 0 8/9/2005 wbStaticTextProxy @@ -5388,16 +5981,16 @@ - + wxChoice: IDC_MISC_SHOT - 32226064 + 32419904 dialog-control-document choice 0 1 0 - 32106776 + 32300872 0 9/9/2005 wbChoiceProxy @@ -5437,16 +6030,16 @@ - + wxStaticText: wxID_STATIC - 32239424 + 32433256 dialog-control-document statictext 0 1 0 - 32106776 + 32300872 0 8/9/2005 wbStaticTextProxy @@ -5495,16 +6088,16 @@ - + wxChoice: IDC_MISC_ANGLEUP - 32260032 + 32449808 dialog-control-document choice 0 1 0 - 32106776 + 32300872 0 9/9/2005 wbChoiceProxy @@ -5544,16 +6137,16 @@ - + wxStaticText: wxID_STATIC - 32273384 + 32467272 dialog-control-document statictext 0 1 0 - 32106776 + 32300872 0 8/9/2005 wbStaticTextProxy @@ -5602,16 +6195,16 @@ - + wxChoice: IDC_MISC_ANGLEDOWN - 32289888 + 32483784 dialog-control-document choice 0 1 0 - 32106776 + 32300872 0 9/9/2005 wbChoiceProxy @@ -5651,16 +6244,16 @@ - + wxStaticText: wxID_STATIC - 32303280 + 32497136 dialog-control-document statictext 0 1 0 - 32106776 + 32300872 0 8/9/2005 wbStaticTextProxy @@ -5709,16 +6302,16 @@ - + wxChoice: IDC_MISC_ITEMSELECT - 32319784 + 32513672 dialog-control-document choice 0 1 0 - 32106776 + 32300872 0 9/9/2005 wbChoiceProxy @@ -5760,16 +6353,16 @@ - + wxStaticBoxSizer V - 32332792 + 32526632 dialog-control-document sizer 0 1 0 - 32004040 + 32202408 0 8/9/2005 wbStaticBoxSizerProxy @@ -5795,16 +6388,16 @@ FALSE FALSE <Any platform> - + wxRadioBox: IDRB_MISC_LANGUAGE - 32341056 + 32534936 dialog-control-document radiobox 0 1 0 - 32332792 + 32526632 0 9/9/2005 wbRadioBoxProxy @@ -5847,16 +6440,16 @@ - + wxRadioBox: IDRB_MISC_MOONWALK - 32354728 + 32548592 dialog-control-document radiobox 0 1 0 - 32332792 + 32526632 0 9/9/2005 wbRadioBoxProxy @@ -5899,16 +6492,16 @@ - + wxRadioBox: IDRB_MISC_ICONCANCEL - 32369120 + 32563032 dialog-control-document radiobox 0 1 0 - 32332792 + 32526632 0 9/9/2005 wbRadioBoxProxy @@ -5954,16 +6547,16 @@ - + wxPanel: IDP_ITEMS - 15257112 + 15311864 dialog-control-document panel 0 1 0 - 31599456 + 15452792 0 8/9/2005 wbPanelProxy @@ -6016,16 +6609,16 @@ - + wxBoxSizer V - 32398200 + 32592176 dialog-control-document sizer 0 1 0 - 15257112 + 15311864 0 8/9/2005 wbBoxSizerProxy @@ -6043,16 +6636,16 @@ FALSE FALSE <Any platform> - + wxBoxSizer H - 32404648 + 32598696 dialog-control-document sizer 0 1 0 - 32398200 + 32592176 0 9/9/2005 wbBoxSizerProxy @@ -6070,16 +6663,16 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 32412984 + 32607032 dialog-control-document sizer 0 1 0 - 32404648 + 32598696 0 9/9/2005 wbStaticBoxSizerProxy @@ -6105,16 +6698,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 32423704 + 32617800 dialog-control-document sizer 0 1 0 - 32412984 + 32607032 0 9/9/2005 wbFlexGridSizerProxy @@ -6137,16 +6730,16 @@ FALSE FALSE FALSE - + wxCheckBox: IDC_ITEMS_MORPHINGBALL - 32434064 + 32628152 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6190,16 +6783,16 @@ - + wxCheckBox: IDC_ITEMS_MORPHINGBALL_EQUIPPED - 32448632 + 32642704 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6243,16 +6836,16 @@ - + wxCheckBox: IDC_ITEMS_BOMBS - 32463024 + 32657080 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6296,16 +6889,16 @@ - + wxCheckBox: IDC_ITEMS_BOMBS_EQUIPPED - 32477400 + 32671456 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6349,16 +6942,16 @@ - + wxCheckBox: IDC_ITEMS_SPRINGBALL - 32491816 + 32685840 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6402,16 +6995,16 @@ - + wxCheckBox: IDC_ITEMS_SPRINGBALL_EQUIPPED - 32506200 + 32704328 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6455,16 +7048,16 @@ - + wxCheckBox: IDC_ITEMS_SCREWATTACK - 32520576 + 32718712 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6508,16 +7101,16 @@ - + wxCheckBox: IDC_ITEMS_SCREWATTACK_EQUIPPED - 32534984 + 32733096 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6561,16 +7154,16 @@ - + wxCheckBox: IDC_ITEMS_VARIASUIT - 32549392 + 32747512 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6614,16 +7207,16 @@ - + wxCheckBox: IDC_ITEMS_VARIASUIT_EQUIPPED - 32567912 + 32761888 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6667,16 +7260,16 @@ - + wxCheckBox: IDC_ITEMS_GRAVITYSUIT - 32582288 + 32780432 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6720,16 +7313,16 @@ - + wxCheckBox: IDC_ITEMS_GRAVITYSUIT_EQUIPPED - 32596712 + 32794728 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6773,16 +7366,16 @@ - + wxCheckBox: IDC_ITEMS_HJBOOTS - 32611128 + 32809120 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6826,16 +7419,16 @@ - + wxCheckBox: IDC_ITEMS_HJBOOTS_EQUIPPED - 32625512 + 32823504 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6879,16 +7472,16 @@ - + wxCheckBox: IDC_ITEMS_SPACEJUMP - 32639928 + 32838056 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6932,16 +7525,16 @@ - + wxCheckBox: IDC_ITEMS_SPACEJUMP_EQUIPPED - 32658400 + 32852432 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -6985,16 +7578,16 @@ - + wxCheckBox: IDC_ITEMS_SPEEDBOOSTER - 32672816 + 32866848 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7038,16 +7631,16 @@ - + wxCheckBox: IDC_ITEMS_SPEEDBOOSTER_EQUIPPED - 32687208 + 32885520 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7091,16 +7684,16 @@ - + wxCheckBox: IDC_ITEMS_CHARGEBEAM - 32701624 + 32904216 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7144,16 +7737,16 @@ - + wxCheckBox: IDC_ITEMS_CHARGEBEAM_EQUIPPED - 32716048 + 32918800 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7197,16 +7790,16 @@ - + wxCheckBox: IDC_ITEMS_ICEBEAM - 32730464 + 32933432 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7250,16 +7843,16 @@ - + wxCheckBox: IDC_ITEMS_ICEBEAM_EQUIPPED - 32749080 + 32948024 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7303,16 +7896,16 @@ - + wxCheckBox: IDC_ITEMS_WAVEBEAM - 32763672 + 32962616 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7356,16 +7949,16 @@ - + wxCheckBox: IDC_ITEMS_WAVEBEAM_EQUIPPED - 32782368 + 32977224 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7409,16 +8002,16 @@ - + wxCheckBox: IDC_ITEMS_SPAZER - 32801056 + 32991816 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7462,16 +8055,16 @@ - + wxCheckBox: IDC_ITEMS_SPAZER_EQUIPPED - 32815664 + 33006408 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7515,16 +8108,16 @@ - + wxCheckBox: IDC_ITEMS_PLASMA - 32830304 + 33020992 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7568,16 +8161,16 @@ - + wxCheckBox: IDC_ITEMS_PLASMA_EQUIPPED - 32844936 + 33035576 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7621,16 +8214,16 @@ - + wxCheckBox: IDC_ITEMS_GRAPPLINGBEAM - 32859520 + 33050160 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7674,16 +8267,16 @@ - + Spacer - 32874144 + 33064744 dialog-control-document spacer 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbSpacerProxy @@ -7702,16 +8295,16 @@ FALSE <Any platform> - + wxCheckBox: IDC_ITEMS_XRAYSCOPE - 32880544 + 33071000 dialog-control-document checkbox 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbCheckBoxProxy @@ -7755,16 +8348,16 @@ - + Spacer - 32895120 + 33085520 dialog-control-document spacer 0 1 0 - 32423704 + 32617800 0 9/9/2005 wbSpacerProxy @@ -7785,22 +8378,22 @@ - + wxStaticBoxSizer V - 32901392 + 33091792 dialog-control-document sizer 0 1 0 - 32404648 + 32598696 0 - 9/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 - Missile Packs + -1 + Energy Tanks @@ -7812,7 +8405,7 @@ Expand 0 5 - TRUE + FALSE TRUE FALSE FALSE @@ -7820,4776 +8413,764 @@ FALSE FALSE <Any platform> - - wxStaticBoxSizer V - 32909584 + + wxCheckBox: IDC_ITEMS_ET_C1 + 33099952 dialog-control-document - sizer + checkbox 0 1 0 - 32901392 + 33091792 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Crateria - + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_C1 + 10273 + wxCheckBox + + Crateria 1 + FALSE + + + + + FALSE TRUE - Vertical + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_C2 + 33113896 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_C2 + 10274 + wxCheckBox + Crateria 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 Left Centre 0 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_BS1 + 33128608 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_BS1 + 10268 + wxCheckBox + + Brinstar 1 + FALSE + + + + + + + + FALSE + TRUE <Any platform> - - wxFlexGridSizer - 32918712 - dialog-control-document - - sizer - 0 - 1 - 0 - 32909584 - 0 - 9/9/2005 - wbFlexGridSizerProxy - - - 4 - 2 - 0 - 0 - - <Any platform> - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - wxCheckBox: IDC_ITEMS_MISSILE_C1 - 32928816 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C1 - 10202 - wxCheckBox - - One - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_C2 - 32943640 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C2 - 10208 - wxCheckBox - - Two - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_C3 - 32958392 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C3 - 10214 - wxCheckBox - - Three - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_C4 - 32972976 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C4 - 10220 - wxCheckBox - - Four - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_C5 - 32987560 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C5 - 10226 - wxCheckBox - - Five - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_C6 - 33002144 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C6 - 10232 - wxCheckBox - - Six - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_C7 - 33016768 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C7 - 10238 - wxCheckBox - - Seven - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_C8 - 33031352 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32918712 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_C8 - 10244 - wxCheckBox - - Eight - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - - - wxStaticBoxSizer V - 33046024 - dialog-control-document - - sizer - 0 - 1 - 0 - 32901392 - 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Brinstar - - - - FALSE - TRUE - Vertical - - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxFlexGridSizer - 45039032 - dialog-control-document - - sizer - 0 - 1 - 0 - 33046024 - 0 - 9/9/2005 - wbFlexGridSizerProxy - - - 6 - 2 - 0 - 0 - - <Any platform> - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - wxCheckBox: IDC_ITEMS_MISSILE_BS1 - 45047208 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS1 - 10203 - wxCheckBox - - One - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS2 - 45061984 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS2 - 10236 - wxCheckBox - - Two - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS3 - 45076768 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS3 - 10241 - wxCheckBox - - Three - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS4 - 45091352 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS4 - 10246 - wxCheckBox - - Four - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS5 - 45105936 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS5 - 10227 - wxCheckBox - - Five - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS6 - 45120528 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS6 - 10206 - wxCheckBox - - Six - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS7 - 45135128 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS7 - 10210 - wxCheckBox - - Seven - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS8 - 45149752 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS8 - 10213 - wxCheckBox - - Eight - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS9 - 45164400 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS9 - 10217 - wxCheckBox - - Nine - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS10 - 45179144 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS10 - 10221 - wxCheckBox - - Ten - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS11 - 45193728 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS11 - 10224 - wxCheckBox - - Eleven - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_BS12 - 45208320 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45039032 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_BS12 - 10229 - wxCheckBox - - Twelve - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - - - wxStaticBoxSizer V - 45222992 - dialog-control-document - - sizer - 0 - 1 - 0 - 32901392 - 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Norfair - - - - FALSE - TRUE - Vertical - - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxFlexGridSizer - 45231144 - dialog-control-document - - sizer - 0 - 1 - 0 - 45222992 - 0 - 9/9/2005 - wbFlexGridSizerProxy - - - 5 - 3 - 0 - 0 - - <Any platform> - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - wxCheckBox: IDC_ITEMS_MISSILE_NF1 - 45239320 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF1 - 10233 - wxCheckBox - - One - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF2 - 45254096 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF2 - 10237 - wxCheckBox - - Two - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF3 - 45268832 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF3 - 10242 - wxCheckBox - - Three - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF4 - 45283424 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF4 - 10247 - wxCheckBox - - Four - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF5 - 45298064 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF5 - 10204 - wxCheckBox - - Five - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF6 - 45312648 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF6 - 10207 - wxCheckBox - - Six - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF7 - 45327232 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF7 - 10211 - wxCheckBox - - Seven - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF8 - 45341824 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF8 - 10215 - wxCheckBox - - Eight - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF9 - 45356416 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF9 - 10218 - wxCheckBox - - Nine - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF10 - 45371000 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF10 - 10222 - wxCheckBox - - Ten - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF11 - 45385584 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF11 - 10225 - wxCheckBox - - Eleven - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF12 - 45400328 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF12 - 10230 - wxCheckBox - - Twelve - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF13 - 45414912 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF13 - 10234 - wxCheckBox - - Thirteen - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF14 - 45429504 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF14 - 10239 - wxCheckBox - - Fourteen - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_NF15 - 45444088 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45231144 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_NF15 - 10243 - wxCheckBox - - Fifteen - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - - - wxStaticBoxSizer H - 45458768 - dialog-control-document - - sizer - 0 - 1 - 0 - 32901392 - 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Wrecked Ship - - - - FALSE - TRUE - Horizontal - - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxCheckBox: IDC_ITEMS_MISSILE_WS1 - 45466864 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45458768 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_WS1 - 10205 - wxCheckBox - - One - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_WS2 - 45480536 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45458768 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_WS2 - 10209 - wxCheckBox - - Two - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_WS3 - 45495096 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45458768 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_WS3 - 10212 - wxCheckBox - - Three - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - - wxStaticBoxSizer V - 45509640 - dialog-control-document - - sizer - 0 - 1 - 0 - 32901392 - 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Maridia - - - - FALSE - TRUE - Vertical - - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxFlexGridSizer - 45518112 - dialog-control-document - - sizer - 0 - 1 - 0 - 45509640 - 0 - 9/9/2005 - wbFlexGridSizerProxy - - - 4 - 2 - 0 - 0 - - <Any platform> - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - wxCheckBox: IDC_ITEMS_MISSILE_M1 - 45527656 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M1 - 10216 - wxCheckBox - - One - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_M2 - 45542584 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M2 - 10219 - wxCheckBox - - Two - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_M3 - 45557320 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M3 - 10223 - wxCheckBox - - Three - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_M4 - 45571920 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M4 - 10228 - wxCheckBox - - Four - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_M5 - 45586504 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M5 - 10231 - wxCheckBox - - Five - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_M6 - 45601096 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M6 - 10235 - wxCheckBox - - Six - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_M7 - 45615680 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M7 - 10240 - wxCheckBox - - Seven - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_MISSILE_M8 - 45630272 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45518112 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_MISSILE_M8 - 10245 - wxCheckBox - - Eight - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - - - - wxStaticBoxSizer V - 32411368 - dialog-control-document - - sizer - 0 - 1 - 0 - 32404648 - 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Super Missile Packs - - - - FALSE - TRUE - Vertical - - Left - Expand - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxCheckBox: IDC_ITEMS_SMISSILE_C - 45651936 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_C - 10028 - wxCheckBox - - Crateria - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_BS1 - 45665592 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_BS1 - 10248 - wxCheckBox - - Brinstar 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_BS2 - 45679560 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_BS2 - 10249 - wxCheckBox - - Brinstar 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_BS3 - 45694264 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_BS3 - 10253 - wxCheckBox - - Brinstar 3 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_NF - 45708968 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_NF - 10250 - wxCheckBox - - Norfair - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_WS1 - 45723696 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_WS1 - 10254 - wxCheckBox - - Wrecked Ship 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_WS2 - 45738400 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_WS2 - 10251 - wxCheckBox - - Wrecked Ship 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_M1 - 45753120 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_M1 - 10252 - wxCheckBox - - Maridia 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_M2 - 45767832 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_M2 - 10255 - wxCheckBox - - Maridia 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_SMISSILE_M3 - 45782536 - dialog-control-document - - checkbox - 0 - 1 - 0 - 32411368 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_SMISSILE_M3 - 10256 - wxCheckBox - - Maridia 3 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - - - wxStaticBoxSizer V - 45797176 - dialog-control-document - - sizer - 0 - 1 - 0 - 32398200 - 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Power Bomb Packs - - - - FALSE - TRUE - Vertical - - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxFlexGridSizer - 45805480 - dialog-control-document - - sizer - 0 - 1 - 0 - 45797176 - 0 - 9/9/2005 - wbFlexGridSizerProxy - - - 5 - 2 - 0 - 0 - - <Any platform> - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - wxCheckBox: IDC_ITEMS_PBOMB_BS1 - 45813912 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_BS1 - 10258 - wxCheckBox - - Brinstar 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_BS2 - 45828552 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_BS2 - 10259 - wxCheckBox - - Brinstar 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_BS3 - 45843256 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_BS3 - 10260 - wxCheckBox - - Brinstar 3 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_BS4 - 45857968 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_BS4 - 10261 - wxCheckBox - - Brinstar 4 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_BS5 - 45872672 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_BS5 - 10262 - wxCheckBox - - Brinstar 5 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_C - 45887376 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_C - 10257 - wxCheckBox - - Crateria - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_NF1 - 45902088 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_NF1 - 10264 - wxCheckBox - - Norfair 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_NF2 - 45916832 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_NF2 - 10265 - wxCheckBox - - Norfair 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_NF3 - 45931536 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_NF3 - 10266 - wxCheckBox - - Norfair 3 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_PBOMB_M - 45946256 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45805480 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_PBOMB_M - 10267 - wxCheckBox - - Maridia - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - - - wxBoxSizer H - 45960896 - dialog-control-document - - sizer - 0 - 1 - 0 - 32398200 - 0 - 9/9/2005 - wbBoxSizerProxy - Horizontal - - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - <Any platform> - - wxStaticBoxSizer V - 45966864 - dialog-control-document - - sizer - 0 - 1 - 0 - 45960896 - 0 - 9/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Energy Tanks - - - - FALSE - TRUE - Vertical - - Centre - Centre - 0 - 5 - FALSE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxFlexGridSizer - 45975536 - dialog-control-document - - sizer - 0 - 1 - 0 - 45966864 - 0 - 9/9/2005 - wbFlexGridSizerProxy - - - 7 - 2 - 0 - 0 - - <Any platform> - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - wxCheckBox: IDC_ITEMS_ET_C1 - 45985432 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_C1 - 10273 - wxCheckBox - - Crateria 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_C2 - 45999984 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_C2 - 10274 - wxCheckBox - - Crateria 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_BS1 - 46014576 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_BS1 - 10268 - wxCheckBox - - Brinstar 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_BS2 - 46029160 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_BS2 - 10269 - wxCheckBox - - Brinstar 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_BS3 - 46043744 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_BS3 - 10270 - wxCheckBox - - Brinstar 3 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_BS4 - 46058328 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_BS4 - 10271 - wxCheckBox - - Brinstar 4 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_BS5 - 46072968 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_BS5 - 10272 - wxCheckBox - - Brinstar 5 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_NF1 - 46087552 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_NF1 - 10282 - wxCheckBox - - Norfair 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_NF2 - 46102136 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_NF2 - 10283 - wxCheckBox - - Norfair 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_NF3 - 46116728 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_NF3 - 10284 - wxCheckBox - - Norfair 3 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_NF4 - 46131320 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_NF4 - 10285 - wxCheckBox - - Norfair 4 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_WS - 46145904 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_WS - 10275 - wxCheckBox - - Wrecked Ship - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_M1 - 46160488 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_M1 - 10280 - wxCheckBox - - Maridia 1 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_ET_M2 - 46175112 - dialog-control-document - - checkbox - 0 - 1 - 0 - 45975536 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_ET_M2 - 10281 - wxCheckBox - - Maridia 2 - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_BS2 + 33143352 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_BS2 + 10269 + wxCheckBox + + Brinstar 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_BS3 + 33158064 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_BS3 + 10270 + wxCheckBox + + Brinstar 3 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_BS4 + 33172776 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_BS4 + 10271 + wxCheckBox + + Brinstar 4 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_BS5 + 44234432 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_BS5 + 10272 + wxCheckBox + + Brinstar 5 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_NF1 + 44249144 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_NF1 + 10282 + wxCheckBox + + Norfair 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_NF2 + 44263848 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_NF2 + 10283 + wxCheckBox + + Norfair 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_NF3 + 44278560 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_NF3 + 10284 + wxCheckBox + + Norfair 3 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_NF4 + 44293272 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_NF4 + 10285 + wxCheckBox + + Norfair 4 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_WS + 44308016 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_WS + 10275 + wxCheckBox + + Wrecked Ship + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_M1 + 44322720 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_M1 + 10280 + wxCheckBox + + Maridia 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_ET_M2 + 44337424 + dialog-control-document + + checkbox + 0 + 1 + 0 + 33091792 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_ET_M2 + 10281 + wxCheckBox + + Maridia 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + - + wxStaticBoxSizer V - 46189648 + 44351992 dialog-control-document sizer 0 1 0 - 45960896 + 32598696 0 - 9/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 + -1 Reserve Tanks @@ -12610,272 +9191,239 @@ FALSE FALSE <Any platform> - - wxFlexGridSizer - 46197912 + + wxCheckBox: IDC_ITEMS_RTANK_BS + 44360984 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44351992 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_RTANK_BS + 10263 + wxCheckBox + + Brinstar + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_RTANK_NF + 44375872 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44351992 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_RTANK_NF + 10276 + wxCheckBox + + Norfair + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_ITEMS_RTANK_WS + 44390584 dialog-control-document - sizer + checkbox 0 1 0 - 46189648 + 44351992 0 - 9/9/2005 - wbFlexGridSizerProxy - - - 2 - 2 - 0 - 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_RTANK_WS + 10277 + wxCheckBox + Wrecked Ship + FALSE + + + + + + + + FALSE + TRUE <Any platform> - Centre + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left Centre 0 - 0 + 5 TRUE TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE - - wxCheckBox: IDC_ITEMS_RTANK_BS - 46206088 - dialog-control-document - - checkbox - 0 - 1 - 0 - 46197912 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_RTANK_BS - 10263 - wxCheckBox - - Brinstar - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_RTANK_NF - 46220848 - dialog-control-document - - checkbox - 0 - 1 - 0 - 46197912 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_RTANK_NF - 10276 - wxCheckBox - - Norfair - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_RTANK_WS - 46235432 - dialog-control-document - - checkbox - 0 - 1 - 0 - 46197912 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_RTANK_WS - 10277 - wxCheckBox - - Wrecked Ship - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_ITEMS_RTANK_M - 46250016 - dialog-control-document - - checkbox - 0 - 1 - 0 - 46197912 - 0 - 9/9/2005 - wbCheckBoxProxy - IDC_ITEMS_RTANK_M - 10278 - wxCheckBox - - Maridia - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - + + + + + wxCheckBox: IDC_ITEMS_RTANK_M + 44405288 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44351992 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_ITEMS_RTANK_M + 10278 + wxCheckBox + + Maridia + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + - - wxPanel: IDP_COLORDOORS - 32010280 + + wxPanel: IDP_PICKUPS + 31977120 dialog-control-document panel 0 1 0 - 31599456 + 15452792 0 - 8/9/2005 + 15/9/2005 wbPanelProxy - IDP_COLORDOORS - 10006 + IDP_PICKUPS + 10328 wxPanel - Color Doors + Pickups wxPanel @@ -12921,25 +9469,25 @@ - + wxBoxSizer V - 46277784 + 44433872 dialog-control-document sizer 0 1 0 - 32010280 + 31977120 0 - 8/9/2005 + 15/9/2005 wbBoxSizerProxy Vertical Centre Centre 0 - 0 + 5 TRUE TRUE TRUE @@ -12948,28 +9496,20 @@ FALSE FALSE <Any platform> - - wxStaticBoxSizer V - 46283984 + + wxBoxSizer H + 44440224 dialog-control-document sizer 0 1 0 - 46277784 + 44433872 0 - 8/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Red Doors - - - - FALSE - TRUE - Vertical + 15/9/2005 + wbBoxSizerProxy + Horizontal Left Centre @@ -12978,28 +9518,36 @@ TRUE TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE <Any platform> - - wxBoxSizer H - 46293240 + + wxStaticBoxSizer V + 44447904 dialog-control-document sizer 0 1 0 - 46283984 + 44440224 0 - 8/9/2005 - wbBoxSizerProxy - Horizontal + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Missile Packs + + + + FALSE + TRUE + Vertical Left - Centre + Expand 0 5 FALSE @@ -13010,18 +9558,18 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 46301576 + 44458648 dialog-control-document sizer 0 1 0 - 46293240 + 44447904 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY -1 @@ -13033,11 +9581,11 @@ TRUE Vertical - Centre - Expand + Left + Centre 0 5 - FALSE + TRUE TRUE FALSE FALSE @@ -13045,178 +9593,476 @@ FALSE FALSE <Any platform> - - wxCheckBox: IDC_REDDOOR_C_MAP - 46313384 - dialog-control-document - - checkbox - 0 - 1 - 0 - 46301576 - 0 - 8/9/2005 - wbCheckBoxProxy - IDC_REDDOOR_C_MAP - 10062 - wxCheckBox - - Map - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_REDDOOR_C_BOMBS - 46327936 - dialog-control-document - - checkbox - 0 - 1 - 0 - 46301576 - 0 - 8/9/2005 - wbCheckBoxProxy - IDC_REDDOOR_C_BOMBS - 10063 - wxCheckBox - - Bombs - FALSE - - - - - - - - FALSE - TRUE - <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left - Centre - 0 - 5 - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - - - - - wxCheckBox: IDC_REDDOOR_C_TELEVATOR - 46342312 + + wxFlexGridSizer + 44469488 dialog-control-document - checkbox + sizer 0 1 0 - 46301576 + 44458648 0 - 8/9/2005 - wbCheckBoxProxy - IDC_REDDOOR_C_TELEVATOR - 10064 - wxCheckBox + 15/9/2005 + wbFlexGridSizerProxy + + + 4 + 2 + 0 + 0 - Tourian Elevator - FALSE - - - - - - - - FALSE - TRUE <Any platform> - FALSE - TRUE - FALSE - FALSE - FALSE - - -1 - -1 - -1 - -1 - Left + Centre Centre 0 - 5 + 0 TRUE TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE - - + + wxCheckBox: IDC_PICKUPS_MISSILE_C1 + 44479480 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C1 + 10202 + wxCheckBox + + One + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_C2 + 44494080 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C2 + 10208 + wxCheckBox + + Two + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_C3 + 44508488 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C3 + 10214 + wxCheckBox + + Three + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_C4 + 44522952 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C4 + 10220 + wxCheckBox + + Four + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_C5 + 44537464 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C5 + 10226 + wxCheckBox + + Five + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_C6 + 44551928 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C6 + 10232 + wxCheckBox + + Six + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_C7 + 44566432 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C7 + 10238 + wxCheckBox + + Seven + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_C8 + 44580904 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44469488 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_C8 + 10244 + wxCheckBox + + Eight + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + - + wxStaticBoxSizer V - 46356864 + 44595464 dialog-control-document sizer 0 1 0 - 46293240 + 44447904 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY -1 @@ -13228,35 +10074,35 @@ TRUE Vertical - Centre - Expand + Left + Centre 0 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE FALSE <Any platform> - + wxFlexGridSizer - 46365336 + 44603568 dialog-control-document sizer 0 1 0 - 46356864 + 44595464 0 - 8/9/2005 + 15/9/2005 wbFlexGridSizerProxy - 2 - 5 + 6 + 2 0 0 @@ -13272,24 +10118,501 @@ FALSE FALSE FALSE - - wxCheckBox: IDC_REDDOOR_BS1 - 46374880 + + wxCheckBox: IDC_PICKUPS_MISSILE_BS1 + 44611648 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS1 + 10203 + wxCheckBox + + One + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS2 + 44626304 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS2 + 10236 + wxCheckBox + + Two + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS3 + 44641040 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS3 + 10241 + wxCheckBox + + Three + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS4 + 44655624 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS4 + 10246 + wxCheckBox + + Four + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS5 + 44670208 dialog-control-document checkbox 0 1 0 - 46365336 + 44603568 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS1 - 10065 + IDC_PICKUPS_MISSILE_BS5 + 10227 wxCheckBox - One + Five + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS6 + 44684792 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS6 + 10206 + wxCheckBox + + Six + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS7 + 44699376 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS7 + 10210 + wxCheckBox + + Seven + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS8 + 44713976 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS8 + 10213 + wxCheckBox + + Eight + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS9 + 44728560 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS9 + 10217 + wxCheckBox + + Nine + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_BS10 + 44743184 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44603568 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_BS10 + 10221 + wxCheckBox + + Ten FALSE @@ -13317,7 +10640,7 @@ 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE @@ -13325,24 +10648,24 @@ - - wxCheckBox: IDC_REDDOOR_BS6 - 46389688 + + wxCheckBox: IDC_PICKUPS_MISSILE_BS11 + 44757776 dialog-control-document checkbox 0 1 0 - 46365336 + 44603568 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS6 - 10070 + IDC_PICKUPS_MISSILE_BS11 + 10224 wxCheckBox - Six + Eleven FALSE @@ -13370,7 +10693,7 @@ 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE @@ -13378,24 +10701,24 @@ - - wxCheckBox: IDC_REDDOOR_BS2 - 46404312 + + wxCheckBox: IDC_PICKUPS_MISSILE_BS12 + 44772368 dialog-control-document checkbox 0 1 0 - 46365336 + 44603568 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS2 - 10066 + IDC_PICKUPS_MISSILE_BS12 + 10229 wxCheckBox - Two + Twelve FALSE @@ -13431,24 +10754,93 @@ - - wxCheckBox: IDC_REDDOOR_BS_MAP - 46418936 + + + + wxStaticBoxSizer V + 44787056 + dialog-control-document + + sizer + 0 + 1 + 0 + 44447904 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Norfair + + + + FALSE + TRUE + Vertical + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxFlexGridSizer + 44795152 + dialog-control-document + + sizer + 0 + 1 + 0 + 44787056 + 0 + 15/9/2005 + wbFlexGridSizerProxy + + + 5 + 3 + 0 + 0 + + <Any platform> + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + wxCheckBox: IDC_PICKUPS_MISSILE_NF1 + 44803328 dialog-control-document checkbox 0 1 0 - 46365336 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS_MAP - 10071 + IDC_PICKUPS_MISSILE_NF1 + 10233 wxCheckBox - Map + One FALSE @@ -13476,7 +10868,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -13484,24 +10876,24 @@ - - wxCheckBox: IDC_REDDOOR_BS3 - 46433560 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF2 + 44818112 dialog-control-document checkbox 0 1 0 - 46365336 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS3 - 10067 + IDC_PICKUPS_MISSILE_NF2 + 10237 wxCheckBox - Three + Two FALSE @@ -13529,7 +10921,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -13537,24 +10929,24 @@ - - wxCheckBox: IDC_REDDOOR_BS_RTANK - 46448176 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF3 + 44832856 dialog-control-document checkbox 0 1 0 - 46365336 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS_RTANK - 10072 + IDC_PICKUPS_MISSILE_NF3 + 10242 wxCheckBox - Reserve Tank + Three FALSE @@ -13582,7 +10974,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -13590,21 +10982,21 @@ - - wxCheckBox: IDC_REDDOOR_BS4 - 46462792 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF4 + 44847448 dialog-control-document checkbox 0 1 0 - 46365336 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS4 - 10068 + IDC_PICKUPS_MISSILE_NF4 + 10247 wxCheckBox Four @@ -13635,7 +11027,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -13643,24 +11035,24 @@ - - wxCheckBox: IDC_REDDOOR_BS_SPORESPAWN - 46477424 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF5 + 44862080 dialog-control-document checkbox 0 1 0 - 46365336 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS_SPORESPAWN - 10073 + IDC_PICKUPS_MISSILE_NF5 + 10204 wxCheckBox - Spore Spawn + Five FALSE @@ -13688,7 +11080,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -13696,24 +11088,24 @@ - - wxCheckBox: IDC_REDDOOR_BS5 - 46492208 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF6 + 44876664 dialog-control-document checkbox 0 1 0 - 46365336 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS5 - 10069 + IDC_PICKUPS_MISSILE_NF6 + 10207 wxCheckBox - Five + Six FALSE @@ -13749,24 +11141,24 @@ - - wxCheckBox: IDC_REDDOOR_BS_XRAYSCOPE - 46506944 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF7 + 44891248 dialog-control-document checkbox 0 1 0 - 46365336 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_BS_XRAYSCOPE - 10074 + IDC_PICKUPS_MISSILE_NF7 + 10211 wxCheckBox - X-Ray Scope + Seven FALSE @@ -13802,93 +11194,24 @@ - - - - wxStaticBoxSizer V - 46521880 - dialog-control-document - - sizer - 0 - 1 - 0 - 46293240 - 0 - 8/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Norfair - - - - FALSE - TRUE - Vertical - - Centre - Expand - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxFlexGridSizer - 46530008 - dialog-control-document - - sizer - 0 - 1 - 0 - 46521880 - 0 - 8/9/2005 - wbFlexGridSizerProxy - - - 2 - 3 - 0 - 0 - - <Any platform> - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - wxCheckBox: IDC_REDDOOR_NF1 - 46538184 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF8 + 44905832 dialog-control-document checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_NF1 - 10075 + IDC_PICKUPS_MISSILE_NF8 + 10215 wxCheckBox - One + Eight FALSE @@ -13916,7 +11239,7 @@ 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE @@ -13924,24 +11247,24 @@ - - wxCheckBox: IDC_REDDOOR_NF_HJBOOTS - 46552960 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF9 + 44920416 dialog-control-document checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_NF_HJBOOTS - 10076 + IDC_PICKUPS_MISSILE_NF9 + 10218 wxCheckBox - High Jump Boots + Nine FALSE @@ -13969,7 +11292,7 @@ 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE @@ -13977,24 +11300,24 @@ - - wxCheckBox: IDC_REDDOOR_NF2 - 46567704 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF10 + 44935048 dialog-control-document checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_NF2 - 10077 + IDC_PICKUPS_MISSILE_NF10 + 10222 wxCheckBox - Two + Ten FALSE @@ -14030,24 +11353,24 @@ - - wxCheckBox: IDC_REDDOOR_NF_SPEEDBOOSTER - 46582440 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF11 + 44949648 dialog-control-document checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_NF_SPEEDBOOSTER - 10078 + IDC_PICKUPS_MISSILE_NF11 + 10225 wxCheckBox - Speed Booster + Eleven FALSE @@ -14083,24 +11406,24 @@ - - wxCheckBox: IDC_REDDOOR_NF3 - 46597176 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF12 + 44964232 dialog-control-document checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_NF3 - 10079 + IDC_PICKUPS_MISSILE_NF12 + 10230 wxCheckBox - Three + Twelve FALSE @@ -14136,24 +11459,24 @@ - - wxCheckBox: IDC_REDDOOR_NF_WAVEBEAM - 46611912 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF13 + 44978824 dialog-control-document checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_NF_WAVEBEAM - 10080 + IDC_PICKUPS_MISSILE_NF13 + 10234 wxCheckBox - Wave Beam + Thirteen FALSE @@ -14189,24 +11512,24 @@ - - wxCheckBox: IDC_REDDOOR_NF4 - 46626648 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF14 + 44993416 dialog-control-document checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_NF4 - 10172 + IDC_PICKUPS_MISSILE_NF14 + 10239 wxCheckBox - Four + Fourteen FALSE @@ -14242,117 +11565,220 @@ - - Spacer - 46641384 + + wxCheckBox: IDC_PICKUPS_MISSILE_NF15 + 45008040 dialog-control-document - spacer + checkbox 0 1 0 - 46530008 + 44795152 0 - 8/9/2005 - wbSpacerProxy - 5 - 5 - Centre - Centre - 0 - 0 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_NF15 + 10243 + wxCheckBox + + Fifteen + FALSE + + + + + + + + FALSE + TRUE <Any platform> - - - - - - wxBoxSizer H - 46647688 - dialog-control-document - - sizer - 0 - 1 - 0 - 46283984 - 0 - 8/9/2005 - wbBoxSizerProxy - Horizontal - - Left - Centre - 0 - 5 - FALSE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxStaticBoxSizer V - 46653480 + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + + + wxStaticBoxSizer H + 45022752 dialog-control-document sizer 0 1 0 - 46647688 + 44447904 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 + -1 Wrecked Ship FALSE TRUE - Vertical + Horizontal - Centre - Expand + Left + Centre 0 5 - FALSE + TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE FALSE <Any platform> - - wxCheckBox: IDC_REDDOOR_WS_RTANK - 46662000 + + wxCheckBox: IDC_PICKUPS_MISSILE_WS1 + 45030848 dialog-control-document checkbox 0 1 0 - 46653480 + 45022752 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_WS_RTANK - 10173 + IDC_PICKUPS_MISSILE_WS1 + 10205 wxCheckBox - Reserve Tank + One + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_WS2 + 45044536 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45022752 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_WS2 + 10209 + wxCheckBox + + Two + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_MISSILE_WS3 + 45059096 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45022752 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_WS3 + 10212 + wxCheckBox + + Three FALSE @@ -14389,18 +11815,18 @@ - + wxStaticBoxSizer V - 46676656 + 45073640 dialog-control-document sizer 0 1 0 - 46647688 + 44447904 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY -1 @@ -14412,35 +11838,35 @@ TRUE Vertical - Centre - Expand + Left + Centre 0 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE FALSE <Any platform> - + wxFlexGridSizer - 46684824 + 45082112 dialog-control-document sizer 0 1 0 - 46676656 + 45073640 0 - 8/9/2005 + 15/9/2005 wbFlexGridSizerProxy - 2 - 4 + 4 + 2 0 0 @@ -14456,21 +11882,21 @@ FALSE FALSE FALSE - - wxCheckBox: IDC_REDDOOR_M1 - 46694368 + + wxCheckBox: IDC_PICKUPS_MISSILE_M1 + 45091656 dialog-control-document checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_M1 - 10081 + IDC_PICKUPS_MISSILE_M1 + 10216 wxCheckBox One @@ -14509,24 +11935,24 @@ - - wxCheckBox: IDC_REDDOOR_M5 - 46709144 + + wxCheckBox: IDC_PICKUPS_MISSILE_M2 + 45106640 dialog-control-document checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_M5 - 10085 + IDC_PICKUPS_MISSILE_M2 + 10219 wxCheckBox - Five + Two FALSE @@ -14562,24 +11988,24 @@ - - wxCheckBox: IDC_REDDOOR_M2 - 46723920 + + wxCheckBox: IDC_PICKUPS_MISSILE_M3 + 45121376 dialog-control-document checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_M2 - 10082 + IDC_PICKUPS_MISSILE_M3 + 10223 wxCheckBox - Two + Three FALSE @@ -14607,7 +12033,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -14615,24 +12041,24 @@ - - wxCheckBox: IDC_REDDOOR_M6 - 46738656 + + wxCheckBox: IDC_PICKUPS_MISSILE_M4 + 45136008 dialog-control-document checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_M6 - 10083 + IDC_PICKUPS_MISSILE_M4 + 10228 wxCheckBox - Six + Four FALSE @@ -14660,7 +12086,7 @@ 5 TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE @@ -14668,24 +12094,24 @@ - - wxCheckBox: IDC_REDDOOR_M3 - 46753392 + + wxCheckBox: IDC_PICKUPS_MISSILE_M5 + 45150608 dialog-control-document checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_M3 - 10087 + IDC_PICKUPS_MISSILE_M5 + 10231 wxCheckBox - Three + Five FALSE @@ -14721,24 +12147,24 @@ - - wxCheckBox: IDC_REDDOOR_M_MAP - 46768024 + + wxCheckBox: IDC_PICKUPS_MISSILE_M6 + 45165184 dialog-control-document checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_M_MAP - 10084 + IDC_PICKUPS_MISSILE_M6 + 10235 wxCheckBox - Map + Six FALSE @@ -14774,24 +12200,24 @@ - - wxCheckBox: IDC_REDDOOR_M4 - 46782872 + + wxCheckBox: IDC_PICKUPS_MISSILE_M7 + 45179768 dialog-control-document checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_M4 - 10086 + IDC_PICKUPS_MISSILE_M7 + 10240 wxCheckBox - Four + Seven FALSE @@ -14827,89 +12253,3070 @@ - - Spacer - 46797608 + + wxCheckBox: IDC_PICKUPS_MISSILE_M8 + 45194392 dialog-control-document - spacer + checkbox 0 1 0 - 46684824 + 45082112 0 - 8/9/2005 - wbSpacerProxy - 5 - 5 - Centre + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_MISSILE_M8 + 10245 + wxCheckBox + + Eight + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left Centre 0 - 0 + 5 TRUE TRUE TRUE - TRUE + FALSE FALSE FALSE FALSE - <Any platform> + + - - - wxStaticBoxSizer V - 46804072 - dialog-control-document - - sizer - 0 - 1 - 0 - 46647688 - 0 - 8/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Tourian - - - - FALSE - TRUE - Vertical - - Centre - Expand - 0 - 5 - TRUE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - <Any platform> - - wxCheckBox: IDC_REDDOOR_T1 - 46812272 + + + + wxStaticBoxSizer V + 44446696 + dialog-control-document + + sizer + 0 + 1 + 0 + 44440224 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Super Missile Packs + + + + FALSE + TRUE + Vertical + + Left + Expand + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxCheckBox: IDC_PICKUPS_SMISSILE_C + 45216464 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_C + 10028 + wxCheckBox + + Crateria + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_BS1 + 45230120 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_BS1 + 10248 + wxCheckBox + + Brinstar 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_BS2 + 45244032 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_BS2 + 10249 + wxCheckBox + + Brinstar 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_BS3 + 45258584 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_BS3 + 10253 + wxCheckBox + + Brinstar 3 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_NF + 45273136 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_NF + 10250 + wxCheckBox + + Norfair + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_WS1 + 45287840 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_WS1 + 10254 + wxCheckBox + + Wrecked Ship 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_WS2 + 45302600 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_WS2 + 10251 + wxCheckBox + + Wrecked Ship 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_M1 + 45317304 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_M1 + 10252 + wxCheckBox + + Maridia 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_M2 + 45332008 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_M2 + 10255 + wxCheckBox + + Maridia 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_SMISSILE_M3 + 45346712 + dialog-control-document + + checkbox + 0 + 1 + 0 + 44446696 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_SMISSILE_M3 + 10256 + wxCheckBox + + Maridia 3 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + + wxStaticBoxSizer V + 45361264 + dialog-control-document + + sizer + 0 + 1 + 0 + 44440224 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Power Bomb Packs + + + + FALSE + TRUE + Vertical + + Left + Expand + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxCheckBox: IDC_PICKUPS_PBOMB_BS1 + 45370248 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_BS1 + 10258 + wxCheckBox + + Brinstar 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_BS2 + 45385136 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_BS2 + 10259 + wxCheckBox + + Brinstar 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_BS3 + 45399840 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_BS3 + 10260 + wxCheckBox + + Brinstar 3 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_BS4 + 45414544 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_BS4 + 10261 + wxCheckBox + + Brinstar 4 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_BS5 + 45429264 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_BS5 + 10262 + wxCheckBox + + Brinstar 5 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_C + 45443976 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_C + 10257 + wxCheckBox + + Crateria + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_NF1 + 45458688 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_NF1 + 10264 + wxCheckBox + + Norfair 1 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_NF2 + 45473392 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_NF2 + 10265 + wxCheckBox + + Norfair 2 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_NF3 + 45488104 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_NF3 + 10266 + wxCheckBox + + Norfair 3 + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_PICKUPS_PBOMB_M + 45502816 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45361264 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_PICKUPS_PBOMB_M + 10267 + wxCheckBox + + Maridia + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + + + + + wxPanel: IDP_REDDOORS + 32606600 + dialog-control-document + + panel + 0 + 1 + 0 + 15452792 + 0 + 15/9/2005 + wbPanelProxy + IDP_REDDOORS + 10326 + wxPanel + Red Doors + + wxPanel + + FALSE + + + + + + FALSE + TRUE + <Any platform> + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + + TRUE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + + + wxBoxSizer V + 45532072 + dialog-control-document + + sizer + 0 + 1 + 0 + 32606600 + 0 + 15/9/2005 + wbBoxSizerProxy + Vertical + + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + wxBoxSizer H + 45538424 + dialog-control-document + + sizer + 0 + 1 + 0 + 45532072 + 0 + 15/9/2005 + wbBoxSizerProxy + Horizontal + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxStaticBoxSizer V + 45545440 + dialog-control-document + + sizer + 0 + 1 + 0 + 45538424 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Crateria + + + + FALSE + TRUE + Vertical + + Centre + Expand + 0 + 5 + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxCheckBox: IDC_REDDOOR_C_MAP + 45557000 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45545440 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_C_MAP + 10062 + wxCheckBox + + Map + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_C_BOMBS + 45571680 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45545440 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_C_BOMBS + 10063 + wxCheckBox + + Bombs + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_C_TELEVATOR + 45586176 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45545440 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_C_TELEVATOR + 10064 + wxCheckBox + + Tourian Elevator + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + + wxStaticBoxSizer V + 45600736 + dialog-control-document + + sizer + 0 + 1 + 0 + 45538424 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Brinstar + + + + FALSE + TRUE + Vertical + + Centre + Expand + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxFlexGridSizer + 45609192 + dialog-control-document + + sizer + 0 + 1 + 0 + 45600736 + 0 + 15/9/2005 + wbFlexGridSizerProxy + + + 2 + 5 + 0 + 0 + + <Any platform> + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + wxCheckBox: IDC_REDDOOR_BS1 + 45618992 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS1 + 10065 + wxCheckBox + + One + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS6 + 45633760 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS6 + 10070 + wxCheckBox + + Six + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS2 + 45648344 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS2 + 10066 + wxCheckBox + + Two + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS_MAP + 45662936 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS_MAP + 10071 + wxCheckBox + + Map + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS3 + 45677528 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS3 + 10067 + wxCheckBox + + Three + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS_RTANK + 45692152 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS_RTANK + 10072 + wxCheckBox + + Reserve Tank + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS4 + 45706736 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS4 + 10068 + wxCheckBox + + Four + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS_SPORESPAWN + 45721248 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS_SPORESPAWN + 10073 + wxCheckBox + + Spore Spawn + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS5 + 45735904 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS5 + 10069 + wxCheckBox + + Five + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_BS_XRAYSCOPE + 45750488 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45609192 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_BS_XRAYSCOPE + 10074 + wxCheckBox + + X-Ray Scope + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + + + + wxBoxSizer H + 45765112 + dialog-control-document + + sizer + 0 + 1 + 0 + 45532072 + 0 + 15/9/2005 + wbBoxSizerProxy + Horizontal + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxStaticBoxSizer V + 45770896 + dialog-control-document + + sizer + 0 + 1 + 0 + 45765112 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Norfair + + + + FALSE + TRUE + Vertical + + Centre + Expand + 0 + 5 + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxFlexGridSizer + 45779416 + dialog-control-document + + sizer + 0 + 1 + 0 + 45770896 + 0 + 15/9/2005 + wbFlexGridSizerProxy + + + 2 + 3 + 0 + 0 + + <Any platform> + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + wxCheckBox: IDC_REDDOOR_NF1 + 45788064 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_NF1 + 10075 + wxCheckBox + + One + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_NF_HJBOOTS + 45802616 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_NF_HJBOOTS + 10076 + wxCheckBox + + High Jump Boots + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_NF2 + 45817200 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_NF2 + 10077 + wxCheckBox + + Two + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_NF_SPEEDBOOSTER + 45831784 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_NF_SPEEDBOOSTER + 10078 + wxCheckBox + + Speed Booster + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_NF3 + 45846368 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_NF3 + 10079 + wxCheckBox + + Three + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_NF_WAVEBEAM + 45860952 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_NF_WAVEBEAM + 10080 + wxCheckBox + + Wave Beam + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_NF4 + 45875536 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_NF4 + 10172 + wxCheckBox + + Four + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + Spacer + 45890120 + dialog-control-document + + spacer + 0 + 1 + 0 + 45779416 + 0 + 15/9/2005 + wbSpacerProxy + 5 + 5 + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + + + + wxStaticBoxSizer V + 45896392 + dialog-control-document + + sizer + 0 + 1 + 0 + 45765112 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Wrecked Ship + + + + FALSE + TRUE + Vertical + + Centre + Expand + 0 + 5 + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxCheckBox: IDC_REDDOOR_WS_RTANK + 45904584 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45896392 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_WS_RTANK + 10173 + wxCheckBox + + Reserve Tank + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + + + wxBoxSizer H + 45918400 + dialog-control-document + + sizer + 0 + 1 + 0 + 45532072 + 0 + 15/9/2005 + wbBoxSizerProxy + Horizontal + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + wxStaticBoxSizer V + 45924360 + dialog-control-document + + sizer + 0 + 1 + 0 + 45918400 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Maridia + + + + FALSE + TRUE + Vertical + + Centre + Expand + 0 + 5 + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxFlexGridSizer + 45933032 + dialog-control-document + + sizer + 0 + 1 + 0 + 45924360 + 0 + 15/9/2005 + wbFlexGridSizerProxy + + + 2 + 4 + 0 + 0 + + <Any platform> + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + wxCheckBox: IDC_REDDOOR_M1 + 45943200 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45933032 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_M1 + 10081 + wxCheckBox + + One + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_M5 + 45957720 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45933032 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_M5 + 10085 + wxCheckBox + + Five + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_M2 + 45972304 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45933032 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_M2 + 10082 + wxCheckBox + + Two + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_M6 + 45986888 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45933032 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_M6 + 10083 + wxCheckBox + + Six + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_M3 + 46001472 + dialog-control-document + + checkbox + 0 + 1 + 0 + 45933032 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_M3 + 10087 + wxCheckBox + + Three + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_M_MAP + 46016056 dialog-control-document checkbox 0 1 0 - 46804072 + 45933032 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_T1 - 10089 + IDC_REDDOOR_M_MAP + 10084 wxCheckBox - One + Map FALSE @@ -14937,7 +15344,7 @@ 5 TRUE TRUE - FALSE + TRUE FALSE FALSE FALSE @@ -14945,24 +15352,24 @@ - - wxCheckBox: IDC_REDDOOR_T_MB - 46826296 + + wxCheckBox: IDC_REDDOOR_M4 + 46030648 dialog-control-document checkbox 0 1 0 - 46804072 + 45933032 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy - IDC_REDDOOR_T_MB - 10090 + IDC_REDDOOR_M4 + 10086 wxCheckBox - Mother Brain + Four FALSE @@ -14998,30 +15405,283 @@ + + Spacer + 46045240 + dialog-control-document + + spacer + 0 + 1 + 0 + 45933032 + 0 + 15/9/2005 + wbSpacerProxy + 5 + 5 + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + + + + wxStaticBoxSizer V + 46051512 + dialog-control-document + + sizer + 0 + 1 + 0 + 45918400 + 0 + 15/9/2005 + wbStaticBoxSizerProxy + wxID_ANY + -1 + Tourian + + + + FALSE + TRUE + Vertical + + Centre + Expand + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + <Any platform> + + wxCheckBox: IDC_REDDOOR_T1 + 46059696 + dialog-control-document + + checkbox + 0 + 1 + 0 + 46051512 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_T1 + 10089 + wxCheckBox + + One + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + + + + + wxCheckBox: IDC_REDDOOR_T_MB + 46073584 + dialog-control-document + + checkbox + 0 + 1 + 0 + 46051512 + 0 + 15/9/2005 + wbCheckBoxProxy + IDC_REDDOOR_T_MB + 10090 + wxCheckBox + + Mother Brain + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + - - wxStaticBoxSizer H - 46840928 + + + + wxPanel: IDP_GREENDOORS + 46088208 + dialog-control-document + + panel + 0 + 1 + 0 + 15452792 + 0 + 15/9/2005 + wbPanelProxy + IDP_GREENDOORS + 10325 + wxPanel + Green Doors + + wxPanel + + FALSE + + + + + + FALSE + TRUE + <Any platform> + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + + TRUE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + + + wxBoxSizer V + 46103472 + dialog-control-document + + sizer + 0 + 1 + 0 + 46088208 + 0 + 15/9/2005 + wbBoxSizerProxy + Vertical + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + wxBoxSizer H + 46109824 dialog-control-document sizer 0 1 0 - 46277784 + 46103472 0 - 8/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Green Doors - - - - FALSE - TRUE + 15/9/2005 + wbBoxSizerProxy Horizontal Left @@ -15036,21 +15696,21 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 46849000 + 46116224 dialog-control-document sizer 0 1 0 - 46840928 + 46109824 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 + -1 Crateria @@ -15071,18 +15731,18 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_GREENDOOR_C1 - 46857232 + 46127824 dialog-control-document checkbox 0 1 0 - 46849000 + 46116224 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_C1 10091 @@ -15124,18 +15784,18 @@ - + wxCheckBox: IDC_GREENDOOR_C_WS - 46871560 + 46142512 dialog-control-document checkbox 0 1 0 - 46849000 + 46116224 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_C_WS 10092 @@ -15178,21 +15838,21 @@ - + wxStaticBoxSizer V - 46886112 + 46156960 dialog-control-document sizer 0 1 0 - 46840928 + 46109824 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 + -1 Brinstar @@ -15213,18 +15873,18 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 46894352 + 46165432 dialog-control-document sizer 0 1 0 - 46886112 + 46156960 0 - 8/9/2005 + 15/9/2005 wbFlexGridSizerProxy @@ -15245,21 +15905,21 @@ FALSE FALSE FALSE - + wxCheckBox: IDC_GREENDOOR_BS1 - 46904000 + 46175232 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS1 - 10091 + 10327 wxCheckBox One @@ -15298,18 +15958,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS6 - 46918520 + 46189888 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS6 10094 @@ -15351,18 +16011,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS2 - 46932952 + 46204472 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS2 10095 @@ -15404,18 +16064,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS7 - 46947384 + 46219064 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS7 10096 @@ -15457,18 +16117,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS3 - 46961824 + 46233656 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS3 10097 @@ -15510,18 +16170,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS8 - 46976264 + 46248264 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS8 10098 @@ -15563,18 +16223,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS4 - 46990712 + 46262856 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS4 10099 @@ -15616,18 +16276,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS_SPAZER - 47005144 + 46277448 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS_SPAZER 10100 @@ -15669,18 +16329,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS5 - 47019576 + 46292032 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS5 10101 @@ -15722,18 +16382,18 @@ - + wxCheckBox: IDC_GREENDOOR_BS_SPORESPAWNEXIT - 47034016 + 46306616 dialog-control-document checkbox 0 1 0 - 46894352 + 46165432 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_BS_SPORESPAWNEXIT 10102 @@ -15777,21 +16437,49 @@ - + + + wxBoxSizer H + 46321240 + dialog-control-document + + sizer + 0 + 1 + 0 + 46103472 + 0 + 15/9/2005 + wbBoxSizerProxy + Horizontal + + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + wxStaticBoxSizer V - 47048560 + 46327024 dialog-control-document sizer 0 1 0 - 46840928 + 46321240 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 + -1 Norfair @@ -15804,7 +16492,7 @@ Expand 0 5 - TRUE + FALSE TRUE FALSE FALSE @@ -15812,18 +16500,18 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 47056680 + 46335544 dialog-control-document sizer 0 1 0 - 47048560 + 46327024 0 - 8/9/2005 + 15/9/2005 wbFlexGridSizerProxy @@ -15844,18 +16532,18 @@ FALSE FALSE FALSE - + wxCheckBox: IDC_GREENDOOR_NF1 - 47064704 + 46344200 dialog-control-document checkbox 0 1 0 - 47056680 + 46335544 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_NF1 10103 @@ -15897,18 +16585,18 @@ - + wxCheckBox: IDC_GREENDOOR_NF4 - 47079312 + 46358760 dialog-control-document checkbox 0 1 0 - 47056680 + 46335544 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_NF4 10104 @@ -15950,18 +16638,18 @@ - + wxCheckBox: IDC_GREENDOOR_NF2 - 47093744 + 46373344 dialog-control-document checkbox 0 1 0 - 47056680 + 46335544 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_NF2 10105 @@ -16003,18 +16691,18 @@ - + wxCheckBox: IDC_GREENDOOR_NF_ICEBEAM - 47108176 + 46387928 dialog-control-document checkbox 0 1 0 - 47056680 + 46335544 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_NF_ICEBEAM 10106 @@ -16056,18 +16744,18 @@ - + wxCheckBox: IDC_GREENDOOR_NF3 - 47122608 + 46402520 dialog-control-document checkbox 0 1 0 - 47056680 + 46335544 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_NF3 10107 @@ -16109,18 +16797,18 @@ - + wxCheckBox: IDC_GREENDOOR_NF_SPEEDBOOSTER - 47137080 + 46417104 dialog-control-document checkbox 0 1 0 - 47056680 + 46335544 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_NF_SPEEDBOOSTER 10108 @@ -16164,21 +16852,21 @@ - + wxStaticBoxSizer V - 47151616 + 46431648 dialog-control-document sizer 0 1 0 - 46840928 + 46321240 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 + -1 Wrecked Ship @@ -16199,18 +16887,18 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_GREENDOOR_WS - 47159880 + 46439920 dialog-control-document checkbox 0 1 0 - 47151616 + 46431648 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_WS 10109 @@ -16253,21 +16941,21 @@ - + wxStaticBoxSizer V - 47173552 + 46453576 dialog-control-document sizer 0 1 0 - 46840928 + 46321240 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY - -1 + -1 Maridia @@ -16288,18 +16976,18 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 47182008 + 46462032 dialog-control-document sizer 0 1 0 - 47173552 + 46453576 0 - 8/9/2005 + 15/9/2005 wbFlexGridSizerProxy @@ -16320,18 +17008,18 @@ FALSE FALSE FALSE - + wxCheckBox: IDC_GREENDOOR_M1 - 47191784 + 46471816 dialog-control-document checkbox 0 1 0 - 47182008 + 46462032 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_M1 10110 @@ -16373,18 +17061,18 @@ - + wxCheckBox: IDC_GREENDOOR_M3 - 47206544 + 46486584 dialog-control-document checkbox 0 1 0 - 47182008 + 46462032 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_M3 10111 @@ -16426,18 +17114,18 @@ - + wxCheckBox: IDC_GREENDOOR_M2 - 47221136 + 46501184 dialog-control-document checkbox 0 1 0 - 47182008 + 46462032 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_M2 10112 @@ -16479,18 +17167,18 @@ - + wxCheckBox: IDC_GREENDOOR_M_DRAYGON - 47235720 + 46515808 dialog-control-document checkbox 0 1 0 - 47182008 + 46462032 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_GREENDOOR_M_DRAYGON 10113 @@ -16535,53 +17223,136 @@ - - wxStaticBoxSizer H - 47250240 + + + + wxPanel: IDP_YELLOWEYEDOORS + 45555128 + dialog-control-document + + panel + 0 + 1 + 0 + 15452792 + 0 + 8/9/2005 + wbPanelProxy + IDP_YELLOWEYEDOORS + 10006 + wxPanel + Yellow &amp; Eye Doors + + wxPanel + + FALSE + + + + + + FALSE + TRUE + <Any platform> + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + + TRUE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + + + wxBoxSizer V + 46545152 + dialog-control-document + + sizer + 0 + 1 + 0 + 45555128 + 0 + 8/9/2005 + wbBoxSizerProxy + Vertical + + Centre + Centre + 0 + 0 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + + wxBoxSizer H + 46551352 dialog-control-document sizer 0 1 0 - 46277784 + 46545152 0 - 8/9/2005 - wbStaticBoxSizerProxy - wxID_ANY - -1 - Yellow Doors - - - - FALSE - TRUE + 15/9/2005 + wbBoxSizerProxy Horizontal Left - Expand + Centre 0 5 TRUE TRUE - FALSE - FALSE + TRUE + TRUE FALSE FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 47258208 + 46557720 dialog-control-document sizer 0 1 0 - 47250240 + 46551352 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY -1 @@ -16593,7 +17364,7 @@ TRUE Vertical - Centre + Left Expand 0 5 @@ -16605,18 +17376,18 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 47266872 + 46567264 dialog-control-document sizer 0 1 0 - 47258208 + 46557720 0 - 8/9/2005 + 15/9/2005 wbFlexGridSizerProxy @@ -16637,18 +17408,18 @@ FALSE FALSE FALSE - + wxCheckBox: IDC_YELLOWDOOR_C1 - 47276048 + 46577648 dialog-control-document checkbox 0 1 0 - 47266872 + 46567264 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_C1 10158 @@ -16690,18 +17461,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_C4 - 47290600 + 46592168 dialog-control-document checkbox 0 1 0 - 47266872 + 46567264 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_C4 10159 @@ -16743,18 +17514,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_C2 - 47305192 + 46606552 dialog-control-document checkbox 0 1 0 - 47266872 + 46567264 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_C2 10160 @@ -16796,18 +17567,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_C5 - 47319776 + 46621136 dialog-control-document checkbox 0 1 0 - 47266872 + 46567264 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_C5 10161 @@ -16849,18 +17620,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_C3 - 47334360 + 46635728 dialog-control-document checkbox 0 1 0 - 47266872 + 46567264 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_C3 10162 @@ -16902,18 +17673,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_C6 - 47348944 + 46650320 dialog-control-document checkbox 0 1 0 - 47266872 + 46567264 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_C6 10163 @@ -16957,18 +17728,18 @@ - + wxStaticBoxSizer V - 47363480 + 46664864 dialog-control-document sizer 0 1 0 - 47250240 + 46551352 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY -1 @@ -16980,7 +17751,7 @@ TRUE Vertical - Centre + Left Expand 0 5 @@ -16992,18 +17763,18 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 47371784 + 46673128 dialog-control-document sizer 0 1 0 - 47363480 + 46664864 0 - 8/9/2005 + 15/9/2005 wbFlexGridSizerProxy @@ -17024,18 +17795,18 @@ FALSE FALSE FALSE - + wxCheckBox: IDC_YELLOWDOOR_BS1 - 47380096 + 46681424 dialog-control-document checkbox 0 1 0 - 47371784 + 46673128 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_BS1 10164 @@ -17077,18 +17848,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_BS3 - 47394856 + 46696184 dialog-control-document checkbox 0 1 0 - 47371784 + 46673128 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_BS3 10165 @@ -17130,18 +17901,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_BS2 - 47409448 + 46710768 dialog-control-document checkbox 0 1 0 - 47371784 + 46673128 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_BS2 10166 @@ -17183,18 +17954,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_BS_XRAYSCOPE - 47424048 + 46725360 dialog-control-document checkbox 0 1 0 - 47371784 + 46673128 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_BS_XRAYSCOPE 10167 @@ -17238,18 +18009,18 @@ - + wxStaticBoxSizer V - 47438584 + 46739896 dialog-control-document sizer 0 1 0 - 47250240 + 46551352 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY -1 @@ -17261,7 +18032,7 @@ TRUE Vertical - Centre + Left Expand 0 5 @@ -17273,18 +18044,18 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_YELLOWDOOR_NF1 - 47446856 + 46748168 dialog-control-document checkbox 0 1 0 - 47438584 + 46739896 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_NF1 10168 @@ -17326,18 +18097,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_NF2 - 47460680 + 46761976 dialog-control-document checkbox 0 1 0 - 47438584 + 46739896 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_NF2 10169 @@ -17379,18 +18150,18 @@ - + wxCheckBox: IDC_YELLOWDOOR_NF_MAP - 47475360 + 46776672 dialog-control-document checkbox 0 1 0 - 47438584 + 46739896 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_YELLOWDOOR_NF_MAP 10170 @@ -17434,109 +18205,18 @@ - - - - wxPanel: IDP_SPECIALDOORS - 32412536 - dialog-control-document - - panel - 0 - 1 - 0 - 31599456 - 0 - 8/9/2005 - wbPanelProxy - IDP_SPECIALDOORS - 10171 - wxPanel - Special Doors - - wxPanel - - FALSE - - - - - - FALSE - TRUE - <Any platform> - FALSE - FALSE - FALSE - TRUE - FALSE - FALSE - FALSE - FALSE - FALSE - FALSE - TRUE - FALSE - FALSE - - TRUE - -1 - -1 - -1 - -1 - Centre - Centre - 0 - 5 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - - - - - wxBoxSizer V - 47504800 - dialog-control-document - - sizer - 0 - 1 - 0 - 32412536 - 0 - 8/9/2005 - wbBoxSizerProxy - Vertical - - Centre - Centre - 0 - 5 - TRUE - TRUE - TRUE - TRUE - FALSE - FALSE - FALSE - <Any platform> - + wxStaticBoxSizer H - 47511272 + 46791312 dialog-control-document sizer 0 1 0 - 47504800 + 46545152 0 - 8/9/2005 + 15/9/2005 wbStaticBoxSizerProxy wxID_ANY -1 @@ -17560,18 +18240,18 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_EYEDOOR_KRAID - 47521392 + 46799576 dialog-control-document checkbox 0 1 0 - 47511272 + 46791312 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_EYEDOOR_KRAID 10153 @@ -17613,18 +18293,18 @@ - + wxCheckBox: IDC_EYEDOOR_PHANTOON - 47536072 + 46813376 dialog-control-document checkbox 0 1 0 - 47511272 + 46791312 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_EYEDOOR_PHANTOON 10154 @@ -17666,18 +18346,18 @@ - + wxCheckBox: IDC_EYEDOOR_DRAYGON - 47550560 + 46827864 dialog-control-document checkbox 0 1 0 - 47511272 + 46791312 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_EYEDOOR_DRAYGON 10155 @@ -17719,18 +18399,18 @@ - + wxCheckBox: IDC_EYEDOOR_RIDLEY - 47565080 + 46842448 dialog-control-document checkbox 0 1 0 - 47511272 + 46791312 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_EYEDOOR_RIDLEY 10156 @@ -17772,18 +18452,18 @@ - + wxCheckBox: IDC_EYEDOOR_T - 47579560 + 46857040 dialog-control-document checkbox 0 1 0 - 47511272 + 46791312 0 - 8/9/2005 + 15/9/2005 wbCheckBoxProxy IDC_EYEDOOR_T 10157 @@ -17826,16 +18506,107 @@ - + + + + wxPanel: IDP_METALDOORS + 46126712 + dialog-control-document + + panel + 0 + 1 + 0 + 15452792 + 0 + 8/9/2005 + wbPanelProxy + IDP_METALDOORS + 10171 + wxPanel + Metal Doors + + wxPanel + + FALSE + + + + + + FALSE + TRUE + <Any platform> + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + FALSE + FALSE + FALSE + FALSE + TRUE + FALSE + FALSE + + TRUE + -1 + -1 + -1 + -1 + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + + + + + wxBoxSizer V + 46886976 + dialog-control-document + + sizer + 0 + 1 + 0 + 46126712 + 0 + 8/9/2005 + wbBoxSizerProxy + Vertical + + Centre + Centre + 0 + 5 + TRUE + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + <Any platform> + wxStaticBoxSizer V - 47594080 + 46893448 dialog-control-document sizer 0 1 0 - 47504800 + 46886976 0 8/9/2005 wbStaticBoxSizerProxy @@ -17861,16 +18632,16 @@ FALSE FALSE <Any platform> - + wxBoxSizer H - 47602680 + 46903976 dialog-control-document sizer 0 1 0 - 47594080 + 46893448 0 8/9/2005 wbBoxSizerProxy @@ -17888,16 +18659,16 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 47610472 + 46912464 dialog-control-document sizer 0 1 0 - 47602680 + 46903976 0 8/9/2005 wbStaticBoxSizerProxy @@ -17923,16 +18694,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_METALDOOR_C_BOMBSEXIT - 47622272 + 46924240 dialog-control-document checkbox 0 1 0 - 47610472 + 46912464 0 8/9/2005 wbCheckBoxProxy @@ -17977,16 +18748,16 @@ - + wxStaticBoxSizer V - 47636776 + 46938744 dialog-control-document sizer 0 1 0 - 47602680 + 46903976 0 8/9/2005 wbStaticBoxSizerProxy @@ -18012,16 +18783,16 @@ FALSE FALSE <Any platform> - + wxFlexGridSizer - 47645248 + 46947216 dialog-control-document sizer 0 1 0 - 47636776 + 46938744 0 8/9/2005 wbFlexGridSizerProxy @@ -18044,16 +18815,16 @@ FALSE FALSE FALSE - + wxCheckBox: IDC_METALDOOR_BS1 - 47654800 + 46956800 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18097,16 +18868,16 @@ - + wxCheckBox: IDC_METALDOOR_BS6 - 47669728 + 46971536 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18150,16 +18921,16 @@ - + wxCheckBox: IDC_METALDOOR_BS2 - 47684464 + 46986272 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18203,16 +18974,16 @@ - + wxCheckBox: IDC_METALDOOR_BS7 - 47699216 + 47001008 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18256,16 +19027,16 @@ - + wxCheckBox: IDC_METALDOOR_BS3 - 47713960 + 47015752 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18309,16 +19080,16 @@ - + wxCheckBox: IDC_METALDOOR_BS8 - 47728696 + 47030496 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18362,16 +19133,16 @@ - + wxCheckBox: IDC_METALDOOR_BS4 - 47743440 + 47045232 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18415,16 +19186,16 @@ - + wxCheckBox: IDC_METALDOOR_BS9 - 47758176 + 47059968 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18468,16 +19239,16 @@ - + wxCheckBox: IDC_METALDOOR_BS5 - 47772912 + 47074712 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18521,16 +19292,16 @@ - + wxCheckBox: IDC_METALDOOR_BS_MAPEXIT - 47787656 + 47089448 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18574,16 +19345,16 @@ - + wxCheckBox: IDC_METALDOOR_BS_OLDTLEFT - 47802408 + 47104192 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18627,16 +19398,16 @@ - + wxCheckBox: IDC_METALDOOR_BS_OLDTRIGHT - 47817168 + 47118944 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18680,16 +19451,16 @@ - + wxCheckBox: IDC_METALDOOR_BS_MINIKRAIDLEFT - 47831944 + 47133696 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18733,16 +19504,16 @@ - + wxCheckBox: IDC_METALDOOR_BS_MINIKRAIDRIGHT - 47846680 + 47148480 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18786,16 +19557,16 @@ - + wxCheckBox: IDC_METALDOOR_BS_VARIASUIT - 47861416 + 47163216 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18839,16 +19610,16 @@ - + wxCheckBox: IDC_METALDOOR_BS_KRAIDEXIT - 47876152 + 47177952 dialog-control-document checkbox 0 1 0 - 47645248 + 46947216 0 8/9/2005 wbCheckBoxProxy @@ -18894,16 +19665,16 @@ - + wxStaticBoxSizer V - 47891088 + 47192880 dialog-control-document sizer 0 1 0 - 47602680 + 46903976 0 8/9/2005 wbStaticBoxSizerProxy @@ -18929,16 +19700,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_METALDOOR_NF_HJBOOTSEXIT - 47899216 + 47201008 dialog-control-document checkbox 0 1 0 - 47891088 + 47192880 0 8/9/2005 wbCheckBoxProxy @@ -18982,16 +19753,16 @@ - + wxCheckBox: IDC_METALDOOR_NF_CROCOMIREEXIT - 47912888 + 47214680 dialog-control-document checkbox 0 1 0 - 47891088 + 47192880 0 8/9/2005 wbCheckBoxProxy @@ -19035,16 +19806,16 @@ - + wxCheckBox: IDC_METALDOOR_NF_SCREWATTACK - 47927192 + 47229096 dialog-control-document checkbox 0 1 0 - 47891088 + 47192880 0 8/9/2005 wbCheckBoxProxy @@ -19088,16 +19859,16 @@ - + wxCheckBox: IDC_METALDOOR_NF_GOLDSPACEPIRATES - 47941728 + 47243536 dialog-control-document checkbox 0 1 0 - 47891088 + 47192880 0 8/9/2005 wbCheckBoxProxy @@ -19141,16 +19912,16 @@ - + wxCheckBox: IDC_METALDOOR_NF_RIDLEYLEFT - 47956160 + 47257968 dialog-control-document checkbox 0 1 0 - 47891088 + 47192880 0 8/9/2005 wbCheckBoxProxy @@ -19194,16 +19965,16 @@ - + wxCheckBox: IDC_METALDOOR_NF_RIDLEYEXIT - 47970592 + 47272400 dialog-control-document checkbox 0 1 0 - 47891088 + 47192880 0 8/9/2005 wbCheckBoxProxy @@ -19249,16 +20020,16 @@ - + wxBoxSizer H - 47985128 + 47286944 dialog-control-document sizer 0 1 0 - 47594080 + 46893448 0 8/9/2005 wbBoxSizerProxy @@ -19276,16 +20047,16 @@ FALSE FALSE <Any platform> - + wxStaticBoxSizer V - 47990952 + 47292768 dialog-control-document sizer 0 1 0 - 47985128 + 47286944 0 8/9/2005 wbStaticBoxSizerProxy @@ -19311,16 +20082,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_METALDOOR_WS1 - 48000336 + 47302152 dialog-control-document checkbox 0 1 0 - 47990952 + 47292768 0 8/9/2005 wbCheckBoxProxy @@ -19364,16 +20135,16 @@ - + wxCheckBox: IDC_METALDOOR_WS2 - 48014944 + 47316760 dialog-control-document checkbox 0 1 0 - 47990952 + 47292768 0 8/9/2005 wbCheckBoxProxy @@ -19417,16 +20188,16 @@ - + wxCheckBox: IDC_METALDOOR_WS3 - 48029376 + 47331192 dialog-control-document checkbox 0 1 0 - 47990952 + 47292768 0 8/9/2005 wbCheckBoxProxy @@ -19470,16 +20241,16 @@ - + wxCheckBox: IDC_METALDOOR_WS4 - 48043816 + 47345632 dialog-control-document checkbox 0 1 0 - 47990952 + 47292768 0 8/9/2005 wbCheckBoxProxy @@ -19523,16 +20294,16 @@ - + wxCheckBox: IDC_METALDOOR_WS_PHANTOONEXIT - 48058256 + 47360064 dialog-control-document checkbox 0 1 0 - 47990952 + 47292768 0 8/9/2005 wbCheckBoxProxy @@ -19577,16 +20348,16 @@ - + wxStaticBoxSizer V - 48072792 + 47374616 dialog-control-document sizer 0 1 0 - 47985128 + 47286944 0 8/9/2005 wbStaticBoxSizerProxy @@ -19612,16 +20383,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_METALDOOR_M1 - 48081496 + 47383320 dialog-control-document checkbox 0 1 0 - 48072792 + 47374616 0 8/9/2005 wbCheckBoxProxy @@ -19665,16 +20436,16 @@ - + wxCheckBox: IDC_METALDOOR_M2 - 48096104 + 47397944 dialog-control-document checkbox 0 1 0 - 48072792 + 47374616 0 8/9/2005 wbCheckBoxProxy @@ -19718,16 +20489,16 @@ - + wxCheckBox: IDC_METALDOOR_M_BOTWOONEXIT - 48110536 + 47412384 dialog-control-document checkbox 0 1 0 - 48072792 + 47374616 0 8/9/2005 wbCheckBoxProxy @@ -19771,16 +20542,16 @@ - + wxCheckBox: IDC_METALDOOR_M_SPACEJUMP - 48124968 + 47426824 dialog-control-document checkbox 0 1 0 - 48072792 + 47374616 0 8/9/2005 wbCheckBoxProxy @@ -19824,16 +20595,16 @@ - + wxCheckBox: IDC_METALDOOR_M_DRAYGONEXIT - 48139552 + 47441424 dialog-control-document checkbox 0 1 0 - 48072792 + 47374616 0 8/9/2005 wbCheckBoxProxy @@ -19877,16 +20648,16 @@ - + wxCheckBox: IDC_METALDOOR_M_PLASMA - 48154136 + 47456008 dialog-control-document checkbox 0 1 0 - 48072792 + 47374616 0 8/9/2005 wbCheckBoxProxy @@ -19930,16 +20701,16 @@ - + wxCheckBox: IDC_METALDOOR_M_PLASMAEXIT - 48168728 + 47470592 dialog-control-document checkbox 0 1 0 - 48072792 + 47374616 0 8/9/2005 wbCheckBoxProxy @@ -19984,16 +20755,16 @@ - + wxStaticBoxSizer V - 48183264 + 47485136 dialog-control-document sizer 0 1 0 - 47985128 + 47286944 0 8/9/2005 wbStaticBoxSizerProxy @@ -20019,16 +20790,16 @@ FALSE FALSE <Any platform> - + wxCheckBox: IDC_METALDOOR_T1 - 48192264 + 47494144 dialog-control-document checkbox 0 1 0 - 48183264 + 47485136 0 8/9/2005 wbCheckBoxProxy @@ -20072,16 +20843,16 @@ - + wxCheckBox: IDC_METALDOOR_T2 - 48207032 + 47508912 dialog-control-document checkbox 0 1 0 - 48183264 + 47485136 0 8/9/2005 wbCheckBoxProxy @@ -20125,16 +20896,16 @@ - + wxCheckBox: IDC_METALDOOR_T3 - 48221616 + 47523504 dialog-control-document checkbox 0 1 0 - 48183264 + 47485136 0 8/9/2005 wbCheckBoxProxy @@ -20178,16 +20949,16 @@ - + wxCheckBox: IDC_METALDOOR_T4 - 48236208 + 47538088 dialog-control-document checkbox 0 1 0 - 48183264 + 47485136 0 8/9/2005 wbCheckBoxProxy @@ -20231,6 +21002,59 @@ + + wxCheckBox: IDC_METALDOOR_T5 + 47552680 + dialog-control-document + + checkbox + 0 + 1 + 0 + 47485136 + 0 + 14/9/2005 + wbCheckBoxProxy + IDC_METALDOOR_T5 + 10035 + wxCheckBox + + Five + FALSE + + + + + + + + FALSE + TRUE + <Any platform> + FALSE + TRUE + FALSE + FALSE + FALSE + + -1 + -1 + -1 + -1 + Left + Centre + 0 + 5 + TRUE + TRUE + TRUE + FALSE + FALSE + FALSE + FALSE + + + @@ -20238,16 +21062,16 @@ - + wxStatusBar: IDSBAR_SMSE - 46902992 + 15160856 dialog-control-document statusbar 0 1 0 - 15149200 + 15156296 0 6/9/2005 wbStatusBarProxy @@ -20296,42 +21120,42 @@ - + Sources - 48250280 + 47484672 html-document sourcesfolder 1 1 0 - 15125648 + 15125768 1 - + smse.rc - 15178744 + 15187016 source-editor-document smse.rc source-editor 0 0 1 - 48250280 + 47484672 0 6/9/2005 - + Images - 48182800 + 47374152 html-document bitmapsfolder 1 1 0 - 15125648 + 15125768 1 diff --git a/Doxyfile b/Doxyfile index 07b6a65..5825c83 100644 --- a/Doxyfile +++ b/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = "Super Metroid SRAM Editor" -PROJECT_NUMBER = 0.90 +PROJECT_NUMBER = 0.91 OUTPUT_DIRECTORY = apidocs CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/Info.plist b/Info.plist index 0bd11c1..6e55f0f 100644 --- a/Info.plist +++ b/Info.plist @@ -24,16 +24,16 @@ ???? CFBundleVersion - 0.90 + 0.91 CFBundleShortVersionString - 0.90 + 0.91 CFBundleGetInfoString - smse 0.90, (C) 2005 John Ratliff + smse 0.91, (C) 2005 John Ratliff CFBundleLongVersionString - 0.90, (C) 2005 John Ratliff + 0.91, (C) 2005 John Ratliff NSHumanReadableCopyright Copyright 2005 John Ratliff diff --git a/TODO b/TODO index eb32d85..124f82a 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,2 @@ - Add Mac Icon -- Document known SRAM offsets in sram guide diff --git a/config.guess b/config.guess index 686d132..917bbc5 100644 --- a/config.guess +++ b/config.guess @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -timestamp='2005-05-27' +timestamp='2005-07-08' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -125,7 +125,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' +esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -138,23 +138,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -216,44 +199,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; - amd64:OpenBSD:*:*) - echo x86_64-unknown-openbsd${UNAME_RELEASE} - exit ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit ;; - cats:OpenBSD:*:*) - echo arm-unknown-openbsd${UNAME_RELEASE} - exit ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit ;; - luna88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit ;; - sgi:OpenBSD:*:*) - echo mips64-unknown-openbsd${UNAME_RELEASE} - exit ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} @@ -675,8 +623,7 @@ EOF esac if [ ${HP_ARCH} = "hppa2.0w" ] then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler @@ -868,25 +815,25 @@ EOF echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo cris-axis-linux-${LIBC} + echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-${LIBC} + echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-${LIBC} + echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build @@ -905,7 +852,7 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build @@ -924,13 +871,13 @@ EOF #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -943,34 +890,34 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-${LIBC} + echo x86_64-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so @@ -985,21 +932,20 @@ EOF p'` case "$ld_supported_targets" in elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}" + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout" + echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) - echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff" + echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld" + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac - if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c diff --git a/config.sub b/config.sub index aff94c6..1c366df 100644 --- a/config.sub +++ b/config.sub @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. -timestamp='2005-06-02' +timestamp='2005-07-08' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -234,7 +234,7 @@ case $basic_machine in | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | bfin \ | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx | dvp \ + | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ @@ -248,7 +248,7 @@ case $basic_machine in | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ - | mips64r5900 | mips64r5900el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ @@ -260,11 +260,11 @@ case $basic_machine in | ms1 \ | msp430 \ | ns16k | ns32k \ - | openrisc | or32 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b \ @@ -327,7 +327,7 @@ case $basic_machine in | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ - | mips64r5900-* | mips64r5900el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ @@ -344,7 +344,7 @@ case $basic_machine in | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ | sparclite-* \ @@ -678,24 +678,6 @@ case $basic_machine in basic_machine=m68k-atari os=-mint ;; - mipsEE* | ee | ps2) - basic_machine=mips64r5900el-scei - case $os in - -linux*) - ;; - *) - os=-elf - ;; - esac - ;; - iop) - basic_machine=mipsel-scei - os=-irx - ;; - dvp) - basic_machine=dvp-scei - os=-elf - ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; @@ -789,9 +771,8 @@ case $basic_machine in basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff ;; os400) basic_machine=powerpc-ibm @@ -1117,12 +1098,9 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; @@ -1209,8 +1187,8 @@ case $os in | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* | -skyos* \ - | -irx* ) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1228,7 +1206,7 @@ case $os in os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) @@ -1417,6 +1395,9 @@ case $basic_machine in *-be) os=-beos ;; + *-haiku) + os=-haiku + ;; *-ibm) os=-aix ;; diff --git a/configure b/configure index f3ce69a..5f7dd28 100644 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for smse 0.90. +# Generated by GNU Autoconf 2.59 for smse 0.91. # # Report bugs to . # @@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='smse' PACKAGE_TARNAME='smse' -PACKAGE_VERSION='0.90' -PACKAGE_STRING='smse 0.90' +PACKAGE_VERSION='0.91' +PACKAGE_STRING='smse 0.91' PACKAGE_BUGREPORT='webmaster@technoplaza.net' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar build build_cpu build_vendor build_os host host_cpu host_vendor host_os WINDOWS_TRUE WINDOWS_FALSE CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE WX_CONFIG_PATH WX_CPPFLAGS WX_CFLAGS WX_CXXFLAGS WX_CFLAGS_ONLY WX_CXXFLAGS_ONLY WX_LIBS WX_LIBS_STATIC WX_VERSION WX_INCLUDES LIBOBJS LTLIBOBJS' @@ -738,7 +738,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures smse 0.90 to adapt to many kinds of systems. +\`configure' configures smse 0.91 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -804,7 +804,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of smse 0.90:";; + short | recursive ) echo "Configuration of smse 0.91:";; esac cat <<\_ACEOF @@ -930,7 +930,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -smse configure 0.90 +smse configure 0.91 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -944,7 +944,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by smse $as_me 0.90, which was +It was created by smse $as_me 0.91, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1593,7 +1593,7 @@ fi # Define the identity of the package. PACKAGE='smse' - VERSION='0.90' + VERSION='0.91' cat >>confdefs.h <<_ACEOF @@ -3262,7 +3262,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by smse $as_me 0.90, which was +This file was extended by smse $as_me 0.91, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3325,7 +3325,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -smse config.status 0.90 +smse config.status 0.91 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index b0f4785..f93b32b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Initialize autoconf -AC_INIT([smse], [0.90], [webmaster@technoplaza.net]) +AC_INIT([smse], [0.91], [webmaster@technoplaza.net]) dnl require autoconf >= 2.59 AC_PREREQ([2.59]) diff --git a/docs/license.txt b/docs/license.txt new file mode 100644 index 0000000..1bb399f --- /dev/null +++ b/docs/license.txt @@ -0,0 +1,341 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + diff --git a/docs/smse.txt b/docs/smse.txt index c6f5a9a..daa15be 100644 --- a/docs/smse.txt +++ b/docs/smse.txt @@ -1,5 +1,5 @@ -------------------------------------------------------------------------------- -| smse 0.90 - The Super Metroid SRAM Editor +| smse 0.91 - The Super Metroid SRAM Editor | Copyright (C) 2005 emuWorks (http://games.technoplaza.net/) | by John Ratliff -------------------------------------------------------------------------------- @@ -17,6 +17,7 @@ - 3.3.1 Game Selection - 3.3.2 The Ending Submenu - 3.3.3 The Give Submenu + - 3.3.4 The Copy and Clear Submenus - 4.0 Known Bugs and Issues - 5.0 Release History - 6.0 Contact Information @@ -121,10 +122,13 @@ common program controls such as checkboxes, drop-down boxes, text boxes, and spin buttons. - When the program is started, a big blank window will open. You will need to - select open from the file menu to select a Super Metroid SRAM file. At this - time, you cannot specify one on the terminal. When you select open, a file - dialog will appear and let you browse for your SRAM file. + When the program is started, a big blank window will open. There are a couple + ways to open your Super Metroid SRAM file. You can either drag the file onto + the window or you can use the open command from the file menu. If you start + from the terminal, you can also specify the SRAM file as a command line + argument, e.g. ./smse metroid3.srm. You might also be able to drag your SRAM + file onto the executable to open it. This works under Windows, but I don't + know if other platforms handle application file drop like this. ZSNES on Windows generally stores its SRAM files in the same directory as the ROM file unless you have explicitly changed this behavior. I believe Snes9x @@ -135,13 +139,13 @@ After you have opened the SRAM file, a notebook will open (terminology varies, but a notebook is the window with tabs at the top where you can select a - different page). There are five tabs on the notebook: "Game", "Misc", "Items", - "Color Doors", and "Special Doors". The names should give you a hint as to - what kinds of Super Metroid properties you can edit on each page, but we will - do a brief overview. + different page). There are eight tabs on the notebook: "Game", "Misc", + "Items", "Pickups", "Red Doors", "Green Doors", "Yellow & Eye Doors", and + finally "Metal Doors". The names should give you a hint as to what kinds of + properties you can edit on each page, but we will do a brief overview. The 'Game' tab has general game properties. These include Samus' health, - inventory, which bosses she has killed, the save point, and her map data (the + inventory, which enemies she has killed, the save point, and her map data (the maps given to you by the map data stations in the game). Note: The Tourian map is given to you automatically when you first enter @@ -156,8 +160,10 @@ The 'Items' tab contains all the items Samus can find on Zebes. This includes all her suit power-ups (Morphing Ball, Space Jump, Varia Suit, etc), the - grappling beam and X-Ray Scope, all the missile, super missile, and power bomb - packs, and finally, all the energy and reserve tanks. + grappling beam and X-Ray Scope, and all the energy and reserve tanks. + + The 'Pickups' tab contains all the missile, super missile, and power bomb + pack pickups. Note: To avoid any confusion by Super Metroid, the program tries as much as possible to limit invalid selections or choices. You cannot have @@ -167,24 +173,19 @@ spazer and plasma simultaneously. This is a good limit though because if you fired such a beam, the game would crash (yes, I tried it). - The 'Color Doors' tab contains all the red, green, and yellow doors in the - game that I was able to find. I think this is all of them, but I might have - missed a couple. The doors have descriptions where possible, but some doors - don't lead to anything that can be pointed out without a common point of - reference. I did about the best I could. I will try to update the names if I - can. - - The final tab, 'Special Doors' contains all the eye doors and metal doors. - The eye doors are the doors with eyes in them that shoot at Samus. There are - five in the game, one for each area (excluding Crateria and the Space Colony). - The metal doors are the ones that flash when you have completed a task. I do - not know the ramifications of opening a door and exiting through it before a - task is complete. For instance, if you were to open Phantoon's exit door and - leave during the battle, it is unknown what would happen. Attempt this at your - own risk. Maybe I'll try it and update the docs. - - Most of the controls on the five tabs are fairly straightforward. Checkboxes - for almost everything. A few radio buttons for exclusive choices and finally, + Each door tab contains a particular kind of door. Red doors are the ones you + can open with 5 missiles or 1 super missile. Green doors are the ones that + require a super missile to open. Yellow doors require a power bomb. Eye doors + are the doors with an eye that guard certain places in Zebes. They can be + killed with three missiles or a super missile. Metal doors require you to + complete a task before you can open them. Some metal doors cannot be opened. + + The doors have descriptions where possible, but some doors don't lead to + anything that can be pointed out without a common point of reference. I + labelled most of the doors. + + Most of the controls on the tabs are fairly straightforward. Checkboxes for + almost everything. A few radio buttons for exclusive choices and finally, some text boxes for entering values. The energy, reserve, missile, super missile, and power bomb controls cannot @@ -194,11 +195,15 @@ values in the first place, but this seems to be a difficult if not impossible task. + The metroid room controls determine which rooms in Tourian have been cleared + of metroids. There are four rooms in Tourian with metroids. Using these + controls, you can kill all the metroids in a particular room. + Because of the way the game works, it is not possible to kill individual zebetites. The game only checks for a certain bit pattern when deciding to display a zebetite or not. This means you can kill any number of zebetites in a row, but you can't kill 1 and 3 without killing 2. (or if you can, then - I don't know the math to do it). + I don't know quite how to do it). The game time control is in the form hours:minutes. You must supply a valid value for the game time to change. The status bar will flash a warning while @@ -216,25 +221,40 @@ | 3.2 Save Points -------------------------------------------------------------------------------- - I wish I had a comprehensive list of the save points, but unfortunately, such - a list would require a common point of reference, which I don't have. + The save point options in the program are a little vague. Here is the full + list of save points. It's hard to be specific, but I have some common points + of reference that may should help uniquely identify each save point. + + Crateria 1 is Samus' ship + Crateria 2 is near the old Tourian escape shaft - There are three save points I know about. I may update this section to list - some others that could be easily described. + Brinstar 1 is near Spore Spawn + Brinstar 2 is near the elevator from Crateria (the first one) + Brinstar 3 is near the Etecoon's shaft + Brinstar 4 is near Kraid + Brinstar 5 is near the elevator to Crateria near the Wrecked Ship entrance - Crateria 1 is Samus' ship. - Tourian 1 is the save point just before Mother Brain. - Tourian 2 is the save point at the entrance to Tourian. + Norfair 1 is just past Crocomire + Norfair 2 is near the Norfair reserve tank + Norfair 3 is near the elevator from Brinstar + Norfair 4 is just before Crocomire + Norfair 5 is by the elevator to lower Norfair (Ridley's Lair) + Norfair 6 is near Ridley + + There's only one save point in the Wrecked Ship. + + Maridia 1 is near the glass tube + Maridia 2 is near the Craterian elevator past the Wrecked Ship + Maridia 3 is near the Maridian reserve tank + Maridia 4 is near Draygon + + Tourian 1 is near Mother Brain + Tourian 2 is near the elevator from Crateria Once you pass the Metroid larva, you cannot exit Tourian normally. The metal door that blocks your path cannot be opened as far as I know. You can change your save point if you want to leave Tourian. - The numbers mean nothing. 1 is not necessarily the save point closest to the - area's elevator (though one would think it should be, I don't think it ever - is). Sorry I don't have a better list than this. I'll try to work on getting - the ones closest to the area elevators at the least. - -------------------------------------------------------------------------------- | 3.3 The Game Menu -------------------------------------------------------------------------------- @@ -283,6 +303,7 @@ Bosses - Kills all bosses Mini-Bosses - Kills all mini-bosses + Metroid Rooms - Kills all metroids in the four rooms in Tourian Zebetites - Kills all zebetites Maps - Give Samus all map data @@ -309,6 +330,25 @@ to Tourian 1. Because all the metal doors were open, I simply screw attacked past the Metroids without killing any. I received a 100% collection rate for items. + +-------------------------------------------------------------------------------- +| 3.3.4 The Copy and Clear Submenus +-------------------------------------------------------------------------------- + + The copy and clear menus are just like the game copy and game clear options + on the Super Metroid menu screen. + + Copy copies one game to another, while clear erases a game. + + Any of the menu items on these submenus will bring up a dialog to confirm your + actions before it makes them. + + There are some minor caveats with clear. If you clear the game you are + currently editing, one of two things will happen. If there is another valid + game, then it will select the first one found and change to editing that game. + If there are no other valid games, then it will close the file and save + automatically. If it is unable to save the SRAM file, then it will ignore the + clear. -------------------------------------------------------------------------------- | 4.0 Known Bugs and Issues @@ -316,11 +356,19 @@ There are no KNOWN bugs at this time. :-) - This program requires a 1024x768 display. Sorry. I really do try to aim for - 800x600 most of the time, but there are just too many things to edit in - Super Metroid. An 800x600 rewrite may come later, but right now, it's not on - my TODO list. In Windows, it may barely fit on 800x600. Linux is a definite - no, and I don't think the OS X version will fit in 800x600 either. + For some reason Linux doesn't maximize the notebook when it is first + displayed. It only takes up most of the screen, even though it's supposed to + take the entire window. I think it is a bug in wxWidgets, and I can't do much + about that. You can fix it by resizing or maximizing the window. + + The Linux version takes up much more space than the Windows and OS X versions. + Unfortunately, I can't do much about this but try to adapt. Version >= 0.91 + will fit in an 800x600 display on GTK+ if you have no top or bottom panels on + the screen. If you have one of each (as I do), the status bar will be + obscured, but all the controls will be usable. Sorry, but this is the best I + could do. If you want it to look better, stop using a tiny resolution. + 1024x768 and up work great. I will not cater to people still clinging to + 640x480. You can create invalid controller configurations with this program. There is no check for invalid configurations currently. I hope to address this in a @@ -328,14 +376,21 @@ controller configuration controls, but if you do, make sure you don't duplicate any buttons or it won't work as expected. - I think you can edit which Metroids have been killed. I thought earlier it was - tied to the metal doors being open, but later information contradicts this. I - may add a Metroid killing property in a future version. - -------------------------------------------------------------------------------- | 5.0 Release History -------------------------------------------------------------------------------- + Version 0.91 - Saturday, October 15, 2005 + - Updated save point list in the readme + - Added Tourian Metal Door 5 + - Fixed bug where close on would ignore cancel button on the save prompt + - Added metroid room controls + - Added metroid rooms to Game/Give submenu + - Added drag 'N drop + - Added command line SRAM argument + - Added copy and clear to game menu + - Changed GUI to fit in 800x600 on Linux/GTK (barely) + Version 0.90 - Thursday, October 13, 2005 - First public release diff --git a/docs/sram-doc.txt b/docs/sram-doc.txt index 311ef6b..27a7bb2 100644 --- a/docs/sram-doc.txt +++ b/docs/sram-doc.txt @@ -1,7 +1,939 @@ --------------------------------------------------------------------------------- -| Super Metroid SRAM Document -| Version 1.0 --------------------------------------------------------------------------------- +------------------------------------------------------------------------------- +| Super Metroid SRAM Document 1.0 +| by John David Ratliff +| +| The most recent version of this guide can always be found at +| http://games.technoplaza.net/smse/sram-doc.txt +| +| Copyright (C) 2005 emuWorks (http://games.technoplaza.net/) +| Permission is granted to copy, distribute and/or modify this document +| under the terms of the GNU Free Documentation License, Version 1.2 +| or any later version published by the Free Software Foundation; +| with no Invariant Sections, no Front-Cover Texts, and no Back-Cover +| Texts. A copy of the license can be found at +| http://www.gnu.org/licenses/fdl.html +------------------------------------------------------------------------------- - Sorry, I haven't written this yet. +------------------------------------------------------------------------------- +| Table of Contents +------------------------------------------------------------------------------- + + - 1.0 Introduction + - 2.0 Copyright Notice + - 3.0 Revision History + - 4.0 The Super Metroid SRAM + - 4.1 SRAM Basics + - 4.2 SRAM Offsets + - 4.3 The Sanity Algorithm + - 4.4 Checksum Repair Program (sanity.c) + - 5.0 smse - The Super Metroid SRAM Editor + - 6.0 Credits & Acknowledgements + - 7.0 Contact Information + +------------------------------------------------------------------------------- +| 1.0 Introduction +------------------------------------------------------------------------------- + + This document is a guide to the SRAM format used by Super Metroid for the + Super Nintendo and Super Famicom. It is not a walkthrough or guide to + anything else about the game or any other topic. + + Save RAM, abbreviated SRAM, was used in nearly all Nintendo games to save + progress in the cartridge prior to the advent of memory cards and built-in + hard drives that came with third-generation (and later) systems such as the + Playstation and X-Box. SRAM is a special segment of memory which is preserved + using a battery built into the cartridge, and enables games to keep a limited + area of memory from being erased when the console (SNES) was turned off. + + SRAM was reliable so long as the battery lasted, and the batteries were + generally guaranteed for 5 years from the date of cartridge production, and + often outlasted their guarantee period. Many Nintendo and Super Nintendo + cartridges with SRAM still have working batteries, and many others are now + dead. + + Why have I spent two paragraphs talking about SRAM? Because it was the + storage medium used to save game progress for Super Metroid. All three games, + along with some other information was stored in a block of memory 0x2000 + bytes long. (Note: all numbers prefixed with 0x are in the hexadecimal + system) + + This document is a guide to what is stored in the SRAM and where. It is + useful only if you wish to alter the SRAM in some way. See section 5.0 for + a program that helps edit Super Metroid SRAM files. + + Why would you want to edit the SRAM file? To edit your games; either to cheat + or to try things out. For example, say you wanted to try a new way of + beating Draygon, but didn't have any save games. Rather than play all the + way through to Draygon, you might just start a game, get past the space + colony, save the game on Zebes and edit the SRAM to put you near Draygon + with whatever equipment you might need to try your new method. Of course, + cheating is probably the more popular use for SRAM editing. + +------------------------------------------------------------------------------- +| 2.0 Copyright Notice +------------------------------------------------------------------------------- + + This document is Copyright (C) 2005 emuWorks (http://games.technoplaza.net/) + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license can be found at + http://www.gnu.org/licenses/fdl.html + + Basically, it is free documentation in much the same way software under the + GNU General Public License is free software. You can modify it, redistribute + it, sell it, publish it, etc. + +------------------------------------------------------------------------------- +| 3.0 Revision History +------------------------------------------------------------------------------- + + Version 1.0 - Saturday, October 15, 2005 + - First Public Release + +------------------------------------------------------------------------------- +| 4.0 The Super Metroid SRAM +------------------------------------------------------------------------------- + + This section details the SRAM format used by Super Metroid. + +------------------------------------------------------------------------------- +| 4.1 SRAM Basics +------------------------------------------------------------------------------- + + As was discused in section 1.0, Super Metroid used an SRAM of 0x2000 bytes + to store game progress. + + Each game occupied 0x65C bytes of the SAM for a total of 0x1314 bytes. + There are 8 bytes of meta-data kept on each game for a total of 0x18 bytes, + bringing us to a total of 0x132C bytes. The remaining 0xCD4 bytes are + largely unused. There are a few game properties that are stored in the + SRAM, but these are not documented here (nor do I know any of them). + + Because the SRAM is simply a block of RAM, it can lose its value if there + is no power. The battery in the cartridge feeds power to the memory when + the console is off, but if the battery dies, the SRAM will cease to + function. Because the battery must eventually die, nearly every game that + used SRAM added a sanity algorithm to confirm that the SRAM was still in + working order. Data within the SRAM acts to confirm that the remainder of + the SRAM data is valid. 8 bytes of SRAM data for each game are reserved for + this purpose. They are the checksum (2 bytes), the checksum compliment + (2 bytes), the redundant checksum (2 bytes), and the redundant checksum + compliment (2 bytes). The sanity algorithm will be discussed in detail in + section 4.4. + + The SRAM is largely composed of game data, the majority of which is of + little importance for most purposes. There are only around 300 bits of + really important data. These include the majority of Samus' progress, + including her current and max energy and reserve energy, her current and + max inventory (missiles, super missiles, and power bombs), which bosses + have been defeated, the save point, the area maps Samus has downloaded, + the game time, the controller and game configuration, which items Samus + has found (morphing ball, screw attack, ice beam, etc.), which missile, + super missile, and power bomb packs Samus has found, which energy and + reserve tanks Samus has found, and which doors Samus has opened. The + majority of the remaining data in the SRAM corresponds to Samus' personal + map for each area, which is a listing of all the rooms Samus has entered in + each area. The specifics of this personal map data are of little interest + to me, and so are undocumented (and unknown). + + The data documented here is generally edited in a single bit of the SRAM. + The next section will present a listing of all the known offsets and + which bit within the offset is used. + + The three games, which are 0x65C bytes in length begin at offset 0x10 in + the SRAM. SRAM offset 0x10 is the start of Game A. 0x66C is the start of + Game B, and 0xCC8 is the start of Game C. The offset data in the next + section is all relative to the start of each game. So offset 0x60 in game 1 + is really 0x70 from the start of the SRAM, 0x6CC in game 2, and 0xD28 in + game 3. + +------------------------------------------------------------------------------- +| 4.2 SRAM Offsets +------------------------------------------------------------------------------- + + These offsets will be presented in no special order other than similar things + will be grouped together. + + --------------------------------------------------------------------------- + + The energy and reserve energy are words (2 bytes). Words are special in the + SRAM because they must be stored in little endian format. If you don't know + what the is, you can google for it if you're interested. + + Here is what it means for our purposes. It means you need to take the value + you want, convert it to hex, and reverse the bytes. For example, 1499, the + max energy is 0x5DB in hex. This word becomes the two bytes, 0x5 and 0xDB. + If you want to change the current energy to 1499, you need to put 0xDB in + offset 0x20 and 0x5 in offset 0x21. This looks backwards to us, but is + the way the 65c816 processor (used in the Super Nintendo/Famicom) reads + numbers. + + --------------------------------------------------------------------------- + + Energy - Max energy is 1499 (0x5DB) + 0x20 (Current) + 0x22 (Max) + + Reserve Energy - Max reserve energy is 400 (0x190) + 0x34 (Current) + 0x32 (Max) + + --------------------------------------------------------------------------- + + Missiles - Max missiles is 230 (0xE6) + 0x24 (Current) + 0x26 (Max) + + Super Missiles - Max super missiles is 50 (0x32) + 0x28 (Current) + 0x2A (Max) + + Power Bombs - Max power bombs is 50 (0x32) + 0x2C (Current) + 0x2E (Max) + + --------------------------------------------------------------------------- + + The next group of offsets detail Samus' equipment (morphing ball, screw + attack, ice beam, etc). The first offset is whether the item has been + taken, and therefore will not appear in the game. The second one is whether + Samus has the item in her inventory or not. The third one is whether the + item is equipped or not. + + The grappling beam and the X-Ray scope are special in that you must have + them in the inventory and be equipped for Samus to be able to use them. If + they are not equipped, they won't show up or be selectable. + + These offsets, as well as almost all others, are specified in the format + offset:bit where the offset is the byte location from the start of the + game data and the bit is the bit number within the byte, from 0-7 starting + at the rightmost bit. For example, if you had a byte with the following + bit pattern: 10010110, then bit 0 is off and bit 7 is on. + + --------------------------------------------------------------------------- + + Morphing Ball + 0xB3:2, 0x2:2, 0x0:2 + + Bombs + 0xB0:7, 0x3:4, 0x1:4 + + Spring Ball + 0xC2:6, 0x2:1, 0x0:1 + + High Jump Boots + 0xB6:5, 0x3:0, 0x1:0 + + Varia Suit + 0xB6:0, 0x2:0, 0x0:0 + + Gravity Suit + 0xC0:7, 0x2:5, 0x0:5 + + Speed Booster + 0xB8:2, 0x3:5, 0x1:5 + + Space Jump + 0xC3:2, 0x3:1, 0x1:1 + + Screw Attack + 0xB9:7, 0x2:3, 0x0:3 + + Charge Beam + 0xB2:7, 0x7:4, 0x5:4 + + Ice Beam + 0xB6:2, 0x6:1, 0x4:1 + + Wave Beam + 0xB8:4, 0x6:0, 0x4:0 + + Spazer + 0xB5:2, 0x6:2, 0x4:2 + + Plasma Beam + 0xC1:7, 0x6:3, 0x4:3 + + Grappling Beam + 0xB7:4, 0x3:6, 0x1:6 + + X-Ray Scope + 0xB4:6, 0x3:7, 0x1:7 + + --------------------------------------------------------------------------- + + The next set of bits list the bosses and mini-bosses in the game. For the + four major bosses (Kraid, Phantoon, Draygon, and Ridley), the first bit + is whether they have been defeated, and the second is whether their statue + has been broken in the Tourian Elevator room. + + --------------------------------------------------------------------------- + + Silver Torizo + 0x68:2 + + Spore Spawn + 0x69:1 + + Kraid + 0x69:0, 0x61:1 + + Phantoon + 0x6B:0, 0x60:6 + + Botwoon + 0x6C:1 + + Draygon + 0x6C:0, 0x61:0 + + Crocomire + 0x6A:1 + + Golden Torizo + 0x6A:2 + + Ridley + 0x6A:0, 0x60:7 + + --------------------------------------------------------------------------- + + The metroid rooms determine if one of the four rooms in Tourian with + metroids has been cleared or not. If the room is cleared, there will not + be metroids in it if you go back into that room. + + --------------------------------------------------------------------------- + + Metroid Rooms + 0x62:0 + 0x62:1 + 0x62:2 + 0x62:3 + + --------------------------------------------------------------------------- + + The Zebetites byte is a little confusing. First, only three bits are used, + and five values: 000, 001, 010, 011, and 100. Each value represents the + number of destroyed Zebetites, 0-4. You cannot specify an individual + Zebetite to destroy, only the total number destroyed. + + To change the number, pick the zebetite number you want, left shift it by + 3 and bitwise OR it into the offset byte. You must bitwise OR because there + are other bits in the same byte used for other purposes. + + --------------------------------------------------------------------------- + + Zebetites + 0x60 + + --------------------------------------------------------------------------- + + The next three bits are miscellaneous useful things I found. + + Tourian Elevator: Whether the elevator to Tourian is present or not + Maridia Glass Tube Broken: Whether the glass tube is broken or not + Rescued Animals: Whether Samus rescued the Animals during her escape or not + + --------------------------------------------------------------------------- + + Tourian Elevator + 0x61:2 + + Maridia Glass Tube Broken + 0x61:3 + + Rescued Animals + 0x61:7 + + --------------------------------------------------------------------------- + + The missile packs, super missile packs, power bomb packs, energy tanks, and + reserve tanks determine whether the particular item has been taken or not. + These may be used in the item percent calculation at the end, but I haven't + tested this. + + I do not know which bit corresponds to which item. + + --------------------------------------------------------------------------- + + Crateria Missile Packs (8) + 0xB0:1, 0xB0:2, 0xB0:3, 0xB0:4 + 0xB0:6, 0xB1:1, 0xB1:2, 0xB1:4 + + Brinstar Missile Packs (12) + 0xB1:7, 0xB2:2, 0xB2:3, 0xB2:5 + 0xB2:6, 0xB3:1, 0xB3:4, 0xB4:2 + 0xB4:4, 0xB4:5, 0xB5:1, 0xB5:4 + + Norfair Missile Packs (15) + 0xB6:1, 0xB6:3, 0xB6:6, 0xB6:7 + 0xB7:2, 0xB7:3, 0xB7:6, 0xB7:7 + 0xB8:0, 0xB8:1, 0xB8:3, 0xB8:6 + 0xB9:1, 0xB9:2, 0xB9:5 + + Wrecked Ship Missile Packs (3) + 0xC0:0, 0xC0:2, 0xC0:3 + + Maridia Missile Packs (8) + 0xC1:0, 0xC1:3, 0xC1:5, 0xC1:6 + 0xC2:0, 0xC2:2, 0xC2:4, 0xC2:7 + + Crateria Super Missile Packs (1) + 0xB1:3 + + Brinstar Super Missile Packs (3) + 0xB1:6, 0xB2:0, 0xB3:7 + + Norfair Super Missile Packs (1) + 0xB8:7 + + Wrecked Ship Super Missile Packs (2) + 0xC0:5, 0xC0:6 + + Maridia Super Missile Packs (3) + 0xC1:1, 0xC1:4, 0xC2:5 + + Crateria Power Bomb Packs (1) + 0xB0:0 + + Brinstar Power Bomb Packs (5) + 0xB1:5, 0xB3:0, 0xB3:3, 0xB4:7, + 0xB5:0 + + Norfair Power Bomb Packs (3) + 0xB7:1, 0xB9:3, 0xB9:4 + + Maridia Power Bomb Packs (1) + 0xC2:3 + + Crateria Energy Tanks (2) + 0xB0:5, 0xB1:0 + + Brinstar Energy Tanks (5) + 0xB3:5, 0xB3:6, 0xB4:1, 0xB4:3, 0xB5:3 + + Norfair Energy Tanks (4) + 0xB6:4, 0xB7:0, 0xB9:6, 0xBA:0 + + Wrecked Ship Energy Tanks (1) + 0xC0:4 + + Maridia Energy Tanks (2) + 0xC1:2, 0xC3:0 + + Brinstar Reserve Tank + 0xB2:1 + + Norfair Reserve Tank + 0xB7:5 + + Wrecked Ship Reserve Tank + 0xC0:1 + + Maridia Reserve Tank + 0xC2:1 + + --------------------------------------------------------------------------- + + The door bits determine whether a door has been opened or not. I know some + doors, while others are unknown. I have put comments by all the doors I + know. + + --------------------------------------------------------------------------- + + Crateria Red Doors (3) + 0xF0:5 (Crateria Map) + 0xF3:5 (Bombs) + 0xF3:6 (Tourian Elevator) + + Brinstar Red Doors (10) + 0xF3:7 + 0xF4:0 (Brinstar Map) + 0xF4:1 + 0xF4:2 + 0xF4:3 + 0xF4:6 (Brinstar Reserve Tank) + 0xF5:2 (Spore Spawn) + 0xF5:3 + 0xF6:2 + 0xF7:2 (X-Ray Scope) + + Norfair Red Doors (7) + 0xF9:2 + 0xF9:5 (High Jump Boots) + 0xFA:1 + 0xFA:2 + 0xFA:5 (Speed Booster) + 0xFA:6 + 0xFA:7 (Wave Beam) + + Wrecked Ship Red Doors (1) + 0x101:3 (Reserve Tank) + + Maridia Red Doors (8) + 0x101:4 + 0x101:5 + 0x101:6 + 0x102:0 (Maridia Map) + 0x102:2 + 0x102:6 + 0x103:0 + + Tourian Red Doors (2) + 0x104:7 + 0x105:1 (Mother Brain) + + Crateria Green Doors (2) + 0xF0:0 + 0xF1:4 (Wrecked Ship) + + Brinstar Green Doors (10) + 0xF5:1 + 0xF5:6 (Spore Spawn Exit) + 0xF6:3 + 0xF6:4 + 0xF6:5 + 0xF7:0 + 0xF7:3 + 0xF7:5 + 0xF7:7 (Spazer) + 0xF8:4 + + Norfair Green Doors (6) + 0xF9:1 + 0xF9:3 (Ice Beam) + 0xF9:6 + 0xFA:3 + 0xFA:4 (Speed Booster) + 0xFB:7 + + Wrecked Ship Green Doors (1) + 0x100:4 + + Maridia Green Doors (4) + 0x101:7 + 0x102:4 + 0x102:5 + 0x103:2 (Draygon) + + Crateria Yellow Doors (6) + 0xF0:1 + 0xF1:5 + 0xF1:6 + 0xF1:7 + 0xF2:0 + 0xF2:3 + + Brinstar Yellow Doors (4) + 0xF5:0 + 0xF6:0 + 0xF7:1 (X-Ray Scope) + 0xF7:4 + + Norfair Yellow Doors (3) + 0xF9:4 (Norfair Map) + 0xFB:0 + 0xFB:6 + + Crateria Metal Doors (1) + 0xF3:3 (Bombs Exit) + + Brinstar Metal Doors (16) + 0xF3:1 (Old Tourian Right) + 0xF3:2 (Old Tourian Left) + 0xF4:5 (Brinstar Map Exit) + 0xF5:4 + 0xF5:5 + 0xF5:7 + 0xF6:1 + 0xF6:6 + 0xF6:7 + 0xF7:6 + 0xF8:0 + 0xF8:1 + 0xF8:2 (Mini-Kraid Right) + 0xF8:3 (Mini-Kraid Left) + 0xF8:6 (Varia Suit) + 0xF8:7 (Kraid Exit) + + Norfair Metal Doors (6) + 0xF9:7 (Crocomire Exit) + 0xFA:0 (High Jump Boots Exit) + 0xFB:1 (Screw Attack) + 0xFB:2 (Ridley Exit) + 0xFB:3 (Ridley Left) + 0xFC:0 (Gold Space Pirates) + + Wrecked Ship Metal Doors (5) + 0x100:3 + 0x100:6 (Phantoon Exit) + 0x101:0 + 0x101:1 + 0x101:2 + + Maridia Metal Doors (7) + 0x102:1 (Plasma Exit) + 0x102:3 (Plasma) + 0x102:7 + 0x103:4 + 0x103:5 (Botwoon Exit) + 0x103:6 (Draygon Exit) + 0x103:7 (Space Jump) + + Tourian Metal Doors (5) + 0x104:0 + 0x104:1 + 0x104:2 + 0x104:3 + 0x104:5 (Dust Chozo - Point of No Return) + + Brinstar Eye Door (Kraid) + 0xF8:5 + + Norfair Eye Door (Ridley) + 0xFB:4 + + Wrecked Ship Eye Door (Phantoon) + 0x100:5 + + Maridia Eye Door (Draygon) + 0x103:3 + + Tourian Eye Door + 0x105:0 + + --------------------------------------------------------------------------- + + The six area maps are simple. A value of 0 means you don't have the area + map, and a value of 0xFF means you do. + + --------------------------------------------------------------------------- + + Crateria Map + 0x148 + + Brinstar Map + 0x149 + + Norfair Map + 0x14A + + Wrecked Ship Map + 0x14B + + Maridia Map + 0x14C + + Tourian Map + 0x14D + + --------------------------------------------------------------------------- + + The save point is slightly, but not overly complicated. The first offset + determines which area you are in. 0 = Crateria, 1 = Brinstar, 2 = Norfair, + 3 = Wrecked Ship, 4 = Maridia, and 5 = Tourian. The second offset + determines which save point within the area you are at starting at. + + There are 2 save points in Crateria, 5 in Brinstar, 6 in Norfair, 1 in the + Wrecked Ship, 4 in Maridia, and 2 in Tourian. + + --------------------------------------------------------------------------- + + Save Spot + 0x158 (Area) + 0x156 (Point) + + --------------------------------------------------------------------------- + + Game time determines how much time the game has been played for. The max + game time is 99 hours and 59 minutes, after which the game stops tracking + your time. + + --------------------------------------------------------------------------- + + Game Time + 0x3E (Hours) + 0x3C (Minutes) + + Shot Button + 0x10 + + --------------------------------------------------------------------------- + + The controller configuration is slightly complicated. Each button is a + word (2 bytes), but you don't need to worry about converting to little + ending here, because each button value is simple. + + A = 0x80, 0 + B = 0, 0x80 + X = 0x40, 0 + Y = 0, 0x40 + L = 0x20, 0 + R = 0x10, 0 + Select = 0, 0x20 + + Don't duplicate any buttons and remember that Angle Up/Down can only be + assigned to R/L. If you change this, the game will simply ignore it. + + --------------------------------------------------------------------------- + + Jump Button + 0x12 + + Dash Button + 0x14 + + Item Cancel Button + 0x16 + + Item Select Button + 0x18 + + Angle Down Button + 0x1A + + Angle Up Button + 0x1C + + --------------------------------------------------------------------------- + + These last three bits are the other part of the game configuration. They + are pretty straightforward. + + --------------------------------------------------------------------------- + + Language (English or Japanese) + 0x40:0 + + Moon Walk (Off or On) + 0x42:0 + + Icon Cancel (Manual or Automatic) + 0x48:0 + +------------------------------------------------------------------------------- +| 4.3 The Sanity Algorithm +------------------------------------------------------------------------------- + + The sanity algorithm, used to ensure the SRAM is still valid is not very + complex, but hard to calculate by hand. If you want to edit the SRAM, but + don't want to do sanity algorithm math, you can either use smse (see section + 5.0) or edit the SRAM by hand and use my checksum repair program (see section + 4.4) to fix the sanity values for you. + + The sanity values are comprised of eight bytes. A primary checksum (2 bytes), + a checksum compliment (the checksum XOR 0xFF -- 2 bytes), and redundant + copies of each of these two values for a total of 8 bytes. + + The game requires at least one checksum and one checksum compliment to be + correct for it to consider a game to be valid. If both checksums or both + compliments are invalid, the game is considered invalid and is not playable. + + To calculate the checksum, you will need two counter variables. I will call + them low and high. Set the low and high counter to 0 initially. Now, take the + SRAM data for a single game and do the following: + + 1. For the current byte, add it to the high counter. If the counter exceeds + 255, subtract 255 from the high counter and increment the low counter by + 1. + 2. Take the next byte and add it to the low counter. If the counter exceeds + 255, subtract 255 from the low counter. Do NOT increment the high + counter. + + Continue until you have added all the bytes (half to the high counter, and + half to the low counter). When you are done, you should have two bytes, the + high counter and the low counter. The high counter is the high byte of the + checksum word, and the low counter is the low byte of the checksum word. + + For the compliment, simply take the XOR of 0xFF with each byte of the + checksum. The high and low byte XOR values becomes the compliment value. + + The redundant values are simply copies of the checksum and the compliment. + + The values should be put in the SRAM at the following offsets (these are from + the start of the SRAM). + + 0x0, 0x1 Checksum High/Low Bytes Game 1 + 0x8, 0x9 Compliment High/Low Bytes Game 1 + 0x1FF0, 0x1FF1 Checksum High/Low Bytes Game 1 + 0x1FF8, 0x1FF9 Compliment High/Low Bytes Game 1 + + Game 2 and 3 are the bytes following game 1. + +------------------------------------------------------------------------------- +| 4.4 Checksum Repair Program (sanity.c) +------------------------------------------------------------------------------- + + This is a small program in ANSI C that can be used to repair sanity values in + a Super Metroid SRAM file. + + There are a couple minor problems with this program. First, no file + validation is performed. Any file with at least 0x2000 bytes will be + accepted and overwritten. Be carewhat what arguments you pass to this + program. Second, invalid games are fixed. This means games that were blank + will become valid games that are unplayable. Just be aware of this when you + start Super Metroid in Snes9x or ZSNES (or whatever SNES emulator you use). + If you see a game where Samus has 0 energy, the game is useless. Samus will + die as soon as the game begins. + + This program is standard ANSI C and should compile on any operating system + with an ANSI C compiler. I have put a windows binary up at + http://games.technoplaza.net/smse/history/sanity.zip + + To run the program, simply type ./sanity [SRAM file]. If you want to compile + the program and have gcc, you can do "gcc sanity.c -o sanity" + + I don't think there are any bugs, but I tested it all of one time, so who + knows. Write me a letter if it doesn't work or compile or something. + +/* + * Super Metroid SRAM Checksum Repair Program + * Copyright (C) 2005 emuWorks + * http://games.technoplaza.net/ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +void sanitize(char *sram) { + int game, i; + short high, low; + unsigned char value; + unsigned char hb, lb, hc, lc; + char *ptr; + + for (game = 0; game < 3; ++game) { + ptr = (sram + 0x10 + (0x65C * game)); + high = 0; + low = 0; + + for (i = 0; i < 0x65C; ++i) { + value = ptr[i]; + + if ((high += value) > 0xFF) { + high &= 0xFF; + ++low; + } + + value = ptr[++i]; + + if ((low += value) > 0xFF) { + low &= 0xFF; + } + } + + hb = (unsigned char)high; + lb = (unsigned char)low; + hc = (hb ^ 0xFF); + lc = (lb ^ 0xFF); + + sram[game * 2] = hb; + sram[game * 2 + 1] = lb; + + sram[8 + game * 2] = hc; + sram[8 + game * 2 + 1] = lc; + + sram[0x1FF0 + game * 2] = hb; + sram[0x1FF0 + game * 2 + 1] = lb; + + sram[0x1FF8 + game * 2] = hc; + sram[0x1FF8 + game * 2 + 1] = lc; + } +} + +int main(int argc, char **argv) { + FILE *f; + char sram[0x2000]; + + if (argc != 2) { + fprintf(stderr, "syntax: sanity [Super Metroid SRAM File]\n"); + + return -1; + } + + if ((f = fopen(argv[1], "rb")) == NULL) { + fprintf(stderr, + "error: unable to open Super Metroid SRAM file for reading\n"); + + return -1; + } + + if (fread(sram, 0x2000, 1, f) != 1) { + fprintf(stderr, "error: invalid SRAM file\n"); + + return -1; + } + + fclose(f); + + sanitize(sram); + + if ((f = fopen(argv[1], "wb")) == NULL) { + fprintf(stderr, + "error: unable to open Super Metroid SRAM file for writing\n"); + + return -1; + } + + if (fwrite(sram, 0x2000, 1, f) != 1) { + fprintf(stderr, "error: unable to write SRAM data\n"); + + return -1; + } + + fclose(f); + + printf("successfully fixed sanity data in file: [%s]\n", argv[1]); + + return 0; +} + +------------------------------------------------------------------------------- +| 5.0 smse - The Super Metroid SRAM Editor +------------------------------------------------------------------------------- + + If you really want to edit the SRAM, I recommend a program called 'smse', the + Super Metroid SRAM Editor. Not surprisingly, I wrote it. + + It will edit any of the offsets I have outlined in this document an will + keep fix the sanity values for you so you don't need to. It's far simpler + than trying to edit by hand, unless you need to edit parts of the SRAM I + haven't documented. + + If you want to try it out, head over to http://games.technoplaza.net/smse/. + It's free software under the GNU GPL, tested in Windows, Linux, and Mac OS X, + and is likely to run on almost any unix that support GTK+. + +------------------------------------------------------------------------------- +| 6.0 Credits & Acknowledgements +------------------------------------------------------------------------------- + + I want to thank phonymike for discovering and documenting the checksum + algorithm used by Super Metroid. In addition, I want to thank him for the + many offsets he discovered and documented in his original Metroid 3 editor. + +------------------------------------------------------------------------------- +| 7.0 Contact Information +------------------------------------------------------------------------------- + + The author (John Ratliff) can be contacted at + webmaster [AT] technoplaza [DOT] net. Replace as necessary. + + I can also be reached via an online feedback form at + http://www.technoplaza.net/feedback.php diff --git a/source/App.cc b/source/App.cc index 0658a26..c30f3f4 100644 --- a/source/App.cc +++ b/source/App.cc @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -// $Id: App.cc,v 1.1 2005/10/06 22:48:30 technoplaza Exp $ +// $Id: App.cc,v 1.2 2005/10/15 03:13:48 technoplaza Exp $ #ifdef HAVE_CONFIG_H #include @@ -53,12 +53,20 @@ bool App::OnInit() { wxXmlResource::Get()->InitAllHandlers(); InitXmlResource(); - Frame *frame = new Frame; + frame = new Frame; frame->Show(); return true; } +int App::OnRun() { + if (argc >= 2) { + frame->open(argv[1]); + } + + return wxApp::OnRun(); +} + IMPLEMENT_CLASS(App, wxApp) IMPLEMENT_APP(App) diff --git a/source/App.hh b/source/App.hh index 0fde00e..8261e33 100644 --- a/source/App.hh +++ b/source/App.hh @@ -20,17 +20,22 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -// $Id: App.hh,v 1.1 2005/10/06 22:48:30 technoplaza Exp $ +// $Id: App.hh,v 1.2 2005/10/15 03:13:48 technoplaza Exp $ #ifndef _SMSE_APP_HH_ #define _SMSE_APP_HH_ /// a namespace for all the classes used by smse namespace smse { + class Frame; + /// The application class and starting point. class App : public wxApp { DECLARE_CLASS(App) + private: + Frame *frame; + public: /** * Called to initialize the application. @@ -38,6 +43,13 @@ namespace smse { * @return true on successful initialization; false otherwise. */ virtual bool OnInit(); + + /** + * Called to run the application. + * + * @return The exit code. + */ + virtual int OnRun(); }; DECLARE_APP(App) diff --git a/source/AppConstants.hh b/source/AppConstants.hh index bd9cf2b..c63854e 100644 --- a/source/AppConstants.hh +++ b/source/AppConstants.hh @@ -20,11 +20,89 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -// $Id: AppConstants.hh,v 1.1 2005/10/06 22:48:30 technoplaza Exp $ +// $Id: AppConstants.hh,v 1.3 2005/10/15 18:40:24 technoplaza Exp $ #ifndef _SMSE_APPCONSTANTS_HH_ #define _SMSE_APPCONSTANTS_HH_ +/// number of save points in Brinstar +#define BS_SAVEPOINTS 5 + +/// number of save points in Crateria +#define C_SAVEPOINTS 2 + +/// offset of the checksums +#define CHECKSUM_OFFSET 0 + +/// offset of the redundant checksums +#define CHECKSUM_OFFSET2 0x1FF0 + +/// time (ms) to wait before clearing the status bar +#define CLEAR_DELAY 4000 + +/// offset of the checksum compliments +#define COMPLIMENT_OFFSET 0x8 + +/// offset of the redundant checksum compliments +#define COMPLIMENT_OFFSET2 0x1FF8 + +/// number of energy tanks in the game +#define ETANKS 14 + +/// number of eye doors in the game +#define EYEDOORS 5 + +/// offset to the beginning of the game data +#define GAME_OFFSET 0x10 + +/// size of each individual save game +#define GAME_SIZE 0x65C + +/// number of save games in the SRAM data +#define GAMES 3 + +/// number of green doors in the game +#define GREENDOORS 23 + +/// idenfitier for the status bar clear timer +#define ID_SBTIMER wxID_HIGHEST + 1 + +/// number of save points in Maridia +#define M_SAVEPOINTS 4 + +/// number of metal doors in the game +#define METALDOORS 40 + +/// number of missile packs in the game +#define MISSILE_PACKS 46 + +/// number of save points in Norfair +#define NF_SAVEPOINTS 6 + +/// number of power bomb packs in the game +#define PBOMB_PACKS 10 + +/// number of reserve tanks in the game +#define RTANKS 4 + +/// number of red doors in the game +#define REDDOORS 30 + +/// number of super missile packs in the game +#define SMISSILE_PACKS 10 + +/// size of the SRAM file +#define SRAM_SIZE 0x2000 + +/// number of save points in Tourian +#define T_SAVEPOINTS 2 + +/// number of save points in the Wrecked Ship +#define WS_SAVEPOINTS 1 + +/// number of yellow doors in the game +#define YELLOWDOORS 13 + namespace smse { /// The application name extern const wxString APP_NAME; diff --git a/source/Makefile.am b/source/Makefile.am index 3fa4131..44d451c 100644 --- a/source/Makefile.am +++ b/source/Makefile.am @@ -11,7 +11,8 @@ smse_SOURCES = AppConstants.hh \ exceptions/InvalidSRAMDataException.cc exceptions/InvalidSRAMDataException.hh \ exceptions/InvalidSRAMFileException.cc exceptions/InvalidSRAMFileException.hh \ model/SRAMFile.cc model/SRAMFile.hh \ - view/Frame.cc view/Frame.hh + view/Frame.cc view/Frame.hh \ + view/SRAMFileTarget.cc view/SRAMFileTarget.hh nodist_smse_SOURCES = res/smse.cc diff --git a/source/Makefile.in b/source/Makefile.in index 461a207..ec7b46f 100644 --- a/source/Makefile.in +++ b/source/Makefile.in @@ -58,14 +58,16 @@ am__smse_SOURCES_DIST = AppConstants.hh App.cc App.hh \ exceptions/InvalidSRAMDataException.hh \ exceptions/InvalidSRAMFileException.cc \ exceptions/InvalidSRAMFileException.hh model/SRAMFile.cc \ - model/SRAMFile.hh view/Frame.cc view/Frame.hh res/windows.rc + model/SRAMFile.hh view/Frame.cc view/Frame.hh \ + view/SRAMFileTarget.cc view/SRAMFileTarget.hh res/windows.rc am__dirstamp = $(am__leading_dot)dirstamp @WINDOWS_TRUE@am__objects_1 = res/windows.$(OBJEXT) am_smse_OBJECTS = App.$(OBJEXT) exceptions/FileIOException.$(OBJEXT) \ exceptions/InvalidButtonException.$(OBJEXT) \ exceptions/InvalidSRAMDataException.$(OBJEXT) \ exceptions/InvalidSRAMFileException.$(OBJEXT) \ - model/SRAMFile.$(OBJEXT) view/Frame.$(OBJEXT) $(am__objects_1) + model/SRAMFile.$(OBJEXT) view/Frame.$(OBJEXT) \ + view/SRAMFileTarget.$(OBJEXT) $(am__objects_1) nodist_smse_OBJECTS = res/smse.$(OBJEXT) smse_OBJECTS = $(am_smse_OBJECTS) $(nodist_smse_OBJECTS) smse_LDADD = $(LDADD) @@ -186,7 +188,8 @@ smse_SOURCES = AppConstants.hh App.cc App.hh \ exceptions/InvalidSRAMDataException.hh \ exceptions/InvalidSRAMFileException.cc \ exceptions/InvalidSRAMFileException.hh model/SRAMFile.cc \ - model/SRAMFile.hh view/Frame.cc view/Frame.hh $(am__append_1) + model/SRAMFile.hh view/Frame.cc view/Frame.hh \ + view/SRAMFileTarget.cc view/SRAMFileTarget.hh $(am__append_1) nodist_smse_SOURCES = res/smse.cc all: all-am @@ -277,6 +280,8 @@ view/$(DEPDIR)/$(am__dirstamp): @: > view/$(DEPDIR)/$(am__dirstamp) view/Frame.$(OBJEXT): view/$(am__dirstamp) \ view/$(DEPDIR)/$(am__dirstamp) +view/SRAMFileTarget.$(OBJEXT): view/$(am__dirstamp) \ + view/$(DEPDIR)/$(am__dirstamp) res/$(am__dirstamp): @$(mkdir_p) res @: > res/$(am__dirstamp) @@ -300,6 +305,7 @@ mostlyclean-compile: -rm -f res/smse.$(OBJEXT) -rm -f res/windows.$(OBJEXT) -rm -f view/Frame.$(OBJEXT) + -rm -f view/SRAMFileTarget.$(OBJEXT) distclean-compile: -rm -f *.tab.c @@ -312,6 +318,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@model/$(DEPDIR)/SRAMFile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@res/$(DEPDIR)/smse.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@view/$(DEPDIR)/Frame.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@view/$(DEPDIR)/SRAMFileTarget.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \ diff --git a/source/model/SRAMFile.cc b/source/model/SRAMFile.cc index ad024cd..bdfaafd 100644 --- a/source/model/SRAMFile.cc +++ b/source/model/SRAMFile.cc @@ -20,12 +20,13 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -// $Id: SRAMFile.cc,v 1.31 2005/10/12 23:39:03 technoplaza Exp $ +// $Id: SRAMFile.cc,v 1.34 2005/10/15 08:56:50 technoplaza Exp $ #ifdef HAVE_CONFIG_H #include #endif +#include #include #include "model/SRAMFile.hh" @@ -165,19 +166,25 @@ const std::pair SRAMFile::SRAM_OFFSET[] = std::pair(0x6A, 0x1), std::pair(0x60, 0x80), - // Zebetites [71] + // Metroid Rooms [71] + std::pair(0x62, 0x1), + std::pair(0x62, 0x2), + std::pair(0x62, 0x4), + std::pair(0x62, 0x8), + + // Zebetites [75] std::pair(0x60, 0x3), - // Tourian Elevator [72] + // Tourian Elevator [76] std::pair(0x61, 0x4), - // Maridia Glass Tube Broken [73] + // Maridia Glass Tube Broken [77] std::pair(0x61, 0x8), - // Rescued Animals [74] + // Rescued Animals [78] std::pair(0x61, 0x80), - // Crateria Missile Packs (8) [75] + // Crateria Missile Packs (8) [79] std::pair(0xB0, 0x2), std::pair(0xB0, 0x4), std::pair(0xB0, 0x8), @@ -187,7 +194,7 @@ const std::pair SRAMFile::SRAM_OFFSET[] = std::pair(0xB1, 0x4), std::pair(0xB1, 0x10), - // Brinstar Missile Packs (12) [83] + // Brinstar Missile Packs (12) [87] std::pair(0xB1, 0x80), std::pair(0xB2, 0x4), std::pair(0xB2, 0x8), @@ -201,7 +208,7 @@ const std::pair SRAMFile::SRAM_OFFSET[] = std::pair(0xB5, 0x2), std::pair(0xB5, 0x10), - // Norfair Missile Packs (15) [95] + // Norfair Missile Packs (15) [99] std::pair(0xB6, 0x2), std::pair(0xB6, 0x8), std::pair(0xB6, 0x40), @@ -218,12 +225,12 @@ const std::pair SRAMFile::SRAM_OFFSET[] = std::pair(0xB9, 0x4), std::pair(0xB9, 0x20), - // Wrecked Ship Missile Packs (3) [110] + // Wrecked Ship Missile Packs (3) [114] std::pair(0xC0, 0x1), std::pair(0xC0, 0x4), std::pair(0xC0, 0x8), - // Maridia Missile Packs (8) [113] + // Maridia Missile Packs (8) [117] std::pair(0xC1, 0x1), std::pair(0xC1, 0x8), std::pair(0xC1, 0x20), @@ -233,296 +240,297 @@ const std::pair SRAMFile::SRAM_OFFSET[] = std::pair(0xC2, 0x10), std::pair(0xC2, 0x80), - // Crateria Super Missile Packs (1) [121] + // Crateria Super Missile Packs (1) [125] std::pair(0xB1, 0x8), - // Brinstar Super Missile Packs (3) [122] + // Brinstar Super Missile Packs (3) [126] std::pair(0xB1, 0x40), std::pair(0xB2, 0x1), std::pair(0xB3, 0x80), - // Norfair Super Missile Packs (1) [125] + // Norfair Super Missile Packs (1) [129] std::pair(0xB8, 0x80), - // Wrecked Ship Super Missile Packs (2) [126] + // Wrecked Ship Super Missile Packs (2) [130] std::pair(0xC0, 0x20), std::pair(0xC0, 0x40), - // Maridia Super Missile Packs (3) [128] + // Maridia Super Missile Packs (3) [132] std::pair(0xC1, 0x2), std::pair(0xC1, 0x10), std::pair(0xC2, 0x20), - // Crateria Power Bomb Packs (1) [131] + // Crateria Power Bomb Packs (1) [135] std::pair(0xB0, 0x1), - // Brinstar Power Bomb Packs (5) [132] + // Brinstar Power Bomb Packs (5) [136] std::pair(0xB1, 0x20), std::pair(0xB3, 0x1), std::pair(0xB3, 0x8), std::pair(0xB4, 0x80), std::pair(0xB5, 0x1), - // Norfair Power Bomb Packs (3) [137] + // Norfair Power Bomb Packs (3) [141] std::pair(0xB7, 0x2), std::pair(0xB9, 0x8), std::pair(0xB9, 0x10), - // Maridia Power Bomb Packs (1) [140] + // Maridia Power Bomb Packs (1) [144] std::pair(0xC2, 0x8), - // Crateria Energy Tanks (2) [141] + // Crateria Energy Tanks (2) [145] std::pair(0xB0, 0x20), std::pair(0xB1, 0x1), - // Brinstar Energy Tanks (5) [143] + // Brinstar Energy Tanks (5) [147] std::pair(0xB3, 0x20), std::pair(0xB3, 0x40), std::pair(0xB4, 0x2), std::pair(0xB4, 0x8), std::pair(0xB5, 0x8), - // Norfair Energy Tanks (4) [148] + // Norfair Energy Tanks (4) [152] std::pair(0xB6, 0x10), std::pair(0xB7, 0x1), std::pair(0xB9, 0x40), std::pair(0xBA, 0x1), - // Wrecked Ship Energy Tanks (1) [152] + // Wrecked Ship Energy Tanks (1) [156] std::pair(0xC0, 0x10), - // Maridia Energy Tanks (2) [153] + // Maridia Energy Tanks (2) [157] std::pair(0xC1, 0x4), std::pair(0xC3, 0x1), - // Brinstar Reserve Tank [155] + // Brinstar Reserve Tank [159] std::pair(0xB2, 0x2), - // Norfair Reserve Tank [156] + // Norfair Reserve Tank [160] std::pair(0xB7, 0x20), - // Wrecked Ship Reserve Tank [157] + // Wrecked Ship Reserve Tank [161] std::pair(0xC0, 0x2), - // Maridia Reserve Tank [158] + // Maridia Reserve Tank [162] std::pair(0xC2, 0x2), - // Crateria Red Doors (3) [159] - std::pair(0xF0, 0x20), // 159 - std::pair(0xF3, 0x20), // 160 - std::pair(0xF3, 0x40), // 161 - - // Brinstar Red Doors (10) [162] - std::pair(0xF3, 0x80), // 162 - std::pair(0xF4, 0x1), // 163 - std::pair(0xF4, 0x2), // 164 - std::pair(0xF4, 0x4), // 165 - std::pair(0xF4, 0x8), // 166 - std::pair(0xF4, 0x40), // 167 - std::pair(0xF5, 0x4), // 168 - std::pair(0xF5, 0x8), // 169 - std::pair(0xF6, 0x4), // 170 - std::pair(0xF7, 0x4), // 171 - - // Norfair Red Doors (7) [172] - std::pair(0xF9, 0x4), // 172 - std::pair(0xF9, 0x20), // 173 - std::pair(0xFA, 0x2), // 174 - std::pair(0xFA, 0x4), // 175 - std::pair(0xFA, 0x20), // 176 - std::pair(0xFA, 0x40), // 177 - std::pair(0xFA, 0x80), // 178 - - // Wrecked Ship Red Doors (1) [179] - std::pair(0x101, 0x8), // 179 - - // Maridia Red Doors (8) [180] - std::pair(0x101, 0x10), // 180 - std::pair(0x101, 0x20), // 181 - std::pair(0x101, 0x40), // 182 - std::pair(0x102, 0x1), // 183 - std::pair(0x102, 0x4), // 184 - std::pair(0x102, 0x40), // 185 - std::pair(0x103, 0x1), // 186 - - // Tourian Red Doors (2) [187] - std::pair(0x104, 0x80), // 187 - std::pair(0x105, 0x2), // 188 - - // Crateria Green Doors (2) [189] - std::pair(0xF0, 0x1), // 189 - std::pair(0xF1, 0x10), // 190 - - // Brinstar Green Doors (10) [191] - std::pair(0xF5, 0x2), // 191 - std::pair(0xF5, 0x40), // 192 - std::pair(0xF6, 0x8), // 193 - std::pair(0xF6, 0x10), // 194 - std::pair(0xF6, 0x20), // 195 - std::pair(0xF7, 0x1), // 196 - std::pair(0xF7, 0x8), // 197 - std::pair(0xF7, 0x20), // 198 - std::pair(0xF7, 0x80), // 199 - std::pair(0xF8, 0x10), // 200 - - // Norfair Green Doors (6) [201] - std::pair(0xF9, 0x2), // 201 - std::pair(0xF9, 0x8), // 202 - std::pair(0xF9, 0x40), // 203 - std::pair(0xFA, 0x8), // 204 - std::pair(0xFA, 0x10), // 205 - std::pair(0xFB, 0x80), // 206 - - // Wrecked Ship Green Doors (1) [207] - std::pair(0x100, 0x10), // 207 - - // Maridia Green Doors (4) [208] - std::pair(0x101, 0x80), // 208 - std::pair(0x102, 0x10), // 209 - std::pair(0x102, 0x20), // 210 - std::pair(0x103, 0x4), // 211 - - // Crateria Yellow Doors (6) [212] - std::pair(0xF0, 0x2), // 212 - std::pair(0xF1, 0x20), // 213 - std::pair(0xF1, 0x40), // 214 - std::pair(0xF1, 0x80), // 215 - std::pair(0xF2, 0x1), // 216 - std::pair(0xF2, 0x8), // 217 - - // Brinstar Yellow Doors (4) [218] - std::pair(0xF5, 0x1), // 218 - std::pair(0xF6, 0x1), // 219 - std::pair(0xF7, 0x2), // 220 - std::pair(0xF7, 0x10), // 221 - - // Norfair Yellow Doors (3) [222] - std::pair(0xF9, 0x10), // 222 - std::pair(0xFB, 0x1), // 223 - std::pair(0xFB, 0x40), // 224 - - // Crateria Metal Doors (1) [225] - std::pair(0xF3, 0x8), // 225 - - // Brinstar Metal Doors (16) [226] - std::pair(0xF3, 0x2), // 226 - std::pair(0xF3, 0x4), // 227 - std::pair(0xF4, 0x20), // 228 - std::pair(0xF5, 0x10), // 229 - std::pair(0xF5, 0x20), // 230 - std::pair(0xF5, 0x80), // 231 - std::pair(0xF6, 0x2), // 232 - std::pair(0xF6, 0x40), // 233 - std::pair(0xF6, 0x80), // 234 - std::pair(0xF7, 0x40), // 235 - std::pair(0xF8, 0x1), // 236 - std::pair(0xF8, 0x2), // 237 - std::pair(0xF8, 0x4), // 238 - std::pair(0xF8, 0x8), // 239 - std::pair(0xF8, 0x40), // 240 - std::pair(0xF8, 0x80), // 241 - - // Norfair Metal Doors (6) [242] - std::pair(0xF9, 0x80), // 242 - std::pair(0xFA, 0x1), // 243 - std::pair(0xFB, 0x2), // 244 - std::pair(0xFB, 0x4), // 245 - std::pair(0xFB, 0x8), // 246 - std::pair(0xFC, 0x1), // 247 - - // Wrecked Ship Metal Doors (5) [248] - std::pair(0x100, 0x8), // 248 - std::pair(0x100, 0x40), // 249 - std::pair(0x101, 0x1), // 250 - std::pair(0x101, 0x2), // 251 - std::pair(0x101, 0x4), // 252 - - // Maridia Metal Doors (7) [253] - std::pair(0x102, 0x2), // 253 - std::pair(0x102, 0x8), // 254 - std::pair(0x102, 0x80), // 255 - std::pair(0x103, 0x10), // 256 - std::pair(0x103, 0x20), // 257 - std::pair(0x103, 0x40), // 258 - std::pair(0x103, 0x80), // 259 - - // Tourian Metal Doors (4) [260] - std::pair(0x104, 0x1), // 260 - std::pair(0x104, 0x2), // 261 - std::pair(0x104, 0x4), // 262 - std::pair(0x104, 0x8), // 263 - - // Brinstar Eye Door (Kraid) [264] + // Crateria Red Doors (3) [163] + std::pair(0xF0, 0x20), + std::pair(0xF3, 0x20), + std::pair(0xF3, 0x40), + + // Brinstar Red Doors (10) [166] + std::pair(0xF3, 0x80), + std::pair(0xF4, 0x1), + std::pair(0xF4, 0x2), + std::pair(0xF4, 0x4), + std::pair(0xF4, 0x8), + std::pair(0xF4, 0x40), + std::pair(0xF5, 0x4), + std::pair(0xF5, 0x8), + std::pair(0xF6, 0x4), + std::pair(0xF7, 0x4), + + // Norfair Red Doors (7) [176] + std::pair(0xF9, 0x4), + std::pair(0xF9, 0x20), + std::pair(0xFA, 0x2), + std::pair(0xFA, 0x4), + std::pair(0xFA, 0x20), + std::pair(0xFA, 0x40), + std::pair(0xFA, 0x80), + + // Wrecked Ship Red Doors (1) [183] + std::pair(0x101, 0x8), + + // Maridia Red Doors (8) [184] + std::pair(0x101, 0x10), + std::pair(0x101, 0x20), + std::pair(0x101, 0x40), + std::pair(0x102, 0x1), + std::pair(0x102, 0x4), + std::pair(0x102, 0x40), + std::pair(0x103, 0x1), + + // Tourian Red Doors (2) [191] + std::pair(0x104, 0x80), + std::pair(0x105, 0x2), + + // Crateria Green Doors (2) [193] + std::pair(0xF0, 0x1), + std::pair(0xF1, 0x10), + + // Brinstar Green Doors (10) [195] + std::pair(0xF5, 0x2), + std::pair(0xF5, 0x40), + std::pair(0xF6, 0x8), + std::pair(0xF6, 0x10), + std::pair(0xF6, 0x20), + std::pair(0xF7, 0x1), + std::pair(0xF7, 0x8), + std::pair(0xF7, 0x20), + std::pair(0xF7, 0x80), + std::pair(0xF8, 0x10), + + // Norfair Green Doors (6) [205] + std::pair(0xF9, 0x2), + std::pair(0xF9, 0x8), + std::pair(0xF9, 0x40), + std::pair(0xFA, 0x8), + std::pair(0xFA, 0x10), + std::pair(0xFB, 0x80), + + // Wrecked Ship Green Doors (1) [211] + std::pair(0x100, 0x10), + + // Maridia Green Doors (4) [212] + std::pair(0x101, 0x80), + std::pair(0x102, 0x10), + std::pair(0x102, 0x20), + std::pair(0x103, 0x4), + + // Crateria Yellow Doors (6) [216] + std::pair(0xF0, 0x2), + std::pair(0xF1, 0x20), + std::pair(0xF1, 0x40), + std::pair(0xF1, 0x80), + std::pair(0xF2, 0x1), + std::pair(0xF2, 0x8), + + // Brinstar Yellow Doors (4) [222] + std::pair(0xF5, 0x1), + std::pair(0xF6, 0x1), + std::pair(0xF7, 0x2), + std::pair(0xF7, 0x10), + + // Norfair Yellow Doors (3) [226] + std::pair(0xF9, 0x10), + std::pair(0xFB, 0x1), + std::pair(0xFB, 0x40), + + // Crateria Metal Doors (1) [229] + std::pair(0xF3, 0x8), + + // Brinstar Metal Doors (16) [230] + std::pair(0xF3, 0x2), + std::pair(0xF3, 0x4), + std::pair(0xF4, 0x20), + std::pair(0xF5, 0x10), + std::pair(0xF5, 0x20), + std::pair(0xF5, 0x80), + std::pair(0xF6, 0x2), + std::pair(0xF6, 0x40), + std::pair(0xF6, 0x80), + std::pair(0xF7, 0x40), + std::pair(0xF8, 0x1), + std::pair(0xF8, 0x2), + std::pair(0xF8, 0x4), + std::pair(0xF8, 0x8), + std::pair(0xF8, 0x40), + std::pair(0xF8, 0x80), + + // Norfair Metal Doors (6) [246] + std::pair(0xF9, 0x80), + std::pair(0xFA, 0x1), + std::pair(0xFB, 0x2), + std::pair(0xFB, 0x4), + std::pair(0xFB, 0x8), + std::pair(0xFC, 0x1), + + // Wrecked Ship Metal Doors (5) [252] + std::pair(0x100, 0x8), + std::pair(0x100, 0x40), + std::pair(0x101, 0x1), + std::pair(0x101, 0x2), + std::pair(0x101, 0x4), + + // Maridia Metal Doors (7) [257] + std::pair(0x102, 0x2), + std::pair(0x102, 0x8), + std::pair(0x102, 0x80), + std::pair(0x103, 0x10), + std::pair(0x103, 0x20), + std::pair(0x103, 0x40), + std::pair(0x103, 0x80), + + // Tourian Metal Doors (5) [264] + std::pair(0x104, 0x1), + std::pair(0x104, 0x2), + std::pair(0x104, 0x4), + std::pair(0x104, 0x8), + std::pair(0x104, 0x20), + + // Brinstar Eye Door (Kraid) [269] std::pair(0xF8, 0x20), - // Norfair Eye Door (Ridley) [265] + // Norfair Eye Door (Ridley) [270] std::pair(0xFB, 0x10), - // Wrecked Ship Eye Door (Phantoon) [266] + // Wrecked Ship Eye Door (Phantoon) [271] std::pair(0x100, 0x20), - // Maridia Eye Door (Draygon) [267] + // Maridia Eye Door (Draygon) [272] std::pair(0x103, 0x8), - // Tourian Eye Door [268] + // Tourian Eye Door [273] std::pair(0x105, 0x1), - // Crateria Map [269] + // Crateria Map [274] std::pair(0x148, 0xFF), - // Brinstar Map [270] + // Brinstar Map [275] std::pair(0x149, 0xFF), - // Norfair Map [271] + // Norfair Map [276] std::pair(0x14A, 0xFF), - // Wrecked Ship Map [272] + // Wrecked Ship Map [277] std::pair(0x14B, 0xFF), - // Maridia Map [273] + // Maridia Map [278] std::pair(0x14C, 0xFF), - // Tourian Map [274] + // Tourian Map [279] std::pair(0x14D, 0xFF), - // Save Spot [275] + // Save Spot (Area, Point) [280] std::pair(0x158, 0), std::pair(0x156, 0), - // Game Hours [277] + // Game Hours [282] std::pair(0x3E, 0xFF), - // Game Minutes [278] + // Game Minutes [283] std::pair(0x3C, 0xFF), - // Shot Button [279] + // Shot Button [284] std::pair(0x10, 0), - // Jump Button [280] + // Jump Button [285] std::pair(0x12, 0), - // Dash Button [281] + // Dash Button [286] std::pair(0x14, 0), - // Item Cancel Button [282] + // Item Cancel Button [287] std::pair(0x16, 0), - // Item Select Button [283] + // Item Select Button [288] std::pair(0x18, 0), - // Angle Down Button [284] + // Angle Down Button [289] std::pair(0x1A, 0), - // Angle Up Button [285] + // Angle Up Button [290] std::pair(0x1C, 0), - // Language (English or Japanese) [286] + // Language (English or Japanese) [291] std::pair(0x40, 0x1), - // Moon Walk (Off or On) [287] + // Moon Walk (Off or On) [292] std::pair(0x42, 0x1), - // Icon Cancel (Manual or Automatic) [288] + // Icon Cancel (Manual or Automatic) [293] std::pair(0x48, 0x1) }; @@ -1089,6 +1097,45 @@ void SRAMFile::checksum() { } } +void SRAMFile::clear(int game) { + // ensure we have a valid game + wxASSERT((game >= 0) && (game < GAMES)); + + if (valid[game]) { + // clear the game data + std::memset((sram + GAME_OFFSET + (game * GAME_SIZE)), 0, GAME_SIZE); + + // invalidate the checksum + sram[CHECKSUM_OFFSET + (game * 2)] = 0xFF; + sram[CHECKSUM_OFFSET2 + (game * 2)] = 0xFF; + + // the game is no longer valid + valid[game] = false; + + modified = true; + } +} + +void SRAMFile::copy(int src, int dest) { + // ensure we have valid games + wxASSERT((src >= 0) && (src < GAMES)); + wxASSERT((dest >= 0) && (dest < GAMES)); + wxASSERT(src != dest); + + // ensure our source is a valid game to duplicate + wxASSERT(valid[src]); + + // copy the game data + std::memcpy((sram + GAME_OFFSET + (dest * GAME_SIZE)), + (sram + GAME_OFFSET + (src * GAME_SIZE)), + GAME_SIZE); + + // the destination is now a valid game + valid[dest] = true; + + modified = true; +} + std::pair SRAMFile::compliment(std::pair checksum) const { diff --git a/source/model/SRAMFile.hh b/source/model/SRAMFile.hh index ff23e2c..9f45b43 100644 --- a/source/model/SRAMFile.hh +++ b/source/model/SRAMFile.hh @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -// $Id: SRAMFile.hh,v 1.36 2005/10/13 02:06:26 technoplaza Exp $ +// $Id: SRAMFile.hh,v 1.39 2005/10/15 04:50:51 technoplaza Exp $ #ifndef _SMSE_SRAMFILE_HH_ #define _SMSE_SRAMFILE_HH_ @@ -29,52 +29,11 @@ #include +#include "AppConstants.hh" #include "exceptions/FileIOException.hh" #include "exceptions/InvalidButtonException.hh" #include "exceptions/InvalidSRAMFileException.hh" -/// size of the SRAM file -#define SRAM_SIZE 0x2000 - -/// The number of save games in the SRAM data -#define GAMES 3 - -/// size of each individual save game -#define GAME_SIZE 0x65C - -/// offset to the beginning of the game data -#define GAME_OFFSET 0x10 - -/// offset of the checksums -#define CHECKSUM_OFFSET 0 - -/// offset of the checksum compliments -#define COMPLIMENT_OFFSET 0x8 - -/// offset of the redundant checksums -#define CHECKSUM_OFFSET2 0x1FF0 - -/// offset of the redundant checksum compliments -#define COMPLIMENT_OFFSET2 0x1FF8 - -/// number of save points in Crateria -#define C_SAVEPOINTS 2 - -/// number of save points in Brinstar -#define BS_SAVEPOINTS 5 - -/// number of save points in Norfair -#define NF_SAVEPOINTS 6 - -/// number of save points in the Wrecked Ship -#define WS_SAVEPOINTS 1 - -/// number of save points in Maridia -#define M_SAVEPOINTS 4 - -/// number of save points in Tourian -#define T_SAVEPOINTS 2 - namespace smse { /// names for the SRAM offsets enum { @@ -93,44 +52,44 @@ namespace smse { // Bosses SO_SILVERTORIZO = 58, SO_SPORESPAWN, SO_KRAID, SO_PHANTOON = 62, SO_BOTWOON = 64, SO_DRAYGON, SO_CROCOMIRE = 67, SO_GOLDENTORIZO, - SO_RIDLEY, SO_ZEBETITES = 71, + SO_RIDLEY, SO_METROIDROOMS = 71, SO_ZEBETITES = 75, // Misc Game Progress SO_TOURIANELEVATOR, SO_MARIDIATUBEBROKEN, SO_RESCUEDANIMALS, // Missile Packs - SO_CMISSILEPACKS, SO_BSMISSILEPACKS = 83, SO_NFMISSILEPACKS = 95, - SO_WSMISSILEPACKS = 110, SO_MMISSILEPACKS = 113, + SO_CMISSILEPACKS, SO_BSMISSILEPACKS = 87, SO_NFMISSILEPACKS = 99, + SO_WSMISSILEPACKS = 114, SO_MMISSILEPACKS = 117, // Super Missile Packs - SO_CSMISSILEPACKS = 121, SO_BSSMISSILEPACKS, SO_NFSMISSILEPACKS = 125, - SO_WSSMISSILEPACKS, SO_MSMISSILEPACKS = 128, + SO_CSMISSILEPACKS = 125, SO_BSSMISSILEPACKS, SO_NFSMISSILEPACKS = 129, + SO_WSSMISSILEPACKS, SO_MSMISSILEPACKS = 132, // Power Bomb Packs - SO_CPBOMBPACKS = 131, SO_BSPBOMBPACKS, SO_NFPBOMBPACKS = 137, - SO_MPBOMBPACKS = 140, + SO_CPBOMBPACKS = 135, SO_BSPBOMBPACKS, SO_NFPBOMBPACKS = 141, + SO_MPBOMBPACKS = 144, // Energy and Reserve Tanks - SO_CETANKS, SO_BSETANKS = 143, SO_NFETANKS = 148, SO_WSETANKS = 152, - SO_METANKS, SO_BSRTANK = 155, SO_NFRTANK, SO_WSRTANK, SO_MRTANK, + SO_CETANKS, SO_BSETANKS = 147, SO_NFETANKS = 152, SO_WSETANKS = 156, + SO_METANKS, SO_BSRTANK = 159, SO_NFRTANK, SO_WSRTANK, SO_MRTANK, // Red Doors - SO_CRDOORS, SO_BSRDOORS = 162, SO_NFRDOORS = 172, SO_WSRDOORS = 179, - SO_MRDOORS, SO_TRDOORS = 187, + SO_CRDOORS, SO_BSRDOORS = 166, SO_NFRDOORS = 176, SO_WSRDOORS = 183, + SO_MRDOORS, SO_TRDOORS = 191, // Green Doors - SO_CGDOORS = 189, SO_BSGDOORS = 191, SO_NFGDOORS = 201, - SO_WSGDOORS = 207, SO_MGDOORS, + SO_CGDOORS = 193, SO_BSGDOORS = 195, SO_NFGDOORS = 205, + SO_WSGDOORS = 211, SO_MGDOORS, // Yellow Doors - SO_CYDOORS = 212, SO_BSYDOORS = 218, SO_NFYDOORS = 222, + SO_CYDOORS = 216, SO_BSYDOORS = 222, SO_NFYDOORS = 226, // Metal Doors - SO_CMDOORS = 225, SO_BSMDOORS, SO_NFMDOORS = 242, - SO_WSMDOORS = 248, SO_MMDOORS = 253, SO_TMDOORS = 260, + SO_CMDOORS = 229, SO_BSMDOORS, SO_NFMDOORS = 246, + SO_WSMDOORS = 252, SO_MMDOORS = 257, SO_TMDOORS = 264, // Eye Doors - SO_BSEDOOR = 264, SO_NFEDOOR, SO_WSEDOOR, SO_MEDOOR, SO_TEDOOR, + SO_BSEDOOR = 269, SO_NFEDOOR, SO_WSEDOOR, SO_MEDOOR, SO_TEDOOR, // Maps SO_CMAP, SO_BSMAP, SO_NFMAP, SO_WSMAP, SO_MMAP, SO_TMAP, @@ -171,7 +130,7 @@ namespace smse { /// names for the doors enum Door { // Crateria Red Doors - RD_C_MAP = 159, RD_C_BOMBS, RD_C_TELEVATOR, + RD_C_MAP = 163, RD_C_BOMBS, RD_C_TELEVATOR, // Brinstar Red Doors RD_BS1, RD_BS_MAP, RD_BS2, RD_BS3, RD_BS4, RD_BS_RTANK, @@ -235,7 +194,7 @@ namespace smse { MD_M_BOTWOONEXIT, MD_M_DRAYGONEXIT, MD_M_SPACEJUMP, // Tourian Metal Doors - MD_T1, MD_T2, MD_T3, MD_T4, + MD_T1, MD_T2, MD_T3, MD_T4, MD_T5, // Eye Doors ED_KRAID, ED_RIDLEY, ED_PHANTOON, ED_DRAYGON, ED_T @@ -253,8 +212,13 @@ namespace smse { /// semi-typesafe names for the miscellaneous bits enum MiscBit { - MB_TELEVATOR = 72, MB_MTUBEBROKEN, MB_RESCUEDANIMALS, - MB_LANGUAGE = 286, MB_MOONWALK, MB_ICONCANCEL + MB_TELEVATOR = 76, MB_MTUBEBROKEN, MB_RESCUEDANIMALS, + MB_LANGUAGE = 291, MB_MOONWALK, MB_ICONCANCEL + }; + + /// semi-typesafe names for the Metroid rooms in Tourian + enum MetroidRoom { + MR1, MR2, MR3, MR4 }; /// semi-typesafe names for the boss statues @@ -623,6 +587,23 @@ namespace smse { */ unsigned char getMaxSuperMissiles() const; + /** + * Checks if one of the Metroid rooms in Tourian has been cleared. + * + * @param room The room to check. + * + * @return true if the room has been cleared; false otherwise. + */ + bool getMetroidRoom(enum MetroidRoom room) const; + + /** + * Sets whether one of the Metroid rooms in Tourian is clear or not; + * + * @param room The room. + * @param clear true to clear the room; false otherwise. + */ + void setMetroidRoom(enum MetroidRoom room, bool clear = true); + /** * Gets one of the miscellaneous bits that don't fit in with any other * group of data. @@ -829,6 +810,21 @@ namespace smse { */ void setZebetites(int count = 4); + /** + * Clears a game. + * + * @param game The game to clear (0-2). + */ + void clear(int game); + + /** + * Copies one game over another. + * + * @param src The source game (0-2). + * @param dest The destination game (0-2). + */ + void copy(int src, int dest); + /** * Saves this SRAMFile to disk. * @@ -843,27 +839,45 @@ namespace smse { inline bool SRAMFile::getBit(const std::pair &bit) const { return (game[bit.first] & bit.second); } + inline bool SRAMFile::getBoss(enum Boss boss) const { return getBit(SRAM_OFFSET[boss]); } + inline void SRAMFile::setBoss(enum Boss boss, bool dead) { setBit(SRAM_OFFSET[boss], dead); } + inline int SRAMFile::getGame() const { return (static_cast(game - sram - GAME_OFFSET) / GAME_SIZE); } + inline bool SRAMFile::isItemEquipped(enum Item item) const { return getBit(SRAM_OFFSET[item + 2]); } + inline void SRAMFile::setItemEquipped(enum Item item, bool equipped) { setBit(SRAM_OFFSET[item + 2], equipped); } + inline bool SRAMFile::hasMap(enum Area area) const { return getBit(SRAM_OFFSET[area + SO_CMAP]); } + inline void SRAMFile::setMap(enum Area area, bool give) { setBit(SRAM_OFFSET[area + SO_CMAP], give); } + + inline bool SRAMFile::getMetroidRoom(enum MetroidRoom room) const + { return getBit(SRAM_OFFSET[SO_METROIDROOMS + room]); } + + inline void SRAMFile::setMetroidRoom(enum MetroidRoom room, bool clear) + { setBit(SRAM_OFFSET[SO_METROIDROOMS + room], clear); } + inline bool SRAMFile::getMiscBit(enum MiscBit bit) const { return getBit(SRAM_OFFSET[bit]); } + inline void SRAMFile::setMiscBit(enum MiscBit bit, bool on) { setBit(SRAM_OFFSET[bit], on); } + inline bool SRAMFile::isModified() const { return modified; } + inline bool SRAMFile::getStatue(enum Statue statue) const { return getBit(SRAM_OFFSET[statue]); } + inline void SRAMFile::setStatue(enum Statue statue, bool active) { setBit(SRAM_OFFSET[statue], active); } } diff --git a/source/res/smse.xrc b/source/res/smse.xrc index 712148b..558f640 100644 --- a/source/res/smse.xrc +++ b/source/res/smse.xrc @@ -81,86 +81,143 @@ - + Fill Samus' primary and reserve energy - + Fill Samus' missile, super missile, and power bomb inventory - + Kill all bosses - + Kill all mini-bosses + + + Clear all metroid rooms + - + Kill all zebetites - + Give Samus all area maps - + Give Samus all items - + Give Samus all missile packs - + Give Samus all super missile packs - + Give Samus all power bomb packs - + Give Samus all energy tanks - + Give Samus all reserve tanks - + Open all red doors - + Open all green doors - + Open all yellow doors - + Destroy all eye doors - + Open all metal doors + + + + + + + + + Copy game A over game B + + + + Copy game A over game C + + + + + + + Copy game B over game A + + + + Copy game B over game C + + + + + + + Copy game C over game A + + + + Copy game C over game B + + + + + + + + Clear game A + + + + Clear game B + + + + Clear game C + + @@ -352,14 +409,14 @@ 0 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE 5 - wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 @@ -368,7 +425,7 @@ - wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 @@ -474,14 +531,14 @@ 0 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxADJUST_MINSIZE 5 - wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 @@ -557,6 +614,50 @@ + + wxGROW|wxLEFT|wxRIGHT + 5 + + wxVERTICAL + + + wxALIGN_LEFT|wxLEFT|wxRIGHT + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxGROW|wxLEFT|wxRIGHT 5 @@ -667,7 +768,7 @@ wxVERTICAL - wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxLEFT|wxRIGHT 5 @@ -1321,9 +1422,203 @@ + + wxGROW|wxRIGHT + 5 + + wxVERTICAL + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxGROW|wxLEFT|wxRIGHT 5 + + wxVERTICAL + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + + + + + + + + + + + + wxVERTICAL + + wxALIGN_LEFT|wxALL + 5 + + wxHORIZONTAL + + wxGROW|wxRIGHT + 5 wxVERTICAL @@ -1342,36 +1637,36 @@ 0 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 @@ -1380,7 +1675,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1389,7 +1684,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1398,7 +1693,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1407,7 +1702,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1432,54 +1727,54 @@ 0 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 @@ -1488,7 +1783,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1497,7 +1792,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1506,7 +1801,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1515,7 +1810,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1524,7 +1819,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1533,7 +1828,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1558,45 +1853,45 @@ 0 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 @@ -1605,7 +1900,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1614,7 +1909,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1623,7 +1918,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1632,7 +1927,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1641,7 +1936,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1650,7 +1945,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1659,7 +1954,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1668,7 +1963,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1677,7 +1972,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1686,7 +1981,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1703,27 +1998,27 @@ wxHORIZONTAL - wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 @@ -1746,36 +2041,36 @@ 0 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + 0 @@ -1784,7 +2079,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1793,7 +2088,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1802,7 +2097,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1811,7 +2106,7 @@ wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1832,7 +2127,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT 5 - + 0 @@ -1841,7 +2136,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1850,7 +2145,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1859,7 +2154,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1868,7 +2163,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1877,7 +2172,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1886,7 +2181,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1895,7 +2190,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1904,7 +2199,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1913,7 +2208,7 @@ wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -1921,107 +2216,97 @@ - - - - wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP - 5 - - wxVERTICAL - - wxALIGN_CENTER_HORIZONTAL|wxALL - 0 - - 5 - 2 - 0 - 0 + wxGROW|wxLEFT|wxRIGHT + 5 + + wxVERTICAL + - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxLEFT|wxRIGHT 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + 0 @@ -2031,148 +2316,156 @@ + + + + + + + + + wxVERTICAL - wxALIGN_LEFT|wxALL + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 wxHORIZONTAL - wxALIGN_CENTER_VERTICAL|wxRIGHT + wxGROW|wxRIGHT 5 wxVERTICAL - + + + wxALIGN_LEFT|wxLEFT|wxRIGHT + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + + + wxGROW|wxLEFT|wxRIGHT + 5 + + wxVERTICAL + wxALIGN_CENTER_HORIZONTAL|wxALL 0 - 7 - 2 + 2 + 5 0 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + - + 0 - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 @@ -2180,457 +2473,251 @@ + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + wxHORIZONTAL - wxGROW|wxLEFT|wxRIGHT + wxGROW|wxRIGHT 5 wxVERTICAL - + wxALIGN_CENTER_HORIZONTAL|wxALL 0 2 - 2 + 3 0 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - - - - 0 - - - - - - - - - - - - - - - - - wxVERTICAL - - wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP - 5 - - wxVERTICAL - - - wxALIGN_LEFT|wxRIGHT - 5 - - wxHORIZONTAL - - wxGROW|wxRIGHT - 5 - - wxVERTICAL - - - wxALIGN_LEFT|wxLEFT|wxRIGHT - 5 - + - - 0 - - - - wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP - 5 - - - + 0 - wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - - 0 - - - - - - wxGROW|wxLEFT|wxRIGHT - 5 - - wxVERTICAL - - - wxALIGN_CENTER_HORIZONTAL|wxALL - 0 - - 2 - 5 - 0 - 0 - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - - - - - wxGROW|wxLEFT|wxRIGHT - 5 - - wxVERTICAL - - - wxALIGN_CENTER_HORIZONTAL|wxALL - 0 - - 2 - 3 - 0 - 0 - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL - 0 - 5,5 - + + 0 + + + + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL + 0 + 5,5 + - wxALIGN_LEFT|wxRIGHT + wxGROW|wxRIGHT 5 - - wxHORIZONTAL + + wxVERTICAL + - wxGROW|wxRIGHT + wxALIGN_LEFT|wxLEFT|wxRIGHT 5 - - wxVERTICAL - + + + + 0 + + + + + + + + wxALIGN_LEFT|wxALL + 5 + + wxHORIZONTAL + + wxGROW|wxRIGHT + 5 + + wxVERTICAL + + + wxALIGN_CENTER_HORIZONTAL|wxALL + 0 + + 2 + 4 + 0 + 0 - wxALIGN_LEFT|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 5 - + - + 0 - - - - wxGROW|wxLEFT|wxRIGHT - 5 - - wxVERTICAL - - wxALIGN_CENTER_HORIZONTAL|wxALL - 0 - - 2 - 4 - 0 - 0 - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP - 5 - - - - 0 - - - - wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL - 0 - 5,5 - + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + 5 + + + + 0 - - - - wxGROW|wxLEFT|wxRIGHT - 5 - - wxVERTICAL - - wxALIGN_LEFT|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 - wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP 5 - + - + 0 + + wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL + 0 + 5,5 + + + + + + + wxGROW|wxLEFT|wxRIGHT + 5 + + wxVERTICAL + + + wxALIGN_LEFT|wxLEFT|wxRIGHT + 5 + + + + 0 + + + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + + + + + + + + wxVERTICAL wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 - + wxHORIZONTAL - wxGROW|wxRIGHT 5 @@ -2765,8 +2852,15 @@ + + + + wxALIGN_LEFT|wxALL + 5 + + wxHORIZONTAL - wxGROW|wxLEFT|wxRIGHT + wxGROW|wxRIGHT 5 wxVERTICAL @@ -2910,12 +3004,20 @@ + + + + + + + + + wxVERTICAL - wxALIGN_LEFT|wxLEFT|wxRIGHT + wxALIGN_LEFT|wxALL 5 - + wxHORIZONTAL - wxGROW|wxRIGHT 5 @@ -3079,15 +3181,6 @@ - - - - - - - - - wxVERTICAL wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP 5 @@ -3141,6 +3234,15 @@ + + + + + + + + + wxVERTICAL wxALIGN_LEFT|wxALL 5 @@ -3566,6 +3668,15 @@ 0 + + wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP + 5 + + + + 0 + + diff --git a/source/view/Frame.cc b/source/view/Frame.cc index 720be97..5ac1129 100644 --- a/source/view/Frame.cc +++ b/source/view/Frame.cc @@ -20,7 +20,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -// $Id: Frame.cc,v 1.44 2005/10/13 07:29:53 technoplaza Exp $ +// $Id: Frame.cc,v 1.51 2005/10/15 16:48:10 technoplaza Exp $ #ifdef HAVE_CONFIG_H #include @@ -35,11 +35,11 @@ #include #include -#include "AppConstants.hh" #include "exceptions/InvalidSRAMDataException.hh" #include "res/icon32x32.xpm" #include "model/SRAMFile.hh" #include "view/Frame.hh" +#include "view/SRAMFileTarget.hh" using namespace smse; @@ -55,6 +55,9 @@ Frame::Frame() : timer(this, ID_SBTIMER), sram(NULL), ignoreTextEvents(true) { // stop ignoring text events ignoreTextEvents = false; + + // add the file drop target + SetDropTarget(new SRAMFileTarget(this)); } void Frame::CreateControls() { @@ -111,6 +114,8 @@ void Frame::load(int game) { // select the proper game in the SRAM sram->setGame(game); + this->game = game; + try { loadGameTab(); loadMiscTab(); @@ -283,6 +288,7 @@ void Frame::loadGameTab() { loadBosses(); loadMiniBosses(); + loadMetroidRooms(); loadZebetites(); loadSavePoint(); @@ -598,6 +604,22 @@ void Frame::loadMetalDoors() { wxCheckBox)->SetValue(sram->getDoor(MD_T3)); XRCCTRL(*this, "IDC_METALDOOR_T4", wxCheckBox)->SetValue(sram->getDoor(MD_T4)); + XRCCTRL(*this, "IDC_METALDOOR_T5", + wxCheckBox)->SetValue(sram->getDoor(MD_T5)); +} + +void Frame::loadMetroidRooms() { + // ensure we have an open SRAMFile + wxASSERT(sram); + + XRCCTRL(*this, "IDC_GAME_METROIDROOM1", + wxCheckBox)->SetValue(sram->getMetroidRoom(MR1)); + XRCCTRL(*this, "IDC_GAME_METROIDROOM2", + wxCheckBox)->SetValue(sram->getMetroidRoom(MR2)); + XRCCTRL(*this, "IDC_GAME_METROIDROOM3", + wxCheckBox)->SetValue(sram->getMetroidRoom(MR3)); + XRCCTRL(*this, "IDC_GAME_METROIDROOM4", + wxCheckBox)->SetValue(sram->getMetroidRoom(MR4)); } void Frame::loadMiniBosses() { @@ -637,105 +659,105 @@ void Frame::loadMissilePacks() { wxASSERT(sram); // Crateria Missile Packs - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C1", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C1", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C2", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C2", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C3", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C3", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS + 2)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C4", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C4", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS + 3)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C5", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C5", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS + 4)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C6", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C6", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS + 5)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C7", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C7", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS + 6)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_C8", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_C8", wxCheckBox)->SetValue(sram->hasMissilePack(SO_CMISSILEPACKS + 7)); // Brinstar Missile Packs - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS1", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS1", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS )); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS2", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS2", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS3", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS3", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 2)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS4", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS4", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 3)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS5", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS5", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 4)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS6", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS6", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 5)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS7", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS7", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 6)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS8", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS8", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 7)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS9", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS9", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 8)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS10", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS10", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 9)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS11", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS11", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 10)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_BS12", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_BS12", wxCheckBox)->SetValue(sram->hasMissilePack(SO_BSMISSILEPACKS + 11)); // Norfair Missile Packs - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF1", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF1", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF2", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF2", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF3", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF3", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 2)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF4", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF4", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 3)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF5", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF5", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 4)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF6", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF6", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 5)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF7", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF7", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 6)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF8", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF8", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 7)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF9", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF9", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 8)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF10", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF10", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 9)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF11", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF11", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 10)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF12", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF12", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 11)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF13", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF13", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 12)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF14", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF14", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 13)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_NF15", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_NF15", wxCheckBox)->SetValue(sram->hasMissilePack(SO_NFMISSILEPACKS + 14)); // Wrecked Ship Missile Packs - XRCCTRL(*this, "IDC_ITEMS_MISSILE_WS1", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_WS1", wxCheckBox)->SetValue(sram->hasMissilePack(SO_WSMISSILEPACKS)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_WS2", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_WS2", wxCheckBox)->SetValue(sram->hasMissilePack(SO_WSMISSILEPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_WS3", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_WS3", wxCheckBox)->SetValue(sram->hasMissilePack(SO_WSMISSILEPACKS + 2)); // Maridia Missile Packs - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M1", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M1", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M2", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M2", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M3", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M3", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS + 2)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M4", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M4", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS + 3)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M5", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M5", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS + 4)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M6", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M6", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS + 5)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M7", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M7", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS + 6)); - XRCCTRL(*this, "IDC_ITEMS_MISSILE_M8", + XRCCTRL(*this, "IDC_PICKUPS_MISSILE_M8", wxCheckBox)->SetValue(sram->hasMissilePack(SO_MMISSILEPACKS + 7)); } @@ -744,31 +766,31 @@ void Frame::loadPowerBombPacks() { wxASSERT(sram); // Crateria Power Bomb Pack - XRCCTRL(*this, "IDC_ITEMS_PBOMB_C", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_C", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_CPBOMBPACKS)); // Brinstar Power Bomb Packs - XRCCTRL(*this, "IDC_ITEMS_PBOMB_BS1", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_BS1", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_BSPBOMBPACKS)); - XRCCTRL(*this, "IDC_ITEMS_PBOMB_BS2", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_BS2", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_BSPBOMBPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_PBOMB_BS3", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_BS3", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_BSPBOMBPACKS + 2)); - XRCCTRL(*this, "IDC_ITEMS_PBOMB_BS4", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_BS4", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_BSPBOMBPACKS + 3)); - XRCCTRL(*this, "IDC_ITEMS_PBOMB_BS5", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_BS5", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_BSPBOMBPACKS + 4)); // Norfair Power Bombs Packs - XRCCTRL(*this, "IDC_ITEMS_PBOMB_NF1", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_NF1", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_NFPBOMBPACKS)); - XRCCTRL(*this, "IDC_ITEMS_PBOMB_NF2", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_NF2", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_NFPBOMBPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_PBOMB_NF3", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_NF3", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_NFPBOMBPACKS + 2)); // Maridia Power Bomb Pack - XRCCTRL(*this, "IDC_ITEMS_PBOMB_M", + XRCCTRL(*this, "IDC_PICKUPS_PBOMB_M", wxCheckBox)->SetValue(sram->hasPowerBombPack(SO_MPBOMBPACKS)); } @@ -905,33 +927,33 @@ void Frame::loadSuperMissilePacks() { wxASSERT(sram); // Crateria Super Missile Pack - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_C", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_C", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_CSMISSILEPACKS)); // Brinstar Super Missile Packs - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_BS1", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_BS1", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_BSSMISSILEPACKS)); - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_BS2", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_BS2", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_BSSMISSILEPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_BS3", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_BS3", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_BSSMISSILEPACKS + 2)); // Norfair Super Missile Pack - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_NF", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_NF", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_NFSMISSILEPACKS)); // Wrecked Ship Super Missile Packs - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_WS1", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_WS1", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_WSSMISSILEPACKS)); - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_WS2", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_WS2", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_WSSMISSILEPACKS + 1)); // Maridia Super Missile Packs - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_M1", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_M1", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_MSMISSILEPACKS)); - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_M2", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_M2", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_MSMISSILEPACKS + 1)); - XRCCTRL(*this, "IDC_ITEMS_SMISSILE_M3", wxCheckBox)-> + XRCCTRL(*this, "IDC_PICKUPS_SMISSILE_M3", wxCheckBox)-> SetValue(sram->hasSuperMissilePack(SO_MSMISSILEPACKS + 2)); } @@ -987,6 +1009,31 @@ void Frame::loadZebetites() { } } +void Frame::open(const wxString &filename) { + try { + SRAMFile *temp = new SRAMFile(filename); + + if (sram) { + close(); + } + + sram = temp; + + for (int i = 0; i < GAMES; ++i) { + if (sram->isValidGame(i)) { + load(i); + break; + } + } + } catch (InvalidSRAMFileException &e) { + wxString error(e.what(), wxConvLibc); + + wxMessageBox(error, + wxT("Error: Invalid Super Metroid SRAM file"), + wxOK | wxICON_ERROR); + } +} + bool Frame::save(const wxString &filename) { try { sram->save(filename); @@ -1183,6 +1230,8 @@ void Frame::onFileClose(wxCommandEvent &) { if (answer == wxYES) { close(true); + return; + } else if (answer == wxCANCEL) { return; } } @@ -1191,7 +1240,7 @@ void Frame::onFileClose(wxCommandEvent &) { } void Frame::onFileOpen(wxCommandEvent &) { - // close current SRAMFile + // save current SRAMFile if (sram && sram->isModified()) { int answer = wxMessageBox(wxT("Save current SRAM?"), wxT("Warning: Unsaved SRAM file"), @@ -1209,26 +1258,7 @@ void Frame::onFileOpen(wxCommandEvent &) { wxT("SRAM Files (*.srm)|*.srm"), wxOPEN); if (dlg.ShowModal() == wxID_OK) { - try { - if (sram) { - close(); - } - - sram = new SRAMFile(dlg.GetPath()); - - for (int i = 0; i < GAMES; ++i) { - if (sram->isValidGame(i)) { - load(i); - break; - } - } - } catch (InvalidSRAMFileException &e) { - wxString error(e.what(), wxConvLibc); - - wxMessageBox(error, - wxT("Error: Invalid Super Metroid SRAM file"), - wxOK | wxICON_ERROR); - } + open(dlg.GetPath()); } } @@ -1275,6 +1305,151 @@ void Frame::onGame(wxCommandEvent &event) { } } +void Frame::onGameClear(wxCommandEvent &event) { + // ensure we have an open SRAMFile + wxASSERT(sram); + + int game; + wxChar ch; + + if (event.GetId() == XRCID("IDM_GAME_CLEARA")) { + game = 0; + ch = wxT('A'); + } else if (event.GetId() == XRCID("IDM_GAME_CLEARB")) { + game = 1; + ch = wxT('B'); + } else { + // ensure we got game C if we're here + wxASSERT(event.GetId() == XRCID("IDM_GAME_CLEARC")); + + game = 2; + ch = wxT('C'); + } + + int answer = wxMessageBox(wxString::Format + (wxT("Are you sure you want to erase Game %c?"), ch), + wxT("Really erase game?"), wxYES_NO | wxICON_QUESTION); + + if (answer == wxYES) { + // make copy of the SRAMFile + SRAMFile *temp = new SRAMFile(*sram); + + // erase the old game + sram->clear(game); + + if (this->game == game) { + // time to change games + int game = -1; + + for (int i = 0; i < GAMES; ++i) { + if (sram->isValidGame(i)) { + game = i; + break; + } + } + + if (game == -1) { + // we deleted the only valid game + if (!close(true)) { + // we can't save the file, so we'll have to revert + delete sram; + + sram = temp; + } + } else { + // no need for the copy anymore + delete temp; + + load(game); + } + } + + enableMenus(); + } +} + +void Frame::onGameClearUpdate(wxUpdateUIEvent &event) { + if (event.GetId() == XRCID("IDM_GAME_CLEAR")) { + event.Enable(sram); + } else if (event.GetId() == XRCID("IDM_GAME_CLEARA")) { + event.Enable(sram && sram->isValidGame(0)); + } else if (event.GetId() == XRCID("IDM_GAME_CLEARB")) { + event.Enable(sram && sram->isValidGame(1)); + } else { + // ensure we have clear C if we're here + wxASSERT(event.GetId() == XRCID("IDM_GAME_CLEARC")); + + event.Enable(sram && sram->isValidGame(2)); + } +} + +void Frame::onGameCopy(wxCommandEvent &event) { + // ensure we have an open SRAMFile + wxASSERT(sram); + + int src, dest; + wxChar sch, dch; + + if (event.GetId() == XRCID("IDM_GAME_COPYAB")) { + src = 0; + dest = 1; + sch = wxT('A'); + dch = wxT('B'); + } else if (event.GetId() == XRCID("IDM_GAME_COPYAC")) { + src = 0; + dest = 2; + sch = wxT('A'); + dch = wxT('C'); + } else if (event.GetId() == XRCID("IDM_GAME_COPYBA")) { + src = 1; + dest = 0; + sch = wxT('B'); + dch = wxT('A'); + } else if (event.GetId() == XRCID("IDM_GAME_COPYBC")) { + src = 1; + dest = 2; + sch = wxT('B'); + dch = wxT('C'); + } else if (event.GetId() == XRCID("IDM_GAME_COPYCA")) { + src = 2; + dest = 0; + sch = wxT('C'); + dch = wxT('A'); + } else { + // ensure we have copy C->B if we're here + wxASSERT(event.GetId() == XRCID("IDM_GAME_COPYCB")); + + src = 2; + dest = 1; + sch = wxT('C'); + dch = wxT('B'); + } + + int answer = wxMessageBox(wxString::Format + (wxT("Are you sure you want to copy Game %c over Game %c?"), sch, dch), + wxT("Really copy game?"), wxYES_NO | wxICON_QUESTION); + + if (answer == wxYES) { + sram->copy(src, dest); + enableMenus(); + } +} + +void Frame::onGameCopyUpdate(wxUpdateUIEvent &event) { + if (event.GetId() == XRCID("IDM_GAME_COPY")) { + event.Enable(sram); + } else if (event.GetId() == XRCID("IDM_GAME_COPYA")) { + event.Enable(sram && sram->isValidGame(0)); + } else if (event.GetId() == XRCID("IDM_GAME_COPYB")) { + event.Enable(sram && sram->isValidGame(1)); + } else { + // ensure we have copy C->B if we're here + wxASSERT(event.GetId() == XRCID("IDM_GAME_COPYC")); + + event.Enable(sram && sram->isValidGame(2)); + } +} + void Frame::onGameEnding(wxCommandEvent &event) { // ensure we have an open SRAMFile wxASSERT(sram); @@ -1338,73 +1513,77 @@ void Frame::onGameGiveEverything(wxCommandEvent &) { // ensure we have an open SRAMFile wxASSERT(sram); - wxCommandEvent event3(wxEVT_COMMAND_MENU_SELECTED, + wxCommandEvent event1(wxEVT_COMMAND_MENU_SELECTED, XRCID("IDM_GAME_GIVE_BOSSES")); + GetEventHandler()->ProcessEvent(event1); + + wxCommandEvent event2(wxEVT_COMMAND_MENU_SELECTED, + XRCID("IDM_GAME_GIVE_MINIBOSSES")); + GetEventHandler()->ProcessEvent(event2); + + wxCommandEvent event3(wxEVT_COMMAND_MENU_SELECTED, + XRCID("IDM_GAME_GIVE_METROIDROOMS")); GetEventHandler()->ProcessEvent(event3); wxCommandEvent event4(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_MINIBOSSES")); + XRCID("IDM_GAME_GIVE_ZEBETITES")); GetEventHandler()->ProcessEvent(event4); wxCommandEvent event5(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_ZEBETITES")); + XRCID("IDM_GAME_GIVE_MAPS")); GetEventHandler()->ProcessEvent(event5); wxCommandEvent event6(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_MAPS")); + XRCID("IDM_GAME_GIVE_ITEMS")); GetEventHandler()->ProcessEvent(event6); wxCommandEvent event7(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_ITEMS")); + XRCID("IDM_GAME_GIVE_MISSILES")); GetEventHandler()->ProcessEvent(event7); wxCommandEvent event8(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_MISSILES")); + XRCID("IDM_GAME_GIVE_SMISSILES")); GetEventHandler()->ProcessEvent(event8); wxCommandEvent event9(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_SMISSILES")); + XRCID("IDM_GAME_GIVE_PBOMBS")); GetEventHandler()->ProcessEvent(event9); wxCommandEvent event10(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_PBOMBS")); + XRCID("IDM_GAME_GIVE_ETANKS")); GetEventHandler()->ProcessEvent(event10); wxCommandEvent event11(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_ETANKS")); + XRCID("IDM_GAME_GIVE_RTANKS")); GetEventHandler()->ProcessEvent(event11); wxCommandEvent event12(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_RTANKS")); + XRCID("IDM_GAME_GIVE_REDDOORS")); GetEventHandler()->ProcessEvent(event12); wxCommandEvent event13(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_REDDOORS")); + XRCID("IDM_GAME_GIVE_GREENDOORS")); GetEventHandler()->ProcessEvent(event13); wxCommandEvent event14(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_GREENDOORS")); + XRCID("IDM_GAME_GIVE_YELLOWDOORS")); GetEventHandler()->ProcessEvent(event14); wxCommandEvent event15(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_YELLOWDOORS")); + XRCID("IDM_GAME_GIVE_EYEDOORS")); GetEventHandler()->ProcessEvent(event15); wxCommandEvent event16(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_EYEDOORS")); + XRCID("IDM_GAME_GIVE_METALDOORS")); GetEventHandler()->ProcessEvent(event16); wxCommandEvent event17(wxEVT_COMMAND_MENU_SELECTED, - XRCID("IDM_GAME_GIVE_METALDOORS")); - GetEventHandler()->ProcessEvent(event17); - - wxCommandEvent event1(wxEVT_COMMAND_MENU_SELECTED, XRCID("IDM_GAME_GIVE_ENERGY")); - GetEventHandler()->ProcessEvent(event1); + GetEventHandler()->ProcessEvent(event17); - wxCommandEvent event2(wxEVT_COMMAND_MENU_SELECTED, + wxCommandEvent event18(wxEVT_COMMAND_MENU_SELECTED, XRCID("IDM_GAME_GIVE_INVENTORY")); - GetEventHandler()->ProcessEvent(event2); + GetEventHandler()->ProcessEvent(event18); } void Frame::onGameGiveEyeDoors(wxCommandEvent &) { @@ -1519,6 +1698,18 @@ void Frame::onGameGiveMetalDoors(wxCommandEvent &) { loadMetalDoors(); } +void Frame::onGameGiveMetroidRooms(wxCommandEvent &) { + // ensure we have an open SRAMFile + wxASSERT(sram); + + sram->setMetroidRoom(MR1); + sram->setMetroidRoom(MR2); + sram->setMetroidRoom(MR3); + sram->setMetroidRoom(MR4); + + loadMetroidRooms(); +} + void Frame::onGameGiveMiniBosses(wxCommandEvent &) { // ensure we have an open SRAMFile wxASSERT(sram); @@ -1982,11 +2173,31 @@ void Frame::onMetalDoorChange(wxCommandEvent &event) { sram->setDoor(MD_T2, event.IsChecked()); } else if (event.GetId() == XRCID("IDC_METALDOOR_T3")) { sram->setDoor(MD_T3, event.IsChecked()); + } else if (event.GetId() == XRCID("IDC_METALDOOR_T4")) { + sram->setDoor(MD_T4, event.IsChecked()); } else { - // ensure we have tourian metal door 4 if we're here - wxASSERT(event.GetId() == XRCID("IDC_METALDOOR_T4")); + // ensure we have tourian metal door 5 if we're here + wxASSERT(event.GetId() == XRCID("IDC_METALDOOR_T5")); - sram->setDoor(MD_T4, event.IsChecked()); + sram->setDoor(MD_T5, event.IsChecked()); + } +} + +void Frame::onMetroidRoomChange(wxCommandEvent &event) { + // ensure we have an open SRAMFile + wxASSERT(sram); + + if (event.GetId() == XRCID("IDC_GAME_METROIDROOM1")) { + sram->setMetroidRoom(MR1, event.IsChecked()); + } else if (event.GetId() == XRCID("IDC_GAME_METROIDROOM2")) { + sram->setMetroidRoom(MR2, event.IsChecked()); + } else if (event.GetId() == XRCID("IDC_GAME_METROIDROOM3")) { + sram->setMetroidRoom(MR3, event.IsChecked()); + } else { + // ensure we have metroid room 5 if we're here + wxASSERT(event.GetId() == XRCID("IDC_GAME_METROIDROOM4")); + + sram->setMetroidRoom(MR4, event.IsChecked()); } } @@ -2044,99 +2255,99 @@ void Frame::onMissilePackChange(wxCommandEvent &event) { // ensure we have an open SRAMFile wxASSERT(sram); - if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C1")) { + if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C1")) { sram->setMissilePack(SO_CMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C2")) { sram->setMissilePack(SO_CMISSILEPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C3")) { sram->setMissilePack(SO_CMISSILEPACKS + 2, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C4")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C4")) { sram->setMissilePack(SO_CMISSILEPACKS + 3, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C5")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C5")) { sram->setMissilePack(SO_CMISSILEPACKS + 4, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C6")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C6")) { sram->setMissilePack(SO_CMISSILEPACKS + 5, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C7")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C7")) { sram->setMissilePack(SO_CMISSILEPACKS + 6, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_C8")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_C8")) { sram->setMissilePack(SO_CMISSILEPACKS + 7, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS1")) { sram->setMissilePack(SO_BSMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS2")) { sram->setMissilePack(SO_BSMISSILEPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS3")) { sram->setMissilePack(SO_BSMISSILEPACKS + 2, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS4")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS4")) { sram->setMissilePack(SO_BSMISSILEPACKS + 3, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS5")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS5")) { sram->setMissilePack(SO_BSMISSILEPACKS + 4, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS6")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS6")) { sram->setMissilePack(SO_BSMISSILEPACKS + 5, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS7")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS7")) { sram->setMissilePack(SO_BSMISSILEPACKS + 6, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS8")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS8")) { sram->setMissilePack(SO_BSMISSILEPACKS + 7, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS9")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS9")) { sram->setMissilePack(SO_BSMISSILEPACKS + 8, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS10")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS10")) { sram->setMissilePack(SO_BSMISSILEPACKS + 9, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS11")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS11")) { sram->setMissilePack(SO_BSMISSILEPACKS + 10, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_BS12")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_BS12")) { sram->setMissilePack(SO_BSMISSILEPACKS + 11, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF1")) { sram->setMissilePack(SO_NFMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF2")) { sram->setMissilePack(SO_NFMISSILEPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF3")) { sram->setMissilePack(SO_NFMISSILEPACKS + 2, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF4")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF4")) { sram->setMissilePack(SO_NFMISSILEPACKS + 3, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF5")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF5")) { sram->setMissilePack(SO_NFMISSILEPACKS + 4, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF6")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF6")) { sram->setMissilePack(SO_NFMISSILEPACKS + 5, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF7")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF7")) { sram->setMissilePack(SO_NFMISSILEPACKS + 6, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF8")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF8")) { sram->setMissilePack(SO_NFMISSILEPACKS + 7, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF9")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF9")) { sram->setMissilePack(SO_NFMISSILEPACKS + 8, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF10")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF10")) { sram->setMissilePack(SO_NFMISSILEPACKS + 9, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF11")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF11")) { sram->setMissilePack(SO_NFMISSILEPACKS + 10, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF12")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF12")) { sram->setMissilePack(SO_NFMISSILEPACKS + 11, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF13")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF13")) { sram->setMissilePack(SO_NFMISSILEPACKS + 12, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF14")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF14")) { sram->setMissilePack(SO_NFMISSILEPACKS + 13, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_NF15")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_NF15")) { sram->setMissilePack(SO_NFMISSILEPACKS + 14, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_WS1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_WS1")) { sram->setMissilePack(SO_WSMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_WS2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_WS2")) { sram->setMissilePack(SO_WSMISSILEPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_WS3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_WS3")) { sram->setMissilePack(SO_WSMISSILEPACKS + 2, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_M1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M1")) { sram->setMissilePack(SO_MMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_M2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M2")) { sram->setMissilePack(SO_MMISSILEPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_M3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M3")) { sram->setMissilePack(SO_MMISSILEPACKS + 2, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_M4")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M4")) { sram->setMissilePack(SO_MMISSILEPACKS + 3, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_M5")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M5")) { sram->setMissilePack(SO_MMISSILEPACKS + 4, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_M6")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M6")) { sram->setMissilePack(SO_MMISSILEPACKS + 5, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_MISSILE_M7")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M7")) { sram->setMissilePack(SO_MMISSILEPACKS + 6, event.IsChecked()); } else { // ensure we have maridia pack 8 if we're here - wxASSERT(event.GetId() == XRCID("IDC_ITEMS_MISSILE_M8")); + wxASSERT(event.GetId() == XRCID("IDC_PICKUPS_MISSILE_M8")); sram->setMissilePack(SO_MMISSILEPACKS + 7, event.IsChecked()); } @@ -2232,27 +2443,27 @@ void Frame::onPowerBombPackChange(wxCommandEvent &event) { // ensure we have an open SRAMFile wxASSERT(sram); - if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_C")) { + if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_C")) { sram->setPowerBombPack(SO_CPBOMBPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_BS1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_BS1")) { sram->setPowerBombPack(SO_BSPBOMBPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_BS2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_BS2")) { sram->setPowerBombPack(SO_BSPBOMBPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_BS3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_BS3")) { sram->setPowerBombPack(SO_BSPBOMBPACKS + 2, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_BS4")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_BS4")) { sram->setPowerBombPack(SO_BSPBOMBPACKS + 3, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_BS5")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_BS5")) { sram->setPowerBombPack(SO_BSPBOMBPACKS + 4, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_NF1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_NF1")) { sram->setPowerBombPack(SO_NFPBOMBPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_NF2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_NF2")) { sram->setPowerBombPack(SO_NFPBOMBPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_PBOMB_NF3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_PBOMB_NF3")) { sram->setPowerBombPack(SO_NFPBOMBPACKS + 2, event.IsChecked()); } else { // ensure we have the maridia power bomb pack if we're here - wxASSERT(event.GetId() == XRCID("IDC_ITEMS_PBOMB_M")); + wxASSERT(event.GetId() == XRCID("IDC_PICKUPS_PBOMB_M")); sram->setPowerBombPack(SO_MPBOMBPACKS, event.IsChecked()); } @@ -2582,27 +2793,27 @@ void Frame::onSuperMissilePackChange(wxCommandEvent &event) { // ensure we have an open SRAMFile wxASSERT(sram); - if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_C")) { + if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_C")) { sram->setSuperMissilePack(SO_CSMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_BS1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_BS1")) { sram->setSuperMissilePack(SO_BSSMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_BS2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_BS2")) { sram->setSuperMissilePack(SO_BSSMISSILEPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_BS3")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_BS3")) { sram->setSuperMissilePack(SO_BSSMISSILEPACKS + 2, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_NF")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_NF")) { sram->setSuperMissilePack(SO_NFSMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_WS1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_WS1")) { sram->setSuperMissilePack(SO_WSSMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_WS2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_WS2")) { sram->setSuperMissilePack(SO_WSSMISSILEPACKS + 1, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_M1")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_M1")) { sram->setSuperMissilePack(SO_MSMISSILEPACKS, event.IsChecked()); - } else if (event.GetId() == XRCID("IDC_ITEMS_SMISSILE_M2")) { + } else if (event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_M2")) { sram->setSuperMissilePack(SO_MSMISSILEPACKS + 1, event.IsChecked()); } else { // ensure we have maridia 3 super missile pack if we're here - wxASSERT(event.GetId() == XRCID("IDC_ITEMS_SMISSILE_M3")); + wxASSERT(event.GetId() == XRCID("IDC_PICKUPS_SMISSILE_M3")); sram->setSuperMissilePack(SO_MSMISSILEPACKS + 2, event.IsChecked()); } @@ -2764,6 +2975,11 @@ BEGIN_EVENT_TABLE(Frame, wxFrame) EVT_CHECKBOX(XRCID("IDC_GAME_MINIBOSS_GOLDENTORIZO"), Frame::onMiniBossChange) + EVT_CHECKBOX(XRCID("IDC_GAME_METROIDROOM1"), Frame::onMetroidRoomChange) + EVT_CHECKBOX(XRCID("IDC_GAME_METROIDROOM2"), Frame::onMetroidRoomChange) + EVT_CHECKBOX(XRCID("IDC_GAME_METROIDROOM3"), Frame::onMetroidRoomChange) + EVT_CHECKBOX(XRCID("IDC_GAME_METROIDROOM4"), Frame::onMetroidRoomChange) + EVT_CHECKBOX(XRCID("IDC_GAME_MAP_C"), Frame::onMapChange) EVT_CHECKBOX(XRCID("IDC_GAME_MAP_BS"), Frame::onMapChange) EVT_CHECKBOX(XRCID("IDC_GAME_MAP_NF"), Frame::onMapChange) @@ -2820,89 +3036,6 @@ BEGIN_EVENT_TABLE(Frame, wxFrame) EVT_CHECKBOX(XRCID("IDC_ITEMS_PLASMA_EQUIPPED"), Frame::onItemEquippedChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C1"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C2"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C3"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C4"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C5"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C6"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C7"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_C8"), Frame::onMissilePackChange) - - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS1"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS2"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS3"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS4"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS5"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS6"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS7"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS8"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS9"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS10"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS11"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_BS12"), Frame::onMissilePackChange) - - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF1"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF2"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF3"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF4"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF5"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF6"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF7"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF8"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF9"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF10"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF11"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF12"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF13"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF14"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_NF15"), Frame::onMissilePackChange) - - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_WS1"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_WS2"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_WS3"), Frame::onMissilePackChange) - - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M1"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M2"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M3"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M4"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M5"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M6"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M7"), Frame::onMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_MISSILE_M8"), Frame::onMissilePackChange) - - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_C"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_BS1"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_BS2"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_BS3"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_NF"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_WS1"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_WS2"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_M1"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_M2"), - Frame::onSuperMissilePackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_SMISSILE_M3"), - Frame::onSuperMissilePackChange) - - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_C"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_BS1"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_BS2"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_BS3"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_BS4"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_BS5"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_NF1"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_NF2"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_NF3"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_PBOMB_M"), Frame::onPowerBombPackChange) - EVT_CHECKBOX(XRCID("IDC_ITEMS_ET_C1"), Frame::onEnergyTankChange) EVT_CHECKBOX(XRCID("IDC_ITEMS_ET_C2"), Frame::onEnergyTankChange) EVT_CHECKBOX(XRCID("IDC_ITEMS_ET_BS1"), Frame::onEnergyTankChange) @@ -2923,6 +3056,89 @@ BEGIN_EVENT_TABLE(Frame, wxFrame) EVT_CHECKBOX(XRCID("IDC_ITEMS_RTANK_WS"), Frame::onReserveTankChange) EVT_CHECKBOX(XRCID("IDC_ITEMS_RTANK_M"), Frame::onReserveTankChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C1"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C2"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C3"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C4"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C5"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C6"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C7"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_C8"), Frame::onMissilePackChange) + + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS1"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS2"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS3"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS4"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS5"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS6"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS7"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS8"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS9"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS10"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS11"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_BS12"), Frame::onMissilePackChange) + + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF1"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF2"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF3"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF4"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF5"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF6"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF7"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF8"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF9"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF10"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF11"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF12"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF13"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF14"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_NF15"), Frame::onMissilePackChange) + + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_WS1"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_WS2"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_WS3"), Frame::onMissilePackChange) + + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M1"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M2"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M3"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M4"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M5"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M6"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M7"), Frame::onMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_MISSILE_M8"), Frame::onMissilePackChange) + + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_C"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_BS1"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_BS2"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_BS3"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_NF"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_WS1"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_WS2"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_M1"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_M2"), + Frame::onSuperMissilePackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_SMISSILE_M3"), + Frame::onSuperMissilePackChange) + + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_C"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_BS1"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_BS2"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_BS3"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_BS4"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_BS5"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_NF1"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_NF2"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_NF3"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_PICKUPS_PBOMB_M"), Frame::onPowerBombPackChange) + EVT_CHECKBOX(XRCID("IDC_REDDOOR_C_MAP"), Frame::onRedDoorChange) EVT_CHECKBOX(XRCID("IDC_REDDOOR_C_BOMBS"), Frame::onRedDoorChange) EVT_CHECKBOX(XRCID("IDC_REDDOOR_C_TELEVATOR"), Frame::onRedDoorChange) @@ -3047,6 +3263,7 @@ BEGIN_EVENT_TABLE(Frame, wxFrame) EVT_CHECKBOX(XRCID("IDC_METALDOOR_T2"), Frame::onMetalDoorChange) EVT_CHECKBOX(XRCID("IDC_METALDOOR_T3"), Frame::onMetalDoorChange) EVT_CHECKBOX(XRCID("IDC_METALDOOR_T4"), Frame::onMetalDoorChange) + EVT_CHECKBOX(XRCID("IDC_METALDOOR_T5"), Frame::onMetalDoorChange) EVT_CHOICE(XRCID("IDC_MISC_DASH"), Frame::onControllerChange) EVT_CHOICE(XRCID("IDC_MISC_JUMP"), Frame::onControllerChange) @@ -3079,6 +3296,7 @@ BEGIN_EVENT_TABLE(Frame, wxFrame) EVT_MENU(XRCID("IDM_GAME_GIVE_BOSSES"), Frame::onGameGiveBosses) EVT_MENU(XRCID("IDM_GAME_GIVE_MINIBOSSES"), Frame::onGameGiveMiniBosses) + EVT_MENU(XRCID("IDM_GAME_GIVE_METROIDROOMS"), Frame::onGameGiveMetroidRooms) EVT_MENU(XRCID("IDM_GAME_GIVE_ZEBETITES"), Frame::onGameGiveZebetites) EVT_MENU(XRCID("IDM_GAME_GIVE_MAPS"), Frame::onGameGiveMaps) @@ -3099,6 +3317,17 @@ BEGIN_EVENT_TABLE(Frame, wxFrame) EVT_MENU(XRCID("IDM_GAME_GIVE_EYEDOORS"), Frame::onGameGiveEyeDoors) EVT_MENU(XRCID("IDM_GAME_GIVE_METALDOORS"), Frame::onGameGiveMetalDoors) + EVT_MENU(XRCID("IDM_GAME_COPYAB"), Frame::onGameCopy) + EVT_MENU(XRCID("IDM_GAME_COPYAC"), Frame::onGameCopy) + EVT_MENU(XRCID("IDM_GAME_COPYBA"), Frame::onGameCopy) + EVT_MENU(XRCID("IDM_GAME_COPYBC"), Frame::onGameCopy) + EVT_MENU(XRCID("IDM_GAME_COPYCA"), Frame::onGameCopy) + EVT_MENU(XRCID("IDM_GAME_COPYCB"), Frame::onGameCopy) + + EVT_MENU(XRCID("IDM_GAME_CLEARA"), Frame::onGameClear) + EVT_MENU(XRCID("IDM_GAME_CLEARB"), Frame::onGameClear) + EVT_MENU(XRCID("IDM_GAME_CLEARC"), Frame::onGameClear) + EVT_MENU(wxID_ABOUT, Frame::onHelpAbout) EVT_RADIOBOX(XRCID("IDRB_GAME_ZEBETITES"), Frame::onZebetitesChange) @@ -3141,6 +3370,16 @@ BEGIN_EVENT_TABLE(Frame, wxFrame) EVT_UPDATE_UI(XRCID("IDM_GAME_ENDING"), Frame::onGameEndingUpdate) EVT_UPDATE_UI(XRCID("IDM_GAME_GIVE"), Frame::onGameGiveUpdate) + EVT_UPDATE_UI(XRCID("IDM_GAME_COPY"), Frame::onGameCopyUpdate) + EVT_UPDATE_UI(XRCID("IDM_GAME_COPYA"), Frame::onGameCopyUpdate) + EVT_UPDATE_UI(XRCID("IDM_GAME_COPYB"), Frame::onGameCopyUpdate) + EVT_UPDATE_UI(XRCID("IDM_GAME_COPYC"), Frame::onGameCopyUpdate) + + EVT_UPDATE_UI(XRCID("IDM_GAME_CLEAR"), Frame::onGameClearUpdate) + EVT_UPDATE_UI(XRCID("IDM_GAME_CLEARA"), Frame::onGameClearUpdate) + EVT_UPDATE_UI(XRCID("IDM_GAME_CLEARB"), Frame::onGameClearUpdate) + EVT_UPDATE_UI(XRCID("IDM_GAME_CLEARC"), Frame::onGameClearUpdate) + EVT_UPDATE_UI(XRCID("IDN_SMSE"), Frame::onNotebookUpdate) EVT_UPDATE_UI(XRCID("IDC_GAME_STATUE_KRAID"), Frame::onStatueUpdate) diff --git a/source/view/Frame.hh b/source/view/Frame.hh index c859251..2100330 100644 --- a/source/view/Frame.hh +++ b/source/view/Frame.hh @@ -20,16 +20,13 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -// $Id: Frame.hh,v 1.39 2005/10/13 04:55:56 technoplaza Exp $ +// $Id: Frame.hh,v 1.44 2005/10/15 16:48:10 technoplaza Exp $ #ifndef _SMSE_FRAME_HH_ #define _SMSE_FRAME_HH_ #include -#define ID_SBTIMER wxID_HIGHEST + 1 -#define CLEAR_DELAY 4000 - namespace smse { class SRAMFile; @@ -38,39 +35,12 @@ namespace smse { DECLARE_CLASS(Frame) DECLARE_EVENT_TABLE() - private: - /// number of missile packs in the game - static const int MISSILE_PACKS = 46; - - /// number of super missile packs in the game - static const int SMISSILE_PACKS = 10; - - /// number of power bomb packs in the game - static const int PBOMB_PACKS = 10; - - /// number of energy tanks in the game - static const int ETANKS = 14; - - /// number of reserve tanks in the game - static const int RTANKS = 4; - - /// number of red doors in the game - static const int REDDOORS = 30; + friend class SRAMFileTarget; - /// number of green doors in the game - static const int GREENDOORS = 23; - - /// number of yellow doors in the game - static const int YELLOWDOORS = 13; - - /// number of eye doors in the game - static const int EYEDOORS = 5; - - /// number of metal doors in the game - static const int METALDOORS = 39; - + private: wxTimer timer; SRAMFile *sram; + int game; bool ignoreTextEvents; /** @@ -179,6 +149,11 @@ namespace smse { */ void loadMetalDoors(); + /** + * Loads the metroid room data into the controls. + */ + void loadMetroidRooms(); + /** * Loads the miniboss data into the controls. */ @@ -334,6 +309,34 @@ namespace smse { */ void onGame(wxCommandEvent &event); + /** + * Called when one of the clear submenu items is selected. + * + * @param event The triggering wxCommandEvent. + */ + void onGameClear(wxCommandEvent &event); + + /** + * Called in idle time to update the clear submenu. + * + * @param event The triggering wxUpdateUIEvent. + */ + void onGameClearUpdate(wxUpdateUIEvent &event); + + /** + * Called when one of the copy submenu items is selected. + * + * @param event The triggering wxCommandEvent. + */ + void onGameCopy(wxCommandEvent &event); + + /** + * Called in idle time to update the copy submenu. + * + * @param event The triggering wxUpdateUIEvent. + */ + void onGameCopyUpdate(wxUpdateUIEvent &event); + /** * Called when an ending from the game menu is selected. * @@ -418,6 +421,13 @@ namespace smse { */ void onGameGiveMetalDoors(wxCommandEvent &event); + /** + * Called when metroid rooms is selected from the give submenu. + * + * @param event The triggering wxCommandEvent (unused). + */ + void onGameGiveMetroidRooms(wxCommandEvent &event); + /** * Called when mini-bosses is selected from the give submenu. * @@ -544,6 +554,13 @@ namespace smse { */ void onMetalDoorChange(wxCommandEvent &event); + /** + * Called when a metroid room control is changed. + * + * @param event The triggering wxCommandEvent. + */ + void onMetroidRoomChange(wxCommandEvent &event); + /** * Called when a mini boss control is changed. */ @@ -713,13 +730,23 @@ namespace smse { * Creates a new Frame. */ Frame(); + + /** + * Opens an SRAM file. + * + * @param filename The filename to open. + */ + void open(const wxString &filename); }; inline void Frame::onFileCloseUpdate(wxUpdateUIEvent &event) { event.Enable(sram); } + inline void Frame::onFileExit(wxCommandEvent &) { Close(); } + inline void Frame::onGameEndingUpdate(wxUpdateUIEvent &event) { event.Enable(sram); } + inline void Frame::onGameGiveUpdate(wxUpdateUIEvent &event) { event.Enable(sram); } } diff --git a/source/view/SRAMFileTarget.cc b/source/view/SRAMFileTarget.cc new file mode 100644 index 0000000..e30959e --- /dev/null +++ b/source/view/SRAMFileTarget.cc @@ -0,0 +1,64 @@ +/* + * Super Metroid SRAM Editor + * Copyright (C) 2005 emuWorks + * http://games.technoplaza.net/ + * + * This file is part of Super Metroid SRAM Editor. + * + * Super Metroid SRAM Editor is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Super Metroid SRAM Editor is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Super Metroid SRAM Editor; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +// $Id: SRAMFileTarget.cc,v 1.1 2005/10/15 03:13:48 technoplaza Exp $ + +#ifdef HAVE_CONFIG_H + #include +#endif + +#include + +#ifndef WX_PRECOMP + #include +#endif + +#include "model/SRAMFile.hh" +#include "view/Frame.hh" +#include "view/SRAMFileTarget.hh" + +using namespace smse; + +bool SRAMFileTarget::OnDropFiles(wxCoord, wxCoord, const wxArrayString &files) { + if (files.GetCount() > 0) { + // save current SRAMFile + if (frame->sram && frame->sram->isModified()) { + int answer = wxMessageBox(wxT("Save current SRAM?"), + wxT("Warning: Unsaved SRAM file"), + wxYES_NO | wxCANCEL | wxICON_QUESTION); + + if (answer == wxYES) { + if (!frame->save()) { + return false; + } + } else if (answer == wxCANCEL) { + return false; + } + } + + // open the first file + frame->open(files[0]); + } + + return true; +} + diff --git a/source/view/SRAMFileTarget.hh b/source/view/SRAMFileTarget.hh new file mode 100644 index 0000000..be3ee4f --- /dev/null +++ b/source/view/SRAMFileTarget.hh @@ -0,0 +1,63 @@ +/* + * Super Metroid SRAM Editor + * Copyright (C) 2005 emuWorks + * http://games.technoplaza.net/ + * + * This file is part of Super Metroid SRAM Editor. + * + * Super Metroid SRAM Editor is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Super Metroid SRAM Editor is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Super Metroid SRAM Editor; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +// $Id: SRAMFileTarget.hh,v 1.1 2005/10/15 03:13:48 technoplaza Exp $ + +#ifndef _SMSE_SRAMFILETARGET_HH_ +#define _SMSE_SRAMFILETARGET_HH_ + +#include + +namespace smse { + class Frame; + + /// Class to implement a drop target for SRAM files on the Frame + class SRAMFileTarget : public wxFileDropTarget { + private: + Frame *frame; + + public: + /** + * Creates a new SRAMFileTarget. + * + * @param frame The Frame to send files to. + */ + SRAMFileTarget(Frame *frame); + + /** + * Called when files are dropped on the associated Frame. + * + * @param x The x-coordinate of the drop (unused). + * @param y The y-coordinate of the drop (unused). + * @param files The filenames. + * + * @return true if the drop was accepted; false otherwise. + */ + virtual bool OnDropFiles(wxCoord x, wxCoord y, + const wxArrayString &files); + }; + + inline SRAMFileTarget::SRAMFileTarget(Frame *frame) : frame(frame) {} +} + +#endif +