File Details

Download this file | Go to files list

Sikkmod Lite v1.1 - Quake 4

by Sikkpin

sikkpin@hotmail.com


//=================================================================================
// About:
//=================================================================================

Sikkmod is a general enhancement mod for Quake 4 designed to update the game to a more modern level visually, allow some customizations gameplay wise, as well as including fixes and better organization to stock files to be used as a base for future mods.




//=================================================================================
// Installation:
//=================================================================================

Simply extract the "sikkmod" folder into your Quake 4 directory. That's all I'm going to say.



The mod can be loaded in two ways.
1) is to load it through the "Mods" main menu item.
2) is to use a custom shortcut to load it directly. You do this by creating a new
shortcut for your "Quake4.exe". Right-click on it and select "Properties". Click
on the "Shortcut" tab and in the "Target:" field put this:

+set fs_game sikkmod

after "...Quake4.exe"

Example: "C:GamesQuake 4Quake4.exe" +set fs_game sikkmod




//=================================================================================
// Files:
//=================================================================================

readme.txt - this filed you are reading.

description.txt - file used by the game so this mod shows up in the "Mods" menu.

mycurrentsettings.cfg - contains the current sikkmod settings I use at the time of this writing

game000.pk4 - contains the "gamex86.dll"

pak_modfiles.pk4 - contains all mod-related files, either new files made for the mod or stock
files that have changes/addition made specifically for the mod.

sikkmod.ico - sikkmod icon

sikkmod-lite_v1.1-Q4_src.rar - contains the source code




//=================================================================================
// User's Guide:
//=================================================================================

Unlike the Doom 3 versions, there are no major changes made to the game, which is
the reason for "Lite" in the title. The only thing worth mentioning is the use of
shadow meshes for all md5 meshes.




//=================================================================================
// Change Log:
//=================================================================================

v1.1:
- Fixed some texture bugs where the shadow mesh texture would draw overtop of the mesh

- Updated and improved HDR implementation

- Added HDR dynamic lens flare effect

- Added color grading through the use of a lut. Much faster and more versatile than using math

- Added localized radial blur effect from explosions

- All new interaction shader using linear-space lighting, normalized Blinn-Phong
specular model

- miscellaneous tweaks and improvements to most shaders

- A complete overhaul of weapon damage/enemy damage/enemy health to better mimic the values
of Quake 2. The game plays much better now, in my opinion.

- made the sikkmod options menu more pretty.

- mod menu is now visible when you esc to menu while in-game

v1.0:
- Initial Release




//=================================================================================
// CVARs
//=================================================================================

g_enemyHealthScale scale the health of enemies by this value

g_useAmbientLight enable a global ambient light bound to player
g_ambientLightRadius sets the ambient light's radius (XYZ = 0 to 65536)
g_ambientLightColor sets the ambient light's color (RGB = 0.0 to 1.0)

g_useWeaponAwareness enables weapon awareness
g_weaponAwarenessDistance max distance for weapon awareness

g_useExplosionFX enables explosion screen effects
g_explosionFXTime time (in secs) the effect lasts
g_explosionFXScale explosion effect scale

g_showBloodSpray show blood spray effect on screen when inflicting damage up close
g_bloodSprayTime how long blood spray effect lasts (in seconds)
g_bloodSprayDistance how close you have to be for blood spray effect to "hit the camera". Not relevant for chainsaw.
g_bloodSprayFrequency how often the blood spray effect can occur. Value Range: 0.0 (never) - 1.0 (always)

g_useHealthRegeneration use regenerative health system
g_healthRegenTime how often to regenerate health when using regenerative health system
g_healthRegenDelay delay (in seconds) before health starts to regenerate after taking damage when using regenerative health system
g_healthRegenAmt how much health to regenerate per g_healthRegenTime when using regenerative health system
g_healthRegenLimit total amount of health that can be regenerated when using regenerative health system
g_healthRegenSteps splits g_healthRegenLimit into n number of steps. Value of 1 or less will turn steps off.
example1: if g_healthRegenLimit == 100 && g_healthRegenSteps == 4, health regeneration will stop at 25/50/75/100;
example2: if g_healthRegenLimit == 50 && g_healthRegenSteps == 5, health regeneration will stop at 10/20/30/40/50
g_healthRegenFeedback how low must health reach before feedback is drawn when using regenerative health system

