Moderator: GZDoom Developers
Marisa Kirisame wrote:Edit 2: Wow this needed way less work than I imagined. The thing now is... should it be a flag to disable skybox ao or to enable it? Think I'll go with the latter seeing as the vast majority of mappers would probably want it that way.
Since it uses the IsSky() virtual to check, it also affects stacked sectors due to them technically reporting themselves as skies. I have not found a way around this.
//============================================================================
//
// All information about a sector plane portal
//
//============================================================================
enum
{
PORTS_SKYVIEWPOINT = 0, // a regular skybox
PORTS_STACKEDSECTORTHING, // stacked sectors with the thing method
PORTS_PORTAL, // stacked sectors with Sector_SetPortal
PORTS_LINKEDPORTAL, // linked portal (interactive)
PORTS_PLANE, // EE-style plane portal (not implemented in SW renderer)
PORTS_HORIZON, // EE-style horizon portal (not implemented in SW renderer)
};
enum
{
PORTSF_SKYFLATONLY = 1, // portal is only active on skyflatnum
PORTSF_INSKYBOX = 2, // to avoid recursion
};
struct FSectorPortal
{
int mType; <------------- here
int mFlags;
};
!di->mCurrentPortal->IsSky()
!di->mCurrentPortal->lines[0].secportal->mType==PORTALTYPE_SKYBOX
applySSAO = (strcmp(di->mCurrentPortal->GetName(),"Skybox") || di->Level->flags3&LEVEL3_SKYBOXAO);
Marisa Kirisame wrote:Found a way to access that, although it's not very pretty and I have no idea if what I'm doing is "correct", I've swapped the
- Code: Select all • Expand view
!di->mCurrentPortal->IsSky()
line with a
- Code: Select all • Expand view
!di->mCurrentPortal->lines[0].secportal->mType==PORTALTYPE_SKYBOX
Unfortunately this seems to be wrong because now ALL portals have no AO.
Return to Closed Feature Suggestions
Users browsing this forum: No registered users and 2 guests