Skip to content

Commit

Permalink
MM8Patch v2.5.4:
Browse files Browse the repository at this point in the history
[-] Now, when a location re-spawns, all artifacts generated in chests you've never opened get cleared from "obtained artifacts" list.
[-] My bug: FixMonstersBlockingShots option didn't work right.
[-] Prison of the Lord of Water (d38): An artifact was being generated in an inaccessible chest, leading to it not being obtainable by the party anymore.
  • Loading branch information
GrayFace committed Dec 29, 2021
1 parent c2963b4 commit 4cff7b1
Show file tree
Hide file tree
Showing 11 changed files with 5,321 additions and 5,281 deletions.
10,507 changes: 5,280 additions & 5,227 deletions MMPatches/Install/MM8patch.map

Large diffs are not rendered by default.

Binary file modified MMPatches/Install/MM8patch/Data/00 patch.games.lod
Binary file not shown.
12 changes: 10 additions & 2 deletions MMPatches/Install/MM8patch/Files/MM8Patch ReadMe.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GrayFace MM8 Patch v2.5.2
GrayFace MM8 Patch v2.5.4
By Sergey Rozhenko <mailto:sergroj@mail.ru>
https://grayface.github.io/

Expand All @@ -11,6 +11,14 @@ At the end of ReadMe you'll find info on how to report errors.

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

New in version 2.5.4:
<< MM6 - MM8 >>
[-] Now, when a location re-spawns, all artifacts generated in chests you've never opened get cleared from "obtained artifacts" list.
<< MM7, MM8 >>
[-] My bug: FixMonstersBlockingShots option didn't work right.
<< Fixes in maps >>
[-] Prison of the Lord of Water (d38): An artifact was being generated in an inaccessible chest, leading to it not being obtainable by the party anymore.

New in version 2.5.2:
<< MM6 - MM8 >>
[*] Now character's Stats screen displays a condition that determines stats, in all other places the most severe one is displayed.
Expand Down Expand Up @@ -70,7 +78,7 @@ New in version 2.5:
[*] 3DO and other logos are now shown when intro is postponed by NoIntro=1, unless NoIntoLogos=0 line is added to INI. You can cancel logos with Esc and still watch the intro.
<< MM7, MM8 >>
[+] UI.txt: New FloatingScreens mode makes inventory, houses and other such screens open in a panel.
[+] With IndoorFovMul hidden option you can specify the amount by which FOV is multiplied indoors. Default is 0.813.
[+] With IndoorFovMul hidden option you can specify the amount by which FOV is multiplied indoors in Hardware mode. Default is 0.813.
[+] TrueColorSprites hidden option, off by default to prevent 'out of memory' with HD sprites.
[+] The game now doesn't crash on exit if d3dsprite.hwl and d3dbitmap.hwl are missing.
[+] "Mapbkg" will be used as the background for minimap if present in *.icons.lod. This will help color blind people see blue dots on the minimap better.
Expand Down
Binary file modified MMPatches/Install/MM8patch/Files/MM8patch.dll
Binary file not shown.
12 changes: 10 additions & 2 deletions MMPatches/Install/MM8patch/eng/MM8Patch ReadMe.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GrayFace MM8 Patch v2.5.2
GrayFace MM8 Patch v2.5.4
By Sergey Rozhenko <mailto:sergroj@mail.ru>
https://grayface.github.io/

Expand All @@ -11,6 +11,14 @@ At the end of ReadMe you'll find info on how to report errors.

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

New in version 2.5.4:
<< MM6 - MM8 >>
[-] Now, when a location re-spawns, all artifacts generated in chests you've never opened get cleared from "obtained artifacts" list.
<< MM7, MM8 >>
[-] My bug: FixMonstersBlockingShots option didn't work right.
<< Fixes in maps >>
[-] Prison of the Lord of Water (d38): An artifact was being generated in an inaccessible chest, leading to it not being obtainable by the party anymore.

