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 - Luka Kama

#1
Unfinished / [1.0] (WIP) Better Hauling (alpha v0.0.2)
November 25, 2018, 03:55:48 PM
Description:

The Better Hauling mod improve the AI in situations like hauling, crafting, building etc, by allowing colonists to pick more things using their inventory.

Features

  • When hauling to a stockpile, colonists will pick all adjacent things that can be stored in the target stockpile, preferring things of the same type.
  • When working on a bill on a workbench, colonists will pick all the needed items in a single run until their inventory is full, instead of going back and forth picking a single item at a time.
  • When the job is canceled (for whatever reason, like drafting or job error) all the items in the inventory picked for the job are dropped.

Todo

  • Apply better hauling on other jobs (like building).
  • When looking for additional items to pick for hauling to a stockpile, pawns should check if there is an available place where to drop them, discarding ones that cannot be placed anywhere. Also, a reservation should be applied on identified target locations to avoid over-placing by multiple pawns. If not too complex, partial reservation could be used to allow the same target to be selected by multiple pawns for the "to be placed" quantity.

Know issues (will be fixed before stable release)

  • As reported in the TODO list, pawns do not check if there is an available place to drop an item when picking them, so, when placing them, if they cannot find an available place they will simply drop everything on the floor.

Needs

  • Volunteers to test the mod.
  • Feedbacks & suggestions.

Compatibility
The mod changes the default driver of the improved jobs, so it could conflict with mods that patch/change hauling AI.


Author/Mod Team
Myself (Luca De Petrillo)


Download

How to install:

  • Unzip the contents and place them in your RimWorld/Mods folder.
  • Activate the mod in the mod menu in the game.

Sources are available on GitHub.
#2

Description:

Real Fog of War mod aims to add a new depth to RimWorld, adding a new exploration phase and increasing the strategy difficulty.

Features

  • The map is initially unrevealed and must be explored.
  • Both player's and AI's humans, animals, mechanoids and some objects have and are affected by a Field of View, shared among faction components.
  • Only things revealed by a Field of View can be attacked.
  • Field of View of humans, animals and mechanoids is adjusted to sight attribute and are affected by darkness (mechanoids are immune) and weather.
  • Animals participate to Faction Fog of War only if trained for release and with a master set.
  • Bionic eyes reduce the darkness debuff (one by half, two completely).
  • Standing and attacking humans, animals and mechanoids have a slightly increased Field of View as they "peek" in nearby spaces.
  • When attacking and not moving, the sight range is adjusted to weapon range over time (time based on weapon warm-up time and range).
  • Sleeping humans and animals have a base Field of View reduced to 20%.
  • At rough and lower difficulties player's automatic turrets extend the Field of View in their target area.
  • Added objects: surveillances cameras (research required) and watch towers.

Compatibility
This mod uses Harmony to attach behaviors to the game logic in order to hide objects, and should be compatible with other mods that use Harmony too.

Author/Mod Team
Myself (Luca De Petrillo)


Download

How to install:

  • Unzip the contents and place them in your RimWorld/Mods folder.
  • Activate the mod in the mod menu in the game.

Change log:
Permissions:
Sources are available on GitHub.
#3
Tools / [TOOL] Mod Profiling
July 15, 2017, 05:50:09 AM
I used this method to profile my assembly mod performance, which is very CPU intensive, and I think that it could be useful to someone else.

To enable profiling, you need to invoke the mono_profiler_load mono method passing the profiling configuration. The configuration is the one that you would pass to mono executable for the --profile argument.

This is an example of a class that enables the mono profiling (in my mod, I load the class by defining a Def in the defs XML of the mod, but I'm not sure that it is needed):

[StaticConstructorOnStartup]
public class ModStarter : Def {

[DllImport("__Internal")]
private static extern void mono_profiler_load(string args);

static ModStarter() {
// Enable profiling and save the report to c:\rimworld-prof.mprf
mono_profiler_load(@"default:time,file=c:/rimworld-prof.mprf");
}
}


It seems that the only available profiler in the mono runtime used by Unity is the "default" one, which is the oldest and simplest one, but it is still useful to identify performance bottlenecks.

Also, it seems that the only profiled code is the one executed after the mono_profiler_load invocation, so you must ensure to invoke it before anything else in your mod.
#4
Help / [SOLVED] Help on load custom shaders from a mod
February 03, 2017, 07:28:22 PM
Hi,

I'm trying to use custom shaders for my mod, but I'm having hard times trying to correctly package or load them inside RimWorld (or Unity?).

Currently I have 2 shaders bundled in an asset bundle using a Unity 5.5 project. Then, in a static constructor class of the mod I'm able to load this asset bundle using Unity APIs, and the bundle seems to contain both shaders as I can load them obtaining for both a Shader object instance.

But there is the problem: when I load a shader I get a WARNING: Shader Unsupported: '' - Setting to default shader. log message and the shader isn't working. I tried to use OpenGL, DX11 and DX9 graphics API from Unity when building the asset, but I always get the same log and the same behavior.

There is someone that can try to help me to figure out what is going wrong?

Attached to the post there is a zip containing the asset bundle for windows, one for linux, and one containing the shaders that I'm trying to load. Maybe they cold be useful.

Thanks.

[attachment deleted by admin due to age]
#5

Announce:
The mod has been released: LINK TO RELEASE TOPIC

Description:

The Real Fog of War mod aims to add a new depth to RimWorld, adding a new exploration phase and increasing the strategy difficulty.

Features

  • The map is initially unrevealed and must be explored.
  • Both player's and AI's humans, animals, mechanoids and some objects have and are affected by a Field of View, shared among faction components.
  • Only things revealed by a Field of View can be attacked.
  • Field of View of humans, animals and mechanoids is adjusted to sight attribute and are affected by darkness (mechanoids are immune) and weather.
  • Animals participate to Faction Fog of War only if trained for release and with a master set.
  • Bionic eyes reduce the darkness debuff (one by half, two completely).
  • Standing and attacking humans, animals and mechanoids have a slightly increased Field of View as they "peek" in nearby spaces.
  • When attacking and not moving, the sight range is adjusted to weapon range over time (time based on weapon warm-up time and range).
  • Sleeping humans and animals have a base Field of View reduced to 20%.
  • At rough and lower difficulties player's automatic turrets extend the Field of View in their target area.
  • Added objects: surveillances cameras and watch towers.

Needs

  • Volunteers to test the mod.
  • Feedbacks & suggestions.

Compatibility
This mod override:

  • EnvironmentInspectDrawer.ShouldShow: to hide environment attribute for unrevealed areas.
  • GenMapUI.DrawThingLabel: to prevent showing labels of not visibile objects.
  • HaulAIUtility.HaulToStorageJob: to prevent hauling of not discovered objects.
  • InstallationDesignatorDatabase.NewDesignatorFor: to use a patched Designator_Install, which prevents the installations of things in non discovered areas.
  • LetterStack.ReceiveLetter and Messages.Message: To pin the arrow of the messages source to the initial location, in order to not follow raiders or pawns when moving in non discovered areas.
  • MouseoverReadout.MouseoverReadoutOnGUI: to prevent showing info of non discovered or seen objects.
  • Pawn.DrawPawnGUIOverlay: to hide the name of not seen pawns.
  • SectionLayer_ThingsGeneral.TakePrintFrom and SectionLayer_ThingsPowerGrid.TakePrintFrom: to hide not visible objects.
  • Selector.Select: to prevent the selection of not visible objects.
  • Verb.CanHitCellFromCellIgnoringRange: to apply the Fog of War in the targeting system.
  • WorkGiver_DoBill.TryFindBestBillIngredients: to prevent the using of non visible objects for bills.


Author/Mod Team
Myself (Luca De Petrillo)


Download

How to install:

  • Unzip the contents and place them in your RimWorld/Mods folder.
  • Activate the mod in the mod menu in the game.

Sources are available on GitHub.


[attachment deleted by admin due to age]