Skip to content

Instantly share code, notes, and snippets.

@ronyx69
ronyx69 / ThemeDecals_Script.cs
Last active April 12, 2017 21:51
Script for creating your own theme decals.
// You MUST use a unique diffuse texture (put whatever texture in it) to avoid unforeseen consequences!
// Import a decal or a big decal as usual and run this script using the texture tag you want:
//themedecal-grass
//themedecal-cliff
//themedecal-sand
//themedecal-gravel
//themedecal-ruined
//themedecal-oil
@ronyx69
ronyx69 / PloppableAsphalt_Script.cs
Last active April 12, 2017 22:03
Sets tags for props/decals for ploppable asphalt.
//asphalt props
var asset = ToolsModifierControl.toolController.m_editPrefabInfo as PropInfo;
asset.m_mesh.name="ploppableasphalt-prop";
//asphalt decal
var asset = ToolsModifierControl.toolController.m_editPrefabInfo as PropInfo;
asset.m_mesh.name="ploppableasphalt-decal";
@ronyx69
ronyx69 / EmptyMod_Delayed.cs
Last active April 12, 2017 22:04
An empty mod which waits for all mods to be loaded.
using ColossalFramework.Plugins;
using ColossalFramework.UI;
using ICities;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Xml.Serialization;
using UnityEngine;
namespace ThemeDecals
@ronyx69
ronyx69 / Vehicle_to_Prop.cs
Last active April 12, 2017 22:08
A first draft at converting a vehicle to a prop ingame.
var vehicle = PrefabCollection<VehicleInfo>.FindLoaded("Sedan"); //get the vehicle
var prop = PrefabCollection<PropInfo>.FindLoaded("Cargo container"); //get the prop
prop.m_mesh=vehicle.m_mesh; //apply vehicle mesh to the prop
prop.m_material.SetTexture("_MainTex", vehicle.m_material.GetTexture("_MainTex")); //apply vehicle diffuse to prop
prop.m_material.SetTexture("_XYSMap", vehicle.m_material.GetTexture("_XYSMap")); //apply vehicle XYS to prop
Texture2D aci; aci = new Texture2D(1, 1); //make new empty texture
aci = vehicle.m_material.GetTexture("_ACIMap"); //WRONG!!! ACI should be made unique/instantiated!? idk
@ronyx69
ronyx69 / TextureReplacer.cs
Last active April 12, 2017 22:13
Replace textures in real time ingame.
// Texture Replacer script by Ronyx69
// INGAME not ASSET EDITOR
// Replaces textures ingame in real time!
// Much thanks to SamsamTS for explaining Actions to me and being helpful.
// D, ACI, XYS textures for buildings, props, vehicles and D, XYCA for trees.
// Unfortunately CANNOT replace LOD textures.
// Technically I know how to replace LOD textures,
@ronyx69
ronyx69 / TextureReplacer_AssetEditor.cs
Last active May 18, 2017 02:58
Replace textures in real time in asset editor.
// Texture Replacer script by Ronyx69
// ASSET EDITOR, not ingame
// Replaces textures in asset editor in real time!
// Much thanks to SamsamTS for explaining Actions to me and being helpful.
// D, ACI, XYS textures for buildings, props, vehicles and D, XYCA for trees.
// Unfortunately CANNOT replace LOD textures.
// Technically I know how to replace LOD textures,
@ronyx69
ronyx69 / PropMesh_To_NetworkMesh
Last active July 27, 2017 14:58
Replaces a network segment/node mesh with a mesh from a prop.
// PropMesh To NetworkMesh
var propName = "Barrels";
var networkName = "Train Track";
var type = "segment"; // segment or node
var id = 1;
var replaceTexture = false; // true or false
var prop = PrefabCollection<PropInfo>.FindLoaded(propName); // PropInfo, BuildingInfo, VehicleInfo, TreeInfo
@ronyx69
ronyx69 / ShaderChange_FloatingBuilding.cs
Last active August 2, 2017 18:45
Change the shader of a building or prop to floating building in asset editor.
//building
var shader = Shader.Find("Custom/Buildings/Building/Floating");
var asset = ToolsModifierControl.toolController.m_editPrefabInfo as BuildingInfo;
if(asset.m_material != null) asset.m_material.shader = shader;
if(asset.m_lodMaterial != null) asset.m_lodMaterial.shader = shader;
//prop
@ronyx69
ronyx69 / LightingRebalance.cs
Last active August 7, 2017 15:58
My locally modded lighting and tonemapping settings, fine tuned for vanilla temperate theme and a custom high contrast LUT. http://i.imgur.com/AJ54HWo.png
using ICities;
using System;
using System.Reflection;
using UnityEngine;
namespace LightingRebalance
{
public class LightingRebalanceMod : LoadingExtensionBase, IUserMod
{
public string Name
{
@ronyx69
ronyx69 / Realtime_WIP_TexturesOnly.cs
Last active August 19, 2017 21:40
Script to replace any texture of a prop.
// Textures must be placed in gamefolder/textures/props
// For example if my prop file name is snow1 and asset name is also snow1,
// then the textures would be called snow1.snow1_Data_d.png
// snow1.snow1_Data_a.png, snow1.snow1_Data_n.png and so on...
var assetname = "snow1.snow1_Data"; // CHANGE ONLY THIS
var asset = PrefabCollection<PropInfo>.FindLoaded(assetname);
var assetMaterial = asset.m_material; var texturePath = " ";
Texture2D providedTexture=null; Color px;