SMT : Eve Map Tool

As of version 1.20 only cosmic signatures are handled. Combat Anomalies and Ore Anomalies aren’t used (yet). See GitHub-Source\EveData\AnomData.cs: “// only care about “Cosmic Signature””.

A new release : 1.21…

Bug Fixes

  • Better error handling of the logs
  • Fix for crash with jump ranges and edge cases with location
  • Fix for JB’s not importing when the os is unicode

New

  • Corporation and personal standings added instead of just alliance based (will require a re-auth to pickup the new scope)
  • Info Objects now in the SMT folder in My Documents rather than distributed in SMT
  • Added option to minimise to system tray
  • Added option to flash the app on intel

Source and binaries here : [Release SMT 1.21 · Slazanger/SMT · GitHub ]
(Release SMT 1.21 · Slazanger/SMT · GitHub )

Lots of under the hood changes related to the port to Mac/Linux, however the main visible change is the option to minimise/close SMT to a tray icon and the option to flash the window on intel… both options are disabled by default and can be enabled in the preferences window in the general & intel tabs

Let me know if you have any issues; if you’d like to pop by discord and say hello join here : SMT

Slaz.

3 Likes

Got the following error that silently crashes program. As far as I can tell there is a bug in the SMT connected to the ship decloak (might have been mobile observatory pulse this time but not sure).

Application: SMT.exe
CoreCLR Version: 6.0.2023.32017
.NET Version: 6.0.20
Description: The process was terminated due to an unhandled exception.
Exception Info: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Toolkit.Uwp.Notifications.ToastContentBuilder.AddInlineImage(Uri uri, String alternateText, Nullable`1 addImageQuery, Nullable`1 hintCrop, Nullable`1 hintRemoveMargin)
   at SMT.MainWindow.<>c__DisplayClass74_1.<OnShipDecloaked>b__0() in D:\Projects\SMT\SMT\MainWindow.xaml.cs:line 1071
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run()
   at XamlGeneratedNamespace.GeneratedApplication.Main()

Edit: Just checked event viewer. 3 more times the same error (pretty sure those were caused by gate decloaks while travelling).

I have fixed this already, its to do with notifications and portrait issues; either a failure to sync the portrait…

I’ll push a new version when i get a chance.

2 Likes

Wow that is very fast. Thanks a lot :slight_smile:

was posted in discord; you can disable the notifications in the characters window in the short term

1 Like

A new release : 1.22…

Bug Fixes

Other

  • Reduced initial load time to 7s (~20s reduction) by pre-caching some jump range calcs
  • EVE Data now has no windows in it

Source and binaries here : [Release SMT 1.22 · Slazanger/SMT · GitHub ]
(Release SMT 1.22 · Slazanger/SMT · GitHub )

Again lots of under the hood changes to support the on-going port… if you spot any intel oddities let me know

Let me know if you have any issues; if you’d like to pop by discord and say hello join here : SMT

Slaz.

3 Likes

Legend, thanks for the updates man. Will test them tonight!

The crashing thing was a bit frustrating, but not the end of the world.

It’s getting better and better.
I do have two new issues (at least I think they are new) a crash and sometimes intel stops updating (they might be related)

Crash report:

Summary
Application: SMT.exe
CoreCLR Version: 6.0.2123.36311
.NET Version: 6.0.21
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at SMT.RegionControl.AddSystemIntelOverlay() in D:\Projects\SMT\SMT\RegionControl.xaml.cs:line 2199
   at SMT.RegionControl.ReDrawMap(Boolean FullRedraw) in D:\Projects\SMT\SMT\RegionControl.xaml.cs:line 703
   at SMT.RegionControl.UiRefreshTimer_Tick(Object sender, EventArgs e) in D:\Projects\SMT\SMT\RegionControl.xaml.cs:line 4005
   at System.Windows.Threading.DispatcherTimer.FireTick()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run()
   at XamlGeneratedNamespace.GeneratedApplication.Main()

A new small release : 1.23…

Bug Fixes:

  • Fix for crash related to intel and overlay
  • Fix for intel not propagating
  • Increased max intel size for the panel to 250

New:

  • Added the newly found Jove Ancient Gates to the POI

Source and binaries here : [Release SMT 1.23 · Slazanger/SMT · GitHub ]
(Release SMT 1.23 · Slazanger/SMT · GitHub )

if you spot anymore intel oddities let me know…

Let me know if you have any issues; if you’d like to pop by discord and say hello join here : SMT

Slaz.

2 Likes

A new small release : 1.24…

Bug Fixes:

  • Fix for ignored messages (such as status messages) causing intel to stop for that channel

Source and binaries here : [Release SMT 1.24 · Slazanger/SMT · GitHub ]

if you spot anymore intel oddities let me know…

Let me know if you have any issues; if you’d like to pop by discord and say hello join here : SMT

Slaz.

2 Likes

Amazing work.
BTW. Any chance we could have combination of automatically follow active char and updating jump range? Would be great for hunting/defending.

It does this already… right click on a system with a character in and choose characters → char and auto range

1 Like

Thanks. I didn’t realise that going to character would give auto-updating range. Awesome work.

it was built for blops hunting… set the range map to your bridger / bombers and then switch to follow your hunter so you can see if you’re still in range…

1 Like

A new release : 1.25…

Bug Fixes :

  • Fix for occasional crash on universe view
  • Adjusted layout of Detorid

New:

  • Added Yasna Zakh Region (Zarzakh)
  • Added Zarzakh to existing maps
  • Added routing option to use Zarzakh as a super highway

Source and binaries here : [Release SMT 1.25 · Slazanger/SMT · GitHub ]
(Release SMT 1.25 · Slazanger/SMT · GitHub )

The main feature of this release is Zarzakh… A new region (Yasna Zakh) has been added and the Zarzakh system injected into the regional maps for Curse, Placid, Metropolis and Venal :

In addition I’ve added a new routing option…

You can route through Zarzakh and use it as a giant super-highway to cross the map… if enabled it will calculate the shortest route using Zarzakh (note: like thera, it will set a waypoint to the entry system for Zarzakh; the auto pilot in-game wont use it so you need to manually enter / exit zarzakh…)

it will also work with a combo of Zarzakh / Thera eg :

This route has me entering Zarzak in G-0Q and leaving into Turnur to cut ~10 jumps off this particular route

if you spot anymore intel oddities let me know…

Let me know if you have any issues; if you’d like to pop by discord and say hello join here : SMT

Slaz.

2 Likes

A new release : 1.26… everyone will need to upgrade to this due to the logon changes released today…

Bug Fixes:

  • Fixed character logon after CCP JWT Change
  • Fixed ZKill timeout to avoid ban

New:

  • Added Jump bridges to the overlay (Thanks @Jaykii !)

Source and binaries here : [Release SMT 1.26 · Slazanger/SMT · GitHub ]
(Release SMT 1.26 · Slazanger/SMT · GitHub )

Let me know if you have any issues; if you’d like to pop by discord and say hello join here : SMT

Slaz.

4 Likes

I started using this yesterday while out hunting. Loved it, especially the overlay map. That is a really nice feature I didn’t know I needed until I used it.

Thanks for the time and effort you put in to this.

2 Likes

I had the SMT running for a day or two (not 100% sure it was busy time). It crashed and now all my chars have lost their ESI auth. Is this something that I can prevent or is it all about not running for too long as not to annoy CCP?

I might be doing something wrong here, but every time in the jump planner when I select JF/Rorqual from the ship type drop-down menu, the app crashes.