diff --git a/README.md b/README.md
index 889d268..0fbfa30 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-# Megaman Battle Network 5 and 6 Mini Map App
+# Megaman Battle Network 5 Mini Map App
This app is a Windows only tool that reads MMBN Legacy Collection 2's memory and grabs current map ID from that.
-Then it displays an image of the current room if that's present in the [images](images/) folder.
+Then it displays an image of the current room if that's present in the [images](/images/) folder.
The images were taken from [Dr. Cossack's Lab](https://www.interordi.com/mega_man_pc/games/mmbn5/) without anyone's consent.
@@ -10,7 +10,7 @@ The images were taken from [Dr. Cossack's Lab](https://www.interordi.com/mega_ma
# How to use
- Open the legacy collection 2
-- Load up MMBN 5 (tested with Team Protoman) or MMBN6 (tested with Cyberbeast Falzar)
+- Load up MMBN 5 (tested with Team Protoman)
- Open this app
- Use `Start`/`Stop` button to enable/disable memory reading.
- If you encounter an `Unknown` Room - press `Edit` it and give it a name.
@@ -48,4 +48,4 @@ Assets are *not* included. Because...
>
> Dumping something from a game sure requires an investment of time - just as crating this app and writing this readme does. But neither of those acts magically makes any of us the owner of the assets in question. At best it's a derivative work akin fan art.
>
-> If there's anyone to ask, that would be Capcom themselves. And we all know what they think (see [III. IMPERMISSIBLE USES](https://www.capcomusa.com/video-policy/)). Be happy Capcom doesn't enforce its rights and allows us to do what we do
+> If there's anyone to ask, that would be Capcom themselves. And we all know what they think (see [III. IMPERMISSIBLE USES](https://www.capcomusa.com/video-policy/)). Be happy Capcom doesn't enforce its rights and allows us to to what we do
diff --git a/images/MMBN 6/Aquarium Comp 1.PNG b/images/MMBN 6/Aquarium Area 1.PNG
similarity index 100%
rename from images/MMBN 6/Aquarium Comp 1.PNG
rename to images/MMBN 6/Aquarium Area 1.PNG
diff --git a/images/MMBN 6/Aquarium Comp 2.PNG b/images/MMBN 6/Aquarium Area 2.PNG
similarity index 100%
rename from images/MMBN 6/Aquarium Comp 2.PNG
rename to images/MMBN 6/Aquarium Area 2.PNG
diff --git a/images/MMBN 6/Aquarium Comp 3.PNG b/images/MMBN 6/Aquarium Area 3.PNG
similarity index 100%
rename from images/MMBN 6/Aquarium Comp 3.PNG
rename to images/MMBN 6/Aquarium Area 3.PNG
diff --git a/images/MMBN 6/Green Area 1.PNG b/images/MMBN 6/Green Area 1.PNG
index d6e78cf..2bf65c0 100644
Binary files a/images/MMBN 6/Green Area 1.PNG and b/images/MMBN 6/Green Area 1.PNG differ
diff --git a/images/MMBN 6/Judge Tree Area 1.PNG b/images/MMBN 6/JdgTree Area 1.PNG
similarity index 100%
rename from images/MMBN 6/Judge Tree Area 1.PNG
rename to images/MMBN 6/JdgTree Area 1.PNG
diff --git a/images/MMBN 6/Judge Tree Area 2.PNG b/images/MMBN 6/JdgTree Area 2.PNG
similarity index 100%
rename from images/MMBN 6/Judge Tree Area 2.PNG
rename to images/MMBN 6/JdgTree Area 2.PNG
diff --git a/images/MMBN 6/Judge Tree Area 3.PNG b/images/MMBN 6/JdgTree Area 3.PNG
similarity index 100%
rename from images/MMBN 6/Judge Tree Area 3.PNG
rename to images/MMBN 6/JdgTree Area 3.PNG
diff --git a/images/MMBN 6/Mr. Weather Comp 1.PNG b/images/MMBN 6/Mr. Weather Area 1.PNG
similarity index 100%
rename from images/MMBN 6/Mr. Weather Comp 1.PNG
rename to images/MMBN 6/Mr. Weather Area 1.PNG
diff --git a/images/MMBN 6/Mr. Weather Comp 3.PNG b/images/MMBN 6/Mr. Weather Area 3.PNG
similarity index 100%
rename from images/MMBN 6/Mr. Weather Comp 3.PNG
rename to images/MMBN 6/Mr. Weather Area 3.PNG
diff --git a/images/MMBN 6/Mr. Weather Comp 2.PNG b/images/MMBN 6/Mr. Weather Area2.PNG
similarity index 100%
rename from images/MMBN 6/Mr. Weather Comp 2.PNG
rename to images/MMBN 6/Mr. Weather Area2.PNG
diff --git a/images/MMBN 6/Pavillion Comp 1.PNG b/images/MMBN 6/Pavillon Area 1.PNG
similarity index 100%
rename from images/MMBN 6/Pavillion Comp 1.PNG
rename to images/MMBN 6/Pavillon Area 1.PNG
diff --git a/images/MMBN 6/Pavillion Comp 2.PNG b/images/MMBN 6/Pavillon Area 2.PNG
similarity index 100%
rename from images/MMBN 6/Pavillion Comp 2.PNG
rename to images/MMBN 6/Pavillon Area 2.PNG
diff --git a/images/MMBN 6/Pavillion Comp 3.PNG b/images/MMBN 6/Pavillon Area 3.PNG
similarity index 100%
rename from images/MMBN 6/Pavillion Comp 3.PNG
rename to images/MMBN 6/Pavillon Area 3.PNG
diff --git a/images/MMBN 6/Pavillion Comp 4.PNG b/images/MMBN 6/Pavillon Area 4.PNG
similarity index 100%
rename from images/MMBN 6/Pavillion Comp 4.PNG
rename to images/MMBN 6/Pavillon Area 4.PNG
diff --git a/images/MMBN 6/Sky Area 2.PNG b/images/MMBN 6/Sky Area .PNG
similarity index 100%
rename from images/MMBN 6/Sky Area 2.PNG
rename to images/MMBN 6/Sky Area .PNG
diff --git a/images/MMBN 6/Undernet Zero.PNG b/images/MMBN 6/Undernet Zero Area.PNG
similarity index 100%
rename from images/MMBN 6/Undernet Zero.PNG
rename to images/MMBN 6/Undernet Zero Area.PNG
diff --git a/mmbn5m.lpi b/mmbn5m.lpi
index 8ae2d7b..27c0dba 100644
--- a/mmbn5m.lpi
+++ b/mmbn5m.lpi
@@ -14,16 +14,11 @@
-
-
-
-
-
-
+
diff --git a/mmbn5m.lps b/mmbn5m.lps
index fd5fe7f..cbb4b0e 100644
--- a/mmbn5m.lps
+++ b/mmbn5m.lps
@@ -9,7 +9,7 @@
-
+
@@ -47,8 +47,8 @@
-
-
+
+
@@ -59,9 +59,9 @@
-
-
-
+
+
+
@@ -70,21 +70,21 @@
-
+
-
+
-
-
-
-
+
+
+
+
@@ -92,148 +92,128 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
+
-
-
-
-
-
+
-
+
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mmbn5m.res b/mmbn5m.res
index 29a13f5..43c5796 100644
Binary files a/mmbn5m.res and b/mmbn5m.res differ
diff --git a/po/mmbn56mm.en.po b/po/mmbn56mm.en.po
deleted file mode 100644
index b6ed18b..0000000
--- a/po/mmbn56mm.en.po
+++ /dev/null
@@ -1,111 +0,0 @@
-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"
-
diff --git a/po/mmbn56mm.ru.po b/po/mmbn56mm.ru.po
deleted file mode 100644
index 1532215..0000000
--- a/po/mmbn56mm.ru.po
+++ /dev/null
@@ -1,107 +0,0 @@
-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 "Неизвестно где..."
-
diff --git a/rooms.ini b/rooms.ini
index 0de81b8..98566cd 100644
--- a/rooms.ini
+++ b/rooms.ini
@@ -231,139 +231,22 @@ MMBN 6=2147425942
281474976907264=Aquarium 1
844424930328576=Auditorium (Aquarium Arena)
562949953617920=Aquarium 2
-8454144=Aquarium Comp 1
-281474985164800=Aquarium Comp 2
-562949961875456=Aquarium Comp 3
-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
-327680=Admin
-1970324846149632=Elevator Comp
-281474977038336=Sky Town
-3096224752992256=Fan Comp
-3659174706413568=Heater Comp
-3940649683124224=Shower Comp
-3377699729702912=Air Conditioner Comp
-2814749776347136=Oxygen Tank Comp
-2533274799636480=Observation Comp
-562949953748992=OpRoom (Sky City)
-4222124659834880=Heliport Comp
-281474986409984=Sky Area 2
-9699328=Sky Area 1
-844424930459648=Force Room
-1688849869176832=Sky Home Page
-9764864=Undernet Area 1
-9240576=Lab's Comp 2
-8585216=Mr. Weather Comp 1
-281474985295872=Mr. Weather Comp 2
-562949962006528=Mr. Weather Comp 3
-281474977103872=WWW OP
-562949963186176=Undernet Area 2
-281474985951232=Vending Machine Comp
-2814749767237632=Research Lab 2
-3940649683189760=Dog House Comp
-281474985623552=ACDC Home Page
-562949963120640=ACDC Area
-9633792=Underground Area 1
-281474986344448=Underground Area 2
-3377699729768448=Mascot Comp
-8716288=Pavillion Comp 1
-562949953814528=Seaside Hall
-844424930525184=Green Hall
-281474985426944=Pavillion Comp 2
-1125899907235840=Sky Hall
-562949962137600=Pavillion Comp 3
-844424938848256=Pavillion Comp 4
-1125899915558912=Copy Bot Comp
-281474976710656=ACDC Class 6-1 ?
[Spoils MMBN 6]
562949962596352=700z,Thunder *
9175040=600z
-9437184=MiniEnergy,5000z [WWWID]
+9437184=MiniEnergy
281474986147840=Reg UP2,Copy Damage,Sub memory [Btl]
844424939307008={PMD},Reg UP2
1125899916017664=Full Energy
8388608=Water Data,Spreader1 M,HP Memory
-281474985099264=Reg UP2,Rocovery 30 *,ImgData [story]
+281474985099264=Reg UP2,Rocovery 30 *
562949962858496=Hi Cannon L,Elec Sword {PMD}
1688849869438976=Unlocker
3659174706479104=Dubl Shot *,1000z
-281474986213376=Panel Return *,Vulcan 2D,Attack +1 [Tengu]
+281474986213376=Panel Return *
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
2251799822860288=White Capsule *,Unlocker
844424930328576=Reg UP1
-8454144=Life Sync *,HP Memory
-281474985164800=Reg UP1,FstBarr
-562949961875456=HP + 50,Hi Cannon M
-281474985885696=FireHit1 F,Fan *
-9502720=Sub Memory [Aqua],HP Memory Aquaman has no use for it ;p
-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,HP Memory,Holy Panel A (WWWID)
-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
-1970324846149632=Speed +1
-3096224752992256=1600z,OilBody
-3659174706413568=1000z,Charge +1
-3940649683124224=Rush Food,Reg UP1,1 BugFrags
-3377699729702912=ColorPt *,Reg UP 1
-562949953748992=HP Memory
-2814749776347136=3 BugFrags,BugFix P {PMD}
-2533274799636480=Reg UP2,3000z
-4222124659834880=HP +50,Unlocker
-281474986409984=Reg UP3,M-Cannon S,10000z {YMD},Vacuum Data
-9699328=Fish,Spin Blue {PMD},HP+100
-1688849869176832=Hp Link,Vulcan3 A,AutoHeal
-9764864=Reg UP 1
-9240576=Expansion Memory,StepSword B {PMD}
-8585216=Reg UP 1,Spreader3 S
-281474985295872=Shield,HP Memory
-562949962006528=Spin Pink,Recov120 F
-562949963186176=Recov150 M,AntiDmg {PMD}
-281474985951232=Battery,1200z
-65536=HP Memory {story}
-3940649683189760=3 Bug Frags,GoingRd *
-0=HP Memory
-281474985623552=Ice Seed *,VarSwrd W {PMD}
-562949963120640=Atk+30 * {PMD},ACDCKyDt (story),Spin White (Rush),HP +300 (WWWID)
-9633792=Air Shoes {PMD}
-2251799813816320=Reg UP 1
-3377699729768448=Reg UP 1,M-Cannon *
-562949953814528=Reg UP 2
-8716288=Recov200 Z,Spreader3 *
-281474985426944=Reg UP 2,GunDelS2 E
-562949962137600=HP Memory,Attack+1
-844424938848256=6000z,Long Blade B
-
-[Settings]
-Language=ru
diff --git a/unit1.lfm b/unit1.lfm
index 4d199fe..dce19a6 100644
--- a/unit1.lfm
+++ b/unit1.lfm
@@ -1,12 +1,11 @@
object Form1: TForm1
- Left = 821
- Height = 478
- Top = 472
- Width = 792
- Anchors = [akTop]
+ Left = 1066
+ Height = 448
+ Top = 323
+ Width = 606
Caption = 'MMBN5-6M'
- ClientHeight = 478
- ClientWidth = 792
+ ClientHeight = 448
+ ClientWidth = 606
Font.CharSet = ANSI_CHARSET
Font.Height = -16
Font.Name = 'Liberation Mono'
@@ -15,15 +14,16 @@ object Form1: TForm1
OnClose = FormClose
OnCreate = FormCreate
Position = poScreenCenter
- LCLVersion = '3.2.0.0'
+ LCLVersion = '2.2.6.0'
object room_name_label: TLabel
- AnchorSideLeft.Control = Splitter2
+ AnchorSideLeft.Control = start_stop_button
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Owner
- Left = 231
+ Left = 192
Height = 18
Top = 8
Width = 320
+ BorderSpacing.Left = 8
BorderSpacing.Top = 8
Caption = 'Run the game, then press "Start"'
Color = clGradientInactiveCaption
@@ -31,20 +31,18 @@ object Form1: TForm1
Transparent = False
end
object map_image: TImage
- AnchorSideLeft.Control = Splitter2
- AnchorSideLeft.Side = asrBottom
+ AnchorSideLeft.Control = room_name_label
AnchorSideTop.Control = room_name_label
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
- Left = 232
- Height = 436
+ Left = 192
+ Height = 406
Top = 34
- Width = 552
+ Width = 406
Anchors = [akTop, akLeft, akRight, akBottom]
- BorderSpacing.Left = 1
BorderSpacing.Top = 8
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
@@ -53,231 +51,153 @@ object Form1: TForm1
Proportional = True
Stretch = True
end
- object Splitter1: TSplitter
- Left = 787
- Height = 478
- Top = 0
- Width = 5
- Align = alRight
- ResizeAnchor = akRight
- end
- object Panel1: TPanel
- Left = 0
- Height = 478
- Top = 0
- Width = 227
- Align = alLeft
- BevelOuter = bvNone
- ClientHeight = 478
- ClientWidth = 227
- TabOrder = 1
- object plus_spoil: TButton
- AnchorSideLeft.Control = Panel1
- AnchorSideBottom.Control = Panel1
- AnchorSideBottom.Side = asrBottom
- Left = 8
- Height = 40
- Top = 430
- Width = 104
- Anchors = [akLeft, akBottom]
- BorderSpacing.Left = 8
- BorderSpacing.Bottom = 8
- Caption = '+'
- TabOrder = 0
- OnClick = plus_spoilClick
- end
- object minus_spoil1: TButton
- AnchorSideLeft.Control = plus_spoil
- AnchorSideLeft.Side = asrBottom
- AnchorSideTop.Control = plus_spoil
- AnchorSideRight.Control = Panel1
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = Panel1
- AnchorSideBottom.Side = asrBottom
- Left = 120
- Height = 40
- Top = 430
- Width = 103
- Anchors = [akTop, akLeft, akRight, akBottom]
- BorderSpacing.Left = 8
- BorderSpacing.Right = 4
- BorderSpacing.Bottom = 8
- Caption = '-'
- TabOrder = 1
- OnClick = minus_spoil1Click
- end
- object map_stretch_checkbox: TCheckBox
- AnchorSideLeft.Control = Panel1
- AnchorSideTop.Control = spoils_listbox
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = Panel1
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = plus_spoil
- Left = 8
- Height = 22
- Top = 400
- Width = 215
- Anchors = [akLeft, akRight, akBottom]
- BorderSpacing.Left = 8
- BorderSpacing.Top = 8
- BorderSpacing.Right = 4
- BorderSpacing.Bottom = 8
- Caption = 'Stretch'
- TabOrder = 2
- OnChange = map_stretch_checkboxChange
- end
- object spoils_listbox: TListBox
- AnchorSideLeft.Control = Panel1
- AnchorSideTop.Control = spoils_label
- AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = Panel1
- AnchorSideRight.Side = asrBottom
- AnchorSideBottom.Control = plus_spoil
- Left = 8
- 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
- TabOrder = 3
- OnDblClick = spoils_listboxDblClick
- 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'
- TabOrder = 4
- OnClick = edit_room_buttonClick
- 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
- Items.Strings = (
- 'MMBN 5'
- 'MMBN 6'
- )
- ReadOnly = True
- Style = csOwnerDrawFixed
- TabOrder = 5
- Text = 'MMBN 5'
- OnSelect = gameboxSelect
- 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
+ object start_stop_button: TSpeedButton
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
+ 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
+ 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
+ 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
+ AnchorSideBottom.Side = asrBottom
+ Left = 8
+ Height = 40
+ Top = 400
+ Width = 56
+ Anchors = [akLeft, akBottom]
+ BorderSpacing.Left = 8
+ BorderSpacing.Bottom = 8
+ Caption = '+'
+ OnClick = plus_spoilClick
+ TabOrder = 2
+ end
+ object minus_spoil1: TButton
+ AnchorSideLeft.Control = plus_spoil
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideRight.Control = map_image
+ AnchorSideBottom.Control = Owner
+ AnchorSideBottom.Side = asrBottom
+ Left = 72
+ Height = 40
+ Top = 400
+ Width = 112
+ Anchors = [akLeft, akRight, akBottom]
+ BorderSpacing.Left = 8
+ BorderSpacing.Right = 8
+ BorderSpacing.Bottom = 8
+ Caption = '-'
+ OnClick = minus_spoil1Click
+ TabOrder = 3
+ end
+ object map_stretch_checkbox: TCheckBox
+ AnchorSideLeft.Control = Owner
+ AnchorSideTop.Control = spoils_listbox
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = map_image
+ AnchorSideBottom.Control = plus_spoil
+ Left = 8
+ Height = 22
+ Top = 370
+ Width = 176
+ Anchors = [akLeft, akRight, akBottom]
+ BorderSpacing.Left = 8
+ BorderSpacing.Top = 8
+ BorderSpacing.Right = 8
+ BorderSpacing.Bottom = 8
+ Caption = 'Stretch'
+ OnChange = map_stretch_checkboxChange
+ TabOrder = 4
+ end
+ object gamebox: TComboBox
+ AnchorSideLeft.Control = Owner
+ AnchorSideTop.Control = Owner
+ AnchorSideRight.Control = start_stop_button
+ AnchorSideRight.Side = asrBottom
+ AnchorSideBottom.Control = start_stop_button
+ Left = 8
+ Height = 24
+ Top = 8
+ Width = 176
+ Anchors = [akTop, akLeft, akRight]
+ BorderSpacing.Left = 8
+ BorderSpacing.Top = 8
+ BorderSpacing.Bottom = 8
ItemHeight = 18
ItemIndex = 0
Items.Strings = (
- 'en'
- 'ru'
+ 'MMBN 5'
+ 'MMBN 6'
)
+ OnSelect = gameboxSelect
ReadOnly = True
- Style = csDropDownList
- TabOrder = 3
- Text = 'en'
- OnSelect = langboxSelect
+ Style = csOwnerDrawFixed
+ TabOrder = 5
+ Text = 'MMBN 5'
end
object Timer1: TTimer
Enabled = False
diff --git a/unit1.lrj b/unit1.lrj
deleted file mode 100644
index 3ea6206..0000000
--- a/unit1.lrj
+++ /dev/null
@@ -1,13 +0,0 @@
-{"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"}
-]}
diff --git a/unit1.pas b/unit1.pas
index 95663b3..f46daaf 100644
--- a/unit1.pas
+++ b/unit1.pas
@@ -6,7 +6,7 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
-Buttons, Grids, IniFiles, Windows, DefaultTranslator, LCLTranslator, FileUtil;
+Buttons, Grids, IniFiles, Windows;
type
TWMHotKey = packed record
@@ -22,32 +22,25 @@ type
{ TForm1 }
TForm1 = class ( TForm )
- langbox :TComboBox;
- edit_room_button :TButton;
gamebox :TComboBox;
- Label1 :TLabel;
map_stretch_checkbox :TCheckBox;
- minus_spoil1 :TButton;
- Panel1 :TPanel;
plus_spoil :TButton;
- Splitter1 :TSplitter;
- map_image :TImage;
- room_name_label :TLabel;
- Splitter2 :TSplitter;
+ edit_room_button :TButton;
+ minus_spoil1 :TButton;
spoils_label :TLabel;
spoils_listbox :TListBox;
+ map_image :TImage;
+ room_name_label :TLabel;
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 );
@@ -60,25 +53,6 @@ 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;
@@ -102,7 +76,8 @@ 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;
@@ -143,8 +118,8 @@ var
hProcess :THandle;
ROOMS :TIniFile; // contains room labels
process_list :TStrings;
-room :QWORD = 18446744073709551615; // contains current room 16-bit value
-last_room :QWORD = 18446744073709551615;
+room :QWORD = -1; // contains current room 16-bit value
+last_room :QWORD = -1;
room_name :STRING;
new_room :bool;
spoils_list :STRING;
@@ -163,17 +138,12 @@ 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
@@ -181,18 +151,7 @@ begin
process_list := TStringList.Create ( );
spoils_listbox.Height := 0;
if NOT RegisterHotKey ( Handle, 111000, MOD_WIN, VK_Y ) then
- 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' );
+ ShowMessage ( 'HotKey registration failed. You won''t be able to press Win+Y to temporarily view map in full screen.' );
end;
@@ -208,14 +167,6 @@ 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;
@@ -231,7 +182,7 @@ end;
procedure TForm1.minus_spoil1Click ( Sender :TObject );
var
- Txt :STRING = '';
+ Txt :STRING;
i :INTEGER;
begin
if ( spoils_listbox.ItemIndex > -1 ) then begin
@@ -254,11 +205,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 + IntToStr ( room ), ENTER_ITEM_NAME, new_spoil_name ) then begin
+ if InputQuery ( 'Adding item to Room #' + IntToStr ( room ), 'Enter item''s 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
@@ -276,22 +227,16 @@ 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 + IntToStr ( room ), ENTER_ITEM_NAME, new_spoil_name ) then begin
+ if InputQuery ( 'Editing item in Room #' + IntToStr ( room ), 'Enter item''s 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
@@ -317,22 +262,22 @@ var
begin
if start_stop_button.Down = False then begin
- start_stop_button.Caption := START_BUTTON_STRAT;
+ start_stop_button.Caption := 'Start';
Timer1.Enabled := False;
CloseHandle ( hProcess );
- room_name_label.Caption := RUN_THE_GAME_NOTICE;
+ room_name_label.Caption := 'Run the game, then press "Start"';
end else begin
- start_stop_button.Caption := START_BUTTON_STOP;
+ start_stop_button.Caption := '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 := APP_CAPTION + ' ' + IntToStr ( ProcID );
+ Caption := 'MMBN5-6M: Reading from process ID ' + IntToStr ( ProcID );
Timer1.Enabled := True;
break;
end else begin
- room_name_label.Caption := ERROR_GAME_NOT_RUNNING;
+ room_name_label.Caption := 'Error. Run the game.';
end;
end;
end;
@@ -362,8 +307,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 );
- room_name_label.Caption := ROOM_NUMBER + IntToStr ( room ) + ': ' + room_name;
+ room_name := ROOMS.ReadString ( 'Rooms ' + current_game, IntToStr ( room ), 'Unknown' );
+ room_name_label.Caption := 'Room #' + IntToStr ( room ) + ': ' + room_name;
end;
spoils_list := ROOMS.ReadString ( 'Spoils ' + current_game, IntToStr ( room ), '' );
@@ -380,11 +325,11 @@ begin
end;
end;
end else begin
- room_name_label.Caption := ERROR_GAME_MEMORY_NOT_READ;
+ room_name_label.Caption := 'Error. Make sure the game is running.';
end;
except
on edit_room_button :Exception do
- room_name_label.Caption := ERROR_UNABLE_TO_READ_GAME_MEMORY;
+ room_name_label.Caption := 'Error. Can''t read game''s memory.';
end;
end;
@@ -393,12 +338,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_ROOM_NAME, new_room_name ) then begin
+ if InputQuery ( 'Editing Room # ' + IntToStr ( room ), 'Enter this Room''s name', new_room_name ) then begin
ROOMS.WriteString ( 'Rooms ' + current_game, IntToStr ( room ), new_room_name );
- last_room := 18446744073709551615;
+ last_room := -1;
end;
end;
@@ -413,7 +358,6 @@ begin
// free additionally created objects
ROOMS.Free;
process_list.Free;
- languages.Free;
UnregisterHotKey ( Handle, 111000 );
end;
@@ -453,10 +397,4 @@ begin
end;
-
-initialization
-
-
-SetDefaultLang ( 'en', 'po' );
-
end.