Skip to content

Commit

Permalink
MM6Patch v2.3:
Browse files Browse the repository at this point in the history
[+] PaperDollInChests option shows paper doll in chest dialog.
[+] Keyboard control: some dialogs can now be controlled by pressing Up/Down and Enter. E.g. NPC conversations.
[+] Save/load dialogs now react to Enter key.
[-] Some bugs fixed...
GrayFace committed Jun 4, 2019
1 parent 46c1263 commit 141fbba
Showing 25 changed files with 3,133 additions and 574 deletions.
16 changes: 14 additions & 2 deletions MMPatches/Install/MM6patch/Files/MM6Patch ReadMe.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GrayFace MM6 Patch v2.2
GrayFace MM6 Patch v2.3
By Sergey Rozhenko <mailto:[email protected]>
https://grayface.github.io/

@@ -8,6 +8,19 @@ The patch has no uninstaller to make things simpler.

([+] - feature, [-] - fixed bug, [*] - other)

New in version 2.3:
<< MM6 - MM8 >>
[+] PaperDollInChests option shows paper doll in chest dialog: value 1 (default) will make it visible when you open inventory of a player, value 2 will make it visible right when you open the chest, value 0 will disable it.
[+] Keyboard control: some dialogs can now be controlled by pressing Up/Down and Enter. E.g. NPC conversations. Only those dialogs that already had everything in place to support it are effected.
[+] Save/load dialogs now react to Enter key.
[+] Newer MP3DEC.ASI version. In theory this might fix some problems with MP3 playback.
[-] My bug: If somehow game window managed to become smaller than 640x480, that wasn't handled gracefully in software 32-bit color mode.
<< MM6, MM7 >>
[-] My bug: Quick load key pressed during the death movie was causing a crash afterwards.
<< MM6 >>
[-] Text files fixes for Russian (Buka) version by tolich.


New in version 2.2:
<< MM6 - MM8 >>
[+] Quick load key now works during the death movie.
@@ -27,7 +40,6 @@ New in version 2.2:
<< MM6 >>
[+] "NoPlayerSwap" hidden option. Set it to 0 to return player swapping and bugs it opens up.


New in version 2.1:
<< MM6 - MM8 >>
[+] 32 bit color support in windowed and borderless modes. Can be turned off by adding "SupportTrueColor=0" to INI. You can specify RenderMaxWidth and RenderMaxHeight options to limit maximum resolution of quality scaling if you experience problems with FPS. Hidden options ScalingParam1 (3 by default) and ScalingParam2 (0.2 by default) control crispness of UI scaling.
Binary file modified MMPatches/Install/MM6patch/Files/MM6patch.dll
Binary file not shown.
Binary file modified MMPatches/Install/MM6patch/Files/MP3DEC.ASI
Binary file not shown.
Binary file modified MMPatches/Install/MM6patchBuka/Data/00 patch.icons.lod
Binary file not shown.
17 changes: 15 additions & 2 deletions MMPatches/Install/MM6patchBuka/Files/MM6Patch ReadMe_rus.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GrayFace MM6 Patch v2.2
GrayFace MM6 Patch v2.3
�����: ������ ������� <mailto:[email protected]>
https://grayface.github.io/ru/
������� ����� ReadMe �� �������: Black Phantom <mailto:[email protected]>
@@ -9,6 +9,20 @@ https://grayface.github.io/ru/

([+] - ����, [-] - ������������ ���, [*] - ������)

��������� ������ 2.3:
<< MM6 - MM8 >>
[+] ����� PaperDollInChests ���������� ����� ��������� � ������� �������: �������� 1 (�� ���������) ���������� � ��� �������� ���������, �������� 2 ���������� � ����� ��� �������� �������, �������� 0 ��������� �����.
[+] ������������ ����������: � ��������� �������� ����� ������������ ������� �����/���� � Enter. ��������, � �������� � NPC. ������������� ������ �������, � ������� ��� ��������� ��������� ���������� � ��� ���� �� ������ � ������������ �����.
[+] ������� ���������� � �������� ������ ��������� �� ������� Enter.
[+] ����� ����� ������ MP3DEC.ASI. � ������ ��� ����� ������ ��������� �����-�� �������� � ������������� ������ MP3.
[-] ��� ���: ����, �����-�� �������, ���� ���� ����������� ������ 640x480, ��� ��������� � ����� � ������ ����������� ��������� � ���������� ���������� 32-������� �����.
<< MM6, MM7 >>
[-] ��� ���: ������� �� ������� ������� �������� �� ����� ����� ������ ����� ��������� � ������.
<< MM6 >>
[-] � �������� ���� ��� ������� ������ ����� �������� "���". ����� ����������� - tolich.
[*] � �������� ���� �������� ������ ������, ����� �������� ����������� NPC � ����� "� ������, ��� �� ������ ��� ����� ��������". �� ������ ����������� �� tolich'�.


��������� ������ 2.2:
<< MM6 - MM8 >>
[+] ������� ������� �������� ������ �������� �� ����� ����� ������.
@@ -28,7 +42,6 @@ https://grayface.github.io/ru/
<< MM6 >>
[+] ������� ����� "NoPlayerSwap". ���������� � 0, ����� ������� ����������� ������ ������� ������� � ����, ������� ��� ���������.


��������� ������ 2.1:
<< MM6 - MM8 >>
[+] ��������� ������������� (32-�������) ������ � ������� � ������-������������� ������. ����� ���������, �������� "SupportTrueColor=0" � INI. �� ������ ������ ����� RenderMaxWidth � RenderMaxHeight, ����� ���������� ����������, �� ������� �������� ������������� ����� ����������. ������� ����� ScalingParam1 (�� ��������� 3) � ScalingParam2 (�� ��������� 0.2) ������ �������� ��� ���������� ����������.
Binary file modified MMPatches/Install/MM6patchBuka/Files/MM6patch.dll
Binary file not shown.
Binary file modified MMPatches/Install/MM6patchBuka/Files/MP3DEC.ASI
Binary file not shown.
Binary file modified MMPatches/Install/MM6patchLoc/Files/MM6patch.dll
Binary file not shown.
Binary file modified MMPatches/Install/MM6patchLoc/Files/MP3DEC.ASI
Binary file not shown.
16 changes: 14 additions & 2 deletions MMPatches/Install/MM6patchLoc/eng/MM6Patch ReadMe.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GrayFace MM6 Patch v2.2
GrayFace MM6 Patch v2.3
By Sergey Rozhenko <mailto:[email protected]>
https://grayface.github.io/

@@ -8,6 +8,19 @@ The patch has no uninstaller to make things simpler.

([+] - feature, [-] - fixed bug, [*] - other)

New in version 2.3:
<< MM6 - MM8 >>
[+] PaperDollInChests option shows paper doll in chest dialog: value 1 (default) will make it visible when you open inventory of a player, value 2 will make it visible right when you open the chest, value 0 will disable it.
[+] Keyboard control: some dialogs can now be controlled by pressing Up/Down and Enter. E.g. NPC conversations. Only those dialogs that already had everything in place to support it are effected.
[+] Save/load dialogs now react to Enter key.
[+] Newer MP3DEC.ASI version. In theory this might fix some problems with MP3 playback.
[-] My bug: If somehow game window managed to become smaller than 640x480, that wasn't handled gracefully in software 32-bit color mode.
<< MM6, MM7 >>
[-] My bug: Quick load key pressed during the death movie was causing a crash afterwards.
<< MM6 >>
[-] Text files fixes for Russian (Buka) version by tolich.


New in version 2.2:
<< MM6 - MM8 >>
[+] Quick load key now works during the death movie.
@@ -27,7 +40,6 @@ New in version 2.2:
<< MM6 >>
[+] "NoPlayerSwap" hidden option. Set it to 0 to return player swapping and bugs it opens up.


New in version 2.1:
<< MM6 - MM8 >>
[+] 32 bit color support in windowed and borderless modes. Can be turned off by adding "SupportTrueColor=0" to INI. You can specify RenderMaxWidth and RenderMaxHeight options to limit maximum resolution of quality scaling if you experience problems with FPS. Hidden options ScalingParam1 (3 by default) and ScalingParam2 (0.2 by default) control crispness of UI scaling.
17 changes: 15 additions & 2 deletions MMPatches/Install/MM6patchLoc/rus/MM6Patch ReadMe_rus.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GrayFace MM6 Patch v2.2
GrayFace MM6 Patch v2.3
�����: ������ ������� <mailto:[email protected]>
https://grayface.github.io/ru/
������� ����� ReadMe �� �������: Black Phantom <mailto:[email protected]>
@@ -9,6 +9,20 @@ https://grayface.github.io/ru/

([+] - ����, [-] - ������������ ���, [*] - ������)

��������� ������ 2.3:
<< MM6 - MM8 >>
[+] ����� PaperDollInChests ���������� ����� ��������� � ������� �������: �������� 1 (�� ���������) ���������� � ��� �������� ���������, �������� 2 ���������� � ����� ��� �������� �������, �������� 0 ��������� �����.
[+] ������������ ����������: � ��������� �������� ����� ������������ ������� �����/���� � Enter. ��������, � �������� � NPC. ������������� ������ �������, � ������� ��� ��������� ��������� ���������� � ��� ���� �� ������ � ������������ �����.
[+] ������� ���������� � �������� ������ ��������� �� ������� Enter.
[+] ����� ����� ������ MP3DEC.ASI. � ������ ��� ����� ������ ��������� �����-�� �������� � ������������� ������ MP3.
[-] ��� ���: ����, �����-�� �������, ���� ���� ����������� ������ 640x480, ��� ��������� � ����� � ������ ����������� ��������� � ���������� ���������� 32-������� �����.
<< MM6, MM7 >>
[-] ��� ���: ������� �� ������� ������� �������� �� ����� ����� ������ ����� ��������� � ������.
<< MM6 >>
[-] � �������� ���� ��� ������� ������ ����� �������� "���". ����� ����������� - tolich.
[*] � �������� ���� �������� ������ ������, ����� �������� ����������� NPC � ����� "� ������, ��� �� ������ ��� ����� ��������". �� ������ ����������� �� tolich'�.


��������� ������ 2.2:
<< MM6 - MM8 >>
[+] ������� ������� �������� ������ �������� �� ����� ����� ������.
@@ -28,7 +42,6 @@ https://grayface.github.io/ru/
<< MM6 >>
[+] ������� ����� "NoPlayerSwap". ���������� � 0, ����� ������� ����������� ������ ������� ������� � ����, ������� ��� ���������.


��������� ������ 2.1:
<< MM6 - MM8 >>
[+] ��������� ������������� (32-�������) ������ � ������� � ������-������������� ������. ����� ���������, �������� "SupportTrueColor=0" � INI. �� ������ ������ ����� RenderMaxWidth � RenderMaxHeight, ����� ���������� ����������, �� ������� �������� ������������� ����� ����������. ������� ����� ScalingParam1 (�� ��������� 3) � ScalingParam2 (�� ��������� 0.2) ������ �������� ��� ���������� ����������.
Binary file modified MMPatches/Install/MM8patch/Files/MM8patch.dll
Binary file not shown.
21 changes: 18 additions & 3 deletions MMPatches/MM6Patch/Common.pas
Original file line number Diff line number Diff line change
@@ -23,6 +23,7 @@ interface
_NeedRedraw = pint($52D29C);
_TextBuffer1 = pchar($55CDE0);
_TextBuffer2 = pchar($55D5B0);
_ItemInMouse = pint($90E81C);
_PartyMembers = $944C64;
_TurnBased = pbool($908E30);
_TurnBasedPhase = pint($4C7DF4);
@@ -51,7 +52,6 @@ interface
_NoIntro = pbool($6A5F64);
_Mouse_X = pint($6A6120);
_Mouse_Y = pint($6A6124);
_ObjectByPixel = PPIntegerArray($9B1090);
_ScanlineOffset = PPIntegerArray($41F431);
_PlayersArray = $908F34;
__Windowed = $9B10B4;
@@ -67,8 +67,13 @@ interface
_IsMoviePlaying = pbool($9DE364);
_AbortMovie = pbool($9DE338);
_ViewMulOutdoor = pint($6296F4);
_ViewMulIndoor = psingle($4D516C);
_ViewMulIndoorSW = psingle($4D516C);
_RenderRect = PRect($9DE3A8);
_IsLoadingBig = pbool($52D0A8 + $3C);
_IsLoadingSmall = pbool($52D0A8 + $150);
_ChestDlg = pptr($4D50BC);
_NoHint = PChar($4CB230);
_ShowRingsHint = PPChar($56B930);

_PauseTime: procedure(a1: int = 0; a2: int = 0; this: int = $4D5180) = ptr($420DB0);
_ReleaseMouse: TProcedure = ptr($42FAC0);
@@ -81,6 +86,7 @@ interface
//_StrWidth: function(n1:int; str:PChar; fnt:ptr):int = ptr($442DD0);
_OpenInventory_part: function(a1: int = 0; a2: int = 0; screen: int = 7):int = ptr($41FA50);
_OpenInventory_result = pint($4D50CC);
_LoadPaperDollGraphics: TProcedure = ptr($411E80);
_access: function(fileName: PChar; unk: int = 0): int cdecl = ptr($4B885E);
_malloc: function(size:int):ptr cdecl = ptr($4AE753);
_PermAlloc: function(n1,n2: int; allocator: ptr; name: PChar; size, unk: int):ptr = ptr($421390);
@@ -92,7 +98,14 @@ interface
_HasNPCProf: function(n1,n2, prof: int): LongBool = ptr($467F30);
_DrawInventory: procedure(n1,n2, member: int) = ptr($4165E0);
_ExitMovie: procedure(_1: int = 0; _2: int = 0; _3: int = $9DE330) = ptr($4A5D10);
_StopAllSounds: procedure(_: int = 0; __: int = 0; _3: int = $9CF598; _4: int = -1; _5: int = -1) = ptr($48FB40);
_StopSounds: procedure(_: int = 0; __: int = 0; _3: int = $9CF598; _4: int = -1; _5: int = -1) = ptr($48FB40);
_AddButton: function(dlg: ptr; x, y, w, h, shape, cmdX, action, acionInfo, key: int; hint: PChar; SpritesVarArg: ptr): ptr cdecl varargs = ptr($41A170);
_DeleteButton: procedure(_,__: int; btn: ptr) = ptr($41A110);

_CommandsArray = $6A72A0;
_AddCommand: procedure(a1, a2, this, cmd: int) = ptr($467A50);

_IconsLod = $4CB6D0;

_Chest_CanPlaceItem: function(n1, itemType, pos, chest: int): BOOL = ptr($41DE90);
_Chest_PlaceItem: procedure(n1, itemIndex, pos, chest: int) = ptr($41E210);
@@ -122,6 +135,8 @@ interface
_MonOff_BodyRadius = $78;
_MonOff_Size = $224;

GameCursorPos = PPoint($6A6120);

const
SWrong: string = 'This is not a valid mm6.exe file. Check failed at address %X';
SIni = 'mm6.ini';
Loading

0 comments on commit 141fbba

Please sign in to comment.