Init 0.1 - 1

This commit is contained in:
Nekura
2024-01-07 22:27:20 +01:00
commit 700d64cdbb
119 changed files with 13428 additions and 0 deletions

364
CHANGELOG.md Normal file
View File

@@ -0,0 +1,364 @@
# Changelog
## [[v0.6] - 2022-08-27](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.6)
### Visual
- Added all remaining HD Base Interiors & Planetscapes
- Added HD vanilla starspheres for the following systems/regions:
- Liberty
- Bretonia
- Rheinland
- Unknown systems
- Independent Worlds
- Tau-37
- Added HD oceans
- Added HD skies
- Added improved Earth and water planet textures that look more like the originals
- Added HD vanilla ship textures that are more faithful to the originals
- Improved ship window textures
- Added improved HD station number textures that have a higher resolution
- Improved the Nomad asteroids
- Improved the Planet Pittsburgh cliff textures
- Added HD sun effects that look more like the originals
- Added a new set of alternative icons
- Improved the commodity icon
- Added higher resolution space cursor textures
- Improved cargo pod texture clarity
- Added HD mine and spike textures
- Character model and props changes:
- Compressed textures to save space and reduce load times
- Fixed artefact on Orillion's lip
- Fixed ridge on the green glass
- Removed orange stripes from Tobias' mustache
- Improved several textures which were previously not as good as they should've been
- Denoised jump effect texture
- Added improved lava asteroids
- Added improved Badlands obsidian and mined asteroid textures
- Added HD organism effect textures
- Added more general improved HD effects
- Added optional Adaptive Sharpening
- Ensure all menu intros use space backdrops with stars
- Added the unused Neutron Star effect to Omega-41
- Added new optional explosion effects
- Improved the Mission and News vendor images
### Features
- [Installer updates](https://github.com/oliverpechey/Freelancer-hd-edition-install-script/releases/tag/0.6)
- Added more pitch variations for the NPC chatter as an option
- Added the DelayDisplay plugin which shows a cooldown timer for weapons that require ammunition
- Added the MultiIntro plugin which shows an unused 4th menu intro
- Allow the player to visit the lab on Planet Toledo
### Fixes
- Fixed an issue that caused the debris explosion trail effect to stretch out tremendously
- Updated the faction for the Alaska -> New York jumpgate to prevent it from being hostile in mission 11
- Added an engine to Battleship Arizona so it can properly move towards the Alaska -> New York jumpgate during mission 11
- flplusplus plugin changes:
- Fixed an issue that caused Freelancer to crash when launching on some Windows installs
- Improved timestamp logging
- Removed sound-related patches that previously caused issues
- Assigned correct description names to the nebulae in Omicron Theta
- Corrected numerous German typos and inconsistencies in the English text resources
- Fixed typos and newline issues in the neural net and interface text resources
- Fixed seams in ST03b (Dyson Sphere system) starsphere
- No longer overwrite the neural net and Pirate voice audio files with English versions by default
- Fixed black space backdrops in Kensington and Waterloo station bars
- Applied general fixes to the space backgrounds in numerous bar scripts to ensure they represent an accurate view of the space the bases are in
- Prevented the Valkyrie from landing on the same position as the Anubis in one of the Planet Toledo mission cutscenes
- Reverted a change regarding asteroid draw distances that caused player ships to not be able to collide with some asteroids
- Corrected Frankfurt's nebula color on the nav map
- Ensure Juni will always say her last voice line in New York during mission 4
- Make Ozu and the Blood Dragon escort say something before and after encountering the first hostile contacts in Tohoku during mission 9
- Made the edges of the job board icon softer
- Ensure Ozu and Hakkera's ships use the correct engine effects during the Tekagi cutscene in mission 9
- Updated the MP Rep plugin to fix a crash that would occur on some Windows installs when the equipment or commodity dealer window is opened
- Ensure the correct help text is shown for the Change View button
- Fixed an issue that caused one of the uncloaking Rheinland ships from mission 5 to attack the player too early sometimes
- Updated the orientation of the Freeport station in the gasminer3 intro script so it's no longer upside down
- Fixed an issue that caused Benno Henning on Planet New Berlin to sometimes show an empty bribe dialog
- Fixed the double spaces issue in Zoner pilot names
- Centered the Scan Cargo window
- Replaced outdated jumphole infocards
- Removed a duplicate news entry titled "RHEINLAND ATTACKS LIBERTY!" from mission 9
- Use correct logos for news items from Los Angeles and Crete
- Made alarm (klaxon) quieter at the end of the final Battleship Osiris story cutscene
### Misc
- Compressed nav map textures for faster load times
- Compressed several Manhattan base textures for faster load times
- Removed unused and unedited texture/configuration files
- Updated ReShade to version 5.3.0
- Ensure the user sees some explanations about ReShade on first launch
- Check "Inherit Color Profile" option in the default dgVoodoo config
- Reduced time between weapon list refreshes to 0.1 seconds
- Increased time between contact list refreshes to 1.5 seconds
- Added a Tonemap shader which will be used when the fullscreen windowed option is enabled
- Renamed "GMG Station Glorious" to "Mining Station Glorious"
- Added an ambient sound to the lab on Planet Toledo
- Changed icon of the track rings in the Dublin system to trade lane rings
- Added a description for the Racetrack Buoy in the Dublin system
- Decreased saturation and darkness for the ice white blue planet
- Changed the "WEAPONS OFF-LINE" text to "WEAPONS OFFLINE"
- Renamed "AMBIANCE" to "AMBIENCE" in the sound options
- Renamed "CUT SCENE" to "CUTSCENE" in the video options
- Revived the unused water planet menu intro from the original game files
- Updated the in-game version text so Freelancer: HD Edition's version number is displayed too
- Reduced the draw distances of the lower Unknown asteroid field
- Added the missing for sale ship in Omicron Minor Battleship Osiris
- Disabled encryption when save game files are created and saved
- Adjusted next and previous sub-target button positions slightly
- Removed an unedited icon file and several unused ReShade effects
## [[v0.5] - 2022-01-21](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.5)
### Visual
- Added HD Nomad Lair textures
- Added HD Dyson Sphere textures
- Added updated version of the HD Character Models addon (tremendously improved character textures over the previous version)
- Added support for native Anti-Aliasing and Anisotropic Filtering
- Added higher quality startup movies
- Added improved HD Nebulae and Fog
- Improved HD Nomad, Pirate, Bretonia, Blood Dragon and Utility ship textures
- Added many HD weapon and misc effect textures
- Added an HD Smoke effect
- Added HD Base Interior tables
- Added HD weapon models
- Added HD equipment carts
- Added HD background stars
- Added HD vanilla HUD
- Added HD mouse cursors
- Added HD button textures and other icons
- Improved HD cockpits
- Improved the St03b starsphere
- Added HD Base Interiors (Proof of Concept) for the following bases:
- Manhattan
- Pittsburgh
- Liberty Dreadnought
- Improved station textures:
- Fixed outline for dome trees
- Improved dome grass
- Improved HD station numbers
- Added HD base windows
- Added HD light panel textures
- Improved texture quality of previously original textures for asteroid stations
- Added HD cargo crates
- Added optional shinier reflections
- Improved overall reflections
- Added an improved explosion effect texture
- Improved the zoomed map by adding more, smaller stars to it
- Improved texture quality of some original ship textures
- Adjust colors slightly in the Ew05 and Ew06 (both Unknown systems) starspheres
- Added updated Maximized Draw Distances addon (enables high quality sphere rendering)
- Include a copy of ReShade with a basic, optional config (includes HDR, increased saturation, and bloom)
- Added optional player engine trails
- Added an HD jump effect
### Audio
- Compressed HQ Music to 320 kb/s (fixes issues with Freelancer sometimes not looping or playing the music)
- Adjusted the cutscene music attenuation according to the differences in volume between the standard and HQ music
### Features
- Made intro skips optional
- Made jump tunnel time adjustable
- Made the Dark HUD optional
- Made the Flat Interface optional
- Add possibility for users to choose a separate save game folder
- Increased max number of characters in the chat input box (allows for longer messages to be typed)
- Increased the max number of chat lines in the chat history window
- Made both Unknown systems appear on the nav map after visiting them
- Made the Text Strings Revision patch optional
- Added the Territory plugin with a custom config; shows which region of space the current system is in
- Added the Ranks plugin with a custom config; associates a rank with the playerlevel
- Added the HUDless plugin which allows players to hide the HUD
- Added optional no-story (open single player) modes:
- Normal: the player starts on Manhattan with a basic loadout and a default reputation
- Pirate: the player starts on Rochester with a basic loadout and an inverted reputation
- Ensured Bounty Hunter and Corsair ships have Corsair engines (like the NPCs do)
- Added "HDE" to the version text in the main menu to indicate that the Freelancer: HD Edition installation has succeeded
- Added an alternative base interior lighting fix
- Added flplusplus; allows for configurable draw distances, PNG screenshots, and more
### Fixes
- Replaced Liberty Defender with Juni's Defender in Kress cutscene
- Adjusted the HQ reveal and exposition music so it has the same length as the original
- Reduced vanilla icon sizes in contact list so they can no longer overlap
- Fixed fog colors on the New York nav map
- Inverted the HD Moonblu Planet's color so it looks more like the original
- Ensured the Rowlett's Revenge weapon drop has the correct string reference (it used to be called Nomad Prototype)
- Reduced LODCurve in the dyson_city hypergate ale effect to ensure it doesn't look too dense
- When both the Dark HUD and Adv Wide HUD have been selected, the player will now actually get both
- Added a visit tag to the gravity buoy in Tau-37 so it can no longer be selected in the contact list
- Removed a purposeless hazard buoy on the outer edge of Sigma-17
- Centered the nav map animation in 16:9
- Fixed seams in some Bretonia starspheres
- Removed silence in the zone_nebula_nomad ambient sound
- Made the fog in the Liberty Dreadnought deck start right away, instead of 30 seconds later
- Moved Armored Transport in mission 13 cutscene so it's no longer on the same landing pad as the Anubis
- Mission 1 cutscene fixes:
- Prevented the Transport ship from tilting downwards at the very start
- Prevented Freeport 7 escorts from colliding with each another off-screen
- Adjusted the angle and position of the 3rd Nomad attacker ship so it can fire torpedoes properly
- Ensure the Nomad attacker ship's engines can't be seen as they are decloaking when the camera zooms out
- Properly despawn Freeport 7 so it can't be seen in New York during mission 1
- Ensured the Planet Houston -> Bering Jump Gate trade lane has the correct name
- Assigned a faction to the Alaska -> New York Jump Gate, and the Magellan -> New York Jump Gate so their names are displayed properly
- Lowered volume for music that plays when Orillion talks during a mission 13 cutscene
- Set numerous friendly jumpholes during story missions to neutral
- Prevent cloaked Rheinland Battleships from being visible during mission 7
- Turned down the volume of a rather loud voice line in mission 6
- Removed a screech in the HQ Omicron Battle music
- Applied engine fixes in the gasminer3.thn main menu script
- Disabled the D3D8 error spam in FLSpew (Freelancer log)
- Fixed uneven edges in HD main menu Freelancer logos
- Set the mine detonation distance to 8 (mitigates the mine collision bug)
- Added missing audio files from JFLP v1.25; fixes some incorrect NPC chatter
- Applied several vanilla compatibility hotfixes (prevents crashes when playing on vanilla servers)
### Misc
- Increased asteroid field fill distance
- Multiplied the maximum docking initiation distance by 5x
- Reduced time between contact list refreshes to 0.5 seconds
- Allowed the current worth to be shown in Multiplayer
- Replaced manual hex edits with the Factions plugin for making several factions appear in the faction list
- Added a trail-less version of the CSV engine (unused)
- Reverted the solid gauge bars (still made the gaps a bit smaller than the original)
- Added the latest version of HUD Shift which centers all windows correctly
- Replaced Freelancer.exe's application icon with a Freelancer: HD Edition icon
- Replaced d3d8to9 with DxWrapper
- Changed dgVoodoo2 version to 2.54
- Added an FLDOCS folder with useful Readmes and documentation
- Include documentation regarding manual hex/binary edits for Freelancer: HD Edition
- Compressed R8G8B8 textures to DXT1 and DXT5 (saves space)
- Dropped support for installations via Freelancer Mod Manager
## [[v0.4.1] - 2021-08-25](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.4.1)
### Visual
- Added alternative effects
### Fixes
- Fixed size of 16:9 Freelancer logos
### Misc
- Updated zlib.dll for better performance in Multiplayer
- Added support for installations via [a dedicated installer](https://github.com/oliverpechey/Freelancer-hd-edition-install-script)
## [[v0.4] - 2021-08-21](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.4)
### Visual
- Added HD Liberty news logo
- Added HD Nav map objects
- Added HD explosives and missile effects
- Added HD Ships
- Added HD Effects
- Added HD Bases
- Added HD Planets
- Added HD Cockpits
- Added HD Nebulae
- Added HD Asteroids
### Fixes
- Improved HUD fixes for 1440p/4K screens
- Fixed contact list view icon
- Fixed trade request button in MP
- Fixed banding in Tau-37 starsphere
- Added MP3 Codec Fix
### Misc
- Added support for running multiple instances of Freelancer on the same machine
- Added more sound and general options
## [[v0.3] - 2021-08-15](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.3)
### Visual
- Added HD Character Models
- Updated jump effect
- Improved reflections
- Improved system map
- Improved universe button on nav map
- Fixed starsphere & news images banding
### Features
- Added console plugin
- Added Advanced Widescreen HUD
### Fixes
- Added missing text fix for 4K users
- Realigned HUD so everything is properly centered
### Misc
- Updated HUD Shift
- Improved Freelancer Mod Manager install script
- Updated dgVoodoo
## [[v0.2] - 2021-08-07](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.2)
### Visual
- Added Flat Interface
- Added HD Universe map
- Added HD Starspheres
- Added HD Mission & News images
- Added HD Startup screen & main menu logo
- Added HD system map
- Added improved reflections
### Audio
- Added HQ Music
### Features
- Added dgVoodoo2 as optional Windows 10 compatibility patch
### Fixes
- Added bar script fixes
- Added 16:9 planetscape fixes
- Reverted trade lane map visibility change
- Moved the neural net bar 1 pixel up so the pixel line disappears
### Misc
- Added Freelancer manual
## [[v0.1] - 2021-07-28](https://github.com/BC46/freelancer-hd-edition/releases/tag/0.1)
### Visual
- Maximized draw distances for space structures, asteroids and effects
- Increased effect pool sizes
### Features
- Added support for scrolling through menus
- Added support for zooming in turret view
- Allow players to be called differently in Single Player
- Show the remaining shield and hull points of the selected target as numbers
- Enabled NPC paths in multiplayer
- Made all planets spin slowly
- Show the names of zones as you enter and leave them
- Added all content from Jason's Freelancer Patch v1.25
- No-CD Patch
- 1.1 Patch
### Fixes
- Removed unknown graphics card warning
- Disabled IPv6 addresses in the Multiplayer Server list
- Fixed friendly jumphole in mission 6
- Fixed many typos, grammar mistakes, inconsistencies, and more, in the game's text strings
- Fixed several incorrect/missing names and infocards in EW05, EW06, ST01, ST03 and ST03b (unknown and story systems)
- Improved infocards for unknown factions
- Improved Nomad group member names
- Prevent intentional frame drops from occurring
### Misc
- Include player ships in ship filter
- Make the first and last trade lane ring in a sequence visible on the nav map after encountering them
- Set maximum level in Single Player to 40
- Direct3D 9 wrapper
- Make energy, shield, and hull bars solid
- No longer hide The Order and the Nomads from the factions list
- Removed cruise speed display limit
- Removed general speed display limit
- Show "Far" in contact list only at distances of 999.999K or higher
- Removed ESRB notice

BIN
DLLS/BIN/callsign.dll Normal file

Binary file not shown.

View File

@@ -0,0 +1,59 @@
Call Sign
by Jason Hood
Version 1.00
Tired of being called "Freelancer Alpha one dash one"? Use this plugin to
customise your call sign. Copy CALLSIGN.DLL to DLLS\BIN and add it to the end
of the [Initial ?P DLLs] sections in EXE\freelancer.ini. Then just append how
you want to be called:
DLL = callsign.dll, faction [formation [number][-][number]]
If faction is not recognised as a name (see below), it will be treated as a
nickname. Formation may be name or number. The numbers can be between 0 and
20, inclusive. Removing the dash will remove it for everybody. Leaving a part
out will result in numerous "invalid MSG id" warnings in FLSpew.txt.
FACTIONS
player Freelancer co_vr Ageira fc_fa Alliance
co_alg ALG fc_b Bundschuh
br_p Bretonia Police br_m BMM fc_c Corsairs
ku_p Kusari Police co_be Bowex fc_bd Dragons
li_p Liberty Police co_hsp Cryer fc_g Gaians
li_lsf LSF co_khc Daumann fc_gc GC
rh_p Rheinland Police co_me DSE fc_lh Hacker
co_nws Gateway fc_rh Hessians
br_n Armed Forces co_ic Interspace fc_h Hogosha
rh_n Military co_kt Kishiro fc_j Junkers
ku_n Naval Forces rh_m Kruger fc_lwb LWB
li_n Navy co_ti Planetform fc_m Mollys
co_rs Republican fc_or Order
gd_bh Bounty Hunters co_shi Samura fc_ou Outcasts
gd_gm GMG co_os Spa and Cruise fc_lr Rogues
gd_im IMG co_ni Synth Foods fc_u Unioners
gd_z Zoners co_ss Universal fc_x Xenos
FORMATIONS
01 Alpha 14 Red 22 Matsu
02 Beta 15 Blue 23 Sakura
03 Gamma 16 Gold 24 Fuji
04 Delta 17 Green 25 Botan
05 Epsilon 18 Silver 26 Hagi
06 Zeta 19 Black 27 Susuki
07 Theta 20 White 28 Kiku
08 Iota 21 Yellow 29 Yanagi
09 Kappa
10 Lambda
11 Omicron
12 Sigma
13 Omega
Jason Hood, 3 February, 2010.
http://freelancer.adoxa.cjb.net/

BIN
DLLS/BIN/content.dll Normal file

Binary file not shown.

5055
EULA.RTF Normal file

File diff suppressed because it is too large Load Diff

BIN
EXE/00000000.016 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
EXE/00000000.256 Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

BIN
EXE/1033/dwintl.dll Normal file

Binary file not shown.

BIN
EXE/CheatMessage.txt Normal file

Binary file not shown.

BIN
EXE/D3D8.dll Normal file

Binary file not shown.

BIN
EXE/DALib.dll Normal file

Binary file not shown.

BIN
EXE/DelayDisplay.dll Normal file

Binary file not shown.

BIN
EXE/Freelancer.exe Normal file

Binary file not shown.

BIN
EXE/HUDless.dll Normal file

Binary file not shown.

BIN
EXE/HudFacility.dll Normal file

Binary file not shown.

BIN
EXE/HudShift.dll Normal file

Binary file not shown.

BIN
EXE/HudStatus.dll Normal file

Binary file not shown.

BIN
EXE/HudTarget.dll Normal file

Binary file not shown.

BIN
EXE/HudWeaponGroups.dll Normal file

Binary file not shown.

BIN
EXE/MP3codec.dll Normal file

Binary file not shown.

BIN
EXE/MPRep.dll Normal file

Binary file not shown.

BIN
EXE/MinHook.x86.dll Normal file

Binary file not shown.

BIN
EXE/MultiIntro.dll Normal file

Binary file not shown.

BIN
EXE/REM-Client.dll Normal file

Binary file not shown.

77
EXE/ReShade.ini Normal file
View 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
View 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
View 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

Binary file not shown.

14
EXE/Territory_readme.txt Normal file
View 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

Binary file not shown.

70
EXE/TurretZoom_readme.txt Normal file
View 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

Binary file not shown.

BIN
EXE/Zone.dll Normal file

Binary file not shown.

BIN
EXE/alchemy.dll Normal file

Binary file not shown.

BIN
EXE/backgroundpattern.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
EXE/common.dll Normal file

Binary file not shown.

BIN
EXE/dacom.dll Normal file

Binary file not shown.

177
EXE/dacom.ini Normal file
View 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
View 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

Binary file not shown.

BIN
EXE/deformable2.dll Normal file

Binary file not shown.

349
EXE/dgVoodoo.conf Normal file
View 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

Binary file not shown.

2
EXE/dgVoodooReadme.url Normal file
View File

@@ -0,0 +1,2 @@
[InternetShortcut]
URL=http://dege.fw.hu/dgVoodoo2/ReadmeGeneral/

View File

@@ -0,0 +1,2 @@
[InternetShortcut]
URL=http://dege.fw.hu/dgVoodoo2/ReadmeDirectX/

BIN
EXE/dinput8.dll Normal file

Binary file not shown.

BIN
EXE/dw15.exe Normal file

Binary file not shown.

BIN
EXE/dxgi.dll Normal file

Binary file not shown.

BIN
EXE/ebueula.dll Normal file

Binary file not shown.

BIN
EXE/engbase.dll Normal file

Binary file not shown.

BIN
EXE/equipresources.dll Normal file

Binary file not shown.

1123
EXE/flconfigdatabase.txt Normal file

File diff suppressed because it is too large Load Diff

77
EXE/fldirectip.hta Normal file
View 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

Binary file not shown.

BIN
EXE/flplusplus.dll Normal file

Binary file not shown.

19
EXE/flplusplus.ini Normal file
View 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

View 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

Binary file not shown.

236
EXE/freelancer.ini Normal file
View 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

Binary file not shown.

BIN
EXE/imeui.dll Normal file

Binary file not shown.

BIN
EXE/infocards.dll Normal file

Binary file not shown.

BIN
EXE/jflp.dll Normal file

Binary file not shown.

BIN
EXE/luaprofile.dll Normal file

Binary file not shown.

BIN
EXE/misctext.dll Normal file

Binary file not shown.

BIN
EXE/misctextinfo2.dll Normal file

Binary file not shown.

BIN
EXE/movie.dll Normal file

Binary file not shown.

99
EXE/mpnewcharacter.fl Normal file
View 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
View 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

Binary file not shown.

232
EXE/newplayer.fl Normal file
View 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

Binary file not shown.

BIN
EXE/offerbriberesources.dll Normal file

Binary file not shown.

BIN
EXE/ranks.dll Normal file

Binary file not shown.

BIN
EXE/readfile.dll Normal file

Binary file not shown.

BIN
EXE/remoteclient.dll Normal file

Binary file not shown.

BIN
EXE/remoteserver.dll Normal file

Binary file not shown.

BIN
EXE/rendcomp.dll Normal file

Binary file not shown.

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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
}

View 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);
}

View 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

View 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;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 KiB

BIN
EXE/resources.dll Normal file

Binary file not shown.

BIN
EXE/rp8.dll Normal file

Binary file not shown.

BIN
EXE/rpclocal.dll Normal file

Binary file not shown.

BIN
EXE/server.dll Normal file

Binary file not shown.

BIN
EXE/serverresources.dll Normal file

Binary file not shown.

BIN
EXE/shading.dll Normal file

Binary file not shown.

BIN
EXE/soundmanager.dll Normal file

Binary file not shown.

BIN
EXE/soundstreamer.dll Normal file

Binary file not shown.

BIN
EXE/storyfactions.dll Normal file

Binary file not shown.

View 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

Binary file not shown.

View 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

Binary file not shown.

BIN
EXE/unicows.dll Normal file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More