Skip to content

Commit

Permalink
MM6Patch v2.2:
Browse files Browse the repository at this point in the history
[+] Quick load key now works during the death movie.
[+] Game window is resizeable.
[+] Game can be stretched to get rid of black bars in Borderless Fullscreen mode.
[+] Now in Software rendering mode the view is always scaled linearly, which makes it less flickery.
[+] Mouse look cursor for HD mode, customizable mouse cursors.
[+] Minimaps zoom level is remembered always, not just outdoors as before.
[-] Inactive characters couldn't interact with chests.
[*] Now you can select inactive characters, but they can't act.
[*] And smaller changes...
  • Loading branch information
GrayFace committed Mar 17, 2019
1 parent c8583d1 commit c134038
Show file tree
Hide file tree
Showing 12 changed files with 108 additions and 15 deletions.
22 changes: 21 additions & 1 deletion 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.1
GrayFace MM6 Patch v2.2
By Sergey Rozhenko <mailto:sergroj@mail.ru>
https://grayface.github.io/

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

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

New in version 2.2:
<< MM6 - MM8 >>
[+] Quick load key now works during the death movie.
[+] Game window is resizeable.
[+] StretchWidth and StretchHeight parameters specify the factors by which the game area gets stretched to reduce black bars on the sides. StretchWidthFull and StretchHeightFull parameters are used only if it makes the game occupy the whole screen.
[+] Now in Software rendering mode the view is always scaled linearly, which makes it less flickery.
[+] Data\MouseLookCursorHD.bmp is used for mouse look in 32-bit color mode if window is bigger than 640x480.
[+] Customizable mouse cursors: Data\MouseCursorArrow.cur and Data\MouseCursorTarget.cur are used if present.
[+] Patch now bypasses dgVoodoo DLLs if SupportTrueColor is not disabled.
[+] Minimaps zoom level is remembered always, not just outdoors as before.
[-] Fixed a crash found in Tatalia in MM7.
[-] Inactive characters couldn't interact with chests.
[-] Animated textures (via TFT) were animated incorrectly: first frame was longer, last frame was shorter.
[-] My bug: ScalingParam2 was read from ScalingParam1 entry.
[-] My bug: Mouse placed in the bottom-right corner was causing a crash sometimes.
[*] Smarter FixInactivePlayersActing: now you can select inactive characters, but they can't act.
<< 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.
Expand Down
Binary file modified MMPatches/Install/MM6patch/Files/MM6patch.dll
Binary file not shown.
22 changes: 21 additions & 1 deletion 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.1
GrayFace MM6 Patch v2.2
�����: ������ ������� <mailto:sergroj@mail.ru>
https://grayface.github.io/ru/
������� ����� ReadMe �� �������: Black Phantom <mailto:mm6789@yandex.ru>
Expand All @@ -9,6 +9,26 @@ https://grayface.github.io/ru/

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

��������� ������ 2.2:
<< MM6 - MM8 >>
[+] ������� ������� �������� ������ �������� �� ����� ����� ������.
[+] ����� ������ ������ ���� ����.
[+] ��������� StretchWidth � StretchHeight ������ ���������, �� ������� ����� ������������� ������ � ������ ������� ����, ����� ��������� ������ ������ �� �����. ��������� StretchWidthFull � StretchHeightFull ������������ ������ ���� ��� ���� ���� �������� ���� �����.
[+] ������ ��� ����������� ��������� 3D-��� ������ ������������� ������� - ��� ��������� ��������.
[+] ��� ������� ���������� ����� ������������ Data\MouseLookCursorHD.bmp � 32-������ ������ �����, ���� ���� ���� ������ 640x480.
[+] ������������� ������� ����: Data\MouseCursorArrow.cur � Data\MouseCursorTarget.cur ������������ ������ ����������, ���� ����������.
[+] ������ DLL'�� dgVoodoo ������������, ���� SupportTrueColor �� ��������.
[+] ������� ����������� ��������� ������ ������������ ������, � �� ������ �� ������� ������, ��� ������.
[-] ��������� �����, ��������� � ������� � MM7.
[-] ���������� ��������� �� ����� ������������ ���������.
[-] ������������� �������� (� ������� TFT) ������������� �������: ������ ���� ��� ����� �������, ��������� - ����� ��������.
[-] ��� ���: ScalingParam2 ������� �� ��������� ScalingParam1 � INI.
[-] ��� ���: ���� � ������-������ ���� ������ ��������� � ������.
[*] ����� ����� ����������� ������������� ���������� ���������� (FixInactivePlayersActing): ������ ����� �������� ���������� ����������, �� ������ ������������.
<< MM6 >>
[+] ������� ����� "NoPlayerSwap". ���������� � 0, ����� ������� ����������� ������ ������� ������� � ����, ������� ��� ���������.


