Skip to content
This repository has been archived by the owner on Jan 16, 2022. It is now read-only.

Commit

Permalink
2020-08-16fix
Browse files Browse the repository at this point in the history
  • Loading branch information
tomchen committed Sep 25, 2020
1 parent 6704b7d commit df21011
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 25 deletions.
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
# Might and Magic 6 7 8 Merge Update Patch

This Patch is an updater for [Rodril's Might and Magic Merge MOD](https://www.celestialheavens.com/forum/10/16657). It can update any version later than (or equal to) `2019-09-22`, to the latest version.
This Patch is an updater for [Rodril's Might and Magic Merge MOD](https://www.celestialheavens.com/forum/10/16657). It can update any original version <sup>[Note 1]</sup> later than (or equal to) `2019-09-22`, to the latest original / hotfix version.

[Click here to download MMMerge_Update_2020-08-16.7z](https://github.com/might-and-magic/mmmerge-update-patch/releases/download/2020-08-16/MMMerge_Update_2020-08-16.7z)
[Click here to download MMMerge_Update_2020-08-16fix.7z](https://github.com/might-and-magic/mmmerge-update-patch/releases/download/2020-08-16fix/MMMerge_Update_2020-08-16fix.7z)

Usage: Uncompress the 7zip file, move `MMMerge_Update_2020-08-16.exe` to your game folder and double click to execute it.
Usage: Uncompress the 7zip file, move `MMMerge_Update_2020-08-16fix.exe` to your game folder and double click to execute it.

Latest verison: `2020-08-16`
Latest verison: `2020-08-16fix` <sup>[Note 2]</sup>

Supported old verisons (that the patch can update): `2019-09-22`, `2019-10-08`, `2020-03-17`, `2020-03-29 / 30`, `2020-04-19`, `2020-04-25`, `2020-05-26`, `2020-07-12`
Supported old verisons (that the patch can update): `2019-09-22`, `2019-10-08`, `2020-03-17`, `2020-03-29 / 30`, `2020-04-19`, `2020-04-25`, `2020-05-26`, `2020-07-12`, `2020-08-16`

This patch works for Rodril's English vanilla (original) version. It may or may not perfectly work if you try to patch the [Community Branch](https://gitlab.com/templayer/mmmerge), or a localized version with language files.
This patch works for Rodril's English original version <sup>[Note 1]</sup>. It may or may not perfectly work if you try to patch the [Community Branch](https://gitlab.com/templayer/mmmerge), or a localized version with language files.

*(Note 1: original version (aka. vanilla version / official version): a version that is released in [the original post](https://www.celestialheavens.com/forum/10/16657) by the original author, Rodril, in the form of full package or lightweight patch. It is to be distinguished from the [Community Branch](https://gitlab.com/templayer/mmmerge) version)*

*(Note 2: hotfix version `2020-08-16fix`, made by Tom Chen, fixes [automatic quest completion and dialogue displacement bugs](https://www.celestialheavens.com/forum/10/16657?start=5880#p382652) that appear in `2020-08-16`, by replacing the buggy `Scripts/Structs/After/RemoveNPCTablesLimits.lua` file with an older version)*

<p align="center">
<img src="https://github.com/might-and-magic/mmmerge-update-patch/blob/master/screenshot.jpg" alt="Might and Magic 6 7 8 Merge screenshot" title="Might and Magic 6 7 8 Merge screenshot">
</p>
<img src="https://github.com/might-and-magic/mmmerge-update-patch/raw/master/screenshot.jpg" alt="Might and Magic 6 7 8 Merge screenshot" title="Might and Magic 6 7 8 Merge screenshot">
</p>
2 changes: 1 addition & 1 deletion nsis_folder/MMMerge_Update.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
;Variables and constants

!define OUTFILE "MMMerge_Update"
!define VERSION "2020-08-16"
!define VERSION "2020-08-16fix"

!define VERSIONDOT "4.0.0.0"

Expand Down
21 changes: 5 additions & 16 deletions nsis_folder/files/Scripts/Structs/After/RemoveNPCTablesLimits.lua
Original file line number Diff line number Diff line change
Expand Up @@ -393,8 +393,8 @@ if mmver == 8 then

local LinesInGlobalEvtNewSize = NewGlEvtLinesCount*12 + 0x10 + 0x100

local GlobalModuleNewSpace = mem.StaticAlloc(NewGlobalEvtSize + 0x10 + LinesInGlobalEvtNewSize*4) --0x5bb440
local GlobalModuleOffsetsNewSpace1 = GlobalModuleNewSpace + NewGlobalEvtSize + 0x10 --mem.StaticAlloc(LinesInGlobalEvtNewSize) --0x5ac9e0
local GlobalModuleNewSpace = mem.StaticAlloc(NewGlobalEvtSize + 0x10 + LinesInGlobalEvtNewSize*4) --0x5bb440
local GlobalModuleOffsetsNewSpace1 = GlobalModuleNewSpace + NewGlobalEvtSize + 0x10 --mem.StaticAlloc(LinesInGlobalEvtNewSize) --005ac9e0
local GlobalModuleOffsetsNewSpace2 = GlobalModuleNewSpace + NewGlobalEvtSize + 0x10 + LinesInGlobalEvtNewSize --mem.StaticAlloc(LinesInGlobalEvtNewSize) --0x587e6c
local GlobalModuleOffsetsNewSpace3 = GlobalModuleNewSpace + NewGlobalEvtSize + 0x10 + LinesInGlobalEvtNewSize*2 --mem.StaticAlloc(LinesInGlobalEvtNewSize) --0x596908
local GlobalModuleOffsetsNewSpace4 = GlobalModuleNewSpace + NewGlobalEvtSize + 0x10 + LinesInGlobalEvtNewSize*3 --mem.StaticAlloc(LinesInGlobalEvtNewSize) --0x5ccce8
Expand Down Expand Up @@ -426,17 +426,6 @@ if mmver == 8 then
mem.u4[0x44387a + 2] = GlobalModuleOffsetsNewSpace3+0x4
mem.u4[0x443886 + 2] = GlobalModuleOffsetsNewSpace3+0x8

mem.u4[0x443601 + 2] = GlobalModuleOffsetsNewSpace3-0x4
mem.u4[0x44360B + 1] = GlobalModuleOffsetsNewSpace3-0x8
mem.u4[0x44361B + 2] = GlobalModuleOffsetsNewSpace3-0x8
mem.u4[0x44365A + 1] = GlobalModuleOffsetsNewSpace3-0x4
mem.u4[0x4436BE + 1] = GlobalModuleOffsetsNewSpace3-0x4
mem.u4[0x44370F + 1] = GlobalModuleOffsetsNewSpace3-0x4
mem.u4[0x443750 + 1] = GlobalModuleOffsetsNewSpace3-0x4
mem.u4[0x443763 + 2] = GlobalModuleOffsetsNewSpace3-0x8

mem.u4[0x445f74 + 2] = GlobalModuleOffsetsNewSpace2-0x4
mem.u4[0x445f9c + 2] = GlobalModuleOffsetsNewSpace2-0x4
mem.u4[0x4435c7 + 1] = GlobalModuleOffsetsNewSpace2+0x8
mem.u4[0x445f60 + 2] = GlobalModuleOffsetsNewSpace2+0x4
mem.u4[0x445f7c + 2] = GlobalModuleOffsetsNewSpace2 --0x587e6c
Expand All @@ -452,8 +441,8 @@ if mmver == 8 then
mem.u4[0x4435f7 + 1] = GlobalModuleOffsetsNewSpace1
mem.u4[0x4437fd + 1] = GlobalModuleOffsetsNewSpace1

mem.u4[0x440be1 + 1] = GlobalModuleNewSpace+0x4 --0x5bb440
mem.u4[0x440bf7 + 2] = GlobalModuleNewSpace
mem.u4[0x440be1 + 1] = GlobalModuleNewSpace+0x4
mem.u4[0x440bf7 + 2] = GlobalModuleNewSpace --0x5bb440
mem.u4[0x440c02 + 2] = GlobalModuleNewSpace
mem.u4[0x440c47 + 2] = GlobalModuleNewSpace+0x4
mem.u4[0x440c4f + 2] = GlobalModuleNewSpace
Expand All @@ -471,7 +460,7 @@ if mmver == 8 then
mem.IgnoreProtection(false)

ChangeGameArray("GlobalEvtLines", GlobalModuleOffsetsNewSpace1, NewGlEvtLinesCount)
--internal.SetArrayUpval(Game.GlobalEvtLines, "lenP", GlobalModuleNewSpace)
internal.SetArrayUpval(Game.GlobalEvtLines, "lenP", GlobalModuleNewSpace)
ChangeGameArray("MapEvtLines", GlobalModuleOffsetsNewSpace4, NewGlEvtLinesCount)

offsets.CurrentEvtLines = GlobalModuleOffsetsNewSpace3
Expand Down

0 comments on commit df21011

Please sign in to comment.