Author Topic: OutpostHD updated to NAS2D v1.4.2  (Read 3577 times)

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2352
  • OPHD Lead Developer
    • LairWorks Entertainment
OutpostHD updated to NAS2D v1.4.2
« on: May 23, 2017, 03:10:53 AM »
As with my previous post about updating the middle ware that OutpostHD is built on, I've updated it again. This one fixes a few more issues and adds in several new features.

Specifically, this version of NAS2D allows for dynamic resizing of the game window during runtime and the ability to switch back and forth between fullscreen and windowed modes. I haven't added these functions to OutpostHD yet but I've been experimenting with it in several other projects and it works well.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
Re: OutpostHD updated to NAS2D v1.4.2
« Reply #1 on: May 23, 2017, 02:16:40 PM »
Hey, good features to have. What about tabbing in and out of full screen games?

I've had some games in the past that crashed when you tabbed in or out of them.

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 2352
  • OPHD Lead Developer
    • LairWorks Entertainment
Re: OutpostHD updated to NAS2D v1.4.2
« Reply #2 on: May 23, 2017, 08:02:37 PM »
That's handled seamlessly. That happens mostly because of the way their resources are handled. If you lose a rendering context you would need to reload those assets afterward. Because of the way NAS2D handles its rendering context and assets internally, resources don't need to be reloaded when a window is minimized or hidden.

It also helps that there are two versions of 'fullscreen' mode. There's 'fake' fullscreen which is a borderless window that fills the entire desktop resolution and there's the 'real' fullscreen which actually involves a resolution change. In either case the rendering context is maintained and so tabbing out won't cause crashing due to loss of resources.

It is, however, up to the application to respond to window minimize/hide events for things like pausing and generally behaving. I figure that's something that the application developer should be responsible for (comes from the way Windows treats applications and requires that developers build applications that play nice).