New REM client: the native client in EXE (REM-Client 47231ba)

freelancer.exe and the engine DLLs of the native REM client with RemGfx,
rem.ini / remgfx.ini, DACOM.INI with the REM effect pools; content.dll in
DLLS/BIN. The REM text and resource DLLs and the new-character files stay
the mod's. Removed: REM-Client.dll, FLAR, ReShade, dinput8 and the remaining
HUD / gameplay plugins (native now), ServerFramework.dll and CheatMessage.txt
(server). Material data: FLARDATA (RemGfx reads it). Updated with
REM-Client tools/rem/update_mod.py.
This commit is contained in:
2026-10-21 19:54:57 +02:00
committed by D4rkl1ght3r
parent a56a6fb59c
commit 4c95d9f28f
64 changed files with 255 additions and 933 deletions
Binary file not shown.
-138
View File
@@ -1,138 +0,0 @@
# Configuration
`rem-essentials` uses one active runtime configuration and, when the REM
Launcher is used, one persistent user override file.
## Configuration files
### Active game configuration
The DLL reads only this file at game startup:
```text
Freelancer/EXE/rem-essentials.ini
```
The file is shipped with the mod and contains the complete setting schema,
descriptions, metadata, and release defaults. A manual installation only needs
this INI and `rem-essentials.dll` in the `EXE` directory.
If the active INI is missing, the DLL uses its compiled defaults. The compiled
defaults intentionally match the shipped INI, but distributing the INI is
recommended because it exposes every feature and typed parameter.
### Launcher user overrides
The REM Launcher stores player choices separately:
```text
My Games/REM/rem-essentials.user.ini
```
On Wine or Proton, `My Games` is inside the Windows user profile of the active
prefix. Its exact Linux path depends on how the Launcher or game prefix was
created.
The DLL does not read this user file. The Launcher merges matching values from
the user file into `Freelancer/EXE/rem-essentials.ini`:
- after a game/mod update
- after saving settings in the Launcher
- immediately before starting Freelancer
This allows an update to replace the shipped schema while retaining player
choices. New settings from an updated default INI appear automatically. Values
from the user override win when the same section and key exist in both files.
## Value precedence
At runtime, the effective value is determined in this order:
1. The compiled DLL fallback is used when no setting can be read.
2. `Freelancer/EXE/rem-essentials.ini` overrides the compiled fallback.
3. Before launch, the Launcher materializes values from
`rem-essentials.user.ini` into the active INI.
For a manual installation without the Launcher, only the first two levels
apply. Editing the active INI is therefore sufficient.
## Sections and value types
Feature switches live in `[rem-essentials]`. Parameters used by migrated
flplusplus behavior live in `[flplusplus]`.
Boolean values accept:
```text
true / false
1 / 0
yes / no
on / off
```
Integer, float, and string settings are described by the comments immediately
above each key. Metadata such as `type`, `min`, `max`, `default`, `group`, and
`risk` is also used by the Launcher to build the settings UI.
## Save directory behavior
REM keeps the historical installation-local save directory as its default:
```ini
[rem-essentials]
save_path_feature = true
[flplusplus]
save_in_directory = true
save_folder_name = Freelancer
```
With `save_in_directory = true`, the patched path is calculated relative to
`Freelancer.exe`:
```text
Freelancer/EXE/../SAVE
```
For an installation such as:
```text
/home/<user>/Schreibtisch/RemLauncher_AppData/current/Freelancer/EXE/Freelancer.exe
```
the effective save directory is:
```text
/home/<user>/Schreibtisch/RemLauncher_AppData/current/Freelancer/SAVE
```
With `save_in_directory = false`, the plugin instead uses the Windows
Documents folder exposed by Windows, Wine, or Proton and appends:
```text
My Games/<save_folder_name>
```
`save_folder_name` is therefore only relevant when
`save_in_directory = false`. Setting `save_path_feature = false` disables this
hook completely and restores Freelancer's unpatched path behavior.
Changing the setting does not move existing saves. Move existing files to the
selected directory before launching when switching between layouts.
## Manual installation
1. Copy `rem-essentials.dll` and `rem-essentials.ini` into `Freelancer/EXE`.
2. Add `rem-essentials.dll` to the appropriate `[Libraries]` section in
`dacom.ini` and, for FLServer features, `dacomsrv.ini`.
3. Ensure `save_path_feature = true` and `save_in_directory = true` for the REM
installation-local `SAVE` layout.
4. Fully restart Freelancer after changing the INI. Settings are read when the
DLL is loaded.
## Launcher-managed installation
Use the Game Settings page to change supported values. Saving creates or
updates `My Games/REM/rem-essentials.user.ini`. Avoid manually changing the
active INI while a conflicting user override exists, because the Launcher will
materialize the user value again before game startup.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
-6
View File
@@ -1,6 +0,0 @@
Credits:
°°°°°°°°°
Sources used are referenced in each shader file
Special thanks to:
adoxa and FriendlyFire for some hooks which saved me a lot of time
-482
View File
@@ -1,482 +0,0 @@
FLAR.dll - Advanced Renderer for Freelancer by Schmackbolzen
You are free to use the dll in your Freelancer mod under the following conditions:
- This text file has to be deployed unmodified together with the FLAR.dll and FLAR credits.txt
- You have to mention in your credits that the renderer you are using is written by Schmackbolzen
- If you use the supplied shader files you may not modify them unless you state in them what you changed
and also mention the source or who the author is
- Your mod has to be completely free. No commercial use is allowed.
- You are not using any assets which are "stolen" from other mods/asset packs etc. You have to mention every author in your
credits and you need to have permission from every one of them to use it.
Here are all other licences from third party code used by the dll:
------------------------------------------------------------------------------
MyGUI:
------------------------------------------------------------------------------
Unless otherwise indicated, Source Code is licensed under MIT license.
Copyright (c) 2007-2013 MyGUI Developers
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.
------------------------------------------------------------------------------
Glew:
------------------------------------------------------------------------------
The OpenGL Extension Wrangler Library
Copyright (C) 2002-2007, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2007, Marcelo E. Magallon <mmagallo[]debian org>
Copyright (C) 2002, Lev Povalahev
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.
* The name of the author 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 OWNER 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.
Mesa 3-D graphics library
Version: 7.0
Copyright (C) 1999-2007 Brian Paul 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
BRIAN PAUL 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.
Copyright (c) 2007 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are 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 Materials.
THE MATERIALS ARE 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
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
------------------------------------------------------------------------------
DDS Loader by HUMUS
------------------------------------------------------------------------------
/* * * * * * * * * * * * * Author's note * * * * * * * * * * * *\
* _ _ _ _ _ _ _ _ _ _ _ _ *
* |_| |_| |_| |_| |_|_ _|_| |_| |_| _|_|_|_|_| *
* |_|_ _ _|_| |_| |_| |_|_|_|_|_| |_| |_| |_|_ _ _ *
* |_|_|_|_|_| |_| |_| |_| |_| |_| |_| |_| |_|_|_|_ *
* |_| |_| |_|_ _ _|_| |_| |_| |_|_ _ _|_| _ _ _ _|_| *
* |_| |_| |_|_|_| |_| |_| |_|_|_| |_|_|_|_| *
* *
* http://www.humus.name *
* *
* This file is a part of the work done by Humus. You are free to *
* use the code in any way you like, modified, unmodified or copied *
* into your own work. However, I expect you to respect these points: *
* - If you use this file and its contents unmodified, or use a major *
* part of this file, please credit the author and leave this note. *
* - For use in anything commercial, please request my approval. *
* - Share your work and ideas too as much as you can. *
* *
\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
------------------------------------------------------------------------------
FreeType
------------------------------------------------------------------------------
The FreeType Project LICENSE
----------------------------
2006-Jan-27
Copyright 1996-2002, 2006 by
David Turner, Robert Wilhelm, and Werner Lemberg
Introduction
============
The FreeType Project is distributed in several archive packages;
some of them may contain, in addition to the FreeType font engine,
various tools and contributions which rely on, or relate to, the
FreeType Project.
This license applies to all files found in such packages, and
which do not fall under their own explicit license. The license
affects thus the FreeType font engine, the test programs,
documentation and makefiles, at the very least.
This license was inspired by the BSD, Artistic, and IJG
(Independent JPEG Group) licenses, which all encourage inclusion
and use of free software in commercial and freeware products
alike. As a consequence, its main points are that:
o We don't promise that this software works. However, we will be
interested in any kind of bug reports. (`as is' distribution)
o You can use this software for whatever you want, in parts or
full form, without having to pay us. (`royalty-free' usage)
o You may not pretend that you wrote this software. If you use
it, or only parts of it, in a program, you must acknowledge
somewhere in your documentation that you have used the
FreeType code. (`credits')
We specifically permit and encourage the inclusion of this
software, with or without modifications, in commercial products.
We disclaim all warranties covering The FreeType Project and
assume no liability related to The FreeType Project.
Finally, many people asked us for a preferred form for a
credit/disclaimer to use in compliance with this license. We thus
encourage you to use the following text:
"""
Portions of this software are copyright © <year> The FreeType
Project (www.freetype.org). All rights reserved.
"""
Please replace <year> with the value from the FreeType version you
actually use.
Legal Terms
===========
0. Definitions
--------------
Throughout this license, the terms `package', `FreeType Project',
and `FreeType archive' refer to the set of files originally
distributed by the authors (David Turner, Robert Wilhelm, and
Werner Lemberg) as the `FreeType Project', be they named as alpha,
beta or final release.
`You' refers to the licensee, or person using the project, where
`using' is a generic term including compiling the project's source
code as well as linking it to form a `program' or `executable'.
This program is referred to as `a program using the FreeType
engine'.
This license applies to all files distributed in the original
FreeType Project, including all source code, binaries and
documentation, unless otherwise stated in the file in its
original, unmodified form as distributed in the original archive.
If you are unsure whether or not a particular file is covered by
this license, you must contact us to verify this.
The FreeType Project is copyright (C) 1996-2000 by David Turner,
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
specified below.
1. No Warranty
--------------
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
USE, OF THE FREETYPE PROJECT.
2. Redistribution
-----------------
This license grants a worldwide, royalty-free, perpetual and
irrevocable right and license to use, execute, perform, compile,
display, copy, create derivative works of, distribute and
sublicense the FreeType Project (in both source and object code
forms) and derivative works thereof for any purpose; and to
authorize others to exercise some or all of the rights granted
herein, subject to the following conditions:
o Redistribution of source code must retain this license file
(`FTL.TXT') unaltered; any additions, deletions or changes to
the original files must be clearly indicated in accompanying
documentation. The copyright notices of the unaltered,
original files must be preserved in all copies of source
files.
o Redistribution in binary form must provide a disclaimer that
states that the software is based in part of the work of the
FreeType Team, in the distribution documentation. We also
encourage you to put an URL to the FreeType web page in your
documentation, though this isn't mandatory.
These conditions apply to any software derived from or based on
the FreeType Project, not just the unmodified files. If you use
our work, you must acknowledge us. However, no fee need be paid
to us.
3. Advertising
--------------
Neither the FreeType authors and contributors nor you shall use
the name of the other for commercial, advertising, or promotional
purposes without specific prior written permission.
We suggest, but do not require, that you use one or more of the
following phrases to refer to this software in your documentation
or advertising materials: `FreeType Project', `FreeType Engine',
`FreeType library', or `FreeType Distribution'.
As you have not signed this license, you are not required to
accept it. However, as the FreeType Project is copyrighted
material, only this license, or another one contracted with the
authors, grants you the right to use, distribute, and modify it.
Therefore, by using, distributing, or modifying the FreeType
Project, you indicate that you understand and accept all the terms
of this license.
4. Contacts
-----------
There are two mailing lists related to FreeType:
o freetype@nongnu.org
Discusses general use and applications of FreeType, as well as
future and wanted additions to the library and distribution.
If you are looking for support, start in this list if you
haven't found anything to help you in the documentation.
o freetype-devel@nongnu.org
Discusses bugs, as well as engine internals, design issues,
specific licenses, porting, etc.
Our home page can be found at
https://www.freetype.org
--- end of FTL.TXT ---
------------------------------------------------------------------------------
SimpleConfigFile
------------------------------------------------------------------------------
MIT License
Copyright (c) 2019 Fernando Barber Miralles
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.
------------------------------------------------------------------------------
RapidJSON
------------------------------------------------------------------------------
Tencent is pleased to support the open source community by making RapidJSON available.
Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
Licensed under the MIT License (the "License"); you may not use this file except
in compliance with the License. You may obtain a copy of the License at
http://opensource.org/licenses/MIT
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
------------------------------------------------------------------------------
OpenGL Mathematics (GLM)
------------------------------------------------------------------------------
Copyright (c) 2005 - G-Truc Creation
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.
------------------------------------------------------------------------------
xxHash - Extremely Fast Hash algorithm
------------------------------------------------------------------------------
Copyright (C) 2012-2016, Yann Collet.
BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
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.
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
OWNER 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.
You can contact the author at :
- xxHash source repository : https://github.com/Cyan4973/xxHash
------------------------------------------------------------------------------
LZ4 - Fast LZ compression algorithm
------------------------------------------------------------------------------
Copyright (C) 2011-2020, Yann Collet.
BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
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.
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
OWNER 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.
You can contact the author at :
- LZ4 homepage : http://www.lz4.org
- LZ4 source repository : https://github.com/lz4/lz4
------------------------------------------------------------------------------
Uses (optimized) parts of
"Demo code implementing Clustered Forward Shading, accompanying the talk
'Tiled and Clustered Forward Shading' presented at Siggraph 2012."
------------------------------------------------------------------------------
/****************************************************************************/
/* Copyright (c) 2011, Ola Olsson
*
* 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
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
-83
View File
@@ -1,83 +0,0 @@
[APP]
Force10BitFormat=0
ForceFullscreen=0
ForceResolution=0,0
ForceVsync=0
ForceWindowed=0
[GENERAL]
EffectSearchPaths=.\reshade-shaders\Shaders,.\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,.\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]
AutoSavePreset=1
ClockFormat=0
FPSPosition=1
NoFontScaling=0
SaveWindowState=0
ShowClock=0
ShowForceLoadEffectsButton=1
ShowFPS=0
ShowFrameTime=0
ShowScreenshotMessage=1
TutorialProgress=2
VariableListHeight=300.000000
VariableListUseTabs=0
[PROXY]
EnableProxyLibrary=0
ProxyLibrary=
[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
-53
View File
@@ -1,53 +0,0 @@
Techniques=
TechniqueSorting=ContrastAdaptiveSharpen@CAS.fx,Deband@Deband.fx,Tonemap@Tonemap.fx,Colourfulness@Colourfulness.fx,HDR@FakeHDR.fx,MagicBloom@MagicBloom.fx
[CAS.fx]
Contrast=0.500000
Sharpening=0.750000
[Colourfulness.fx]
backbuffer_bits=8.000000
colourfulness=0.200000
col_noise=1
enable_dither=0
lim_luma=0.700000
[Deband.fx]
banding_depth=1.000000
custom_avgdiff=1.800000
custom_maxdiff=4.000000
custom_middiff=2.000000
debug_output=0
enable_depthbuffer=0
enable_sdeviation=1
enable_weber=1
iterations=1
range=8.000000
t1=0.008000
t2=0.050000
threshold_preset=1
[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.970000
Saturation=0.000000
-9
View File
@@ -1,9 +0,0 @@
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.
Binary file not shown.
+5 -1
View File
@@ -1,4 +1,8 @@
# Third Party Notices
# Third Party Notices (REM additions)
The native rem-essentials fixes in this repository (marked `// REM: <switch>` in the source, see
docs/rem/essentials.md) rewrite the behaviour of patches from the projects below as C++ in the
rebuilt modules. Their licenses:
This project contains code derived from:
BIN
View File
Binary file not shown.
-14
View File
@@ -1,14 +0,0 @@
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/
Binary file not shown.
-70
View File
@@ -1,70 +0,0 @@
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/
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+42 -59
View File
@@ -1,32 +1,44 @@
@include FL_Dev.ini
; DACOM.INI of the port's freelancer.exe: the retail DACOM chain without the JFLP mods,
; every library built from src/ (no retail DLL is loaded).
[DACOM]
IgnoreDACOMEnv = true
DllPath = .\
[Libraries]
;;;dosfile.dll
ReadFile.dll ;optimized read-only version of dosfile.dll
; ReadFile.dll first — UTF/DOS FileSystem factories. Every name is looked up through DllPath
; (SearchPathA from the current directory: run freelancer.exe from its own directory).
ReadFile.dll
; x86math.dll — 3DMathEngine.
x86math.dll
EngBase.dll
system.dll
RP8.dll
; RP9: Direct3D 9 mirror of RP8 (docs/re/rp9.md), built only with FreelancerRp9=1
; (src/Freelancer.Diagnostics.props). Both may register; [System] picks which one runs.
;RP9.dll
SoundStreamer.dll
SoundManager.dll
Deformable2.dll
; Thorn.dll — Lua 3.2 / IScriptEngine.
Thorn.dll
Shading.dll
RendComp.dll
alchemy.dll
; ximage / flmaterials.
ximage.dll
flmaterials.dll
;;EMAURER now include any DLLs used only in development.
@include FL_DevOnlyLibs.ini
; jflp.dll — skip: patches hardcoded VA in Common/Thorn/RendComp (crashes with our exe)
; HudShift.dll — skip: UI mod only
[System]
VMeshLibrary
DirectX8 ; implements IID_IRenderPipeline, IID_IVertexBuffer under dx8
DirectX8
; Direct3D 9 render pipeline (RP9.dll, FreelancerRp9=1 build): uncomment RP9.dll in [Libraries],
; comment out DirectX8 above and uncomment the next line.
; Рендер через Direct3D 9 (сборка с FreelancerRp9=1): раскомментировать RP9.dll в [Libraries],
; закомментировать DirectX8 выше и раскомментировать строку ниже.
;DirectX9
SoundManager
SoundStreamer
TextureLibrary
@@ -45,93 +57,65 @@ VMeshWire
[RenderManager]
VMesh
TriMesh ; keep trimesh above sphere mesh --
SphereMesh ; subsystems attempt to create objects in order listed
TriMesh
SphereMesh
[TriMesh]
tristrips = 0
[RenderPipeline]
MGSDB= FLConfigDatabase.txt
; REM: device provider. vulkan = RemGfx, the REM renderer (src/RemGfx, docs/rem/renderer.md);
; d3d8 = the system Direct3D 8 (retail). REM_GFX_BACKEND in the environment overrides this.
; RemGfx settings: remgfx.ini [RemGfx] next to the exe (see src/RemGfx/rg_common.h).
Backend = vulkan
;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
ALPHAREF = 0
ALPHATESTENABLE = true
ALPHAFUNC = 5
LOCALVIEWER = false
zfunc = 4
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.
USE_SYSLOCK= false
HANDLE_SWAPLOSS= false
[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
use2DHW = true
use3DHW = true
maxSoundChannels = 24 ; was 30. changed for Beta -psw
;pci - force HW mixing until Library default is changed
maxSoundChannels = 24
FORCE_FREQ_CONTROL_TO_SW = false
max3DPan = 15
[Alchemy]
Alchemy.useMaterialBatcher = false
; REM: effect pools as the REM mod (many effects at once in fights)
FxBasicAppearance.poolSize = 50000
FxRectAppearance.poolSize = 20000
FxPerpAppearance.poolSize = 12500
FxOrientedAppearance.poolSize = 0
FLBeamAppearance.poolSize = 30000
FLDustAppearance.poolSize = 12500
FxMeshAppearance.poolSize = 20000
FxMeshAppearance.poolSize = 20000
FxParticleAppearance.poolSize = 5000
[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
[MaterialMap]
DcDtEtTwo = DcDtEt
EcEtOcOt= DcDtOcOt
DcDtEcEt= DcDtEt
name = ^alpha_mask.* = DcDt
name = ^alpha_mask.*2side = DcDtTwo
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
@@ -143,5 +127,4 @@ Name = ^bw_glass$ = HighGlassMaterial
Name = ^o_glass$ = HighGlassMaterial
Name = ^anim_hud.*$ = HUDAnimMaterial
name = ^sea_anim.*$ = PlanetWaterMaterial
Name = ^null$ = NullMaterial
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
-17
View File
@@ -1,17 +0,0 @@
enabled=1
mode=2
hdr=-1
depth_inverted=-1
flags=-1
reset_every=1
log_frames=3
host_window=0
work_resolution=100
work_upscale=0
work_sharpness=0.30
async_home=1
mv_scale_x=1.000
mv_scale_y=1.000
cast_key=0
cast_scale=100
cast_mode=0
BIN
View File
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -53,7 +53,7 @@ DLL = Content.dll, AISandbox, BELOW_NORMAL
DLL = Content.dll, TestAutomation, BELOW_NORMAL
DLL = Content.dll, BasePop, LOWEST
DLL = callsign.dll, player 1 1-1
;DLL = callsign.dll, player 1 1-1 ; REM: plugin not in the rebuild yet
[Resources]
DLL = InfoCards.dll ; Contains all infocard text resources
BIN
View File
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+71
View File
@@ -0,0 +1,71 @@
; REM-Client: comfort, display and diagnostic options. Also in the game: Options -> REM.
; Environment variable REM_<key> overrides a value (testing). Details: docs/rem/essentials.md
;
; Bug fixes and everything that changes gameplay are FIXED in the code and cannot be switched
; here (a client switch would allow cheating in multiplayer). For the record, always on:
; quit/exit hangs, alchemy/save/server-filter/missing-DLL/dealer crashes, server filter speed,
; dealer double click, jump/waypoint fixes and names, multi-barrel sound and ammo, weapon
; animations, muzzle flash on all barrels, trade lane lights, rotation lock / auto level,
; menu slide animation, blank faction, base info spacing, long pilot names, group members not
; hostile, smoother multiplayer updates, ship re-buy kick, fresh Restart.fl, graphics base fixes
; (texture cap, no low-machine dialog, no Vibrocentric), REM fonts, cursor hidden outside the
; window, no start-location / Wine MP3 / online-play notices, no clipped text; content.dll:
; player toughness up to 100,
; random mission NPCs use every weapon against fighters.
; Always off: formation with hostile group members. Detail distances fixed at 1.0.
[REM]
; ---- Display ----
better_resolutions = false ; default mode = main monitor size
png_screenshots = false ; screenshots as PNG (WIC) instead of BMP
run_in_background = true ; keep running and drawing without focus (Alt+Tab)
alt_enter_toggle = true ; Alt+Enter: borderless fullscreen <-> window filling the desktop
; ---- Cursor and mouse ----
cursor_color_custom = false ; draw every cursor in the colour below
cursor_color_r = 255
cursor_color_g = 255
cursor_color_b = 255
more_cursor_colors = false ; target cursor in group / trade-request colour
lead_marker_color_custom = false ; the lead cross (aim point) in the colour below (ClientHook "crosshair colour")
lead_marker_color_r = 191
lead_marker_color_g = 29
lead_marker_color_b = 29
confine_cursor = false ; keep the cursor inside the window
mouse_warp_fix = false ; no jump to the window centre on acquire (window)
cursor_border_flicker_fix = false ; take the real cursor at the window edge (borderless window)
touchpad_support = false ; touchpad wheel as relative (may disturb a normal wheel)
wheel_scroll = true ; the mouse wheel scrolls the list / text under the cursor (adoxa Wheel Scroll)
; ---- Effects ----
particle_linger_seconds = 20 ; particles of a stopped emitter fade over this time (retail 1)
; ---- Interface ----
numeric_damage = true ; target hull (with armour) and shield as numbers beside the bars (adoxa Numeric Damage)
rem_bar = true ; REM bar top left (NeuroNet bar twin with the REM windows) *
rem_protocol_log = true ; every REM server message in LOGS\rem_protocol.log *
rem_servers = srv.rem-freelancer.moe:2302 ; servers always in the multiplayer list (host:port, comma separated) *
copy_paste_feature = false ; Ctrl+C / Ctrl+V in text boxes
print_rep_requirements = false ; exact reputation requirement at dealers (needs %d in the text)
dynamic_solar_infocards = false ; infocards of mission-created objects
more_test_sounds = true ; better audio test sounds in the options
group_member_attitude = true ; info window shows GROUP MEMBER
ship_preview_scroll = false ; (deferred, not built yet) mouse-wheel zoom in the ship dealer preview
; ---- Fonts ----
font_file_loading = false ; private fonts from DATA/FONTS/fonts.ini [FontFiles] path = ...
font_substitute_scale = 0.67 ; a missing narrow face (below) gets fixed_height x this
font_substitute_faces = Agency FB ; comma list of narrow faces the scale applies to
; ---- Logs, saves, screenshots ----
logs_next_to_game = true ; FLSpew.txt, remgfx.log and crash reports in LOGS next to EXE
timestamped_logs = true ; FLSpew.txt lines with [date time]
log_to_console = false ; echo the log into a console window
save_path_feature = true ; save folder below:
save_in_directory = true ; true: <exe>\..\SAVE (REM layout), false: My Games\<save_folder_name>
save_folder_name = Freelancer
failed_save_dir_ids_override = true
failed_to_init_saves_dir_ids = 1849
screenshot_path_feature = true
screenshots_folder_name = FreelancerShots
screenshots_in_directory = false ; true: <exe>\..\<screenshots_folder_name>
+136
View File
@@ -0,0 +1,136 @@
; REM: settings of RemGfx, the REM renderer (Direct3D 8 device on Vulkan, src/RemGfx).
; Every key can also be given as an environment variable REM_GFX_<Key> (that one wins).
; The log goes to remgfx.log next to freelancer.exe.
[RemGfx]
; 0 errors, 1 warnings, 2 info (default), 3 debug (every new pipeline is logged)
LogLevel = 2
; 1: enable VK_LAYER_KHRONOS_validation when it is installed (development)
Validation = 0
; -1: first discrete GPU, else the first Vulkan 1.3 device; >= 0: that device index
GpuIndex = -1
; -1: as the game asks (windowed COPY_VSYNC / full-screen interval), 0: off, 1: on
VSync = -1
; full-screen (non-windowed) modes: 1 = borderless window over the monitor, the back buffer is
; scaled to it (no exclusive mode switch); 0 = leave the window alone
Fullscreen = 1
; anti-aliasing: 0/1 off, 2, 4 or 8 = MSAA samples (the back buffer is resolved before present)
Msaa = 0
; texture filtering: 0 = as the game sets it, 2..16 = force anisotropic filtering
Anisotropy = 0
; R8 temporal anti-aliasing of the 3D scene (needs Hdr = 1): smooth edges and no shimmering highlights,
; also inside surfaces. TaaSharpness sharpens the result again (0 = off, 1 = strong).
Taa = 1
; R11 resolution of the 3D scene relative to the screen: above 1 supersampling (sharper, slower),
; below 1 fewer pixels (faster); TAA and the tonemap pass bring it to the screen. 0.5 .. 2.
RenderScale = 1.0
TaaSharpness = 0.25
; REM material maps: normal, roughness, metal and height maps from the material data folder,
; matched by texture name, lit per pixel. MaterialData (below) = that folder; NormalFlipY = 1
; inverts the green channel if bumps look lit from the wrong side.
MaterialMaps = 1
NormalFlipY = 0
; strength of the normal maps (0 = flat, 1 = as authored)
NormalStrength = 0.6
; depth of the height-map parallax (0 = off, 0.25 = default, 2 = strong)
ParallaxStrength = 0.25
; relief of planets, worked out from the brightness of their own texture (0 = flat as the original)
PlanetRelief = 1.0
; R3b REM lighting: 1 = physically based per-pixel light (GGX) on ships, stations, planets and
; base scenes; 0 = the Direct3D 8 lighting of the original. Roughness / metalness per texture from
; materials.json in the material data folder (its DefaultMaterial for the rest), else PbrRoughness /
; PbrMetalness; skinned characters are matt (0.8 / 0). Light in linear space x2. LightScale
; scales sun and lamps.
Lighting = 1
PbrRoughness = 0.4
PbrMetalness = 0.9
LightScale = 1.0
; R6 HDR: the 3D scene in a 16-bit float target, so lights, glows and effects can be brighter
; than white; Bloom adds the glow around everything above BloomThreshold (BloomStrength 0..1).
; Tonemap 0 = REM (the original look, highlights roll off softly), 1 = ACES filmic. Exposure scales
; the scene before the tonemap.
Hdr = 1
Bloom = 1
BloomStrength = 0.2
BloomThreshold = 1.0
Tonemap = 0
Exposure = 1.0
; R13 auto exposure: bright scenes (the sun, glowing nebulae) are exposed down between ExposureMin
; and ExposureMax (1 = never brighter than the original), aiming at an average brightness of
; ExposureKey, adapting at ExposureSpeed (1 / seconds).
AutoExposure = 1
ExposureMin = 0.35
ExposureMax = 1.0
ExposureKey = 0.10
ExposureSpeed = 1.5
; R13 grade: AmbientScale darkens the unlit sides (1 = original), Contrast deepens dark tones
; (1 = off) -- together a darker, more atmospheric space.
AmbientScale = 0.6
Contrast = 1.15
; R5 image based lighting: the environment cube (Textures\NebulaCubeMap.dds in the material data
; folder) gives metal its
; reflections and replaces the flat scene ambient; tinted with the system's ambient light (fog colour
; inside fog). ReflectionStrength scales it. Ao: screen-space ambient occlusion (creases, contact
; shadows) with a world radius AoRadius (metres) and strength AoIntensity.
Reflections = 1
ReflectionStrength = 1.0
Ao = 1
AoRadius = 6.0
AoIntensity = 1.0
; "REM RENDER" overlay top left: frame rate, draws, triangles, vertices, lights, effects
Overlay = 1
; R4 sun shadows in space and space cutscenes (cascaded shadow maps): ShadowMapSize is the atlas
; of the four cascades (2048 / 4096 / 8192), ShadowDistance how far from the camera (metres).
Shadows = 1
ShadowMapSize = 4096
ShadowDistance = 3000
; objects up to this many metres outside the picture are still drawn, so their shadows do not
; pop in and out when the camera turns (0 = the original culling)
ShadowCullMargin = 400
; R7 dynamic lights: the blinking lights of stations and ships light their surroundings (the
; nearest 64 to the camera). DynamicLightRange scales their radius, DynamicLightIntensity their
; brightness.
DynamicLights = 1
; R17 weapon lights: laser beams light their surroundings along their length, muzzle flashes,
; projectiles, impacts and explosions as points in the colour of their particles (needs
; DynamicLights = 1). WeaponGlow draws weapon effects brighter for the bloom (1 = original).
WeaponLights = 1
WeaponLightIntensity = 1.0
WeaponLightRange = 1.0
WeaponGlow = 1.6
; R16 distortion: heat haze behind engines and around explosions, refraction at shield hits and
; cloaks, a swirl in the jump tunnel; Distortion switches all of it, the others scale each kind
; (0 = off). Needs Taa = 1 (it shares the scene's extra targets with the motion vectors).
Distortion = 1
HeatHaze = 1.0
ShieldRefraction = 1.0
CloakRefraction = 1.0
TunnelDistortion = 1.0
; R15 planet atmospheres: light scattering (blue rim on the day side, red at the terminator, glow
; against the sun); AtmosphereReplace = 1 hides the planets' original atmosphere layer
Atmosphere = 1
AtmosphereStrength = 1.0
AtmosphereReplace = 1
; R14 soft particles: explosions, smoke and glows fade out where they meet ships and stations
; (over SoftParticleRange metres in front of them) instead of cutting hard edges
SoftParticles = 1
SoftParticleRange = 6.0
; R10 sun light shafts: the sun's glow streaks past stations, ships and asteroids (screen space)
SunShafts = 1
SunShaftStrength = 0.6
DynamicLightRange = 1.0
DynamicLightIntensity = 1.0
; material data folder (normal / material maps, materials.json, environment cube); empty = MATERIALS
; next to the EXE folder, else its former name FLARDATA
MaterialData =
; depth-bias units per D3D ZBIAS step (decals, glows)
ZBiasScale = 1.0
; 1: apply the Direct3D 8 half-pixel rasterisation offset (sharp UI); 0: off
HalfPixel = 1
; automated runs: write the back buffer to remgfx_capture_NNNNN.bmp every N frames (0 = off),
; at most CaptureMax files, and exit after ExitAfterFrames presented frames (0 = never)
CaptureEvery = 0
CaptureMax = 20
ExitAfterFrames = 0
; diagnosis: write every draw of frame N (state, material, lights, textures) to remgfx.log
DumpFrame = 0
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.