trippsc2 / opentracker Goto Github PK
View Code? Open in Web Editor NEWAn open-source cross-platform tracking application for A Link to the Past Randomizer.
License: MIT License
An open-source cross-platform tracking application for A Link to the Past Randomizer.
License: MIT License
I have packaged OpenTracker for NixOS, but I have found that right-click doesn't work on anything. At first I thought it was because I was using a trackpad, but plugging in a mouse didn't work either.
I can't tell if this is rooted in OpenTracker, Avalonia, or just .NET in general, but I figured I'd start here. If this is the first time the issue has come up, it's probably the way I've packaged it, as NixOS needs an explicit list of dependencies to build things. That said, I'm starting from the .deb provided in the GitHub releases (version 1.5.2, specifically), so anything bundled in it should be working.
In current OpenTracker, the following can be selected for Dungeon Item Shuffle:
None, Map/Compass, Map/Compass/Small Key, Keysanity
I often do modes that shuffle big keys but not small ones as a 'keysanity lite', and it's possible for maps to be shuffled w/o compasses and vice versa. Could this be refactored to instead be checkboxes for each shuffled item? (Maps, Compasses, Small Keys, Big Keys).
Maybe "Shuffle Bosses" can be thrown in here at the same time so everything affecting the dungeon part of the tracker is in the same place, but that's more a cosmetic thing.
It would be nice if the application opens in the same place and size on future use. Preferably including subwindows like the auto tracker one.
When marking a visible location, like lumberjack ledge it would be nice to also have the option to mark it as a triforce piece.
Separate accessibility level of Sequence Break from Possibly Accessible.
Add an about page to the app.
Add OWG and MG support.
trying to save/save as... to a folder without having the proper write rights just closes the menu and pretends like a save was done. But no file was written.
[Windows 10]
If you know what an item is from a hint, you can't mark it in the tracker unless it's an item that you would normally be able to "see" like ledge outside of desert palace.
When autotracking dies for various reasons, there does not appear to be a way to tell its status on the main window. Would be nice to easily tell that something went wrong; potentially with a quick way to reconnect.
In entrance shuffle, since you have easy access to information about 7/8 dropdowns (uncle, sanc, LJ, forest, well, bat, fairy, ganon) early in the game, keeping track of which ones you've found so you can learn what the pyramid dropdown is by process of elimination can be extremely valuable information.
CodeTracker enables this by adding a "Dropdowns" list of icons that you can check off as you find them (see the bottom right of https://imgur.com/a/zpAgzgE ). It would be nice if OpenTracker added an option to include a similar list. (Note that this list has no logic, it's simply a row of dropdown icons you can mark off as you find them).
With hints on sometimes you know what is in a location before you can logically get there. With how it is currently set up you cannot mark off things unless logic says you have access to them. For instance, I had a hint pop up that there was cash in the mimic cave. Since I didn't have access to turtle rock yet I was unable to mark that spot as checked/collected/ignored/whatever.
For vertical orientations it would be nice to have the ability to have the items in 1 or 2 vertical lines instead of in the traditional layout. This would let it be even thinner and would be awesome for flexibility of twitch overlays. Being able to create an entirely custom layout of items would be amazing.
Had a recent inverted seed with some rather twisted logic, where I ended up getting stuck and having to consult the spoiler log, as I had done literally everything available on my tracker. Turns out a very important item was on floating island, which in inverted is modified to not need the mirror (bridge over to mainland), but the tracker didn't show it as available.
I did not have the mirror or moon pearl at that time, but did have mitts and DM access, so the intended logic was to walk across dark Death Mountain (stairs to Aga1, head east dodging lynels), fall down and take the southeast DM portal, traverse paradox cave as a bunny, and grab the item from floating island.
OpenTracker appears to require pearl + mitts + hammer for floating island (inverted), but you don't need pearl or hammer if I'm reading things correctly:
Loving the tracker, especially how it's cross-platform! Wish there were an option to show location names on mouse over, so I don't accidentally click the wrong thing.
Provide a better user experience for marking specific chests on a location.
So, I just had the application crash on me, closing without trace.
No error message and as far as I can tell no error log either, unless it is somewhere I didn't find it.
So, some way to report such issues in the future would be nice.
The checks for Aga Tower seem to keep getting decremented by 8 and sometimes 12 when doing checks inside Tower of Hera when race illegal autotracking is on. I've noticed Aga Tower checks going into the negatives between -6 and even -10, and I think I finally pinpointed it to anytime a check is done in Tower of Hera.
Trying to save or open a file from the file menu causes the application to crash with a segmentation fault for me.
Using 1.4.1 release of OpenTracker.
System: Arch Linux with kernel 5.8.14 and KDE Plasma 5.19.5
Repro steps: In OpenTracker 1.5.0, enable entrance tracking and click the entrance for hammer pegs (like you would if you found a connector that exited at hammer pegs in crosskeys). The purple chest icon appears as green immediately, even if you don't have any lift upgrades to gain access to the smith prerequisite to purple chest.
Also, it would be nice if logic was added for the smith in entrance shuffle; the icon is there (where the frog's at in the dark world) in non-entrance shuffle, but it's missing in entrance shuffle.
When enabling auto tracking I get an unhandled exception as soon as it connects to QUsb2snes. The whole program closes up and this gets tossed as output to the CLI when I attempt to use autotracking. It displays Connected for a split second before this happens when it connects to QUsb2snes. I have successfully used QUsb2snes for multiworld in the past (I compiled it from source instead of using the windows version in wine).
Unhandled exception. ReactiveUI.UnhandledErrorException: An object implementing IHandleObservableErrors (often a ReactiveCommand or ObservableAsPropertyHelper) has errored, thereby breaking its observable pipeline. To prevent this, ensure the pipeline does not error, or Subscribe to the ThrownExceptions property of the object in question to handle the erroneous case.
---> System.InvalidOperationException: StartTimer can be only called from UI thread
at Avalonia.X11.X11PlatformThreading.StartTimer(DispatcherPriority priority, TimeSpan interval, Action tick)
at Avalonia.Threading.DispatcherTimer.Start()
at OpenTracker.ViewModels.AutoTrackerDialogVM.Start() in C:\Users\Jim\source\repos\trippsc2\OpenTracker\OpenTracker\ViewModels\AutoTrackerDialogVM.cs:line 232
at OpenTracker.ViewModels.AutoTrackerDialogVM.<StartAsync>b__63_0() in C:\Users\Jim\source\repos\trippsc2\OpenTracker\OpenTracker\ViewModels\AutoTrackerDialogVM.cs:line 237
at System.Reactive.Linq.QueryLanguage.<>c.<ToAsync>b__223_1(ValueTuple`2 state) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Linq\QueryLanguage.Async.cs:line 1403
--- End of inner exception stack trace ---
at ReactiveUI.RxApp.<>c__DisplayClass9_0.<.cctor>b__2() in d:\a\1\s\src\ReactiveUI\RxApp.cs:line 103
at System.Reactive.Concurrency.Scheduler.Invoke(IScheduler scheduler, Action action) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Concurrency\Scheduler.Simple.cs:line 254
at System.Reactive.Concurrency.Scheduler.<>c.<Schedule>b__74_0(IScheduler s, Action a) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Concurrency\Scheduler.Simple.cs:line 37
at Avalonia.Threading.AvaloniaScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action)
at System.Reactive.Concurrency.LocalScheduler.Schedule[TState](TState state, Func`3 action) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Concurrency\LocalScheduler.cs:line 32
at System.Reactive.Concurrency.Scheduler.Schedule(IScheduler scheduler, Action action) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Concurrency\Scheduler.Simple.cs:line 37
at ReactiveUI.RxApp.<>c.<.cctor>b__9_1(Exception ex) in d:\a\1\s\src\ReactiveUI\RxApp.cs:line 108
at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\AnonymousSafeObserver.cs:line 54
at System.Reactive.ObserveOnObserverNew`1.DrainStep(ConcurrentQueue`1 q) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Internal\ScheduledObserver.cs:line 577
at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler recursiveScheduler) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Internal\ScheduledObserver.cs:line 509
at System.Reactive.ObserveOnObserverNew`1.<>c.<.cctor>b__17_0(IScheduler scheduler, ObserveOnObserverNew`1 self) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Internal\ScheduledObserver.cs:line 497
at Avalonia.Threading.AvaloniaScheduler.<>c__DisplayClass2_1`1.<Schedule>b__1()
at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority)
at Avalonia.X11.X11PlatformThreading.CheckSignaled()
at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken)
at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken)
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
at OpenTracker.Program.Main(String[] args) in C:\Users\Jim\source\repos\trippsc2\OpenTracker\OpenTracker\Program.cs:line 12
Aborted (core dumped)
When running this program it attempts to read/write a .theme file to the directory the program is run from. It is clear that this file is used to keep track of what theme was used last time the program is run. Having an absolute location for this file that is somewhere typically read/write accessible to regular users like $HOME/.config/OpenTracker/Themes would allows this file to consistently be written to and read from regardless of what directory the user runs the program from.
A similar issue crops up when the user attempts to add custom themes. OpenTracker can find the custom themes only when it is run from the directory it is installed in. In the case of ubuntu it installs to /usr/share/OpenTracker and when you are in that directory and run OpenTracker is can see the custom theme (though it won't be able to save that you were using that theme due to the issue above). Most of the time this will likely be run from the $HOME directory though and not /usr/share/OpenTracker. Suggested fix would be to have it read custom themes from $HOME/.config/OpenTracker/Themes since a user would have access to that directory. As it is, to add a custom theme one needs superuser access.
Insides of dungeons are currently not automatically tracked. I assume this is done to comply with racing rules. I'd still like to see a togglable mode where it is possible to autotrack into dungeons for more casual and cooperative play. The suggestion keeps coming up in multiworld as people ask for a tracker than can do that.
For the time being we have this: https://berserkermulti.world/tracker/5amfk7CHTu-Xdcb9BDrv3w But something more on a per-player base would be nice.
I use the autotracker feature when playing the Super Metroid x ALTTP combo randomizer and it works great while ALTTP is loaded. When Super Metroid is loaded, I can't see my ALTTP inventory at all. I understand that any logic changes or an SM map tracker would probably be out of this project's current scope, but being able to see my zelda inventory while in SM would be a great addition.
With version 1.6.1 if I go to any of the view settings that have an arrow over to more settings (orientation, etc.) if I try and move the mouse over to the sub menu the sub menu just disappears.
Reverting to 1.3.0 (the last version that I had saved locally) doesn't have this issue. I'm able to mouse over orientation and select different settings.
It would be nice if Ctrl+S would show an indication that saving tracker data was successful, perhaps as a toast message.
It would also be nice if the titlebar showed the currently open file, i.e. "OpenTracker - ...\Async\77.json"
Can you add support for the new key drop shuffle with multiworld please :) thanks!
Tried opening the tracker today and the window is not being rendered, though on the taskbar it shows OpenTracker running. Desktop peek shows just a white screen (as shown in attached screenshot).
This is with 1.5.1. Tried reinstalling, including different directories and drives, and tried updating .NET core with no change. Also reverted to 1.5.0 and still had the same issue.
In the current multiworld async, I'm playing a crossed entrances inverted seed that doesn't have moonpearl.
I decided I'd pin light-world entrances that had items at them -- since I couldn't open the chests as a bunny. When I returned to the save today earlier, none of the locations were pinned.
For those of us playing with dungeon shuffle but not a full entrance shuffle, it would be convenient to be able to get the entrance rando features exclusively at dungeon entrances (and with only dungeon entrances in the list) without having all of the other entrances changed.
Keysanity, No Entrance Shuffle, No sequence breaks or glitches. I'm pretty new to lttpr so I'm not sure what other info I should give.
Turtle rock shows as inaccessible despite having the quake medallion. If I check off all 3 medallions then turtle rock shows as accessible.
Misery Mire shows the same issue.
Have I filled out the tracker incorrectly?
The code seems to indicate it should require a sword and any of the medallions to show accessible though I admit I don't understand what the Requirements QuakeTR and QuakeBoth are.
Thanks!
OpenTracker 1.5.0 currently has entrance shuffle support that allows tracking of individual entrances, but doesn't have separate entrances for linked dropdowns+exits. In insanity entrance shuffle, since dropdowns and exits aren't linked together (dropping down kakariko well and exiting can take you to the potion shop exit, for example), it would be very useful to add separate entrance icons for the dropdowns and their associated exits. See https://imgur.com/a/y8XzBoW for an example of the CodeTracker UI demonstrating these additional entrances for insanity mode.
(This also relates to #36 "Feature request: Dropdown tracking"; since insanity entrance shuffle also adds the Skull Woods dropdowns to the general dropdown shuffle pool, it adds an additional 4 icons for these dropdowns.)
Tried launching the app from Finder; after accepting the "application downloaded from internet" dialog (once -- after you accept it, it never appears again), it just quits. Subsequent attempts to launch it result in it instantly quitting.
Next attempt, launching from terminal:
% ~/Downloads/OpenTracker.app/Contents/MacOS/OpenTracker
Unhandled exception. System.IO.IOException: Read-only file system
at System.IO.FileSystem.CreateDirectory(String fullPath)
at System.IO.Directory.CreateDirectory(String path)
at OpenTracker.App.OnFrameworkInitializationCompleted() in /Users/jim/Documents/OpenTracker/OpenTracker/App.xaml.cs:line 37
at Avalonia.Controls.AppBuilderBase`1.Setup()
at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode)
at OpenTracker.Program.Main(String[] args) in /Users/jim/Documents/OpenTracker/OpenTracker/Program.cs:line 12
zsh: abort ~/Downloads/OpenTracker.app/Contents/MacOS/OpenTracker
Not sure if this is related to #5, but it occurs with both 1.2 and 1.1.2. Also I of course don't have a /Users/jim
on this machine. I checked the Security & Privacy preferences but didn't see any prompts under full disk access, etc.
I installed the dotnet-core runtime but that makes no difference (and I get the same traceback launching with dotnet ~/Downloads/OpenTracker.app/Contents/MacOS/OpenTracker.dll
). Looks like the runtime is included in the app bundle already?
CodeTracker's ER Tracker has a handful of extra icons that can be used for marking entrances. These are useful for significant non-dungeon entrances, like Paradox Cave, various connectors, and locations like the potion and bomb shops.
It would be handy if a subset of these could be added when indicating what's at an entrance in OpenTracker. I asked Codemann8 ahead of time if they would give permission to use their existing icons and the answer given was: "i won't state that i will or won't, but they would have to ask me directly", further following up that a Discord PM was probably the best method of getting in contact.
Their Discord is at https://discord.gg/Fk4wTn6, and they can be PM'd at codemann8#3303
in entrance mode, is there any way to increase the size of the images used to mark entrances? I understand some areas are very tight on space and becomes a bit of a logistical challenge, but its also very difficult to read sometimes with how tiny they are, even when maximized to full screen on a second monitor.(for me at least)
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.