RimWorld

RimWorld

Research Tree (Continued) Forked
71 Comments
13 hours ago 
该模组会导致新版鼠鼠点不了科技
Eheieh  [author]
Apr 20 @ 7:53pm 
@Nitori_Tachyon 这个感觉不是很必要修,当成良性bug吧,不特意去利用的话也不会影响游戏体验
Apr 20 @ 8:17am 
似乎跟life lessons有个很小的冲突。life lessons会在所有殖民者都未掌握要研究的科技所需的知识的情况下让此研究无法进行(例如研究“改进照明”需要“电子学”知识,如果分配了研究工作的人都没掌握电子学,那么改进照明就无法被研究)。但是这个例子里,改进照明仍能添加到研究队列里,而且由于工作进行中的判定问题,当队列中改进照明的前一项科技研究完成后,研究小人会推进改进照明的进度几秒,导致可以通过在改进照明之前塞一个可研究项目→研究完这个项目之后研究几秒改进照明→再塞一个可研究项目→……的方式,研究出改进照明。
Eheieh  [author]
Mar 14 @ 7:19am 
@顽石 那个功能我没维护,确实有可能出问题,尽量还是不用吧,现在这个选项也没什么太大的意义,之后可能考虑去掉了
Mar 13 @ 10:54pm 
可能是我选择了 "在第一次打开研究树时加载", 这个设置影响很大, 很多逻辑都变了
Eheieh  [author]
Mar 12 @ 11:55pm 
@顽石 这个问题我没遇到过,我一直跟Vanilla Gravship Expanded - Chapter 1一起用的,之前都能正常使用,但是我最近这一个多月没玩环世界,不知道是不是那边更新了
Mar 12 @ 12:14pm 
报一个严重 bug, 安装了这个 mod 之后, gravtech 的科技都不能研究了, 切换到原版界面点击研究按钮, 没有任何反应. 当然第一个 gravtech 科技是任务给的, 不用点击. 卸载了这个 mod 后, 点击研究按钮就有效了.
Eheieh  [author]
Mar 10 @ 6:57pm 
@顽石 Gravtech 科技是跟异常科技类似的特殊科技,我这个没做特殊类型支持所以异常和Gravtech 都不会出现在树里面,然后那个按钮是Vanilla Gravship Expanded - Chapter 1 的模组加的,我还没研究做兼容所以会有些重叠的地方。左右滚动那个下次更新的时候可以给加上
Mar 10 @ 2:42pm 
另外给个建议: 既然 "Ctrl+鼠标滚轮" 是上下滚动, 再加个 "Alt+鼠标滚轮" 是左右滚动不是更对称?
Mar 10 @ 2:38pm 
又试了一下, 如果选择在第一次打开研究树时加载, 那么研究标签列表里就根本不会出现 Gravtech, 这样虽然搜不到, 但逻辑是对的: 你要看 Gravtech, 就点上面那个按钮.
另外我知道为什么这个按钮点击后是隐藏已学习科技了: 这个按钮下面其实还有一个隐藏已学习的按钮, 只不过两个按钮部分重合了. 于是点击这个按钮的左半边, 就能顺利切换到原版的 Gravtech 科技树; 点击右半边, 则是隐藏已学习科技.
Mar 10 @ 2:20pm 
我这儿出现的问题是, 图中 https://ibb.co/LDbJ1sYD 这几个科技在科技树上都找不到.
其中包括原版 odyssey 的科技, 也包括 Vanilla Gravship Expanded - Chapter 1 中的科技.
另外, 点击图 https://ibb.co/4wJR6NPz 上面的 Gravtech 按钮, 本以为是只显示 Gravtech 的科技, 但结果却是隐藏/显示已学习到的科技.
其实我用其他的 research tab 也都显示不出 Gractech 科技, 搞得我现在就只能用原版了.
Eheieh  [author]
Mar 8 @ 11:27pm 
@LetTheMossReclaimYou
The packageID remains the same because this version is forked from Mile's version. Keeping the packageID unchanged ensures better compatibility with other mods. The authors should be different, but both Mile and Fluffy are still included. I simply appended my name after theirs.
Mar 7 @ 8:17pm 
Does this use the same packageID and list the same authors as the version as Mile? Because if it doesn't, then something is weird with it
Eheieh  [author]
Mar 2 @ 5:58pm 
@SeveralPeople
I've tried grouping content from the same mod together, but the results were not ideal. Perhaps highlighting might be a good idea. I also have a rough understanding of how searching by mod and will consider adding that feature.
Mar 2 @ 5:06pm 
Adding to my comment, maybe a search feature would highlight only the projects from that specific mod / group them closer together temporarily as to avoid rebuilding the tree? The first option should be more doable than the latter, since that one would probably require rebuilding the tree?

Anyways, great mod! I've been testing it out for a while and its going great for me :)
Mar 2 @ 5:00pm 
I believe @Miriouki is talking about a feature similar to, for comparison, the systems added by mods like JEI in minecraft have to search by mod.
E.G: "@[Mod Name Here]" -> shows resutls for everything coming from specified mod.

In rimworlds/your mod's case, writing @DubsBadHygiene on the search bar would show only research projects coming from that mod.
Eheieh  [author]
Mar 2 @ 12:59am 
@Miriouki Currently, there is already a feature for filtering by tab in the existing functionality. In what specific scenarios is the search by mod name feature used? I need to first understand when it is used to know if it can be implemented.
Feb 26 @ 6:52pm 
Is there a way to search by mod name?
Jan 18 @ 10:45am 
Thank you, I appreciate it :steamthumbsup:
Eheieh  [author]
Jan 18 @ 6:36am 
@Virstag
You are right, I will correct it.
Jan 17 @ 1:27pm 
The button used to show/hide incomplete projects does exactly the opposite of what it says... perhaps? I'm not sure. If the words “complete/incomplete” mean the same as finished/unfinished (in the sense of researched or not), then it works the other way around for me. If I understand correctly, what is on the button is not an option that appears when pressed, but what is currently visible. It's a bit confusing. In any case, when I see “hide incomplete projects” on a green background, the things that have already been researched are hidden. So they are complete, not incomplete. I think.
Eheieh  [author]
Jan 16 @ 8:10am 
@Amroth
Because this preserves compatibility with other mods' adaptations to the research tree, and renaming the module would cause unnecessary complications.
Eheieh  [author]
Jan 16 @ 8:04am 
@Dog
1. Regarding the bug you reported, I regret to say that I am unable to understand the specifics of the issue. Additionally, I do not have a Linux environment. If possible, providing a screenshot or more detailed information would allow me to investigate further to identify the root cause and attempt to resolve it.
2. Regarding the suggestion to hide research paths, I have indeed been dedicated to compressing the layout of the research tree, as my personal environment includes a vast number of research nodes. This was the original intention behind developing this version. However, the idea of adding a feature to hide paths seems like a good suggestion and wouldn’t be too complicated to implement, so I will consider including it.
Jan 14 @ 7:36pm 
I keep getting this bug, the same with the other (1.6) version, even after removing all mods and only running this. Where in the research preview where it shows the icons of what it unlocks, it keep generating "Enables construction [item]" regardless of whether it is a building. I never had this pre-1.6. I'm running Linux if it helps.

Also the way this fork generates the tree leads to so many stacking paths that it ends up forming an inscrutable gird. This is without mods and only the DLCs. Would you be willing to consider an option where the paths are not shown by default, and only highlighting them (and prerequisites) when hovering over a research item? I like how it is more compact, but this version makes the tree less legible.
Jan 14 @ 9:20am 
Hm, then why keep the module name the same? It confuses both Steam and Rimsort because they're both called Research Tree (Continued)
Eheieh  [author]
Jan 13 @ 6:48pm 
@Amroth

Although the appearance may not look significantly different, more than half of my code is actually different from the original version. Changes of this scale would not be allowed to be merged into the main branch, and even serving as a patch isn't very meaningful, as the main DLL and XML files have been altered. Overwriting with my version would not preserve the new content from the original and could even introduce unresolvable bugs.

However, since my version is branched from the original, if the original version receives updates, I will merge the new content over as soon as possible (this isn't a simple code diff, as many parts have already diverged from the original).
Jan 13 @ 1:28pm 
Isn't it possible to patch the existing research tree mod instead of making this standalone?

That way, if the original mod adds more support for other mods, this wouldn't suddenly be left behind
Eheieh  [author]
Jan 11 @ 6:30am 
@残风中的回忆
我最近比较忙,之前是临时对策了一下,我今天又改了一下同步了研究的可用状态,把缺少前置建筑和蓝图的置为不可点击状态了,麻烦再看下对你的mod有没有影响
Eheieh  [author]
Jan 11 @ 5:41am 
@SeveralPeople
I actually noticed this issue as well. Since I started using Vanilla Gravships Expanded Chapter 1 right after its release, I found that this button was added by it. I haven't found a good way to move it elsewhere yet, so I've left it as is for now. I'll try to adapt it later when I have time.
Jan 10 @ 8:50am 
the gravtech mod in particular this seems to cause issues with is vanilla gravships expanded chapter 1
Jan 10 @ 8:41am 
You are a ♥♥♥♥♥♥♥ saint.
Thank you SO MUCH for this.

I'm having a singular issue with this though, the research queue seems to be on the same "spot" as a button from the Gravtech mod, causing them to overlap a bit [ https://imgur.com/a/3lqZQ1r ]
Jan 6 @ 4:47pm 
哦哦,我明白了,大佬你是改成允许将暂时还无法进行研究的工作也能预先放入队列了对吧,那这样就说得通了,谢谢大佬,我理解了。:steamhappy::steamhappy::steamthumbsup::steamthumbsup:
Jan 6 @ 4:42pm 
@Eheieh 大佬你好像改出bug了,就是我不开我的mod研究树现在也能研究任意的研究了,不知道是不是你的本意。我这边实现跳过原版建筑需求的判定原理是利用harmony跳过ResearchDef中的PlayerHasAnyAppropriateResearchBench这个判定,泰南原版的代码是会在地图上找玩家是否有高级研究台以及是否连接了带电的多元分析仪,我写了方法直接该标志默认返回true所以可以跳过游戏逻辑的检查。

现在我发现只开你的mod也能随意研究原本有建筑或者蓝图限制的科技了,不知道是不是大佬你的本意。
Eheieh  [author]
Jan 6 @ 7:06am 
@残风中的回忆 我看了一下应该是为了实现研究队列所以对研究是否可用的判定专门加了判断,我把那个判断稍微改了一下,你再试试看能不能兼容你的模组了
Jan 4 @ 5:13pm 
@Eheieh 是我自己写的啦,还没传上来,谢谢,我刚才翻这个research tree的代码好像找到问题所在了,应该是getCacheValue()的一个地方的判断卡住了,这里调用了原版的方法但是貌似逻辑有点不一样。
Eheieh  [author]
Jan 4 @ 10:29am 
@残风中的回忆 跳过建筑判定的模组我还真没用过,但是研究树的队列是从研究节点的依赖关系直接取出来的,我不知道这个建筑判定会不会直接改那个依赖关系,如果不改的话可能就是识别不到,你可以提供一下那个mod的名称有时间我看下能不能兼容
Jan 3 @ 9:34pm 
发现有一个现象,就是我的另外一个mod可以跳过对研究建筑的需求判定,比如需要高级研究台和多元分析仪可以无视掉,但是research tree这一系列的mod不论哪个版本这个跳过前置判定的方法都不生效(原版是生效的),是不是research tree再重建研究界面时对研究能否进行科研的判定走的不是原版的判定代码啊
Jan 3 @ 10:22am 
@Eheieh 好的谢谢喵♪(・ω・)ノ
Eheieh  [author]
Jan 3 @ 9:01am 
@乔瑟
1.这算是个已知问题,目前还没有太好的解决方案,现在有问题的时候重开一下研究树界面应该就好了,暂时还没法彻底解掉这个问题。

@容淑(萌新版)
1.全不选报错的问题已经解决了,你说的右键会报错的问题我是没有的,我猜可能是跟美化滚动条之类的模组冲突了,我尝试解决了一下不一定好使,你试一下看看,还不行的话就需要你排查一下提供给我具体冲突的模组我再看看能不能处理一下了。
2.有些线条会绕很远的问题我也尝试过解决,不过始终不太理想,这个就等我有时间了再研究研究吧。
Jan 2 @ 9:41pm 
又有新的问题出现了,右键打开扩展MOD要研究的东西并查看详情,会疯狂弹窗重复三个报错(原版的东西则不会):
Mouse position stack is not empty. There were more calls to BeginScrollView than EndScrollView. Fixing.
Exception filling window for Verse.Dialog_InfoCard: System.NullReferenceException: Object reference not set to an instance of an object [Ref A6CFF 457] Duplicate stacktrace, see ref for original
Exception filling window for Verse.Dialog_InfoCard: System .Argum entOutOfRangeEx ception: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Jan 2 @ 9:21pm 
感谢你的付出,经测试比对,优化的确比原MOD好,最直观的是研究界面缩最小后的帧率提升60%以上,不过MOD仍有些许不足:
1. 在研究标签选择全不选,再重新生成,会报错再也无法打开研究界面,只能通过重新读档恢复。
2. MOD排版是顺眼多了,但是原MOD存在的问题也一并带来了,很多扩展MOD的研究线条会弯弯绕绕一大圈(超出屏幕),以至于研究面板缩最小都看不到中间的线条连向了哪些节点。

望改进:pinksoap:
Jan 2 @ 12:53pm 
不知道为什么,这版本有时候跟原版一样不能直接点要研究的项目,但是过一会又突然亮了能点了,但大部分还是跟原版一样黑的不能直接点,类似多元处理器的前置组件已经建了的情况下
Dec 10, 2025 @ 1:18pm 
[ResearchTree]: [Performance] Tree.Initialize::MinimizeCrossings took 888 ms (threshold 250 ms)
Exception filling window for ProgressionEducation.MainTabWindow_Education: System.NullReferenceException: Object reference not set to an instance of an object.
[Ref 4ED91118]
at ProgressionEducation.MainTabWindow_Education.DrawClassRow (UnityEngine.Rect rect, ProgressionEducation.StudyGroup studyGroup) [0x0000d] in <e5ec74d63dda47898eb45a4d4f216297>:0
at ProgressionEducation.MainTabWindow_Education.DrawClassList (UnityEngine.Rect rect) [0x001a1] in <e5ec74d63dda47898eb45a4d4f216297>:0
at ProgressionEducation.MainTabWindow_Education.DoWindowContents (UnityEngine.Rect inRect) [0x00064] in <e5ec74d63dda47898eb45a4d4f216297>:0
at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001d3] in <46372f5dadbf4af8939e608076251180>:0
- TRANSPILER Uuugggg.rimworld.TDS_Bug_Fixes.main: IEnumerable`1 TDS_Bug_Fixes.FixWindowDragInsteadOfReorderable:Transpiler(IEnumerable`1 instructions)
Eheieh  [author]
Dec 2, 2025 @ 7:08am 
@佐薙圣 我没复现出来你这问题,我加载了米莉拉帝国模组研究都是正常的,不过我加了几个空值判断,你再试试看行不行吧
Dec 1, 2025 @ 12:32pm 
Exception filling window for RimWorld.MainTabWindow_Research: System.NullReferenceException: Object reference not set to an instance of an object
[Ref 5746C084] Duplicate stacktrace, see ref for original
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch1 (string)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Window.InnerWindowOnGUI_Patch1 (Verse.Window,int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
米莉拉帝国原版科技打开点不了研究
Nov 29, 2025 @ 9:35pm 
Спасибо
Oct 16, 2025 @ 1:03am 
感谢
Eheieh  [author]
Oct 14, 2025 @ 12:07pm 
@亦世言语 修好了,原来是我忘记把新的dll放到本地目录里了,现在重新生成后会把已经早队列里面的研究项都留下来
Eheieh  [author]
Oct 14, 2025 @ 3:34am 
@亦世言语 问题我已经再现了,不过简单尝试了一下没修好,这个问题是把已经有进度的研究项排除筛选列表的时候会发生的,如果是队列中还没有开始研究的内容就不会有问题。我先继续修着,修好之前暂时在使用时候避免把已经开始的研究筛选出去就可以了。
Oct 13, 2025 @ 6:40pm 
若是研究队列中有研究项目,在使用研究标签进行筛选的时候,若是选择的标签中,科技树不包含队列中的研究项目,将无法生成研究科技树。在退出研究界面前可以重新选择标签以恢复,但若是退出了研究界面,则研究功能直接卡死,无法打开本mod研究界面,且原版研究界面也无法添加、更换研究项目。

举个例子:现在我的研究标签是全选状态,研究队列中有且仅有萌螈科技的“镶金翠玉”。
只要我在研究标签中筛选时,没有选择萌螈科技,就无法生成科技树且在退出研究界面后将无法进入mod研究界面。
若研究队列中没有研究项目,则可以任意筛选。