mmtools development

The role-playing games (I-X) that started it all and the various spin-offs (including Dark Messiah).

Moderator: Moderators

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

mmtools development

Postby mmtool » Mar 8 2009, 20:48

If somebody interesting here, below the link to MMResTool 0.2.5 with preliminary support of changing MM7 D3D engine resolution. After unpacking to main game folder (where mm7.exe reside) file "mmt_d3d_screen.bat" can be used to patch .exe-file. By default applied 1024x768 resolution as mostly universal. To try other resolutions change these values in .bat file.
Patch supports mm7.exe with versions 1.0.0.1 (original) and 1.2.1.0 (used in MOK patch). In case of using MOK patch better to launch game via MM7_Res.exe, not via MM7.exe, which is MOK's rescaler for window mode and can cause incorrect mouse processing in window mode after engine patching. In fullscreen mode this is indifferent. Original (unpatched) files renamed to .mmt (mm7.mmt) and can be restored to undo patch changes. But no need to do it to reapply patch, because it automatically used original .mmt file if it exists. "Software" rendering disabled after patching because not yet ready.
This is very preliminary version of patch, so I don't know how it works on other's computers. In-game interface not completly fixed yet, video and splash screens not rescaled to whole screen etc. But 3D-engine and mosly important parts must be workable (if not via mouse, then by keyboard shortcuts). So I'm publish this version in testing and demonstration purposes only.
P.S. "mmt_d3d_textures.bat" is the same file, as "q0_high.bat" from presious release. It converts textures from software to hardware mode. So if this is not needed, don't use it.
http://www.old-games.ru/forum/attachment.php?attachmentid=9183&d=1236542912
Last edited by mmtool on Apr 25 2009, 20:48, edited 2 times in total.

Krogul
Leprechaun
Leprechaun
Posts: 8
Joined: 24 Jul 2007

Postby Krogul » Mar 9 2009, 8:00

Well done ;]. Anyway I have some bug with interface (there is rescaled copy of it somewhere in the center of the screen , you can't select portrait using that copy it is just an image). I hope that you will keep working on it ;).

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 9 2009, 8:14

Can you post screenshot to identify the problem, please? Is this in both modes (window and fullscreen)? And is this on all resolutions or in default 1024x768 only? Btw, patch after applying must report of 184 changes in code. If reported less, then such .exe version is not supported yet, so various bugs possible. In such a case try to download MOK's MM7 patch (from http://strony.aster.pl/mokmtg/mm7_eng_xp.exe) apply it and patch again, because it contains supported 1.2.1.0 version of .exe.

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 9 2009, 13:00

Forgot to mention... In case of exectuable changing (such as applying MOK's patch) backup files of older version need to be removed manually from game folder (such as "mm7.mmt" and "mm7-rel.mmt"). In other case MMResTool will use _them_ to generate patches, i.e. it rewrite new .exe file with patched version of old .mmt file, and nothing will really be changed.

So in case of changing version of mm7.exe the next steps must be done:
1) remove backup files "mm7.mmt" and "mm7-rel.mmt", if exist;
2) update "mm7.exe" to other version (manually or by applying MOK's patch);
3) patch new .exe by "mmt_d3d_screen.bat". Patcher then create new .mmt backup file and use it to generate new patched .exe file in future.

Soon I'll make detection of .exe changing by patcher itself (in GUI version of patcher), so this thing 'll gone (and patching become more easy for users, which have not expirience with .bat files etc.). But currently it need to be done manually.

Krogul
Leprechaun
Leprechaun
Posts: 8
Joined: 24 Jul 2007

Postby Krogul » Mar 9 2009, 13:36

In window mode everything is working fine but there are some bugs in fullscreen mode.

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 9 2009, 14:18

Please post screenshot, if it possible. And may be in other resolutions this is gone. Try to change values in mmt_d3d_screent.bat to other, supported by display adapter. On my machine interface in fullscreen mode screwed only in 800x600, but in 1024x768 and 1152x864 all Ok. This is because MM7 D3D engine seems incompletly use information from D3D driver about size of screen line. It always suppose that size of line is equal to Width*2 bytes(16bit color = 2 bytes per pixel). But D3D driver not always keep this true (at least in resolutions higher than 640x480). So if line size bigger, 2D interface can be partially screwed. I'm not yet completly fixed this issue because thinked it pretty rare (in my case on 800x600 resolution only). May be this is the same and in your case, but I can not say exactly without screenshot.
Btw, software rendering mode has not this "error", but it has hardcoded limit of 480 lines vertically, which is yet need to be fixed. So it currently disabled even if workable with any screen width (no limit on it in engine). I planned to to it after completly fixing D3D mode in MM7 and 8.

Krogul
Leprechaun
Leprechaun
Posts: 8
Joined: 24 Jul 2007

Postby Krogul » Mar 9 2009, 15:12


mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 9 2009, 15:56

Thanks for help! So in 800x600 fullscreen mode the same problem as on my PC and will be fixed in future. But on 1024x768 something strange, which I have not it on my PC. Especially strange, that this "phantom" copy of bottom panel has incorrect vertical size. So I'll try to understand, how it possible.
Very bad, that I haven't this bug on my PC to analize it first-hand. So additional questions on it, please. Is yellow lines around selected face always equal on both pictures of bottom panel? I.e. when on bottom panel selected second face, is it updated on it "phantom" copy or it always in the same state? And if picture updated, how fast it occur (immediatly or with some delay)?
Btw, screenshots has such a dark colors (in case if it is not the night :) because "gamma/brightness" settings of fullscreen mode did not have effect on it, only on real picture. And in window mode gamma seems not supported at all (as I know), so gaming is not very "bright" in it. May be I'll implement support of it in window mode too in a future.

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 9 2009, 16:18

Nil's picture from russian topic on this has not this bug:
http://www.old-games.ru/forum/attachment.php?attachmentid=9199&d=1236611454
So it seems depends on something hardware or system related. May be some issues with legacy support of DirectX 6.1 on modern systems. More testing by other peoples will tell...

Krogul
Leprechaun
Leprechaun
Posts: 8
Joined: 24 Jul 2007

Postby Krogul » Mar 9 2009, 16:26

Selection ring is updating immediately. Copy of interface is "animating" as original interface. The only diffrence is that copy dosen't work as panel( when you click on it nothing happens).

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 9 2009, 16:40

Ok, thanks. Mouse not work on "phantom" picture rightefully, because places for it reaction defined separatly from pictures. This is some picture rendering issue...

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 10 2009, 7:43

Btw, if somebody want, that my patches have support of other .exe localizations of MM6-8 games, contact me via e-mail.

Skall
Leprechaun
Leprechaun
Posts: 3
Joined: 22 Feb 2009

Postby Skall » Mar 11 2009, 6:05



I have the exact same problems as Krogul in 800x600 and 1024x768 but for both full screen and windowed modes.

The phantom panel will mirror and rescale an item such as a scroll if held over the bottom panel but it does not mirror the mouse pointer.

Right-click doesn't work on either bottom or side panel (to see active spells/hp)

Clicking on the books on the side panel for quests/auto notes/map etc is broken but the buttons work.

I am using MOKs patch.

The higher resolution combined with your texture pack looks great, I selfishly wish you the best of luck with the debugging!

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 11 2009, 7:10

Yes, not all mouse click places was fixed in this release, because several hundreds of them exists in code. So each need to be checked, classified and correctly added to patch. There is nothing like assembled dialog panels in code, each screen item has its own hardcoded coordinates on screen. I'm forced to assemble dialog boxes in patcher itself, so that all related items can be moved together correctly. So interface fixing take much more time, then 3D-engine itself.

I'll try to figure out, why phantom pictures appeared, but this is pretty hard because I'm have not this bug, so can not analize it directly. Not all people have this bug, so this is seems like some incompatibility with some versions of modern DirectX, or may be it OS (Vista?) or video card model related.

In any case software 3D engine will be patched soon too and I'm doubt it will have such a bug because almost not depended on DirectX.

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 11 2009, 14:51

May be as temporary fix I'll provide option to place horizontal panel at the top of the screen. Pictures at top (like right panel) seems not cause any problem. In any case this is very preliminary version of patcher, not yet playable, only workable. It contains only 25-30% of all changes, which need to be done. It become more or less usefull only after several future releases. And this bug may be gone (I hope), as many others...

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 12 2009, 11:26

As reported, phantom picture problem can coexists with incorrect 3D-objects scaling. So below the ethalon picture to compare, is any problem exists on somebody computer. If staying near Emerald Islands's Training Center and looking top somebody has different picture (phantom pictures, wrong distance to 3D-objects, incorrect 3D-objects sizes etc.), this is some incompatibility, related to Direct3D legacy support on such system. So in this case can be used hi-res software mode (when released), or need to wait until I'm empirically figure out, what is going on and how to fix it (or may be somebody with this problem help me on it).
My1152x864.zip

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 13 2009, 11:55

With high probablility problem with phantom picture is the same problem, as with 800x600 resolution (which I'm explained above). Simply more fancy looking because different width of videobuffer line (Width*4 in this case, so phantom picture has twice less vertical size). So this is can be not DX incompatiblitity, but no more then problem in MM/D3D engine. And may be in the next patch release it will be solved completly (I hope) :)

mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 14 2009, 13:51

Who had problems with 3D picture, can try the next fix to solve it (this is not release, published in 3D-picture testing purposes only). Please report is problem with phantom pictures etc. gone after it.

MMResTool025fix2.zip

tomchen1989
Peasant
Peasant
Posts: 62
Joined: 21 Jun 2008
Location: Shanghai

Postby tomchen1989 » Mar 14 2009, 14:30


mmtool
Peasant
Peasant
Posts: 56
Joined: 20 Feb 2009
Location: Empire of the Past

Postby mmtool » Mar 14 2009, 14:43

Thanks :) Btw, I can add support of the Chinese version too, if it exists (need .exe via mail). And patcher must report 311 changes in case of MOK 1.2.1.0 version. With some resolution (changed in .bat) it can report more and fail to patch correctly (such as in 1280x960). This is small bug (already reported), which I'll fix tommorow in version 0.2.6 (with additional couple of fixes, related to mouse processing, which is lack in 0.2.5 yet). But in many other resolutions, supported on target system, it works (even in 1680x1024, as reported).


Return to “Might and Magic”

Who is online

Users browsing this forum: No registered users and 12 guests