Created
April 20, 2022 17:50
-
-
Save Sajidur78/8ec42a011ed5d8df3a2ead2eae3007bf to your computer and use it in GitHub Desktop.
Binary template for Lost World's .hhd files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
enum<byte> bool { False = 0, True = 1 }; | |
typedef struct { float x; float y; float z; float w<hidden=true>; } vector3; | |
enum<byte> GIModeTypes { | |
GIMODE_NORMAL = 0, | |
GIMODE_ONLY = 1, | |
GIMODE_NONE = 2, | |
GIMODE_SHADOW = 3, | |
GIMODE_SEPARATED = 4, | |
}; | |
enum<byte> LightFieldModeTypes { | |
LFMODE_NORMAL = 0, | |
LFMODE_ONLY = 1, | |
LFMODE_NONE = 2, | |
}; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); float gammaTVWiiU; | |
FSeek(p + 4); float gammaDRCWiiU; | |
FSeek(p + 8); bool fixedLdr; | |
FSeek(p + 9); GIModeTypes giMode; | |
FSeek(p + 10); LightFieldModeTypes lightFieldMode; | |
FSeek(p + 11); bool drawLightFieldSamplingPoints; | |
FSeek(p + 12); bool updateLightFieldEachFrame; | |
FSeek(p + 13); bool drawLightFieldRegion; | |
FSeek(p + 16); int screenshotLargeScale; | |
FSeek(p + 20); bool drawFxColGeom; | |
FSeek(p + 21); bool drawFxColName; | |
FSeek(p + 22); bool drawLocalLightSphere; | |
} FxSceneConfig; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); float rangeDefault; | |
FSeek(p + 4); float rangeNear; | |
FSeek(p + 8); float rangeMiddle; | |
FSeek(p + 12); float rangeFar; | |
} FxCullingSettings; | |
enum<byte> PeepingPlayerType { | |
TYPE_DEFAULT = 0, | |
TYPE_EDGE = 1, | |
}; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); float skyIntensityScale; | |
FSeek(p + 4); float skyFollowupRatioY; | |
FSeek(p + 8); bool pseudoFogEnable; | |
FSeek(p + 9); bool pseudoFogWithoutFar; | |
FSeek(p + 10); bool pseudoDof; | |
FSeek(p + 11); bool deepBlurEnable; | |
FSeek(p + 12); bool noBlurEnable; | |
FSeek(p + 16); float blurScale; | |
FSeek(p + 20); bool peepingPlayerEnable; | |
FSeek(p + 24); float occCheckedPlayerTime; | |
FSeek(p + 28); PeepingPlayerType peepingPlayerType; | |
FSeek(p + 29); bool clearFirstSurface; | |
FSeek(p + 30); bool useManualZPrepass; | |
FSeek(p + 31); bool useCaptureFramebufferColor; | |
FSeek(p + 32); bool useCaptureFramebufferDepth; | |
FSeek(p + 33); bool playerDrawOverlay; | |
} FxSceneSettings; | |
enum<byte> EyeLightMode { | |
LIGHTMODE_DIR = 0, | |
LIGHTMODE_POINT = 1, | |
}; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool globalLightEnable; | |
FSeek(p + 1); bool ambLightEnable; | |
FSeek(p + 2); bool allLocalLightEnable; | |
FSeek(p + 3); bool eyeLightEnable; | |
FSeek(p + 4); EyeLightMode eyeLightMode; | |
FSeek(p + 16); vector3 eyeLightDiffuse; | |
FSeek(p + 32); vector3 eyeLightSpecular; | |
FSeek(p + 48); float eyeLightRangeStart; | |
FSeek(p + 52); float eyeLightRangeEnd; | |
} FxLightSettings; | |
enum<byte> SaturationScalingType { | |
SATURATION_KEEPING_LUMINANCE = 0, | |
SATURATION_KEEPING_BRIGHTNESS = 1, | |
SATURATION_NONE = 2, | |
}; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool ignoreData; | |
FSeek(p + 1); byte defaultUpdateInterval; | |
FSeek(p + 16); vector3 offsetColorUp; | |
FSeek(p + 32); vector3 offsetColorDown; | |
FSeek(p + 48); SaturationScalingType saturationScalingType; | |
FSeek(p + 52); float saturationScalingRate; | |
FSeek(p + 56); float luminanceScalingRate; | |
FSeek(p + 60); bool disableFinalAdjustColor; | |
FSeek(p + 64); float luminanceMin; | |
FSeek(p + 68); float luminanceMax; | |
FSeek(p + 72); float luminanceMidium; | |
FSeek(p + 76); float intensityThreshold; | |
FSeek(p + 80); float intensityBias; | |
FSeek(p + 84); float defaultInterruption; | |
FSeek(p + 96); vector3 defaultColorUp; | |
FSeek(p + 112); vector3 defaultColorDown; | |
} FxLightFieldSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool enable; | |
FSeek(p + 16); vector3 color; | |
FSeek(p + 32); float depthScale; | |
FSeek(p + 36); float inScatteringScale; | |
FSeek(p + 40); float rayleigh; | |
FSeek(p + 44); float mie; | |
FSeek(p + 48); float g; | |
FSeek(p + 52); float znear; | |
FSeek(p + 56); float zfar; | |
} FxLightScatteringSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool enable; | |
FSeek(p + 1); bool adaptationEnable; | |
FSeek(p + 4); float adaptationRatio; | |
FSeek(p + 8); float middleGray; | |
FSeek(p + 12); float luminanceLow; | |
FSeek(p + 16); float luminanceHigh; | |
} FxHdrSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool enable; | |
FSeek(p + 4); float brightPassThreshold; | |
FSeek(p + 8); float brightPassInvScale; | |
FSeek(p + 12); float persistent; | |
FSeek(p + 16); float bloomScale; | |
} FxGlareSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool enable; | |
FSeek(p + 1); bool ignoreSky; | |
FSeek(p + 4); float focus; | |
FSeek(p + 8); float znear; | |
FSeek(p + 12); float zfar; | |
FSeek(p + 16); float focusRange; | |
} FxDofSettings; | |
enum<byte> TimeType { | |
TIME_NONE = 0, | |
TIME_MORNING = 1, | |
TIME_DAY = 2, | |
TIME_EVENING = 3, | |
TIME_NIGHT = 4, | |
}; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); float middleGray; | |
FSeek(p + 16); vector3 baseColor; | |
FSeek(p + 32); vector3 light; | |
FSeek(p + 48); float skyIntensity; | |
FSeek(p + 64); vector3 sky; | |
FSeek(p + 80); vector3 ambient; | |
FSeek(p + 96); vector3 lightScattering; | |
} FxHourSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool enable; | |
FSeek(p + 1); bool ignoreSky; | |
FSeek(p + 2); TimeType timeDebugIndex; | |
FSeek(p + 4); float morning; | |
FSeek(p + 8); float day; | |
FSeek(p + 12); float evening; | |
FSeek(p + 16); float night; | |
FSeek(p + 32); FxHourSettings hourParams[4]<optimize=false>; | |
} FxTimeChangeSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); float shadowScaleX; | |
FSeek(p + 4); float shadowScaleY; | |
FSeek(p + 8); float shadowScaleLightFieldY; | |
} FxInShadowShadowScaleSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); float shadowScaleZ; | |
FSeek(p + 4); float shadowScaleW; | |
FSeek(p + 8); float shadowScaleLightFieldW; | |
} FxOnSceneShadowScaleSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); FxInShadowShadowScaleSettings shadowScaleInShadow; | |
FSeek(p + 12); FxOnSceneShadowScaleSettings shadowScaleOnScene; | |
} FxShadowScale; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool grassIsHide; | |
FSeek(p + 4); float grassHeightMin; | |
FSeek(p + 8); float grassHeight; | |
FSeek(p + 12); float grassWidth; | |
FSeek(p + 16); float grassFar; | |
FSeek(p + 20); float grassFarEnd; | |
FSeek(p + 24); float grassWindAxis; | |
FSeek(p + 28); float grassWindSpeed; | |
FSeek(p + 32); float grassWindCycle; | |
FSeek(p + 36); float grassWindStrength; | |
FSeek(p + 40); uint grassDupCount; | |
FSeek(p + 44); float grassDupRange; | |
} FxGrassSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool distortionIsUse; | |
FSeek(p + 4); float distortionSpeed; | |
FSeek(p + 8); float distortionPower; | |
FSeek(p + 12); float distortionDensity; | |
FSeek(p + 16); float distortionDepthDensity; | |
FSeek(p + 20); float distortionPowerBloom; | |
FSeek(p + 24); float distortionPowerDepth; | |
FSeek(p + 28); float distortionPowerFront; | |
FSeek(p + 32); float distortionDensityFront; | |
} FxStageDistortion; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool enable; | |
FSeek(p + 16); vector3 shadowColor; | |
FSeek(p + 32); float shadowAlpha; | |
} FxStencilShadow; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); float lightScale; | |
FSeek(p + 4); float shadowScale; | |
} FxEffectSettings; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); bool isUseCasinoLight; | |
FSeek(p + 16); vector3 casinoLightAABBMin; | |
FSeek(p + 32); vector3 casinoLightAABBMax; | |
FSeek(p + 48); float casinoLightMoveRatio; | |
FSeek(p + 52); float casinoLightStrengthMax; | |
FSeek(p + 56); float casinoLightRadMin; | |
FSeek(p + 60); float casinoLightRadMax; | |
} FxSceneCasinoLight; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); FxCullingSettings culling; | |
FSeek(p + 16); FxSceneSettings scene; | |
FSeek(p + 64); FxLightSettings light; | |
FSeek(p + 128); FxLightFieldSettings lightField; | |
FSeek(p + 256); FxLightScatteringSettings olsNear; | |
FSeek(p + 320); bool separateOlsLayer; | |
FSeek(p + 336); FxLightScatteringSettings olsFar; | |
FSeek(p + 400); FxHdrSettings hdr; | |
FSeek(p + 420); FxGlareSettings glare; | |
FSeek(p + 440); FxDofSettings dof; | |
FSeek(p + 464); FxTimeChangeSettings timeChange; | |
FSeek(p + 944); FxShadowScale shadowScale; | |
FSeek(p + 968); FxGrassSettings grassSetting; | |
FSeek(p + 1016); FxStageDistortion stageDistortion; | |
FSeek(p + 1056); FxStencilShadow stencilShadow; | |
FSeek(p + 1104); FxEffectSettings effect; | |
FSeek(p + 1120); FxSceneCasinoLight casinoLight; | |
} FxParameter; | |
typedef struct { | |
local uint64 p<hidden=true> = FTell(); | |
FSeek(p + 0); FxSceneConfig config; | |
FSeek(p + 32); FxParameter items[4]<optimize=false>; | |
} FxSceneData; | |
FxSceneData data; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment