Thaumcraft Research Helper, Webbrowser and Windows version available.

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Boundary

New Member
Jul 29, 2019
140
0
0
Thanks, this works great :)

Was wondering though, is it just me or are you limited to a max of 6 steps? I know its an easy work around, but still wondering :p
 

chinchill

New Member
Jul 29, 2019
20
0
0
Yep, there is 6 steps limit, because program searches for connections in hard way recursively. Each step above 6 can possibly lead to application freeze or just really big waiting time. Anyway, there is no need for more than 6 steps, as You can easly expand each result by multyplying chosen pair, for example

aer>lux>ignis>potentia(2 steps)
aer>lux>ignis>lux>ignis>lux>ignis>lux>ignis>potentia(8 steps)
 

Beraias

New Member
Jul 29, 2019
51
0
1
So.. I clicked your link, clicked the install button.. tried to run the thing, and it says it's improperly formatted.. help?

MY error report:
PLATFORM VERSION INFO
Windows : 6.1.7600.0 (Win32NT)
Common Language Runtime : 4.0.30319.1
System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100)
clr.dll : 4.0.30319.1 (RTMRel.030319-0100)
dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100)
dfshim.dll : 4.0.31106.0 (Main.031106-0000)

SOURCES
Deployment url : file:///C:/Users/[my name here]/Desktop/TCSS.application

ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of C:\Users\[my name here]\Desktop\TCSS.application resulted in exception. Following failure messages were detected:
+ Exception reading manifest from file:///C:/Users/[my name here]/Desktop/TCSS.application: the manifest may not be valid or the file could not be opened.
+ Manifest XML signature is not valid.
+ SignatureDescription could not be created for the signature algorithm supplied.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.

WARNINGS
There were no warnings during this operation.

OPERATION PROGRESS STATUS
* [12/17/2014 2:42:45 PM] : Activation of C:\Users\Amanda Hinkle\Desktop\TCSS.application has started.

ERROR DETAILS
Following errors were detected during this operation.
* [12/17/2014 2:42:45 PM] System.Deployment.Application.InvalidDeploymentException (ManifestParse)
- Exception reading manifest from file:///C:/Users/[my name here]/Desktop/TCSS.application: the manifest may not be valid or the file could not be opened.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
--- Inner Exception ---
System.Deployment.Application.InvalidDeploymentException (SignatureValidation)
- Manifest XML signature is not valid.
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)
at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri)
--- Inner Exception ---
System.Security.Cryptography.CryptographicException
- SignatureDescription could not be created for the signature algorithm supplied.
- Source: System.Security
- Stack trace:
at System.Security.Cryptography.Xml.SignedXml.CheckSignedInfo(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignature(AsymmetricAlgorithm key)
at System.Security.Cryptography.Xml.SignedXml.CheckSignatureReturningKey(AsymmetricAlgorithm& signingKey)
at System.Deployment.Internal.CodeSigning.SignedCmiManifest.Verify(CmiManifestVerifyFlags verifyFlags)
at System.Deployment.Application.Manifest.AssemblyManifest.ValidateSignature(Stream s)

COMPONENT STORE TRANSACTION DETAILS
No transaction information is available.
 
Last edited:

Boundary

New Member
Jul 29, 2019
140
0
0
Yep, there is 6 steps limit, because program searches for connections in hard way recursively. Each step above 6 can possibly lead to application freeze or just really big waiting time. Anyway, there is no need for more than 6 steps, as You can easly expand each result by multyplying chosen pair, for example

aer>lux>ignis>potentia(2 steps)
aer>lux>ignis>lux>ignis>lux>ignis>lux>ignis>potentia(8 steps)
Thanks for the explanation :)
I have been using the 'work around' just as you described.
Once again thanks for carrying this forward from 4.1 it makes the amazing mod of tc accesisable for each play through :)
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Scanned with MS Security Essentials, and can confirm that its clean. Glad something like this was made, the online helper for 4.1 was a lifesaver. Many, many kudos to the creator! Makin something like this couldn't have been an easy task.

One suggestion I do have, however, is a filter text box at the top so you can search for an aspect by name.
 

FnordMan

New Member
Jul 29, 2019
16
0
0
Needs some minor tweaks for 4.2.2.x, some of the aspects changed. Cognito is now Ignus and Spiritus now is one example.
Not sure what the rest of the changes are.
 

Actual Steve

New Member
Jul 29, 2019
1
0
0
Thanks for doing this, the tool is great. Although it did take a min to figure out that right click is for the second aspect. I love this mod but you do need to be in try hard mode without this tool.
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Say, would you mind if I used something like ILSpy to open this thing up and look at its guts? I'm curious to see how you've gone about doing all this.
 

TomeWyrm

New Member
Jul 29, 2019
898
1
1
Needs some minor tweaks for 4.2.2.x, some of the aspects changed. Cognito is now Ignus and Spiritus now is one example.
Not sure what the rest of the changes are.

What he said. It's not too hard to work around, but it is a tad annoying.

Also the ability to add custom aspects would be amazing. I play with basically every TC addon, which means Forbidden Magic, Magic Bees, and probably at LEAST one more that adds aspects. That saves you plenty of dev time not having to worry about all the addons.

Another idea is sorting the aspect list. The current alphabetical top-to-bottom left-to-right style is difficult to navigate with as many columns as there are. Perhaps left-to-right and THEN top-to-bottom might be easier to read?

The ability to see aspect names by hovering would be useful. As would the ability to search by name (such as clicking the left aspect and then typing in exa and having exanimus appear in a dropdown... or having a filter box in the main window so you can find the aspect you're looking for more quickly).

But seriously, awesome program. It's saved me SO much time already.
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Actually been trying to make my own version of this, just as a challenge. Think I got the scripting system in place (to script the aspects, making updates easier), for the most part. I'd like to find the coloured TC aspect icons (including the question mark, as a default icon), since the only ones I've been able to find are the gray scale versions inside TC itself. Also want to have an optional feature where the program will cache the paths it finds, making commonly queried paths faster after their first discovery, since they'll be loaded into memory when the program starts up.
 

TomeWyrm

New Member
Jul 29, 2019
898
1
1
Last edited:
  • Like
Reactions: RavynousHunter

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Aah, thankee! I saw the ones at FTBWiki, but I'd have to chop them out individually and add the necessary transparency, since grey on a white background looks bad. However, the RR ones just need a download and a resize, excellent.

[ETA]

Hokay, got all the icons I need. The scripting tool is built and working fine for both compiling and decompiling scripts. Multi-version support will be built-in and as simple as adding a new folder for said version and filling it with scripts.

Do note that the scripts will NOT be in a human-readable format, as they're compiled using .Net's binary formatted serialization methods. This is for two reasons: one, its the method with which I'm most familiar and two, it'll make any future additions smaller in size and, thus, faster to download for those with...less than stellar internet speeds. For reference, the largest aspect script I have currently is Perditio, weighing in at 253 bytes. The whole initial release package will probably be able to fit on a 1.5" floppy, lol.

[ETA 2]

Scripting complete for versions 4.1, 4.1.0f, 4.1.0g, 4.1.1.13, 4.1.1.14, and 4.2! Now working on the meat of the program itself. All the scripts are loading in just fine, version list generates based on which sub-folders are inside the main scripts folder, and application state data can be both read and written. Did I mention I love .Net's serialization? Because I totally love .Net's serialization!

DOY! Forgot a critical class in the library, the actual AspectPath class. I'll need 'er for the eventual caching feature I plan to add in.
 
Last edited:
  • Like
Reactions: TomeWyrm

TomeWyrm

New Member
Jul 29, 2019
898
1
1
Hello, Succubism! I'm eagerly awaiting RavynousHunter's version of this tool.

One of those "It'd be neat if" features would be the ability to input your available research points and/or unlocked aspects.

Also if you do a similar aspect display to chinchill's might I suggest only letting the rows reach the... um... 6? That the table shows. Then it becomes easier to find them in the actual table.
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Actually, I was planning to, if at all possible, separate (visually) all the aspects by tier, as well as giving each entry a tooltip displaying their name, so things are easier to find.

Another planned feature is to have the Pathfinder only find X number of paths, between say 1 and 32, so if you're looking for a path between say Aer and Praecantatio with a length between 5 and 7 points, the program doesn't end up lagging when it tries to generate a massive amount of paths. Path length will be more or less totally unlocked, between 1 and 100 on both the upper and lower sides. The caching may have to wait for a future version, so I can more clearly work out how it'll work without both spamming your HDD with a lot of tiny files and taking the same time to load as generating the paths normally.

Basically, I want to have two aspect listings on the top: one for the source and another for the destination. On the right, you have the pathfinding settings such as minimum and maximum path length, Thaumcraft version, whether or not you want to use addon aspects, etc. Below you'll get a listing of the paths Pathfinder has found between A and B. I've already got the complexity calculations built-in, they'll be the average of the tiers between A and B exclusive.

The research points may require another area on the form for input, but unlocked aspects may be easier...those will prolly be in a future (post-release) version.

One final thing, on the performance track, all scripts for a given version are loaded into memory both on program load and whenever the version is changed. This is both to minimize the amount of HDD loading the program requires during runtime, and RAM almost always runs faster than a hard drive. Thankfully, even all the scripts across all 6 versions would probably only take up a scant 1-3 MB, after decompression, so they won't be resource hogs. I'm doing my best to make this as resource-friendly as possible, as well as responsive and efficient.

[ETA]

Found just the control I was looking for! Now to figure out how to dynamically generate them in another control!
 
Last edited:
  • Like
Reactions: TomeWyrm

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
I think he'd have to compile it against Mono instead of vanilla .Net. Its certainly not impossible, but might require a little bit of swapping things around for compatibility.