Commit Graph

71 Commits

Author SHA1 Message Date
Leon Friedrich
b6797afe52 Move TestPair & PoolManager to engine (#36797)
* Move TestPair & PoolManager to engine

* Add to global usings

* A

* Move ITestContextLike to engine

* Readd cvars partial class

* cleanup diff
2025-09-21 17:17:43 +12:00
Pieter-Jan Briers
bebc077fcc MapRenderer code fixes (#38357)
* Fix MapRenderer integration test usage to properly show output.

Added an ITestContextLike interface that can be used to properly run the integration test infrastructure OUTSIDE A TEST.

* Use System.Test.Json instead of Newtonsoft.Json for MapRenderer

* Fix map renderer JSON output being broken

I love not testing or even reading the surrounding code.

* Fix un-reusable integration instances getting leaked.

The pair state was always getting set to Ready even if the instance was killed, meaning it was getting put back into the pool even if killed.

* Mark map renderer integration instances as destructive to avoid memory leak.

* Fix file specification handling.

Map file specification is now backwards compatible again (loose filename match to search prototypes). It also supports proper direct OS filename arguments. The former is the fallback scenario is extremely important for the map server still.

Cleaned up the way that target map files are passed through the application, so mixed file/prototype specifications are now handled properly (which can be caused by the fallback behavior).

Fixes JSON data export to use the proper user-facing map name. This only works if a prototype ID is specified *or* the legacy file behavior is used.

Restructured MapPainter into an instance that has multiple functions called on it, so not all data has to be passed through a single Paint() call.

Clean up the godawful map/grid detection code. Now we just load both in a single call, because yes you can do that. This relies on LogOrphanedGrids = false in the map loader options, which I think is fine for our purposes.

Improved error handling in much of the program.

* Fix duplicate map names in map renderer output

I'm not sure *what* this output is used for, but I'm sure having it duplicated per grid isn't intentional.

* Make maprenderer command line parsing bail on unknown - options

* Fix incorrect docs for --viewer maprenderer argument

It doesn't change directory layout

* Fix parallax layer specification to not use imgur as a fucking CDN

Files are now copied to a separate folder _parallax, and these files are referenced by the parallax configuration.

Parallax data is only output when instructed to via --parallax.

This will break parallax on current map server builds, but it should be graceful. Also, that's fucking good considering we shouldn't be using imgur links. Purge it.

* Fix incorrect assert in test pair clean return

* Restore other map viewer parallax layers, fix attribution.

* This isn't a valid copyright statement but the validator forces me to enter something here.
2025-06-26 14:47:39 +02:00
Tayrtahn
69354f59c8 Cleanup SpriteComponent warnings in map renderer (#37609)
* 3 warnings in EntityPainter

* 1 warning in MapPainter
2025-05-19 12:52:04 -04:00
SlamBamActionman
cba88dc2dc Add support for rotatable tiles in map renderer (#37342)
* Initial commit

* Fixyfixfix
2025-05-14 20:12:14 -04:00
Vlad
d9542ae700 Map renderer rework (#37306)
* Update TilePainter.cs

* Add support for custom offsets, grid files, and markers

* Dynamic file category handling
2025-05-12 00:06:09 +10:00
Morb
4692d3ae48 Remove test maps from MapRender (#32649)
Remove test map prototypes from render list
2025-04-17 20:34:41 +10:00
Tobias Berger
812d47bb2d Choose correct state when rendering entities (#36409) 2025-04-11 03:56:02 +02:00
Nemanja
c7fcbe8c16 map renderer fixes (#29523)
* map renderer fixes

* remove useless casts
2024-06-28 10:09:05 +10:00
Leon Friedrich
6e83c4d570 Update component query benchmarks (#27967)
* Add more component query benchmarks.

* Rename benchmark
2024-05-19 11:55:10 +10:00
Pieter-Jan Briers
68ce53ae17 Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
2024-02-13 16:48:39 -05:00
Pieter-Jan Briers
a6c9c36b68 Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI
2024-01-12 23:22:01 +01:00
metalgearsloth
88de2e8407 Fix MapPainter (#22290) 2023-12-10 22:19:26 +11:00
metalgearsloth
269c93245d Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-11-27 22:12:34 +11:00
DrSmugleaf
651dffba16 Fix map renderer (#21515) 2023-11-07 14:27:01 -08:00
metalgearsloth
5b8f3c48c4 Revert "Update submodule to 175.0.0 (#21318)" (#21319) 2023-10-29 15:29:30 +11:00
metalgearsloth
9b1b3e03ed Content audio (#20862) 2023-10-29 14:58:23 +11:00
Leon Friedrich
e685cb626b Un-revert IPlayerManager refactor (#21244) 2023-10-28 09:59:53 +11:00
metalgearsloth
a2bbda43cc Revert "Update submodule to 172.0.0 (#21222)" (#21225) 2023-10-24 21:55:20 +11:00
Leon Friedrich
7ba0ea2926 IPlayerManager refactor (#21215) 2023-10-24 20:19:08 +11:00
DrSmugleaf
5c15f52703 Fix entities getting shuffled in the map renderer (#20100) 2023-09-13 00:12:35 -07:00
DrSmugleaf
4b13d0cbc2 Fix the map renderer not rendering entities (#20082) 2023-09-12 14:39:41 -07:00
Visne
9bd30d57ad Remove obsolete PoolManager methods (#19499) 2023-08-25 12:13:11 +10:00
Visne
3c667b6f7e Remove obsolete TestPair.Pair (#19496) 2023-08-25 10:56:51 +10:00
TemporalOroboros
7cdc7ab972 Fix warnings in MapRenderer module (#17865) 2023-08-08 11:07:08 +10:00
Leon Friedrich
9c84108672 Change default test pooling options. (#18732) 2023-08-06 12:30:28 +10:00
Leon Friedrich
d58786faf4 Remove PoolSettings.ExtraPrototypes option (#18678) 2023-08-05 14:16:48 +10:00
metalgearsloth
68480af109 Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
metalgearsloth
c82d1b437e Fix some MapPainter warnings (#17639) 2023-06-26 01:56:20 +10:00
DrSmugleaf
ca8adf10aa Fix map renderer error when painting decals with paths that start with /Textures (#16822) 2023-05-25 20:46:27 -05:00
Julian Giebel
9f3f3b4998 Remove checking for SpriteComponent on the server (#16821) 2023-05-25 16:17:48 -06:00
Leon Friedrich
f99533a7bf Remove server and shared sprite component (#15917) 2023-04-30 16:09:52 +10:00
DrSmugleaf
d2533265c5 Fix map renderer erroring on tiles with an empty sprite string (#15849) 2023-04-27 11:46:29 -07:00
DrSmugleaf
82e1c2104a Fix map renderer build (#15543) 2023-04-19 13:25:23 -07:00
Pieter-Jan Briers
c5b3f62f6f Update project files for configuration changes. (#14281) 2023-03-06 11:38:07 -08:00
metalgearsloth
37f432ca58 Procgen biomes (#13487)
* Planetmap tiles

Biomes etc etc

* a

* oop

* Chunk-based rendering

* funny

* Less allocations

* Fix overdraw

* Content tile edge support

Also updated grass to use it as a POC.

* Kindly revert

* Update for variant edges

* fixes

* Use fastnoise

* Remove redundant group

* a

* refactor a fair bit

* Prototype data instead

* tweaks

* a

* fix maths

* working

* a

* Slightly better empty support

* a

* flowers

* sounds

* lewd

* Networking

* more fixes

* better

* colours

* Some chunk loading

* Proper loading and unloading

* Better loading

* Fix parallax and movement sounds

* Anchoring support + decal setup

* Most of the way to load and unload

* Decal loading kinda werkin

* large trees

* started diffing

* a

* Variant support and deserts

* a

* snow

* agony, even

* working again

* todo

* a

* laba tiles

* aeiou

* a

# Conflicts:
#	Resources/Prototypes/Entities/Tiles/planet.yml
#	Resources/Prototypes/Tiles/planet.yml
#	Resources/Textures/Tiles/Planet/Lava/lava.rsi/meta.json

* laba

* Add lava

* Initial ignition

* triggers

* a

* a

* y

* Add basalt tiles

Did some unconventional things for the animation + rocks.

* fixies

* mergies

* promotion

* lava biome

* Lava planet start

* cleanup and more lava

* laba

* maccas

* biome stuf

* weh

* bongflicts

* aeaeae

* More fixes

* a

* these too
2023-02-12 02:15:09 +00:00
metalgearsloth
b82622749d Fix maprenderer crash (#13692) 2023-01-25 21:08:05 -04:00
Leon Friedrich
8f352f87c2 Decal state handling (#12624) 2022-12-19 06:28:46 +11:00
metalgearsloth
3b3963083b Replace GridEntityId with Owner (#12743) 2022-12-12 14:59:02 +11:00
Pieter-Jan Briers
acdc92d0ab Pull TFM on missing content projects from robust props files. (#12872) 2022-12-05 20:22:38 +01:00
metalgearsloth
6c76061887 Content changes for mapgrid kill (#12567) 2022-11-22 13:12:04 +11:00
Pieter-Jan Briers
bbca523756 Enable server GC by default on some relevant projects. (#12674) 2022-11-20 14:49:36 +11:00
Julian Giebel
ac99f4dd5e Map renderer file name option (#12463)
* Add option for supplying map names instead of ids as argument

* Allow options to be used with the map selector
2022-11-08 08:03:34 -06:00
metalgearsloth
c9a2ab1cee Remove transform methods from mapgrid (#12233) 2022-11-01 11:27:18 +11:00
Mervill
920fde469d QoL for the MapRenderer tool (#11921) 2022-10-15 00:10:53 +02:00
DrSmugleaf
b62ee2b1b4 Add selecting maps to render when running MapRenderer, fix rendering multiple maps (#11783) 2022-10-09 16:36:18 +11:00
Julian Giebel
1390cd4019 Add webp and json generation options to the map renderer (#10367) 2022-08-13 22:50:03 -07:00
metalgearsloth
a549a85e81 Update tiles to modern standards (#10436) 2022-08-10 17:05:40 +10:00
metalgearsloth
dfec3a10a5 Update submodule to 0.38.1.0 again (#10481) 2022-08-10 16:37:43 +10:00
metalgearsloth
044e688ce8 Revert "Update submodule to 0.38.1.0 (#10473)" (#10479) 2022-08-10 15:33:53 +10:00
metalgearsloth
2aa08c7627 Update submodule to 0.38.1.0 (#10473) 2022-08-10 13:49:45 +10:00