New in version 2.5.2:
<< MM6 - MM8 >>
[*] Now character's Stats screen displays a condition that determines stats, in all other places the most severe one is displayed.
Expand Down Expand Up @@ -70,7 +78,7 @@ New in version 2.5:
[*] 3DO and other logos are now shown when intro is postponed by NoIntro=1, unless NoIntoLogos=0 line is added to INI. You can cancel logos with Esc and still watch the intro.
<< MM7, MM8 >>
[+] UI.txt: New FloatingScreens mode makes inventory, houses and other such screens open in a panel.
[+] With IndoorFovMul hidden option you can specify the amount by which FOV is multiplied indoors. Default is 0.813.
[+] With IndoorFovMul hidden option you can specify the amount by which FOV is multiplied indoors in Hardware mode. Default is 0.813.
[+] TrueColorSprites hidden option, off by default to prevent 'out of memory' with HD sprites.
[+] The game now doesn't crash on exit if d3dsprite.hwl and d3dbitmap.hwl are missing.
[+] "Mapbkg" will be used as the background for minimap if present in *.icons.lod. This will help color blind people see blue dots on the minimap better.
Expand Down
12 changes: 10 additions & 2 deletions MMPatches/Install/MM8patch/rus/MM8Patch ReadMe_rus.TXT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GrayFace MM8 Patch v2.5.2
GrayFace MM8 Patch v2.5.4
�����: ������ ������� <mailto:sergroj@mail.ru>
https://grayface.github.io/ru/

Expand All @@ -9,6 +9,14 @@ https://grayface.github.io/ru/

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

��������� ������ 2.5.4:
<< MM6 - MM8 >>
[-] ������, ��� �������� �������, ��� ��������������� ��������� �� �� �������� �������� ��������� �� ������ ��������� ����������.
<< MM7, MM8 >>
[-] ��� ���: ����� "FixMonstersBlockingShots" �������� �������.
<< ����������� �� ������ >>
[-] ������ ���������� ���� (d38): � ����������� �������� ������������� ��������, �������������, ��� ��������� ��������.

��������� ������ 2.5.2:
<< MM6 - MM8 >>
[*] ������ �� ������ "������" ��������� ������������ ���������, ������������ ��� ����������, � � ������ ������ ������������ �������� ��������� ���������.
Expand Down Expand Up @@ -68,7 +76,7 @@ https://grayface.github.io/ru/
[*] �������� 3DO � ��. ������ ������������, ���� �������� ���� �������� ��� ������ ����� NoIntro=1. �������� ����� ���������� �������� Esc � ���������� ��������. ����� ���������, �������� NoIntoLogos=0 � INI.
<< MM7, MM8 >>
[+] UI.txt: � ����� ������ "FloatingScreens" ���������, ���� � ������ �������� ������ ������������ � ������.
[+] ������� ����� IndoorFovMul ���� �����, �� ������� ������� ������ �������� � ����������. �� ��������� 0.813.
[+] ������� ����� IndoorFovMul ���� �����, �� ������� ������� ������ �������� � ���������� � ������ ����������� ���������. �� ��������� 0.813.
[+] ������� ����� TrueColorSprites, ������� �� ��������� ���������, ����� �������� �������� ������ ��� ������������� �������� �������� �������� ��������.
[+] ���� ������ �� �������� ��� ���������� d3dsprite.hwl � d3dbitmap.hwl.
[+] ���� � *.icons.lod ������������ ���� "Mapbkg", �� ����� �����������, ��� ��� ����-�����. ��� �������� ����������� ����� ������ �� ����-����� ����� �����.
Expand Down
5 changes: 0 additions & 5 deletions MMPatches/MM8Patch/Common.pas
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ interface
_ScreenBuffer = pptr($F01A6C);
_TimeDelta = pint($51D354);
_Flying = pint($B215A4);
_MapMonsters = $61C540;
_IsD3D = pbool($EC1980);
_startinwindow = pbool($EC1984);
_PlayersArray = $B2187C;
Expand Down Expand Up @@ -129,10 +128,6 @@ interface

_Chest_CanPlaceItem: function(n1, itemType, pos, chest: int): BOOL = ptr($41F293);
_Chest_PlaceItem: procedure(n1, itemIndex, pos, chest: int) = ptr($41F55E);
_ChestWidth = $4F3B04;
_ChestHeight = $4F3B24;
_Chests = $602538;
_ChestOff_Size = 5324;

_Character_GetWeaponDelay: function(n1, n2: int; this:ptr; ranged: LongBool):int = ptr($48D62A);
_Character_IsAlive: function(a1,a2, member:ptr):Bool = ptr($491514);
Expand Down
41 changes: 1 addition & 40 deletions MMPatches/MM8Patch/Hooks.pas
Original file line number Diff line number Diff line change
Expand Up @@ -1037,42 +1037,6 @@ procedure ChangeTrackHook;
test byte ptr [$6F39A4], $10
end;

//----- Fix chests: place items that were left over

