[1.0] [KV] Change Dresser (AlienRaces now supported) [ModSync]

Started by Kiame, September 15, 2017, 02:13:27 AM

Previous topic - Next topic

Kiame

#60
Quote from: Nightinggale on November 29, 2017, 11:57:24 PM
Quote from: Kiame on November 29, 2017, 11:15:13 PMIf the game could read and print the dll's version number that'd make this much easier.
ModCheck can read targetVersion and writing a number already in the code is an easy addition. If you are talking about [assembly: AssemblyVersion("1.0.0.0")] inside the actual DLL, then that would most likely be doable, though it would require more work. What precisely do you want?

Quote from: Kiame on November 29, 2017, 11:15:13 PMSorry this turned into a whine fest
You should whine with the rest of us about the loss of ModSync Ninja  :'(

I had heard about modSync when it was first proposed never heard anything after that...

Yeah i'm talking about reading the assembly version. targetVersion is based off the game's version as opposed to an individual mod's version like frenchiveruti was asking for.

edit: I know projects like modSync for other games work well but competing against steam will be hard. IMO it would be best if Ludeon stood up a db with logins attached to the forum logins. The db would have at least five fields: MOD_ID, URL, MOD_NAME, LAST_UPDATE, USER_ID. (the last field could be a ref to a list of users who could update the mod). Users could register their mod, probably best to link it with the PublishedFileId.txt from steam and a function to generate a new Id in the case of a non-steam mod dev. Once registered, a mod author could log in and be presented with a page where they could hit a button to update when they update their mod.
The game would then have a flat file - probably just add an attribute to each line in ModsConfig.xml - which lists the last time the mod was updated. At worst when a mod is added to the game for the first time, the game will re-download the mod (with confirmation from the user) to make sure it's up to date and set the last update time to now.
It's not the best but it would be quite simple to implement.
This is just 5 minutes of brain storming though, there's probably a hole or two and I don't want to completely diverge this thread  :P

Nightinggale

Quote from: Kiame on November 30, 2017, 01:17:32 AMI had heard about modSync when it was first proposed never heard anything after that...
It was up and running. It worked great and after around a month it added a new feature where it would automatically detect new releases on GitHub and use those. Around a week after that it was suddenly stopped without warning with the explanation that not enough modders had added their mods. Now most posts in the thread have vanished as well. Based on my experience with ModCheck, it will likely take a few months before mods start to use a new system and it's not enough to have it in the tools subforum because most people will not notice.

Quote from: Kiame on November 30, 2017, 01:17:32 AMYeah i'm talking about reading the assembly version. targetVersion is based off the game's version as opposed to an individual mod's version like frenchiveruti was asking for.
I use the build in targetVersion (last number) as mod version due to lack of an actual mod version tag. I can't find anything in vanilla, which actually use the build number for anything and so far it has worked just fine using 0.18.4.

I looked at the assembly loading code and it looks like it keeps a reference to all the loaded assemblies in memory for easy access later on. Apparently a reference should be enough to read all the attributes. Another approach would be to add another xml file in About and load data from that one. I think I can implement both options with my current knowledge of how the game load mods at startup.

Writing this gave me an idea. Just add that xml file and include version and two urls. When checking version, one url is for the very same file in master on a git repository (like GitHub). If the version tags differs, a popup should appear and it should display the other url as a clickable link and the second link opens the browser window at the download page for the latest release. The user will then have to update manually, but it's far better than the current situation. Apart from downloading an xml from an URL, I think I pretty much know how to do all of it or know where to look it up. I suddenly think improving ModCheck can wait  ;D

Oh and if a user loads a mod with this new xml file without having the mod to support it, then it will just be ignored. There is no vanilla code to open it. Also while it's not the fine centralized system with search functions you mentioned, it will help people keeping their mods up to date. Also without a centralized server, there is no one server, which can go offline and take everything with it.

Quote from: Kiame on November 30, 2017, 01:17:32 AMThis is just 5 minutes of brain storming though, there's probably a hole or two and I don't want to completely diverge this thread  :P
Too late  :P
ModCheck - boost your patch loading times and include patchmods in your main mod.

SpaceDorf

Ludeon actually offers a system like that  ;D
where Modders can create an Account and Link to their mod.

http://rimworldwiki.com/wiki/List_of_up-to-date_mods
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

Nightinggale

