Jump to content

  • Tyron

    The Seasons Update (v1.13-rc.1)

    By Tyron, in News,

    Dear Seasonal Community
    v1.13-rc.1 can now be downloaded through the account manager

    Sooooo, looks like we managed to pull of some pretty decent seasons system for the game! \o/

    This version is a "release candidate", which means it is feature complete and should be free from most game breaking bugs. We're releasing it into the larger community to find any last remaining major (and minor) issues before going full stable release.

    Julius van Vern made us a great trailer for this update, have a look:


    Game updates since v1.12

    • New in rc.1
      • Tweak: Worldmap waypoint GUI: Flipped the color and name field positions
      • Tweak: Improved torch ignite fp animation
      • Tweak: Locust nests spawn rate now increased, and also randomized per block (for nests in new chunks only)
      • Tweak: Corrupt locust damage increased from 3.5 to 4
      • Tweak: Increased ruin generation by 15%
      • Fixed: Wind waving motion affected by the players position. Made some fine tuning to the motion as well.
      • Fixed: Low weight animal meat debuff not properly applied
      • Fixed: Armor breaking did not play a breaking sound
      • Fixed: A crash related to the character dialog
      • Fixed: Water streams less awkward looking due to odd transparency
      • Fixed: Mushrooms not shown in cooked meals
    • All the changes in pre.1
    • All the changes from pre.2 to pre.16
      • Feature: New flower: Lily of the valley
      • Feature: Can now climb out of 2 blocks deep water
      • Feature: New model for the chisel, upgraded toolhead models
      • Feature: Can now plant barrel cacti in flowerpots and planters. New model for the bamboo sapling
      • Feature: The new chute variants, the clutch, large gear and archimedes screw are now survival craftable
      • Feature: Can now create multimaterial chiseled blocks. Combined chiseled blocks in the crafting grid to add materials. Use chisel tool mode to select material. Capped to 4 materials per block.
      • Feature: Improved support for attaching blocks to chiseled blocks. Blocks with a small attachment area can now also attach to small areas of a chiseled block.
      • Feature: Can now apply gold or silver plates to placed lanterns that have no lining to add lining.
      • Feature: Added world config option "days per month" to set the year length
      • Feature: Snow layer block upgrades
        • Added 2 and 3 layer snowed tallgrass
        • Snow covered topsoil now gets a snowed overlay
        • Players and creatures now sink deeper into the snow
        • Reduced movement speed when in deep snow
        • Now spawn a few snow particles when walking in snow
      • Feature: The farmland moisture level is now shown in the block info hud. High moisture now gives a small growth speed bonus. Fixed various issues related to farmland moisture.
      • Feature: Frost overlay system. Foliage, grass and other plants now will have a frost overlay if the temperature goes below freezing point
      • Feature: Performance improvemens:
        • Improved debug screen performance no longer causes lag spikes on its own. Might break things O_O. (Technical info: Update libcairo to allow multithreaded text rendering, thanks Fulgen!)
        • Improved creature spawn performance another source of lag spikes. (Technical info: Shape tesselation now happens in a seperate thread)
        • Switched to a more efficient noise generator in the shaders, should hopefully give a 1-2 millisecond frame time boost, maybe even more on low end cards (Technical info: Perlin Noise -> Value Noise)
        • Improve world map close and reopen performance (Experimental, technical info: no longer instantly discards chunk images, instead, only discards them 15 seconds of not being used)
        • Should fix lag spikes caused by the cellar system
        • Block place/break delay should now be much reduced around chiseled blocks, but still not instant in some areas
        • Should improve particle performance
        • Slightly improved client side world loading time
      • Tweak: Arrow heads can now be placed in the display case
      • Tweak: Removed all tool heads from the "Tools" creative tab
      • Tweak: Butterflies no longer spawn during low temperatures
      • Tweak: Added hacky multi monitor feature: The ability for dialogs to show up in the center screen by setting a left and right margin for dialogs to appear. e.g. on a 3 HD monitor setup, type this:
           .clientconfig leftDialogMargin 1920
           .clientconfig rightDialogMargin 1920
      • Tweak: Walking in snow now spawns some snow particles and walking in deep snow will slow you down
      • Tweak: Golden poppies now also rarely spawn in the world
      • Tweak: Deleting a savegame on MS Windows will now move it into the recycle bin instead of permanently deleting it
      • Tweak: Breaking voxels during chiseling now spawns some particles. Slightly more intelligent method of building the selection boxes
      • Tweak: Low to Medium chance of fixing
        • a) Leaving a server sometimes left the player online which then slowly died
        • b) Attempting to connect to a whitelisted or password protected server kicked the client before the reason of the kick arrived
      • Tweak: Green bamboo now drop green bamboo saplings and brown bamboo drops brown bamboo saplings
      • Tweak: Reduced default client connection timeout from 600 seconds to 120. Might slightly mitigate issues where players stay logged in after disconnecting
      • Tweak: Added ability for grid recipes to have variable tool durability costs (modders, use new property: "toolDurabilityCost")
      • Tweak: Added recipe to saw apart plank slabs and plank stairs
      • Tweak/fixed: can now place ingot piles, plate piles, peat piles and firewood piles on chiseled blocks if their upside is fully solid
      • Tweak/Fixed: Snow and ice that is not exposed to the sky never melted. It will do so now
      • Tweak: New texture for the edelweiss flower
      • Tweak: Hail has a wider spawn range, making it look less cut off in the distance, changed hail particle color a bit to look more hail like
      • Tweak: Enabling gl debug mode on an unsupported card should throw a more infromative exception now
      • Tweak: Mining bags now accept saltpeter
      • Tweak: Attacked animals should react a bit faster now
      • Tweak: Animals in low light levels now display that they will despawn in their block info
      • Tweak: Change hail particle color a bit
      • Tweak: Improved client side GetBlock(code) performance
      • Tweak: During winter wolves will seek other creature at increase range (15 -> 25) and become hungry faster (20 min -> 10 min)
      • Tweak: All animals during winter will loose weight and thus yield less meat. Can compensate with trough feeding
      • Tweak: During low temperatures the players hunger rate will increase by up to 50%. Can compensate by going into caves or staying in an enclosed room, the increase is only by 16% then
      • Tweak: Animal reproduction debuff
        • Now also requires males to eat food
        • Pregnant animals now require twice as long to bear young
      • Tweak: Crop debuff when exposed to -4°C or lower temperatures (seed drop rate stays the same)
        • Growing Crops will become growth stunted and yield 50% less produce
        • Ripe crops will become spoiled and yield 75% less produce
      • Tweak: Flowering or ripe berry bushed exposed to -4°C or lower will revert back to empty berry bushes
      • Tweak: The "Winter" music track should now play during winter
      • Tweak: Planks debuff. Logs now yield 12 instead of 16 planks
      • Tweak: Bighorn sheep and Boars will no longer spawn during the months december, january and february
      • Tweak: Sleeping now drains 3 time as much satiety
      • Tweak: Damage inflicted at a higher tier than the armor tier now removes 3 times as much durability from the armor piece
      • Tweak: Added "Harsh Winter" world config which is enabled by default. When disabled it will deactive the following newly added changes: Crop damage from low temperature, Reduced meat from animal harvest during winter and disabled sheep and boar spawning during winter.
      • Fixed: Setting Creative mode in worldconfig was not applied
      • Fixed: Medium carpets could be placed on top of eachother
      • Fixed: Quern progress bar derpiness
      • Fixed: More nugget smelting unit rounding issues
      • Fixed: Farmland not getting moist by nearby water
      • Fixed: Switching to backback slots showed the item info for the off-hand
      • Fixed: Server exception and broken blocks when using the creative mode paint brush with chiseled blocks
      • Fixed: Chiseled blocks not resistant against block mapping changes    
      • Fixed: Opening 2 knapping recipe selectors made the other go black
      • Fixed: Able to place rails on top of each other
      • Fixed: Jitter on the water surface effects when flying towards or away from it
      • Fixed: When hovering over an inventory item and then closing the dialog, then doing a left click will no longer take the item out of the inventory
      • Fixed: The server and client tick profiler no longer prints a first wrong result
      • Fixed: Stone bricks no longer survival craftable
      • Fixed: Slab placement mode no longer changeable
      • Fixed: Recipe selector crashing in some instances (when clayforming or smithing)
      • Fixed: Potentially fixed a rare race condition that corrupts the game state, causing players logging off from a server not seen as fully logged off
      • Fixed: Right click with an empty crock on an empty bowl crashing the game
      • Fixed: Game crashing when smithing voxels close to the block edge
      • Fixed: High FoV caused block clipping
      • Fixed: Shift+Left click on a crucible or cooking pot did not prefer the firepit input slot
      • Fixed: .reload textures did not properly reload some textures, amongst others the season and climate color maps. It also leaked memory each reload.
      • Fixed: Mitigate windwave/waterwave jitter, instead of happening every 10 minutes it now happens only every 100 minutes
      • Fixed: Should fix some rare issue where changing the time makes the seraph not sleepy forever
      • Fixed: Game crashing when breaking a scrap pile with the propick
      • Fixed: Some meal ingredients not showing up in cooked meals
      • Fixed: When a trader refreshed its inventory, it did not refresh the prices
      • Fixed: Game crashing with an unclear message when the installed .net framework is below version 4.5.1. It should now crash with a message to update .net
      • Fixed: Potential race condition issue causing all kinds of oddities on the server
      • Fixed: Entities falling below the world never despawned
      • Fixed: Work item rotation oddities on the anvil (now resets the rotation whenever the work item is removed)
      • Fixed: Weird artifacts on snow in the distance (reduced max mipmap level from 4 to 3)
      • Fixed: All json models (e.g. chiseled blocks) were tesselated twice and rendered twice. Zomg. Should improve performance and notably reduce block placing lag
      • Fixed: All creatures becoming invisible if their y-position is below 0
      • Fixed: /list banned crashing the game
      • Fixed: Crash related to the world map
      • Fixed: Lantern glass not rendered when in off-hand
      • Fixed: Singleplayer world list loading all files instead of only .vcdbs ones
      • Fixed: Moon always fully visible despite fog and clouds
      • Fixed: Falling snow deleted water blocks
      • Fixed: Animals could not pathfind through snow
      • Fixed: "x days until first temporal storm" message was shown in newly created worlds with temporal storms disabled
      • Fixed: Command "/ban player message" only allowed a single word as message
      • Fixed: Wolves falling asleep mid-chase
      • API Feature: The transform editor (.tfedit) now also supports tool rack and display case/shelf transforms (remove and place back block/item again to see updated transforms)
      • API Tweak: Added a patched version of cairo graphics that fixes a bug in multithreaded font rendering
      • API Tweak: Removed Enet library
      • API Tweak: New Property ICoreAPI.Logger
      • API Tweak: world.Blocks and world.Items are now of type IList<T> instead of List<T>
      • API Tweak: world.Blocks now will never return null and never return a Block instance whose id is 0. Non existant blocks will have their Code set to null however (not sure if will keep this behavior)
      • API Tweak: Upon asset loading the game will now reload its shaders so that patched vanilla shaders are loaded
      • API Refactor: Moved sapi.WorldManager.GetBlockAccessor to api.World.GetBlockAccessor. Old methods still there but marked obsolete
      • API Fixed: /wgen regen or by that extend api.WorldManager.BroadcastChunk did not send map chunks causing weird behaviors
      • API Fixed: A Blocks InteractStep methods were only called after the player stopped or canceled the interaction
      • API Refactor: Block.CanAttachBlockAt now has a new optional arg Cuboidi attachmentArea

     

     

    Tyron

    Dear Apple Users,

    with a heavy heart but also some level of relief I have to announce to you that I will no longer consider Vintage Story officially supporting MacOS. As much as I would like to continue supporting this platform, the lack of stable libraries and frameworks as well as Apples general developer hostile approach makes this goal untenable for me. It has already been a herculean task to get the game working on MacOS and Apple is not making it any easier going forward, particularly in light of recent events.

    Can you elaborate some more?
    - The rendering back-end, OpenGL, is officially considered deprecated by Apple, to be replaced by their own proprietary rendering API that only runs on their systems. If OpenGL is officially removed, it would mean I would need to program a completely new rendering back-end just for Mac OS. Not to speak that the OpenGL driver on mac os has a lot of strange quirks one has to take into account during development.
    - Apple has announced that starting from Mac OS Catalina it wants to quite literally forbid you from launching apps outside the App Store unless the developer goes through some very complicated and non-free certification processes.
    - It also seems that Mac OS Catalina completely broke the mouse movement API within OpenTK, a library that Vintage Story relies on.
    - In the near future Apple wants to switch their hardware from Intel to ARM processors, which would mean more drastic changes on how software has to be written for their platforms.
    In short, Apple is hostile to open, cross-platform software development.

    What about the future? Can I still play on Mac?
    I will continue shipping new versions with a Mac OS build for at least 6 months for those players that still run the game on Mac.
    It is also still possible that official support will come back some day, but for the near term I will de-prioritize Mac OS support.

    I got the game, what are my options?
    1. You are free to request a refund if you got the game and do not wish to await an uncertain future.
    2. If you can still run the game on Mac OS and want to continue doing so, I recommend you do not update to Mac OS Catalina.
    3. Alternatively, most modern 400 dollar laptops can quite decently run Vintage Story on low settings, in some cases even better than old Macbook pros. Intel. Be sure to look up its graphics card, and that it has at least 1000 benchmark points on videocardbenchmark.net (2000 recommended)


    Thank you for your understanding,
      Tyron
     

    Tyron

    Dear Seasonal Community
    v1.13-pre.1 can now be downloaded through the account manager

    Many of you requested it in the last poll, and we'll deliver. Here is the very first public (preview) release of the seasons update! Turns it its not that easy to build good season simulation 😄 - this is the end result of the cumulative work that spanned several updates - all the way back to version 1.9 where we added realistic climate bands, food preservation in 1.10 and snow and rainfall in v1.12.

    Please notice
    1. This is a bug-ridden preview release, mostly intended for modders and very adventurous players. You will encounter major bugs, incomplete features, performance issues and crashes.
    2. New "pre" updates will only be posted in discord #news and not on the blog. A new v1.13 blog post will come when the first release candidate is ready.
     

    Screenshots, Gifs, Videos

    Seasons! Seasonal foliage and temperature dependent plant growth
    seasonalfoliage2.gif.75dc988481aee8068c44e7339ce52906.gif


    Snow accumulates in winter and melts during summer (WIP)
    snowaccum.thumb.gif.9531d196158687bad861d3c5178960cd.gif


    Fine detail ambient occlusion with SSAO, for high end usersssao-fences.thumb.gif.e38706114a630d5377b661447a58d5f1.gif

    Specular sunlight reflections on water surfaces, more foamy water
    sunspecular.gif.5d714e98173339b70c60f70b684c4986.gif

    New Mechanical power blocks - the large gear and a clutch
    mechpower.gif.d35e7a4e0d4714ea78d753f0ba500391.gif

    Flowerpot and Planter rework, the planted flowers and plants now have new models and different models depending on the size of the pot.
    0-pots.thumb.png.3914a2adf849d35db47c53666dbcbc1a.png


    Chute rework. Added many more chute block variants, including an archimedes screw
    0-chutes.thumb.jpg.62669778389f85d945aa87d024e24bbd.jpg  archimedesscrew3.gif.c865477761a2827c3ff68dd3c41e6524.gif


    Experimental immersive first person mode


    The world map is now persistent, as in, it will no longer unload previously discovered areas
    0-pers-worldmap.thumb.jpg.105a6d8f94d939b60f7339a90289fe30.jpg

    Lots of new flora for hot and wet climates: Fern trees, crotons and rafflesias
    2020-07-06_18-47-15.thumb.jpg.9bc209a4bac8cf2cc850cc26b2e32f27.jpg

    Modders are no longer limited to cubic shapes, here's some pumpkins modded in by Novocain, which he modeled in Blender
    pumpkinobj.png.160ccbabc837bfd6c22204f2963693e4.png


    Game updates

    • Feature: Seasons
      • Seasonal foliage - pines will have different shades of green, blueberries will turn bright red and maples will have fancy yellow leaves during fall
      • Snow accumulation - many blocks can now be covered in snow, such as loose stones, tall grass, saplings, flowers, slabs, stairs and fences - even in unloaded chunks (WIP)
      • Realistic, season-, latitude- and season-aware day/night cycles
      • Correct hemisphere simulation. If you travel far enough south, the seasons will be flipped, i.e. Winter in July
      • Latitude and day/night-aware temperature simulation. Temperature now affects crop growth and the precipitation system. Reeds, Papyrus, Mushrooms and berry bushes will also stop growing during freezing temperatures
    • Feature: Increased graphical fidelty
      • SSAO Shader - greatly improves the shading of blocks and creatures when enabled
      • Specular sunlight reflections on water surfaces
      • New models for knife, spear, axe, hoe, shovel and arrows
      • Trader Outfit bonanza: They now wear a wide range of accessories
      • Water is now more foamy
      • Bamboo is now also randomly rotated
    • Feature: Experimental immersive first person mode. Makes it so you can see your own body also in the first person camera mode
    • Feature: Mechanical Power updates
      • Many bugs related to it were fixed
      • New block: The clutch to disengage parts from a powertrain
      • New block: A large gear that translates torque<=>speed and has multiple connectors for small gears (WIP)
    • Feature: Map persistence. Clients now store already visited map pieces locally
    • Feature: Flowerpot/planter rework. You can now plant bamboo, reeds, papyrus, crotons in them. Also several planted models received some updates. The pot and planter is now also ready to receive new plant-in-pot growing mechanics in the future.
    • Feature: Wide ranging performance optimizations. As usual we always try to counter the additional performance cost of new features by squeezing out ever more extra frames from the game engine:
      • Greatly reduced block update lag when building with hundreds of chiseled blocks. Reading block entities were a bottleneck, they can now be accessed much more quickly by the game engine (technical info: moved from an array to a dict)
      • Major entity optimization - signifcantly reduced the cost of having many entities loaded at the same time. (technical info: Player, Entity and Item Physics simulation should now run independently from the physics simulation tps (GlobalConstants.PhysicsFrameTime). This allows us to reduce the physics sim tps from 60 to 30, effectively doubling physics sim capacity. The physics simulation is one of the most costly cpu side operations for the client and server, so this should give a nice performance boost. Probably introduces some new physics oddities though.)
      • Several performance leaks fixed for long running worlds. A server with many players that runs for several days eventually ended up very laggy. (technical info: 1. farmland and berry bushes were not properly unloaded, causing creatures searching for food looking through an every increasing list of potential food sources, 2. the entity partitioning system did not seem to properly unload entities, again increasing search costs)
    • Feature: New ram optimization mode: "Aggressively optimize". Should theoretically save about 200 MB ram. In this mode the game
      • No longer preloads all sound files, but only loads them on-demand
      • No longer keeps shape files in memory, but unloads them after initial tesselation and loads them back in on-demand
      • Reduces max particles by half
      • Reduces actively held chunk data
      • Unused music files get unloaded
    • Feature: Survival handbook improvements
      • Tries to yield more intelligent results when searching
      • Added category tabs
      • Added ".reload handbook" command to more efficiently trial&error handbook entries for modders
      • Added Survival Guide, Progression guide and Mining guide
      • Removed some items that do not belong in the handbook
      • Added survival guide button to the escape menu
    • Feature: More item transport blocks
      • Added Archimedes screw for vertical item transport.
      • New 3way, T, straight and cross chutes for horizontal and splitting item transport
    • Feature: Jungle flora updates
      • Added fern trees
      • Added rafflessia flowers
      • Added croton plants
      • Jungles should now be more forested and grassier
    • Feature: New world customization options
      • Added Polar-equator distance: Lets you define how far you have to travel north or south to reach the pole or the equator
      • Added starting climate: At long last, you can now now select in which climate band you want to spawn
      • Added season switch: Lets you disable the passing of seasons
      • Added global forestation modifier: Change the amount of forest your world has
      • Microblock chiseling is now enabled by default, but only for wood and stone material blocks. Added new config option to enable it for most cubic blocks.
    • Feature: Added new rain sound when in forests
    • Feature: Beds are now bouncy
    • Feature: Discovery of lore items now more epic with a gong and announcement message
    • Feature: Added toggle sprint setting. Lets you press down the sprint button only once to activate instead of needing to hold it down continuously
    • Feature: Improved remapper assistant. The tool that helps you upgrade your world to a new version just got easier to use. It now also offers to back up your world and after the remapping is completed, single player worlds will automatically reload
    • Feature: Rotatable anvils
    • Tweak: World Edit Gui Import Tool: Added 2 buttons to rotate the selection CW or CCW
    • Tweak: Updated language files. Added dutch translations \o/
    • Tweak: Made the slope test block rotatable just because.
    • Tweak: Added "Open Logs Folder" to the launching/connecting server screen
    • Tweak: /serverconfig setspawnhere now prints the coordinates in the correct notation
    • Tweak: Lowered the sun a bit, makes sunsets and sunrises look less awkward with the sun still up but everything dark already
    • Tweak: The Handbook browse history now also remembers the scroll position
    • Tweak: Disabled save game setting "AllowCreativeMode" because its confusing, and cannot be enabled again, so it trips up people. Creative mode is now always allowed given the right privileges
    • Tweak: Increased the flee detection range for most animals, therefore when sneaking this range is reduced by 40%
    • Tweak: allowCoordinateHud worldconfig now also affects the coordinates in the debug screen
    • Tweak: Journal Entries are now translatable
    • Tweak: Updated /time command
      • Now displays the date in a day.month.year format
      • Added subcommand /time setmonth [1..12] or /time setmonth [jan..dec]
    • Tweak: Updated weather related commands
      • Can now do /weather setprecip [0..1 or auto] to set set a permanent override precipitation level
      • Can now do /snowaccum [on|off] do toggle snow accumulation
      • Can now do /snowaccum here [0..4] to test snow accumulation for the current chunk
    • Tweak: Farmland now internally works with a moisture level instead of a watered yes/no value. This will allow future updates to the crop growth mechanic.
    • Tweak: Changed how precipitation works. It is no longer a separate weather pattern, but a function of time that is overlaid onto cloud patterns. This was necessary to simulate snow accumulation efficiently, but also would allow for precise weather forecasts in the future or for modders.
    • Fixed: Scrollbar issues in the mods manager at non-8 gui scales
    • Fixed: Vertical jitter when sprinting
    • Fixed: Elusive orange lupine not being generated
    • Fixed: Should fix the game crashing when using a completely empty json block model
    • Fixed: Satiety draining while in creative mode
    • Fixed: Plank stairs and slabs texture not aligning correctly with one another
    • Fixed: Water was no longer having any wavy motion
    • Fixed: Should fix a crashing issue when placing troughs in rare cases
    • Fixed: Curable/Perishable info texts were not translatable
    • Fixed: Disabling the survival mod made a creative world not start
    • Fixed: "Ready to mate" info on dead animals
    • Fixed: Flowing water deleting torch holder blocks
    • Fixed: Throwing spears pulled other spears from distant chest inventories
    • Fixed: /admin landfree removed the admins claims instead of claims of the supplied player name
    • Fixed: Various typos fixed in-game and in code
    • Fixed: Constructing pile of boards dupe bug
    • Fixed: Rare crash related to the particle system (by making chisel blocks a bit more thread safe)
    • Fixed: .reload shapes broke all creature animations (no animations were playing anymore)
    • Fixed: Server throwing exception when typing "{test}" into the console
    • Fixed: A charcoal lit text was not translatable
    • Fixed: Hoppers no longer push items into the quern output slot
    • Fixed: /time calendarspeedmul not sent to client causing sun jitter. Also was not saved to the savegame.    
    • Fixed: Various open file/folder buttons crashing on linux
    • Fixed: Scythe showing as a usable tool instead of knifes on several blocks
    • Fixed: Admin survival players non able to break their own reinforced blocks
    • Fixed: Should fixed chiseled blocks not supporting non 32x32 textures
    • Fixed: Reinforced lanterns broke on first attempt
    • Fixed: Windows Font DPI Setting no longer messes with the in-game fonts

     

    API Updates

    • Feature: Completed implementation of .obj and .gltf loader. Blocks and Items can now also use .obj or .gltf files for their models
    • Feature: Added harmony lib to improve mod support - you can use it to patch native code, see also official docs
    • Feature: Added api.Event.OnGetClimate event. Used by the survival mod to adjust the already existing worldgen based temperature value to the current season, latitude and daytime dependencies        
    • Feature: New event IngameDiscovery displays large centered text in a fancy font
    • Feature: Added a side independent network api. Added a .GetChannel() method. This simplifies network setup and reduces code repetition. See Example code below
    • Feature: Added GameMath.CyclicValueDistance()
    • Feature: Added zOffset per shape element capability (not yet editable in VSMC)
    • Tweak: Dropped obfuscation on 35k client code
    • Tweak: Add RequiredOnServer property to ModInfo
    • Tweak: Allow code mods without ModSystems to be loaded as long as they have a ModInfo attribute
    • Tweak: New animation meta data property "holdEyePosAfterEasein". Can be used to freeze the camera in place in the immersive fp mode. Added that for smithing and knapping so far.
    • Tweak: Added a globally unique identifier for savegames. (savegame.SavegameIdentifier)
    • Tweak: Added 'SQLiteDB' to the api, a basic helper class to set up a sqlite database, check out MapDB in the essentials mod for an example use case
    • Tweak: Renamed IBlockTextureLocationDictionary to ITextureLocationDictionary
    • Refactor: Renamed IntMap to IntDataMap2D
    • Refactor: IGameCalendar.Season is now GetSeason(), as the season now depends on the hemisphere at given location
    • Refactor: Some renaming of the EnumServerRunPhase values, but left old ones in as [Obsolete] for now. Added one new server runphase thats just before loading the first spawn chunks
    • Refactor: Removed Api.World.Calendar.DayLightStrength on the server side. Instead, retrieve the daylight strength with .GetDayLightStrength(double x, double z). The day light strength propery on the client side still exists, but now is the day light strength at the players position.
    • Refactor: IBlockAccessor.GetClimateAt() now has a new arg "EnumGetClimateMode mode" to retrieve the current temperature values
    • Refactor: GameMath.FastSqrt is now obsolete. Apparently it is slower than plain Math.Sqrt *facepalm*
    • Refactor: world.RayTraceForSelection() now has an additional arg take accept an optional entity filter. If you use this method, you might want to add (e) => e.IsInteractable as entity filter, as this was the previous behavior
    • Refactor: entity.EyeHeight is now entity.LocalEyePos
    • Refactor: entity.LocalPos is now called entity.SidedPos
    • Refactor: sapi.WorldManager.LoadChunkColumnFast is now called sapi.WorldManager.LoadChunkColumnPriority
    • Refactor: Renamed BlockMPBase.HasConnectorAt to HasMechPowerConnectorAt (only relevant for modded in mechanical power blocks)
    • Refactor: Cleaned up paths and naming on a lot of block shape files
    • Major Client-Side Refactor: meshdata.Rgba2 is no more. No longer needed as climate tint is now sampled by the shader instead of baked into the vertices. Consequently:
      • new MeshData() now takes one argument less.
      • The standard shader no longer has the prog.RgbaBlockIn property
      • Block.TintIndex is gone, replaced by Block.ClimateColorMap and Block.SeasonColorMap
      • The VS ModelCreator no longer has a tint index field, replaced by 2 text fields for the climate color map and season map. Be sure to open the new shape files with the new editor.
      • capi.ApplyColorTintOnRgba(tintIndex, ...) is now capi.World.ApplyColorMapOnRgba(ClimateColorMap, SeasonColorMap, ...)
      • Any meshes that get added to a chunk mesh (e.g. by block entities) require meshdata.SeasonColorMapIds and meshdata.ClimateColorMapIds to be non-null (initialize with verticescount/4 zeros if no color mapping is needed)
      • capi.Tesselator.TesselateShape() no longer takes 1 tint index, but 2 ints a seasonColorMapId and climateColorMapId
      • capi.Render.PreparedStandardShader() now accepts a Vec3f to pass on a color multiplier
      • capi.Render.AllocateEmptyMesh() no longer accepts "int rgba2Size"
      • meshData.XyzFaces is now a byte array instead of an int array to save ram
      • meshData.Renderpasses is now a short array instead of an int array to save ram
      • meshData.XyzFaces now need to hold the face index plus 1 (0 for no face, 1 for north, 2 for east, etc...)
      • Added api.RegisterColorMap() to register a color map that is (optionally) inserted into the block texture atlas, added config/colormaps.json for json loading of color maps.
      • The shaders explicits attrib locations for several shaders shifted by -1 (since we no longer upload Rgba2 data)
         
    • Fixed: The Array Extension .RemoveEntry<T>() garbled the resulting array when removal index was 0
    • Fixed: Using <font> in Richtext caused the text to loose its orientation
    • Fixed: Renamed Block.OnNeighourBlockChange() to Block.OnNeighbourBlockChange(), and this method is now also called client-side
    • Fixed: block type property RandomizeRotations ignoring the RandomizeAxes property
    • Fixed: Crafting recipes that referenced blocks/items that existed but were remapped did not log an error



    New simplified Network api sample code, in this case sending custom data to any connecting player:

            public override void Start(ICoreAPI api)
            {
                api.Network.RegisterChannel("latitudedata").RegisterMessageType(typeof(LatitudeData));
            }
    
            public override void StartClientSide(ICoreClientAPI api)
            {
                api.Network.GetChannel("latitudedata").SetMessageHandler<LatitudeData>(onLatitudeDataReceived);
            }
    
            public override void StartServerSide(ICoreServerAPI api)
            {
                api.Event.PlayerJoin += (plr) =>
                {
                    api.Network.GetChannel("latitudedata").SendPacket(latdata, plr);
                };
            }

     

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.