grayface / mmextension Goto Github PK
View Code? Open in Web Editor NEWModding environment for Might and Magic 6 - 8
Modding environment for Might and Magic 6 - 8
I wanted to restore my hirelings after doing the temple quest in MM6 and came up with a simple script to do that. However, setting the name of the hireling does not stick.
Steps to reproduce (MM6 with MMExt 2.2):
Party.HiredNPC[1].Name = "Test"
.The save file itself does also only contain the original name of the hireling.
Did I miss something on how I need to set the name of a hireling?
The import process does not save UV coordinates for newly imported facets on indoor maps. All BitmapU
/BitmapV
values are set to 0.
To reproduce
For example, MM8's d06 before and after.
This affects at least MM7 and MM8. I have not tested MM6.
UVs are correctly saved when importing the .obj into outdoor maps, or when re-importing the .obj into the original map which already has UV data for the faces.
This problem does not occur on very old versions of the editor, as far as I can tell it happens since commit 068d512. Forcing a.HasData
to true
seems to "solve" the problem, but I suspect that this is more of a workaround and not the correct fix?
UV coordinates are calculated and displayed as floating point values in the editor, but internally truncated to integers. With floating point imprecision and the Y/Z axis rotation during import it's fairly common to end up with coordinates like 127.999994
truncated to 127
, causing misaligned textures.
Outdoor maps don't have this problem, the UVs are rounded to the closest integer here:
MMExtension/Scripts/Global/Editor Data.lua
Lines 440 to 448 in 325d064
Sample .obj that demonstrates the issue (using MM8 textures)
For doors with a MoveLength
which is not a multiple of the texture size (I think), the texture will appear offset when viewed in-game.
The UVs are correct in the editor, but are incorrect when loading the compiled map outside the editor. Loading the compiled map in the editor (via Internal Map) will once again calculate the UVs correctly.
The Door.FacetStartU
/Door.FacetStartV
are different when read in the editor and outside the editor, but I was unable to find out where this discrepancy comes from.
d45.dlv
in the editorevt.MoveToMap{Name="d45.blv"}
)Hello.
I'm updating MMMerge to current version of MMExtension, and I got into these troubles, worth to mention:
Bonus.
A. Usage of Town Portal scroll reduces player's SP. Fix: https://gitlab.com/cthscr/mmmerge/-/commit/ca31939af269f27ee8ae0a43a52d1934477f34fb (0x51D818 is used to store caster id as byte, following 3 bytes are align to 4.)
B. [Previously non-checked] Party Shield spell buff fix: https://gitlab.com/cthscr/mmmerge/-/commit/4b4e97d888bce59b2acc42e35bd8f122c70df608
MMExtension as of commit 3cda120 (2023-01-01) applied to MM7 with MM7Patch 2.5.7 resets indoor maps every time you leave dungeon. Happened to other users as well.
Issue is not present at commit 74e8d73 (2022-04-20).
My reproducing: enter previously cleared Castle Harmondale, leave it, load autosave (or reenter).
It's declared as bool, but it's really int:
MMExtension/Scripts/Structs/00 structs.lua
Line 2018 in 82f916f
Upon openning indoor maps with newest editor, doors take wrong position and move into wrong direction on pressing "Door State" button. Compiling map causes this error to present in the game (means, just openning and compiling map without changes will break it anyway).
Error present in clean installation of MM8 + mmextension and mmeditor.
Abandoned temple looks like this: https://imgbb.com/VSD8vbv
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.