MattFiler / OpenCAGE

A modding toolkit for Alien: Isolation that gives access to scripting, assets, configurations, and behaviour trees.
http://opencage.co.uk
MIT License
274 stars 13 forks source link

Zone button gives errors when Zone not located in the same composite #166

Closed Const1702 closed 1 year ago

Const1702 commented 1 year ago

I found an issue where clicking 'Zone'. Let's say on a door in Tech_Comms it should take me to its zone. If the door is located where the zone is (in my case the zone entity is located in "LEVEL_COMPOSITES\TECH_COMMS\ENVIRONMENT_COMMS" and the door is in the same location "Door_SML_HAB_B") 'Zone' button works fine, but if the zone entity is again in "LEVEL_COMPOSITES\TECH_COMMS\ENVIRONMENT_COMMS", but the entity is in "AYZ\LEVELS\SEVESTAPOL\TECHNICAL\COMMSARRAY\INTERNALCOMMS\INTERNALCOMMS_SECTION" (a child composite of "ENIRONMENT_COMMS") the button does take me to the zone entity, but with an error and a broken name.

Try going to "AYZ\LEVELS\SEVESTAPOL\TECHNICAL\COMMSARRAY\INTERNALCOMMS\INTERNALCOMMS_SECTION" click on a door (Ex: Door_SML_4), click 'Zone' and you should get this: image As you can see it is a generated name, because it doesn't exist on the INTERNALCOMMS_SECTION composite, but in environment. image When manually going to the zone's proper location (not from the button) you see that it also shows links connecting IN and OUT from/to it. Not only two parameters. image

For some reason the 'Zone' button breaks the scroll bars for overflown parameters on any entity (zone related or not) in OpenCAGE and you have to restart the editor to get them to show again: image Take a closer look and notice that there is no scrollbar.

Edit: I forgot to mention the version: 0.9.3.62 (Staging)

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

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at CommandsEditor.EditorUtils.GenerateEntityName(Entity entity, Composite composite, Boolean regenCache)
   at CommandsEditor.UserControls.GUI_Link.PopulateUI(EntityLink link, Boolean isLinkOut, ShortGuid linkInGuid)
   at CommandsEditor.CommandsEditor.LoadEntity(Entity entity)
   at CommandsEditor.CommandsEditor.goToZone_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4614.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
CommandsEditor
    Assembly Version: 0.2.0.0
    Win32 Version: 0.2.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Steam/steamapps/common/Alien%20Isolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4550.0 built by: NET48REL1LAST_C
    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.8.4605.0 built by: NET48REL1LAST_C
    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.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
CathodeLib
    Assembly Version: 0.4.0.0
    Win32 Version: 0.2.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Steam/steamapps/common/Alien%20Isolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
----------------------------------------
netstandard
    Assembly Version: 2.0.0.0
    Win32 Version: 4.8.4084.0
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll
----------------------------------------
PresentationFramework
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4605.0
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/PresentationFramework/v4.0_4.0.0.0__31bf3856ad364e35/PresentationFramework.dll
----------------------------------------
WindowsBase
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4605.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_4.0.0.0__31bf3856ad364e35/WindowsBase.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4605.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
PresentationCore
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4605.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/PresentationCore/v4.0_4.0.0.0__31bf3856ad364e35/PresentationCore.dll
----------------------------------------
System.Xaml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4605.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xaml/v4.0_4.0.0.0__b77a5c561934e089/System.Xaml.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Newtonsoft.Json
    Assembly Version: 13.0.0.0
    Win32 Version: 0.2.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Steam/steamapps/common/Alien%20Isolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Numerics.Vectors
    Assembly Version: 4.1.4.0
    Win32 Version: 0.2.0.0
    CodeBase: file:///C:/Program%20Files%20(x86)/Steam/steamapps/common/Alien%20Isolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
----------------------------------------

************** 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.
MattFiler commented 1 year ago

This is a known issue - I haven't fully finished implementing the zone feature yet, but thanks for the report :)

MattFiler commented 1 year ago

This should now be working on staging 👍