Init 0.1 - 1
This commit is contained in:
BIN
EXE/00000000.016
Normal file
BIN
EXE/00000000.016
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
BIN
EXE/00000000.256
Normal file
BIN
EXE/00000000.256
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 301 KiB |
BIN
EXE/1033/dwintl.dll
Normal file
BIN
EXE/1033/dwintl.dll
Normal file
Binary file not shown.
BIN
EXE/CheatMessage.txt
Normal file
BIN
EXE/CheatMessage.txt
Normal file
Binary file not shown.
BIN
EXE/D3D8.dll
Normal file
BIN
EXE/D3D8.dll
Normal file
Binary file not shown.
BIN
EXE/DALib.dll
Normal file
BIN
EXE/DALib.dll
Normal file
Binary file not shown.
BIN
EXE/DelayDisplay.dll
Normal file
BIN
EXE/DelayDisplay.dll
Normal file
Binary file not shown.
BIN
EXE/Freelancer.exe
Normal file
BIN
EXE/Freelancer.exe
Normal file
Binary file not shown.
BIN
EXE/HUDless.dll
Normal file
BIN
EXE/HUDless.dll
Normal file
Binary file not shown.
BIN
EXE/HudFacility.dll
Normal file
BIN
EXE/HudFacility.dll
Normal file
Binary file not shown.
BIN
EXE/HudShift.dll
Normal file
BIN
EXE/HudShift.dll
Normal file
Binary file not shown.
BIN
EXE/HudStatus.dll
Normal file
BIN
EXE/HudStatus.dll
Normal file
Binary file not shown.
BIN
EXE/HudTarget.dll
Normal file
BIN
EXE/HudTarget.dll
Normal file
Binary file not shown.
BIN
EXE/HudWeaponGroups.dll
Normal file
BIN
EXE/HudWeaponGroups.dll
Normal file
Binary file not shown.
BIN
EXE/MP3codec.dll
Normal file
BIN
EXE/MP3codec.dll
Normal file
Binary file not shown.
BIN
EXE/MPRep.dll
Normal file
BIN
EXE/MPRep.dll
Normal file
Binary file not shown.
BIN
EXE/MinHook.x86.dll
Normal file
BIN
EXE/MinHook.x86.dll
Normal file
Binary file not shown.
BIN
EXE/MultiIntro.dll
Normal file
BIN
EXE/MultiIntro.dll
Normal file
Binary file not shown.
BIN
EXE/REM-Client.dll
Normal file
BIN
EXE/REM-Client.dll
Normal file
Binary file not shown.
77
EXE/ReShade.ini
Normal file
77
EXE/ReShade.ini
Normal file
@@ -0,0 +1,77 @@
|
||||
[APP]
|
||||
Force10BitFormat=0
|
||||
ForceFullscreen=0
|
||||
ForceResolution=0,0
|
||||
ForceVsync=0
|
||||
ForceWindowed=0
|
||||
|
||||
[GENERAL]
|
||||
EffectSearchPaths=.\reshade-shaders\Shaders
|
||||
NoDebugInfo=0
|
||||
NoEffectCache=0
|
||||
NoReloadOnInit=0
|
||||
NoReloadOnInitForNonVR=0
|
||||
PerformanceMode=0
|
||||
PreprocessorDefinitions=RESHADE_DEPTH_LINEARIZATION_FAR_PLANE=1000.0,RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN=0,RESHADE_DEPTH_INPUT_IS_REVERSED=0,RESHADE_DEPTH_INPUT_IS_LOGARITHMIC=0
|
||||
PresetPath=.\ReShadePreset.ini
|
||||
PresetTransitionDuration=1000
|
||||
SkipLoadingDisabledEffects=0
|
||||
TextureSearchPaths=.\reshade-shaders\Textures
|
||||
|
||||
[INPUT]
|
||||
ForceShortcutModifiers=1
|
||||
InputProcessing=2
|
||||
KeyEffects=0,0,0,0
|
||||
KeyNextPreset=0,0,0,0
|
||||
KeyOverlay=36,0,0,0
|
||||
KeyPerformanceMode=0,0,0,0
|
||||
KeyPreviousPreset=0,0,0,0
|
||||
KeyReload=0,0,0,0
|
||||
KeyScreenshot=44,0,0,0
|
||||
|
||||
[OVERLAY]
|
||||
ClockFormat=0
|
||||
FPSPosition=1
|
||||
NoFontScaling=0
|
||||
SavePresetOnModification=1
|
||||
SaveWindowState=0
|
||||
ShowClock=0
|
||||
ShowForceLoadEffectsButton=1
|
||||
ShowFPS=0
|
||||
ShowFrameTime=0
|
||||
ShowScreenshotMessage=1
|
||||
TutorialProgress=2
|
||||
VariableListHeight=300.000000
|
||||
VariableListUseTabs=0
|
||||
|
||||
[SCREENSHOT]
|
||||
ClearAlpha=1
|
||||
FileFormat=1
|
||||
FileNaming=%AppName% %Date% %Time%
|
||||
JPEGQuality=100
|
||||
PostSaveCommand=
|
||||
PostSaveCommandArguments="%TargetPath%"
|
||||
PostSaveCommandNoWindow=0
|
||||
PostSaveCommandWorkingDirectory=.\
|
||||
SaveBeforeShot=0
|
||||
SaveOverlayShot=0
|
||||
SavePath=.\
|
||||
SavePresetFile=0
|
||||
|
||||
[STYLE]
|
||||
Alpha=1.000000
|
||||
ChildRounding=0.000000
|
||||
ColFPSText=1.000000,1.000000,0.784314,1.000000
|
||||
EditorFont=
|
||||
EditorFontSize=13
|
||||
EditorStyleIndex=0
|
||||
Font=
|
||||
FontSize=13
|
||||
FPSScale=1.000000
|
||||
FrameRounding=0.000000
|
||||
GrabRounding=0.000000
|
||||
PopupRounding=0.000000
|
||||
ScrollbarRounding=0.000000
|
||||
StyleIndex=2
|
||||
TabRounding=4.000000
|
||||
WindowRounding=0.000000
|
||||
38
EXE/ReShadePreset.ini
Normal file
38
EXE/ReShadePreset.ini
Normal file
@@ -0,0 +1,38 @@
|
||||
PreprocessorDefinitions=
|
||||
Techniques=Colourfulness@Colourfulness.fx,ContrastAdaptiveSharpen@CAS.fx
|
||||
TechniqueSorting=MagicBloom@MagicBloom.fx,HDR@FakeHDR.fx,Colourfulness@Colourfulness.fx,Tonemap@Tonemap.fx,ContrastAdaptiveSharpen@CAS.fx
|
||||
|
||||
[Colourfulness.fx]
|
||||
backbuffer_bits=8.000000
|
||||
colourfulness=0.250000
|
||||
col_noise=1
|
||||
enable_dither=0
|
||||
lim_luma=0.700000
|
||||
|
||||
[FakeHDR.fx]
|
||||
HDRPower=1.280000
|
||||
radius1=0.805000
|
||||
radius2=0.855000
|
||||
|
||||
[MagicBloom.fx]
|
||||
f2Adapt_Clip=0.000000,1.000000
|
||||
fAdapt_Sensitivity=1.000000
|
||||
fAdapt_Speed=0.100000
|
||||
fBloom_Intensity=1.000000
|
||||
fBloom_Threshold=1.900000
|
||||
fDirt_Intensity=0.000000
|
||||
fExposure=0.500000
|
||||
iAdapt_Precision=0
|
||||
iDebug=0
|
||||
|
||||
[Tonemap.fx]
|
||||
Bleach=0.000000
|
||||
Defog=0.000000
|
||||
Exposure=0.000000
|
||||
FogColor=0.000000,0.000000,1.000000
|
||||
Gamma=0.775000
|
||||
Saturation=0.000000
|
||||
|
||||
[CAS.fx]
|
||||
Contrast=0.500000
|
||||
Sharpening=0.750000
|
||||
9
EXE/ReShade_LICENSE.txt
Normal file
9
EXE/ReShade_LICENSE.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Copyright 2014 Patrick Mours. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
BIN
EXE/Territory.dll
Normal file
BIN
EXE/Territory.dll
Normal file
Binary file not shown.
14
EXE/Territory_readme.txt
Normal file
14
EXE/Territory_readme.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
TERRITORY by Jason Hood
|
||||
|
||||
Version 1.02
|
||||
|
||||
|
||||
Territory allows customization of the message displayed when entering a system,
|
||||
and the Houses on the Nav Map. To use it, copy TERRITORY.DLL to the EXE
|
||||
directory and add it to the [Libraries] section of EXE\dacom.ini. Then copy
|
||||
TERRITORY.INI to the DATA\UNIVERSE directory and edit it as required. Please
|
||||
read the start of TERRITORY.CPP for the description of its format.
|
||||
|
||||
|
||||
Jason Hood, 21 February, 2014.
|
||||
http://freelancer.adoxa.vze.com/
|
||||
BIN
EXE/TurretZoom.dll
Normal file
BIN
EXE/TurretZoom.dll
Normal file
Binary file not shown.
70
EXE/TurretZoom_readme.txt
Normal file
70
EXE/TurretZoom_readme.txt
Normal file
@@ -0,0 +1,70 @@
|
||||
Turret Zoom
|
||||
by Jason Hood
|
||||
|
||||
Version 1.41
|
||||
|
||||
|
||||
Turret Zoom is a plugin that lets you adjust the Turret View camera using the
|
||||
mouse wheel. To install it, copy TURRETZOOM.DLL to Freelancer's EXE directory
|
||||
and add it to the [Libraries] section of EXE\dacom.ini.
|
||||
|
||||
The default behavior is to adjust the "z" position of the camera, providing a
|
||||
zoom in (wheel down) and out (wheel up) feature. It will scale the current
|
||||
value, by 1.5 up to 5K, then by 1.1. Use the modifiers for additional control:
|
||||
|
||||
Shift move by 10K
|
||||
Ctrl move by 1K
|
||||
Alt move by 100
|
||||
Shift+Ctrl move by 10
|
||||
Ctrl+Alt move by 1
|
||||
|
||||
Zooming in causes the camera to become quite sensitive. The speed is halved
|
||||
every 10K, but can be fine-tuned by holding Shift+Ctrl+Alt and moving the wheel
|
||||
down (halve the speed) or up (double it).
|
||||
|
||||
Holding Shift+Alt and moving the wheel down will switch to "y" mode (moving the
|
||||
wheel up will go back to "z"). In "y" mode, the camera will move up and down
|
||||
with the wheel.
|
||||
|
||||
The current values are saved when you enter Turret View and restored on exit.
|
||||
However, this means if there is a situation where the view is reset without
|
||||
actually exiting Turret View, those values will become default. Should that
|
||||
occur, a new launch/load/select will restore the original values.
|
||||
|
||||
|
||||
=======
|
||||
Options
|
||||
=======
|
||||
|
||||
Strings can be added after the DLL in dacom.ini to customize the values (shown
|
||||
with their default):
|
||||
|
||||
fast immediate movement (like previous versions)
|
||||
inverse reverse wheel direction (movement only)
|
||||
max=200000 maximum distance to move
|
||||
shift=10000 Shift movement
|
||||
ctrl=1000 Ctrl movement
|
||||
alt=100 Alt movement
|
||||
s+c=10 Shift+Ctrl movement
|
||||
c+a=1 Ctrl+Alt movement
|
||||
small=1.1 small move factor
|
||||
large=1.5 large move factor
|
||||
switch=5000 distance to switch from large to small
|
||||
adjust=0.5 zoom in camera speed adjust factor
|
||||
interval=10000 interval to adjust camera speed
|
||||
|
||||
For example:
|
||||
|
||||
TurretZoom.dll inverse max=20000 switch=0
|
||||
|
||||
will cause wheel up to zoom in; move the camera no further than 20K; and always
|
||||
use the small factor. There is a chance this may not work on your system, in
|
||||
which case the options can be patched directly into the DLL (which will also
|
||||
override the dacom.ini options). Open TurretZoom.dll in your hex editor and go
|
||||
to hex offset 30C0, then just write in the options you want. However, this
|
||||
method requires adding a space before the equal sign ("max = 20000").
|
||||
|
||||
|
||||
================================
|
||||
Jason Hood, 5 June, 2011.
|
||||
http://freelancer.adoxa.cjb.net/
|
||||
BIN
EXE/WheelScroll.dll
Normal file
BIN
EXE/WheelScroll.dll
Normal file
Binary file not shown.
BIN
EXE/Zone.dll
Normal file
BIN
EXE/Zone.dll
Normal file
Binary file not shown.
BIN
EXE/alchemy.dll
Normal file
BIN
EXE/alchemy.dll
Normal file
Binary file not shown.
BIN
EXE/backgroundpattern.bmp
Normal file
BIN
EXE/backgroundpattern.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
BIN
EXE/common.dll
Normal file
BIN
EXE/common.dll
Normal file
Binary file not shown.
BIN
EXE/dacom.dll
Normal file
BIN
EXE/dacom.dll
Normal file
Binary file not shown.
177
EXE/dacom.ini
Normal file
177
EXE/dacom.ini
Normal file
@@ -0,0 +1,177 @@
|
||||
@include FL_Dev.ini
|
||||
|
||||
[DACOM]
|
||||
IgnoreDACOMEnv = true
|
||||
DllPath = .\
|
||||
|
||||
[Libraries]
|
||||
;;;dosfile.dll
|
||||
ReadFile.dll ;optimized read-only version of dosfile.dll
|
||||
x86math.dll
|
||||
EngBase.dll
|
||||
system.dll
|
||||
RP8.dll
|
||||
SoundStreamer.dll
|
||||
SoundManager.dll
|
||||
Deformable2.dll
|
||||
Thorn.dll
|
||||
Shading.dll
|
||||
RendComp.dll
|
||||
alchemy.dll
|
||||
ximage.dll
|
||||
flmaterials.dll
|
||||
jflp.dll ; Jason's Freelancer Patch
|
||||
DelayDisplay.dll
|
||||
HudShift.dll
|
||||
MP3codec.dll
|
||||
MPRep.dll
|
||||
numeric.dll
|
||||
ranks.dll
|
||||
storyfactions.dll
|
||||
Territory.dll
|
||||
TurretZoom.dll max=1000 shift=100 ctrl=10 alt=2 s+c=0.2 c+a=0.1 switch=50 interval=250 adjust=0.85
|
||||
MultiIntro.dll
|
||||
flplusplus.dll
|
||||
WheelScroll.dll
|
||||
Zone.dll
|
||||
HUDless.dll
|
||||
HudFacility.dll
|
||||
HudTarget.dll
|
||||
HudStatus.dll
|
||||
|
||||
;REM
|
||||
REM-Client.dll
|
||||
MinHook.x86.dll
|
||||
|
||||
;;EMAURER now include any DLLs used only in development.
|
||||
@include FL_DevOnlyLibs.ini
|
||||
|
||||
[System]
|
||||
VMeshLibrary
|
||||
DirectX8 ; implements IID_IRenderPipeline, IID_IVertexBuffer under dx8
|
||||
SoundManager
|
||||
SoundStreamer
|
||||
TextureLibrary
|
||||
MaterialAnimation
|
||||
MaterialBatcher
|
||||
Alchemy
|
||||
FxRuntime
|
||||
|
||||
[Engine]
|
||||
Animation
|
||||
Hardpoint
|
||||
Deformable
|
||||
RenderManager
|
||||
FLAppearance
|
||||
VMeshWire
|
||||
|
||||
[RenderManager]
|
||||
VMesh
|
||||
TriMesh ; keep trimesh above sphere mesh --
|
||||
SphereMesh ; subsystems attempt to create objects in order listed
|
||||
|
||||
[TriMesh]
|
||||
tristrips = 0
|
||||
|
||||
[RenderPipeline]
|
||||
MGSDB= FLConfigDatabase.txt
|
||||
|
||||
;DEVICE_GAMMA = false ; forces gamma control off
|
||||
;TEXTURE_ALLOW_DXT = false ; forces dxtn support off
|
||||
|
||||
ALPHAREF = 0 ; d3drenderstate: default alpha ref
|
||||
ALPHATESTENABLE = true ; d3drenderstate: basic alpha test
|
||||
ALPHAFUNC = 5 ; d3drenderstate: D3DCMP_GREATER
|
||||
LOCALVIEWER = false ; d3drenderstate: specular highlights
|
||||
zfunc = 4 ; default z compare func is D3DCMP_LESSEQUAL
|
||||
|
||||
;FPU_PRESERVE = false ; should Direct3D save and restore the FPU state every time it needs to modify the FPU state.
|
||||
;MULTITHREADED = false ; request multithread-safe behavior. This causes Direct3D to take the global critical section more frequently.
|
||||
|
||||
; vertex processing flags are mutually exclusive
|
||||
; regardless of what the user asks for if the device cant support hw-tl the user gets sw-tl
|
||||
HARDWARE_VERTEXPROCESSING= true
|
||||
;MIXED_VERTEXPROCESSING= true
|
||||
;SOFTWARE_VERTEXPROCESSING= true
|
||||
|
||||
;LOCAKABLE_BACKBUFFER= false ; should the device allow the backbuffer to be locked
|
||||
USE_SYSLOCK= false ; should resources (vb, ib, texture) take a windows wide critical lock when in use
|
||||
HANDLE_SWAPLOSS= false ; should rp attempt to handle device loss internally?
|
||||
; a poor substitute for app-side management but makes tool building easier
|
||||
;VIEWSPACE_LIGHTS = false
|
||||
|
||||
;TEXTURE_CUBEMAPS = false
|
||||
|
||||
|
||||
[;TextureLibrary]
|
||||
;(TEXTURE_LOD_LOAD_MIN= 128) while this would work for other apps, Freelancer's perfoptions.ini will override whatever setting this has.
|
||||
|
||||
[SoundManager]
|
||||
;HEADPHONES 1, STERO 2, QUAD 7, SURROUND 8
|
||||
;speakerConfiguration = 2 ;set only if you want to override Windows setting
|
||||
createAll2dInSoftware = true
|
||||
3D_SW_Algorithm = Light
|
||||
use2DHW = true
|
||||
use3DHW = true
|
||||
maxSoundChannels = 24 ; was 30. changed for Beta -psw
|
||||
;pci - force HW mixing until Library default is changed
|
||||
FORCE_FREQ_CONTROL_TO_SW = false
|
||||
max3DPan = 15
|
||||
|
||||
[Alchemy]
|
||||
;EMAURER added this line to fix problem with runtime alchemy running out of vertex buffer
|
||||
;maxVertices and maxIndices are now determined by alchemy based on the particle pools
|
||||
;Alchemy.maxVertices ~= 11100
|
||||
;Alchemy.maxIndices ~= 28200
|
||||
|
||||
Alchemy.useMaterialBatcher = false
|
||||
; (note: 1000 is default poolsize)
|
||||
FxBasicAppearance.poolSize = 10000 ; each particle can generate: 4 verts 6, indices
|
||||
FxRectAppearance.poolSize = 4000 ; each particle can generate: 4 verts 6, indices
|
||||
FxPerpAppearance.poolSize = 2500 ; each particle can generate: 4 verts 6, indices
|
||||
FxOrientedAppearance.poolSize = 1000 ; each particle can generate: 4 verts 6, indices
|
||||
FLBeamAppearance.poolSize = 6800 ; custom app from flalchemy.dll: each particle can generate: 5 verts 24 indices
|
||||
FLDustAppearance.poolSize = 2500 ; custom app from flalchemy.dll: each particle can generate: 4 verts 6 indices
|
||||
;---------------------- total = 26000 -------;
|
||||
;
|
||||
FxMeshAppearance.poolSize = 5000 ; generates meshes not particles; need enough of these for all tradelane rings in a system.
|
||||
FxParticleAppearance.poolSize = 1000 ; generates effects not particles
|
||||
|
||||
[BatchedMaterials]
|
||||
Type = .*OcOt
|
||||
|
||||
[MaterialMap] ; evaluation of material map happens in reverse order listed so put more specific last
|
||||
; -------- da standard maps ------------------------
|
||||
DcDtEtTwo = DcDtEt ; jhood: spew complained about Two, so map it
|
||||
EcEtOcOt= DcDtOcOt ; EMAURER: exporter generates EcEtOcOt but there is no implementation of it right now.
|
||||
DcDtEcEt= DcDtEt ; STRAVIS: should already be happening but the exporters dont seem to be making the conversion
|
||||
|
||||
; -------- freelancer specific maps: from dalibs\shading.dll ------------------------
|
||||
name = ^alpha_mask.* = DcDt ; these are materials that would otherwise get mapped to translucent textures and batched
|
||||
name = ^alpha_mask.*2side = DcDtTwo ; we arent using alpha for blending -- just for masking
|
||||
|
||||
name = ^detailmap_.* = BtDetailMapMaterial
|
||||
|
||||
name = ^tlr_material$ = NebulaTwo
|
||||
name = ^tlr_energy$ = NebulaTwo
|
||||
|
||||
; -------- freelancer materials: from flmaterials.dll -----------------
|
||||
;name = ^nomad.*$ = NomadMaterial ---> this must be commented out
|
||||
name = ^nomad.*$ = NomadMaterialNoBendy
|
||||
name = ^n-texture.*$ = NomadMaterialNoBendy
|
||||
name = ^ui_.* = HUDIconMaterial
|
||||
name = ^exclusion_.* = ExclusionZoneMaterial
|
||||
|
||||
Name= ^c_glass$ = HighGlassMaterial
|
||||
Name= ^cv_glass$ = HighGlassMaterial
|
||||
Name= ^b_glass$ = HighGlassMaterial
|
||||
Name= ^k_glass$ = HighGlassMaterial
|
||||
Name= ^l_glass$ = HighGlassMaterial
|
||||
Name= ^r_glass$ = HighGlassMaterial
|
||||
Name = ^planet.*_glass$ = GFGlassMaterial
|
||||
Name = ^bw_glass$ = HighGlassMaterial
|
||||
Name = ^o_glass$ = HighGlassMaterial
|
||||
Name = ^anim_hud.*$ = HUDAnimMaterial
|
||||
name = ^sea_anim.*$ = PlanetWaterMaterial
|
||||
|
||||
Name = ^null$ = NullMaterial
|
||||
30
EXE/dacomsrv.ini
Normal file
30
EXE/dacomsrv.ini
Normal file
@@ -0,0 +1,30 @@
|
||||
@include FL_Dev.ini
|
||||
|
||||
[DACOM]
|
||||
IgnoreDACOMEnv = true
|
||||
DllPath = .\
|
||||
|
||||
[Libraries]
|
||||
readfile.dll
|
||||
engbase.dll
|
||||
x86math.dll
|
||||
rendcomp.dll
|
||||
system.dll
|
||||
Thorn.dll
|
||||
DebugLib.dll
|
||||
rp8.dll
|
||||
shading.dll
|
||||
|
||||
[System]
|
||||
DirectX8
|
||||
MaterialLibrary
|
||||
TextureLibrary
|
||||
|
||||
[Engine]
|
||||
Animation
|
||||
Hardpoint
|
||||
RenderManager
|
||||
|
||||
[RenderManager]
|
||||
SphereMesh
|
||||
TriMesh
|
||||
BIN
EXE/debuglib.dll
Normal file
BIN
EXE/debuglib.dll
Normal file
Binary file not shown.
BIN
EXE/deformable2.dll
Normal file
BIN
EXE/deformable2.dll
Normal file
Binary file not shown.
349
EXE/dgVoodoo.conf
Normal file
349
EXE/dgVoodoo.conf
Normal file
@@ -0,0 +1,349 @@
|
||||
;==========================================================================
|
||||
; === Text based config file for dgVoodoo2
|
||||
; === Use this file if you are a game modder/hacker or an experted user and
|
||||
; want to modify some advanced properties not available via the CPL.
|
||||
;==========================================================================
|
||||
|
||||
Version = 0x282
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
[General]
|
||||
|
||||
; OutputAPI: "d3d11warp", "d3d11_fl10_0", "d3d11_fl10_1", "d3d11_fl11_0",
|
||||
; "d3d12_fl11_0", "d3d12_fl12_0", "bestavailable"
|
||||
; Adapters: "all", or the ordinal of the adapter (1, ...)
|
||||
;FullScreenOutput: "default", or the ordinal of the output on the adapter (1, ...)
|
||||
; ScalingMode: "unspecified", "centered", "stretched", "centered_ar", "stretched_ar", "stretched_ar_crt",
|
||||
; "stretched_4_3", "stretched_4_3_crt", "stretched_4_3_c64"
|
||||
;
|
||||
;InheritColorProfileInFullScreenMode:
|
||||
; Enabled by default and can only be disabled only when a D3D11 output API
|
||||
; is explicitly selected. Disabled case is intended for avoiding extra
|
||||
; rendering resources on old hardware for better performance, if required.
|
||||
|
||||
OutputAPI = bestavailable
|
||||
Adapters = all
|
||||
FullScreenOutput = default
|
||||
FullScreenMode = true
|
||||
ScalingMode = unspecified
|
||||
ProgressiveScanlineOrder = false
|
||||
EnumerateRefreshRates = false
|
||||
|
||||
Brightness = 100
|
||||
Color = 100
|
||||
Contrast = 100
|
||||
InheritColorProfileInFullScreenMode = true
|
||||
|
||||
KeepWindowAspectRatio = true
|
||||
CaptureMouse = true
|
||||
CenterAppWindow = false
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
[GeneralExt]
|
||||
|
||||
; DesktopResolution: Desktop (native) resolution can be forced for dgVoodoo's internal calculations.
|
||||
; Useful for rare applications that pre-set the desktop to other than the native
|
||||
; resolution before dgVoodoo gets in action. Only the compact format can be used here,
|
||||
; and applies to all outputs of the desktop.
|
||||
; DesktopBitDepth: You can define what screen bit depth should be reported through dgVoodoo
|
||||
; (8, 16, 32)
|
||||
; DeframerSize: When resolution is forced to other than the app default then
|
||||
; a black frame is drawn around the output image coming from a wrapped API
|
||||
; to remove scaling artifacts -
|
||||
; frame thickness can be defined in pixels (max 16, 0 = disable)
|
||||
; ImageScaleFactor: Integer factor for scaling the output image coming from a wrapped API
|
||||
; Always done by nearest point filtering, independent on scaling mode
|
||||
; (0 = max available)
|
||||
; Separate factors can be defined for horizontal and vertical scaling
|
||||
; by subproperties, e.g.
|
||||
; ImageScaleFactor = x:3, y:2
|
||||
; CursorScaleFactor: Integer factor for scaling the emulated hardware mouse (max 16)
|
||||
; (0 = automatic, 1 = no scale, 2 = double scale, ...)
|
||||
; DisplayROI: Display region of interest
|
||||
; If scaling is done by the dgVoodoo then you can define a subrect of the
|
||||
; output image, coming from a wrapped API, to be displayed. The defined subrect
|
||||
; is mapped to the display output according to the current scaling mode
|
||||
; It can be useful for applications rendering a widescreen subimage into a 4:3
|
||||
; resolution; in this case you can scale up that subimage to (nearly) fill the
|
||||
; whole screen on a widescreen monitor.
|
||||
; DisplayROI empty value means the whole image.
|
||||
; DisplayROI value can be a proportion in form of %d_%d or a pixel size (%d|%d)
|
||||
; Pos subproperty is not mandatory and can be 'centered' or a pixel position (%d|%d)
|
||||
; Examples: DisplayROI = 16_9, pos:centered
|
||||
; DisplayROI = (320|200), pos:(10|10)
|
||||
; Resampling: When scaling is done by the dgVoodoo for the given scaling mode,
|
||||
; you can choose which filter is to be used for resampling the output image
|
||||
; Available filters are: "pointsampled", "bilinear", "bicubic", "lanczos-2", "lanczos-3"
|
||||
; PresentationModel: Low-level swapchain swap effect: if you know what you are doing then it can be
|
||||
; overridden here. Flip models are better suited for modern OS features like auto HDR,
|
||||
; while plain legacy models provide the best presentation performance under ideal conditions
|
||||
; Not all model + output API + OS version combinations are supported.
|
||||
; "auto", "discard", "seq", "flip_discard", "flip_seq"
|
||||
; ColorSpace: Color space of the swap chain:
|
||||
; "appdriven" - an application can choose argb2101010 through D3D9, but it means
|
||||
; the legacy argb8888_srgb in any other case
|
||||
; "argb8888_srgb" - Legacy 32 bit output for SDR displays
|
||||
; "argb2101010_sdr" - 32 bit extended precision for SDR displays
|
||||
; "argb2101010_sdr_wcg" - Wide Color Gamut format for SDR displays (available from Windows 11 22H2)
|
||||
; "argb16161616_hdr" - Float16 HDR output (available from Windows 10 1709)
|
||||
; FreeMouse: If true then physical mouse is free to move inside the game window
|
||||
; when using emulated scaling and/or application and forced resolution
|
||||
; differs; can be useful when a game relies on the physical window size
|
||||
; WindowedAttributes: You can define attributes for forced windowed appearance (separated by commas):
|
||||
; "borderless" - forces the app window not have any border
|
||||
; "alwaysontop" - forces the app window into the top-most band
|
||||
; "fullscreensize" - forces the app window to be full screen size with image scaling inside
|
||||
; FullscreenAttributes: You can define attributes for fullscreen appearance (separated by commas):
|
||||
; "fake" - forces fake fullscreen mode with a screen-size window
|
||||
; FPSLimit: An integer or rational (fractional) value, 0 = unlimited
|
||||
; Environment: Software environment in which dgVoodoo is running: can be left unspecified (native)
|
||||
; or can be set to 'DosBox' or 'QEmu'.
|
||||
; SystemHookFlags: You can define which part of the system should be hooked (x86-DX only):
|
||||
; "gdi" - for showing graphical contents rendered through GDI
|
||||
; (like movie playback through the ancient Windows Multimedia AVI player library)
|
||||
; "cursor" - for suppressing double-cursor symptoms when the cursor is emulated
|
||||
|
||||
DesktopResolution =
|
||||
DesktopBitDepth =
|
||||
DeframerSize = 1
|
||||
ImageScaleFactor = 1
|
||||
CursorScaleFactor = 0
|
||||
DisplayROI =
|
||||
Resampling = bilinear
|
||||
PresentationModel = auto
|
||||
ColorSpace = appdriven
|
||||
FreeMouse = false
|
||||
WindowedAttributes =
|
||||
FullscreenAttributes =
|
||||
FPSLimit = 0
|
||||
Environment =
|
||||
SystemHookFlags =
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
[Glide]
|
||||
|
||||
; VideoCard: "voodoo_graphics", "voodoo_rush", "voodoo_2", "voodoo_banshee", "other_greater"
|
||||
; OnboardRAM: in MBs
|
||||
; MemorySizeOfTMU: in kBs
|
||||
; TMUFiltering: "appdriven", "pointsampled", "bilinear"
|
||||
;
|
||||
; Resolution: either "unforced", "max", "max_isf", "max_fhd", "max_fhd_isf", "max_qhd", "max_qhd_isf", "desktop", "%dx",
|
||||
; "max_%dx", "max_isf_%dx", "max_fhd_%dx", "max_fhd_isf_%d"x, "max_qhd_%dx", "max_qhd_isf_%dx", "desktop_%dx"
|
||||
; or subproperties: h: horizontal, v: vertical
|
||||
; + optional subproperty refrate: refresh rate in Hz
|
||||
; e.g. Resolution = max, refrate:60
|
||||
; Resolution = 2x, refrate:59
|
||||
; Resolution = h:1280, v:1024, refrate:75
|
||||
; Resolution = max_2x
|
||||
; or just use the compact form like "1024x768@60" or "512x384"
|
||||
;
|
||||
;Antialiasing: "off", "appdriven", "2x", "4x", "8x", "16x" (your GPU must support the chosen one)
|
||||
|
||||
VideoCard = voodoo_2
|
||||
OnboardRAM = 12
|
||||
MemorySizeOfTMU = 4096
|
||||
NumberOfTMUs = 2
|
||||
TMUFiltering = bilinear
|
||||
DisableMipmapping = false
|
||||
Resolution = unforced
|
||||
Antialiasing = 8x
|
||||
|
||||
EnableGlideGammaRamp = true
|
||||
ForceVerticalSync = false
|
||||
ForceEmulatingTruePCIAccess = false
|
||||
16BitDepthBuffer = false
|
||||
3DfxWatermark = false
|
||||
3DfxSplashScreen = false
|
||||
PointcastPalette = false
|
||||
EnableInactiveAppState = false
|
||||
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
[GlideExt]
|
||||
|
||||
; DitheringEffect: "pure32bit", "dither2x2", "dither4x4"
|
||||
; Dithering: "disabled", "appdriven", "forcealways"
|
||||
; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size
|
||||
; 1 = normal, 2 = double size, etc.
|
||||
; 0 = automatic (the aim is to have some retro feel&look)
|
||||
|
||||
DitheringEffect = pure32bit
|
||||
Dithering = forcealways
|
||||
DitherOrderedMatrixSizeScale = 0
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
[DirectX]
|
||||
|
||||
; VideoCard: "svga", "internal3D", "geforce_ti_4800", "ati_radeon_8500",
|
||||
; "matrox_parhelia-512", "geforce_fx_5700_ultra", "geforce_9800_gt"
|
||||
; VRAM: in MBs (default) or in GBs (e.g. VRAM = 2GB)
|
||||
; Filtering: "appdriven", "pointsampled", "bilinear", "pointmip", "linearmip", "trilinear"
|
||||
; or the integer value of an anisotropic filtering level (1-16)
|
||||
; Mipmapping: "appdriven", "disabled", "autogen_point", "autogen_bilinear"
|
||||
; KeepFilterIfPointSampled: if enabled then forced filtering affects only non-point sampled textures
|
||||
; Bilinear2DOperations: if enabled then DirectDraw Blit and CPU-written data is transferred with bilinear scaling
|
||||
|
||||
DisableAndPassThru = false
|
||||
|
||||
VideoCard = internal3D
|
||||
VRAM = 4096
|
||||
Filtering = 16
|
||||
Mipmapping = autogen_bilinear
|
||||
KeepFilterIfPointSampled = false
|
||||
Resolution = unforced
|
||||
Antialiasing = 8x
|
||||
|
||||
AppControlledScreenMode = true
|
||||
DisableAltEnterToToggleScreenMode = true
|
||||
|
||||
Bilinear2DOperations = false
|
||||
PhongShadingWhenPossible = false
|
||||
ForceVerticalSync = false
|
||||
dgVoodooWatermark = false
|
||||
FastVideoMemoryAccess = false
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
[DirectXExt]
|
||||
|
||||
; AdapterIDType: "nvidia", "amd", "intel" or leave it undefined
|
||||
; You can define what type of driver version and vendor id's the wrapper should report to
|
||||
; the application; Some games rely on that information so it can be useful for them
|
||||
; Can be defined only for SVGA and Internal3D card types; the others have their own wired
|
||||
; information
|
||||
|
||||
; VendorID, DeviceID, SubsystemID, RevisionID:
|
||||
; Can be defined only for SVGA and Internal3D card types
|
||||
; You can overwrite these properties even if a non-default AdapterIDType is defined;
|
||||
; say, you defined an nvidia id type but would like to refine the vendor id
|
||||
|
||||
; DefaultEnumeratedResolutions: you can define what resolutions should be enumerated to the application by default
|
||||
; "all", "classics", "none"
|
||||
|
||||
; ExtraEnumeratedResolutions: you can add extra resolutions (separated by commas, max 16) that will get
|
||||
; enumerated to the application as display adapter supported ones -
|
||||
; can be useful if an app supports rendering at arbitrary resolutions
|
||||
; and you have a particular favorite resolution that are not
|
||||
; enumerated to the application by default
|
||||
; you can either use the compact resolution format here, or
|
||||
; "max", "max@refrate" meaning your desktop resolution with a potential refresh rate, or
|
||||
; "max_4_3", "max_4_3@refrate", "max_16_9", "max_16_9@refrate"
|
||||
; meaning the maximum resolution with the given aspect ratio calculated from
|
||||
; the desktop resolution with the given refresh rate, e.g. "max_4_3@60", "max_16_9"
|
||||
|
||||
; EnumeratedResolutionBitdepths: you can filter what bitdepths are included in the resolution enumeration
|
||||
; any subset of {"8", "16", "32"}, or "all"
|
||||
|
||||
; DitheringEffect: "high_quality", "ordered2x2", "ordered4x4"
|
||||
; Dithering: "disabled", "appdriven", "forceon16bit", "forcealways"
|
||||
; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size
|
||||
; 1 = normal, 2 = double size, etc.
|
||||
; 0 = automatic
|
||||
; DepthBuffersBitDepth: internal bit depth of depth/stencil buffers for 3D rendering (32 bit is not recommended)
|
||||
; "appdriven", "forcemin24bit", "force32bit"
|
||||
; Default3DRenderFormat: default format of 3D rendering
|
||||
; "auto", "argb8888", "argb2101010", "argb16161616"
|
||||
; auto corresponds to the selected color space
|
||||
; argb2101010 has the benefit that it is still 32 bit but it can corrupt the rendering
|
||||
; because of the lowered alpha bits, not recommended
|
||||
|
||||
; MaxVSConstRegisters: Max number of vertex shader constant registers (DX8/9 only)
|
||||
; Can be defined only for SVGA and Internal3D card types
|
||||
; Valid values are 256 (default), 512 or 1024
|
||||
|
||||
; NPatchTesselationLevel: Force N-Patch tesselation level (D3D8/9)
|
||||
; 0 = app driven
|
||||
; 1 = disable
|
||||
; 2 to 8 = a forced tesselation level
|
||||
; Altough tesselation works with all vertex shader versions, you can force level higher than 1
|
||||
; only for the fixed function or vs.1.x vertex pipeline because of performance and practical reasons
|
||||
; (forced tesselation also disables adaptive mode (D3D9), but forcing is not recommended at all, anyway)
|
||||
|
||||
; DisplayOutputEnableMask: Each bit in this 32 bit value corresponds to a display output. Display outputs of the adapters are numbered
|
||||
; sequentially. If Adapter0 has n display outputs and Adapter1 has m display outputs attached then the lowest
|
||||
; n bits match Adapter0 display outputs, the next m bits match Adapter1 outputs, and so on. The lowest bit
|
||||
; in a group corresponds to Output0. If a bit value is 0 then the display output is disabled for the device
|
||||
; enumeration, in other words, it is invisible to the application. It can be useful for D3D9 multihead-
|
||||
; or very special applications where you want to enable only individual displays on your monitor wall.
|
||||
|
||||
; MSD3DDeviceNames: if true then original Microsoft D3D device names are exposed
|
||||
; (some applications check for them and they fail)
|
||||
|
||||
; RTTexturesForceScaleAndMSAA: if true then forced resolution scaling and MSAA is
|
||||
; applied also to rendertarget textures
|
||||
; Set it to false for games requiring pixel-precise rendering
|
||||
; but be careful it can EASILY break certain things, not recommended
|
||||
|
||||
; SmoothedDepthSampling: if true then extra smoothing is added to depth textures
|
||||
; when they are sampled
|
||||
|
||||
; DeferredScreenModeSwitch: If true the switching to full screen is deferred after the application initialized
|
||||
; the DirectX device; can be useful for games that don't expect rendering window changes
|
||||
; during initialization and crash
|
||||
|
||||
; PrimarySurfaceBatchedUpdate: If true then direct changes of the primary surface are batched together for presenting them
|
||||
; If false then each change is instantly presented (debug-like mode)
|
||||
|
||||
; SuppressAMDBlacklist: Some AMD GPU models are blacklisted to workaround the solid-color-textures driver issue
|
||||
; You can suppress it to check out if the problem is fixed in your current driver
|
||||
|
||||
AdapterIDType =
|
||||
VendorID =
|
||||
DeviceID =
|
||||
SubsystemID =
|
||||
RevisionID =
|
||||
|
||||
DefaultEnumeratedResolutions = all
|
||||
ExtraEnumeratedResolutions =
|
||||
EnumeratedResolutionBitdepths = all
|
||||
|
||||
DitheringEffect = high_quality
|
||||
Dithering = forcealways
|
||||
DitherOrderedMatrixSizeScale = 0
|
||||
DepthBuffersBitDepth = appdriven
|
||||
Default3DRenderFormat = auto
|
||||
|
||||
MaxVSConstRegisters = 256
|
||||
|
||||
NPatchTesselationLevel = 0
|
||||
|
||||
DisplayOutputEnableMask = 0xffffffff
|
||||
|
||||
MSD3DDeviceNames = false
|
||||
RTTexturesForceScaleAndMSAA = true
|
||||
SmoothedDepthSampling = true
|
||||
DeferredScreenModeSwitch = false
|
||||
PrimarySurfaceBatchedUpdate = false
|
||||
SuppressAMDBlacklist = false
|
||||
|
||||
;--------------------------------------------------------------------------
|
||||
|
||||
[Debug]
|
||||
|
||||
; This section affects only debug/spec release builds
|
||||
;
|
||||
; Info, Warning, Error
|
||||
; "Disable" - disables all messages and debugger break
|
||||
; "Enable" - enables messages and disables debugger break
|
||||
; "EnableBreak" - enables both messages and breaking into debugger
|
||||
;
|
||||
; MaxTraceLevel: Maximum level of tracing API calls
|
||||
; 0 - Disable
|
||||
; 1 - API Functions and methods
|
||||
; 2 - Additional trace info for internals
|
||||
;
|
||||
; LogToFile: if false or debugger is detected then output goes to the debug output
|
||||
; if true and no debugger detected then output goes to 'dgVoodoo.log'
|
||||
; (not implemented yet, always the default debug output is used)
|
||||
|
||||
Info = enable
|
||||
Warning = enable
|
||||
Error = enable
|
||||
MaxTraceLevel = 0
|
||||
|
||||
;LogToFile = false
|
||||
BIN
EXE/dgVoodooCpl.exe
Normal file
BIN
EXE/dgVoodooCpl.exe
Normal file
Binary file not shown.
2
EXE/dgVoodooReadme.url
Normal file
2
EXE/dgVoodooReadme.url
Normal file
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=http://dege.fw.hu/dgVoodoo2/ReadmeGeneral/
|
||||
2
EXE/dgVoodooReadmeDirectX.url
Normal file
2
EXE/dgVoodooReadmeDirectX.url
Normal file
@@ -0,0 +1,2 @@
|
||||
[InternetShortcut]
|
||||
URL=http://dege.fw.hu/dgVoodoo2/ReadmeDirectX/
|
||||
BIN
EXE/dinput8.dll
Normal file
BIN
EXE/dinput8.dll
Normal file
Binary file not shown.
BIN
EXE/dw15.exe
Normal file
BIN
EXE/dw15.exe
Normal file
Binary file not shown.
BIN
EXE/dxgi.dll
Normal file
BIN
EXE/dxgi.dll
Normal file
Binary file not shown.
BIN
EXE/ebueula.dll
Normal file
BIN
EXE/ebueula.dll
Normal file
Binary file not shown.
BIN
EXE/engbase.dll
Normal file
BIN
EXE/engbase.dll
Normal file
Binary file not shown.
BIN
EXE/equipresources.dll
Normal file
BIN
EXE/equipresources.dll
Normal file
Binary file not shown.
1123
EXE/flconfigdatabase.txt
Normal file
1123
EXE/flconfigdatabase.txt
Normal file
File diff suppressed because it is too large
Load Diff
77
EXE/fldirectip.hta
Normal file
77
EXE/fldirectip.hta
Normal file
@@ -0,0 +1,77 @@
|
||||
<HTML>
|
||||
<!-- Jan 30, 2003 -->
|
||||
<HEAD>
|
||||
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
|
||||
<HTA:APPLICATION
|
||||
ID="oHTA"
|
||||
APPLICATIONNAME="MyFLMPKey"
|
||||
SINGLEINSTANCE="yes"
|
||||
CONTEXTMENU="no"
|
||||
MAXIMIZEBUTTON="no"
|
||||
>
|
||||
<SCRIPT language="VBScript">
|
||||
On Error Resume Next
|
||||
Sub window_OnLoad
|
||||
window.resizeto 600, 450
|
||||
IPADDRESS.focus()
|
||||
PORT.value = "2302"
|
||||
End Sub
|
||||
|
||||
Sub ADDSERVER_OnClick
|
||||
if (PORT.value = "") then PORT.value = "2302"
|
||||
FLOPTIONS.innerText = FLOPTIONS.innerText & " -s" & IPADDRESS.value & ":" & PORT.value
|
||||
IPADDRESS.value = ""
|
||||
PORT.value = "2302"
|
||||
IPADDRESS.focus()
|
||||
End Sub
|
||||
|
||||
Sub LAUNCH_OnClick
|
||||
Set WS=CreateObject("Wscript.Shell")
|
||||
On Error Resume Next
|
||||
regAppKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Games\Freelancer\1.0\"
|
||||
appPath=WS.RegRead(regAppKey&"AppPath")
|
||||
If Err Then
|
||||
Err=false
|
||||
'Assume the current directory
|
||||
appPath="Freelancer.exe"
|
||||
Else
|
||||
'Put in the rest of the path
|
||||
appPath=""""&appPath&"\EXE\Freelancer.exe"""
|
||||
End If
|
||||
result=WS.Run(appPath & FLOPTIONS.innerText, 1, 0)
|
||||
Set WS=Nothing
|
||||
Window.close()
|
||||
End Sub
|
||||
</SCRIPT>
|
||||
<title>Direct Freelancer Server Connection</title>
|
||||
</HEAD>
|
||||
<BODY BACKGROUND="BackgroundPattern.bmp" style="color: #87C3E0; font-family: Agency FB" SCROLL="no">
|
||||
<font color="#87C3E0">
|
||||
<H1 align="center" ID="HEADER">Connect to a <I>Freelancer</I> Server via IP Address</H1>
|
||||
<p>
|
||||
This feature allows you to connect to a Freelancer server without having to connect to the global server.
|
||||
This is useful for when the server admin does not want to advertise the server to the rest of the Internet,
|
||||
or when the global server is down.
|
||||
</p>
|
||||
<p>
|
||||
To add an IP address and port to the list: enter the address and port below, then click the "Add Server" button.
|
||||
</p>
|
||||
<p>
|
||||
Once you have entered all of the IP addresses you want, click the "Launch Freelancer" button.
|
||||
</p>
|
||||
<table align=center>
|
||||
<tr><td align="right">IP Address:</td><td><INPUT type="text" ID="IPADDRESS" NAME="IPADDRESS"/></td></tr>
|
||||
<tr><td align="right">Port:</td><td><INPUT type="text" ID="PORT" NAME="PORT"/></td></tr>
|
||||
</table>
|
||||
<p align="center">
|
||||
<BUTTON id="ADDSERVER">Add Server</BUTTON>
|
||||
</p>
|
||||
<p>
|
||||
Command line: Freelancer.exe <b id="FLOPTIONS"></b>
|
||||
</p>
|
||||
<p align="center">
|
||||
<BUTTON id="LAUNCH">Launch Freelancer</BUTTON>
|
||||
</p>
|
||||
</font>
|
||||
</BODY>
|
||||
</HTML>
|
||||
BIN
EXE/flmaterials.dll
Normal file
BIN
EXE/flmaterials.dll
Normal file
Binary file not shown.
BIN
EXE/flplusplus.dll
Normal file
BIN
EXE/flplusplus.dll
Normal file
Binary file not shown.
19
EXE/flplusplus.ini
Normal file
19
EXE/flplusplus.ini
Normal file
@@ -0,0 +1,19 @@
|
||||
; Settings file for flplusplus
|
||||
[flplusplus]
|
||||
; Multiplier for render distance and the distance at which LODs are switched.
|
||||
; Supports decimal values
|
||||
; 0 = maximized
|
||||
; 1 = no change from vanilla Freelancer
|
||||
; 2 = Double render distance & LOD switch threshold
|
||||
; 3.5 = 3.5x render distance & LOD switch threshold, etc.
|
||||
lod_scale = 0
|
||||
; save_folder_name
|
||||
; Name of the save folder in Documents/My Games
|
||||
save_folder_name = Freelancer
|
||||
; save_in_directory
|
||||
; if true, save in the game directory (EXE/../SAVE) instead of Documents/My Games
|
||||
save_in_directory = false
|
||||
; Patch out "Failed to get start location" warning
|
||||
remove_start_location_warning = true
|
||||
; Log spew to stdout (not too useful on Windows)
|
||||
log_to_console = false
|
||||
11
EXE/flplusplus_license.txt
Normal file
11
EXE/flplusplus_license.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Copyright 2020 Callum McGing, flplusplus contributors
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
BIN
EXE/flserver.exe
Normal file
BIN
EXE/flserver.exe
Normal file
Binary file not shown.
236
EXE/freelancer.ini
Normal file
236
EXE/freelancer.ini
Normal file
@@ -0,0 +1,236 @@
|
||||
;
|
||||
; FreeLancer - game configuration file
|
||||
;
|
||||
|
||||
[Freelancer]
|
||||
data path = ..\data
|
||||
local_server = rpclocal.dll
|
||||
initial_world = InitialWorld.ini ;relative to Data path
|
||||
AppGUID = {A690F026-26F0-4e57-ACA0-ECF868E48D21}
|
||||
|
||||
[Startup]
|
||||
;movie_file = movies\MGS_Logo_Final.wmv
|
||||
;movie_file = movies\DA_Logo_Final.wmv
|
||||
;movie_file = movies\FL_Intro.wmv
|
||||
|
||||
[ListServer]
|
||||
;;;hostname = localhost ;Your local machine
|
||||
;;;hostname = FLListServer2.dns.corp.microsoft.com ;GUN server in Austin
|
||||
;;;hostname = 131.107.135.190 ;GUN server in Redmond
|
||||
;;;hostname = fllistserver.zone.msn.com ;GUN server in Redmond (DNS entry)
|
||||
hostname = gun.rem-freelancer.moe ;Alternative GUN server gun.fllistserver.com
|
||||
port = 2300
|
||||
|
||||
[Server]
|
||||
;name = M9Universe
|
||||
;description = My cool Freelancer server
|
||||
death_penalty = 100 ; percentage of your cargo (commoditied and unmounted equipment) lost at death in MP
|
||||
|
||||
[Initial MP DLLs]
|
||||
path = ..\dlls\bin
|
||||
DLL = Content.dll, GameSupport, HIGHEST
|
||||
; required to operate gates and docks
|
||||
; required to create ships in space
|
||||
DLL = Content.dll, SpaceSupport, NORMAL
|
||||
DLL = Content.dll, BaseSupport, NORMAL
|
||||
|
||||
DLL = Content.dll, SpacePop, LOWEST ;populator
|
||||
DLL = Content.dll, AISandbox, BELOW_NORMAL
|
||||
DLL = Content.dll, TestAutomation, BELOW_NORMAL
|
||||
DLL = Content.dll, BasePop, LOWEST
|
||||
|
||||
[Initial SP DLLs]
|
||||
path = ..\dlls\bin
|
||||
DLL = Content.dll, GameSupport, HIGHEST
|
||||
; required to operate gates and docks
|
||||
; required to create ships in space
|
||||
DLL = Content.dll, SpaceSupport, NORMAL
|
||||
DLL = Content.dll, BaseSupport, NORMAL
|
||||
|
||||
DLL = Content.dll, StoryLauncher, BELOW_NORMAL ;story/static missions
|
||||
DLL = Content.dll, SpacePop, LOWEST ;populator
|
||||
DLL = Content.dll, AISandbox, BELOW_NORMAL
|
||||
DLL = Content.dll, TestAutomation, BELOW_NORMAL
|
||||
DLL = Content.dll, BasePop, LOWEST
|
||||
|
||||
DLL = callsign.dll, player 1 1-1
|
||||
|
||||
[Resources]
|
||||
DLL = InfoCards.dll ; Contains all infocard text resources
|
||||
DLL = MiscText.dll ; Contains other bulk text resource: rumor, offer, and mission text
|
||||
DLL = NameResources.dll ; Contains names of things, primarily.
|
||||
DLL = EquipResources.dll ;Contains names of equipment (in string table) and infocards for equipment (in HTML resources)
|
||||
DLL = OfferBribeResources.dll ; Contains random mission offers and bribes
|
||||
DLL = MiscTextInfo2.dll ;Contains MP UI elements as well as other misc. text
|
||||
|
||||
[Data]
|
||||
|
||||
;;; ************************************************************************
|
||||
;;; SNICHOLS: There is a multi-player optimization that has been made to
|
||||
;;; the archetype system. This optimization allows archetype-holding packets
|
||||
;;; to store those values in 16 bits instead of 32 bits. It is vital that
|
||||
;;; the order of shared archetype initialization is kept in sync between
|
||||
;;; the client and server. This must be verified before releasing any patch
|
||||
;;; without increasing the "build number". Otherwise, unpredictable results
|
||||
;;; will occur.
|
||||
;;; ************************************************************************
|
||||
|
||||
;EMAURER must load solar archetypes before universe. Universe inspects solar OBJECT_TYPE values.
|
||||
solar = solar\solararch.ini
|
||||
universe = universe\universe.ini
|
||||
constants = constants.ini ;constant variables
|
||||
fonts = fonts\fonts.ini
|
||||
rich_fonts = fonts\rich_fonts.ini
|
||||
sounds = audio\ambience_sounds.ini ;sound-effects (NOT music) for exterior map locations, regions, areas and solar objects
|
||||
sounds = audio\sounds.ini ;all sfx not falling into some other category
|
||||
sounds = audio\engine_sounds.ini ;engine sounds only
|
||||
sounds = audio\interface_sounds.ini
|
||||
sounds = audio\music.ini
|
||||
sounds = audio\story_sounds.ini ;dialogue for the story (except for news broadcasts)
|
||||
sounds = audio\gf_sounds.ini ;sound-effects for gameflow - bases, rooms etc.
|
||||
; sounds = audio\news_sounds.ini ;dialogue for news broadcasts - re-usable PLUS story CUT on 20021211 MG
|
||||
voices = audio\voices_space_male.ini ;dialogue for male NPCs in space (all re-usable)
|
||||
voices = audio\voices_space_female.ini ;dialogue for female NPCs in space (all re-usable)
|
||||
voices = audio\voices_base_male.ini ;dialogue for male NPCs on bases (all re-usable)
|
||||
voices = audio\voices_base_female.ini ;dialogue for female NPCs on bases (all re-usable)
|
||||
voices = audio\voices_recognizable.ini ;all the main characters<72> voice profiles (re-usable dialogue only) (must be read in before mission-specific lines)
|
||||
voices = audio\voices_mission01.ini ;dialogue specific to mission 01 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission02.ini ;dialogue specific to mission 02 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission03.ini ;dialogue specific to mission 03 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission04.ini ;dialogue specific to mission 04 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission05.ini ;dialogue specific to mission 05 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission06.ini ;dialogue specific to mission 06 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission07.ini ;dialogue specific to mission 07 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission08.ini ;dialogue specific to mission 08 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission09.ini ;dialogue specific to mission 09 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission10.ini ;dialogue specific to mission 10 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission11.ini ;dialogue specific to mission 11 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission12.ini ;dialogue specific to mission 12 (story & special supporting characters only - no reusable dialogue)
|
||||
voices = audio\voices_mission13.ini ;dialogue specific to mission 13 (story & special supporting characters only - no reusable dialogue)
|
||||
; voices = audio\voices_tutorial.ini ;dialogue specific to tutorial CUT on 20021211 MG
|
||||
|
||||
explosions = fx\explosions.ini
|
||||
debris = fx\explosions.ini
|
||||
asteroids = solar\asteroidarch.ini
|
||||
|
||||
equipment = equipment\light_equip.ini
|
||||
equipment = equipment\select_equip.ini
|
||||
equipment = equipment\misc_equip.ini
|
||||
equipment = equipment\engine_equip.ini
|
||||
equipment = equipment\ST_equip.ini
|
||||
equipment = equipment\weapon_equip.ini
|
||||
equipment = equipment\prop_equip.ini
|
||||
|
||||
ships = ships\shiparch.ini
|
||||
ships = ships\rtc_shiparch.ini
|
||||
goods = equipment\goods.ini
|
||||
goods = equipment\engine_good.ini
|
||||
goods = equipment\misc_good.ini
|
||||
goods = equipment\st_good.ini
|
||||
goods = equipment\weapon_good.ini
|
||||
|
||||
loadouts = ships\loadouts.ini
|
||||
loadouts = ships\loadouts_special.ini
|
||||
loadouts = ships\loadouts_utility.ini
|
||||
loadouts = solar\loadouts.ini
|
||||
bodyparts = characters\bodyparts.ini
|
||||
costumes = characters\costumes.ini
|
||||
PetalDB = PetalDB.ini
|
||||
effects = fx\effect_types.ini ; needs to be before effects.ini
|
||||
effects = fx\beam_effects.ini ; also needs to be before effects.ini
|
||||
effects = fx\engines\engines_ale.ini
|
||||
effects = fx\equipment\equipment_ale.ini
|
||||
effects = fx\explosions\explosions_ale.ini
|
||||
effects = fx\hull_hits\hull_hits_ale.ini
|
||||
effects = fx\misc\misc_ale.ini
|
||||
effects = fx\shields\shields_ale.ini
|
||||
effects = fx\space\space_ale.ini
|
||||
effects = fx\weapons\weapons_ale.ini
|
||||
effects = fx\effects.ini
|
||||
effects = fx\effects_explosion.ini
|
||||
effect_shapes = fx\effect_shapes.ini
|
||||
fuses = fx\fuse.ini
|
||||
fuses = fx\fuse_br_battleship.ini
|
||||
fuses = fx\fuse_br_destroyer.ini
|
||||
fuses = fx\fuse_br_gunship.ini
|
||||
fuses = fx\fuse_ku_battleship.ini
|
||||
fuses = fx\fuse_ku_destroyer.ini
|
||||
fuses = fx\fuse_ku_gunship.ini
|
||||
fuses = fx\fuse_li_cruiser.ini
|
||||
fuses = fx\fuse_li_dreadnought.ini
|
||||
fuses = fx\fuse_rh_battleship.ini
|
||||
fuses = fx\fuse_rh_cruiser.ini
|
||||
fuses = fx\fuse_rh_gunship.ini
|
||||
fuses = fx\fuse_or_osiris.ini
|
||||
fuses = fx\fuse_transport.ini
|
||||
fuses = fx\fuse_suprise_solar.ini
|
||||
fuses = fx\fuse_freeport7.ini
|
||||
intro = interface\intro.ini
|
||||
gate_tunnels = fx\gate_tunnel.ini
|
||||
groups = InitialWorld.ini
|
||||
HUD = interface\hud.ini
|
||||
jump_effect = fx\jumpeffect.ini
|
||||
igraph = igraph.ini
|
||||
; bases has no filename but the key specifies the load order
|
||||
bases
|
||||
markets = equipment\market_misc.ini
|
||||
markets = equipment\market_ships.ini
|
||||
markets = equipment\market_commodities.ini
|
||||
NewCharDB = characters\NewCharacter.ini
|
||||
WeaponModDB = equipment\WeaponModDB.ini
|
||||
rtcslider = scripts\rtcslider.ini
|
||||
|
||||
[Error]
|
||||
;EMAURER these four should remain as set.
|
||||
log = $Window,65540 ; alert all asserts
|
||||
log = $Window,-1,1 ; alert all errors (SEV_ERROR=1)
|
||||
|
||||
;EMAURER comment out lines below to vary the amount of output spew.
|
||||
|
||||
log = $Text, 65536, 5 ; 65536 means 'don't care' about kind value.
|
||||
; 5 refers to TRACE_LEVEL_5. means report all messages
|
||||
; with severity of 5 or less. lower the number, more severe
|
||||
; the message. WARNINGS are at level 2. reduce for less spew.
|
||||
|
||||
;log = $Text, 'I' ; incoming packet transmission
|
||||
;log = $Text, 'O' ; outgoing packet transmission
|
||||
;log = $Text, 'i' ; instance creation related messages (mass, MOI, equip)
|
||||
;log = $Text, 'r' ; significant attitude/reputation events (show results of AdjustAttitude calls)
|
||||
;log = $Text, 'a' ; detailed info regarding loading/unloading of archetypes.
|
||||
log = $Text, 'c' ; report server-side events sent to contollers
|
||||
log = $Text, 'm' ; mission-generated messages
|
||||
log = $Text, 's' ; log second thread activity
|
||||
;log = $Text, 'f' ; report file opens/closes
|
||||
;log = $Text, 'e' ; explosion/fuse messages
|
||||
log = $Text, 'd' ; damage messages
|
||||
log = $Text, 'A' ; reload console command messages
|
||||
|
||||
;----------------------------
|
||||
; Error explanation
|
||||
;
|
||||
; log = where to display log message, kind of msg, severity of msg
|
||||
; where: [no default]
|
||||
; $window = popup dialog
|
||||
; $text = debugger window
|
||||
; filename = any filename
|
||||
; kind: [default = -1]
|
||||
; -1 // all kinds, distinguish display based on severity.
|
||||
; ERR_RENDER ='R', // Render Pipeline
|
||||
; ERR_NETWORK ='n', // SERVER.DLL
|
||||
; ERR_WARN ='w', // minor general problems
|
||||
; ERR_SPINST ='i', // instance creation messages
|
||||
; ERR_REP ='r', // log significant attitude/reputation events
|
||||
; ERR_ARCH ='a', // log unloads of archetypes.
|
||||
; ERR_CTRL ='c', // log server-side events sent to contollers
|
||||
; ERR_MISN ='m', // mission-generated messages
|
||||
; ERR_ASYNC ='s', // log second thread activity
|
||||
; ERR_FILEIO ='f', // print File open/close
|
||||
; ERR_ASSERT = 65540 // asserts
|
||||
; severity: [ default = all severities ]
|
||||
; the lower the number the more severe
|
||||
; SEV_FATAL = 0 // Unrecoverable errors
|
||||
; SEV_ERROR = 1 // Recoverable errors
|
||||
; SEV_WARNING = 2 // Conditions which may indicate a problem, but are handled
|
||||
; SEV_NOTICE = 3 // Useful messages that are in release builds.
|
||||
; SEV_TRACE_1 = 4 // Information useful for debugging or determining program flow
|
||||
; SEV_TRACE_2..n = 5..n // Higher traces levels indicate more verbose information
|
||||
BIN
EXE/gundll.dll
Normal file
BIN
EXE/gundll.dll
Normal file
Binary file not shown.
BIN
EXE/imeui.dll
Normal file
BIN
EXE/imeui.dll
Normal file
Binary file not shown.
BIN
EXE/infocards.dll
Normal file
BIN
EXE/infocards.dll
Normal file
Binary file not shown.
BIN
EXE/jflp.dll
Normal file
BIN
EXE/jflp.dll
Normal file
Binary file not shown.
BIN
EXE/luaprofile.dll
Normal file
BIN
EXE/luaprofile.dll
Normal file
Binary file not shown.
BIN
EXE/misctext.dll
Normal file
BIN
EXE/misctext.dll
Normal file
Binary file not shown.
BIN
EXE/misctextinfo2.dll
Normal file
BIN
EXE/misctextinfo2.dll
Normal file
Binary file not shown.
BIN
EXE/movie.dll
Normal file
BIN
EXE/movie.dll
Normal file
Binary file not shown.
99
EXE/mpnewcharacter.fl
Normal file
99
EXE/mpnewcharacter.fl
Normal file
@@ -0,0 +1,99 @@
|
||||
[Player]
|
||||
name = %%NAME%%
|
||||
;initial_rep = %%FACTION%%
|
||||
rank = 0
|
||||
|
||||
money = %%MONEY%%
|
||||
;voice = %%VOICE%%
|
||||
;All must be Trent!
|
||||
voice = trent_voice
|
||||
|
||||
costume = %%BASE_COSTUME%%
|
||||
com_costume = %%COMM_COSTUME%%
|
||||
|
||||
system = %%HOME_SYSTEM%%
|
||||
base = %%HOME_BASE%%
|
||||
|
||||
house = 0.91, li_n_grp
|
||||
house = 0.91, li_lsf_grp
|
||||
house = 0.65, li_p_grp
|
||||
house = 0, br_n_grp
|
||||
house = 0, br_p_grp
|
||||
house = 0, ku_n_grp
|
||||
house = 0, ku_p_grp
|
||||
house = 0, rh_n_grp
|
||||
house = 0, rh_p_grp
|
||||
house = 0, co_alg_grp
|
||||
house = 0, co_be_grp
|
||||
house = 0, br_m_grp
|
||||
house = 0, co_nws_grp
|
||||
house = 0, co_hsp_grp
|
||||
house = 0.65, co_ic_grp
|
||||
house = -0.3, co_khc_grp
|
||||
house = -0.3, co_kt_grp
|
||||
house = 0, rh_m_grp
|
||||
house = 0.65, co_me_grp
|
||||
house = 0.65, co_ni_grp
|
||||
house = 0, co_os_grp
|
||||
house = -0.3, co_rs_grp
|
||||
house = -0.3, co_shi_grp
|
||||
house = 0.65, co_ss_grp
|
||||
house = 0, co_ti_grp
|
||||
house = 0.65, co_vr_grp
|
||||
house = -0.3, fc_bd_grp
|
||||
house = -0.3, fc_b_grp
|
||||
house = -0.65, fc_c_grp
|
||||
house = -0.3, fc_fa_grp
|
||||
house = -0.3, fc_g_grp
|
||||
house = -0.3, fc_gc_grp
|
||||
house = -0.3, fc_h_grp
|
||||
house = -0.3, fc_j_grp
|
||||
house = -0.65, fc_lh_grp
|
||||
house = -0.65, fc_lr_grp
|
||||
house = -0.3, fc_lwb_grp
|
||||
house = -0.65, fc_m_grp
|
||||
house = -0.65, fc_ou_grp
|
||||
house = -0.65, fc_rh_grp
|
||||
house = 0, fc_or_grp
|
||||
house = -0.65, fc_u_grp
|
||||
house = -0.65, fc_x_grp
|
||||
house = 0, gd_gm_grp
|
||||
house = 0, fc_uk_grp
|
||||
house = -0.65, fc_n_grp
|
||||
house = -0.65, fc_ln_grp
|
||||
house = -0.65, fc_kn_grp
|
||||
house = -0.65, fc_rn_grp
|
||||
house = 0, fc_ouk_grp
|
||||
house = 0, fc_q_grp
|
||||
house = 0, fc_f_grp
|
||||
house = 0, gd_im_grp
|
||||
house = 0, gd_z_grp
|
||||
house = -0.3, gd_bh_grp
|
||||
|
||||
visit = 2745692751,1 ;Li02
|
||||
visit = 2208818767,1 ;Li03
|
||||
visit = 2745633359,1 ;Li04
|
||||
visit = 2945966082,1 ;Br01
|
||||
visit = 2409077762,1 ;Br02
|
||||
visit = 2945943554,1 ;Br03
|
||||
visit = 2409063426,1 ;Br04
|
||||
visit = 2945937410,1 ;Br05
|
||||
visit = 2409040898,1 ;Br06
|
||||
visit = 2281145474,1 ;Rh01
|
||||
visit = 2818046082,1 ;Rh02
|
||||
visit = 2281172098,1 ;Rh03
|
||||
visit = 2817982594,1 ;Rh04
|
||||
visit = 2281116802,1 ;Rh05
|
||||
visit = 3013596745,1 ;Ku01
|
||||
visit = 2476714569,1 ;Ku02
|
||||
Visit = 3013590601,1 ;Ku03
|
||||
visit = 2476692041,1 ;Ku04
|
||||
visit = 3013559881,1 ;Ku05
|
||||
visit = 3146760779,1 ;Iw01
|
||||
visit = 2609888843,1 ;Iw02
|
||||
visit = 3146754635,1 ;Iw03
|
||||
visit = 2609858123,1 ;Iw04
|
||||
visit = 3146732107,1 ;Iw05
|
||||
visit = 2609851979,1 ;Iw06
|
||||
|
||||
%%PACKAGE%%
|
||||
60
EXE/myflaccountid.hta
Normal file
60
EXE/myflaccountid.hta
Normal file
@@ -0,0 +1,60 @@
|
||||
<HTML>
|
||||
<!-- Jan 30, 2003 -->
|
||||
<HEAD>
|
||||
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
|
||||
<HTA:APPLICATION
|
||||
ID="oHTA"
|
||||
APPLICATIONNAME="MyFLMPKey"
|
||||
SINGLEINSTANCE="yes"
|
||||
CONTEXTMENU="no"
|
||||
MAXIMIZEBUTTON="no"
|
||||
ICON="help.ico"
|
||||
>
|
||||
<SCRIPT language="VBScript">
|
||||
On Error Resume Next
|
||||
installKey=""
|
||||
statusText=""
|
||||
regKey="HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Freelancer\1.0\"
|
||||
regKeyBeta="HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Freelancer Beta\3.0\"
|
||||
|
||||
Sub window_OnLoad
|
||||
Set WS=CreateObject("Wscript.Shell")
|
||||
On Error Resume Next
|
||||
installKey=WS.RegRead(regKey&"InstallKey")
|
||||
statusText = "Your account is properly installed"
|
||||
If Err Then
|
||||
Err=false
|
||||
installKey = WS.RegRead(regKeyBeta&"InstallKey")
|
||||
if Err Then
|
||||
installKey = "<Not found>"
|
||||
statusText = "You do not have a Freelancer multiplayer account"
|
||||
Else
|
||||
HEADER.innerText="My Freelancer Beta MP Account ID"
|
||||
End If
|
||||
End If
|
||||
Set WS=Nothing
|
||||
|
||||
INSTKEY.innerText=UCase(installKey)
|
||||
INSTSTATUS.innerText=statusText
|
||||
window.resizeto 600, 300
|
||||
End Sub
|
||||
|
||||
Sub DOPRINT_OnClick
|
||||
window.print()
|
||||
End Sub
|
||||
</SCRIPT>
|
||||
<TITLE>My Freelancer Multiplayer Account ID</TITLE>
|
||||
</HEAD>
|
||||
<BODY BACKGROUND="BackgroundPattern.bmp" style="color: #87C3E0; font-family: Agency FB" SCROLL="no" bgcolor=Black>
|
||||
<font color="#87C3E0">
|
||||
<H1 align="center" ID="HEADER">My <I>Freelancer</I> MP Account ID</H1>
|
||||
<H2 align="center" ID="INSTKEY"></H2>
|
||||
<p>
|
||||
This is your account ID. <b>Don't lose it!</b> If you lose it, you will lose all of the characters on all of the servers
|
||||
on which you have played <I>Freelancer</I>.
|
||||
</p>
|
||||
<H3 align="center" ID="INSTSTATUS"></H3>
|
||||
<p align="center"><BUTTON id="DOPRINT">Print My Account ID</BUTTON></p>
|
||||
</font>
|
||||
</BODY>
|
||||
</HTML>
|
||||
BIN
EXE/nameresources.dll
Normal file
BIN
EXE/nameresources.dll
Normal file
Binary file not shown.
232
EXE/newplayer.fl
Normal file
232
EXE/newplayer.fl
Normal file
@@ -0,0 +1,232 @@
|
||||
[Player]
|
||||
name = Trent
|
||||
rank = 0
|
||||
Description = NewPlayer
|
||||
|
||||
money = 500
|
||||
|
||||
voice = trent_voice
|
||||
costume = trent
|
||||
com_costume = trent
|
||||
|
||||
system = FP7_system
|
||||
pos = 3216,1314,-21775
|
||||
rotate = 175,-15,179.8
|
||||
|
||||
log = 1553, 0
|
||||
|
||||
;----------------------------------------------------------------------------------
|
||||
; Debug Ship - gets replaced if missions active
|
||||
;----------------------------------------------------------------------------------
|
||||
ship_archetype = ge_fighter
|
||||
equip = ge_gf1_engine_01
|
||||
equip = shield01_mark01_lf, HpShield01
|
||||
equip = ge_fighter_power01
|
||||
equip = ge_s_scanner_01
|
||||
equip = ge_s_tractor_01
|
||||
equip = li_gun01_mark01, HpWeapon01
|
||||
equip = li_gun01_mark01, HpWeapon02
|
||||
equip = ge_s_cm_01, HpCM01
|
||||
cargo = ge_s_cm_01_ammo, 20
|
||||
equip = LargeWhiteSpecial, HpHeadlight
|
||||
equip = SlowSmallOrange, HpRunningLight01
|
||||
equip = SlowSmallOrange, HpRunningLight02
|
||||
equip = SlowSmallOrange, HpRunningLight05
|
||||
equip = contrail01, HpContrail01
|
||||
equip = contrail01, HpContrail02
|
||||
equip = DockingLightRedSmall, HpDockLight01
|
||||
equip = DockingLightRedSmall, HpDockLight02
|
||||
cargo = ge_s_battery_01, 10
|
||||
cargo = ge_s_repair_01, 10
|
||||
|
||||
;exported player vibes
|
||||
;c:\freelancer\data\playervibe_export.ini
|
||||
house = 0.91, li_n_grp
|
||||
house = 0.91, li_lsf_grp
|
||||
house = 0.65, li_p_grp
|
||||
house = 0, br_n_grp
|
||||
house = 0, br_p_grp
|
||||
house = 0, ku_n_grp
|
||||
house = 0, ku_p_grp
|
||||
house = 0, rh_n_grp
|
||||
house = 0, rh_p_grp
|
||||
house = 0, co_alg_grp
|
||||
house = 0, co_be_grp
|
||||
house = 0, br_m_grp
|
||||
house = 0, co_nws_grp
|
||||
house = 0, co_hsp_grp
|
||||
house = 0.65, co_ic_grp
|
||||
house = -0.3, co_khc_grp
|
||||
house = -0.3, co_kt_grp
|
||||
house = 0, rh_m_grp
|
||||
house = 0.65, co_me_grp
|
||||
house = 0.65, co_ni_grp
|
||||
house = 0, co_os_grp
|
||||
house = -0.3, co_rs_grp
|
||||
house = -0.3, co_shi_grp
|
||||
house = 0.65, co_ss_grp
|
||||
house = 0, co_ti_grp
|
||||
house = 0.65, co_vr_grp
|
||||
house = -0.3, fc_bd_grp
|
||||
house = -0.3, fc_b_grp
|
||||
house = -0.65, fc_c_grp
|
||||
house = -0.3, fc_fa_grp
|
||||
house = -0.3, fc_g_grp
|
||||
house = -0.3, fc_gc_grp
|
||||
house = -0.3, fc_h_grp
|
||||
house = -0.3, fc_j_grp
|
||||
house = -0.65, fc_lh_grp
|
||||
house = -0.65, fc_lr_grp
|
||||
house = -0.3, fc_lwb_grp
|
||||
house = -0.65, fc_m_grp
|
||||
house = -0.65, fc_ou_grp
|
||||
house = -0.65, fc_rh_grp
|
||||
house = 0, fc_or_grp
|
||||
house = -0.65, fc_u_grp
|
||||
house = -0.65, fc_x_grp
|
||||
house = 0, gd_gm_grp
|
||||
house = 0, fc_uk_grp
|
||||
house = -0.65, fc_n_grp
|
||||
house = -0.65, fc_ln_grp
|
||||
house = -0.65, fc_kn_grp
|
||||
house = -0.65, fc_rn_grp
|
||||
house = 0, fc_ouk_grp
|
||||
house = 0, fc_q_grp
|
||||
house = 0, fc_f_grp
|
||||
house = 0, gd_im_grp
|
||||
house = 0, gd_z_grp
|
||||
house = -0.3, gd_bh_grp
|
||||
|
||||
[StoryInfo]
|
||||
Mission = Mission_01a
|
||||
MissionNum = 1
|
||||
delta_worth = -1
|
||||
|
||||
;; These gates will be locked in single player, but not necessarily multiplayer.
|
||||
[mPlayer]
|
||||
;M02
|
||||
locked_gate = 2830511361 ;Li01_to_Li02
|
||||
locked_gate = 2293643521 ;Li01_to_Li03
|
||||
locked_gate = 2879482760 ;Li01_to_Li03_hole
|
||||
locked_gate = 2830554369 ;Li01_to_Li04
|
||||
locked_gate = 2881203077 ;Li01_to_Li04_hole
|
||||
locked_gate = 2297057803 ;Li02_to_Li01
|
||||
locked_gate = 2298368769 ;Li03_to_Li01
|
||||
locked_gate = 2200697741 ;Li03_to_Li01_hole
|
||||
locked_gate = 2284999691 ;Li04_to_Li01
|
||||
locked_gate = 2934678413 ;Li04_to_Li01_hole
|
||||
;M04
|
||||
locked_gate = 2954500111 ;Li04_to_Iw01
|
||||
locked_gate = 2417648655 ;Li04_to_Iw02
|
||||
locked_gate = 2919472778 ;Li04_to_Iw02_hole
|
||||
locked_gate = 2966851333 ;Li03_to_Iw05
|
||||
locked_gate = 2212038279 ;Li03_to_Iw05_hole
|
||||
locked_gate = 2430006021 ;Li03_to_Iw06
|
||||
locked_gate = 2211890816 ;Li03_to_Iw06_hole
|
||||
locked_gate = 2428672527 ;Li02_to_Iw04
|
||||
locked_gate = 2543611525 ;Li02_to_Iw04_hole
|
||||
locked_gate = 3073659015 ;Iw01_to_Li04
|
||||
locked_gate = 3077067661 ;Iw02_to_Li04
|
||||
locked_gate = 3156225933 ;Iw02_to_Li04_hole
|
||||
locked_gate = 3081809293 ;Iw04_to_Li02
|
||||
locked_gate = 2243944322 ;Iw04_to_Li02_hole
|
||||
locked_gate = 2544154759 ;Iw05_to_Li03
|
||||
locked_gate = 2449127296 ;Iw05_to_Li03_hole
|
||||
locked_gate = 2549660557 ;Iw06_to_Li03
|
||||
locked_gate = 2906296192 ;Iw06_to_Li03_hole
|
||||
locked_gate = 3141298564 ;Br02_to_Iw03_hole
|
||||
locked_gate = 2313479565 ;Iw03_to_Br02_hole
|
||||
locked_gate = 3078400647 ;Iw03_to_Li02
|
||||
locked_gate = 2965534223 ;Li02_to_Iw03
|
||||
|
||||
vnpc = 3101964420, 2234438605, 2, 0 ; Iw02_03_Base, iw0203_order_001_male
|
||||
vnpc = 3101964420, 2233750472, 2, 0 ; Iw02_03_Base, iw0203_order_003_male
|
||||
vnpc = 3101964420, 2916958218, 2, 0 ; Iw02_03_Base, iw0203_fix_bartender
|
||||
vnpc = 3101964420, 2233537482, 2, 0 ; Iw02_03_Base, iw0203_order_002_male
|
||||
vnpc = 3101964420, 3028667974, 2, 0 ; Iw02_03_Base, iw0203_fix_weaponsdealer
|
||||
vnpc = 3101964420, 2336885255, 2, 0 ; Iw02_03_Base, iw0203_fix_ship
|
||||
vnpc = 2813262602, 3084731407, 2, 0 ; Li04_06_Base, li0406_order_002_m
|
||||
vnpc = 2813262602, 2866663561, 2, 0 ; Li04_06_Base, li0406_fix_weaponsdealer
|
||||
vnpc = 2813262602, 2764885440, 2, 0 ; Li04_06_Base, li0406_fix_bartender
|
||||
vnpc = 2813262602, 3151845903, 2, 0 ; Li04_06_Base, li0406_order_001_m
|
||||
vnpc = 2813262602, 2883416591, 2, 0 ; Li04_06_Base, li0406_order_005_m
|
||||
vnpc = 2813262602, 2950526991, 2, 0 ; Li04_06_Base, li0406_order_004_m
|
||||
vnpc = 2813262602, 3017625103, 2, 0 ; Li04_06_Base, li0406_order_003_m
|
||||
vnpc = 2813262602, 2627611470, 2, 0 ; Li04_06_Base, li0406_kpolice_001_m
|
||||
vnpc = 2813262602, 2246192140, 2, 0 ; Li04_06_Base, li0406_xenos_001_m
|
||||
vnpc = 2813262602, 3074729028, 2, 0 ; Li04_06_Base, li0406_lsf_002_m
|
||||
vnpc = 2813262602, 2552785294, 2, 0 ; Li04_06_Base, li0406_bpolice_001_m
|
||||
vnpc = 2813262602, 2670979790, 2, 0 ; Li04_06_Base, li0406_lpolice_001_m
|
||||
vnpc = 2813262602, 2380699790, 2, 0 ; Li04_06_Base, li0406_lnavy_001_m
|
||||
vnpc = 2813262602, 2605049412, 2, 0 ; Li04_06_Base, li0406_lsf_001_f
|
||||
vnpc = 2813262602, 3048011723, 2, 0 ; Li04_06_Base, li0406_rogues_001_m
|
||||
vnpc = 2793185930, 3202418821, 2, 0 ; Rh02_07_Base, rh0207_order_001_m
|
||||
vnpc = 2793185930, 2933989509, 2, 0 ; Rh02_07_Base, rh0207_order_005_m
|
||||
vnpc = 2793185930, 3001095813, 2, 0 ; Rh02_07_Base, rh0207_order_002_m
|
||||
vnpc = 2793185930, 3068206213, 2, 0 ; Rh02_07_Base, rh0207_order_003_m
|
||||
vnpc = 2793185930, 2496190668, 2, 0 ; Rh02_07_Base, rh0207_fix_bartender
|
||||
vnpc = 2793185930, 2866883205, 2, 0 ; Rh02_07_Base, rh0207_order_004_m
|
||||
vnpc = 2793185930, 2202783498, 2, 0 ; Rh02_07_Base, rh0207_fix_weaponsdealer
|
||||
vnpc = 2793185930, 2977604995, 2, 0 ; Rh02_07_Base, rh0207_fix_ship
|
||||
vnpc = 2793185930, 2821487746, 2, 0 ; Rh02_07_Base, rh0207_bpolice_001_m
|
||||
vnpc = 2793185930, 2315054538, 2, 0 ; Rh02_07_Base, rh0207_rogues_001_m
|
||||
vnpc = 2793185930, 2162065030, 2, 0 ; Rh02_07_Base, rh0207_xenos_001_m
|
||||
vnpc = 2793185930, 2256899460, 2, 0 ; Rh02_07_Base, rh0207_lsf_001_f
|
||||
vnpc = 2793185930, 2895789634, 2, 0 ; Rh02_07_Base, rh0207_kpolice_001_m
|
||||
vnpc = 2793185930, 2296039940, 2, 0 ; Rh02_07_Base, rh0207_lnavy_001_m
|
||||
vnpc = 2793185930, 2939682754, 2, 0 ; Rh02_07_Base, rh0207_lpolice_001_m
|
||||
vnpc = 2793185930, 2860830596, 2, 0 ; Rh02_07_Base, rh0207_lsf_002_m
|
||||
vnpc = 3149903104, 3074275781, 2, 0 ; St01_01_Base, st0101_order_002_m
|
||||
vnpc = 3149903104, 3141380037, 2, 0 ; St01_01_Base, st0101_order_001_m
|
||||
vnpc = 3149903104, 3007165381, 2, 0 ; St01_01_Base, st0101_order_003_m
|
||||
vnpc = 3149903104, 2940044741, 2, 0 ; St01_01_Base, st0101_order_004_m
|
||||
vnpc = 3149903104, 3111809472, 2, 0 ; St01_01_Base, st0101_fix_bartender
|
||||
vnpc = 3149903104, 2657014084, 2, 0 ; St01_01_Base, st0101_fix_ship
|
||||
vnpc = 3149903104, 2634988297, 2, 0 ; St01_01_Base, st0101_fix_weaponsdealer
|
||||
vnpc = 3148903687, 2726386437, 2, 0 ; St01_02_Base, st0102_order_007_m
|
||||
vnpc = 3148903687, 2860601093, 2, 0 ; St01_02_Base, st0102_order_005_m
|
||||
vnpc = 3148903687, 2994828037, 2, 0 ; St01_02_Base, st0102_order_003_m
|
||||
vnpc = 3148903687, 3129042693, 2, 0 ; St01_02_Base, st0102_order_001_m
|
||||
vnpc = 3148903687, 3061938437, 2, 0 ; St01_02_Base, st0102_order_002_m
|
||||
vnpc = 3148903687, 3196677380, 2, 0 ; St01_02_Base, st0102_order_010_m
|
||||
vnpc = 3148903687, 2592619268, 2, 0 ; St01_02_Base, st0102_order_011_f
|
||||
vnpc = 3148903687, 2572946828, 2, 0 ; St01_02_Base, st0102_fix_bartender
|
||||
vnpc = 3148903687, 2232333509, 2, 0 ; St01_02_Base, st0102_fix_weaponsdealer
|
||||
vnpc = 3148903687, 2724056900, 2, 0 ; St01_02_Base, st0102_fix_ship
|
||||
vnpc = 3148903687, 2995352324, 2, 0 ; St01_02_Base, st0102_order_013_m
|
||||
vnpc = 3148903687, 2659286277, 2, 0 ; St01_02_Base, st0102_order_008_m
|
||||
vnpc = 3148903687, 3062462724, 2, 0 ; St01_02_Base, st0102_order_012_m
|
||||
vnpc = 3148903687, 2592175877, 2, 0 ; St01_02_Base, st0102_order_009_m
|
||||
vnpc = 3148903687, 2927707397, 2, 0 ; St01_02_Base, st0102_order_004_m
|
||||
vnpc = 3148903687, 2256538885, 2, 0 ; St01_02_Base, st0102_order_006_f
|
||||
vnpc = 3152262666, 3138553736, 2, 0 ; St02_01_Base, st0201_order_011_f
|
||||
vnpc = 3152262666, 2535179657, 2, 0 ; St02_01_Base, st0201_order_002_m
|
||||
vnpc = 3152262666, 3139160969, 2, 0 ; St02_01_Base, st0201_order_009_m
|
||||
vnpc = 3152262666, 2400975241, 2, 0 ; St02_01_Base, st0201_order_004_m
|
||||
vnpc = 3152262666, 3039137739, 2, 0 ; St02_01_Base, st0201_fix_bartender
|
||||
vnpc = 3152262666, 2657054084, 2, 0 ; St02_01_Base, st0201_fix_ship
|
||||
vnpc = 3152262666, 2663562377, 2, 0 ; St02_01_Base, st0201_fix_weaponsdealer
|
||||
vnpc = 3152262666, 3206267273, 2, 0 ; St02_01_Base, st0201_order_008_m
|
||||
vnpc = 3152262666, 2534655368, 2, 0 ; St02_01_Base, st0201_order_012_m
|
||||
vnpc = 3152262666, 2668876168, 2, 0 ; St02_01_Base, st0201_order_010_m
|
||||
vnpc = 3152262666, 2602294153, 2, 0 ; St02_01_Base, st0201_order_001_m
|
||||
vnpc = 3152262666, 2199644041, 2, 0 ; St02_01_Base, st0201_order_007_m
|
||||
vnpc = 3152262666, 2333864841, 2, 0 ; St02_01_Base, st0201_order_005_m
|
||||
vnpc = 3152262666, 2468073353, 2, 0 ; St02_01_Base, st0201_order_003_m
|
||||
vnpc = 3152262666, 2467549064, 2, 0 ; St02_01_Base, st0201_order_013_m
|
||||
vnpc = 3152262666, 2803544457, 2, 0 ; St02_01_Base, st0201_order_006_f
|
||||
vnpc = 3097634115, 2367730062, 1, 0 ; Bw01_05_Base, bw0105_fix_weaponsdealer
|
||||
vnpc = 3128923145, 2652228930, 2, 0 ; Ku06_01_Base, ku0601_fix_trader
|
||||
vnpc = 3128923145, 2345563982, 2, 0 ; Ku06_01_Base, ku0601_fix_ship
|
||||
vnpc = 3128923145, 2312853709, 2, 0 ; Ku06_01_Base, ku0601_fix_weaponsdealer
|
||||
vnpc = 3128923145, 2449740935, 2, 0 ; Ku06_01_Base, ku0601_blood_002_f
|
||||
vnpc = 3128923145, 2516852359, 2, 0 ; Ku06_01_Base, ku0601_blood_003_f
|
||||
vnpc = 3128923145, 3188020871, 2, 0 ; Ku06_01_Base, ku0601_blood_001_m
|
||||
vnpc = 3128923145, 2907603661, 2, 0 ; Ku06_01_Base, ku0601_fix_bartender
|
||||
vnpc = 3128923145, 2852484231, 2, 0 ; Ku06_01_Base, ku0601_blood_004_m
|
||||
vnpc = 3128923145, 2382635655, 2, 0 ; Ku06_01_Base, ku0601_blood_005_f
|
||||
vnpc = 3181324104, 2177220111, 2, 0 ; Br03_01_Base, br0301_fix_bartender
|
||||
vnpc = 3176341570, 2635032582, 2, 0 ; Br04_01_Base, br0401_fix_bartender
|
||||
vnpc = 3176341570, 2306961223, 2, 0 ; Br04_01_Base, br0401_bowex_001_m
|
||||
vnpc = 3184993608, 2260645825, 2, 0 ; Br01_01_Base, br0101_fix_ship
|
||||
|
||||
BIN
EXE/numeric.dll
Normal file
BIN
EXE/numeric.dll
Normal file
Binary file not shown.
BIN
EXE/offerbriberesources.dll
Normal file
BIN
EXE/offerbriberesources.dll
Normal file
Binary file not shown.
BIN
EXE/ranks.dll
Normal file
BIN
EXE/ranks.dll
Normal file
Binary file not shown.
BIN
EXE/readfile.dll
Normal file
BIN
EXE/readfile.dll
Normal file
Binary file not shown.
BIN
EXE/remoteclient.dll
Normal file
BIN
EXE/remoteclient.dll
Normal file
Binary file not shown.
BIN
EXE/remoteserver.dll
Normal file
BIN
EXE/remoteserver.dll
Normal file
Binary file not shown.
BIN
EXE/rendcomp.dll
Normal file
BIN
EXE/rendcomp.dll
Normal file
Binary file not shown.
182
EXE/reshade-shaders/Shaders/CAS.fx
Normal file
182
EXE/reshade-shaders/Shaders/CAS.fx
Normal file
@@ -0,0 +1,182 @@
|
||||
// LICENSE
|
||||
// =======
|
||||
// Copyright (c) 2017-2019 Advanced Micro Devices, Inc. All rights reserved.
|
||||
// -------
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
|
||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
|
||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following conditions:
|
||||
// -------
|
||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
||||
// Software.
|
||||
// -------
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||||
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
|
||||
|
||||
//Initial port to ReShade: SLSNe https://gist.github.com/SLSNe/bbaf2d77db0b2a2a0755df581b3cf00c
|
||||
|
||||
//Optimizations by Marty McFly:
|
||||
// vectorized math, even with scalar gcn hardware this should work
|
||||
// out the same, order of operations has not changed
|
||||
// For some reason, it went from 64 to 48 instructions, a lot of MOV gone
|
||||
// Also modified the way the final window is calculated
|
||||
//
|
||||
// reordered min() and max() operations, from 11 down to 9 registers
|
||||
//
|
||||
// restructured final weighting, 49 -> 48 instructions
|
||||
//
|
||||
// delayed RCP to replace SQRT with RSQRT
|
||||
//
|
||||
// removed the saturate() from the control var as it is clamped
|
||||
// by UI manager already, 48 -> 47 instructions
|
||||
//
|
||||
// replaced tex2D with tex2Doffset intrinsic (address offset by immediate integer)
|
||||
// 47 -> 43 instructions
|
||||
// 9 -> 8 registers
|
||||
|
||||
//Further modified by OopyDoopy and Lord of Lunacy:
|
||||
// Changed wording in the UI for the existing variable and added a new variable and relevant code to adjust sharpening strength.
|
||||
|
||||
//Fix by Lord of Lunacy:
|
||||
// Made the shader use a linear colorspace rather than sRGB, as recommended by the original AMD documentation from FidelityFX.
|
||||
|
||||
//Modified by CeeJay.dk:
|
||||
// Included a label and tooltip description. I followed AMDs official naming guidelines for FidelityFX.
|
||||
//
|
||||
// Used gather trick to reduce the number of texture operations by one (9 -> 8). It's now 42 -> 51 instructions but still faster
|
||||
// because of the texture operation that was optimized away.
|
||||
|
||||
//Fix by CeeJay.dk
|
||||
// Fixed precision issues with the gather at super high resolutions
|
||||
// Also tried to refactor the samples so more work can be done while they are being sampled, but it's not so easy and the gains
|
||||
// I'm seeing are so small they might be statistical noise. So it MIGHT be faster - no promises.
|
||||
|
||||
//Fix by BC46
|
||||
// Removed the "0.5 * pixel" expressions in the DX10 or higher check.
|
||||
// With the use of dgVoodoo at least, the previous code caused the entire image to be blurry and slightly mispositioned.
|
||||
|
||||
uniform float Contrast <
|
||||
ui_type = "drag";
|
||||
ui_label = "Contrast Adaptation";
|
||||
ui_tooltip = "Adjusts the range the shader adapts to high contrast (0 is not all the way off). Higher values = more high contrast sharpening.";
|
||||
ui_min = 0.0; ui_max = 1.0;
|
||||
> = 0.0;
|
||||
|
||||
uniform float Sharpening <
|
||||
ui_type = "drag";
|
||||
ui_label = "Sharpening intensity";
|
||||
ui_tooltip = "Adjusts sharpening intensity by averaging the original pixels to the sharpened result. 1.0 is the unmodified default.";
|
||||
ui_min = 0.0; ui_max = 1.0;
|
||||
> = 1.0;
|
||||
|
||||
#include "ReShade.fxh"
|
||||
#define pixel float2(BUFFER_RCP_WIDTH, BUFFER_RCP_HEIGHT)
|
||||
|
||||
texture TexColor : COLOR;
|
||||
sampler sTexColor {Texture = TexColor; SRGBTexture = true;};
|
||||
|
||||
float3 CASPass(float4 vpos : SV_Position, float2 texcoord : TexCoord) : SV_Target
|
||||
{
|
||||
// fetch a 3x3 neighborhood around the pixel 'e',
|
||||
// a b c
|
||||
// d(e)f
|
||||
// g h i
|
||||
|
||||
|
||||
float3 b = tex2Doffset(sTexColor, texcoord, int2(0, -1)).rgb;
|
||||
float3 d = tex2Doffset(sTexColor, texcoord, int2(-1, 0)).rgb;
|
||||
|
||||
|
||||
#if __RENDERER__ >= 0xa000 // If DX10 or higher
|
||||
float4 red_efhi = tex2DgatherR(sTexColor, texcoord);
|
||||
|
||||
float3 e = float3( red_efhi.w, red_efhi.w, red_efhi.w);
|
||||
float3 f = float3( red_efhi.z, red_efhi.z, red_efhi.z);
|
||||
float3 h = float3( red_efhi.x, red_efhi.x, red_efhi.x);
|
||||
float3 i = float3( red_efhi.y, red_efhi.y, red_efhi.y);
|
||||
|
||||
float4 green_efhi = tex2DgatherG(sTexColor, texcoord);
|
||||
|
||||
e.g = green_efhi.w;
|
||||
f.g = green_efhi.z;
|
||||
h.g = green_efhi.x;
|
||||
i.g = green_efhi.y;
|
||||
|
||||
float4 blue_efhi = tex2DgatherB(sTexColor, texcoord);
|
||||
|
||||
e.b = blue_efhi.w;
|
||||
f.b = blue_efhi.z;
|
||||
h.b = blue_efhi.x;
|
||||
i.b = blue_efhi.y;
|
||||
|
||||
|
||||
#else // If DX9
|
||||
float3 e = tex2D(sTexColor, texcoord).rgb;
|
||||
float3 f = tex2Doffset(sTexColor, texcoord, int2(1, 0)).rgb;
|
||||
|
||||
float3 h = tex2Doffset(sTexColor, texcoord, int2(0, 1)).rgb;
|
||||
float3 i = tex2Doffset(sTexColor, texcoord, int2(1, 1)).rgb;
|
||||
|
||||
#endif
|
||||
|
||||
float3 g = tex2Doffset(sTexColor, texcoord, int2(-1, 1)).rgb;
|
||||
float3 a = tex2Doffset(sTexColor, texcoord, int2(-1, -1)).rgb;
|
||||
float3 c = tex2Doffset(sTexColor, texcoord, int2(1, -1)).rgb;
|
||||
|
||||
|
||||
// Soft min and max.
|
||||
// a b c b
|
||||
// d e f * 0.5 + d e f * 0.5
|
||||
// g h i h
|
||||
// These are 2.0x bigger (factored out the extra multiply).
|
||||
float3 mnRGB = min(min(min(d, e), min(f, b)), h);
|
||||
float3 mnRGB2 = min(mnRGB, min(min(a, c), min(g, i)));
|
||||
mnRGB += mnRGB2;
|
||||
|
||||
float3 mxRGB = max(max(max(d, e), max(f, b)), h);
|
||||
float3 mxRGB2 = max(mxRGB, max(max(a, c), max(g, i)));
|
||||
mxRGB += mxRGB2;
|
||||
|
||||
// Smooth minimum distance to signal limit divided by smooth max.
|
||||
float3 rcpMRGB = rcp(mxRGB);
|
||||
float3 ampRGB = saturate(min(mnRGB, 2.0 - mxRGB) * rcpMRGB);
|
||||
|
||||
// Shaping amount of sharpening.
|
||||
ampRGB = rsqrt(ampRGB);
|
||||
|
||||
float peak = -3.0 * Contrast + 8.0;
|
||||
float3 wRGB = -rcp(ampRGB * peak);
|
||||
|
||||
float3 rcpWeightRGB = rcp(4.0 * wRGB + 1.0);
|
||||
|
||||
// 0 w 0
|
||||
// Filter shape: w 1 w
|
||||
// 0 w 0
|
||||
float3 window = (b + d) + (f + h);
|
||||
float3 outColor = saturate((window * wRGB + e) * rcpWeightRGB);
|
||||
|
||||
return lerp(e, outColor, Sharpening);
|
||||
}
|
||||
|
||||
technique ContrastAdaptiveSharpen
|
||||
<
|
||||
ui_label = "AMD FidelityFX Contrast Adaptive Sharpening";
|
||||
ui_tooltip =
|
||||
"CAS is a low overhead adaptive sharpening algorithm that AMD includes with their drivers.\n"
|
||||
"This port to ReShade works with all cards from all vendors,\n"
|
||||
"but cannot do the optional scaling that CAS is normally also capable of when activated in the AMD drivers.\n"
|
||||
"\n"
|
||||
"The algorithm adjusts the amount of sharpening per pixel to target an even level of sharpness across the image.\n"
|
||||
"Areas of the input image that are already sharp are sharpened less, while areas that lack detail are sharpened more.\n"
|
||||
"This allows for higher overall natural visual sharpness with fewer artifacts.";
|
||||
>
|
||||
{
|
||||
pass
|
||||
{
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = CASPass;
|
||||
SRGBWriteEnable = true;
|
||||
}
|
||||
}
|
||||
140
EXE/reshade-shaders/Shaders/Colourfulness.fx
Normal file
140
EXE/reshade-shaders/Shaders/Colourfulness.fx
Normal file
@@ -0,0 +1,140 @@
|
||||
// Copyright (c) 2016-2018, bacondither
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions
|
||||
// are met:
|
||||
// 1. Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer
|
||||
// in this position and unchanged.
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
|
||||
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Colourfulness - version 2018-11-12
|
||||
// EXPECTS FULL RANGE GAMMA LIGHT
|
||||
|
||||
#include "ReShadeUI.fxh"
|
||||
|
||||
uniform float colourfulness < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = -1.0; ui_max = 2.0;
|
||||
ui_tooltip = "Degree of colourfulness, 0 = neutral";
|
||||
ui_step = 0.01;
|
||||
> = 0.4;
|
||||
|
||||
uniform float lim_luma < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.1; ui_max = 1.0;
|
||||
ui_tooltip = "Lower values allows for more change near clipping";
|
||||
ui_step = 0.01;
|
||||
> = 0.7;
|
||||
|
||||
uniform bool enable_dither <
|
||||
ui_tooltip = "Enables dithering, avoids introducing banding in gradients";
|
||||
ui_category = "Dither";
|
||||
> = false;
|
||||
|
||||
uniform bool col_noise <
|
||||
ui_tooltip = "Coloured dither noise, lower subjective noise level";
|
||||
ui_category = "Dither";
|
||||
> = true;
|
||||
|
||||
uniform float backbuffer_bits <
|
||||
ui_min = 1.0; ui_max = 32.0;
|
||||
ui_tooltip = "Backbuffer bith depth, most likely 8 or 10 bits";
|
||||
ui_category = "Dither";
|
||||
> = 8.0;
|
||||
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
#ifndef fast_luma
|
||||
#define fast_luma 1 // Rapid approx of sRGB gamma, small difference in quality
|
||||
#endif
|
||||
|
||||
#ifndef temporal_dither
|
||||
#define temporal_dither 0 // Dither changes with every frame
|
||||
#endif
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
|
||||
#include "ReShade.fxh"
|
||||
|
||||
#if (temporal_dither == 1)
|
||||
uniform int rnd < source = "random"; min = 0; max = 1000; >;
|
||||
#endif
|
||||
|
||||
// Sigmoid function, sign(v)*pow(pow(abs(v), -2) + pow(s, -2), 1.0/-2)
|
||||
#define soft_lim(v,s) ( (v*s)*rcp(sqrt(s*s + v*v)) )
|
||||
|
||||
// Weighted power mean, p = 0.5
|
||||
#define wpmean(a,b,w) ( pow(abs(w)*sqrt(abs(a)) + abs(1-w)*sqrt(abs(b)), 2) )
|
||||
|
||||
// Max/Min RGB components
|
||||
#define maxRGB(c) ( max((c).r, max((c).g, (c).b)) )
|
||||
#define minRGB(c) ( min((c).r, min((c).g, (c).b)) )
|
||||
|
||||
// Mean of Rec. 709 & 601 luma coefficients
|
||||
#define lumacoeff float3(0.2558, 0.6511, 0.0931)
|
||||
|
||||
float3 Colourfulness(float4 vpos : SV_Position, float2 tex : TEXCOORD) : SV_Target
|
||||
{
|
||||
#if (fast_luma == 1)
|
||||
float3 c0 = tex2D(ReShade::BackBuffer, tex).rgb;
|
||||
float luma = sqrt(dot(saturate(c0*abs(c0)), lumacoeff));
|
||||
c0 = saturate(c0);
|
||||
#else // Better approx of sRGB gamma
|
||||
float3 c0 = saturate(tex2D(ReShade::BackBuffer, tex).rgb);
|
||||
float luma = pow(dot(pow(c0 + 0.06, 2.4), lumacoeff), 1.0/2.4) - 0.06;
|
||||
#endif
|
||||
|
||||
// Calc colour saturation change
|
||||
float3 diff_luma = c0 - luma;
|
||||
float3 c_diff = diff_luma*(colourfulness + 1) - diff_luma;
|
||||
|
||||
if (colourfulness > 0.0)
|
||||
{
|
||||
// 120% of c_diff clamped to max visible range + overshoot
|
||||
float3 rlc_diff = clamp((c_diff*1.2) + c0, -0.0001, 1.0001) - c0;
|
||||
|
||||
// Calc max saturation-increase without altering RGB ratios
|
||||
float poslim = (1.0002 - luma)/(abs(maxRGB(diff_luma)) + 0.0001);
|
||||
float neglim = (luma + 0.0002)/(abs(minRGB(diff_luma)) + 0.0001);
|
||||
|
||||
float3 diffmax = diff_luma*min(min(poslim, neglim), 32) - diff_luma;
|
||||
|
||||
// Soft limit diff
|
||||
c_diff = soft_lim( c_diff, max(wpmean(diffmax, rlc_diff, lim_luma), 1e-7) );
|
||||
}
|
||||
|
||||
if (enable_dither == true)
|
||||
{
|
||||
// Interleaved gradient noise by Jorge Jimenez
|
||||
const float3 magic = float3(0.06711056, 0.00583715, 52.9829189);
|
||||
#if (temporal_dither == 1)
|
||||
float xy_magic = (vpos.x + rnd)*magic.x + (vpos.y + rnd)*magic.y;
|
||||
#else
|
||||
float xy_magic = vpos.x*magic.x + vpos.y*magic.y;
|
||||
#endif
|
||||
float noise = (frac(magic.z*frac(xy_magic)) - 0.5)/(exp2(backbuffer_bits) - 1);
|
||||
c_diff += col_noise == true ? float3(-noise, noise, -noise) : noise;
|
||||
}
|
||||
|
||||
return saturate(c0 + c_diff);
|
||||
}
|
||||
|
||||
technique Colourfulness
|
||||
{
|
||||
pass
|
||||
{
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = Colourfulness;
|
||||
}
|
||||
}
|
||||
67
EXE/reshade-shaders/Shaders/FakeHDR.fx
Normal file
67
EXE/reshade-shaders/Shaders/FakeHDR.fx
Normal file
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* HDR
|
||||
* by Christian Cann Schuldt Jensen ~ CeeJay.dk
|
||||
*
|
||||
* Not actual HDR - It just tries to mimic an HDR look (relatively high performance cost)
|
||||
*/
|
||||
|
||||
#include "ReShadeUI.fxh"
|
||||
|
||||
uniform float HDRPower < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 8.0;
|
||||
ui_label = "Power";
|
||||
> = 1.30;
|
||||
uniform float radius1 < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 8.0;
|
||||
ui_label = "Radius 1";
|
||||
> = 0.793;
|
||||
uniform float radius2 < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 8.0;
|
||||
ui_label = "Radius 2";
|
||||
ui_tooltip = "Raising this seems to make the effect stronger and also brighter.";
|
||||
> = 0.87;
|
||||
|
||||
#include "ReShade.fxh"
|
||||
|
||||
float3 HDRPass(float4 vpos : SV_Position, float2 texcoord : TexCoord) : SV_Target
|
||||
{
|
||||
float3 color = tex2D(ReShade::BackBuffer, texcoord).rgb;
|
||||
|
||||
float3 bloom_sum1 = tex2D(ReShade::BackBuffer, texcoord + float2(1.5, -1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, -1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 1.5, 1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, 1.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, -2.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, 2.5) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2(-2.5, 0.0) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum1 += tex2D(ReShade::BackBuffer, texcoord + float2( 2.5, 0.0) * radius1 * BUFFER_PIXEL_SIZE).rgb;
|
||||
|
||||
bloom_sum1 *= 0.005;
|
||||
|
||||
float3 bloom_sum2 = tex2D(ReShade::BackBuffer, texcoord + float2(1.5, -1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, -1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 1.5, 1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2(-1.5, 1.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, -2.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 0.0, 2.5) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2(-2.5, 0.0) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
bloom_sum2 += tex2D(ReShade::BackBuffer, texcoord + float2( 2.5, 0.0) * radius2 * BUFFER_PIXEL_SIZE).rgb;
|
||||
|
||||
bloom_sum2 *= 0.010;
|
||||
|
||||
float dist = radius2 - radius1;
|
||||
float3 HDR = (color + (bloom_sum2 - bloom_sum1)) * dist;
|
||||
float3 blend = HDR + color;
|
||||
color = pow(abs(blend), abs(HDRPower)) + HDR; // pow - don't use fractions for HDRpower
|
||||
|
||||
return saturate(color);
|
||||
}
|
||||
|
||||
technique HDR
|
||||
{
|
||||
pass
|
||||
{
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = HDRPass;
|
||||
}
|
||||
}
|
||||
492
EXE/reshade-shaders/Shaders/MagicBloom.fx
Normal file
492
EXE/reshade-shaders/Shaders/MagicBloom.fx
Normal file
@@ -0,0 +1,492 @@
|
||||
/*
|
||||
Magic Bloom by luluco250
|
||||
Attempts to simulate a natural-looking bloom.
|
||||
|
||||
Features:
|
||||
|
||||
--Wide bloom blurring, derived from the gaussian function
|
||||
defined here: https://en.wikipedia.org/wiki/Gaussian_blur#Mathematics
|
||||
|
||||
--Eye adaptation, decreases or increases the brightness
|
||||
of bloom according to the overall image luminance.
|
||||
|
||||
--Lens dirt, as standard I suppose. Really not much here.
|
||||
It uses an image named "MagicBloom_Dirt.png" so make
|
||||
sure you have one in your textures directory.
|
||||
|
||||
--Unwanted features can be disabled through
|
||||
preprocessor definitions, saving performance.
|
||||
|
||||
Preprocessor definitions:
|
||||
|
||||
--MAGICBLOOM_ADAPT_RESOLUTION:
|
||||
Determines the width/height of the texture used for adaptation.
|
||||
It is recommended to use 256, but you can use as far as 1024 without issues.
|
||||
Too low resolutions will make adaptation seem "unstable".
|
||||
Must be a power of two value: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 etc.
|
||||
|
||||
--MAGICBLOOM_BLUR_PRECALCULATED:
|
||||
If set to 0 the gaussian blur will be calculated inside the shader.
|
||||
Otherwise, it uses a pre-calculated kernel (array).
|
||||
|
||||
--MAGICBLOOM_NODIRT:
|
||||
If set to 1 all lens dirt related features are disabled.
|
||||
Beneficial for performance if you don't wish to use lens dirt.
|
||||
|
||||
--MAGICBLOOM_NOADAPT:
|
||||
If set to 1 all adaptation related features are disabled.
|
||||
Beneficial for performance if you don't wish to use adaptation.
|
||||
|
||||
MIT Licensed:
|
||||
|
||||
Copyright (c) 2017 luluco250
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "ReShade.fxh"
|
||||
|
||||
//Statics
|
||||
|
||||
#ifndef MAGICBLOOM_ADAPT_RESOLUTION
|
||||
#define MAGICBLOOM_ADAPT_RESOLUTION 256
|
||||
#endif
|
||||
|
||||
#ifndef MAGICBLOOM_BLUR_PRECALCULATED
|
||||
#define MAGICBLOOM_BLUR_PRECALCULATED 1
|
||||
#endif
|
||||
|
||||
#ifndef MAGICBLOOM_NODIRT
|
||||
#define MAGICBLOOM_NODIRT 0
|
||||
#endif
|
||||
|
||||
#ifndef MAGICBLOOM_NOADAPT
|
||||
#define MAGICBLOOM_NOADAPT 0
|
||||
#endif
|
||||
|
||||
static const int iBlurSamples = 4;
|
||||
static const int iAdaptResolution = MAGICBLOOM_ADAPT_RESOLUTION;
|
||||
|
||||
#define CONST_LOG2(v) (((v) & 0xAAAAAAAA) != 0) | ((((v) & 0xFFFF0000) != 0) << 4) | ((((v) & 0xFF00FF00) != 0) << 3) | ((((v) & 0xF0F0F0F0) != 0) << 2) | ((((v) & 0xCCCCCCCC) != 0) << 1)
|
||||
|
||||
static const float sigma = float(iBlurSamples) / 2.0;
|
||||
static const float double_pi = 6.283185307179586476925286766559;
|
||||
static const int lowest_mip = CONST_LOG2(iAdaptResolution) + 1;
|
||||
static const float3 luma_value = float3(0.2126, 0.7152, 0.0722);
|
||||
|
||||
//Uniforms
|
||||
|
||||
#include "ReShadeUI.fxh"
|
||||
|
||||
uniform float fBloom_Intensity < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_label = "Bloom Intensity";
|
||||
ui_tooltip = "Amount of bloom applied to the image.";
|
||||
ui_min = 0.0;
|
||||
ui_max = 10.0;
|
||||
ui_step = 0.001;
|
||||
> = 1.0;
|
||||
|
||||
uniform float fBloom_Threshold <
|
||||
ui_label = "Bloom Threshold";
|
||||
ui_tooltip =
|
||||
"Thresholds (limits) dark pixels from being accounted for bloom.\n"
|
||||
"Essentially, it increases the contrast in bloom and blackens darker pixels.\n"
|
||||
"At 1.0 all pixels are used in bloom.\n"
|
||||
"This value is not normalized, it is exponential, therefore changes in lower values are more noticeable than at higher values.";
|
||||
ui_type = "drag";
|
||||
ui_min = 1.0;
|
||||
ui_max = 10.0;
|
||||
ui_step = 0.1;
|
||||
> = 2.0;
|
||||
|
||||
#if !MAGICBLOOM_NODIRT
|
||||
uniform float fDirt_Intensity < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_label = "Dirt Intensity";
|
||||
ui_tooltip =
|
||||
"Amount of lens dirt applied to bloom.\n"
|
||||
"Uses a texture called \"MagicBloom_Dirt.png\" from your textures directory(ies).";
|
||||
ui_min = 0.0;
|
||||
ui_max = 1.0;
|
||||
ui_step = 0.001;
|
||||
> = 0.0;
|
||||
#endif
|
||||
|
||||
#if !MAGICBLOOM_NOADAPT
|
||||
uniform float fExposure < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_label = "Exposure";
|
||||
ui_tooltip =
|
||||
"The target exposure that bloom adapts to.\n"
|
||||
"It is recommended to just leave it at 0.5, unless you wish for a brighter (1.0) or darker (0.0) image.";
|
||||
ui_min = 0.0;
|
||||
ui_max = 1.0;
|
||||
ui_step = 0.001;
|
||||
> = 0.5;
|
||||
|
||||
uniform float fAdapt_Speed <
|
||||
ui_label = "Adaptation Speed";
|
||||
ui_tooltip =
|
||||
"How quick bloom adapts to changes in the image brightness.\n"
|
||||
"At 1.0, changes are instantaneous.\n"
|
||||
"It is recommended to use low values, between 0.01 and 0.1.\n"
|
||||
"0.1 will provide a quick but natural adaptation.\n"
|
||||
"0.01 will provide a slow form of adaptation.";
|
||||
ui_type = "drag";
|
||||
ui_min = 0.001;
|
||||
ui_max = 1.0;
|
||||
ui_step = 0.001;
|
||||
> = 0.1;
|
||||
|
||||
uniform float fAdapt_Sensitivity < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_label = "Adapt Sensitivity";
|
||||
ui_tooltip =
|
||||
"How sensitive adaptation is towards brightness.\n"
|
||||
"At higher values bloom can get darkened at the slightest amount of brightness.\n"
|
||||
"At lower values bloom will require a lot of image brightness before it's fully darkened."
|
||||
"1.0 will not modify the amount of brightness that is accounted for adaptation.\n"
|
||||
"0.5 is a good value, but may miss certain bright spots.";
|
||||
ui_min = 0.0;
|
||||
ui_max = 3.0;
|
||||
ui_step = 0.001;
|
||||
> = 1.0;
|
||||
|
||||
uniform float2 f2Adapt_Clip < __UNIFORM_SLIDER_FLOAT2
|
||||
ui_label = "Adaptation Min/Max";
|
||||
ui_tooltip =
|
||||
"Determines the minimum and maximum values that adaptation can determine to ajust bloom.\n"
|
||||
"Reducing the maximum would cause bloom to be brighter (as it is less adapted).\n"
|
||||
"Increasing the minimum would cause bloom to be darker (as it is more adapted).\n"
|
||||
"Keep the maximum above or equal to the minium and vice-versa.";
|
||||
ui_min = 0.0;
|
||||
ui_max = 1.0;
|
||||
ui_step = 0.001;
|
||||
> = float2(0.0, 1.0);
|
||||
|
||||
uniform int iAdapt_Precision < __UNIFORM_SLIDER_INT1
|
||||
ui_label = "Adaptation Precision";
|
||||
ui_tooltip =
|
||||
"Determins how accurately bloom adapts to the center of image.\n"
|
||||
"At 0 the adaptation is calculated from the average of the whole image.\n"
|
||||
"At the highest value (which may vary) adaptation focuses solely on the center pixel(s) of the screen.\n"
|
||||
"Values closer to 0 are recommended.";
|
||||
ui_min = 0;
|
||||
ui_max = lowest_mip;
|
||||
ui_step = 0.1;
|
||||
> = lowest_mip * 0.3;
|
||||
#endif
|
||||
|
||||
uniform uint iDebug <
|
||||
ui_label = "Debug Options";
|
||||
ui_tooltip = "Contains debugging options like displaying the bloom texture.";
|
||||
ui_type = "combo";
|
||||
ui_items = "None\0Display Bloom Texture\0";
|
||||
> = 0;
|
||||
|
||||
//Textures
|
||||
|
||||
texture tMagicBloom_1 < pooled = true; > { Width = BUFFER_WIDTH / 2; Height = BUFFER_HEIGHT / 2; Format = RGBA16F; };
|
||||
texture tMagicBloom_2 < pooled = true; > { Width = BUFFER_WIDTH / 4; Height = BUFFER_HEIGHT / 4; Format = RGBA16F; };
|
||||
texture tMagicBloom_3 < pooled = true; > { Width = BUFFER_WIDTH / 8; Height = BUFFER_HEIGHT / 8; Format = RGBA16F; };
|
||||
texture tMagicBloom_4 < pooled = true; > { Width = BUFFER_WIDTH / 16; Height = BUFFER_HEIGHT / 16; Format = RGBA16F; };
|
||||
texture tMagicBloom_5 < pooled = true; > { Width = BUFFER_WIDTH / 32; Height = BUFFER_HEIGHT / 32; Format = RGBA16F; };
|
||||
texture tMagicBloom_6 < pooled = true; > { Width = BUFFER_WIDTH / 64; Height = BUFFER_HEIGHT / 64; Format = RGBA16F; };
|
||||
texture tMagicBloom_7 < pooled = true; > { Width = BUFFER_WIDTH / 128; Height = BUFFER_HEIGHT / 128; Format = RGBA16F; };
|
||||
texture tMagicBloom_8 < pooled = true; > { Width = BUFFER_WIDTH / 256; Height = BUFFER_HEIGHT / 256; Format = RGBA16F; };
|
||||
#if !MAGICBLOOM_NOADAPT
|
||||
texture tMagicBloom_Small { Width = iAdaptResolution; Height = iAdaptResolution; Format = R32F; MipLevels = lowest_mip; };
|
||||
texture tMagicBloom_Adapt { Format = R32F; };
|
||||
texture tMagicBloom_LastAdapt { Format = R32F; };
|
||||
#endif
|
||||
#if !MAGICBLOOM_NODIRT
|
||||
texture tMagicBloom_Dirt <source="MagicBloom_Dirt.png";> { Width = BUFFER_WIDTH; Height = BUFFER_HEIGHT; };
|
||||
#endif
|
||||
|
||||
//Samplers
|
||||
|
||||
sampler sMagicBloom_1 { Texture = tMagicBloom_1; };
|
||||
sampler sMagicBloom_2 { Texture = tMagicBloom_2; };
|
||||
sampler sMagicBloom_3 { Texture = tMagicBloom_3; };
|
||||
sampler sMagicBloom_4 { Texture = tMagicBloom_4; };
|
||||
sampler sMagicBloom_5 { Texture = tMagicBloom_5; };
|
||||
sampler sMagicBloom_6 { Texture = tMagicBloom_6; };
|
||||
sampler sMagicBloom_7 { Texture = tMagicBloom_7; };
|
||||
sampler sMagicBloom_8 { Texture = tMagicBloom_8; };
|
||||
#if !MAGICBLOOM_NOADAPT
|
||||
sampler sMagicBloom_Small { Texture = tMagicBloom_Small; };
|
||||
sampler sMagicBloom_Adapt { Texture = tMagicBloom_Adapt; MinFilter = POINT; MagFilter = POINT; };
|
||||
sampler sMagicBloom_LastAdapt { Texture = tMagicBloom_LastAdapt; MinFilter = POINT; MagFilter = POINT; };
|
||||
#endif
|
||||
#if !MAGICBLOOM_NODIRT
|
||||
sampler sMagicBloom_Dirt { Texture = tMagicBloom_Dirt; };
|
||||
#endif
|
||||
|
||||
//Functions
|
||||
|
||||
#if !MAGICBLOOM_BLUR_PRECALCULATED
|
||||
float gaussian_function(float2 i) {
|
||||
static const float first_part = 1.0 / (double_pi * pow(sigma, 2.0));
|
||||
static const float second_part_a = 1.0 / (2.0 * pow(sigma, 2.0));
|
||||
float second_part_b = (pow(i.x, 2.0) + pow(i.y, 2.0)) * second_part_a;
|
||||
return first_part * exp(-second_part_b);
|
||||
}
|
||||
#endif
|
||||
|
||||
//Why use a single-pass blur? To reduce the amount of textures used in half.
|
||||
//Scale should be the original resolution divided by target resolution.
|
||||
float3 blur(sampler sp, float2 uv, float scale) {
|
||||
float2 ps = BUFFER_PIXEL_SIZE * scale;
|
||||
|
||||
#if MAGICBLOOM_BLUR_PRECALCULATED
|
||||
static const float kernel[9] = {
|
||||
0.0269955, 0.0647588, 0.120985, 0.176033, 0.199471, 0.176033, 0.120985, 0.0647588, 0.0269955
|
||||
};
|
||||
static const float accum = 1.02352;
|
||||
#else
|
||||
float accum = 0.0;
|
||||
#endif
|
||||
|
||||
float gaussian_weight = 0.0;
|
||||
float3 col = 0.0;
|
||||
|
||||
[loop]
|
||||
for (int x = -iBlurSamples; x <= iBlurSamples; ++x) {
|
||||
for (int y = -iBlurSamples; y <= iBlurSamples; ++y) {
|
||||
#if MAGICBLOOM_BLUR_PRECALCULATED
|
||||
gaussian_weight = kernel[x + iBlurSamples] * kernel[y + iBlurSamples];
|
||||
#else
|
||||
gaussian_weight = gaussian_function(float2(x, y));
|
||||
accum += gaussian_weight;
|
||||
#endif
|
||||
col += tex2D(sp, uv + ps * float2(x, y)).rgb * gaussian_weight;
|
||||
}
|
||||
}
|
||||
|
||||
#if MAGICBLOOM_BLUR_PRECALCULATED
|
||||
return col * accum;
|
||||
#else
|
||||
return col / accum;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
Uncharted 2 Tonemapper
|
||||
|
||||
Thanks John Hable and Naughty Dog.
|
||||
*/
|
||||
float3 tonemap(float3 col, float exposure) {
|
||||
static const float A = 0.15; //shoulder strength
|
||||
static const float B = 0.50; //linear strength
|
||||
static const float C = 0.10; //linear angle
|
||||
static const float D = 0.20; //toe strength
|
||||
static const float E = 0.02; //toe numerator
|
||||
static const float F = 0.30; //toe denominator
|
||||
static const float W = 11.2; //linear white point value
|
||||
|
||||
col *= exposure;
|
||||
|
||||
col = ((col * (A * col + C * B) + D * E) / (col * (A * col + B) + D * F)) - E / F;
|
||||
static const float white = 1.0 / (((W * (A * W + C * B) + D * E) / (W * (A * W + B) + D * F)) - E / F);
|
||||
col *= white;
|
||||
return col;
|
||||
}
|
||||
|
||||
float3 blend_screen(float3 a, float3 b) {
|
||||
return 1.0 - (1.0 - a) * (1.0 - b);
|
||||
}
|
||||
|
||||
/*
|
||||
The function below is a leftover from debugging.
|
||||
It just draws a line on the screen, it's horizontal position being
|
||||
the value you specify (from 0.0-1.0, becoming left-right).
|
||||
No use now but might be useful later on so I just left it here.
|
||||
*/
|
||||
/*void debug_value(inout float3 col, float2 uv, float value, float3 needle_color) {
|
||||
static const float2 ps = BUFFER_PIXEL_SIZE;
|
||||
col = (uv.x + ps.x > value && uv.x - ps.x < value) ? needle_color : col;
|
||||
}*/
|
||||
|
||||
//Shaders
|
||||
|
||||
/*
|
||||
Thresholding is performed on the first blur for two reasons:
|
||||
--Save an entire texture from being used to threshold.
|
||||
--Being the smallest blur it also results in the least amount of artifacts.
|
||||
*/
|
||||
float4 PS_Blur1(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
float3 col = blur(ReShade::BackBuffer, uv, 2.0);
|
||||
col = pow(abs(col), fBloom_Threshold);
|
||||
col *= fBloom_Intensity;
|
||||
return float4(col, 1.0);
|
||||
}
|
||||
|
||||
float4 PS_Blur2(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return float4(blur(sMagicBloom_1, uv, 4.0), 1.0);
|
||||
}
|
||||
|
||||
float4 PS_Blur3(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return float4(blur(sMagicBloom_2, uv, 8.0), 1.0);
|
||||
}
|
||||
|
||||
float4 PS_Blur4(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return float4(blur(sMagicBloom_3, uv, 8.0), 1.0);
|
||||
}
|
||||
|
||||
float4 PS_Blur5(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return float4(blur(sMagicBloom_4, uv, 16.0), 1.0);
|
||||
}
|
||||
|
||||
float4 PS_Blur6(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return float4(blur(sMagicBloom_5, uv, 32.0), 1.0);
|
||||
}
|
||||
|
||||
float4 PS_Blur7(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return float4(blur(sMagicBloom_6, uv, 64.0), 1.0);
|
||||
}
|
||||
|
||||
float4 PS_Blur8(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return float4(blur(sMagicBloom_7, uv, 128.0), 1.0);
|
||||
}
|
||||
|
||||
//Final blend shader
|
||||
float4 PS_Blend(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
float3 col = tex2D(ReShade::BackBuffer, uv).rgb;
|
||||
float3 bloom = tex2D(sMagicBloom_1, uv).rgb
|
||||
+ tex2D(sMagicBloom_2, uv).rgb
|
||||
+ tex2D(sMagicBloom_3, uv).rgb
|
||||
+ tex2D(sMagicBloom_4, uv).rgb
|
||||
+ tex2D(sMagicBloom_5, uv).rgb
|
||||
+ tex2D(sMagicBloom_6, uv).rgb
|
||||
+ tex2D(sMagicBloom_7, uv).rgb
|
||||
+ tex2D(sMagicBloom_8, uv).rgb;
|
||||
//Dunno if making the division by 8 a static multiplication helps, but whatever.
|
||||
static const float bloom_accum = 1.0 / 8.0;
|
||||
bloom *= bloom_accum;
|
||||
|
||||
#if !MAGICBLOOM_NOADAPT
|
||||
float exposure = fExposure / max(tex2D(sMagicBloom_Adapt, 0.0).x, 0.00001);
|
||||
bloom = tonemap(bloom, exposure);
|
||||
#else
|
||||
//Without adaptation it seems 100.0 exposure is needed for bloom to look bright enough.
|
||||
bloom = tonemap(bloom, 100.0);
|
||||
#endif
|
||||
|
||||
#if !MAGICBLOOM_NODIRT
|
||||
float3 dirt = tex2D(sMagicBloom_Dirt, uv).rgb;
|
||||
dirt *= fDirt_Intensity;
|
||||
bloom = blend_screen(bloom, dirt * bloom);
|
||||
#endif
|
||||
|
||||
col = blend_screen(col, bloom);
|
||||
|
||||
//If we're to display the bloom texture, we replace col with it.
|
||||
col = iDebug == 1 ? bloom : col;
|
||||
|
||||
return float4(col, 1.0);
|
||||
}
|
||||
|
||||
#if !MAGICBLOOM_NOADAPT
|
||||
/*
|
||||
How adaptation works:
|
||||
--Calculate image luminance.
|
||||
--Save it to a smaller, mipmapped texture.
|
||||
--Mipmaps require a power of 2 texture.
|
||||
--Fetch a mipmap level according to a specfied amount of precision.
|
||||
--The lowest mipmap is simply an average of the entire image.
|
||||
*/
|
||||
float PS_GetSmall(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return dot(tex2D(ReShade::BackBuffer, uv).rgb, luma_value);
|
||||
}
|
||||
|
||||
float PS_GetAdapt(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
float curr = tex2Dlod(sMagicBloom_Small, float4(0.5, 0.5, 0, lowest_mip - iAdapt_Precision)).x;
|
||||
curr *= fAdapt_Sensitivity;
|
||||
curr = clamp(curr, f2Adapt_Clip.x, f2Adapt_Clip.y);
|
||||
float last = tex2D(sMagicBloom_LastAdapt, 0.0).x;
|
||||
//Using the frametime/delta here would actually scale adaptation with the framerate.
|
||||
//We don't want that, so we don't even bother with it.
|
||||
return lerp(last, curr, fAdapt_Speed);
|
||||
}
|
||||
|
||||
float PS_SaveAdapt(float4 pos : SV_Position, float2 uv : TEXCOORD) : SV_Target {
|
||||
return tex2D(sMagicBloom_Adapt, 0.0).x;
|
||||
}
|
||||
#endif
|
||||
|
||||
technique MagicBloom {
|
||||
pass Blur1 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur1;
|
||||
RenderTarget = tMagicBloom_1;
|
||||
}
|
||||
pass Blur2 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur2;
|
||||
RenderTarget = tMagicBloom_2;
|
||||
}
|
||||
pass Blur3 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur3;
|
||||
RenderTarget = tMagicBloom_3;
|
||||
}
|
||||
pass Blur4 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur4;
|
||||
RenderTarget = tMagicBloom_4;
|
||||
}
|
||||
pass Blur5 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur5;
|
||||
RenderTarget = tMagicBloom_5;
|
||||
}
|
||||
pass Blur6 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur6;
|
||||
RenderTarget = tMagicBloom_6;
|
||||
}
|
||||
pass Blur7 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur7;
|
||||
RenderTarget = tMagicBloom_7;
|
||||
}
|
||||
pass Blur8 {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blur8;
|
||||
RenderTarget = tMagicBloom_8;
|
||||
}
|
||||
pass Blend {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_Blend;
|
||||
}
|
||||
#if !MAGICBLOOM_NOADAPT
|
||||
pass GetSmall {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_GetSmall;
|
||||
RenderTarget = tMagicBloom_Small;
|
||||
}
|
||||
pass GetAdapt {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_GetAdapt;
|
||||
RenderTarget = tMagicBloom_Adapt;
|
||||
}
|
||||
pass SaveAdapt {
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = PS_SaveAdapt;
|
||||
RenderTarget = tMagicBloom_LastAdapt;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
113
EXE/reshade-shaders/Shaders/ReShade.fxh
Normal file
113
EXE/reshade-shaders/Shaders/ReShade.fxh
Normal file
@@ -0,0 +1,113 @@
|
||||
#pragma once
|
||||
|
||||
#if !defined(__RESHADE__) || __RESHADE__ < 30000
|
||||
#error "ReShade 3.0+ is required to use this header file"
|
||||
#endif
|
||||
|
||||
#ifndef RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN
|
||||
#define RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN 0
|
||||
#endif
|
||||
#ifndef RESHADE_DEPTH_INPUT_IS_REVERSED
|
||||
#define RESHADE_DEPTH_INPUT_IS_REVERSED 1
|
||||
#endif
|
||||
#ifndef RESHADE_DEPTH_INPUT_IS_LOGARITHMIC
|
||||
#define RESHADE_DEPTH_INPUT_IS_LOGARITHMIC 0
|
||||
#endif
|
||||
|
||||
#ifndef RESHADE_DEPTH_MULTIPLIER
|
||||
#define RESHADE_DEPTH_MULTIPLIER 1
|
||||
#endif
|
||||
#ifndef RESHADE_DEPTH_LINEARIZATION_FAR_PLANE
|
||||
#define RESHADE_DEPTH_LINEARIZATION_FAR_PLANE 1000.0
|
||||
#endif
|
||||
|
||||
// Above 1 expands coordinates, below 1 contracts and 1 is equal to no scaling on any axis
|
||||
#ifndef RESHADE_DEPTH_INPUT_Y_SCALE
|
||||
#define RESHADE_DEPTH_INPUT_Y_SCALE 1
|
||||
#endif
|
||||
#ifndef RESHADE_DEPTH_INPUT_X_SCALE
|
||||
#define RESHADE_DEPTH_INPUT_X_SCALE 1
|
||||
#endif
|
||||
// An offset to add to the Y coordinate, (+) = move up, (-) = move down
|
||||
#ifndef RESHADE_DEPTH_INPUT_Y_OFFSET
|
||||
#define RESHADE_DEPTH_INPUT_Y_OFFSET 0
|
||||
#endif
|
||||
#ifndef RESHADE_DEPTH_INPUT_Y_PIXEL_OFFSET
|
||||
#define RESHADE_DEPTH_INPUT_Y_PIXEL_OFFSET 0
|
||||
#endif
|
||||
// An offset to add to the X coordinate, (+) = move right, (-) = move left
|
||||
#ifndef RESHADE_DEPTH_INPUT_X_OFFSET
|
||||
#define RESHADE_DEPTH_INPUT_X_OFFSET 0
|
||||
#endif
|
||||
#ifndef RESHADE_DEPTH_INPUT_X_PIXEL_OFFSET
|
||||
#define RESHADE_DEPTH_INPUT_X_PIXEL_OFFSET 0
|
||||
#endif
|
||||
|
||||
#define BUFFER_PIXEL_SIZE float2(BUFFER_RCP_WIDTH, BUFFER_RCP_HEIGHT)
|
||||
#define BUFFER_SCREEN_SIZE float2(BUFFER_WIDTH, BUFFER_HEIGHT)
|
||||
#define BUFFER_ASPECT_RATIO (BUFFER_WIDTH * BUFFER_RCP_HEIGHT)
|
||||
|
||||
namespace ReShade
|
||||
{
|
||||
#if defined(__RESHADE_FXC__)
|
||||
float GetAspectRatio() { return BUFFER_WIDTH * BUFFER_RCP_HEIGHT; }
|
||||
float2 GetPixelSize() { return float2(BUFFER_RCP_WIDTH, BUFFER_RCP_HEIGHT); }
|
||||
float2 GetScreenSize() { return float2(BUFFER_WIDTH, BUFFER_HEIGHT); }
|
||||
#define AspectRatio GetAspectRatio()
|
||||
#define PixelSize GetPixelSize()
|
||||
#define ScreenSize GetScreenSize()
|
||||
#else
|
||||
// These are deprecated and will be removed eventually.
|
||||
static const float AspectRatio = BUFFER_WIDTH * BUFFER_RCP_HEIGHT;
|
||||
static const float2 PixelSize = float2(BUFFER_RCP_WIDTH, BUFFER_RCP_HEIGHT);
|
||||
static const float2 ScreenSize = float2(BUFFER_WIDTH, BUFFER_HEIGHT);
|
||||
#endif
|
||||
|
||||
// Global textures and samplers
|
||||
texture BackBufferTex : COLOR;
|
||||
texture DepthBufferTex : DEPTH;
|
||||
|
||||
sampler BackBuffer { Texture = BackBufferTex; };
|
||||
sampler DepthBuffer { Texture = DepthBufferTex; };
|
||||
|
||||
// Helper functions
|
||||
float GetLinearizedDepth(float2 texcoord)
|
||||
{
|
||||
#if RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN
|
||||
texcoord.y = 1.0 - texcoord.y;
|
||||
#endif
|
||||
texcoord.x /= RESHADE_DEPTH_INPUT_X_SCALE;
|
||||
texcoord.y /= RESHADE_DEPTH_INPUT_Y_SCALE;
|
||||
#if RESHADE_DEPTH_INPUT_X_PIXEL_OFFSET
|
||||
texcoord.x -= RESHADE_DEPTH_INPUT_X_PIXEL_OFFSET * BUFFER_RCP_WIDTH;
|
||||
#else // Do not check RESHADE_DEPTH_INPUT_X_OFFSET, since it may be a decimal number, which the preprocessor cannot handle
|
||||
texcoord.x -= RESHADE_DEPTH_INPUT_X_OFFSET / 2.000000001;
|
||||
#endif
|
||||
#if RESHADE_DEPTH_INPUT_Y_PIXEL_OFFSET
|
||||
texcoord.y += RESHADE_DEPTH_INPUT_Y_PIXEL_OFFSET * BUFFER_RCP_HEIGHT;
|
||||
#else
|
||||
texcoord.y += RESHADE_DEPTH_INPUT_Y_OFFSET / 2.000000001;
|
||||
#endif
|
||||
float depth = tex2Dlod(DepthBuffer, float4(texcoord, 0, 0)).x * RESHADE_DEPTH_MULTIPLIER;
|
||||
|
||||
#if RESHADE_DEPTH_INPUT_IS_LOGARITHMIC
|
||||
const float C = 0.01;
|
||||
depth = (exp(depth * log(C + 1.0)) - 1.0) / C;
|
||||
#endif
|
||||
#if RESHADE_DEPTH_INPUT_IS_REVERSED
|
||||
depth = 1.0 - depth;
|
||||
#endif
|
||||
const float N = 1.0;
|
||||
depth /= RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - depth * (RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - N);
|
||||
|
||||
return depth;
|
||||
}
|
||||
}
|
||||
|
||||
// Vertex shader generating a triangle covering the entire screen
|
||||
void PostProcessVS(in uint id : SV_VertexID, out float4 position : SV_Position, out float2 texcoord : TEXCOORD)
|
||||
{
|
||||
texcoord.x = (id == 2) ? 2.0 : 0.0;
|
||||
texcoord.y = (id == 1) ? 2.0 : 0.0;
|
||||
position = float4(texcoord * float2(2.0, -2.0) + float2(-1.0, 1.0), 0.0, 1.0);
|
||||
}
|
||||
216
EXE/reshade-shaders/Shaders/ReShadeUI.fxh
Normal file
216
EXE/reshade-shaders/Shaders/ReShadeUI.fxh
Normal file
@@ -0,0 +1,216 @@
|
||||
#pragma once
|
||||
|
||||
#if !defined(__RESHADE__) || __RESHADE__ < 30000
|
||||
#error "ReShade 3.0+ is required to use this header file"
|
||||
#endif
|
||||
|
||||
#define RESHADE_VERSION(major,minor,build) (10000 * (major) + 100 * (minor) + (build))
|
||||
#define SUPPORTED_VERSION(major,minor,build) (__RESHADE__ >= RESHADE_VERSION(major,minor,build))
|
||||
|
||||
// Since 3.0.0
|
||||
// Commit current in-game user interface status
|
||||
// https://github.com/crosire/reshade/commit/302bacc49ae394faedc2e29a296c1cebf6da6bb2#diff-82cf230afdb2a0d5174111e6f17548a5R1183
|
||||
// Added various GUI related uniform variable annotations
|
||||
// https://reshade.me/forum/releases/2341-3-0
|
||||
#define __UNIFORM_INPUT_ANY ui_type = "input";
|
||||
|
||||
#define __UNIFORM_INPUT_BOOL1 __UNIFORM_INPUT_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_INPUT_BOOL2 __UNIFORM_INPUT_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_INPUT_BOOL3 __UNIFORM_INPUT_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_INPUT_BOOL4 __UNIFORM_INPUT_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_INPUT_INT1 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_INPUT_INT2 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_INPUT_INT3 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_INPUT_INT4 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_INPUT_FLOAT1 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_INPUT_FLOAT2 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_INPUT_FLOAT3 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_INPUT_FLOAT4 __UNIFORM_INPUT_ANY // If it was not supported in someday or now, please add information
|
||||
|
||||
// Since 4.0.1
|
||||
// Change slider widget to be used with new "slider" instead of a "drag" type annotation
|
||||
// https://github.com/crosire/reshade/commit/746229f31cd6f311a3e72a543e4f1f23faa23f11#diff-59405a313bd8cbfb0ca6dd633230e504R1701
|
||||
// Changed slider widget to be used with < ui_type = "slider"; > instead of < ui_type = "drag"; >
|
||||
// https://reshade.me/forum/releases/4772-4-0
|
||||
#if SUPPORTED_VERSION(4,0,1)
|
||||
#define __UNIFORM_DRAG_ANY ui_type = "drag";
|
||||
|
||||
// Since 4.0.0
|
||||
// Rework statistics tab and add drag widgets back
|
||||
// https://github.com/crosire/reshade/commit/1b2c38795f00efd66c007da1f483f1441b230309
|
||||
// Changed drag widget to a slider widget (old one is still available via < ui_type = "drag2"; >)
|
||||
// https://reshade.me/forum/releases/4772-4-0
|
||||
#elif SUPPORTED_VERSION(4,0,0)
|
||||
#define __UNIFORM_DRAG_ANY ui_type = "drag2";
|
||||
|
||||
// Since 3.0.0
|
||||
// Commit current in-game user interface status
|
||||
// https://github.com/crosire/reshade/commit/302bacc49ae394faedc2e29a296c1cebf6da6bb2#diff-82cf230afdb2a0d5174111e6f17548a5R1187
|
||||
// Added various GUI related uniform variable annotations
|
||||
// https://reshade.me/forum/releases/2341-3-0
|
||||
#else
|
||||
#define __UNIFORM_DRAG_ANY ui_type = "drag";
|
||||
#endif
|
||||
|
||||
#define __UNIFORM_DRAG_BOOL1 __UNIFORM_DRAG_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_DRAG_BOOL2 __UNIFORM_DRAG_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_DRAG_BOOL3 __UNIFORM_DRAG_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_DRAG_BOOL4 __UNIFORM_DRAG_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_DRAG_INT1 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_DRAG_INT2 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_DRAG_INT3 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_DRAG_INT4 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_DRAG_FLOAT1 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_DRAG_FLOAT2 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_DRAG_FLOAT3 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_DRAG_FLOAT4 __UNIFORM_DRAG_ANY // If it was not supported in someday or now, please add information
|
||||
|
||||
// Since 4.0.1
|
||||
// Change slider widget to be used with new "slider" instead of a "drag" type annotation
|
||||
// https://github.com/crosire/reshade/commit/746229f31cd6f311a3e72a543e4f1f23faa23f11#diff-59405a313bd8cbfb0ca6dd633230e504R1699
|
||||
// Changed slider widget to be used with < ui_type = "slider"; > instead of < ui_type = "drag"; >
|
||||
// https://reshade.me/forum/releases/4772-4-0
|
||||
#if SUPPORTED_VERSION(4,0,1)
|
||||
#define __UNIFORM_SLIDER_ANY ui_type = "slider";
|
||||
|
||||
// Since 4.0.0
|
||||
// Rework statistics tab and add drag widgets back
|
||||
// https://github.com/crosire/reshade/commit/1b2c38795f00efd66c007da1f483f1441b230309
|
||||
// Changed drag widget to a slider widget (old one is still available via < ui_type = "drag2"; >)
|
||||
// https://reshade.me/forum/releases/4772-4-0
|
||||
#elif SUPPORTED_VERSION(4,0,0)
|
||||
#define __UNIFORM_SLIDER_ANY ui_type = "drag";
|
||||
#else
|
||||
#define __UNIFORM_SLIDER_ANY __UNIFORM_DRAG_ANY
|
||||
#endif
|
||||
|
||||
#define __UNIFORM_SLIDER_BOOL1 __UNIFORM_SLIDER_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_SLIDER_BOOL2 __UNIFORM_SLIDER_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_SLIDER_BOOL3 __UNIFORM_SLIDER_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_SLIDER_BOOL4 __UNIFORM_SLIDER_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_SLIDER_INT1 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_SLIDER_INT2 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_SLIDER_INT3 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_SLIDER_INT4 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_SLIDER_FLOAT1 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_SLIDER_FLOAT2 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_SLIDER_FLOAT3 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_SLIDER_FLOAT4 __UNIFORM_SLIDER_ANY // If it was not supported in someday or now, please add information
|
||||
|
||||
// Since 3.0.0
|
||||
// Add combo box display type for uniform variables and fix displaying of integer variable under Direct3D 9
|
||||
// https://github.com/crosire/reshade/commit/b025bfae5f7343509ec0cacf6df0cff537c499f2#diff-82cf230afdb2a0d5174111e6f17548a5R1631
|
||||
// Added various GUI related uniform variable annotations
|
||||
// https://reshade.me/forum/releases/2341-3-0
|
||||
#define __UNIFORM_COMBO_ANY ui_type = "combo";
|
||||
|
||||
// __UNIFORM_COMBO_BOOL1
|
||||
#define __UNIFORM_COMBO_BOOL2 __UNIFORM_COMBO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COMBO_BOOL3 __UNIFORM_COMBO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COMBO_BOOL4 __UNIFORM_COMBO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COMBO_INT1 __UNIFORM_COMBO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_COMBO_INT2 __UNIFORM_COMBO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_COMBO_INT3 __UNIFORM_COMBO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_COMBO_INT4 __UNIFORM_COMBO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_COMBO_FLOAT1 __UNIFORM_COMBO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COMBO_FLOAT2 __UNIFORM_COMBO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COMBO_FLOAT3 __UNIFORM_COMBO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COMBO_FLOAT4 __UNIFORM_COMBO_ANY // It is unsupported on all version
|
||||
|
||||
// Since 4.0.0 (but the ui_items force set "Off\0On\0"), and if less than it force converted to checkbox
|
||||
// Add option to display boolean values as combo box instead of checkbox
|
||||
// https://github.com/crosire/reshade/commit/aecb757c864c9679e77edd6f85a1521c49e489c1#diff-59405a313bd8cbfb0ca6dd633230e504R1147
|
||||
// https://github.com/crosire/reshade/blob/v4.0.0/source/gui.cpp
|
||||
// Added option to display boolean values as combo box instead of checkbox (via < ui_type = "combo"; >)
|
||||
// https://reshade.me/forum/releases/4772-4-0
|
||||
#define __UNIFORM_COMBO_BOOL1 __UNIFORM_COMBO_ANY
|
||||
|
||||
// Since 4.0.0
|
||||
// Cleanup GUI code and rearrange some widgets
|
||||
// https://github.com/crosire/reshade/commit/6751f7bd50ea7c0556cf0670f10a4b4ba912ee7d#diff-59405a313bd8cbfb0ca6dd633230e504R1711
|
||||
// Added radio button widget (via < ui_type = "radio"; ui_items = "Button 1\0Button 2\0...\0"; >)
|
||||
// https://reshade.me/forum/releases/4772-4-0
|
||||
#if SUPPORTED_VERSION(4,0,0)
|
||||
#define __UNIFORM_RADIO_ANY ui_type = "radio";
|
||||
#else
|
||||
#define __UNIFORM_RADIO_ANY __UNIFORM_COMBO_ANY
|
||||
#endif
|
||||
|
||||
#define __UNIFORM_RADIO_BOOL1 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_RADIO_BOOL2 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_RADIO_BOOL3 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_RADIO_BOOL4 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_RADIO_INT1 __UNIFORM_RADIO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_RADIO_INT2 __UNIFORM_RADIO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_RADIO_INT3 __UNIFORM_RADIO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_RADIO_INT4 __UNIFORM_RADIO_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_RADIO_FLOAT1 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_RADIO_FLOAT2 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_RADIO_FLOAT3 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_RADIO_FLOAT4 __UNIFORM_RADIO_ANY // It is unsupported on all version
|
||||
|
||||
// Since 4.1.0
|
||||
// Fix floating point uniforms with unknown "ui_type" not showing up in UI
|
||||
// https://github.com/crosire/reshade/commit/50e5bf44dfc84bc4220c2b9f19d5f50c7a0fda66#diff-59405a313bd8cbfb0ca6dd633230e504R1788
|
||||
// Fixed floating point uniforms with unknown "ui_type" not showing up in UI
|
||||
// https://reshade.me/forum/releases/5021-4-1
|
||||
#define __UNIFORM_COLOR_ANY ui_type = "color";
|
||||
|
||||
// Since 3.0.0
|
||||
// Move technique list to preset configuration file
|
||||
// https://github.com/crosire/reshade/blob/84bba3aa934c1ebe4c6419b69dfe1690d9ab9d34/source/runtime.cpp#L1328
|
||||
// Added various GUI related uniform variable annotations
|
||||
// https://reshade.me/forum/releases/2341-3-0
|
||||
|
||||
// If empty, these versions before 4.1.0 are decide that the type is color from the number of components
|
||||
|
||||
#define __UNIFORM_COLOR_BOOL1 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_BOOL2 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_BOOL3 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_BOOL4 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_INT1 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_INT2 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_INT3 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_INT4 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
// __UNIFORM_COLOR_FLOAT1
|
||||
#define __UNIFORM_COLOR_FLOAT2 __UNIFORM_COLOR_ANY // It is unsupported on all version
|
||||
#define __UNIFORM_COLOR_FLOAT3 __UNIFORM_COLOR_ANY // If it was not supported in someday or now, please add information
|
||||
#define __UNIFORM_COLOR_FLOAT4 __UNIFORM_COLOR_ANY // If it was not supported in someday or now, please add information
|
||||
|
||||
// Since 4.2.0
|
||||
// Add alpha slider widget for single component uniform variables (#86)
|
||||
// https://github.com/crosire/reshade/commit/87a740a8e3c4dcda1dd4eeec8d5cff7fa35fe829#diff-59405a313bd8cbfb0ca6dd633230e504R1820
|
||||
// Added alpha slider widget for single component uniform variables
|
||||
// https://reshade.me/forum/releases/5150-4-2
|
||||
#if SUPPORTED_VERSION(4,2,0)
|
||||
#define __UNIFORM_COLOR_FLOAT1 __UNIFORM_COLOR_ANY
|
||||
#else
|
||||
#define __UNIFORM_COLOR_FLOAT1 __UNIFORM_SLIDER_ANY
|
||||
#endif
|
||||
|
||||
// Since 4.3.0
|
||||
// Add new "list" GUI widget (#103)
|
||||
// https://github.com/crosire/reshade/commit/515287d20ce615c19cf3d4c21b49f83896f04ddc#diff-59405a313bd8cbfb0ca6dd633230e504R1894
|
||||
// Added new "list" GUI widget
|
||||
// https://reshade.me/forum/releases/5417-4-3
|
||||
#if SUPPORTED_VERSION(4,3,0)
|
||||
#define __UNIFORM_LIST_ANY ui_type = "list";
|
||||
#else
|
||||
#define __UNIFORM_LIST_ANY __UNIFORM_COMBO_ANY
|
||||
#endif
|
||||
|
||||
// __UNIFORM_LIST_BOOL1
|
||||
#define __UNIFORM_LIST_BOOL2 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_BOOL3 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_BOOL4 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_INT1 __UNIFORM_LIST_ANY // Supported in 4.3.0
|
||||
#define __UNIFORM_LIST_INT2 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_INT3 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_INT4 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_FLOAT1 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_FLOAT2 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_FLOAT3 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
#define __UNIFORM_LIST_FLOAT4 __UNIFORM_LIST_ANY // Not supported in all versions
|
||||
|
||||
// For compatible with ComboBox
|
||||
#define __UNIFORM_LIST_BOOL1 __UNIFORM_COMBO_ANY
|
||||
72
EXE/reshade-shaders/Shaders/Tonemap.fx
Normal file
72
EXE/reshade-shaders/Shaders/Tonemap.fx
Normal file
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
* Tonemap version 1.1
|
||||
* by Christian Cann Schuldt Jensen ~ CeeJay.dk
|
||||
*/
|
||||
|
||||
#include "ReShadeUI.fxh"
|
||||
|
||||
uniform float Gamma < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 2.0;
|
||||
ui_tooltip = "Adjust midtones. 1.0 is neutral. This setting does exactly the same as the one in Lift Gamma Gain, only with less control.";
|
||||
> = 1.0;
|
||||
uniform float Exposure < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = -1.0; ui_max = 1.0;
|
||||
ui_tooltip = "Adjust exposure";
|
||||
> = 0.0;
|
||||
uniform float Saturation < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = -1.0; ui_max = 1.0;
|
||||
ui_tooltip = "Adjust saturation";
|
||||
> = 0.0;
|
||||
|
||||
uniform float Bleach < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 1.0;
|
||||
ui_tooltip = "Brightens the shadows and fades the colors";
|
||||
> = 0.0;
|
||||
|
||||
uniform float Defog < __UNIFORM_SLIDER_FLOAT1
|
||||
ui_min = 0.0; ui_max = 1.0;
|
||||
ui_tooltip = "How much of the color tint to remove";
|
||||
> = 0.0;
|
||||
uniform float3 FogColor < __UNIFORM_COLOR_FLOAT3
|
||||
ui_label = "Defog Color";
|
||||
ui_tooltip = "Which color tint to remove";
|
||||
> = float3(0.0, 0.0, 1.0);
|
||||
|
||||
|
||||
#include "ReShade.fxh"
|
||||
|
||||
float3 TonemapPass(float4 position : SV_Position, float2 texcoord : TexCoord) : SV_Target
|
||||
{
|
||||
float3 color = tex2D(ReShade::BackBuffer, texcoord).rgb;
|
||||
color = saturate(color - Defog * FogColor * 2.55); // Defog
|
||||
color *= pow(2.0f, Exposure); // Exposure
|
||||
color = pow(color, Gamma); // Gamma
|
||||
|
||||
const float3 coefLuma = float3(0.2126, 0.7152, 0.0722);
|
||||
float lum = dot(coefLuma, color);
|
||||
|
||||
float L = saturate(10.0 * (lum - 0.45));
|
||||
float3 A2 = Bleach * color;
|
||||
|
||||
float3 result1 = 2.0f * color * lum;
|
||||
float3 result2 = 1.0f - 2.0f * (1.0f - lum) * (1.0f - color);
|
||||
|
||||
float3 newColor = lerp(result1, result2, L);
|
||||
float3 mixRGB = A2 * newColor;
|
||||
color += ((1.0f - A2) * mixRGB);
|
||||
|
||||
float3 middlegray = dot(color, (1.0 / 3.0));
|
||||
float3 diffcolor = color - middlegray;
|
||||
color = (color + diffcolor * Saturation) / (1 + (diffcolor * Saturation)); // Saturation
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
technique Tonemap
|
||||
{
|
||||
pass
|
||||
{
|
||||
VertexShader = PostProcessVS;
|
||||
PixelShader = TonemapPass;
|
||||
}
|
||||
}
|
||||
BIN
EXE/reshade-shaders/Textures/MagicBloom_Dirt.png
Normal file
BIN
EXE/reshade-shaders/Textures/MagicBloom_Dirt.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 558 KiB |
BIN
EXE/resources.dll
Normal file
BIN
EXE/resources.dll
Normal file
Binary file not shown.
BIN
EXE/rp8.dll
Normal file
BIN
EXE/rp8.dll
Normal file
Binary file not shown.
BIN
EXE/rpclocal.dll
Normal file
BIN
EXE/rpclocal.dll
Normal file
Binary file not shown.
BIN
EXE/server.dll
Normal file
BIN
EXE/server.dll
Normal file
Binary file not shown.
BIN
EXE/serverresources.dll
Normal file
BIN
EXE/serverresources.dll
Normal file
Binary file not shown.
BIN
EXE/shading.dll
Normal file
BIN
EXE/shading.dll
Normal file
Binary file not shown.
BIN
EXE/soundmanager.dll
Normal file
BIN
EXE/soundmanager.dll
Normal file
Binary file not shown.
BIN
EXE/soundstreamer.dll
Normal file
BIN
EXE/soundstreamer.dll
Normal file
Binary file not shown.
BIN
EXE/storyfactions.dll
Normal file
BIN
EXE/storyfactions.dll
Normal file
Binary file not shown.
15
EXE/storyfactions_readme.txt
Normal file
15
EXE/storyfactions_readme.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
Story Factions by Jason Hood
|
||||
|
||||
Version 1.00
|
||||
|
||||
|
||||
Story Factions allows customization of the factions that are excluded from the
|
||||
reputation list. Using this DLL defines all such factions, completely replacing
|
||||
the defaults (provided the ini exists and actually contains factions). To use
|
||||
it, copy STORYFACTIONS.DLL to the EXE directory and add it to the [Libraries]
|
||||
section of EXE\dacom.ini. Then copy STORYFACTIONS.INI to the DATA directory and
|
||||
edit it as required.
|
||||
|
||||
|
||||
Jason Hood, 23 March, 2010.
|
||||
http://freelancer.adoxa.cjb.net/
|
||||
BIN
EXE/system.dll
Normal file
BIN
EXE/system.dll
Normal file
Binary file not shown.
21
EXE/text-strings-revision-license.txt
Normal file
21
EXE/text-strings-revision-license.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 C.S. Melis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
BIN
EXE/thorn.dll
Normal file
BIN
EXE/thorn.dll
Normal file
Binary file not shown.
BIN
EXE/unicows.dll
Normal file
BIN
EXE/unicows.dll
Normal file
Binary file not shown.
BIN
EXE/x86math.dll
Normal file
BIN
EXE/x86math.dll
Normal file
Binary file not shown.
BIN
EXE/ximage.dll
Normal file
BIN
EXE/ximage.dll
Normal file
Binary file not shown.
BIN
EXE/zlib.dll
Normal file
BIN
EXE/zlib.dll
Normal file
Binary file not shown.
20
EXE/zlib_license.txt
Normal file
20
EXE/zlib_license.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
Jean-loup Gailly Mark Adler
|
||||
jloup@gzip.org madler@alumni.caltech.edu
|
||||
Reference in New Issue
Block a user