This commit is contained in:
Ell 2023-10-25 14:35:54 +02:00
parent 95dc58e2a1
commit 92b990a841
27 changed files with 480 additions and 157 deletions

View file

@ -1,3 +1,78 @@
# 0.37.0
*October 25, 2023*
![](media/changelog/0.37.0.png)
> Multiple Floors and Fences Galore
Read the devlog [on the website](https://tinylifegame.com/devlogs/0.37.0/).
*Changes that weren't included in preview versions are written in **bold**.*
Additions
- Added the ability to build additional floors on lots, allowing up to 5 floors in the full game, and 2 in the demo
- Added a proper wall-like fencing system, including a new metal fence, and marked furniture-style fences as obsolete for future removal from the game
- Added a wide three-layer shelf, a small stack of books, and a rhombus rug
- Added a proper sand tile, which looks a lot better than the yellow dirt path color
- Added the ability to play online games with specific other tinies
- Added the ability to adopt babies as well
- Added a few more hair and skin colors
- Added Simplified Chinese translation, courtesy of [Zhao Huaye](https://space.bilibili.com/67102871). Thanks so much for your hard work!
Improvements
- **Overhauled emotion stings and lower music volume while they're playing**
- **Add the exported version as a tag when uploading items to Steam workshop**
- **Automatically remove outdated custom content on game startup**
- Allow chatting on the phone with multiple people at once
- Allow inviting over multiple people at once
- Made the AI choose from available people based on their relationship
- Paths at the borders of the map will now also count as exit points
- Improved auto-tile visuals, and made path colors auto-tile with each other
- Persist object repair progress between attempts
- Display thought bubbles when reading
- Allow people with lot employments to visit when being asked
- Display a person's age on their tooltip
- Snap wall-attached furniture to appropriate walls automatically in build mode
- Start jobs off with an active vacation day so that work doesn't start immediately
- Allow adoptive parents to take parental leave as well
- Allow undoing using ctrl+shift+z as well
- Display vehicle ownership as a tooltip
- Automatically create a save backup when game version or mods change
- Display destroy particles for walls and tiles on higher floors
- Display a wide new game button when there are no saves, rather than graying out the load button
- Inverted default steam cloud behavior, causing newly created saves to be cloud synced by default
- Use the natural placement sound for water objects
- Use newer masters of Leiss' soundtrack, which also includes some previously missing bits
- Changed the furniture tool's name and icon to "Objects" to accommodate the fact that it also contains plants and other decorations
- Reduced the time it takes for new Steam subscriptions to be reflected in the game
- Display an info that the game needs to be restarted when enabling or disabling mods
- Remove roofs that intersect with newly created rooms
Fixes
- **Fixed two people repairing an object breaking repair progress**
- Fixed wall-related undos and redos not correctly restoring old rooms
- Catch any validation exceptions for map objects
- Fixed fairy lights crashing when not on a wall
- Fixed out-of-town actions counting as visible for babies
- Fixed the tile tool having visual issues in some camera rotations
- Fixed an exception when an enqueued social action has no valid partner
- Fixed collisions not updating correctly when moving some furniture
- Fixed undoing a room deletion not restoring the room correctly
- Fixed an exception when a person stops having a lot employment and then tries to go home
- Fixed a crash when a lot has no free tiles around the front door
- Fixed mods with broken localizations crashing the game on startup
- Fixed interior walls not displaying as down straight after placement
- Fixed people autonomously reading skill books that don't interest them
- Fixed regular visitors being deleted from maps removed from saves
- Fixed moving lots allowing roofs to be out of bounds
- Fixed a crash when loading an invalid save file in the demo
API
- Added MultiActionHandler initialize event
- Replaced action varieties with a new system, action arguments, which allows multiple arguments to be passed at once
- Allow adding more actions to the set of actions used by the Clean Everything action
- Dead people are now stored in their gravestone, rather than on the map the gravestone was first on
# 0.37.0-pre.3
*October 18, 2023*

View file

@ -1586,6 +1586,7 @@
"TinyLife.Mods.ModLoader.GetModsFolder": "TinyLife.Mods.ModLoader.yml",
"TinyLife.Mods.ModLoader.TryGetModInfo(System.String,TinyLife.Mods.ModInfo@)": "TinyLife.Mods.ModLoader.yml",
"TinyLife.Music": "TinyLife.Music.yml",
"TinyLife.Music.Duck(System.TimeSpan,System.Single)": "TinyLife.Music.yml",
"TinyLife.Music.Occasion": "TinyLife.Music.Occasion.yml",
"TinyLife.Music.Occasion.BuildMode": "TinyLife.Music.Occasion.yml",
"TinyLife.Music.Occasion.CharacterCreation": "TinyLife.Music.Occasion.yml",

View file

@ -26,7 +26,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GameMode
path: ../TinyLife/GameImpl.cs
startLine: 1178
startLine: 1186
assemblies:
- Tiny Life
namespace: TinyLife
@ -55,7 +55,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: InitialLoad
path: ../TinyLife/GameImpl.cs
startLine: 1181
startLine: 1189
assemblies:
- Tiny Life
namespace: TinyLife
@ -83,7 +83,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Splash
path: ../TinyLife/GameImpl.cs
startLine: 1183
startLine: 1191
assemblies:
- Tiny Life
namespace: TinyLife
@ -111,7 +111,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MainMenu
path: ../TinyLife/GameImpl.cs
startLine: 1185
startLine: 1193
assemblies:
- Tiny Life
namespace: TinyLife
@ -139,7 +139,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: SelectHousehold
path: ../TinyLife/GameImpl.cs
startLine: 1187
startLine: 1195
assemblies:
- Tiny Life
namespace: TinyLife
@ -167,7 +167,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: InGameHousehold
path: ../TinyLife/GameImpl.cs
startLine: 1189
startLine: 1197
assemblies:
- Tiny Life
namespace: TinyLife
@ -195,7 +195,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: BuildOnly
path: ../TinyLife/GameImpl.cs
startLine: 1191
startLine: 1199
assemblies:
- Tiny Life
namespace: TinyLife
@ -223,7 +223,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: CharacterCreation
path: ../TinyLife/GameImpl.cs
startLine: 1193
startLine: 1201
assemblies:
- Tiny Life
namespace: TinyLife

View file

@ -784,7 +784,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: DoUpdate
path: ../TinyLife/GameImpl.cs
startLine: 317
startLine: 318
assemblies:
- Tiny Life
namespace: TinyLife
@ -815,7 +815,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: DoDraw
path: ../TinyLife/GameImpl.cs
startLine: 568
startLine: 569
assemblies:
- Tiny Life
namespace: TinyLife
@ -846,7 +846,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Dispose
path: ../TinyLife/GameImpl.cs
startLine: 605
startLine: 606
assemblies:
- Tiny Life
namespace: TinyLife
@ -880,7 +880,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RotateCamera
path: ../TinyLife/GameImpl.cs
startLine: 623
startLine: 624
assemblies:
- Tiny Life
namespace: TinyLife
@ -915,7 +915,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: IsCursorOnUi
path: ../TinyLife/GameImpl.cs
startLine: 639
startLine: 640
assemblies:
- Tiny Life
namespace: TinyLife
@ -946,7 +946,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: SwitchGameMode
path: ../TinyLife/GameImpl.cs
startLine: 651
startLine: 652
assemblies:
- Tiny Life
namespace: TinyLife
@ -978,7 +978,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: SwitchMap
path: ../TinyLife/GameImpl.cs
startLine: 751
startLine: 752
assemblies:
- Tiny Life
namespace: TinyLife
@ -1016,7 +1016,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: CanBeExtremelyFast
path: ../TinyLife/GameImpl.cs
startLine: 778
startLine: 779
assemblies:
- Tiny Life
namespace: TinyLife
@ -1047,7 +1047,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: CanSwitchGameModes
path: ../TinyLife/GameImpl.cs
startLine: 789
startLine: 790
assemblies:
- Tiny Life
namespace: TinyLife
@ -1078,7 +1078,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: FadeKeyboardLighting
path: ../TinyLife/GameImpl.cs
startLine: 804
startLine: 805
assemblies:
- Tiny Life
namespace: TinyLife
@ -1110,7 +1110,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: TakeScreenshot
path: ../TinyLife/GameImpl.cs
startLine: 830
startLine: 831
assemblies:
- Tiny Life
namespace: TinyLife
@ -1151,7 +1151,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MarkLotVisible
path: ../TinyLife/GameImpl.cs
startLine: 858
startLine: 859
assemblies:
- Tiny Life
namespace: TinyLife
@ -1183,7 +1183,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MarkLotNonVisible
path: ../TinyLife/GameImpl.cs
startLine: 874
startLine: 875
assemblies:
- Tiny Life
namespace: TinyLife
@ -1215,7 +1215,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: IsLotVisible
path: ../TinyLife/GameImpl.cs
startLine: 885
startLine: 886
assemblies:
- Tiny Life
namespace: TinyLife
@ -1250,7 +1250,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: FollowPerson
path: ../TinyLife/GameImpl.cs
startLine: 898
startLine: 899
assemblies:
- Tiny Life
namespace: TinyLife
@ -1294,7 +1294,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: CompleteAchievement
path: ../TinyLife/GameImpl.cs
startLine: 927
startLine: 928
assemblies:
- Tiny Life
namespace: TinyLife

View file

@ -25,7 +25,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Occasion
path: ../TinyLife/Music.cs
startLine: 124
startLine: 154
assemblies:
- Tiny Life
namespace: TinyLife
@ -54,7 +54,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: None
path: ../TinyLife/Music.cs
startLine: 127
startLine: 157
assemblies:
- Tiny Life
namespace: TinyLife
@ -80,7 +80,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MainMenu
path: ../TinyLife/Music.cs
startLine: 128
startLine: 158
assemblies:
- Tiny Life
namespace: TinyLife
@ -106,7 +106,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: SelectHousehold
path: ../TinyLife/Music.cs
startLine: 129
startLine: 159
assemblies:
- Tiny Life
namespace: TinyLife
@ -132,7 +132,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: InGame
path: ../TinyLife/Music.cs
startLine: 130
startLine: 160
assemblies:
- Tiny Life
namespace: TinyLife
@ -158,7 +158,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: BuildMode
path: ../TinyLife/Music.cs
startLine: 131
startLine: 161
assemblies:
- Tiny Life
namespace: TinyLife
@ -184,7 +184,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: CharacterCreation
path: ../TinyLife/Music.cs
startLine: 132
startLine: 162
assemblies:
- Tiny Life
namespace: TinyLife

View file

@ -5,6 +5,7 @@ items:
id: Music
parent: TinyLife
children:
- TinyLife.Music.Duck(System.TimeSpan,System.Single)
- TinyLife.Music.Register(Microsoft.Xna.Framework.Media.Song,TinyLife.Music.Occasion[])
langs:
- csharp
@ -57,7 +58,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Register
path: ../TinyLife/Music.cs
startLine: 44
startLine: 45
assemblies:
- Tiny Life
namespace: TinyLife
@ -81,6 +82,44 @@ items:
nameWithType.vb: Music.Register(Song, ParamArray Music.Occasion())
fullName.vb: TinyLife.Music.Register(Microsoft.Xna.Framework.Media.Song, ParamArray TinyLife.Music.Occasion())
name.vb: Register(Song, ParamArray Occasion())
- uid: TinyLife.Music.Duck(System.TimeSpan,System.Single)
commentId: M:TinyLife.Music.Duck(System.TimeSpan,System.Single)
id: Duck(System.TimeSpan,System.Single)
parent: TinyLife.Music
langs:
- csharp
- vb
name: Duck(TimeSpan, float)
nameWithType: Music.Duck(TimeSpan, float)
fullName: TinyLife.Music.Duck(System.TimeSpan, float)
type: Method
source:
remote:
path: TinyLife/Music.cs
branch: main
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Duck
path: ../TinyLife/Music.cs
startLine: 63
assemblies:
- Tiny Life
namespace: TinyLife
summary: "\nReduces the volume of the currently playing music to the given <code data-dev-comment-type=\"paramref\" class=\"paramref\">duckVolume</code> for the given amount of <code data-dev-comment-type=\"paramref\" class=\"paramref\">time</code>.\nThis is useful when playing a sound effect that is considered more important than the music.\n"
example: []
syntax:
content: public static void Duck(TimeSpan time, float duckVolume)
parameters:
- id: time
type: System.TimeSpan
description: The amount of time to duck for.
- id: duckVolume
type: System.Single
description: The volume to duck the music to, which is automatically multiplied by <xref href="TinyLife.Options.MusicVolume" data-throw-if-not-resolved="false"></xref>.
content.vb: Public Shared Sub Duck(time As TimeSpan, duckVolume As Single)
overload: TinyLife.Music.Duck*
nameWithType.vb: Music.Duck(TimeSpan, Single)
fullName.vb: TinyLife.Music.Duck(System.TimeSpan, Single)
name.vb: Duck(TimeSpan, Single)
references:
- uid: TinyLife.Music.Register(Microsoft.Xna.Framework.Media.Song,TinyLife.Music.Occasion[])
commentId: M:TinyLife.Music.Register(Microsoft.Xna.Framework.Media.Song,TinyLife.Music.Occasion[])
@ -440,3 +479,32 @@ references:
- uid: Microsoft.Xna.Framework.Media
name: Media
isExternal: true
- uid: TinyLife.Options.MusicVolume
commentId: F:TinyLife.Options.MusicVolume
name: MusicVolume
nameWithType: Options.MusicVolume
fullName: TinyLife.Options.MusicVolume
- uid: TinyLife.Music.Duck*
commentId: Overload:TinyLife.Music.Duck
name: Duck
nameWithType: Music.Duck
fullName: TinyLife.Music.Duck
- uid: System.TimeSpan
commentId: T:System.TimeSpan
parent: System
isExternal: true
href: https://learn.microsoft.com/dotnet/api/system.timespan
name: TimeSpan
nameWithType: TimeSpan
fullName: System.TimeSpan
- uid: System.Single
commentId: T:System.Single
parent: System
isExternal: true
href: https://learn.microsoft.com/dotnet/api/system.single
name: float
nameWithType: float
fullName: float
nameWithType.vb: Single
fullName.vb: Single
name.vb: Single

View file

@ -23,7 +23,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Set
path: ../TinyLife/GameImpl.cs
startLine: 1222
startLine: 1230
assemblies:
- Tiny Life
namespace: TinyLife
@ -52,7 +52,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Woodworking
path: ../TinyLife/GameImpl.cs
startLine: 1228
startLine: 1236
assemblies:
- Tiny Life
namespace: TinyLife
@ -80,7 +80,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Workout
path: ../TinyLife/GameImpl.cs
startLine: 1232
startLine: 1240
assemblies:
- Tiny Life
namespace: TinyLife
@ -108,7 +108,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ChildClothes
path: ../TinyLife/GameImpl.cs
startLine: 1236
startLine: 1244
assemblies:
- Tiny Life
namespace: TinyLife
@ -136,7 +136,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RetroFurniture
path: ../TinyLife/GameImpl.cs
startLine: 1240
startLine: 1248
assemblies:
- Tiny Life
namespace: TinyLife

View file

@ -26,7 +26,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: StatType
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1142
startLine: 1143
assemblies:
- Tiny Life
namespace: TinyLife.Tools
@ -55,7 +55,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Needs
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1145
startLine: 1146
assemblies:
- Tiny Life
namespace: TinyLife.Tools
@ -81,7 +81,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Emotions
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1146
startLine: 1147
assemblies:
- Tiny Life
namespace: TinyLife.Tools
@ -107,7 +107,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Skills
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1147
startLine: 1148
assemblies:
- Tiny Life
namespace: TinyLife.Tools
@ -133,7 +133,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Relationships
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1148
startLine: 1149
assemblies:
- Tiny Life
namespace: TinyLife.Tools
@ -159,7 +159,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Job
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1149
startLine: 1150
assemblies:
- Tiny Life
namespace: TinyLife.Tools
@ -185,7 +185,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: LifeGoal
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1150
startLine: 1151
assemblies:
- Tiny Life
namespace: TinyLife.Tools
@ -211,7 +211,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: About
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1151
startLine: 1152
assemblies:
- Tiny Life
namespace: TinyLife.Tools

View file

@ -381,7 +381,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Reload
path: ../TinyLife/Tools/PlayModeTool.cs
startLine: 1088
startLine: 1089
assemblies:
- Tiny Life
namespace: TinyLife.Tools

View file

@ -19,7 +19,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: DrawDelegate
path: ../TinyLife/World/Map.cs
startLine: 2961
startLine: 2964
assemblies:
- Tiny Life
namespace: TinyLife.World

View file

@ -901,7 +901,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetDepth
path: ../TinyLife/World/Map.cs
startLine: 751
startLine: 753
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -954,7 +954,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetTileDepth
path: ../TinyLife/World/Map.cs
startLine: 766
startLine: 769
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -998,7 +998,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: IsInBounds
path: ../TinyLife/World/Map.cs
startLine: 776
startLine: 779
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1033,7 +1033,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddRoad
path: ../TinyLife/World/Map.cs
startLine: 785
startLine: 788
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1065,7 +1065,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: IsRoad
path: ../TinyLife/World/Map.cs
startLine: 795
startLine: 798
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1100,7 +1100,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetClosestRoads
path: ../TinyLife/World/Map.cs
startLine: 805
startLine: 808
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1141,7 +1141,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetRoads
path: ../TinyLife/World/Map.cs
startLine: 815
startLine: 818
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1172,7 +1172,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetClosestRoadsidePosition
path: ../TinyLife/World/Map.cs
startLine: 826
startLine: 829
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1210,7 +1210,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetTilesAround
path: ../TinyLife/World/Map.cs
startLine: 844
startLine: 847
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1263,7 +1263,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetClosestEmptyTile
path: ../TinyLife/World/Map.cs
startLine: 872
startLine: 875
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1316,7 +1316,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetRandomTile
path: ../TinyLife/World/Map.cs
startLine: 891
startLine: 894
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1372,7 +1372,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ValidateEarly
path: ../TinyLife/World/Map.cs
startLine: 919
startLine: 922
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1416,7 +1416,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Validate
path: ../TinyLife/World/Map.cs
startLine: 943
startLine: 946
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1457,7 +1457,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: PostValidate
path: ../TinyLife/World/Map.cs
startLine: 1001
startLine: 1004
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1495,7 +1495,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetRoom
path: ../TinyLife/World/Map.cs
startLine: 1018
startLine: 1021
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1536,7 +1536,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetLot
path: ../TinyLife/World/Map.cs
startLine: 1032
startLine: 1035
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1571,7 +1571,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetLot
path: ../TinyLife/World/Map.cs
startLine: 1043
startLine: 1046
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1606,7 +1606,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddLot
path: ../TinyLife/World/Map.cs
startLine: 1056
startLine: 1059
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1641,7 +1641,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddLot
path: ../TinyLife/World/Map.cs
startLine: 1066
startLine: 1069
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1673,7 +1673,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RemoveLot
path: ../TinyLife/World/Map.cs
startLine: 1074
startLine: 1077
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1705,7 +1705,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetLots
path: ../TinyLife/World/Map.cs
startLine: 1093
startLine: 1096
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1736,7 +1736,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddWall
path: ../TinyLife/World/Map.cs
startLine: 1104
startLine: 1107
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1771,7 +1771,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RemoveWall
path: ../TinyLife/World/Map.cs
startLine: 1114
startLine: 1117
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1806,7 +1806,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetWallBetween
path: ../TinyLife/World/Map.cs
startLine: 1131
startLine: 1134
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1852,7 +1852,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetTile
path: ../TinyLife/World/Map.cs
startLine: 1147
startLine: 1150
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1893,7 +1893,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: SetTile
path: ../TinyLife/World/Map.cs
startLine: 1158
startLine: 1161
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1934,7 +1934,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddRoof
path: ../TinyLife/World/Map.cs
startLine: 1176
startLine: 1179
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1966,7 +1966,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetRoof
path: ../TinyLife/World/Map.cs
startLine: 1190
startLine: 1193
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2007,7 +2007,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetRoofs
path: ../TinyLife/World/Map.cs
startLine: 1205
startLine: 1208
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2042,7 +2042,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RemoveRoof
path: ../TinyLife/World/Map.cs
startLine: 1218
startLine: 1221
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2074,7 +2074,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetObjects
path: ../TinyLife/World/Map.cs
startLine: 1232
startLine: 1235
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2115,7 +2115,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetObject
path: ../TinyLife/World/Map.cs
startLine: 1248
startLine: 1251
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2156,7 +2156,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddObject
path: ../TinyLife/World/Map.cs
startLine: 1260
startLine: 1263
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2188,7 +2188,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RemoveObject
path: ../TinyLife/World/Map.cs
startLine: 1287
startLine: 1290
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2221,7 +2221,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetPeople
path: ../TinyLife/World/Map.cs
startLine: 1315
startLine: 1318
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2252,7 +2252,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetHousehold
path: ../TinyLife/World/Map.cs
startLine: 1327
startLine: 1330
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2287,7 +2287,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetHousehold
path: ../TinyLife/World/Map.cs
startLine: 1340
startLine: 1343
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2322,7 +2322,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddHousehold
path: ../TinyLife/World/Map.cs
startLine: 1353
startLine: 1356
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2357,7 +2357,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RemoveHousehold
path: ../TinyLife/World/Map.cs
startLine: 1363
startLine: 1366
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2389,7 +2389,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetHouseholds
path: ../TinyLife/World/Map.cs
startLine: 1371
startLine: 1374
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2420,7 +2420,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetSection
path: ../TinyLife/World/Map.cs
startLine: 1381
startLine: 1384
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2455,7 +2455,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetSections
path: ../TinyLife/World/Map.cs
startLine: 1396
startLine: 1399
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2496,7 +2496,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetSections
path: ../TinyLife/World/Map.cs
startLine: 1406
startLine: 1409
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2537,7 +2537,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MarkDirtyForPathfinding
path: ../TinyLife/World/Map.cs
startLine: 1428
startLine: 1431
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2575,7 +2575,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetPathCost
path: ../TinyLife/World/Map.cs
startLine: 1451
startLine: 1454
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2625,7 +2625,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: CanWalkBetween
path: ../TinyLife/World/Map.cs
startLine: 1475
startLine: 1478
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2675,7 +2675,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: IsFreeSpot
path: ../TinyLife/World/Map.cs
startLine: 1485
startLine: 1488
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2716,7 +2716,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetStoredDeadPeople
path: ../TinyLife/World/Map.cs
startLine: 1494
startLine: 1497
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2747,7 +2747,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: PlaySound
path: ../TinyLife/World/Map.cs
startLine: 1516
startLine: 1519
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2803,7 +2803,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: PlaySound
path: ../TinyLife/World/Map.cs
startLine: 1532
startLine: 1535
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2856,7 +2856,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetClosestFreeExitPoint
path: ../TinyLife/World/Map.cs
startLine: 1552
startLine: 1555
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2891,7 +2891,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetExitPoints
path: ../TinyLife/World/Map.cs
startLine: 1562
startLine: 1565
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2922,7 +2922,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetWalls
path: ../TinyLife/World/Map.cs
startLine: 1591
startLine: 1594
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2962,7 +2962,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetStairs
path: ../TinyLife/World/Map.cs
startLine: 1611
startLine: 1614
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -2997,7 +2997,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetStairs
path: ../TinyLife/World/Map.cs
startLine: 1626
startLine: 1629
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3038,7 +3038,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddStairs
path: ../TinyLife/World/Map.cs
startLine: 1639
startLine: 1642
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3070,7 +3070,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RemoveStairs
path: ../TinyLife/World/Map.cs
startLine: 1651
startLine: 1654
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3105,7 +3105,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ApplyCameraRotation
path: ../TinyLife/World/Map.cs
startLine: 1668
startLine: 1671
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3149,7 +3149,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ApplyInverseCameraRotation
path: ../TinyLife/World/Map.cs
startLine: 1684
startLine: 1687
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3187,7 +3187,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: OnCameraRotationChanged
path: ../TinyLife/World/Map.cs
startLine: 1699
startLine: 1702
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3222,7 +3222,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: OnCurrentGameMapChanged
path: ../TinyLife/World/Map.cs
startLine: 1723
startLine: 1726
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3257,7 +3257,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: AddLight
path: ../TinyLife/World/Map.cs
startLine: 1741
startLine: 1744
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3289,7 +3289,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RemoveLight
path: ../TinyLife/World/Map.cs
startLine: 1752
startLine: 1755
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3323,7 +3323,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MoveEverything
path: ../TinyLife/World/Map.cs
startLine: 1764
startLine: 1767
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3367,7 +3367,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ValidateRooms
path: ../TinyLife/World/Map.cs
startLine: 1860
startLine: 1863
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3408,7 +3408,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetRegularVisitors
path: ../TinyLife/World/Map.cs
startLine: 1909
startLine: 1912
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3439,7 +3439,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetAllLotEmployments
path: ../TinyLife/World/Map.cs
startLine: 1919
startLine: 1922
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3470,7 +3470,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MarkGroundTileDirtyForDrawing
path: ../TinyLife/World/Map.cs
startLine: 1932
startLine: 1935
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3502,7 +3502,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: MarkObjectDirtyForDrawing
path: ../TinyLife/World/Map.cs
startLine: 1948
startLine: 1951
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3543,7 +3543,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: PrepareForPermanentRemoval
path: ../TinyLife/World/Map.cs
startLine: 1979
startLine: 1982
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3571,7 +3571,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: LoadStaticMap
path: ../TinyLife/World/Map.cs
startLine: 2566
startLine: 2569
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3606,7 +3606,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: IsLotHidden
path: ../TinyLife/World/Map.cs
startLine: 2610
startLine: 2613
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3641,7 +3641,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetMapSampler
path: ../TinyLife/World/Map.cs
startLine: 2628
startLine: 2631
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3672,7 +3672,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: UpdateExternalPeople
path: ../TinyLife/World/Map.cs
startLine: 2639
startLine: 2642
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -3710,7 +3710,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetVisibleWorldArea
path: ../TinyLife/World/Map.cs
startLine: 2733
startLine: 2736
assemblies:
- Tiny Life
namespace: TinyLife.World

View file

@ -19,7 +19,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ObjectUpdateDelegate
path: ../TinyLife/World/Map.cs
startLine: 2946
startLine: 2949
assemblies:
- Tiny Life
namespace: TinyLife.World

View file

@ -19,7 +19,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ObjectUpdateDelegateNoPhase
path: ../TinyLife/World/Map.cs
startLine: 2951
startLine: 2954
assemblies:
- Tiny Life
namespace: TinyLife.World

View file

@ -325,7 +325,7 @@ items:
assemblies:
- Tiny Life
namespace: TinyLife.World
summary: "\nThis method is called in <see cref=\"!:World.Map.ValidateExistingRooms\"></see> to ensure that this room is still valid\n"
summary: "\nThis method is called in <xref href=\"TinyLife.World.Map.ValidateRooms(Microsoft.Xna.Framework.Point%2cSystem.Int32)\" data-throw-if-not-resolved=\"false\"></xref> to ensure that this room is still valid\n"
example: []
syntax:
content: public bool Validate()
@ -1199,6 +1199,44 @@ references:
- name: " "
- name: T
- name: )
- uid: TinyLife.World.Map.ValidateRooms(Microsoft.Xna.Framework.Point,System.Int32)
commentId: M:TinyLife.World.Map.ValidateRooms(Microsoft.Xna.Framework.Point,System.Int32)
isExternal: true
href: https://learn.microsoft.com/dotnet/api/system.int32
name: ValidateRooms(Point, int)
nameWithType: Map.ValidateRooms(Point, int)
fullName: TinyLife.World.Map.ValidateRooms(Microsoft.Xna.Framework.Point, int)
nameWithType.vb: Map.ValidateRooms(Point, Integer)
fullName.vb: TinyLife.World.Map.ValidateRooms(Microsoft.Xna.Framework.Point, Integer)
name.vb: ValidateRooms(Point, Integer)
spec.csharp:
- uid: TinyLife.World.Map.ValidateRooms(Microsoft.Xna.Framework.Point,System.Int32)
name: ValidateRooms
- name: (
- uid: Microsoft.Xna.Framework.Point
name: Point
isExternal: true
- name: ','
- name: " "
- uid: System.Int32
name: int
isExternal: true
href: https://learn.microsoft.com/dotnet/api/system.int32
- name: )
spec.vb:
- uid: TinyLife.World.Map.ValidateRooms(Microsoft.Xna.Framework.Point,System.Int32)
name: ValidateRooms
- name: (
- uid: Microsoft.Xna.Framework.Point
name: Point
isExternal: true
- name: ','
- name: " "
- uid: System.Int32
name: Integer
isExternal: true
href: https://learn.microsoft.com/dotnet/api/system.int32
- name: )
- uid: TinyLife.World.Room.Validate*
commentId: Overload:TinyLife.World.Room.Validate
name: Validate

View file

@ -24,7 +24,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Category
path: ../TinyLife/World/Tile.cs
startLine: 350
startLine: 353
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -63,7 +63,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: None
path: ../TinyLife/World/Tile.cs
startLine: 356
startLine: 359
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -91,7 +91,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Natural
path: ../TinyLife/World/Tile.cs
startLine: 360
startLine: 363
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -119,7 +119,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Water
path: ../TinyLife/World/Tile.cs
startLine: 364
startLine: 367
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -147,7 +147,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ValidExitPoint
path: ../TinyLife/World/Tile.cs
startLine: 369
startLine: 372
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -175,7 +175,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Road
path: ../TinyLife/World/Tile.cs
startLine: 374
startLine: 377
assemblies:
- Tiny Life
namespace: TinyLife.World

View file

@ -214,7 +214,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: BaseName
path: ../TinyLife/World/Tile.cs
startLine: 81
startLine: 84
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -243,7 +243,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Name
path: ../TinyLife/World/Tile.cs
startLine: 85
startLine: 88
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -272,7 +272,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Price
path: ../TinyLife/World/Tile.cs
startLine: 89
startLine: 92
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -301,7 +301,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: ColorSchemes
path: ../TinyLife/World/Tile.cs
startLine: 93
startLine: 96
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -330,7 +330,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Colors
path: ../TinyLife/World/Tile.cs
startLine: 97
startLine: 100
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -359,7 +359,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: CanBuy
path: ../TinyLife/World/Tile.cs
startLine: 101
startLine: 104
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -388,7 +388,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: PathCostModifier
path: ../TinyLife/World/Tile.cs
startLine: 106
startLine: 109
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -417,7 +417,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Categories
path: ../TinyLife/World/Tile.cs
startLine: 110
startLine: 113
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -446,7 +446,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Icon
path: ../TinyLife/World/Tile.cs
startLine: 115
startLine: 118
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -475,7 +475,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: DefaultColors
path: ../TinyLife/World/Tile.cs
startLine: 119
startLine: 122
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -504,7 +504,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Textures
path: ../TinyLife/World/Tile.cs
startLine: 123
startLine: 126
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -533,7 +533,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Regions
path: ../TinyLife/World/Tile.cs
startLine: 127
startLine: 130
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -562,7 +562,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: RegionWeights
path: ../TinyLife/World/Tile.cs
startLine: 131
startLine: 134
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -591,7 +591,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: .ctor
path: ../TinyLife/World/Tile.cs
startLine: 137
startLine: 140
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -649,7 +649,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Draw
path: ../TinyLife/World/Tile.cs
startLine: 167
startLine: 170
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -714,7 +714,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: DrawUi
path: ../TinyLife/World/Tile.cs
startLine: 193
startLine: 196
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -758,7 +758,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetPrice
path: ../TinyLife/World/Tile.cs
startLine: 203
startLine: 206
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -789,7 +789,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: OnNeighborChanged
path: ../TinyLife/World/Tile.cs
startLine: 215
startLine: 218
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -833,7 +833,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetAutoTileBorder
path: ../TinyLife/World/Tile.cs
startLine: 227
startLine: 230
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -883,7 +883,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetVariationTexture
path: ../TinyLife/World/Tile.cs
startLine: 244
startLine: 247
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -921,7 +921,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: GetVisualOffset
path: ../TinyLife/World/Tile.cs
startLine: 258
startLine: 261
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -965,7 +965,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Register
path: ../TinyLife/World/Tile.cs
startLine: 283
startLine: 286
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1036,7 +1036,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Register
path: ../TinyLife/World/Tile.cs
startLine: 303
startLine: 306
assemblies:
- Tiny Life
namespace: TinyLife.World
@ -1107,7 +1107,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: Register
path: ../TinyLife/World/Tile.cs
startLine: 327
startLine: 330
assemblies:
- Tiny Life
namespace: TinyLife.World

View file

@ -19,7 +19,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: UpdateDelegate
path: ../TinyLife/World/Map.cs
startLine: 2936
startLine: 2939
assemblies:
- Tiny Life
namespace: TinyLife.World

View file

@ -19,7 +19,7 @@ items:
repo: https://git.ellpeck.de/Ellpeck/TinyLife
id: UpdateDelegateNoPhase
path: ../TinyLife/World/Map.cs
startLine: 2941
startLine: 2944
assemblies:
- Tiny Life
namespace: TinyLife.World

BIN
media/changelog/0.37.0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

View file

@ -0,0 +1,141 @@
---
title: "0.37.0: Multiple Floors and Fences Galore"
itch: "https://ellpeck.itch.io/tiny-life/devlog/625774/0370-multiple-floors-and-fences-galore"
steam: "https://store.steampowered.com/news/app/1651490/view/3752120943815757525"
---
Hey gang! It's been a minute since the last update with a devlog, but that's for a good reason: We've been hard at work getting this very update ready for all of you! It's a big one, so strap yourselves in.
# Going Up a Level
So, let me set the scene for you: Imagine you're playing this beautiful family, and they have a cute little bungalow, but now they have a kid! Oh no! There's not enough space for the kid to live! What*ever* shall they *do*?
Well. How 'bout they build a second floor??
Yea, you heard that right: You can now build a full second floor on your lots in Tiny Life. And better yet, you can build another floor on top of that! And then another floor on top of that! This means that you're able to build a total of five floors (two in the demo), and fill them with all your favorite furniture, and rooms, and decorations, and Tinies, of course.
Don't believe me? Well, take a look at this beautiful house built by Yellore, which you can also find [on the Steam workshop](https://steamcommunity.com/sharedfiles/filedetails/?id=3049696183).
![](23-10-25_11-50-12.png)
![](23-10-25_11-50-24.png)
![](23-10-25_11-50-26.png)
You can find all the info you need on how to create and populate additional floors in the game, but it's pretty simple all in all: You can use the buttons in the top right of the screen (or keyboard or gamepad controls as described in the controls info box in the bottom-right of the screen) to switch which floor your camera should be focused on, and you can build and interact on the currently focused floor!
While this system is already fully functional and very usable, it may still have some bugs here and there, especially when it comes to rendering. As always, please report any issues you find through [the feedback form](https://tinylifegame.com/bugreport), which is also linked in-game.
![](Tiny_Life_zXB51hIsgd.png)
Joe feels like king of the world.
# Much Better Fences
As part of this update, and especially to accompany the new ability to create mezzanine levels and other types of holes in the ground, we've taken the opportunity to overhaul fences in the game.
If you don't remember, or you haven't played with them yet, fences used to be, well, a little bit of a mess. They were essentially furniture pieces that you could place down like any other objects, but they would automatically connect together. The trouble with them, though, was that they were always stuck to the center of the tiles they occupied (much like any other furniture, as well), and so using them as a sort of wall-like border between tiles was pretty much impossible. It also didn't help that placing them was a bit of a nuisance, since there was no way to drag them out or generally place multiple at once.
So, to fix this, we've taken the liberty to make them more like walls! You can now find the new Fencing tool as part of the build mode toolset, and all of the existing fences have been converted to the cool new ones. In addition to that, we've added a more modern metal-style fence that you can use in your builds as well!
![](23-10-04_13-15-40.png)
In the above picture, you can see a comparison between the old-style fences (on the red tiles) and the new ones (on the yellowy green tiles). Cool, right?
## What About Old Fences?
A lot of the time when new features are added to Tiny Life, older ones are updated or changed automatically to accomodate them. For example, when fridges started being able to store items a few updates ago, their type changed from a regular furniture item to one that can store items - no manual replacement of fridges necessary.
Here's the thing, though: With these new fences, it's not really possible to do that. Think about it this way: If old fences, which occupy the center of tiles, are automatically converted to new ones... which side of the tile should they now occupy? Could there even be a consistent side, or would it have to vary based on the location and context of where and how the fence was being used? And what about places where old fences *can't* reasonably be converted, like a build in which fences are placed in the tile space between two walls?
Because of all of these issues, and essentially to leave it up to players how they want to structure their new fence-based empire, we've **deprecated** the old fences instead of fully removing them. This means that, when you load your saves, the old fences will still be present in the world, but you won't be able to **buy or place any new ones**. Over time, you're expected to replace all of your old fences with the new ones, and eventually, maybe in a few years or so, the old fences will be removed from the game for good.
To remind players of this transition, hovering over the old fences in build mode displays a tooltip that tells them exactly this information but, you know, a little less rambly.
# New Items
We also added a few new items, tiles and other fun objects since the last update. We've already gone over the new metal-style fence, which is lovely, of course, but we also added some new furniture!
![](Tiny_Life_QKOY0gJKAy.png)
As you can see, we introduced a new two-tile-wide version of the cute three-layer shelf that everyone loves. This shelf's surfaces work similarly to those of the existing dresser drawer: you can place three smaller items on it, or one large item in the center.
In addition to this, we've also added a cute new book stack item and a nice frilly rug, as well as a proper sand tile, so all of you mapmakers don't have to use a recolored version of the dirt path.
Also, and this is kind of a *secret* for an upcoming new map, we've added dirt roads as a non-buyable [map editing](https://docs.tinylifegame.com/articles/custom_maps.html) tile! These are meant to be placed with dirt paths on the sides to allow Tinies to walk along the side of the road, much like you would in real life when traversing a country road.
![](Tiny_Life_Q9By4xjS4g.png)
We're not going to tell you anything about the upcoming map set, but suffice it to say, it'll be very cute!
# Various Improvements
Here's another small feature for all of you mapmakers out there: by *extremely* popular request, you can now use certain tile types as paths that exit the borders of the map, allowing Tinies to head out of town or travel to another world without needing to get into their car. More specifically, these tiles are any concrete paths, as well as the dirt paths that people frequently used to use as sand. You may be able to guess why it was necessary to add a proper sand tile now.
As part of our journey to ever-improve existing features of the game, and as a reaction to a survey that we did *absolute eons ago*, we have improved upon the emotion stings in the game! Really, there were two major improvements here: Number one, most of the stings are a lot shorter now and fit the musical style of the game a lot better. Number two, the in-game music (should you have it enabled) now quiets down a bit while the stings are playing so that you're able to hear them in all their glory. Thanks so much, as always, to [Leiss Hoffman](https://leiss.bandcamp.com) and [Jamal Green](https://www.jamalgreenmusic.com/) for their amazing work and musical collaboration for the game.
# The Full Changelog
That's it for this update, everyone! As you can see, there are quite a lot of additions and changes in this one. If you want to see the full changelog, which is a lot this time around, you can find it in the bottom-right corner of the game's main menu as always, or right here!
Lastly, thanks so much again for the amazing feedback from everyone in the Tiny Life community, as well as the lovely builds, households and lots everyone has been sharing. Keep in mind that, if you want any of your custom content or other media related to Tiny Life showcased in an official capacity, you can check out the [Community Showcase](https://tinylifegame.com/community/) page on the website.
❤️ Ell
Additions
- Added the ability to build additional floors on lots, allowing up to 5 floors in the full game, and 2 in the demo
- Added a proper wall-like fencing system, including a new metal fence, and marked furniture-style fences as obsolete for future removal from the game
- Added a wide three-layer shelf, a small stack of books, and a rhombus rug
- Added a proper sand tile, which looks a lot better than the yellow dirt path color
- Added the ability to play online games with specific other tinies
- Added the ability to adopt babies as well
- Added a few more hair and skin colors
- Added Simplified Chinese translation, courtesy of [Zhao Huaye](https://space.bilibili.com/67102871). Thanks so much for your hard work!
Improvements
- Overhauled emotion stings and lower music volume while they're playing
- Add the exported version as a tag when uploading items to Steam workshop
- Automatically remove outdated custom content on game startup
- Allow chatting on the phone with multiple people at once
- Allow inviting over multiple people at once
- Made the AI choose from available people based on their relationship
- Paths at the borders of the map will now also count as exit points
- Improved auto-tile visuals, and made path colors auto-tile with each other
- Persist object repair progress between attempts
- Display thought bubbles when reading
- Allow people with lot employments to visit when being asked
- Display a person's age on their tooltip
- Snap wall-attached furniture to appropriate walls automatically in build mode
- Start jobs off with an active vacation day so that work doesn't start immediately
- Allow adoptive parents to take parental leave as well
- Allow undoing using ctrl+shift+z as well
- Display vehicle ownership as a tooltip
- Automatically create a save backup when game version or mods change
- Display destroy particles for walls and tiles on higher floors
- Display a wide new game button when there are no saves, rather than graying out the load button
- Inverted default steam cloud behavior, causing newly created saves to be cloud synced by default
- Use the natural placement sound for water objects
- Use newer masters of Leiss' soundtrack, which also includes some previously missing bits
- Changed the furniture tool's name and icon to "Objects" to accommodate the fact that it also contains plants and other decorations
- Reduced the time it takes for new Steam subscriptions to be reflected in the game
- Display an info that the game needs to be restarted when enabling or disabling mods
- Remove roofs that intersect with newly created rooms
Fixes
- Fixed two people repairing an object breaking repair progress
- Fixed wall-related undos and redos not correctly restoring old rooms
- Catch any validation exceptions for map objects
- Fixed fairy lights crashing when not on a wall
- Fixed out-of-town actions counting as visible for babies
- Fixed the tile tool having visual issues in some camera rotations
- Fixed an exception when an enqueued social action has no valid partner
- Fixed collisions not updating correctly when moving some furniture
- Fixed undoing a room deletion not restoring the room correctly
- Fixed an exception when a person stops having a lot employment and then tries to go home
- Fixed a crash when a lot has no free tiles around the front door
- Fixed mods with broken localizations crashing the game on startup
- Fixed interior walls not displaying as down straight after placement
- Fixed people autonomously reading skill books that don't interest them
- Fixed regular visitors being deleted from maps removed from saves
- Fixed moving lots allowing roofs to be out of bounds
- Fixed a crash when loading an invalid save file in the demo
API
- Added MultiActionHandler initialize event
- Replaced action varieties with a new system, action arguments, which allows multiple arguments to be passed at once
- Allow adding more actions to the set of actions used by the Clean Everything action
- Dead people are now stored in their gravestone, rather than on the map the gravestone was first on

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB