neitsa / preparelanding Goto Github PK
View Code? Open in Web Editor NEWPrepareLanding: a Rimworld Mod
License: MIT License
PrepareLanding: a Rimworld Mod
License: MIT License
When highlighting tiles on the world map, many warning (not error) are added to the log:
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Finalizing mesh which is already finalized. Did you forget to call Clear()?
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Finalizing mesh which is already finalized. Did you forget to call Clear()?
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Finalizing mesh which is already finalized. Did you forget to call Clear()?
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Finalizing mesh which is already finalized. Did you forget to call Clear()?
This come from the FinalizeMesh call: the call should not be on the whole mesh (which already has finalized submeshes) but only on the current submesh.
fix:
subMesh.FinalizeMesh(MeshParts.All); // rather than FinalizeMesh(MeshParts.All);
TODO for A18; PL v6.0.1
Clicking on the reset button at the bottom of the main window doesn't reset the use field of usable numeric items (e.g. "Current Movement Time").
repro: on "Current Movement Time", click on the use field, then click on "reset filters" button: the field is still in use.
Would you mind to update it for 1.2?
From user faltonico on Ludeon forum
But as a suggestion maybe instead of outright disabling the possibility, how about making a time check? if it takes too long to filter a set of variables just stop the operation and throw the reason and the ways to fix it.
Possible action: Make the tile filters async and set a maximum time allowed to filter tiles on the world map. If the time limit is exceeded, stop filtering and tell the user that filtering is taking too much time.
As title say.
Suggestion by Oblitus in Rimworld forum.
Also, suggestion: do not reset filters when returning from map to map generation settings. It is probably because a picky player found nothing fitting and want to make a new map.
First of all, thank you for creating this mod for Rimworld! It's been an absolute game-changer due to the level of QoL improvement it brings. That said, I have a small wishlist of enhancements/feature requests that I'd like to bring up, as well as the reasoning behind each change. Sorry in advance for the wall of text!
More Customizable Stone Type Range (Enhancement)
I've been using the configurable maps mod for a while, which allows you to alter the minimum/maximum amount of stone types that can spawn on each map. Unfortunately, your mod limits the input to 2-3, while the configurable maps mod can go down to one or up to all types. I recognize that technically this conflict can be circumvented by using the type filter instead of the number filter, but it's just something you may want to consider for users with heavier mod lists.
Hemisphere Selection (Feature Request)
This might just be me, but as someone who lives in the northern hemisphere in real life, I always find it less attractive to spend the extra tiny bit of time adjusting to the inverted seasons of the southern hemisphere. I noticed you have the time zone selector (which I'm assuming is coordinate based), would it be possible to extend the functionality of this to create a hemisphere selector?
Modded Special Features (Feature Request)
I'm not sure how difficult or even possible this would be (without mod authors creating compatibility themselves), but some mods, such as the coastlines mod, add new special features to the game. Would it be possible to extend the special features filter to include ones introduced by mods?
Civilization Proximity Filter (Feature Request)
Let me preface this feature request by saying that this would be a larger and more complex feature, and could possibly require its own tab should you choose to include it (if there aren't any technical limitations to prevent creating it in the first place!). Currently you have the ability to filter by world feature, which made me think -- what about proximity to factions? Some filters that could fall under this feature are as follows:
The only downside to this that I can immediately think of is the increase in required processing, leading to potentially longer load times. If the processing time is too large, it could be implemented with a warning similar to what Tynan did with world and map sizes, indicating that load times could be dramatically increased by using this feature.
That's all that I have for now! Thank you again for creating and maintaining this mod. It's been a pleasure to have the privilege of using it!
Hey,
that might be intended, but it would be super nice if the god mode tab would also work outside of the initial deployment on a world.
That would allow to edit other tiles you may want to move to, or even just fix that seemingly vanilla bug where stone types on your map at some point after generation just randomly change to something else and when using the deep drill you get a stone that hasn't been on the map when it was generated. Currently I need to use the overcomplex World Edit 2.0 to fix that.
Currently the god mode tab only appears when developer mode and god mode are turned on and you are in the initial deployment screen from creating a world. Later on when going onto the map, the tab simply doesn't appear anymore.
Simply put, check if it's possible to let user define their own tile(s).
This was requested a number of times. I already thought about it, but the "filter" thing has my preference due to the intrinsic randomness of the world map.
One possible problem is the temperature of a tile which seems to be directly linked with its location (latitude) on the world map... Gonna need to investigate this.
edit Current status:
When generating a wet world (i.e. with the "Overall rainfall" slider toward High), it is possible to generate tiles that receive more than 5000mm of rainfall. Because the rainfall filter accepts a maximum value of 5000mm, tiles with more than 5000mm of rainfall cannot be included in results using the rainfall filter.
Steps to reproduce:
I've also attached a screenshot of the Rainfall section of a World Info tab showing maximum rainfall for the world greater than 5000mm.
Bug report by Oblitus on Rimworld forum.
Long story short, the mod seems to be very nonfunctional these days, either being unable to populate the list of filtered tiles (highlighting still works) or returning 0 results even when it shows that there would be >6k matches. It also breaks if you try to run it without the biome check enabled for worlds above 50% size, and Impassable toggle must be reset every time you start a new world and try to filter
Most of this is chronicled in the steam workshop page's comments probably, just thought I'd bring it up here
There's a bug in v0.5 when loading a save and clicking on the "world" button. This is due to the fact that the events that tells the mod that the world was generated don't work properly.
Added a new harmony patch that tells the Mod that the world was generated (this introduced a side effect that some Materials and Texture2D were generated on another thread than the main thread...). Everything should work correctly now.
Fixed yesterday evening; going to push v0.5.1 as a hotfix.
Reported by user elwooha6 on steam:
I have a bug to report. When using the Wide Rivers mod here on steam the list of river filters is larger than default and causes the selection buttons to be partially covered by the scrollbar. Thought you'd like to know.
Link to the mod
http://steamcommunity.com/sharedfiles/filedetails/?id=1122089444
Similar to #6 , need to check if it applies to all these kind of filters.
In LoadPreset
_gameData.UserData.ChosenAnimalsCanGrazeNowState = LoadThreeState(xTemperature, "AnimalsCanGrazeNow")
Note the root element as xTemperature
In SavePreset
SaveThreeState(xTerrainFilters, "AnimalsCanGrazeNow", _gameData.UserData.ChosenAnimalsCanGrazeNowState);
Note the root element as xTerrainFilters
So, the load and save code uses two different root elements, which means this preset can not be loaded properly....
TODO: choose the same root element for both of them!
From steam user WorkingClassHero:
Great mod, my only suggestion is to add "categorical" filters for rivers and roads, i.e. "must/must not have road/river" regardless of type. I like maps with both a river and a road, but I don't care much what size they are.
From user Janz on steam:
I'm getting a bug, in which setting ancient highways to [Must have] and other roads to [Partial]
consistently results in all road tiles being selected, instead of the intended all highways but
also highway intersections with other road types. Is this intended behavior?
(Asked for a bug repro); Answer:
@neitsa Here ya go! I've included three cases.
World Seed "goldfish"; 100% coverage; rainfall/temp sliders on Normal.
CASE ONE Filter Settings:
Biome = Desert
Terrain = Flat
Dirt Path = GREEN
Dirt Road = GREEN
Stone Road = GREEN
Ancient Road = GREEN
Ancient Highway = GREEN
(with all road types as "must have," this seems like it should only highlight tiles that contain every road type simultaneously, which none will ever do)
- Tile IDs that should be highlighted but are not:
N/A (none should be highlighted)
- Tile IDs that are highlighted but should not be:
6198 (Ancient Highway)
131958 (Stone Road)
179330 (Dirt Path)
551159 (Ancient Highway + Stone Road)
234015 (Ancient Highway + Stone Road)
551130 (Ancient Highway + Dirt Path)
CASE TWO Filter Settings:
Biome = Desert
Terrain = Flat
Dirt Path = RED
Dirt Road = RED
Stone Road = RED
Ancient Road = RED
Ancient Highway = GREEN
(this seems like it should highlight tiles that ONLY contain ancient highways and exclude tiles containing ancient highways but also another road type)
- Tile IDs that should be highlighted but are not:
<operates as expected>
- Tile IDs that are highlighted but should not be:
<operates as expected>
CASE THREE Filter Settings:
Biome = Desert
Terrain = Flat
Dirt Path = YELLOW
Dirt Road = YELLOW
Stone Road = YELLOW
Ancient Road = YELLOW
Ancient Highway = GREEN
(with ancient highways as "must have," this seems like it should only highlight tiles that contain ancient highways, regardless of whether they also contain another road type)
- Tile IDs that should be highlighted but are not:
N/A
- Tile IDs that are highlighted but should not be:
131958 (Stone Road)
179330 (Dirt Path)
e.g. Tiles with caves.
From RimWorld forum, request by Oblitus
Can you add "only two stone types" filter?
Request from Barky (link to YT video) and users on Steam. The idea would be to be able to filter least / most features for a tile, e.g: tiles with the coldest / hottest temp, tiles with the most / least rainfall, etc.
From Zapleek user on steam:
I think a good additional feature for this mod would be a max/min temperature tile finder. Sometimes, I decide I want to enjoy digital suffering, so I set the temperature to either minimum or maximum on world generation, and then try to find the coldest or hottest tile on that world. I think it would be useful for this mod to be able to look through each tiles temperature, and highlight the tile or tiles with the coldest or hottest temperature on the world.
I might add this feature request either on map overlay or on the tile filter directly... Looking for a v0.6 release probably.
Remove the code that fixed a bug in Verse.Widgets.TextFieldNumericLabeled<T>
(details here.
I had to add a lot of code to fix this bug, but it is no more needed: the bug was reported for A17 and was fixed in B18.
Remove the code in the mod and use RimWorld instead. Less code, less bugs \o/
The tile highlighter is sometimes slow as hell: the problem being that it relies on Update
while it should rely on game ticks , but game ticks are not available during the "Select Landing site" phase of the game (they are only running during the play state, which starts when the colony itself is running).
Proposal would be:
Received numerous requests for translation files. It's currently undergoing. As of now the files are in a separate branch (files here) which will be merged onto develop and then master when it's done.
E.T.A expected before end of May 2018.
Current status:
Add world map overlays for various features (temperature, rainfall, etc.); I need to rework the tile highlighter (see issue #11) to support a greater number of tiles before that.
Once I have a favorite set of filters set up, I'd like the mod to remember them.
Hi! I want to filter tiles with any coastal.
Now it seems i can filter only ocean coastals with "yes coastal ocean AND ~ coastal lake" or
or filter only lake coastals with "~ coastal ocean AND yes coastal lake".
If i check both ocean and lake coastal it will show tiles which connected to both ocean and lake.
I want to set filter "yes coastal ocean OR yes coastal lake". Or just one check box to filter tiles with any coastal.
I did not found difference between oceans and lakes anyway.
Thank You!
From Rimworld forum, by Sixdd:
I did notice that if you have several filter operations run the World
Info tab output box doesn't extend down, the scrollbar works but the
text area is too short/doesn't grow.
Two log strings might contains the user name of the current logged in user (as the preset folder is, by default, in the user folder which bears the current logged in user name).
Redact it away from the log file.
Would love to be able to select a few biome types or terrain types? Similar to how the rivers and roads options work. Thanks
Warning appears right after loading, in the main menu. No other mods used, apart from dependencies.
[HugsLib][warn] Missing enum setting labels for enum UnityEngine.KeyCode
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Warning (string)
HugsLib.Utils.ModLogger:Warning (string,object[])
HugsLib.Settings.ModSettingsPack:GetHandle<UnityEngine.KeyCode> (string,string,string,UnityEngine.KeyCode,HugsLib.Settings.SettingHandle/ValueIsValid,string)
PrepareLanding.GameOptions:OnDefLoaded ()
PrepareLanding.RimWorldEventHandler:OnDefsLoaded ()
PrepareLanding.PrepareLanding:DefsLoaded ()
HugsLib.HugsLibController:OnDefsLoaded ()
HugsLib.HugsLibController:LoadReloadInitialize ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()
Since the update to 1.1, when the mod is active, each faction only spawns a single colony on the world map, resulting in a quite empy world.
It seems that the bottom buttons on the Prepare Landing window are not visible if the game resolution is less than or equal to 1280 * 720.
I apologize if this has been brought up elsewhere, I skimmed through and didn't see anything mentioning this. For awhile now, the UI window for this hasn't been showing when starting a new colony, but I know we can hit P (default) to open it.
However, it IS showing when going to the World Map with already established colonies. This is mildly irritating for me, as I'd rather NOT have it showing there. If I need it (if I'm moving my colony to a new area, for example) I can just hit P again to open it.
If there's a way to edit a config file for this, I haven't found it. Is it possible to "fix" this? As I said, it's only a mild irritation, but would be nice to have fixed.
When filtering for Roads or Rivers, I should be able to say to either (or both): "I want one, but I don't care what kind." To me, that logically translates to (river type 1) OR (river type 2) OR ...
; which in turn should be clicking ALL
and then setting the join to OR
. Yet this filter always fails for either roads or rivers.
I also doubled checked said tiles existed in my search results under a number of conditions, and confirmed there were in fact roads in those tilesets. Same error:
Starting filtering with: 164409 tiles.
Filtering Biomes: 9466 tiles found.
"Biomes" filter ran in:: 00:00:00.0022518.
Filtering Terrains: 1101 tiles found.
"Terrains" filter ran in:: 00:00:00.0002149.
Filtering Rivers: this filter resulted in 0 matching tiles (in conjunction with the previous 2 filters) Maybe the filtering was a little bit too harsh?
This persists when adding additional filters (like stone type or growing season), but that's the simplest version. I tested on a map with 50% coverage, so I always had a Biome and Terrain set.
I know the filters have compatibility with Geological Landforms and would love to see an added filter for Biome Transitions. Perhaps it would be easier to implement a simple check if the bordering tile is of a different biome than the one being filtered, rather than having an entirely separate filter where you could search for the different biome of the adjacent tile. Either way I'm no programmer so I thank you for your work and hope to see further improvements to this already essential mod.
From user ebonite
on steam:
First, let me say "Thank you!" for this mod. It makes getting into a game so much quicker!
So I don't know if this is a bug or an oversight, but it appears that the Stone Type
filtering process is rigidly stone order dependent.
What I have found is that selecting Granite and Marble as ON and Slate as MAYBE, [PL] will
show me tiles that have Stone Types of:
Granite and Marble,
or Granite, Marble and Slate,
but not tiles with:
Granite, Slate and Marble,
Marble and Granite,
Marble, Granite and Slate,
Marble, Slate and Granite,
Slate, Marble and Granite,
or Slate, Granite, and Marble
I noticed when I missed a filtered tile and clicked on it's neighbor that had Marble, Granite and
Slate as its Stone Types and wondered why it didn't come up in the filter.
This filter seems to be used even when not specifically asked for. There might also be some quirks about preset saves.
From steam comments [user QuakeIV]:
I have been tyring to filter for extreme-cold conditions, and it will kill off all of the tiles it finds with a 'can graze now' filter. I cannot find or disable this filer, please help?
2nd comment:
Uh, quick updoot, it seems to work fine except when saving and loading. (if you save then the same issues manifest as if you had loaded). Coastal tiles goes from ~ to being checked when you save or load a profile for cold weathers, and then it will check for 'cangrazenow' and generally remove all of the results.
In other words, its usable for finding super cold embarks, but not with the save profiles.
From steam user Ozymandias:
Regarding coastal tiles with saved presets: I can't say if it's not saved properly, or if the default value isn't properly initialized, but adding the filter (from the easy_start example) in the XML with state Partial works.
As for the hidden AnimalsCanGrazeNow filter, I don't know what to do in order to keep all tiles (I usually end up with only 1 to 3 tiles), and removing the filter from the XML doesn't prevent the filtering. Since changing the starting season, in the advanced menu of the world gen, will change the 'can graze' state (and thus the number of filtered tiles), maybe this filter should be removed altogether.
From Rimworld forum, by Sebastian Cigar:
"An error occured. Please see the "World Info" tab for an error description"
^ Ah, there we go, solved. The World info tab provides the output for terrain filtering attempts even if 0 were found. It's just that the "error" part of the message made me think it was a mod conflict or whatever. One might find this mod tricky to use if they're hungover ;D
New from A18; TODO in next release
The mod is incompatible with Rimworld 1.1. Starting the latest 1.1 version of the game with PrepareLanding active in my mod list resulted in this error message:
Recovered from incompatible or corrupted mod errors
It seems that some of the active mods were causing errors.
They were incompatible with each other, designed for a different version of Rimworld, or corrupted.
All mods have been disabled and can be activated again in the mods dialog.
Starting the game with only HugsLib 1.1 and PrepareLanding active (after the game's own Core and Royalty files) resulted in the same message as the previous try.
I also tried to start the game with just PrepareLanding and no HugsLib and received the following messages in the Debug log:
RimWorld 1.1.2558 rev1000
Verse.Log:Message(String, Boolean)
RimWorld.VersionControl:LogVersionNumber()
Verse.Root:CheckGlobalInit()
Verse.Root:Start()
Verse.Root_Entry:Start()
ReflectionTypeLoadException getting types in assembly PrepareLanding: System.Reflection.ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <567df3e0919241ba98db88bec4c6696f>:0
at Verse.ModAssemblyHandler.AssemblyIsUsable (System.Reflection.Assembly asm) [0x00000] in <33b99ab6cf5748ec8fe371b3321b9db6>:0
Loader exceptions:
=> System.TypeLoadException: Could not resolve type with token 0100003a (from typeref, class/assembly HugsLib.ModBase, HugsLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)
Verse.Log:Error(String, Boolean)
Verse.ModAssemblyHandler:AssemblyIsUsable(Assembly)
Verse.ModAssemblyHandler:ReloadAll()
Verse.ModContentPack:ReloadContent()
Verse.LoadedModManager:LoadModContent()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.<>c:b__6_1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.<>c:b__27_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()
Could not find a type named PrepareLanding.Defs.MainButtonWorkerToggleWorld
Verse.Log:Error(String, Boolean)
Verse.ParseHelper:ParseType(String)
Verse.ParseHelper:FromString(String)
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean)
Verse.DirectXmlToObject:ObjectFromXmlReflection(XmlNode, Boolean)
Verse.DirectXmlToObject:ObjectFromXml(XmlNode, Boolean)
Verse.DirectXmlToObject:ObjectFromXmlReflection(XmlNode, Boolean)
Verse.DirectXmlLoader:DefFromNode(XmlNode, LoadableXmlAsset)
Verse.LoadedModManager:ParseAndProcessXML(XmlDocument, Dictionary`2)
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.<>c:b__6_1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.<>c:b__27_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()
I tried to generate a world with the mod still active anyway. There were no additional options like specific world size percentages in the Create world page. Clicking "Generate" with the standard settings and a random seed gave me a loading screen but sent me back to the Create world page when finished loading. I tried to click back to get to the main menu but after clicking back on the Choose AI storyteller page I was sent to a view of the newly generated planet but I could not click anything or find a way to return the main menu and so was forced to Alt + F4 to close the game.
I had it in my TODO list but this was also requested.
From steam user lord_yuba:
Will it be possible to add min/max distance to closest faction colony? Or min/max number of colonies in set range?
O.S: Windows 10 10.0.19042 Build 19042 64Bit
RimWorld: 1.3.3071
Problem:
Likely a mod incompatibility but I'm not sure which. The conflict prevents the Generate button on the Create World window to work, and the error " Exception filling window for RimWorld.Page_CreateWorldParams: System.NullReferenceException: Object reference not set to an instance of an object" pops up. Expanding the error provides the following:
Exception filling window for RimWorld.Page_CreateWorldParams: System.NullReferenceException: Object reference not set to an instance of an object
at PrepareLanding.Patches.PatchCreateWorldParams.Page_CreateWorldParams_CanDoNext (RimWorld.Page_CreateWorldParams& __instance, System.Boolean& __result) [0x0000f] in <2be508a0fde846de982dba70c01c797b>:0
at (wrapper dynamic-method) RimWorld.Page_CreateWorldParams.RimWorld.Page_CreateWorldParams.CanDoNext_Patch1(RimWorld.Page_CreateWorldParams)
at RimWorld.Page.DoBottomButtons (UnityEngine.Rect rect, System.String nextLabel, System.String midLabel, System.Action midAct, System.Boolean showNext, System.Boolean doNextOnKeypress) [0x000e0] in <d89f3c80243544d4a2243b44d67a34bc>:0
at RimWorld.Page_CreateWorldParams.DoWindowContents (UnityEngine.Rect rect) [0x004d4] in <d89f3c80243544d4a2243b44d67a34bc>:0
at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x001ce] in <d89f3c80243544d4a2243b44d67a34bc>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)
Reproduction steps:
Mod Manager (unofficial) mod is installed, link to the modlist string provided below.
Logs:
Player.log
Installed Mods:
Link
Hey,
mod author of https://steamcommunity.com/sharedfiles/filedetails/?id=2791768296 states that there is an incompatibility between their mod and Prepare Landing that they tried to fix, but would require your input. It would be really cool if both great mods could be used together.
B18 now shows in which direction the coast will be for coastal tiles. Do a filter on that.
Rimworld B19
I'm getting an error every time I open the map during a game. It happens each time, not just once.
I imagine there is no PrepareLanding instance since there is no landing to prepare.
Root level exception in OnGUI(): System.NullReferenceException: Object reference not set to an instance of an object
at PrepareLanding.Defs.MainButtonWorkerToggleWorld.Activate () [0x00000] in :0
at RimWorld.MainButtonWorker.InterfaceTryActivate () [0x00000] in :0
at RimWorld.MainButtonWorker.DoButton (Rect rect) [0x00000] in :0
at RimWorld.MainButtonsRoot.DoButtons () [0x00000] in :0
at RimWorld.MainButtonsRoot.MainButtonsOnGUI () [0x00000] in :0
at RimWorld.UIRoot_Play.UIRootOnGUI () [0x00000] in :0
at Verse.Root.OnGUI () [0x00000] in :0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.