procedure FixChest(p, chest: int);
var
ItemsToPlace: array[0..139] of int;
i, j, h: int;
begin
h:= pint(_ChestWidth + 4*pword(p)^)^*pint(_ChestHeight + 4*pword(p)^)^ - 1;
inc(p, 4);
for i := 0 to 139 do
ItemsToPlace[i]:= pint(p + _ItemOff_Size*i)^;
inc(p, _ItemOff_Size*140);
for i := 0 to h do
if pint2(p + i*2)^ > 0 then
ItemsToPlace[pint2(p + i*2)^ - 1]:= 0;
for i := 0 to 139 do
if ItemsToPlace[i] <> 0 then
for j := 0 to h do
if (pint2(p + j*2)^ = 0) and _Chest_CanPlaceItem(0, ItemsToPlace[i], j, chest) then
begin
_Chest_PlaceItem(0, i, j, chest);
break;
end;
end;

procedure FixChestHook;
asm
mov [ebp - $30], ebx
jz @exit
lea eax, [ebx - 2]
mov edx, ecx
call FixChest
mov [esp], $41F914
@exit:
end;

//----- Ignore DDraw errors

procedure DDrawErrorHook;
Expand Down Expand Up @@ -3110,7 +3074,7 @@ procedure FixOfAcid;
//----- HooksList

var
HooksList: array[1..315] of TRSHookInfo = (
HooksList: array[1..314] of TRSHookInfo = (
(p: $458E18; newp: @KeysHook; t: RShtCall; size: 6), // My keys handler
(p: $463862; old: $450493; backup: @@SaveNamesStd; newp: @SaveNamesHook; t: RShtCall), // Buggy autosave/quicksave filenames localization
(p: $4CD509; t: RShtNop; size: 12), // Fix Save/Load Slots: it resets SaveSlot, SaveScroll
Expand Down Expand Up @@ -3200,7 +3164,6 @@ procedure FixOfAcid;
(p: $464FDA; newp: @ErrorHook2; t: RShtCall; size: 6), // Report errors
(p: $4652F4; newp: @ErrorHook3; t: RShtCall; size: 6), // Report errors
(p: $4A862D; newp: @ChangeTrackHook; t: RShtCall; size: 7), // MusicLoopsCount
(p: $41F90A; newp: @FixChestHook; t: RShtCall; Querry: 11), // Fix chests: place items that were left over
(p: $46516F; newp: @DDrawErrorHook; t: RShtJmp), // Ignore DDraw errors
(p: $421847; old: $D75; new: $22EB; t: RSht2), // Remove code left from MM6
(p: $4BE69E; old: $20; new: 8; t: RSht1), // Attacking big monsters D3D
Expand Down Expand Up @@ -3504,8 +3467,6 @@ procedure ApplyDeferredHooks;
RSApplyHooks(HooksList, 9);
if Options.ProgressiveDaggerTrippleDamage then
RSApplyHooks(HooksList, 10);
if Options.FixChests then
RSApplyHooks(HooksList, 11);
if Options.DataFiles then
RSApplyHooks(HooksList, 12);
if Options.FixSkyBitmap then
Expand Down
6 changes: 3 additions & 3 deletions MMPatches/MM8Patch/MM8patch.bdsproj
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">2</VersionInfo>
<VersionInfo Name="MinorVer">5</VersionInfo>
<VersionInfo Name="Release">1</VersionInfo>
<VersionInfo Name="Release">3</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
Expand All @@ -162,13 +162,13 @@
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription">GrayFace MM8 Patch</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">2.5.1.0</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">2.5.3.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright">Sergey Rozhenko (http://grayface.github.io)</VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName">GrayFace MM8 Patch</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">2.5.1.0</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">2.5.3.0</VersionInfoKeys>
</VersionInfoKeys>
</Delphi.Personality>
</BorlandProject>
7 changes: 7 additions & 0 deletions MMPatches/MM8Patch/MM8patch.dpr
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,13 @@ Version 2.5.2:
(MM8)
[-] My bug: ExitDialogsWithRightButton was causing a crash in NPC/Guard dialog
Version 2.5.4:
(MM6-MM8)
[-] Now when a location respawns, all artifacts generated in chests you've never opened get cleared from "obtained" artifacts list
(MM7, MM8)
[-] My bug: FixMonstersBlockingShots didn't work right
[-] My bug: evt.MoveToMap didn't work from NPC dialog when there's no entrance dialog
Version ?:
Expand Down
Binary file modified MMPatches/MM8Patch/MM8patch.res
Binary file not shown.

0 comments on commit 4cff7b1

Please sign in to comment.