pm_thirdPersonOffest camera offest from player in 3rd person (-n = left, +n = right)

r_useEdgeAA Enable edge anti-aliasing
r_edgeAASampleScale Set the sample offset scale for edge detection
r_edgeAAFilterScale Set the filter offset scale for blurring

r_useHDR Enable High Dynamic Range lighting
r_hdrToneMapper Tone mapping method: 0 = Reinhard (RGB); 1 = Reinhard (Yxy); 2 = Exponential; 3 = Filmic (simple); 4 = Filmic (complex)
r_hdrAdaptationRate Eye adaptation rate
r_hdrMiddleGray Middle gray value used in HDR tone mapping
r_hdrWhitePoint Smallest luminance value that will be mapped to white
r_hdrBlueShiftFactor Blue shift blend factor
r_hdrDither Enable dithering
r_hdrDitherSize Sets the size of the dither threshold map
r_hdrLumThresholdMax Minimum luminance value threshold
r_hdrLumThresholdMin Maximum luminance value threshold
r_hdrBloomToneMapper Tone mapping method, specific to bloom: 0 = Reinhard (RGB); 1 = Reinhard (Yxy); 2 = Exponential; 3 = Filmic (simple); 4 = Filmic (complex)
r_hdrBloomMiddleGray Middle gray value used in HDR tone mapping, specific to bloom
r_hdrBloomWhitePoint Smallest luminance value that will be mapped to white, specific to bloom
r_hdrBloomThreshold Bloom luminance threshold
r_hdrBloomOffset Bloom luminance offset
r_hdrBloomScale Intensity scale amount for bloom effect
r_hdrBloomSize Size of the bloom effect
r_hdrGlareStyle Glare Style to use with HDR lighting. Value range: 0 - 11
0 = Off
1 = Natural
2 = Star
3 = Cross
4 = Snow Cross
5 = Horizontal
6 = Vertical
7 = Star (Spectral)
8 = Cross (Spectral)
9 = Snow Cross (Spectral)
10 = Horizontal (Spectral)
11 = Vertical (Spectral)
r_hdrGlareScale Intensity scale amount for glare effect
r_hdrGlareSize Size of the glare effect
r_hdrFlareGamma Gamma curve for the flare texture
r_hdrFlareScale Intensity scale amount for lens flare effect. ) = Off
r_hdrFlareSize Size of the lens flare effect

r_useBloom Enable bloom postprocessing effect
r_bloomBufferSize Bloom render target size:; 0 = 32x32; 1 = 64x64; 2 = 128x128; 3 = 256x256; 4 = 512x512; 5 = 1024x1024
r_bloomBlurIterations Number of times the blur filter is applied
r_bloomBlurScaleX Amount to scale the X axis sample offsets
r_bloomBlurScaleY Amount to scale the Y axis sample offsets
r_bloomScale Amount to scale the intensity of the bloom effect
r_bloomGamma Gamma curve for the bloom texture

r_useColorGrading Enable color grading postprocessing effect. Parameters need to be setup manually in the material.
r_colorGradingParm Parameter to allow a specific color grading stage to be used in the material
r_colorGradingType Color grading type: 0 = math; 1 = lut
r_colorGradingSharpness Sharpness level when color grading it enabled

r_useFilmgrain Enable filmgrain postprocessing effect
r_filmgrainBlendMode Set the grain blending mode. Value range: 0 - 3; 0 = gl_one, gl_one; 1 = gl_zero, gl_one_minus_src_color; 2 = gl_dst_color, gl_one; 3 = gl_one_minus_dst_color, gl_one
r_filmgrainScale Set the grain scale
r_filmgrainStrength Set the grain strength. Value range: 0.0 - 1.0

r_useVignetting Enable vignetting postprocessing effect


