PDA

View Full Version : MLLE issues & unplayable levels


Xerxes
Oct 20, 2018, 11:01 AM
Hi again! I was checking out some levels, among them Complete Pipe Dream (https://www.jazz2online.com/downloads/7772/complete-pipe-dream/). It haven't appear in my Home Cooked levels list, so I have opened it in MLLE to see what's going on. The option to hide the level is checked and it would be so easy to just uncheck it and save the level. The problem is that I can not save the level nor "save and run" nor even just "test run". I have noticed that this happens a lot with levels that use lots of animations. MLLE will simply not let me save the level.

Here is the window I get:

https://www.jazz2online.com/jcf/attachment.php?attachmentid=36&stc=1&d=1540061995

and here is the whole message in the details:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at J2LFile.Save(String filename, Boolean eraseUndefinedTiles, Boolean allowDifferentTilesetVersion, Boolean storeGivenFilename, Byte[] Data5) in C:\Users\Sam\Documents\Visual Studio 2015\Projects\MLLE\j2files.cs:line 1890
at MLLE.Mainframe.SaveJ2L(String filename, Boolean eraseUndefinedTiles, Boolean allowDifferentTilesetVersion, Boolean storeGivenFilename) in C:\Users\Sam\Documents\Visual Studio 2015\Projects\MLLE\Mainframe.cs:line 1671
at MLLE.Mainframe.SaveAndRun(String filepath, String warningText, Boolean storeGivenFilename) in C:\Users\Sam\Documents\Visual Studio 2015\Projects\MLLE\Mainframe.cs:line 1528
at MLLE.Mainframe.saveRunToolStripMenuItem_Click(Obje ct sender, EventArgs e) in C:\Users\Sam\Documents\Visual Studio 2015\Projects\MLLE\Mainframe.cs:line 1582
at System.Windows.Forms.ToolStripItem.RaiseEvent(Obje ct key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.(-)(-)(-)(-)(-)(-)(-)(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(Eve ntArgs e)
at System.Windows.Forms.ToolStripItem.FireEventIntera ctive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(Event Args e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripMenuItem.ProcessCmdK ey(Message& m, Keys keyData)
at System.Windows.Forms.ToolStripManager.ProcessShort cut(Message& m, Keys shortcut)
at System.Windows.Forms.ToolStripManager.ProcessCmdKe y(Message& m, Keys keyData)
at System.Windows.Forms.ContainerControl.ProcessCmdKe y(Message& msg, Keys keyData)
at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
at MLLE.Mainframe.ProcessCmdKey(Message& msg, Keys keyData) in C:\Users\Sam\Documents\Visual Studio 2015\Projects\MLLE\Mainframe.cs:line 707
at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
at System.Windows.Forms.Control.PreProcessMessage(Mes sage& msg)
at System.Windows.Forms.Control.PreProcessControlMess ageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.Pre TranslateMessage(MSG& msg)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
MLLE
Assembly Version: 2.11.0.0
Win32 Version: 2.11
CodeBase: file:///C:/Jazz2/MLLE/MLLE.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2633.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2612.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
OpenTK.GLControl
Assembly Version: 1.0.0.0
Win32 Version: 1.0.278.44921
CodeBase: file:///C:/Jazz2/MLLE/OpenTK.GLControl.DLL
----------------------------------------
OpenTK
Assembly Version: 1.0.0.0
Win32 Version: 1.0.278.44921
CodeBase: file:///C:/Jazz2/MLLE/OpenTK.DLL
----------------------------------------
Ionic.Zlib.CF
Assembly Version: 1.9.1.8
Win32 Version: 1.9.1.8
CodeBase: file:///C:/Jazz2/MLLE/Ionic.Zlib.CF.DLL
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
Bass.Net
Assembly Version: 2.4.8.0
Win32 Version: 2.4.8.0
CodeBase: file:///C:/Jazz2/MLLE/Bass.Net.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.



BTW: my computer can't be an issue here, since it's pretty new and very fast.

Treylina
Oct 21, 2018, 04:43 PM
Are you saving with 1.23 instead of TSF? That may be the problem.

Honestly though, I'd just recommend hosting locally to view multiplayer levels instead. Not only is it less tedious and far easier to cycle to different levels, there are different start positions used for single player compared to multiplayer, which means that opening multiplayer levels (in single player mode) often causes the player to get stuck inside a wall.

Violet CLM
Oct 21, 2018, 08:11 PM
This appears to be a bug in MLLE, probably having to do, as you say, with large numbers of animations. Thanks for the report! Do you remember any other specific levels you've experienced this with, for help in identifying the problem?

Xerxes
Oct 21, 2018, 11:10 PM
Violet - I'll post the names of the other levels as soon as I will remember them.

Are you saving with 1.23 instead of TSF? That may be the problem.

No, TSF.

Honestly though, I'd just recommend hosting locally to view multiplayer levels instead. Not only is it less tedious and far easier to cycle to different levels, there are different start positions used for single player compared to multiplayer, which means that opening multiplayer levels (in single player mode) often causes the player to get stuck inside a wall.

Hmmm... I'm very new into this community, I really have no idea how to do it.

Treylina
Oct 22, 2018, 08:44 AM
Hmmm... I'm very new into this community, I really have no idea how to do it.

New game -> Party Mode -> Local Network TCP -> Start a new game < Server > -> Everything else should be self explanatory. Once you have started a server, you can use /c to cycle levels. For example /c battle1 will cycle you to battle1.

Xerxes
Oct 22, 2018, 01:10 PM
Got it, thx! But please elaborate on this: "you can use /c to cycle levels". I just don't understand what /c means. And is this connected with the level list?

Treylina
Oct 23, 2018, 11:00 AM
Got it, thx! But please elaborate on this: "you can use /c to cycle levels". I just don't understand what /c means. And is this connected with the level list?
JJ2+ offers chat commands, which all start with / when you're the host. To chat, press T.

You don't need to worry about levellist.ini as a host. My recommendation regarding it was simply to help know which level belongs to what gamemode. levellist.ini is normally used as a white list for what levels clients (non-hosts) can cycle to.

EDIT: Oh yeah, I forgot the original purpose, as explained below. My bad..

cooba
Oct 23, 2018, 11:43 AM
The purpose of the Level List is to allow servers to have a controllable rotation of levels to be hosted, without having to change their own Next Level settings, which used to be cumbersome before JJ2+ introduced this functionality.

Official documentation (currently missing from the JJ2+ readme for some reason):You can write the filenames directly into levellist.ini directly. The "j2l" extension must be included. This is the general format of levellist.ini:

[Battle]
001=levelfilename.j2l

The default section names, based on gamemode, are Battle, TeamBattle, CTF, Treasure, SinglePlayer, and Race. The number before the equal sign must be between 001 and 999, and the leading zeros are required.