STEAM 组
Harmony for Games HarmonyLib
STEAM 组
Harmony for Games HarmonyLib
2
游戏中
17
在线
成立于
2021 年 3 月 22 日
正在显示第 1 - 10 项,共 89 项条目
3
Some Testing
0
Supply Chain Coloring v1.1.1
News
Mod is moving here from the workshop due to persistent harassment from Colossal Order.

Description
Warehouses, Industry processors and trucks are colored sensibly to inform of the flow of supply chains. Coloring is applied on the "Industry View", "Natural Resources" and "Fishing" views.

It also helps clarify how the Industries DLC and the Zoned Industries interact. Buildings/trucks/warehouses of the same color use the same natural resources and are part of the same supply chain.

Unspecialized Zoned Industry buildings produce goods, and they are colored as follows:
- in "Natural Resources" view, by the resource they consume
- in "Industry View", colored as "Goods" (ie, purple)

For these buildings, the consumed resources are fixed at spawn time. You can bulldoze them to force respawn, thus changing their consumption. The vanilla game intended to show this coloring, but due to a bug, they are shown in "neutral" color.

The color scheme is the same as used elsewhere for the same resources. It is the color used on the Warehouse buffer background.

The mod does not change the game-save, and it is safe to disable at any time.

How to install and update

Local installation: zip file and instructions[github.com]
The mod can be updated manually from the same link or using the "Update from GitHub[github.com]" mod. I don't expect any further features to be added to this mod, but compatibility updates or bugfixes may be needed in the future.

Source Code

The source is at Github[github.com] (GPL license)

Bugs, Feedback

Any bug reports or feedback is welcome in this thread
0
Perspective
17
Frequently Asked Questions (FAQ)
9
Developing with Harmony for CitiesSkylines
引用自 MenschLennart
I didn't mean to offend you with my question. It's just that I've already read a lot from you, where you say that you'll soon bring out an update. Only nothing has happened for almost a year. So I was a little bit suspicious if such an update will come at all.

Until it does, you can't expect developers to use your Harmony mod. I won't until then because I don't want to risk betting on the wrong horse.

No problem, I would feel the same in your shoes.

Keep in mind that no matter what API you choose, the end-users decide in the end which harmony they want to use. Both APIs work with both Harmony mods. The developers don't have much say over which harmony mod ends up being used.

The question over one API vs the other is to do with how reliable that API is, whether you'll be required to update your mod (and pull a new API with possibly new bugs) when the Harmony mod itself is updated, and how prone to run-time (on the user's machine) your mod will be. Will the end users have a rock-solid experience, or will they encounter unexplained errors due to a loose API that you've made some small mistake with?

It's not a horse betting exercise. :steamhappy:

In any case, I salute you for choosing the API with more history behind it rather than the newly released one. Having people rely on my first API version does put quite a bit of stress on me, because I don't want to expose my developers to some corner case that is my responsibility to handle, as the API maker.

No worries, the two competing APIs are close enough in wording and specification that you should be able to switch from one to the other with minimal rework, whenever you want :)
引用自 MenschLennart
Okay, first thanks for the update. So I'm curious whats coming.
How do you see what boformer did? The only thing whats updated for now on his github is an updated version number. Nothing more. Is there a source you have access to the community dont have?

I only have access to the github log in his two repos (CityHarmony and Harmony), and I have also downloaded and decompiled the "experimental" distributed files. My conclusions are based on what I saw in these two sources.

Here are the actions that I found important:
  • Boformer merged from upstream (pardeike/Harmony @ v2.2.0.0 label) to his own fork
  • he edited that fork to rollback the assembly version from 2.2.0.0 to 2.0.4.0: https://github.com/boformer/Harmony/commit/72ac7ca8b5ceb387b873ca9053e4ef81fa35e1b0 - this is a very troubling action, because a 2.2 interface is now masquerading as 2.0.4.0, so future mods that are linked against the masquarade, use 2.2 functions, and are being run in an environment where only the genuine 2.0.4.0 is available (eg, my own Harmony), will fail with TypeLoadExceptions due to the 2.2 functions which are required but do not exist in 2.0.4.0 assemblies.
  • he labeled the release/mod as 2.2-0
  • pushed to his experimental item, requested that people "test" it for him
  • plans to release it to the main channel in 1 week

This will cause subtle breakage that will make it look like my harmony is "not compatible"

It's subtle because nothing bad will happen immediately, in fact his "test" will show no problems, until the first mod meets the following criteria:

  1. he releases a new API that uses the 2.2 as dependency, but labelled 2.0.4.0
  2. some modder decides to use one of the newly available 2.2 functions, like HarmonyLib.GetOriginalMethod()
  3. that mod is run with Harmony Redesigned instead of boformer

This scenario will eventually happen, but his "test" methodology based on people trying it will not uncover the latent problem he seeds now.

I've also looked at the state of the upstream, at pardeike's recent work, there is a lot of new activity since the 2.2.0.0 release in december, including bugfixes to that release. This means that boformer's upcoming update already will contain bugs that we know of, and are already fixed upstream.

I would not bring the 2.2 release to cities skylines at all until it matures, because (a) it brings no must-have-now features, but since CO is going to bring this, I have to plan for it myself.

His test method is no method at all, just a casual "lets pull new stuff because some modder asked about it", and release it to 1M users with just some casual "experiment", but no considering the full impact and compatibility with the existing ecosystem.

On top of this, CO is preventing me from updating my harmony on the workshop. As it is, it works great, and I have a plan to update it in the future, but for now it only offers 2.0.4.0 functionality, and does so very reliably.

The API is not impacted much by all this, because it's agnostic of the version of the installed Harmony at runtime, and will work with both CO's 2.2 harmony, and my own 2.0.4.0 harmony, and eventually 2.2, but I need to build into the API the provision to install Harmony Redesigned if not already present. That install, which will happen from Github, is already implemented, and being tested, but since he decided to push 2.2 now, my API must implement the on-demand install and update from GitHub flawlessly.

So there's a ton of work that is already done. my API is already doing the updating, the next harmony mod release also does updating from github, but I need to test it a bit more to make sure they can handle the update to 2.2 flawlessly at first release, which is the nuget I had planned to release yesterday, and now I have to push back for a day or two. (his 2.2 announcement came yesterday, amid the Airports breakage chaos)
4
Working Nice with New DLC
正在显示第 1 - 10 项,共 89 项条目