Skip to content

Release 10

Compare
Choose a tag to compare
@PraxisMapper PraxisMapper released this 29 Jun 19:17
· 220 commits to master since this release

Release 10 runs on NET 7. Plans to build on NET 8 have been scrapped, as dependencies I use no longer make a beta build working on the development version of NET available.

This release adds in some logic to make likely searches simpler, GDPR compliance to some extent, and another demo named RoutineBreaker.

Core:

  • NameGenerator now adds English vowels, consonants, and a {makeword} token to generate a random, plausible word out of them.
  • New function: GeometrySupport.UpgradePointToArea added, pass it a Point and it'll return the smallest geometry surrounding it. Can also be limited to a matching style in a styleset, so you can limit this to 'building' or such if you know you want a particular Place to draw it as.
  • New GameTool: MeterGrid allows you to create custom grids based on their size in meters. This is the same math used by Orna and GPS Monster Scouter to create gameplay grids, and I believe both of those use 500 meters as their values. Can directly save to and load from the AreaData table, including secure options.
  • New extensions for converting distances in degrees or meters to the other unit, using DistanceDegreesLatToMeters , DistanceMetersToDegreesLat, DistanceDegreesLonToMeters , DistanceMetersToDegreesLon. This should make using linear distances simpler.
  • Added Place.FindGoodTargetPlaces, which lets you search for Places that are inside another Place and within a min/max distance. This is intended to help pull up locations to ask a player to visit that are worth driving to (EX: Finding a historical/tourist/cultural point inside a park/nature reserve/university). This returns the inner points of interest. Use this to pull up a historical marker in a nature reserve.
  • Added Place.FindParentTargesPlaces, which uses the min and max distance to find all Places that cover other Places. This returns the list of parents that cover points of interest. Use this to pick the nature reserve with historical marker(s) in it.
  • Added Place.FindAnyTargetPlaces, which uses the min and max distance and then simply returns all places found in the style set without further filtering.
  • Added Place.FindPlacesInPlace, which returns all Places inside the given Place that are a game element style. Useful for when the player is in a large Place and might want to visit Places inside (EX: At a nature reserve, are there any other Points inside it specifically to visit). Also possibly useful as a very simple scavenger hunt list.
  • Added Place.GetPlace() to pull all the data on a single Place by PrivacyId.
  • Various optimizations across the app.

Server

  • New Endpoint: /Server/GdprExport allows a logged-in user to receive all data stored about them specifically.
  • New Endpoint: /Server/GdprExport/{username}/{password} allows a user to receive all data stored about them specifically without being logged in.
  • Now shows some local IPs that Kestrel is listening on after startup is completed.
  • Splatter demo now server-side validates a player has points to spend before spending them. Was previously client-only.

Larry

  • Processing coastline water polygons has been fixed and improved.
  • Fixed skipping blocks when stopping/resuming PBF processing.

Demo:

  • RoutineBreaker demo: A demo that keeps a list of places you've visited, and pushes you to go to new Places. Client included in the /Content folder.