Quote from: SpaceDorf on November 30, 2017, 02:59:18 AM
Ludeon actually offers a system like that  ;D
where Modders can create an Account and Link to their mod.

http://rimworldwiki.com/wiki/List_of_up-to-date_mods
Isn't that just manual wiki editing, hence a time consuming extra? Besides that list looks really incomplete, like it's easy to get 10 times that amount on steam, if not more.
ModCheck - boost your patch loading times and include patchmods in your main mod.

SpaceDorf

Yeap, it is incomplete, because, like with modSync nobody participates.
I started this page, with the pre-release of B18 on steam but had no time the last few weeks to keep up with the modders.

And nope I don't think it would be a lot of work to register to the wiki and add a line with the link to your mod or mod collection to the List page.
At least not much harder than uploading something to steam workshop.

And I think you can get nearly the same amount of mods from the Forums and other sources, than you can get on steam.

So far there where only 3 Mods that made me log in to steam.

@Kiame. Sorry for derayling further. Look on the bright sight, every post bumps your thread  ;D
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

Canute

Without the work/pressure/support of ludeon a non-steam mod database will never happen.
We saw at the example of Modninja what happen. Only a few modder jump on the train.
Even Nightinggale's Modcheck got trouble to find acceptance for the most modder, and he is trying his best to promote and improve it.
And then is the other risk, what happen if the modder of a libary/tool don't want to update it anymore ? example CCL.

But i don't think ludeon will sponser such project, they don't even update the forum, it is pretty slow sometimes, and the serverspace got limited.

SpaceDorf

I don't think it was only a problem of wanting what killed CCL and once it got replaced by HugsLib and Harmony the authors could relax.

I think we should move this discussion elsewhere, since I think promoting the matter may be worth it.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

Kiame

Created a post in Suggestions for an in-game mod tracker: https://ludeon.com/forums/index.php?topic=37306.0

Please continue any and all mod-tracking ideas there  :)

Kiame

"Do until X" is now supported. Stored apparel will be counted


Zephyrinius

I was very excited to use this but it causes the game to crash on startup for me.  This happens even if I disable all other mods.  Has anyone else seen this behavior?

Canute

Zephyrinius,
you are the first who got crashes so far.
If use got hugslib istalled create a log with Share log button or post a logfile (point 6 at
https://ludeon.com/forums/index.php?topic=513.0  )


2.71828

Quote from: Zephyrinius on December 11, 2017, 05:55:18 AM
I was very excited to use this but it causes the game to crash on startup for me.  This happens even if I disable all other mods.  Has anyone else seen this behavior?

Linux?

frenchiveruti

#73
Quote from: 2.71828 on December 11, 2017, 09:12:43 AM
Quote from: Zephyrinius on December 11, 2017, 05:55:18 AM
I was very excited to use this but it causes the game to crash on startup for me.  This happens even if I disable all other mods.  Has anyone else seen this behavior?

Linux?

I use Linux and I'm running the game under wine 2.0.3 and there's been no issues so far.

@Kiame, I've found a bug. If a trade caravan comes by and you trade with it, I've seen that your change dresser "drops" it's contents on the floor in order for them to be counted by the traders.
Well, here's the bug, when you close the window, smokebelts and shieldbelts don't get picked up again leaving them dropped on the floor until a pawn comes to look for them
Steps to reproduce:
Fill a dresser with clothing and shield belts and smokebelts.
Get a trade caravan.
Open trade window (items will be dropped)
ShieldBelts and smokepops won't be picked up back automatically.

2.71828

Quote from: frenchiveruti on December 11, 2017, 10:41:37 AM
Quote from: 2.71828 on December 11, 2017, 09:12:43 AM
Quote from: Zephyrinius on December 11, 2017, 05:55:18 AM
I was very excited to use this but it causes the game to crash on startup for me.  This happens even if I disable all other mods.  Has anyone else seen this behavior?

Linux?

I use Linux and I'm running the game under wine 2.0.3 and there's been no issues so far.

Why do you use Wine when Rimworld (normally) runs on Linux natively?

But apart from that: I asked because the mod currently doesn't appear to work on (64 bit) Linux. With the mod enabled, the game crashes on startup (after closing the error log, if there is any), and this issue is known and worked on by Kiame. Zephyrinius also isn't the first one to experience these kinds of crashes.