Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Sunspots

#1
I really wanted to make a discussion thread about how we want the system to handle multiple mods and how we can help each other to make mods work well with each other.

These are a few ideas that could work together in order for us to collaborate and build upon each other's work.

Dependencies: Building mods that are dependent on other mods doesn't really work at this state.
If I'm making a mod that extends the wood economy, for example if I make a simple mod that adds a wooden bed (which can only work when there is wood in the game). There needs to be a way for me to make sure that the wood economy mod has been loaded into the game before mine.
A decently simple way to do this is if we can add dependencies in the About.xml, before my mod loads, check that the dependencies are enabled, then load dependencies in a tree-like fashion from the top dependency down to my mod.
An extension to this system would be optional dependencies - if the dependency is enabled, load it before the mod, if it's disabled then continue anyway.

The second feature I propose for this ecosystem is a way for us to extend existing thingDefs (or any other defs maybe for that matter).
If I have a dependency(including the core) that contains a definition, but I want my extension to only change a specific value, I should be able to extend the original thingDef and only change/add a specific property, instead of copying over the entire object and overwriting it (possibly breaking every time the original object updates).

The third suggestion is something that's up to us as a community. Now that we start making all of these wonderful mods, we should think about how our creations can work together with the greater mod infrastructure, beyond simply how it affects the core game.

These are my thoughts on the subject. How do you, fellow mod-makers, think we could get good integration between our creations?
#2
Embrasures



Description:
Embrasures is a mod that adds two new wall types (one for metal and one for stone). The walls have openings for colonists to shoot at their enemies, while not allowing any to pass through. Basically, they look like holes in the walls but they work more like like impassable sand bags (it looks like a hole in each block but the whole block is open to let through bullets).

Mod Team:
Download:
See attachments

Screens:
http://pasteboard.co/11ebuipO.png
http://pasteboard.co/11ddrj4h.png
http://pasteboard.co/11dfzGls.png

How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.

Changelog:
Version 1.0.1: Changed the wall linking, some texture touch-ups.
Version 1.0: First release

There are some graphics issues if you put them together in other shapes than lengths and corners, but they have little use in such configurations anyway.


[attachment deleted by admin: too old]
#3
So, I decided to start working on some custom machinery. My idea was to clone the nutrient paste dispenser and make a machine that takes in a resource in hoppers and outputs new items.

The game doesn't seem to find my class when I reference it in <thingClass>

I can see that the dll is found/done something with in the log:

Non platform assembly: C:\Users\Sunspots\Desktop\RimWorld363Win\Mods\Concrete\Assemblies\ConcreteMod.dll (this message is harmless)

But on launch the game tells me "Could not find a type named  Building_CementMill" every time I start up.
The code that is compiled to the dll is (I've taken out the rest of the code for now, just to try getting it working):
namespace ConcreteMod
{
public class Building_CementMill : Building
{
public Building_CementMill ()
{

}
}
}


What are the first steps I need to take to make this work?

(I've followed the steps in the end of this page, I'm using MonoDevelop)