- Moved wrongly placed BMD in Green Area 1
- Renamed Judge Tree areas, as now it's clear what the names should really be - Renamed Undernet Zero map - Renamed project executable name - Added a splitter to make UI adjstable - Added translation support (see "po" folder to add more) - Added Russian Translation - Added more rooms from the Green Town postion of the game
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
|
@ -14,11 +14,16 @@
|
|||
</XPManifest>
|
||||
<Icon Value="0"/>
|
||||
</General>
|
||||
<i18n>
|
||||
<EnableI18N Value="True"/>
|
||||
<OutDir Value="po"/>
|
||||
</i18n>
|
||||
<VersionInfo>
|
||||
<UseVersionInfo Value="True"/>
|
||||
<AutoIncrementBuild Value="True"/>
|
||||
<MinorVersionNr Value="2"/>
|
||||
<BuildNr Value="18"/>
|
||||
<RevisionNr Value="1"/>
|
||||
<BuildNr Value="19"/>
|
||||
<Attributes pvaPrivateBuild="True"/>
|
||||
<StringTable CompanyName="4aiman" FileDescription="Megaman Battle Network 5 and 6 minimap app" InternalName="mmbn56mm" LegalCopyright="4aiman" OriginalFilename="mmbn56mm" ProductName="MMBN56MM" ProductVersion="2"/>
|
||||
</VersionInfo>
|
||||
|
|
|
|||
128
mmbn5m.lps
|
|
@ -9,7 +9,7 @@
|
|||
<Version Value="11"/>
|
||||
<PathDelim Value="\"/>
|
||||
<Target>
|
||||
<Filename Value="mmbn5mm"/>
|
||||
<Filename Value="mmbn56mm"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
|
|
@ -47,8 +47,8 @@
|
|||
<Filename Value="mmbn5m.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<CursorPos X="25" Y="5"/>
|
||||
<UsageCount Value="57"/>
|
||||
<CursorPos X="49" Y="20"/>
|
||||
<UsageCount Value="65"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
|
|
@ -58,10 +58,9 @@
|
|||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="Unit1"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="325"/>
|
||||
<CursorPos X="25" Y="346"/>
|
||||
<UsageCount Value="57"/>
|
||||
<TopLine Value="364"/>
|
||||
<CursorPos X="52" Y="411"/>
|
||||
<UsageCount Value="65"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
|
|
@ -70,21 +69,22 @@
|
|||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="128"/>
|
||||
<CursorPos Y="152"/>
|
||||
<UsageCount Value="21"/>
|
||||
<UsageCount Value="20"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="C:\lazarus\fpc\3.2.2\source\rtl\objpas\sysutils\syshelph.inc"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="147"/>
|
||||
<CursorPos X="16" Y="161"/>
|
||||
<UsageCount Value="11"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="rooms.ini"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<TopLine Value="40"/>
|
||||
<CursorPos X="121" Y="53"/>
|
||||
<UsageCount Value="16"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<TopLine Value="274"/>
|
||||
<CursorPos X="12" Y="298"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
<DefaultSyntaxHighlighter Value="Ini"/>
|
||||
</Unit>
|
||||
|
|
@ -92,128 +92,148 @@
|
|||
<Filename Value="mmbn5m.lpi"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<CursorPos Y="46"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="8"/>
|
||||
<DefaultSyntaxHighlighter Value="XML"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="C:\lazarus\lcl\lcltranslator.pas"/>
|
||||
<UnitName Value="LCLTranslator"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<TopLine Value="95"/>
|
||||
<CursorPos Y="95"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="C:\lazarus\components\lazutils\translations.pas"/>
|
||||
<UnitName Value="Translations"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<TopLine Value="738"/>
|
||||
<CursorPos X="54" Y="775"/>
|
||||
<UsageCount Value="11"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit>
|
||||
</Units>
|
||||
<JumpHistory HistoryIndex="29">
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="31" Column="11"/>
|
||||
<Caret Line="9" Column="34" TopLine="9"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="32" Column="11"/>
|
||||
<Caret Line="432" Column="49" TopLine="387"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="mmbn5m.lpr"/>
|
||||
<Caret Line="21" Column="21"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="40" Column="21"/>
|
||||
<Caret Line="435" Column="35" TopLine="408"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="mmbn5m.lpr"/>
|
||||
<Caret Line="13" Column="16"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="168" Column="27" TopLine="128"/>
|
||||
<Caret Line="428" Column="73" TopLine="409"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="170" Column="13" TopLine="130"/>
|
||||
<Caret Line="435" Column="50" TopLine="388"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="C:\lazarus\components\lazutils\translations.pas"/>
|
||||
<Caret Line="762" Column="128" TopLine="738"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="171" Column="13" TopLine="131"/>
|
||||
<Caret Line="435" Column="44" TopLine="406"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="176" Column="11" TopLine="136"/>
|
||||
<Caret Line="437" Column="54" TopLine="406"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="282" Column="49" TopLine="282"/>
|
||||
<Caret Line="26" Column="92"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="272" Column="72" TopLine="235"/>
|
||||
<Caret Line="414" Column="53" TopLine="390"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="312" Column="88" TopLine="283"/>
|
||||
<Caret Line="412" Column="27" TopLine="387"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="121" Column="7" TopLine="102"/>
|
||||
<Caret Line="211" Column="5" TopLine="165"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="291" Column="84" TopLine="272"/>
|
||||
<Caret Line="409" Column="19" TopLine="399"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="286" Column="14" TopLine="262"/>
|
||||
<Caret Line="175" Column="24" TopLine="151"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="287" Column="47" TopLine="264"/>
|
||||
<Caret Line="9" Column="73"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="289" Column="45" TopLine="265"/>
|
||||
<Caret Line="188" Column="20" TopLine="173"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="291" Column="69" TopLine="268"/>
|
||||
<Caret Line="189" Column="25" TopLine="171"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="300" Column="37" TopLine="275"/>
|
||||
<Caret Line="208" Column="3" TopLine="186"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="268" Column="98" TopLine="235"/>
|
||||
<Caret Line="453" Column="5" TopLine="408"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="344" Column="52" TopLine="315"/>
|
||||
<Caret Line="209" Column="46" TopLine="197"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="383" Column="89" TopLine="351"/>
|
||||
<Caret Line="224" Column="58" TopLine="192"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="281" Column="68" TopLine="259"/>
|
||||
<Caret Line="210" Column="59" TopLine="210"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="358" Column="89" TopLine="333"/>
|
||||
<Caret Line="195" Column="6" TopLine="171"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="136" Column="109" TopLine="108"/>
|
||||
<Caret Line="214" Column="66" TopLine="190"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="398" Column="5" TopLine="351"/>
|
||||
<Caret Line="415" Column="13" TopLine="375"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="rooms.ini"/>
|
||||
<Caret Line="51" Column="40" TopLine="25"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="396" Column="5" TopLine="350"/>
|
||||
<Caret Line="201" Column="82" TopLine="174"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="355" Column="14" TopLine="308"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="371" Column="57" TopLine="350"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="unit1.pas"/>
|
||||
<Caret Line="360" Column="141" TopLine="352"/>
|
||||
<Caret Line="265" Column="25" TopLine="241"/>
|
||||
</Position>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
|
|
|
|||
BIN
mmbn5m.res
111
po/mmbn56mm.en.po
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||
|
||||
#: tform1.caption
|
||||
msgid "MMBN5-6M"
|
||||
msgstr "MMBN5-6M"
|
||||
|
||||
#: tform1.edit_room_button.caption
|
||||
msgid "Edit Room"
|
||||
msgstr "Edit Room"
|
||||
|
||||
#: tform1.gamebox.text
|
||||
msgid "MMBN 5"
|
||||
msgstr "MMBN 5"
|
||||
|
||||
#: tform1.label1.caption
|
||||
msgid "Game:"
|
||||
msgstr "Game:"
|
||||
|
||||
#: tform1.langbox.text
|
||||
msgid "en"
|
||||
msgstr ""
|
||||
|
||||
#: tform1.map_stretch_checkbox.caption
|
||||
msgid "Stretch"
|
||||
msgstr "Stretch"
|
||||
|
||||
#: tform1.minus_spoil1.caption
|
||||
msgid "-"
|
||||
msgstr "-"
|
||||
|
||||
#: tform1.plus_spoil.caption
|
||||
msgid "+"
|
||||
msgstr "+"
|
||||
|
||||
#: tform1.room_name_label.caption
|
||||
msgctxt "tform1.room_name_label.caption"
|
||||
msgid "Run the game, then press \"Start\""
|
||||
msgstr "Run the game, then press \"Start\""
|
||||
|
||||
#: tform1.spoils_label.caption
|
||||
msgid "Spoils:"
|
||||
msgstr "Spoils:"
|
||||
|
||||
#: tform1.start_stop_button.caption
|
||||
msgctxt "tform1.start_stop_button.caption"
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#: unit1.adding_item
|
||||
msgid "Adding item to Room #"
|
||||
msgstr "Adding item to Room #"
|
||||
|
||||
#: unit1.app_caption
|
||||
msgid "MMBN5-6M: Reading from process ID"
|
||||
msgstr "MMBN5-6M: Reading from process ID"
|
||||
|
||||
#: unit1.editing_item
|
||||
msgid "Editing item in Room #"
|
||||
msgstr "Editing item in Room #"
|
||||
|
||||
#: unit1.editing_room
|
||||
msgid "Editing Room #"
|
||||
msgstr "Editing Room #"
|
||||
|
||||
#: unit1.enter_item_name
|
||||
msgid "Enter item's name"
|
||||
msgstr "Enter item's name"
|
||||
|
||||
#: unit1.enter_room_name
|
||||
msgid "Enter this Room's name"
|
||||
msgstr "Enter this Room's name"
|
||||
|
||||
#: unit1.error_game_memory_not_read
|
||||
msgid "Error. Game's memory not read."
|
||||
msgstr "Error. Game's memory not read."
|
||||
|
||||
#: unit1.error_game_not_running
|
||||
msgid "Error. Make sure the game's running."
|
||||
msgstr "Error. Make sure the game's running."
|
||||
|
||||
#: unit1.error_hotkey_registration_failed
|
||||
msgid "HotKey registration failed. You won't be able to press Win+Y to temporarily view map in full screen."
|
||||
msgstr "HotKey registration failed. You won't be able to press Win+Y to temporarily view map in full screen."
|
||||
|
||||
#: unit1.error_unable_to_read_game_memory
|
||||
msgid "Error. Can't read game's memory."
|
||||
msgstr "Error. Can't read game's memory."
|
||||
|
||||
#: unit1.room_number
|
||||
msgid "Room #"
|
||||
msgstr "Room #"
|
||||
|
||||
#: unit1.run_the_game_notice
|
||||
msgctxt "unit1.run_the_game_notice"
|
||||
msgid "Run the game, then press \"Start\""
|
||||
msgstr "Run the game, then press \"Start\""
|
||||
|
||||
#: unit1.start_button_stop
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: unit1.start_button_strat
|
||||
msgctxt "unit1.start_button_strat"
|
||||
msgid "Start"
|
||||
msgstr "Start"
|
||||
|
||||
#: unit1.unknown_room
|
||||
msgid "Unknown"
|
||||
msgstr "Unknown"
|
||||
|
||||
107
po/mmbn56mm.ru.po
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
msgid ""
|
||||
msgstr "Content-Type: text/plain; charset=UTF-8"
|
||||
|
||||
#: tform1.caption
|
||||
msgid "MMBN5-6M"
|
||||
msgstr ""
|
||||
|
||||
#: tform1.edit_room_button.caption
|
||||
msgid "Edit Room"
|
||||
msgstr "Дать Комнате Имя"
|
||||
|
||||
#: tform1.gamebox.text
|
||||
msgid "MMBN 5"
|
||||
msgstr ""
|
||||
|
||||
#: tform1.label1.caption
|
||||
msgid "Game:"
|
||||
msgstr "Игра:"
|
||||
|
||||
#: tform1.map_stretch_checkbox.caption
|
||||
msgid "Stretch"
|
||||
msgstr "Растянуть карту"
|
||||
|
||||
#: tform1.minus_spoil1.caption
|
||||
msgid "-"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: tform1.plus_spoil.caption
|
||||
msgid "+"
|
||||
msgstr "Добавить"
|
||||
|
||||
#: tform1.room_name_label.caption
|
||||
msgctxt "tform1.room_name_label.caption"
|
||||
msgid "Run the game, then press \"Start\""
|
||||
msgstr "Запусти игру, нажми \"Запуск\""
|
||||
|
||||
#: tform1.spoils_label.caption
|
||||
msgid "Spoils:"
|
||||
msgstr "Находки:"
|
||||
|
||||
#: tform1.start_stop_button.caption
|
||||
msgctxt "tform1.start_stop_button.caption"
|
||||
msgid "Start"
|
||||
msgstr "Запуск"
|
||||
|
||||
#: unit1.adding_item
|
||||
msgid "Adding item to Room #"
|
||||
msgstr "Новая находка в Комнате №"
|
||||
|
||||
#: unit1.app_caption
|
||||
msgid "MMBN5-6M: Reading from process ID"
|
||||
msgstr "MMBN5-6M: Чтение процесса с идентификатором"
|
||||
|
||||
#: unit1.editing_item
|
||||
msgid "Editing item in Room #"
|
||||
msgstr "Редактирование находки в Комнате №"
|
||||
|
||||
#: unit1.editing_room
|
||||
msgid "Editing Room #"
|
||||
msgstr "Переименование Комнаты №"
|
||||
|
||||
#: unit1.enter_item_name
|
||||
msgid "Enter item's name"
|
||||
msgstr "Введи название находки"
|
||||
|
||||
#: unit1.enter_room_name
|
||||
msgid "Enter this Room's name"
|
||||
msgstr "Введи название Комнаты"
|
||||
|
||||
#: unit1.error_game_memory_not_read
|
||||
msgid "Error. Game's memory not read."
|
||||
msgstr "Ошибка. Память приложения не прочитана."
|
||||
|
||||
#: unit1.error_game_not_running
|
||||
msgid "Error. Make sure the game's running."
|
||||
msgstr "Ошибка. Игра точно запущена?"
|
||||
|
||||
#: unit1.error_hotkey_registration_failed
|
||||
msgid "HotKey registration failed. You won't be able to press Win+Y to temporarily view map in full screen."
|
||||
msgstr "Регистрация горячих клавиш не удалась. Нажимать Win+Y для переключения в полноэкранный режим не выйдет."
|
||||
|
||||
#: unit1.error_unable_to_read_game_memory
|
||||
msgid "Error. Can't read game's memory."
|
||||
msgstr "Ошибка. Чтение памяти приложения невозможно."
|
||||
|
||||
#: unit1.room_number
|
||||
msgid "Room #"
|
||||
msgstr "Комната №"
|
||||
|
||||
#: unit1.run_the_game_notice
|
||||
msgctxt "unit1.run_the_game_notice"
|
||||
msgid "Run the game, then press \"Start\""
|
||||
msgstr "Запусти игру, нажми \"Запуск\""
|
||||
|
||||
#: unit1.start_button_stop
|
||||
msgid "Stop"
|
||||
msgstr "Остановка"
|
||||
|
||||
#: unit1.start_button_strat
|
||||
msgctxt "unit1.start_button_strat"
|
||||
msgid "Start"
|
||||
msgstr "Запуск"
|
||||
|
||||
#: unit1.unknown_room
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестно где..."
|
||||
|
||||
39
rooms.ini
|
|
@ -237,6 +237,23 @@ MMBN 6=2147425942
|
|||
2533274790526976=Research Lab 1
|
||||
281474985885696=Lab's Comp 1
|
||||
1125899906908160=AsterLand
|
||||
1688849869504512=Popcorn Shop Comp
|
||||
1125899907039232=Control Room (Aquarium)
|
||||
2533274799570944=Security Camera Comp (Class 6-1)
|
||||
262144=Green Town
|
||||
1125899916083200=Symbol Comp (Green Town)
|
||||
1407374892466176=Green Home Page (TRUTH Tablet)
|
||||
9568256=Green Area 1
|
||||
2814749776281600=Book Comp
|
||||
281474976972800=Court Foyer
|
||||
281474986278912=Green Area 2
|
||||
281474986475520=Undernet Zero
|
||||
562949953683456=Courtroom (Green Town)
|
||||
844424930394112=The Punishment Room
|
||||
562949962661888=Punishment Chair Comp
|
||||
8519680=Judge Tree Area 1
|
||||
281474985230336=Judge Tree Area 2
|
||||
562949961940992=Judge Tree Area 3
|
||||
|
||||
[Spoils MMBN 6]
|
||||
562949962596352=700z,Thunder *
|
||||
|
|
@ -246,11 +263,11 @@ MMBN 6=2147425942
|
|||
844424939307008={PMD},Reg UP2
|
||||
1125899916017664=Full Energy
|
||||
8388608=Water Data,Spreader1 M,HP Memory
|
||||
281474985099264=Reg UP2,Rocovery 30 *
|
||||
281474985099264=Reg UP2,Rocovery 30 *,ImgData [story]
|
||||
562949962858496=Hi Cannon L,Elec Sword {PMD}
|
||||
1688849869438976=Unlocker
|
||||
3659174706479104=Dubl Shot *,1000z
|
||||
281474986213376=Panel Return *,Vulcan 2D
|
||||
281474986213376=Panel Return *,Vulcan 2D,Attack +1 [Tengu]
|
||||
844424939044864=Tornado L {PMD},Geddon A [Pnl Return],HP Memory
|
||||
562949962924032=Wide Blade B {PMD},Reg Up 2,HP Memory {S},Bamboo Sword W {S},Recov 80 K {S},Barr 100 H {S},Time Bomb 1 {S}
|
||||
844424939372544=Barr 100 H
|
||||
|
|
@ -261,5 +278,21 @@ MMBN 6=2147425942
|
|||
562949961875456=HP + 50,Hi Cannon M
|
||||
281474985885696=FireHit1 F,Fan *
|
||||
9502720=Sub Memory [Aqua],HP Memory Aquaman has no use for it ;p
|
||||
1125899906908160=
|
||||
1125899906908160=Full Energy [c]
|
||||
1407374883684352=QuizBook
|
||||
1688849869504512=HP memory
|
||||
2533274799570944=HP Memory [story],Expo Folder [story],Jungle,3000z
|
||||
1125899916083200=Reg UP 2,2400z
|
||||
1407374892466176=BlkBomb F {PMD},HP Memory
|
||||
2814749776281600=Yoyo *,Sub Memory
|
||||
9568256=Lance W {PMD},Spreader2 C
|
||||
281474986278912=Speed +1,Auth Data
|
||||
281474986475520=Reg UP 2 [Tengu]
|
||||
281474976972800=87341489
|
||||
562949962661888=Guardion O {PMD},Full Energy
|
||||
8519680=ComingRd *,StepSword L
|
||||
281474985230336=YoYo N,HP Memory
|
||||
562949961940992=Reg UP 3,Expansion Memory
|
||||
|
||||
[Settings]
|
||||
Language=ru
|
||||
|
|
|
|||
296
unit1.lfm
|
|
@ -1,11 +1,12 @@
|
|||
object Form1: TForm1
|
||||
Left = 1066
|
||||
Height = 448
|
||||
Top = 323
|
||||
Width = 606
|
||||
Left = 1705
|
||||
Height = 478
|
||||
Top = 548
|
||||
Width = 792
|
||||
Anchors = [akTop]
|
||||
Caption = 'MMBN5-6M'
|
||||
ClientHeight = 448
|
||||
ClientWidth = 606
|
||||
ClientHeight = 478
|
||||
ClientWidth = 792
|
||||
Font.CharSet = ANSI_CHARSET
|
||||
Font.Height = -16
|
||||
Font.Name = 'Liberation Mono'
|
||||
|
|
@ -16,14 +17,13 @@ object Form1: TForm1
|
|||
Position = poScreenCenter
|
||||
LCLVersion = '2.2.6.0'
|
||||
object room_name_label: TLabel
|
||||
AnchorSideLeft.Control = start_stop_button
|
||||
AnchorSideLeft.Control = Splitter2
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Owner
|
||||
Left = 192
|
||||
Left = 231
|
||||
Height = 18
|
||||
Top = 8
|
||||
Width = 320
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
Caption = 'Run the game, then press "Start"'
|
||||
Color = clGradientInactiveCaption
|
||||
|
|
@ -31,18 +31,20 @@ object Form1: TForm1
|
|||
Transparent = False
|
||||
end
|
||||
object map_image: TImage
|
||||
AnchorSideLeft.Control = room_name_label
|
||||
AnchorSideLeft.Control = Splitter2
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = room_name_label
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 192
|
||||
Height = 406
|
||||
Left = 232
|
||||
Height = 436
|
||||
Top = 34
|
||||
Width = 406
|
||||
Width = 552
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 1
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
|
|
@ -51,141 +53,171 @@ object Form1: TForm1
|
|||
Proportional = True
|
||||
Stretch = True
|
||||
end
|
||||
object start_stop_button: TSpeedButton
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = gamebox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 30
|
||||
Top = 40
|
||||
Width = 176
|
||||
AllowAllUp = True
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
Caption = 'Start'
|
||||
GroupIndex = 1
|
||||
Transparent = False
|
||||
OnClick = start_stop_buttonClick
|
||||
object Splitter1: TSplitter
|
||||
Left = 787
|
||||
Height = 478
|
||||
Top = 0
|
||||
Width = 5
|
||||
Align = alRight
|
||||
ResizeAnchor = akRight
|
||||
end
|
||||
object edit_room_button: TButton
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = start_stop_button
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = map_image
|
||||
Left = 8
|
||||
Height = 30
|
||||
Top = 78
|
||||
Width = 176
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'Edit Room'
|
||||
OnClick = edit_room_buttonClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object spoils_listbox: TListBox
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = spoils_label
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = map_image
|
||||
AnchorSideBottom.Control = plus_spoil
|
||||
Left = 8
|
||||
Height = 250
|
||||
Top = 142
|
||||
Width = 176
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
BorderStyle = bsNone
|
||||
Color = clGradientInactiveCaption
|
||||
ItemHeight = 0
|
||||
OnDblClick = spoils_listboxDblClick
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 478
|
||||
Top = 0
|
||||
Width = 227
|
||||
Align = alLeft
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 478
|
||||
ClientWidth = 227
|
||||
TabOrder = 1
|
||||
end
|
||||
object spoils_label: TLabel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = edit_room_button
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = map_image
|
||||
Left = 8
|
||||
Height = 18
|
||||
Top = 116
|
||||
Width = 176
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
Caption = 'Spoils:'
|
||||
ParentColor = False
|
||||
end
|
||||
object plus_spoil: TButton
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideBottom.Control = Panel1
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 40
|
||||
Top = 400
|
||||
Width = 56
|
||||
Top = 430
|
||||
Width = 104
|
||||
Anchors = [akLeft, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = '+'
|
||||
OnClick = plus_spoilClick
|
||||
TabOrder = 2
|
||||
TabOrder = 0
|
||||
end
|
||||
object minus_spoil1: TButton
|
||||
AnchorSideLeft.Control = plus_spoil
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideRight.Control = map_image
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideTop.Control = plus_spoil
|
||||
AnchorSideRight.Control = Panel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Panel1
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 72
|
||||
Left = 120
|
||||
Height = 40
|
||||
Top = 400
|
||||
Width = 112
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
Top = 430
|
||||
Width = 103
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Right = 4
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = '-'
|
||||
OnClick = minus_spoil1Click
|
||||
TabOrder = 3
|
||||
TabOrder = 1
|
||||
end
|
||||
object map_stretch_checkbox: TCheckBox
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = spoils_listbox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = map_image
|
||||
AnchorSideRight.Control = Panel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = plus_spoil
|
||||
Left = 8
|
||||
Height = 22
|
||||
Top = 370
|
||||
Width = 176
|
||||
Top = 400
|
||||
Width = 215
|
||||
Anchors = [akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 8
|
||||
BorderSpacing.Right = 4
|
||||
BorderSpacing.Bottom = 8
|
||||
Caption = 'Stretch'
|
||||
OnChange = map_stretch_checkboxChange
|
||||
TabOrder = 4
|
||||
TabOrder = 2
|
||||
end
|
||||
object gamebox: TComboBox
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = start_stop_button
|
||||
object spoils_listbox: TListBox
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = spoils_label
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Panel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = start_stop_button
|
||||
AnchorSideBottom.Control = plus_spoil
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = 8
|
||||
Width = 176
|
||||
Height = 250
|
||||
Top = 142
|
||||
Width = 215
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 4
|
||||
BorderSpacing.Bottom = 8
|
||||
BorderStyle = bsNone
|
||||
Color = clGradientInactiveCaption
|
||||
ItemHeight = 0
|
||||
OnDblClick = spoils_listboxDblClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object spoils_label: TLabel
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = edit_room_button
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Panel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 18
|
||||
Top = 116
|
||||
Width = 215
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 4
|
||||
Caption = 'Spoils:'
|
||||
ParentColor = False
|
||||
end
|
||||
object edit_room_button: TButton
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = start_stop_button
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Panel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 30
|
||||
Top = 78
|
||||
Width = 215
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 4
|
||||
Caption = 'Edit Room'
|
||||
OnClick = edit_room_buttonClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object start_stop_button: TSpeedButton
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = gamebox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Panel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 30
|
||||
Top = 40
|
||||
Width = 215
|
||||
AllowAllUp = True
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 4
|
||||
Caption = 'Start'
|
||||
GroupIndex = 1
|
||||
Transparent = False
|
||||
OnClick = start_stop_buttonClick
|
||||
end
|
||||
object gamebox: TComboBox
|
||||
AnchorSideLeft.Control = Label1
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Panel1
|
||||
AnchorSideRight.Control = Panel1
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = start_stop_button
|
||||
Left = 66
|
||||
Height = 24
|
||||
Top = 8
|
||||
Width = 157
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 8
|
||||
BorderSpacing.Right = 4
|
||||
BorderSpacing.Bottom = 8
|
||||
ItemHeight = 18
|
||||
ItemIndex = 0
|
||||
|
|
@ -199,6 +231,54 @@ object Form1: TForm1
|
|||
TabOrder = 5
|
||||
Text = 'MMBN 5'
|
||||
end
|
||||
object Label1: TLabel
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
AnchorSideBottom.Control = gamebox
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 18
|
||||
Top = 11
|
||||
Width = 50
|
||||
BorderSpacing.Left = 8
|
||||
BorderSpacing.Top = 11
|
||||
Caption = 'Game:'
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
||||
object Splitter2: TSplitter
|
||||
Left = 227
|
||||
Height = 478
|
||||
Top = 0
|
||||
Width = 4
|
||||
OnMoved = Splitter2Moved
|
||||
ResizeStyle = rsLine
|
||||
end
|
||||
object langbox: TComboBox
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 734
|
||||
Height = 26
|
||||
Top = 1
|
||||
Width = 50
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Top = 1
|
||||
BorderSpacing.Right = 8
|
||||
ItemHeight = 18
|
||||
ItemIndex = 0
|
||||
Items.Strings = (
|
||||
'en'
|
||||
'ru'
|
||||
)
|
||||
OnSelect = langboxSelect
|
||||
ReadOnly = True
|
||||
Style = csDropDownList
|
||||
TabOrder = 3
|
||||
Text = 'en'
|
||||
end
|
||||
object Timer1: TTimer
|
||||
Enabled = False
|
||||
OnTimer = Timer1Timer
|
||||
|
|
|
|||
13
unit1.lrj
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":24216973,"name":"tform1.caption","sourcebytes":[77,77,66,78,53,45,54,77],"value":"MMBN5-6M"},
|
||||
{"hash":223940658,"name":"tform1.room_name_label.caption","sourcebytes":[82,117,110,32,116,104,101,32,103,97,109,101,44,32,116,104,101,110,32,112,114,101,115,115,32,34,83,116,97,114,116,34],"value":"Run the game, then press \"Start\""},
|
||||
{"hash":43,"name":"tform1.plus_spoil.caption","sourcebytes":[43],"value":"+"},
|
||||
{"hash":45,"name":"tform1.minus_spoil1.caption","sourcebytes":[45],"value":"-"},
|
||||
{"hash":179882696,"name":"tform1.map_stretch_checkbox.caption","sourcebytes":[83,116,114,101,116,99,104],"value":"Stretch"},
|
||||
{"hash":175506234,"name":"tform1.spoils_label.caption","sourcebytes":[83,112,111,105,108,115,58],"value":"Spoils:"},
|
||||
{"hash":6676461,"name":"tform1.edit_room_button.caption","sourcebytes":[69,100,105,116,32,82,111,111,109],"value":"Edit Room"},
|
||||
{"hash":5941396,"name":"tform1.start_stop_button.caption","sourcebytes":[83,116,97,114,116],"value":"Start"},
|
||||
{"hash":86077493,"name":"tform1.gamebox.text","sourcebytes":[77,77,66,78,32,53],"value":"MMBN 5"},
|
||||
{"hash":5079946,"name":"tform1.label1.caption","sourcebytes":[71,97,109,101,58],"value":"Game:"},
|
||||
{"hash":1726,"name":"tform1.langbox.text","sourcebytes":[101,110],"value":"en"}
|
||||
]}
|
||||
120
unit1.pas
|
|
@ -6,7 +6,7 @@ interface
|
|||
|
||||
uses
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
|
||||
Buttons, Grids, IniFiles, Windows;
|
||||
Buttons, Grids, IniFiles, Windows, DefaultTranslator, LCLTranslator, FileUtil;
|
||||
|
||||
type
|
||||
TWMHotKey = packed record
|
||||
|
|
@ -22,25 +22,32 @@ type
|
|||
{ TForm1 }
|
||||
|
||||
TForm1 = class ( TForm )
|
||||
gamebox :TComboBox;
|
||||
map_stretch_checkbox :TCheckBox;
|
||||
plus_spoil :TButton;
|
||||
langbox :TComboBox;
|
||||
edit_room_button :TButton;
|
||||
gamebox :TComboBox;
|
||||
Label1 :TLabel;
|
||||
map_stretch_checkbox :TCheckBox;
|
||||
minus_spoil1 :TButton;
|
||||
spoils_label :TLabel;
|
||||
spoils_listbox :TListBox;
|
||||
Panel1 :TPanel;
|
||||
plus_spoil :TButton;
|
||||
Splitter1 :TSplitter;
|
||||
map_image :TImage;
|
||||
room_name_label :TLabel;
|
||||
Splitter2 :TSplitter;
|
||||
spoils_label :TLabel;
|
||||
spoils_listbox :TListBox;
|
||||
start_stop_button :TSpeedButton;
|
||||
Timer1 :TTimer;
|
||||
procedure edit_room_buttonClick ( Sender :TObject );
|
||||
procedure FormClose ( Sender :TObject; var CloseAction :TCloseAction );
|
||||
procedure FormCreate ( Sender :TObject );
|
||||
procedure gameboxSelect ( Sender :TObject );
|
||||
procedure langboxSelect ( Sender :TObject );
|
||||
procedure map_imagePaint ( Sender :TObject );
|
||||
procedure map_stretch_checkboxChange ( Sender :TObject );
|
||||
procedure minus_spoil1Click ( Sender :TObject );
|
||||
procedure plus_spoilClick ( Sender :TObject );
|
||||
procedure Splitter2Moved ( Sender :TObject );
|
||||
procedure spoils_listboxDblClick ( Sender :TObject );
|
||||
procedure start_stop_buttonClick ( Sender :TObject );
|
||||
procedure Timer1Timer ( Sender :TObject );
|
||||
|
|
@ -53,6 +60,25 @@ PROTECTED
|
|||
|
||||
end;
|
||||
|
||||
|
||||
resourcestring
|
||||
ADDING_ITEM = 'Adding item to Room #';
|
||||
ENTER_ITEM_NAME = 'Enter item''s name';
|
||||
EDITING_ITEM = 'Editing item in Room #';
|
||||
EDITING_ROOM = 'Editing Room #';
|
||||
ENTER_ROOM_NAME = 'Enter this Room''s name';
|
||||
START_BUTTON_STRAT = 'Start';
|
||||
START_BUTTON_STOP = 'Stop';
|
||||
APP_CAPTION = 'MMBN5-6M: Reading from process ID';
|
||||
ROOM_NUMBER = 'Room #';
|
||||
RUN_THE_GAME_NOTICE = 'Run the game, then press "Start"';
|
||||
ERROR_GAME_NOT_RUNNING = 'Error. Make sure the game''s running.';
|
||||
ERROR_GAME_MEMORY_NOT_READ = 'Error. Game''s memory not read.';
|
||||
ERROR_UNABLE_TO_READ_GAME_MEMORY = 'Error. Can''t read game''s memory.';
|
||||
ERROR_HOTKEY_REGISTRATION_FAILED = 'HotKey registration failed. You won''t be able to press Win+Y to temporarily view map in full screen.';
|
||||
UNKNOWN_ROOM = 'Unknown';
|
||||
|
||||
|
||||
var
|
||||
Form1 :TForm1;
|
||||
|
||||
|
|
@ -76,8 +102,7 @@ begin
|
|||
|
||||
while INTEGER ( ContinueLoop ) <> 0 do
|
||||
begin
|
||||
if ( ( UpperCase ( ExtractFileName ( FProcessEntry32.szExeFile ) ) = UpperCase ( ExeFileName ) )
|
||||
OR( UpperCase ( FProcessEntry32.szExeFile ) = UpperCase ( ExeFileName ) ) ) then begin
|
||||
if ( ( UpperCase ( ExtractFileName ( FProcessEntry32.szExeFile ) ) = UpperCase ( ExeFileName ) ) OR( UpperCase ( FProcessEntry32.szExeFile ) = UpperCase ( ExeFileName ) ) ) then begin
|
||||
Result := FProcessEntry32.th32ProcessID;
|
||||
Break;
|
||||
end;
|
||||
|
|
@ -118,8 +143,8 @@ var
|
|||
hProcess :THandle;
|
||||
ROOMS :TIniFile; // contains room labels
|
||||
process_list :TStrings;
|
||||
room :QWORD = -1; // contains current room 16-bit value
|
||||
last_room :QWORD = -1;
|
||||
room :QWORD = 18446744073709551615; // contains current room 16-bit value
|
||||
last_room :QWORD = 18446744073709551615;
|
||||
room_name :STRING;
|
||||
new_room :bool;
|
||||
spoils_list :STRING;
|
||||
|
|
@ -138,12 +163,17 @@ is_cyberworld :BOOLEAN = False;
|
|||
var
|
||||
x, y, w, h :INTEGER;
|
||||
state :TWindowState;
|
||||
languages :TStrings;
|
||||
current_language :STRING;
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
|
||||
{ TForm1 }
|
||||
|
||||
procedure TForm1.FormCreate ( Sender :TObject );
|
||||
var
|
||||
i :INTEGER;
|
||||
begin
|
||||
current_game_pointer := mmbn5_pointer;
|
||||
// open ini file and create a list to hold processes
|
||||
|
|
@ -151,7 +181,18 @@ begin
|
|||
process_list := TStringList.Create ( );
|
||||
spoils_listbox.Height := 0;
|
||||
if NOT RegisterHotKey ( Handle, 111000, MOD_WIN, VK_Y ) then
|
||||
ShowMessage ( 'HotKey registration failed. You won''t be able to press Win+Y to temporarily view map in full screen.' );
|
||||
ShowMessage ( ERROR_HOTKEY_REGISTRATION_FAILED );
|
||||
|
||||
// translations
|
||||
languages := TStringList.Create ( );
|
||||
current_language := ROOMS.ReadString ( 'Settings', 'Language', 'en' );
|
||||
FindAllFiles ( languages, 'po', '*.po', False );
|
||||
for i := 0 to languages.Count -1 do begin
|
||||
languages[i] := languages [i].Replace ( 'po\mmbn56mm.', '' ).Replace ( '.po', '' );
|
||||
end;
|
||||
langbox.Items := languages;
|
||||
langbox.ItemIndex := langbox.Items.IndexOf ( current_language );
|
||||
SetDefaultLang ( current_language, 'po' );
|
||||
end;
|
||||
|
||||
|
||||
|
|
@ -167,6 +208,14 @@ begin
|
|||
end;
|
||||
|
||||
|
||||
procedure TForm1.langboxSelect ( Sender :TObject );
|
||||
begin
|
||||
current_language := langbox.Items [langbox.ItemIndex];
|
||||
SetDefaultLang ( current_language, 'po' );
|
||||
ROOMS.WriteString ( 'Settings', 'Language', current_language );
|
||||
end;
|
||||
|
||||
|
||||
procedure TForm1.map_imagePaint ( Sender :TObject );
|
||||
begin
|
||||
//map_image.Canvas.Brush.Style := bsClear;
|
||||
|
|
@ -182,7 +231,7 @@ end;
|
|||
|
||||
procedure TForm1.minus_spoil1Click ( Sender :TObject );
|
||||
var
|
||||
Txt :STRING;
|
||||
Txt :STRING = '';
|
||||
i :INTEGER;
|
||||
begin
|
||||
if ( spoils_listbox.ItemIndex > -1 ) then begin
|
||||
|
|
@ -205,11 +254,11 @@ end;
|
|||
|
||||
procedure TForm1.plus_spoilClick ( Sender :TObject );
|
||||
var
|
||||
new_spoil_name :STRING;
|
||||
Txt :STRING;
|
||||
new_spoil_name :STRING = '';
|
||||
Txt :STRING = '';
|
||||
i :INTEGER;
|
||||
begin
|
||||
if InputQuery ( 'Adding item to Room #' + IntToStr ( room ), 'Enter item''s name', new_spoil_name ) then begin
|
||||
if InputQuery ( ADDING_ITEM + IntToStr ( room ), ENTER_ITEM_NAME, new_spoil_name ) then begin
|
||||
spoils_listbox.Items.Add ( new_spoil_name );
|
||||
for i := 0 to spoils_listbox.Items.Count - 1 do begin
|
||||
if i < spoils_listbox.Items.Count - 1 then
|
||||
|
|
@ -227,16 +276,22 @@ begin
|
|||
end;
|
||||
|
||||
|
||||
procedure TForm1.Splitter2Moved ( Sender :TObject );
|
||||
begin
|
||||
plus_spoil.Width := Round ( Panel1.Width/2 ) -12;
|
||||
end;
|
||||
|
||||
|
||||
procedure TForm1.spoils_listboxDblClick ( Sender :TObject );
|
||||
var
|
||||
new_spoil_name :STRING;
|
||||
var
|
||||
Txt :STRING;
|
||||
Txt :STRING = '';
|
||||
i :INTEGER;
|
||||
begin
|
||||
if ( spoils_listbox.ItemIndex > -1 ) then begin
|
||||
new_spoil_name := spoils_listbox.Items [spoils_listbox.ItemIndex];
|
||||
if InputQuery ( 'Editing item in Room #' + IntToStr ( room ), 'Enter item''s name', new_spoil_name ) then begin
|
||||
if InputQuery ( EDITING_ITEM + IntToStr ( room ), ENTER_ITEM_NAME, new_spoil_name ) then begin
|
||||
spoils_listbox.Items[spoils_listbox.ItemIndex] := new_spoil_name;
|
||||
for i := 0 to spoils_listbox.Items.Count - 1 do begin
|
||||
if i < spoils_listbox.Items.Count - 1 then
|
||||
|
|
@ -262,22 +317,22 @@ var
|
|||
|
||||
begin
|
||||
if start_stop_button.Down = False then begin
|
||||
start_stop_button.Caption := 'Start';
|
||||
start_stop_button.Caption := START_BUTTON_STRAT;
|
||||
Timer1.Enabled := False;
|
||||
CloseHandle ( hProcess );
|
||||
room_name_label.Caption := 'Run the game, then press "Start"';
|
||||
room_name_label.Caption := RUN_THE_GAME_NOTICE;
|
||||
end else begin
|
||||
start_stop_button.Caption := 'Stop';
|
||||
start_stop_button.Caption := START_BUTTON_STOP;
|
||||
ListRunningProcesses ( process_list );
|
||||
for i := 0 to process_list.Count - 1 do begin
|
||||
if ( process_list [i] = 'MMBN_LC2.exe' ) then begin
|
||||
ProcID := FindProcessID ( process_list [i] );
|
||||
hProcess := OpenProcess ( PROCESS_VM_READ, False, ProcID );
|
||||
Caption := 'MMBN5-6M: Reading from process ID ' + IntToStr ( ProcID );
|
||||
Caption := APP_CAPTION + ' ' + IntToStr ( ProcID );
|
||||
Timer1.Enabled := True;
|
||||
break;
|
||||
end else begin
|
||||
room_name_label.Caption := 'Error. Run the game.';
|
||||
room_name_label.Caption := ERROR_GAME_NOT_RUNNING;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
|
@ -307,8 +362,8 @@ begin
|
|||
room_name_label.Caption := room_name;
|
||||
end else begin
|
||||
room := SMALLINT ( room ); // - 844424930459648;
|
||||
room_name := ROOMS.ReadString ( 'Rooms ' + current_game, IntToStr ( room ), 'Unknown' );
|
||||
room_name_label.Caption := 'Room #' + IntToStr ( room ) + ': ' + room_name;
|
||||
room_name := ROOMS.ReadString ( 'Rooms ' + current_game, IntToStr ( room ), UNKNOWN_ROOM );
|
||||
room_name_label.Caption := ROOM_NUMBER + IntToStr ( room ) + ': ' + room_name;
|
||||
end;
|
||||
|
||||
spoils_list := ROOMS.ReadString ( 'Spoils ' + current_game, IntToStr ( room ), '' );
|
||||
|
|
@ -325,11 +380,11 @@ begin
|
|||
end;
|
||||
end;
|
||||
end else begin
|
||||
room_name_label.Caption := 'Error. Make sure the game is running.';
|
||||
room_name_label.Caption := ERROR_GAME_MEMORY_NOT_READ;
|
||||
end;
|
||||
except
|
||||
on edit_room_button :Exception do
|
||||
room_name_label.Caption := 'Error. Can''t read game''s memory.';
|
||||
room_name_label.Caption := ERROR_UNABLE_TO_READ_GAME_MEMORY;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
@ -338,12 +393,12 @@ end;
|
|||
|
||||
procedure TForm1.edit_room_buttonClick ( Sender :TObject );
|
||||
var
|
||||
new_room_name :STRING;
|
||||
new_room_name :STRING = '';
|
||||
begin
|
||||
new_room_name := room_name;
|
||||
if InputQuery ( 'Editing Room # ' + IntToStr ( room ), 'Enter this Room''s name', new_room_name ) then begin
|
||||
if InputQuery ( EDITING_ROOM + ' ' + IntToStr ( room ), ENTER_ROOM_NAME, new_room_name ) then begin
|
||||
ROOMS.WriteString ( 'Rooms ' + current_game, IntToStr ( room ), new_room_name );
|
||||
last_room := -1;
|
||||
last_room := 18446744073709551615;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
|
@ -358,6 +413,7 @@ begin
|
|||
// free additionally created objects
|
||||
ROOMS.Free;
|
||||
process_list.Free;
|
||||
languages.Free;
|
||||
UnregisterHotKey ( Handle, 111000 );
|
||||
end;
|
||||
|
||||
|
|
@ -397,4 +453,10 @@ begin
|
|||
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
|
||||
|
||||
SetDefaultLang ( 'en', 'po' );
|
||||
|
||||
end.
|
||||
|
|
|
|||