Actions

Editing Maps: Difference between revisions

From MM6 Wiki

mNo edit summary
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 5: Line 5:
This page will explain the basics of map editing of the unpatched games (no MMExtension), because:
This page will explain the basics of map editing of the unpatched games (no MMExtension), because:


<q>You can't because the game will crash. Pray for GrayFace to fix it.</q>
<q>You can't because the game will crash. Pray for GrayFace to fix it.</q> t. Anerag


The only tool you will need is [http://mm8leveleditor.sourceforge.net/ MM8LevelEditor].
The only tool you will need is [http://mm8leveleditor.sourceforge.net/ MM8LevelEditor].
''Most of the things here are assumptions and the ways to do stuff are made up by just trying things due to almost non-existing documentation.''


=Events=
=Events=
Line 18: Line 20:
The events from the map files are used locally to enter the houses and talk to the NPCs above.  
The events from the map files are used locally to enter the houses and talk to the NPCs above.  


The list of events MM8LevelEditor provides you doesn't have any comments and it's hard to navigate. To ease that there are [https://www.dropbox.com/s/kznafxub3lcbrv1/MMScripts.rar?dl=1 decompiled scripts] from VI, VII and VIII which have comments. Look through them to get an idea how things work internally, the events themselves are relatively simple.
The list of events MM8LevelEditor provides you doesn't have any comments and it's hard to navigate. To ease that there are [https://www.dropbox.com/s/kznafxub3lcbrv1/MMScripts.rar?dl=1 decompiled scripts] which have comments. Look through them to get an idea how things work internally.


Currently it is unknown whether it is possible or not to bind event to facets through the MM8LevelEditor (binding events to doors, walls and such). It is very trivial with sprites although. So as for now we're editing the events that are already bound to the actors and geometry in the game.
Currently it is unknown whether it is possible or not to bind events to facets through the MM8LevelEditor (binding events to doors, walls and such). So as for now we're editing the events that are already bound to the actors and geometry in the game.




==Map-only Events==
==Map-only Events==


==Global Events==
Prior to trying find out the name of the map you want to edit, on this page we will start changing New Sorpigal (OutE3).
 
===Changing houses===
 
Most of the entrances in VI are counted as houses, even map transition is a house entrance event.
 
Let's change "A Lonely Knight" inn to something else. First we need to find map event id(s) that correspond to the entrance. The easy way is to download [https://www.dropbox.com/s/kznafxub3lcbrv1/MMScripts.rar?dl=1 decompiled scripts] from VI, open the text file with the map you need, in our case it's OUTE3 and look through it, it has comments and stuff. There it is:
 
<pre>
event 11
      Hint = str[92]
  0:  EnterHouse  {Id = 92}        -- "A Lonely Knight"
end
 
event 12
      Hint = str[92]
  0:  Exit  {}
 
  1:  EnterHouse  {Id = 92}        -- "A Lonely Knight"
end
</pre>
 
As you can see the events 11 and 12 are tied to the inn's entrance. Now that we know which event we need to change open icons.lod with MM8LevelEditor and navigate to OUTE3.EVT (again because that's the map we're editing). Search for the events 11 and 12:
 
[[File:MapEvents1.png|border|caption]]
 
Here we can see that events 11 and 12 are calling 2D Event #92.
 
We can replace 92 with any event from the [[2D events]] table. For example change it to 166 and it will turn it into the circus inside.
 
''The table is located at icons.lod, in the file "2DEvents.txt"''
 
Before anything will work you will need to overwrite the files:
 
<code>'''Import → Quick-append'''</code>
 
[[File:Quick_append.png|border|caption]]
 
<!-- ===Dungeon Entrances===
 
Dungeon entrances work a bit different. You still need to call 2D event but that is not enough. If you'd do just that you will end up with an empty house with the dungeon entrance movie playing.
 
==Global Events== -->

Latest revision as of 21:09, 24 April 2020



This page will explain the basics of map editing of the unpatched games (no MMExtension), because:

You can't because the game will crash. Pray for GrayFace to fix it. t. Anerag

The only tool you will need is MM8LevelEditor.

Most of the things here are assumptions and the ways to do stuff are made up by just trying things due to almost non-existing documentation.

Events

Map reference

For VI all events can be found in icons.lod, to ease finding the map you need there is a map reference to the right.

The events from GLOBAL.EVT are used by NPCs and Houses. The events from the map files are used locally to enter the houses and talk to the NPCs above.

The list of events MM8LevelEditor provides you doesn't have any comments and it's hard to navigate. To ease that there are decompiled scripts which have comments. Look through them to get an idea how things work internally.

Currently it is unknown whether it is possible or not to bind events to facets through the MM8LevelEditor (binding events to doors, walls and such). So as for now we're editing the events that are already bound to the actors and geometry in the game.


Map-only Events

Prior to trying find out the name of the map you want to edit, on this page we will start changing New Sorpigal (OutE3).

Changing houses

Most of the entrances in VI are counted as houses, even map transition is a house entrance event.

Let's change "A Lonely Knight" inn to something else. First we need to find map event id(s) that correspond to the entrance. The easy way is to download decompiled scripts from VI, open the text file with the map you need, in our case it's OUTE3 and look through it, it has comments and stuff. There it is:

event 11
      Hint = str[92]
  0:  EnterHouse  {Id = 92}         -- "A Lonely Knight"
end

event 12
      Hint = str[92]
  0:  Exit  {}

  1:  EnterHouse  {Id = 92}         -- "A Lonely Knight"
end

As you can see the events 11 and 12 are tied to the inn's entrance. Now that we know which event we need to change open icons.lod with MM8LevelEditor and navigate to OUTE3.EVT (again because that's the map we're editing). Search for the events 11 and 12:

caption

Here we can see that events 11 and 12 are calling 2D Event #92.

We can replace 92 with any event from the 2D events table. For example change it to 166 and it will turn it into the circus inside.

The table is located at icons.lod, in the file "2DEvents.txt"

Before anything will work you will need to overwrite the files:

Import → Quick-append

caption