Skip to content

Instantly share code, notes, and snippets.

@ifarbod
Created February 3, 2017 14:56
Show Gist options
  • Save ifarbod/710e02c5722f0d775aaebb18f94d5d9a to your computer and use it in GitHub Desktop.
Save ifarbod/710e02c5722f0d775aaebb18f94d5d9a to your computer and use it in GitHub Desktop.
// TimecycConverter.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <cstdint>
struct TColour
{
uint32_t bRed;
uint32_t bGreen;
uint32_t bBlue;
};
struct IIIVCTimecycLine
{
TColour StaticAmbienceColour;
TColour StaticAmbienceObjColour;
TColour DynamicAmbienceColour;
TColour StaticAmbienceBlurColour;
TColour DynamicAmbienceBlurColour;
TColour SkyColourTop;
TColour SkyColourBottom;
TColour SunCoreColour;
TColour SunCoronaColour;
float fSunCoreSize;
float fSunCoronaSize;
float fSunBrightness;
uint32_t dwShadowIntensity;
uint32_t dwLightShadingValue;
uint32_t dwPoleShadingValue;
float fFarClip;
float fFogDistance;
float fLightOnGround;
TColour LowerCloudsColour;
TColour UpperCloudsTopColour;
TColour UpperCloudsBottomColour;
TColour TrailsColour;
uint32_t TrailsAlpha;
TColour WaterColour;
uint32_t bWaterColourAlpha;
};
struct SATimecycLine
{
TColour StaticAmbienceColour;
TColour DynamicAmbienceColour;
TColour DirectLightColour;
TColour SkyColourTop;
TColour SkyColourBottom;
TColour SunCoreColour;
TColour SunCoronaColour;
float fSunCoreSize;
float fSunCoronaSize;
float fSunBrightness;
uint32_t dwShadowIntensity;
uint32_t dwLightShadingValue;
uint32_t dwPoleShadingValue;
float fFarClip;
float fFogDistance;
float fLightOnGround;
TColour LowerCloudsColour;
TColour UpperCloudsBottomColour;
TColour WaterColour;
uint32_t bWaterColourAlpha;
uint32_t ColourCorrection1Alpha;
TColour ColourCorrection1;
uint32_t ColourCorrection2Alpha;
TColour ColourCorrection2;
uint32_t bLowerCloudsAlpha;
uint32_t bUpperCloudsAlpha;
uint32_t bWaterWhiteValue;
};
int main()
{
char Buffer[512];
char commentedStuff[512];
FILE* pInputTimecyc = fopen("timecyc.dat", "r");
FILE* pOutputTimecyc = fopen("timecyc_new.dat", "w");
IIIVCTimecycLine currTimecycLine;
int mode = 1;
if (pInputTimecyc && pOutputTimecyc)
{
while (fgets(Buffer, sizeof(Buffer), pInputTimecyc))
{
if (Buffer[0] == '/' && Buffer[1] == '/')
{
for (int i = 0; i < 512; i++)
{
commentedStuff[i] = Buffer[i];
}
fprintf(pOutputTimecyc, "%s", &commentedStuff);
}
else
{
if (mode)
{
sscanf(Buffer, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %f %f %f %d %d %d %f %f %f %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
&currTimecycLine.StaticAmbienceColour.bRed, &currTimecycLine.StaticAmbienceColour.bGreen, &currTimecycLine.StaticAmbienceColour.bBlue,
&currTimecycLine.StaticAmbienceObjColour.bRed, &currTimecycLine.StaticAmbienceObjColour.bGreen, &currTimecycLine.StaticAmbienceObjColour.bBlue,
&currTimecycLine.DynamicAmbienceColour.bRed, &currTimecycLine.DynamicAmbienceColour.bGreen, &currTimecycLine.DynamicAmbienceColour.bBlue,
&currTimecycLine.StaticAmbienceBlurColour.bRed, &currTimecycLine.StaticAmbienceBlurColour.bGreen, &currTimecycLine.StaticAmbienceBlurColour.bBlue,
&currTimecycLine.DynamicAmbienceBlurColour.bRed, &currTimecycLine.DynamicAmbienceBlurColour.bGreen, &currTimecycLine.DynamicAmbienceBlurColour.bBlue,
&currTimecycLine.SkyColourTop.bRed, &currTimecycLine.SkyColourTop.bGreen, &currTimecycLine.SkyColourTop.bBlue,
&currTimecycLine.SkyColourBottom.bRed, &currTimecycLine.SkyColourBottom.bGreen, &currTimecycLine.SkyColourBottom.bBlue,
&currTimecycLine.SunCoreColour.bRed, &currTimecycLine.SunCoreColour.bGreen, &currTimecycLine.SunCoreColour.bBlue,
&currTimecycLine.SunCoronaColour.bRed, &currTimecycLine.SunCoronaColour.bGreen, &currTimecycLine.SunCoronaColour.bBlue,
&currTimecycLine.fSunCoreSize, &currTimecycLine.fSunCoronaSize, &currTimecycLine.fSunBrightness,
&currTimecycLine.dwShadowIntensity, &currTimecycLine.dwLightShadingValue, &currTimecycLine.dwPoleShadingValue,
&currTimecycLine.fFarClip, &currTimecycLine.fFogDistance, &currTimecycLine.fLightOnGround,
&currTimecycLine.LowerCloudsColour.bRed, &currTimecycLine.LowerCloudsColour.bGreen, &currTimecycLine.LowerCloudsColour.bBlue,
&currTimecycLine.UpperCloudsTopColour.bRed, &currTimecycLine.UpperCloudsTopColour.bGreen, &currTimecycLine.UpperCloudsTopColour.bBlue,
&currTimecycLine.UpperCloudsBottomColour.bRed, &currTimecycLine.UpperCloudsBottomColour.bGreen, &currTimecycLine.UpperCloudsBottomColour.bBlue,
&currTimecycLine.TrailsColour.bRed, &currTimecycLine.TrailsColour.bGreen, &currTimecycLine.TrailsColour.bBlue,
&currTimecycLine.WaterColour.bRed, &currTimecycLine.WaterColour.bGreen, &currTimecycLine.WaterColour.bBlue,
&currTimecycLine.bWaterColourAlpha);
fprintf(pOutputTimecyc, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %f %f %f %d %d %d %f %f %f %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
currTimecycLine.StaticAmbienceColour.bRed, currTimecycLine.StaticAmbienceColour.bGreen, currTimecycLine.StaticAmbienceColour.bBlue,
currTimecycLine.DynamicAmbienceColour.bRed, currTimecycLine.DynamicAmbienceColour.bGreen, currTimecycLine.DynamicAmbienceColour.bBlue,
0, 0, 0,
currTimecycLine.SkyColourTop.bRed, currTimecycLine.SkyColourTop.bGreen, currTimecycLine.SkyColourTop.bBlue,
currTimecycLine.SkyColourBottom.bRed, currTimecycLine.SkyColourBottom.bGreen, currTimecycLine.SkyColourBottom.bBlue,
currTimecycLine.SunCoreColour.bRed, currTimecycLine.SunCoreColour.bGreen, currTimecycLine.SunCoreColour.bBlue,
currTimecycLine.SunCoronaColour.bRed, currTimecycLine.SunCoronaColour.bGreen, currTimecycLine.SunCoronaColour.bBlue,
currTimecycLine.fSunCoreSize, currTimecycLine.fSunCoronaSize, currTimecycLine.fSunBrightness,
currTimecycLine.dwShadowIntensity, currTimecycLine.dwLightShadingValue, currTimecycLine.dwPoleShadingValue,
currTimecycLine.fFarClip, currTimecycLine.fFogDistance, currTimecycLine.fLightOnGround,
currTimecycLine.LowerCloudsColour.bRed, currTimecycLine.LowerCloudsColour.bGreen, currTimecycLine.LowerCloudsColour.bBlue,
currTimecycLine.UpperCloudsBottomColour.bRed, currTimecycLine.UpperCloudsBottomColour.bGreen, currTimecycLine.UpperCloudsBottomColour.bBlue,
currTimecycLine.WaterColour.bRed, currTimecycLine.WaterColour.bGreen, currTimecycLine.WaterColour.bBlue,
currTimecycLine.bWaterColourAlpha,
255,
currTimecycLine.TrailsColour.bRed, currTimecycLine.TrailsColour.bGreen, currTimecycLine.TrailsColour.bBlue,
255,
currTimecycLine.TrailsColour.bRed, currTimecycLine.TrailsColour.bGreen, currTimecycLine.TrailsColour.bBlue,
255,
255,
0);
}
else
{
sscanf(Buffer, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %f %f %f %d %d %d %f %f %f %d %d %d %d %d %d %d %d %d %d %d %d %d",
&currTimecycLine.StaticAmbienceColour.bRed, &currTimecycLine.StaticAmbienceColour.bGreen, &currTimecycLine.StaticAmbienceColour.bBlue,
&currTimecycLine.DynamicAmbienceColour.bRed, &currTimecycLine.DynamicAmbienceColour.bGreen, &currTimecycLine.DynamicAmbienceColour.bBlue,
&currTimecycLine.SkyColourTop.bRed, &currTimecycLine.SkyColourTop.bGreen, &currTimecycLine.SkyColourTop.bBlue,
&currTimecycLine.SkyColourBottom.bRed, &currTimecycLine.SkyColourBottom.bGreen, &currTimecycLine.SkyColourBottom.bBlue,
&currTimecycLine.SunCoreColour.bRed, &currTimecycLine.SunCoreColour.bGreen, &currTimecycLine.SunCoreColour.bBlue,
&currTimecycLine.SunCoronaColour.bRed, &currTimecycLine.SunCoronaColour.bGreen, &currTimecycLine.SunCoronaColour.bBlue,
&currTimecycLine.fSunCoreSize, &currTimecycLine.fSunCoronaSize, &currTimecycLine.fSunBrightness,
&currTimecycLine.dwShadowIntensity, &currTimecycLine.dwLightShadingValue, &currTimecycLine.dwPoleShadingValue,
&currTimecycLine.fFarClip, &currTimecycLine.fFogDistance, &currTimecycLine.fLightOnGround,
&currTimecycLine.LowerCloudsColour.bRed, &currTimecycLine.LowerCloudsColour.bGreen, &currTimecycLine.LowerCloudsColour.bBlue,
&currTimecycLine.UpperCloudsTopColour.bRed, &currTimecycLine.UpperCloudsTopColour.bGreen, &currTimecycLine.UpperCloudsTopColour.bBlue,
&currTimecycLine.UpperCloudsBottomColour.bRed, &currTimecycLine.UpperCloudsBottomColour.bGreen, &currTimecycLine.UpperCloudsBottomColour.bBlue,
&currTimecycLine.TrailsColour.bRed, &currTimecycLine.TrailsColour.bGreen, &currTimecycLine.TrailsColour.bBlue,
&currTimecycLine.TrailsAlpha);
fprintf(pOutputTimecyc, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %f %f %f %d %d %d %f %f %f %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
currTimecycLine.StaticAmbienceColour.bRed, currTimecycLine.StaticAmbienceColour.bGreen, currTimecycLine.StaticAmbienceColour.bBlue,
currTimecycLine.DynamicAmbienceColour.bRed, currTimecycLine.DynamicAmbienceColour.bGreen, currTimecycLine.DynamicAmbienceColour.bBlue,
0, 0, 0,
currTimecycLine.SkyColourTop.bRed, currTimecycLine.SkyColourTop.bGreen, currTimecycLine.SkyColourTop.bBlue,
currTimecycLine.SkyColourBottom.bRed, currTimecycLine.SkyColourBottom.bGreen, currTimecycLine.SkyColourBottom.bBlue,
currTimecycLine.SunCoreColour.bRed, currTimecycLine.SunCoreColour.bGreen, currTimecycLine.SunCoreColour.bBlue,
currTimecycLine.SunCoronaColour.bRed, currTimecycLine.SunCoronaColour.bGreen, currTimecycLine.SunCoronaColour.bBlue,
currTimecycLine.fSunCoreSize, currTimecycLine.fSunCoronaSize, currTimecycLine.fSunBrightness,
currTimecycLine.dwShadowIntensity, currTimecycLine.dwLightShadingValue, currTimecycLine.dwPoleShadingValue,
currTimecycLine.fFarClip, currTimecycLine.fFogDistance, currTimecycLine.fLightOnGround,
currTimecycLine.LowerCloudsColour.bRed, currTimecycLine.LowerCloudsColour.bGreen, currTimecycLine.LowerCloudsColour.bBlue,
currTimecycLine.UpperCloudsBottomColour.bRed, currTimecycLine.UpperCloudsBottomColour.bGreen, currTimecycLine.UpperCloudsBottomColour.bBlue,
46, 46, 56,
255,
currTimecycLine.TrailsAlpha,
currTimecycLine.TrailsColour.bRed, currTimecycLine.TrailsColour.bGreen, currTimecycLine.TrailsColour.bBlue,
currTimecycLine.TrailsAlpha,
currTimecycLine.TrailsColour.bRed, currTimecycLine.TrailsColour.bGreen, currTimecycLine.TrailsColour.bBlue,
255,
255,
0);
}
}
}
}
fclose(pInputTimecyc);
fclose(pOutputTimecyc);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment