Skip to content

InsideDev 0.10.0

Choose a tag to compare

@sashaok123 sashaok123 released this 04 Nov 17:06

A 360 degree panorama command, a much cheaper muter, less garbage per frame

Everything new runs only when you call it, and the game sound is still never muted unless you start InsideMuter yourself. One
built-in limit changed for everyone: a detached MCP job may now run 45 minutes instead of 10.

  • 360 degree panorama (pano, with Play). One console command writes an equirectangular PNG that panorama viewers open
    directly, with a JSON file that says where the eye was. Each of the six cube faces is an ordinary game frame, so the picture
    is what a screenshot would show there. A 4096x2048 panorama took 2.3 to 2.7 s in all, of which the picture jumps around for
    0.2 to 1 s (13 frames at a 2560x1440 game view), tried at places along a long bunker route in a mod scene.
  • Limits for a first-person camera's free look (campath mount). Two new optional arguments clamp how far the head may tilt
    the view up and down outside the timed looks, for example on a ladder, while a timed look can still reach as far as
    pitch_max. Leave them out and nothing changes.
  • InsideMuter 3. The optional muter costs about 3 % of a core instead of 40 to 60 % (measured without the game, 25 s test:
    62 % against 2.7 %), with the same 50 ms mute poll and the same heartbeat.
  • Less garbage every frame in the core. The main loop keeps its delegates instead of making about 2 KB of new ones per frame,
    and the Wwise trace went from 11.9 KB to 0.0-0.2 KB per call in a heavy mod scene. No behaviour changes.
  • A better profiler. perf says how many garbage collections ran since perf reset and the longest pause among them, names
    the MCP server's parts (mcp.log, mcp.pump, mcp.discovery, mcp.sweep), and perf hide / perf show switch the renderers
    of a part of the scene off and on to measure what they cost.
  • Long MCP jobs are no longer cut at 10 minutes. A lockstep pass runs below real time on a busy machine: a 431 s take needed
    about 660 s of wall clock and was cut at 600 s. The other side: a job that hangs holds the control lane longer; restore or
    jobs {op:"cancel"} ends it at once.

New pitfalls from real filming are in the docs, each marked observed or inferred: the player-side clamp on keyed cameras, holds
under catmull, the plan pass and pinned CPU cores, and first-person flicker with a far clip.

How to use it all, step by step: docs/PLAY.md sections 4.7, 4.8 and 7.8, docs/MCP.md sections 8 and 13.1, docs/AUDIO.md section 11, docs/MULTICAM.md sections 12 and 16.

Everything you need is in the zip: copy bin\InsideDev.dll, bin\InsideDev.Mcp.dll and bin\InsideDev.Play.dll over the old ones in <game>\_mod\ (and tools\mcp\InsideDev.McpStdio.exe if you use the stdio launcher, tools\muter\InsideMuter.exe if you use the muter).