��������� ������ 2.1:
<< MM6 - MM8 >>
[+] ��������� ������������� (32-�������) ������ � ������� � ������-������������� ������. ����� ���������, �������� "SupportTrueColor=0" � INI. �� ������ ������ ����� RenderMaxWidth � RenderMaxHeight, ����� ���������� ����������, �� ������� �������� ������������� ����� ����������. ������� ����� ScalingParam1 (�� ��������� 3) � ScalingParam2 (�� ��������� 0.2) ������ �������� ��� ���������� ����������.
Expand Down
Binary file modified MMPatches/Install/MM6patchBuka/Files/MM6patch.dll
Binary file not shown.
Binary file modified MMPatches/Install/MM6patchLoc/Files/MM6patch.dll
Binary file not shown.
22 changes: 21 additions & 1 deletion 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.1
GrayFace MM6 Patch v2.2
By Sergey Rozhenko <mailto:sergroj@mail.ru>
https://grayface.github.io/

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

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

New in version 2.2:
<< MM6 - MM8 >>
[+] Quick load key now works during the death movie.
[+] Game window is resizeable.
[+] StretchWidth and StretchHeight parameters specify the factors by which the game area gets stretched to reduce black bars on the sides. StretchWidthFull and StretchHeightFull parameters are used only if it makes the game occupy the whole screen.
[+] Now in Software rendering mode the view is always scaled linearly, which makes it less flickery.
[+] Data\MouseLookCursorHD.bmp is used for mouse look in 32-bit color mode if window is bigger than 640x480.
[+] Customizable mouse cursors: Data\MouseCursorArrow.cur and Data\MouseCursorTarget.cur are used if present.
[+] Patch now bypasses dgVoodoo DLLs if SupportTrueColor is not disabled.
[+] Minimaps zoom level is remembered always, not just outdoors as before.
[-] Fixed a crash found in Tatalia in MM7.
[-] Inactive characters couldn't interact with chests.
[-] Animated textures (via TFT) were animated incorrectly: first frame was longer, last frame was shorter.
[-] My bug: ScalingParam2 was read from ScalingParam1 entry.
[-] My bug: Mouse placed in the bottom-right corner was causing a crash sometimes.
[*] Smarter FixInactivePlayersActing: now you can select inactive characters, but they can't act.
<< 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.
Expand Down
22 changes: 21 additions & 1 deletion 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.1
GrayFace MM6 Patch v2.2
�����: ������ ������� <mailto:sergroj@mail.ru>
https://grayface.github.io/ru/
������� ����� ReadMe �� �������: Black Phantom <mailto:mm6789@yandex.ru>
Expand All @@ -9,6 +9,26 @@ https://grayface.github.io/ru/

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

��������� ������ 2.2:
<< MM6 - MM8 >>
[+] ������� ������� �������� ������ �������� �� ����� ����� ������.
[+] ����� ������ ������ ���� ����.
[+] ��������� StretchWidth � StretchHeight ������ ���������, �� ������� ����� ������������� ������ � ������ ������� ����, ����� ��������� ������ ������ �� �����. ��������� StretchWidthFull � StretchHeightFull ������������ ������ ���� ��� ���� ���� �������� ���� �����.
[+] ������ ��� ����������� ��������� 3D-��� ������ ������������� ������� - ��� ��������� ��������.
[+] ��� ������� ���������� ����� ������������ Data\MouseLookCursorHD.bmp � 32-������ ������ �����, ���� ���� ���� ������ 640x480.
[+] ������������� ������� ����: Data\MouseCursorArrow.cur � Data\MouseCursorTarget.cur ������������ ������ ����������, ���� ����������.
[+] ������ DLL'�� dgVoodoo ������������, ���� SupportTrueColor �� ��������.
[+] ������� ����������� ��������� ������ ������������ ������, � �� ������ �� ������� ������, ��� ������.
[-] ��������� �����, ��������� � ������� � MM7.
[-] ���������� ��������� �� ����� ������������ ���������.
[-] ������������� �������� (� ������� TFT) ������������� �������: ������ ���� ��� ����� �������, ��������� - ����� ��������.
[-] ��� ���: ScalingParam2 ������� �� ��������� ScalingParam1 � INI.
[-] ��� ���: ���� � ������-������ ���� ������ ��������� � ������.
[*] ����� ����� ����������� ������������� ���������� ���������� (FixInactivePlayersActing): ������ ����� �������� ���������� ����������, �� ������ ������������.
<< MM6 >>
[+] ������� ����� "NoPlayerSwap". ���������� � 0, ����� ������� ����������� ������ ������� ������� � ����, ������� ��� ���������.


��������� ������ 2.1:
<< MM6 - MM8 >>
[+] ��������� ������������� (32-�������) ������ � ������� � ������-������������� ������. ����� ���������, �������� "SupportTrueColor=0" � INI. �� ������ ������ ����� RenderMaxWidth � RenderMaxHeight, ����� ���������� ����������, �� ������� �������� ������������� ����� ����������. ������� ����� ScalingParam1 (�� ��������� 3) � ScalingParam2 (�� ��������� 0.2) ������ �������� ��� ���������� ����������.
Expand Down
6 changes: 0 additions & 6 deletions MMPatches/MM6Patch/DXProxy.pas
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,6 @@ procedure DXProxyDraw(SrcBuf: ptr; info: PDDSurfaceDesc2);
r: TRect;
d: int;
begin
//if GetKeyState(VK_SCROLL) and 1 <> 0 then exit;
//FPS;
if (scale.DestW <> RenderW) or (scale.DestH <> RenderH) then
begin
Expand Down Expand Up @@ -865,11 +864,6 @@ function TMyDevice.DrawPrimitive(dptPrimitiveType: TD3DPrimitiveType;
begin
VertexBuf[i].x:= VertexBuf[i].x*RenderW/_ScreenW^;
VertexBuf[i].y:= VertexBuf[i].y*RenderH/_ScreenH^;
{if GetKeyState(VK_SCROLL) and 1 <> 0 then
begin
VertexBuf[i].x:= VertexBuf[i].x*1.5;
VertexBuf[i].y:= VertexBuf[i].y*1.5;
end;}
end;
Result:= Obj.DrawPrimitive(dptPrimitiveType,
dwVertexTypeDesc, VertexBuf[0], dwVertexCount, dwFlags);
Expand Down
6 changes: 3 additions & 3 deletions MMPatches/MM6Patch/Hooks.pas
Original file line number Diff line number Diff line change
Expand Up @@ -1517,8 +1517,8 @@ procedure ProcessMouseLook;
speed:= @MLookSpeed2
else
speed:= @MLookSpeed;
dir^:= (dir^ - Partial((p.X - MLastPos.X), MLookPartX, speed.X)) and 2047;
angle^:= IntoRange(angle^ - Partial((p.Y - MLastPos.Y), MLookPartY, speed.Y),
dir^:= (dir^ - Partial(p.X - MLastPos.X, MLookPartX, speed.X)) and 2047;
angle^:= IntoRange(angle^ - Partial(p.Y - MLastPos.Y, MLookPartY, speed.Y),
-Options.MaxMLookAngle, Options.MaxMLookAngle);
if (p.X <> MLastPos.X) or (p.Y <> MLastPos.Y) then
begin
Expand Down Expand Up @@ -1722,7 +1722,7 @@ function WindowProcHook(w: HWND; msg: uint; wp: WPARAM; lp: LPARAM):HRESULT; std
MyClipCursor;
end;

if _Windowed^ and KeepAspectRatio and IsZoomed(w) then
if _Windowed^ and IsZoomed(w) then
case msg of
WM_NCCALCSIZE:
if wp <> 0 then
Expand Down
19 changes: 19 additions & 0 deletions MMPatches/MM6Patch/MM6patch.dpr
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,25 @@ Version 2.1:
[-] My bug: Starburst and Meteor Shower range limitations still weren't accurate
[-] My bug: Pressing CharScreenKey while holding right mouse button sometimes leading to crash
Version 2.2:
(MM6 - MM8)
[+] Resizeable window
[+] StretchWidth, StretchHeight, StretchWidthFull, StretchHeightFull
[+] Now in Software rendering mode the view is always scaled linearly, which makes it less flickery
[+] MouseLookCursorHD
[+] Quick load key works during the death movie
[+] Patch now bypasses dgVoodoo DLLs if SupportTrueColor is not disabled
[+] Minimaps zoom level is remembered indoors, not just outdoors as before
[+] Customizable mouse cursor: Data\MouseCursorArrow.cur and Data\MouseCursorTarget.cur are used if present
[-] Fixed a crash due to facet interception checking out-of-bounds (found in Tatalia in MM7)
[-] Inactive characters couldn't interact with chests
[-] TFT.bin was animated incorrectly (first frame was longer, last frame was shorter)
[-] My bug: ScalingParam2 was read from ScalingParam1 entry
[-] My bug: Mouse position translation was wrong
[*] Smarter FixInactivePlayersActing
(MM6)
[+] "NoPlayerSwap" hidden option
Åñëè çàãðóçèòü ñåéâ, ãäå âñå ðîæè îäèíàêîâûå, à ïîòîì ñåéâ ñ ðàçíûìè, áóäóò ÷åðíûå ïÿòíà íà ìåñòå ðîæ
Expand Down
Binary file modified MMPatches/MM6Patch/MM6patch.res
Binary file not shown.
4 changes: 2 additions & 2 deletions MMPatches/MM6Patch/RSResample.pas
Original file line number Diff line number Diff line change
Expand Up @@ -580,9 +580,9 @@ function TRSResampleInfo.ScaleRect(const r: TRect): TRSResampleInfo;
Result.SrcW:= SrcW;
Result.SrcH:= SrcH;
Result.DestX:= r.Left + DestX;
Result.DestW:= r.Right - r.Left;
Result.DestW:= max(0, r.Right - r.Left);
Result.DestY:= r.Top + DestY;
Result.DestH:= r.Bottom - r.Top;
Result.DestH:= max(0, r.Bottom - r.Top);
Result.CmdX:= CutResampleArray(CmdX, r.Left, Result.DestW, Result.SrcX);
inc(Result.SrcX, SrcX);
Result.CmdY:= CutResampleArray(CmdY, r.Top, Result.DestH, Result.SrcY);
Expand Down

0 comments on commit c134038

Please sign in to comment.