Currently, it is possible to display a region of the map in a secondary map control by creating a HUD object with a screen_loc corresponding to that secondary map, and adding the turfs of that region to that hud object's vis_contents. SS13, tgstation in particular, uses this approach for security camera consoles.
This works well enough when the focal point of the secondary map is supposed to be a stationary atom. If, however, you want a secondary map to smoothly track a moving atom, such as a mob, you would probably have to do some roundabout code that tracks when the atom moves, add newly visible turfs to vis_contents, animate the HUD object in accordance with the atom's movement, and remove the no longer visible turfs from vis_contents.
Unless there's something about how Dream Seeker handles secondary map controls I wouldn't know about, it would probably be a lot easier to allow secondary map controls to track moving atoms in the same way that the main map control tracks the client's eye. To this end, I propose adding a set of params to map controls that function similarly to the corresponding client vars:
- color
- dir
- eye
- edge_limit
- glide_size
- lazy_eye
- perspective
- view
ID:2900429
Nov 20 2023, 10:45 pm
|
|||||||
| |||||||