--------------------------------------------------------------------------------------------------
**Unsupported Variables**
-------------------------
r_useSSAO Enable Screen-Space Ambient Occlusion postprocessing effect
r_ssaoMethod Set the ssao method: 0 = Crytek; 1 = ABAO; 2 = PBAO; 4 = HBAO (high)
r_ssaoRadius Set the sample radius for ssao
r_ssaoBias Set the angle bias for ssao (darkening factor for Crytek's)
r_ssaoAmount Set the contribution factor for ssao
r_ssaoBlurMethod Blur method used for the ssao buffer: 0 = Crytek; 1 = = Bilateral
r_ssaoBlurScale Set the blur scale for the ssao buffer
r_ssaoBlurQuality Set the blur quality for the ssao buffer
r_ssaoBlurEpsilon Set the blur depth difference factor for the ssao buffer
r_ssaoBlendPower Set the blend exponent for the ssao to scene final combine
r_ssaoBlendScale Set the blend scale for the ssao to scene final combine

r_useDepthOfField Enable depth of field postprocessing effect. Value range: 0 - 2: 0 = Off; 1 = Automatic Focus; 2 = Manual Focus
r_dofBlurScale Set the blur scale for depth of field postprocessing effect
r_dofBlurQuality Set the blur quality for depth of field postprocessing effect: 0 = Box Filter; 1 = Poisson Filter; 2 = Gaussian Filter; 3 = Bokeh!
r_dofNear Set the near distance for depth of field postprocessing effect (r_useDepthOfField = 2 only)
r_dofFar Set the far distance for depth of field postprocessing effect (r_useDepthOfField = 2 only)
r_dofFocus Set the focus distance for depth of field postprocessing effect (r_useDepthOfField = 2 only)
r_dofConditionAlways Depth of field condition: Always on
r_dofConditionCinematic Depth of field condition: Cinematics
r_dofConditionGUI Depth of field condition: GUI Active
r_dofConditionReload Depth of field condition: Reloading
r_dofConditionTalk Depth of field condition: Talking
r_dofConditionZoom Depth of field condition: Weapon Zoom

r_useMotionBlur Enable motion blur postprocessing effect. 0 = off; 1 = Camera; 2 = Accumulation; 3 = Camera + Accumulation
r_motionBlurScale Set the motion blur scale. Works similar to shutter speed. Higher values == stronger blurring
r_motionBlurMaskDistance Don't do motion blur if framerate is below this value
r_motionBlurFPSThreshold Set the motion blur mask distance. Used to mask the view weapon.
r_motionBlurMinThreshold Set the motion blur min sensitivity threshold. Screen won't blur until threshold is passed. Lower values == higher sensitivity
r_motionBlurMaxThreshold Set the motion blur max sensitivity threshold. Blur strength won't pass threshold.
r_motionBlurFactor Set the motion blur blend factor
r_motionBlurLerp Set the motion blur blend lerp factor
r_motionBlurQuality Set the motion blur quality. Value range: 1 - 4: 1 = 8 samples; 2 = 64 samples (virtual); 3 = 512 samples (virtual); 4 = 4096 samples (virtual)




//=================================================================================
// Acknowledgements:
//=================================================================================

id Software - for Quake and for everything else they have ever done since the beginning of time.

Raven Software - for Qauke 4

Deadite4 - for his awesome contribution of the sikkmod menu.

Maha_x - for his Brilliant Highlights & Brilliant Bloom mods that got me starter in the Doom 3 shader programing.

6th Venom - for his dof and ssao work which was both inspirational and showed me how to render depth.

TRSGM - for his orignal released work on chromatic disperson, screen blood splats, and
blood cubemaps.

jcdenton22 - for his HDR post @Doom3World.org (http://www.doom3world.org/phpbb2/viewtopic.php?f=56&t=23226)
which motivated me to take another look at the HDR stuff I had.

rebb - for his method on how to distinguish normal lights from ambient lights.


And a final thanks to BNA and all of Doom3World.org, the best community in gaming.

Download this file | Go to files list