Giter Site home page Giter Site logo

quistar-lab / treeanarchy Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 1.42 MB

Tree Anarchy. This is a rewrite of the original Unlimited Trees mod in order for tree snapping to function

License: MIT License

C# 100.00%
cities skylines unlimited trees tree snapping

treeanarchy's Introduction

Tree Anarchy

(AKA Unlimited Trees: Rebooted)

Requires: Harmony 2.0.x ported over to Cities Skylines by Bofomer -- Github
Requires: MoveIt by Quboid -- Github

TreeAnarchy is a reboot of the original Unlimited Trees Mod with focus on performance and added functionality of tree random rotation and tree snapping.

This mod is a complete rewrite, taking out bloats, fixing bugs and streamlining the serialization process. The concept is almost the same, and I wouldn't have been able to write this code this fast without the original Unlimited Trees mod creators. Thanks to Knighth, BloodyPenguin, DRen72.

This mod is currently BETA, with the following functions:

  • Support for more than 262144 trees
  • Support Tree Snapping with functionality just like Prop Snapping
  • Support for tree resizing by pressing hotkeys
  • Support for random tree rotation
  • Lock Forestry (especially useful if you want to control where forestry resources are created)
  • Performance tuning to attempt to increase fps to support more trees

This mod fixes a couple issues that existed in the old unlimited trees mod:

  • When enabling the old Unlimited Trees mod, forestry resources could not be created. This mod fixes that issue.
  • In the old Unlimited Trees mod, the core framework of rendering trees were detoured, and was never updated to reflect the current status of the game for 3 years. This caused poor rendering performance of trees.
  • Trees would appear below the terrain if tree assets are missing when loading a map with more than 262144 trees. This is due to the old mod never associating its infoindex with PrefabCollection.
  • Old mod was not friendly with ULOD due to its use of detours.

Reasons for including random tree rotation, lock forestry and tree snapping in to this mod:

  • This mod utilizes the default in-game fixed height variable to realize tree snapping behavior, thus removes the random bugs of trees flying in the old tree snapping mod, when used with the old unlimited trees mod.
  • Tree Movement Control and Random Tree Rotation mods both utilize Eular calculation in the function that renders all trees on the map. This causes the rendering of each tree to increase approximately 0.03ms per tree on my computer, and if you have lots of trees in your camera view, the rendering time will increase drastically reducing your FPS. I implemented a different framework for random tree rotation effect so that FPS would not be hit when rotating trees.

This mod is incompatible with the following mods:

  • All previous versions of Unlimited Trees and Unlimited Trees: Revisited mods.
  • Tree Snapping mod

The following mods can be used along with this mod, but is not recommended:

  • Tree Movement Control and Random Tree Rotation mod. Both these mods will override the effects rotation effect of this mod.

This mod requires:

  • MoveIt mod
  • Harmony

I need supporters/volunteers to help debug/code to make this mod even better. If you want to contribute, please contact me anytime.

Anyways, these codes are open to the public, as its a hobby of mine. If you wish to contribute to the codes, please join in.

IMPORTANT!! As always, create a new save!!! This mod creates a new version of saved datas. Original mod formats loading are supported, but then are saved into the new format.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.