Compare commits
@@ -414,3 +414,7 @@ FodyWeavers.xsd
|
|||||||
# Built Visual Studio Code Extensions
|
# Built Visual Studio Code Extensions
|
||||||
*.vsix
|
*.vsix
|
||||||
|
|
||||||
|
|
||||||
|
# LittleSim
|
||||||
|
Cache/
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"editor.defaultFormatter": "csharpier.csharpier-vscode",
|
||||||
|
"editor.formatOnPaste": true,
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
}
|
||||||
@@ -4,16 +4,28 @@ A god-game: minimal graphics, deep simulation. Built on the **mrgameeng** engine
|
|||||||
(MonoGame + Friflo ECS), vendored as the git submodule `engine/` so the game and the
|
(MonoGame + Friflo ECS), vendored as the git submodule `engine/` so the game and the
|
||||||
engine are developed side by side in one editor window.
|
engine are developed side by side in one editor window.
|
||||||
|
|
||||||
|
This game is also the **engine's showcase**: mrgameeng has no sample project, so every
|
||||||
|
new engine feature gets demonstrated here (a scene, a console command, or a system
|
||||||
|
using it) as part of landing the feature.
|
||||||
|
|
||||||
Game design docs live in `docs/` and are written in **Russian**. Engine rules live in
|
Game design docs live in `docs/` and are written in **Russian**. Engine rules live in
|
||||||
`engine/CLAUDE.md` — read it before touching engine code; both rule sets apply here.
|
`engine/CLAUDE.md` — read it before touching engine code; both rule sets apply here.
|
||||||
|
|
||||||
## Layout
|
## Layout
|
||||||
|
|
||||||
```
|
```
|
||||||
engine/ mrgameeng git submodule (own repo, own CLAUDE.md)
|
engine/ mrgameeng git submodule (own repo, own CLAUDE.md)
|
||||||
src/LittleSim the game (net8.0); references engine projects directly
|
src/LittleSim the game (net8.0); references engine projects directly
|
||||||
docs/ концепт, симуляция, roadmap (Russian)
|
src/LittleSim.Server dedicated server: the world headless (engine HeadlessHost) +
|
||||||
LittleSim.sln game + engine sources + engine tests — one window for everything
|
WebSocket replication (MrGameEng.Net); also fast-forward and probe modes
|
||||||
|
src/LittleSim.Web browser client (Blazor WASM + KNI/WebGL): connects to the dedicated
|
||||||
|
server, renders replicated pawns; mirrors the net contract (NetContract.cs)
|
||||||
|
because KNI and DesktopGL assemblies can't mix — keep in sync with
|
||||||
|
src/LittleSim/Net/NetSchema.cs. Outside LittleSim.sln's test flow.
|
||||||
|
Mods/Core the game's own content as a mod: About, Defs, Languages, Textures
|
||||||
|
Cache/ runtime-built atlases (gitignored)
|
||||||
|
docs/ концепт, симуляция, моды, roadmap (Russian)
|
||||||
|
LittleSim.sln game + engine sources + engine tests — one window for everything
|
||||||
```
|
```
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
@@ -22,9 +34,28 @@ LittleSim.sln game + engine sources + engine tests — one window for everythin
|
|||||||
git submodule update --init # after fresh clone
|
git submodule update --init # after fresh clone
|
||||||
dotnet build LittleSim.sln
|
dotnet build LittleSim.sln
|
||||||
dotnet run --project src/LittleSim -c Release # measure perf in Release only
|
dotnet run --project src/LittleSim -c Release # measure perf in Release only
|
||||||
|
dotnet run --project src/LittleSim.Server -- --days 10 --tps 60 # headless fast-forward
|
||||||
|
dotnet run --project src/LittleSim.Server -- --listen # multiplayer world (WebSocket)
|
||||||
|
dotnet run --project src/LittleSim -- --connect # client → ws://localhost:9050
|
||||||
|
dotnet run --project src/LittleSim.Server -- --probe # CLI check of a running server
|
||||||
|
dotnet run --project src/LittleSim.Web # browser client (?server=ws://…)
|
||||||
dotnet test LittleSim.sln # runs the engine test suites
|
dotnet test LittleSim.sln # runs the engine test suites
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Content and mods
|
||||||
|
|
||||||
|
All game content is data in mods (`MrGameEng.Mods`): the game itself ships as the
|
||||||
|
`Core` mod. `Mods/Core/Defs` holds JSON defs (terrain, plants, pawns — see
|
||||||
|
`docs/mods.md`), `Mods/Core/Languages/{ru,en}` holds UI strings (default language is
|
||||||
|
`ru`), `Mods/Core/Textures` holds source images. New mechanics get defs + localization
|
||||||
|
keys, not hardcoded arrays; UI strings go through `LanguageManager`, never inline.
|
||||||
|
|
||||||
|
Atlases are built **at game start** from the merged texture tree of all active mods
|
||||||
|
into `Cache/Atlases` (incremental: unchanged groups are skipped, a clean first run
|
||||||
|
takes ~20 s). Region keys are paths relative to `Textures/` without extension:
|
||||||
|
`atlases.GetRegion(device, "things/plant/treeoak/TreeOakA")`. Console commands:
|
||||||
|
`mods`, `lang [code]`, `defs [type]`, `atlas [name]`.
|
||||||
|
|
||||||
## Submodule workflow
|
## Submodule workflow
|
||||||
|
|
||||||
Engine changes are committed **inside `engine/` first** (engine repo, its commit style),
|
Engine changes are committed **inside `engine/` first** (engine repo, its commit style),
|
||||||
@@ -40,4 +71,10 @@ Never commit a pointer to an unpushed engine commit.
|
|||||||
- Simulation/presentation split: simulation systems mutate components only;
|
- Simulation/presentation split: simulation systems mutate components only;
|
||||||
rendering reads them. No draw calls or UI from simulation systems.
|
rendering reads them. No draw calls or UI from simulation systems.
|
||||||
- ECS-first per the engine: plain `struct : IComponent` data, logic in systems.
|
- ECS-first per the engine: plain `struct : IComponent` data, logic in systems.
|
||||||
|
- Content as data: numbers, textures and balance live in `Mods/Core/Defs`, user-facing
|
||||||
|
strings in `Mods/Core/Languages` — code only defines systems and def classes.
|
||||||
- Every new mechanic gets a dev-console command for testing (`regen`, `timescale`, …).
|
- Every new mechanic gets a dev-console command for testing (`regen`, `timescale`, …).
|
||||||
|
- Formatting: all C# code is formatted with **CSharpier** (`editor.defaultFormatter`
|
||||||
|
is `csharpier.csharpier-vscode`, format-on-save is on). Match CSharpier's output —
|
||||||
|
run `csharpier format .` (or let format-on-save handle it) before committing; never
|
||||||
|
hand-format against it.
|
||||||
|
|||||||
@@ -15,16 +15,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Core", "engine\sr
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Graphics", "engine\src\MrGameEng.Graphics\MrGameEng.Graphics.csproj", "{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Graphics", "engine\src\MrGameEng.Graphics\MrGameEng.Graphics.csproj", "{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Input", "engine\src\MrGameEng.Input\MrGameEng.Input.csproj", "{7D7E001D-72ED-4204-94D5-B8A0F706D544}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Audio", "engine\src\MrGameEng.Audio\MrGameEng.Audio.csproj", "{A2620CBF-3404-4583-AD55-FCC8A704BD9A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Audio", "engine\src\MrGameEng.Audio\MrGameEng.Audio.csproj", "{A2620CBF-3404-4583-AD55-FCC8A704BD9A}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Assets", "engine\src\MrGameEng.Assets\MrGameEng.Assets.csproj", "{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.UI", "engine\src\MrGameEng.UI\MrGameEng.UI.csproj", "{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.UI", "engine\src\MrGameEng.UI\MrGameEng.UI.csproj", "{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.DevConsole", "engine\src\MrGameEng.DevConsole\MrGameEng.DevConsole.csproj", "{0C370DCA-18AB-4A79-9C60-BE00E7A57180}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Assets.Generator", "engine\src\MrGameEng.Assets.Generator\MrGameEng.Assets.Generator.csproj", "{BA456A86-0960-45C3-B48E-5882D7A3873F}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Assets.Generator", "engine\src\MrGameEng.Assets.Generator\MrGameEng.Assets.Generator.csproj", "{BA456A86-0960-45C3-B48E-5882D7A3873F}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{CD3B5CE5-C23F-38B4-04AA-A303F94731A5}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{CD3B5CE5-C23F-38B4-04AA-A303F94731A5}"
|
||||||
@@ -33,11 +27,31 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Assets.Generator.
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Core.Tests", "engine\tests\MrGameEng.Core.Tests\MrGameEng.Core.Tests.csproj", "{2994C301-DFD3-48D1-B44C-F01ED28FBE93}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Core.Tests", "engine\tests\MrGameEng.Core.Tests\MrGameEng.Core.Tests.csproj", "{2994C301-DFD3-48D1-B44C-F01ED28FBE93}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.DevConsole.Tests", "engine\tests\MrGameEng.DevConsole.Tests\MrGameEng.DevConsole.Tests.csproj", "{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}"
|
|
||||||
EndProject
|
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Graphics.Tests", "engine\tests\MrGameEng.Graphics.Tests\MrGameEng.Graphics.Tests.csproj", "{21B1878F-2532-4D48-95DD-1C7268DCF1D5}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Graphics.Tests", "engine\tests\MrGameEng.Graphics.Tests\MrGameEng.Graphics.Tests.csproj", "{21B1878F-2532-4D48-95DD-1C7268DCF1D5}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Input.Tests", "engine\tests\MrGameEng.Input.Tests\MrGameEng.Input.Tests.csproj", "{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Content", "engine\src\MrGameEng.Content\MrGameEng.Content.csproj", "{EC5504F5-483B-4197-AA19-E8FD710583F4}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Simulation", "engine\src\MrGameEng.Simulation\MrGameEng.Simulation.csproj", "{9E653B28-0060-46DA-84D0-DA8655B07AF6}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Content.Tests", "engine\tests\MrGameEng.Content.Tests\MrGameEng.Content.Tests.csproj", "{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Simulation.Tests", "engine\tests\MrGameEng.Simulation.Tests\MrGameEng.Simulation.Tests.csproj", "{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.UI.Tests", "engine\tests\MrGameEng.UI.Tests\MrGameEng.UI.Tests.csproj", "{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Audio.Tests", "engine\tests\MrGameEng.Audio.Tests\MrGameEng.Audio.Tests.csproj", "{E0E37D87-4F62-41E9-9CD1-3E7432301508}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Host", "engine\src\MrGameEng.Host\MrGameEng.Host.csproj", "{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Host.Tests", "engine\tests\MrGameEng.Host.Tests\MrGameEng.Host.Tests.csproj", "{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Net", "engine\src\MrGameEng.Net\MrGameEng.Net.csproj", "{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MrGameEng.Net.Tests", "engine\tests\MrGameEng.Net.Tests\MrGameEng.Net.Tests.csproj", "{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LittleSim.Server", "src\LittleSim.Server\LittleSim.Server.csproj", "{95630217-333B-4263-84AE-5EE5961FC307}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LittleSim.Web", "src\LittleSim.Web\LittleSim.Web.csproj", "{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@@ -85,18 +99,6 @@ Global
|
|||||||
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}.Release|x64.Build.0 = Release|Any CPU
|
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}.Release|x86.ActiveCfg = Release|Any CPU
|
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}.Release|x86.Build.0 = Release|Any CPU
|
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Debug|x64.Build.0 = Debug|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
@@ -109,18 +111,6 @@ Global
|
|||||||
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Release|x64.Build.0 = Release|Any CPU
|
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Release|x86.ActiveCfg = Release|Any CPU
|
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Release|x86.Build.0 = Release|Any CPU
|
{A2620CBF-3404-4583-AD55-FCC8A704BD9A}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Debug|x64.Build.0 = Debug|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
@@ -133,18 +123,6 @@ Global
|
|||||||
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Release|x64.Build.0 = Release|Any CPU
|
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Release|x86.ActiveCfg = Release|Any CPU
|
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Release|x86.Build.0 = Release|Any CPU
|
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Debug|x64.Build.0 = Debug|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{BA456A86-0960-45C3-B48E-5882D7A3873F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{BA456A86-0960-45C3-B48E-5882D7A3873F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{BA456A86-0960-45C3-B48E-5882D7A3873F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{BA456A86-0960-45C3-B48E-5882D7A3873F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{BA456A86-0960-45C3-B48E-5882D7A3873F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{BA456A86-0960-45C3-B48E-5882D7A3873F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
@@ -181,18 +159,6 @@ Global
|
|||||||
{2994C301-DFD3-48D1-B44C-F01ED28FBE93}.Release|x64.Build.0 = Release|Any CPU
|
{2994C301-DFD3-48D1-B44C-F01ED28FBE93}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{2994C301-DFD3-48D1-B44C-F01ED28FBE93}.Release|x86.ActiveCfg = Release|Any CPU
|
{2994C301-DFD3-48D1-B44C-F01ED28FBE93}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{2994C301-DFD3-48D1-B44C-F01ED28FBE93}.Release|x86.Build.0 = Release|Any CPU
|
{2994C301-DFD3-48D1-B44C-F01ED28FBE93}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Debug|x64.Build.0 = Debug|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Debug|x86.Build.0 = Debug|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Release|x64.ActiveCfg = Release|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Release|x64.Build.0 = Release|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Release|x86.ActiveCfg = Release|Any CPU
|
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C}.Release|x86.Build.0 = Release|Any CPU
|
|
||||||
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
@@ -205,18 +171,150 @@ Global
|
|||||||
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Release|x64.Build.0 = Release|Any CPU
|
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Release|x86.ActiveCfg = Release|Any CPU
|
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Release|x86.Build.0 = Release|Any CPU
|
{21B1878F-2532-4D48-95DD-1C7268DCF1D5}.Release|x86.Build.0 = Release|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Debug|x64.Build.0 = Debug|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Debug|x86.Build.0 = Debug|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Release|Any CPU.Build.0 = Release|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Release|x64.ActiveCfg = Release|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Release|x64.Build.0 = Release|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Release|x86.ActiveCfg = Release|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4}.Release|x86.Build.0 = Release|Any CPU
|
{EC5504F5-483B-4197-AA19-E8FD710583F4}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14}.Release|x86.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
@@ -226,17 +324,24 @@ Global
|
|||||||
{F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519} = {D585295F-7994-3649-1065-7AA403C41681}
|
{F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519} = {D585295F-7994-3649-1065-7AA403C41681}
|
||||||
{FE6C04D3-E619-4C77-A971-1357463676B7} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
{FE6C04D3-E619-4C77-A971-1357463676B7} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
{F35A5F1A-9A1B-4F57-BC81-BF16BC574DED} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
{7D7E001D-72ED-4204-94D5-B8A0F706D544} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
|
||||||
{A2620CBF-3404-4583-AD55-FCC8A704BD9A} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
{A2620CBF-3404-4583-AD55-FCC8A704BD9A} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
{4FCD860B-F8E1-42F5-8A53-EA9AFCCE5A27} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
|
||||||
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
{A90690FB-E3A8-4C92-94E2-33D8E1F27D9D} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
{0C370DCA-18AB-4A79-9C60-BE00E7A57180} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
|
||||||
{BA456A86-0960-45C3-B48E-5882D7A3873F} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
{BA456A86-0960-45C3-B48E-5882D7A3873F} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
{CD3B5CE5-C23F-38B4-04AA-A303F94731A5} = {D585295F-7994-3649-1065-7AA403C41681}
|
{CD3B5CE5-C23F-38B4-04AA-A303F94731A5} = {D585295F-7994-3649-1065-7AA403C41681}
|
||||||
{83548DF5-75BC-45EF-8911-83BE5173CD2D} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
{83548DF5-75BC-45EF-8911-83BE5173CD2D} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
{2994C301-DFD3-48D1-B44C-F01ED28FBE93} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
{2994C301-DFD3-48D1-B44C-F01ED28FBE93} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
{A3C128F7-6CCD-46CD-B935-C30E15EC7E1C} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
|
||||||
{21B1878F-2532-4D48-95DD-1C7268DCF1D5} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
{21B1878F-2532-4D48-95DD-1C7268DCF1D5} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
{E9B94072-798E-4E09-BD9E-1FE6165D7EA4} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
{EC5504F5-483B-4197-AA19-E8FD710583F4} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
|
{9E653B28-0060-46DA-84D0-DA8655B07AF6} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
|
{A09593B2-82BD-468F-AC0C-52B8DEFE8E0F} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
|
{86ECA4A0-46A2-45F4-8CF4-8FB8BB5DC050} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
|
{BC64F7AF-0FC3-4608-A4FF-1273AB8F2ABD} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
|
{E0E37D87-4F62-41E9-9CD1-3E7432301508} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
|
{6EFAFBB4-F11A-42B9-A8AB-B98E735431F6} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
|
{BE18D2E0-B8AD-4632-AA0F-F9C80BE5D83A} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
|
{841EAE51-E86B-4BFB-A70C-A67E4D492DD7} = {F4A69A46-AF86-AB4E-7D23-4CCCB7B9A519}
|
||||||
|
{D66A7D37-A1F1-473D-A5FA-9F121CCCC0CA} = {CD3B5CE5-C23F-38B4-04AA-A303F94731A5}
|
||||||
|
{95630217-333B-4263-84AE-5EE5961FC307} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
|
||||||
|
{1FF0DF78-22E4-4169-A9DC-233FFAEA5B14} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"id": "Core",
|
||||||
|
"name": "LittleSim Core",
|
||||||
|
"author": "mrleo1nid",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Базовый контент LittleSim: рельеф, растения, существа, текстуры и локализация. Игра целиком описана как мод — любой другой мод может переопределить её содержимое.",
|
||||||
|
"dependencies": []
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"type": "Gene",
|
||||||
|
// Организм-агностичные гены: каждый ген задаёт, как генерируются/мутируют аллели и как ген
|
||||||
|
// вкладывается в признаки (effects: имя признака → формула; value — выраженное значение гена).
|
||||||
|
// Этот набор покрывает измерения генома растения (его используют системы роста/жизненного цикла).
|
||||||
|
"defs": [
|
||||||
|
{ "defName": "BaseNumericGene", "abstract": true, "kind": "Numeric",
|
||||||
|
"spread": 0.08, "mutationChance": 0.05, "mutationMagnitude": 0.12 },
|
||||||
|
|
||||||
|
{ "defName": "GeneOptimalLight", "parent": "BaseNumericGene", "label": "gene.optimalLight",
|
||||||
|
"default": 0.6, "min": 0.0, "max": 1.0, "tags": ["environment", "light"],
|
||||||
|
"effects": { "optimalLight": "value" } },
|
||||||
|
{ "defName": "GeneLightTolerance", "parent": "BaseNumericGene", "label": "gene.lightTolerance",
|
||||||
|
"default": 0.5, "min": 0.05, "max": 1.0, "tags": ["environment", "light"],
|
||||||
|
"effects": { "lightTolerance": "value" } },
|
||||||
|
{ "defName": "GeneOptimalTemperature", "parent": "BaseNumericGene", "label": "gene.optimalTemperature",
|
||||||
|
"default": 14, "min": -20, "max": 45, "tags": ["environment", "temperature"],
|
||||||
|
"effects": { "optimalTemperature": "value" } },
|
||||||
|
{ "defName": "GeneTemperatureTolerance", "parent": "BaseNumericGene", "label": "gene.temperatureTolerance",
|
||||||
|
"default": 16, "min": 2, "max": 40, "tags": ["environment", "temperature"],
|
||||||
|
"effects": { "temperatureTolerance": "value" } },
|
||||||
|
{ "defName": "GeneOptimalFertility", "parent": "BaseNumericGene", "label": "gene.optimalFertility",
|
||||||
|
"default": 1.4, "min": 0.1, "max": 3.0, "tags": ["environment", "soil"],
|
||||||
|
"effects": { "optimalFertility": "value" } },
|
||||||
|
{ "defName": "GeneFertilityTolerance", "parent": "BaseNumericGene", "label": "gene.fertilityTolerance",
|
||||||
|
"default": 0.9, "min": 0.1, "max": 3.0, "tags": ["environment", "soil"],
|
||||||
|
"effects": { "fertilityTolerance": "value" } },
|
||||||
|
|
||||||
|
{ "defName": "GeneVigor", "parent": "BaseNumericGene", "label": "gene.vigor",
|
||||||
|
"default": 1.0, "min": 0.1, "max": 3.0, "tags": ["growth"],
|
||||||
|
"effects": { "vigor": "value" } },
|
||||||
|
{ "defName": "GeneLifespan", "parent": "BaseNumericGene", "label": "gene.lifespan",
|
||||||
|
"default": 160, "min": 5, "max": 500, "tags": ["lifecycle"],
|
||||||
|
"effects": { "lifespan": "value" } },
|
||||||
|
{ "defName": "GeneDispersalRange", "parent": "BaseNumericGene", "label": "gene.dispersalRange",
|
||||||
|
"default": 2, "min": 1, "max": 8, "tags": ["lifecycle", "reproduction"],
|
||||||
|
"effects": { "dispersalRange": "value" } },
|
||||||
|
{ "defName": "GeneReproduceInterval", "parent": "BaseNumericGene", "label": "gene.reproduceInterval",
|
||||||
|
"default": 14, "min": 1, "max": 60, "tags": ["lifecycle", "reproduction"],
|
||||||
|
"effects": { "reproduceInterval": "value" } },
|
||||||
|
{ "defName": "GeneSelfPollination", "parent": "BaseNumericGene", "label": "gene.selfPollination",
|
||||||
|
"default": 0.2, "min": 0.0, "max": 1.0, "tags": ["reproduction"],
|
||||||
|
"effects": { "selfPollination": "value" } },
|
||||||
|
{ "defName": "GeneMutationRate", "parent": "BaseNumericGene", "label": "gene.mutationRate",
|
||||||
|
"default": 0.05, "min": 0.0, "max": 1.0, "tags": ["reproduction"],
|
||||||
|
"effects": { "mutationRate": "value" } },
|
||||||
|
|
||||||
|
// --- Контент (фаза G4): плодоношение, добыча, цвет ---
|
||||||
|
{ "defName": "GeneFruitYield", "parent": "BaseNumericGene", "label": "gene.fruitYield",
|
||||||
|
"default": 0, "min": 0, "max": 12, "tags": ["fruiting"],
|
||||||
|
"effects": { "fruitYield": "value" } },
|
||||||
|
{ "defName": "GeneFruitSeason", "parent": "BaseNumericGene", "label": "gene.fruitSeason",
|
||||||
|
"default": 1, "min": 0, "max": 3, "spread": 0, "mutationChance": 0, "tags": ["fruiting"],
|
||||||
|
"effects": { "fruitSeason": "value" } },
|
||||||
|
{ "defName": "GeneHarvestAmount", "parent": "BaseNumericGene", "label": "gene.harvestAmount",
|
||||||
|
"default": 1, "min": 0, "max": 50, "tags": ["harvest"],
|
||||||
|
"effects": { "harvestAmount": "value" } },
|
||||||
|
{ "defName": "GeneLeafHue", "parent": "BaseNumericGene", "label": "gene.leafHue",
|
||||||
|
"default": 0.33, "min": 0, "max": 1, "spread": 0.04, "tags": ["morphology", "color"],
|
||||||
|
"effects": { "leafHue": "value" } },
|
||||||
|
|
||||||
|
// Производный ген: признак собирается группировкой по регэкспу — сумма всех генов-толерантностей
|
||||||
|
// (демонстрация gsom-функций фазы G5). Собственное значение гена не используется.
|
||||||
|
{ "defName": "GeneHardiness", "parent": "BaseNumericGene", "label": "gene.hardiness",
|
||||||
|
"default": 0, "min": 0, "max": 1, "spread": 0, "mutationChance": 0, "tags": ["derived"],
|
||||||
|
"effects": { "hardiness": "gsum('Gene.*Tolerance')" } },
|
||||||
|
|
||||||
|
// Дискретный ген морфы: вариант 0 доминирует, 1 (рецессивный) виден только в гомозиготе.
|
||||||
|
{ "defName": "GeneMorph", "kind": "Discrete", "label": "gene.morph",
|
||||||
|
"variants": 2, "variantWeights": [0.82, 0.18], "mutationChance": 0.05, "tags": ["morphology"],
|
||||||
|
"effects": { "variant": "value" } }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"type": "Patch",
|
||||||
|
// Контент-патчи (фаза G5): применяются ко всем дефам типа defType, чьё имя подходит под regex match,
|
||||||
|
// проставляя поля set. Демонстрация: даём кустам древесину при сборе (веточки).
|
||||||
|
"patches": [
|
||||||
|
{ "defType": "Plant", "match": "Bush.*", "set": { "harvestProduct": "ProductWood" } }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"type": "Pawn",
|
||||||
|
"defs": [
|
||||||
|
{ "defName": "BaseBeing", "abstract": true, "kind": "being", "sizeCells": 1.1 },
|
||||||
|
{ "defName": "BeingMale", "parent": "BaseBeing", "label": "pawn.being", "texture": "things/pawn/humanlike/bodies/FurCovered_Male_south" },
|
||||||
|
{ "defName": "BeingFemale", "parent": "BaseBeing", "label": "pawn.being", "texture": "things/pawn/humanlike/bodies/FurCovered_Female_south" },
|
||||||
|
{ "defName": "BeingThin", "parent": "BaseBeing", "label": "pawn.being", "texture": "things/pawn/humanlike/bodies/FurCovered_Thin_south" },
|
||||||
|
{ "defName": "BeingFat", "parent": "BaseBeing", "label": "pawn.being", "texture": "things/pawn/humanlike/bodies/FurCovered_Fat_south" },
|
||||||
|
{ "defName": "BeingHulk", "parent": "BaseBeing", "label": "pawn.being", "texture": "things/pawn/humanlike/bodies/FurCovered_Hulk_south" },
|
||||||
|
|
||||||
|
{ "defName": "BaseAnimal", "abstract": true, "kind": "animal" },
|
||||||
|
{ "defName": "Bear", "parent": "BaseAnimal", "label": "pawn.bear", "texture": "things/pawn/animal/bear/Bear_east", "sizeCells": 1.7 },
|
||||||
|
{ "defName": "DeerDoe", "parent": "BaseAnimal", "label": "pawn.deer", "texture": "things/pawn/animal/deer/DeerFemale_east", "sizeCells": 1.4 },
|
||||||
|
{ "defName": "DeerBuck", "parent": "BaseAnimal", "label": "pawn.deer", "texture": "things/pawn/animal/deer/DeerMale_east", "sizeCells": 1.6 },
|
||||||
|
{ "defName": "FoxRed", "parent": "BaseAnimal", "label": "pawn.fox", "texture": "things/pawn/animal/fox_red/Fox_Red_east", "sizeCells": 1.0 },
|
||||||
|
{ "defName": "Hare", "parent": "BaseAnimal", "label": "pawn.hare", "texture": "things/pawn/animal/hare/Hare_east", "sizeCells": 0.7 },
|
||||||
|
{ "defName": "WildBoar", "parent": "BaseAnimal", "label": "pawn.boar", "texture": "things/pawn/animal/wildboar/WildBoar_east", "sizeCells": 1.2 },
|
||||||
|
{ "defName": "Wolf", "parent": "BaseAnimal", "label": "pawn.wolf", "texture": "things/pawn/animal/wolf_timber/Wolf_Timber_east", "sizeCells": 1.4 },
|
||||||
|
{ "defName": "Muffalo", "parent": "BaseAnimal", "label": "pawn.muffalo", "texture": "things/pawn/animal/muffalo/Muffalo_east", "sizeCells": 1.8 },
|
||||||
|
{ "defName": "Squirrel", "parent": "BaseAnimal", "label": "pawn.squirrel", "texture": "things/pawn/animal/squirrel/Squirrel_east", "sizeCells": 0.6 }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"type": "Plant",
|
||||||
|
"defs": [
|
||||||
|
{ "defName": "BaseTree", "abstract": true, "sizeCells": 2.0, "trunkRadiusCells": 0.28,
|
||||||
|
"harvestProduct": "ProductWood", "fruitProduct": "ProductAcorn",
|
||||||
|
"genome": { "optimalLight": 0.6, "lightTolerance": 0.5, "optimalTemperature": 14, "temperatureTolerance": 16,
|
||||||
|
"optimalFertility": 1.4, "fertilityTolerance": 0.9, "vigor": 1.0,
|
||||||
|
"lifespan": 160, "dispersalRange": 2, "reproduceInterval": 14, "selfPollination": 0.2,
|
||||||
|
"mutationRate": 0.05, "variantChance": 0.15, "spread": 0.08,
|
||||||
|
"fruitYield": 5, "fruitSeason": 2, "harvestAmount": 10, "leafHue": 0.30 },
|
||||||
|
"stages": [
|
||||||
|
{ "texture": "things/plant/seed_default", "sizeCells": 0.6, "growDays": 4, "label": "plant.stage.seedling" },
|
||||||
|
{ "sizeCells": 1.2, "growDays": 9, "label": "plant.stage.sapling" },
|
||||||
|
{ "sizeCells": 2.0, "label": "plant.stage.mature" }
|
||||||
|
] },
|
||||||
|
{ "defName": "TreeOakA", "parent": "BaseTree", "label": "plant.oak", "texture": "things/plant/treeoak/TreeOakA" },
|
||||||
|
{ "defName": "TreeOakB", "parent": "BaseTree", "label": "plant.oak", "texture": "things/plant/treeoak/TreeOakB" },
|
||||||
|
{ "defName": "TreeBirchA", "parent": "BaseTree", "label": "plant.birch", "texture": "things/plant/treebirch/TreeBirchA" },
|
||||||
|
{ "defName": "TreeGrayPineA", "parent": "BaseTree", "label": "plant.pine", "texture": "things/plant/treegraypine/TreeGrayPineA" },
|
||||||
|
|
||||||
|
{ "defName": "GrassA", "label": "plant.grass", "texture": "things/plant/grass/grassa", "sizeCells": 1.2,
|
||||||
|
"harvestProduct": "ProductGrass",
|
||||||
|
"genome": { "optimalLight": 0.85, "lightTolerance": 0.35, "optimalTemperature": 20, "temperatureTolerance": 12,
|
||||||
|
"optimalFertility": 1.0, "fertilityTolerance": 1.0, "vigor": 1.3,
|
||||||
|
"lifespan": 22, "dispersalRange": 3, "reproduceInterval": 3, "selfPollination": 0.8,
|
||||||
|
"mutationRate": 0.06, "variantChance": 0.2, "spread": 0.1,
|
||||||
|
"harvestAmount": 2, "leafHue": 0.36 },
|
||||||
|
"stages": [
|
||||||
|
{ "texture": "things/plant/seed_default", "sizeCells": 0.5, "growDays": 2, "label": "plant.stage.sprout" },
|
||||||
|
{ "sizeCells": 1.2, "label": "plant.stage.mature" }
|
||||||
|
] },
|
||||||
|
|
||||||
|
{ "defName": "BaseBush", "abstract": true, "label": "plant.bush", "sizeCells": 1.4,
|
||||||
|
"fruitProduct": "ProductBerry",
|
||||||
|
"genome": { "optimalLight": 0.6, "lightTolerance": 0.5, "optimalTemperature": 17, "temperatureTolerance": 13,
|
||||||
|
"optimalFertility": 1.1, "fertilityTolerance": 1.0, "vigor": 1.0,
|
||||||
|
"lifespan": 60, "dispersalRange": 2, "reproduceInterval": 7, "selfPollination": 0.5,
|
||||||
|
"mutationRate": 0.05, "variantChance": 0.18, "spread": 0.1,
|
||||||
|
"fruitYield": 3, "fruitSeason": 1, "harvestAmount": 3, "leafHue": 0.32 },
|
||||||
|
"stages": [
|
||||||
|
{ "texture": "things/plant/seed_default", "sizeCells": 0.6, "growDays": 3, "label": "plant.stage.sprout" },
|
||||||
|
{ "sizeCells": 1.4, "label": "plant.stage.mature" }
|
||||||
|
] },
|
||||||
|
{ "defName": "BushA", "parent": "BaseBush", "texture": "things/plant/bush/BushA" },
|
||||||
|
{ "defName": "BushB", "parent": "BaseBush", "texture": "things/plant/bush/BushB" },
|
||||||
|
{ "defName": "BushC", "parent": "BaseBush", "texture": "things/plant/bush/BushC" }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"type": "Product",
|
||||||
|
// Продукты сбора/плодоношения растений. На них ссылаются PlantDef.harvestProduct / fruitProduct;
|
||||||
|
// количество задаётся генами (harvestAmount / fruitYield).
|
||||||
|
"defs": [
|
||||||
|
{ "defName": "ProductWood", "label": "product.wood", "kind": "material" },
|
||||||
|
{ "defName": "ProductGrass", "label": "product.grass", "kind": "material" },
|
||||||
|
{ "defName": "ProductBerry", "label": "product.berry", "kind": "food" },
|
||||||
|
{ "defName": "ProductAcorn", "label": "product.acorn", "kind": "food" }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"type": "Terrain",
|
||||||
|
"defs": [
|
||||||
|
{ "defName": "DeepWater", "label": "terrain.deepwater", "maxHeight": 0.30, "color": [23, 63, 95] },
|
||||||
|
{ "defName": "Water", "label": "terrain.water", "maxHeight": 0.42, "color": [32, 99, 155] },
|
||||||
|
{ "defName": "Sand", "label": "terrain.sand", "maxHeight": 0.48, "color": [237, 201, 120],
|
||||||
|
"isLand": true, "surface": "terrain/surfaces/sand", "fertility": 0.4 },
|
||||||
|
{ "defName": "Grass", "label": "terrain.grass", "maxHeight": 0.68, "color": [90, 160, 70],
|
||||||
|
"isLand": true, "surface": "terrain/surfaces/mossy", "fertility": 1.0,
|
||||||
|
"scatter": [
|
||||||
|
{ "chance": 0.35, "options": ["GrassA"] },
|
||||||
|
{ "chance": 0.07, "options": ["BushA", "BushB", "BushC"] }
|
||||||
|
] },
|
||||||
|
{ "defName": "Forest", "label": "terrain.forest", "maxHeight": 0.85, "color": [44, 110, 50],
|
||||||
|
"isLand": true, "surface": "terrain/surfaces/soil", "fertility": 1.6,
|
||||||
|
"scatter": [
|
||||||
|
{ "chance": 0.35, "options": ["TreeOakA", "TreeOakB", "TreeBirchA", "TreeGrayPineA"] }
|
||||||
|
] },
|
||||||
|
{ "defName": "Mountain", "label": "terrain.mountain", "maxHeight": 1.01, "color": [136, 132, 128],
|
||||||
|
"surface": "terrain/surfaces/roughhewnrock", "fertility": 0.2, "blocksLight": true }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"type": "WorldPreset",
|
||||||
|
"defs": [
|
||||||
|
{ "defName": "Small", "label": "preset.small", "order": 0, "width": 80, "height": 50, "population": 40 },
|
||||||
|
{ "defName": "Medium", "label": "preset.medium", "order": 1, "width": 120, "height": 70, "population": 80 },
|
||||||
|
{ "defName": "Large", "label": "preset.large", "order": 2, "width": 180, "height": 110, "population": 140 }
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"hud.world": "LittleSim | seed {0} | {1} | {2} FPS",
|
||||||
|
"hud.datetime": "day {0}, {1:00}:{2:00}",
|
||||||
|
"hud.climate": "{0} {1}°C",
|
||||||
|
"season.spring": "spring",
|
||||||
|
"season.summer": "summer",
|
||||||
|
"season.autumn": "autumn",
|
||||||
|
"season.winter": "winter",
|
||||||
|
"hud.controls": "WASD — camera, wheel — zoom, ` — console, F1 — inspector",
|
||||||
|
"hud.paused": "PAUSED",
|
||||||
|
"menu.title": "LittleSim",
|
||||||
|
"menu.subtitle": "a god-game: minimal graphics, deep simulation",
|
||||||
|
"menu.newworld": "New World",
|
||||||
|
"menu.load": "Load",
|
||||||
|
"menu.settings": "Settings",
|
||||||
|
"menu.credits": "Credits",
|
||||||
|
"menu.quit": "Quit",
|
||||||
|
"newworld.title": "New World",
|
||||||
|
"newworld.name": "Name",
|
||||||
|
"newworld.defaultname": "New World",
|
||||||
|
"newworld.size": "Size",
|
||||||
|
"newworld.seed": "Seed",
|
||||||
|
"newworld.random": "Random",
|
||||||
|
"newworld.smoothing": "Terrain smoothing",
|
||||||
|
"newworld.create": "Create",
|
||||||
|
"newworld.back": "Back",
|
||||||
|
"load.title": "Load",
|
||||||
|
"load.empty": "No saves yet",
|
||||||
|
"load.load": "Load",
|
||||||
|
"load.delete": "Delete",
|
||||||
|
"load.back": "Back",
|
||||||
|
"settings.title": "Settings",
|
||||||
|
"settings.language": "Language",
|
||||||
|
"settings.fullscreen": "Fullscreen",
|
||||||
|
"settings.vsync": "Vertical sync",
|
||||||
|
"settings.resolution": "Resolution",
|
||||||
|
"settings.volume": "Volume",
|
||||||
|
"settings.apply": "Apply",
|
||||||
|
"settings.back": "Back",
|
||||||
|
"pause.title": "Paused",
|
||||||
|
"pause.resume": "Resume",
|
||||||
|
"pause.settings": "Settings",
|
||||||
|
"pause.save": "Save",
|
||||||
|
"pause.mainmenu": "Main menu",
|
||||||
|
"pause.quit": "Quit",
|
||||||
|
"pause.saved": "Saved: {0}",
|
||||||
|
"speed.pause": "⏸",
|
||||||
|
"credits.title": "Credits",
|
||||||
|
"credits.author": "mrleo1nid",
|
||||||
|
"credits.role": "Concept, code, mrgameeng engine",
|
||||||
|
"credits.back": "Back",
|
||||||
|
"preset.small": "Small",
|
||||||
|
"preset.medium": "Medium",
|
||||||
|
"preset.large": "Large",
|
||||||
|
"terrain.deepwater": "deep water",
|
||||||
|
"terrain.water": "water",
|
||||||
|
"terrain.sand": "sand",
|
||||||
|
"terrain.grass": "grass",
|
||||||
|
"terrain.forest": "forest",
|
||||||
|
"terrain.mountain": "mountains",
|
||||||
|
"plant.oak": "oak",
|
||||||
|
"plant.birch": "birch",
|
||||||
|
"plant.pine": "pine",
|
||||||
|
"plant.grass": "grass tuft",
|
||||||
|
"plant.bush": "bush",
|
||||||
|
"plant.stage.seedling": "seedling",
|
||||||
|
"plant.stage.sprout": "sprout",
|
||||||
|
"plant.stage.sapling": "sapling",
|
||||||
|
"plant.stage.mature": "mature",
|
||||||
|
"product.wood": "wood",
|
||||||
|
"product.grass": "grass",
|
||||||
|
"product.berry": "berries",
|
||||||
|
"product.acorn": "acorn",
|
||||||
|
"pawn.being": "being",
|
||||||
|
"pawn.bear": "bear",
|
||||||
|
"pawn.deer": "deer",
|
||||||
|
"pawn.fox": "fox",
|
||||||
|
"pawn.hare": "hare",
|
||||||
|
"pawn.boar": "boar",
|
||||||
|
"pawn.wolf": "wolf",
|
||||||
|
"pawn.muffalo": "muffalo",
|
||||||
|
"pawn.squirrel": "squirrel",
|
||||||
|
"net.hud": "Multiplayer: {0} | beings: {1} | Esc — back to menu",
|
||||||
|
"net.connecting": "connecting…",
|
||||||
|
"net.connected": "connected",
|
||||||
|
"net.failed": "connection failed",
|
||||||
|
"net.lost": "connection lost"
|
||||||
|
}
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"hud.world": "LittleSim | сид {0} | {1} | {2} FPS",
|
||||||
|
"hud.datetime": "день {0}, {1:00}:{2:00}",
|
||||||
|
"hud.climate": "{0} {1}°C",
|
||||||
|
"season.spring": "весна",
|
||||||
|
"season.summer": "лето",
|
||||||
|
"season.autumn": "осень",
|
||||||
|
"season.winter": "зима",
|
||||||
|
"hud.controls": "WASD — камера, колесо — зум, ` — консоль, F1 — инспектор",
|
||||||
|
"hud.paused": "ПАУЗА",
|
||||||
|
"menu.title": "LittleSim",
|
||||||
|
"menu.subtitle": "бог-игра: минимум графики, максимум симуляции",
|
||||||
|
"menu.newworld": "Новый мир",
|
||||||
|
"menu.load": "Загрузка",
|
||||||
|
"menu.settings": "Настройки",
|
||||||
|
"menu.credits": "Авторы",
|
||||||
|
"menu.quit": "Выход",
|
||||||
|
"newworld.title": "Новый мир",
|
||||||
|
"newworld.name": "Название",
|
||||||
|
"newworld.defaultname": "Новый мир",
|
||||||
|
"newworld.size": "Размер",
|
||||||
|
"newworld.seed": "Сид",
|
||||||
|
"newworld.random": "Случайно",
|
||||||
|
"newworld.smoothing": "Сглаживание рельефа",
|
||||||
|
"newworld.create": "Создать",
|
||||||
|
"newworld.back": "Назад",
|
||||||
|
"load.title": "Загрузка",
|
||||||
|
"load.empty": "Сохранений пока нет",
|
||||||
|
"load.load": "Загрузить",
|
||||||
|
"load.delete": "Удалить",
|
||||||
|
"load.back": "Назад",
|
||||||
|
"settings.title": "Настройки",
|
||||||
|
"settings.language": "Язык",
|
||||||
|
"settings.fullscreen": "Полный экран",
|
||||||
|
"settings.vsync": "Вертикальная синхронизация",
|
||||||
|
"settings.resolution": "Разрешение",
|
||||||
|
"settings.volume": "Громкость",
|
||||||
|
"settings.apply": "Применить",
|
||||||
|
"settings.back": "Назад",
|
||||||
|
"pause.title": "Пауза",
|
||||||
|
"pause.resume": "Продолжить",
|
||||||
|
"pause.settings": "Настройки",
|
||||||
|
"pause.save": "Сохранить",
|
||||||
|
"pause.mainmenu": "Главное меню",
|
||||||
|
"pause.quit": "Выход",
|
||||||
|
"pause.saved": "Сохранено: {0}",
|
||||||
|
"speed.pause": "⏸",
|
||||||
|
"credits.title": "Авторы",
|
||||||
|
"credits.author": "mrleo1nid",
|
||||||
|
"credits.role": "Идея, код, движок mrgameeng",
|
||||||
|
"credits.back": "Назад",
|
||||||
|
"preset.small": "Маленький",
|
||||||
|
"preset.medium": "Средний",
|
||||||
|
"preset.large": "Большой",
|
||||||
|
"terrain.deepwater": "глубокая вода",
|
||||||
|
"terrain.water": "вода",
|
||||||
|
"terrain.sand": "песок",
|
||||||
|
"terrain.grass": "трава",
|
||||||
|
"terrain.forest": "лес",
|
||||||
|
"terrain.mountain": "горы",
|
||||||
|
"plant.oak": "дуб",
|
||||||
|
"plant.birch": "берёза",
|
||||||
|
"plant.pine": "сосна",
|
||||||
|
"plant.grass": "пучок травы",
|
||||||
|
"plant.bush": "куст",
|
||||||
|
"plant.stage.seedling": "росток",
|
||||||
|
"plant.stage.sprout": "всходы",
|
||||||
|
"plant.stage.sapling": "саженец",
|
||||||
|
"plant.stage.mature": "взрослое",
|
||||||
|
"product.wood": "древесина",
|
||||||
|
"product.grass": "трава",
|
||||||
|
"product.berry": "ягоды",
|
||||||
|
"product.acorn": "жёлудь",
|
||||||
|
"pawn.being": "житель",
|
||||||
|
"pawn.bear": "медведь",
|
||||||
|
"pawn.deer": "олень",
|
||||||
|
"pawn.fox": "лиса",
|
||||||
|
"pawn.hare": "заяц",
|
||||||
|
"pawn.boar": "кабан",
|
||||||
|
"pawn.wolf": "волк",
|
||||||
|
"pawn.muffalo": "муффало",
|
||||||
|
"pawn.squirrel": "белка",
|
||||||
|
"net.hud": "Мультиплеер: {0} | жителей: {1} | Esc — в меню",
|
||||||
|
"net.connecting": "подключение…",
|
||||||
|
"net.connected": "подключено",
|
||||||
|
"net.failed": "не удалось подключиться",
|
||||||
|
"net.lost": "соединение потеряно"
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 1013 B |
|
After Width: | Height: | Size: 683 B |
|
After Width: | Height: | Size: 839 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 798 B |
|
After Width: | Height: | Size: 633 B |
|
After Width: | Height: | Size: 520 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 354 B |
|
After Width: | Height: | Size: 656 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 999 B |
|
After Width: | Height: | Size: 489 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 843 B |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 832 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 203 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 863 KiB |
|
After Width: | Height: | Size: 873 KiB |
|
After Width: | Height: | Size: 962 KiB |
|
After Width: | Height: | Size: 207 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 872 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 899 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 987 KiB |
|
After Width: | Height: | Size: 932 KiB |
|
After Width: | Height: | Size: 853 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 867 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 576 KiB |
|
After Width: | Height: | Size: 120 B |
|
After Width: | Height: | Size: 505 B |
|
After Width: | Height: | Size: 509 B |
|
After Width: | Height: | Size: 512 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 455 B |
|
After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |