diff --git a/DLLS/BIN/content.dll b/DLLS/BIN/content.dll index 665ef76d..bb468881 100644 Binary files a/DLLS/BIN/content.dll and b/DLLS/BIN/content.dll differ diff --git a/EXE/Autoconnect.dll b/EXE/Autoconnect.dll deleted file mode 100644 index 518c27fd..00000000 Binary files a/EXE/Autoconnect.dll and /dev/null differ diff --git a/EXE/CONFIGURATION.md b/EXE/CONFIGURATION.md deleted file mode 100644 index 9f985e7a..00000000 --- a/EXE/CONFIGURATION.md +++ /dev/null @@ -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//Schreibtisch/RemLauncher_AppData/current/Freelancer/EXE/Freelancer.exe -``` - -the effective save directory is: - -```text -/home//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` 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. diff --git a/EXE/CheatMessage.txt b/EXE/CheatMessage.txt deleted file mode 100644 index 2d72790e..00000000 Binary files a/EXE/CheatMessage.txt and /dev/null differ diff --git a/EXE/DALib.dll b/EXE/DALib.dll index 89c53691..a34fdb41 100644 Binary files a/EXE/DALib.dll and b/EXE/DALib.dll differ diff --git a/EXE/DelayDisplay.dll b/EXE/DelayDisplay.dll deleted file mode 100644 index 97eca1af..00000000 Binary files a/EXE/DelayDisplay.dll and /dev/null differ diff --git a/EXE/FLAR credits.txt b/EXE/FLAR credits.txt deleted file mode 100644 index 4dc3c5b7..00000000 --- a/EXE/FLAR credits.txt +++ /dev/null @@ -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 \ No newline at end of file diff --git a/EXE/FLAR licenses.txt b/EXE/FLAR licenses.txt deleted file mode 100644 index c58a084d..00000000 --- a/EXE/FLAR licenses.txt +++ /dev/null @@ -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 -Copyright (C) 2002-2007, Marcelo E. Magallon -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 © The FreeType - Project (www.freetype.org). All rights reserved. - """ - - Please replace 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. - */ -/****************************************************************************/ - - diff --git a/EXE/FLAR.dll b/EXE/FLAR.dll deleted file mode 100644 index f8b3df2a..00000000 Binary files a/EXE/FLAR.dll and /dev/null differ diff --git a/EXE/Freelancer.exe b/EXE/Freelancer.exe index d4a87be8..379dc91e 100644 Binary files a/EXE/Freelancer.exe and b/EXE/Freelancer.exe differ diff --git a/EXE/HUDless.dll b/EXE/HUDless.dll deleted file mode 100644 index a188738b..00000000 Binary files a/EXE/HUDless.dll and /dev/null differ diff --git a/EXE/HudFacility.dll b/EXE/HudFacility.dll deleted file mode 100644 index b68e8d8a..00000000 Binary files a/EXE/HudFacility.dll and /dev/null differ diff --git a/EXE/HudShift.dll b/EXE/HudShift.dll deleted file mode 100644 index ad24f2eb..00000000 Binary files a/EXE/HudShift.dll and /dev/null differ diff --git a/EXE/HudStatus.dll b/EXE/HudStatus.dll deleted file mode 100644 index e1875ddd..00000000 Binary files a/EXE/HudStatus.dll and /dev/null differ diff --git a/EXE/HudTarget.dll b/EXE/HudTarget.dll deleted file mode 100644 index 2f3bfc4f..00000000 Binary files a/EXE/HudTarget.dll and /dev/null differ diff --git a/EXE/HudWeaponGroups.dll b/EXE/HudWeaponGroups.dll deleted file mode 100644 index ed434a9e..00000000 Binary files a/EXE/HudWeaponGroups.dll and /dev/null differ diff --git a/EXE/MP3codec.dll b/EXE/MP3codec.dll deleted file mode 100644 index f1cf4ee5..00000000 Binary files a/EXE/MP3codec.dll and /dev/null differ diff --git a/EXE/MPRep.dll b/EXE/MPRep.dll deleted file mode 100644 index 0694a28b..00000000 Binary files a/EXE/MPRep.dll and /dev/null differ diff --git a/EXE/MultiIntro.dll b/EXE/MultiIntro.dll deleted file mode 100644 index 927f6269..00000000 Binary files a/EXE/MultiIntro.dll and /dev/null differ diff --git a/EXE/NoNavMap.dll b/EXE/NoNavMap.dll deleted file mode 100644 index 28e545a6..00000000 Binary files a/EXE/NoNavMap.dll and /dev/null differ diff --git a/EXE/REM-Client.dll b/EXE/REM-Client.dll deleted file mode 100644 index b80c5e5c..00000000 Binary files a/EXE/REM-Client.dll and /dev/null differ diff --git a/EXE/ReShade.ini b/EXE/ReShade.ini deleted file mode 100644 index 866ce6f0..00000000 --- a/EXE/ReShade.ini +++ /dev/null @@ -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 - - diff --git a/EXE/ReShadePreset.ini b/EXE/ReShadePreset.ini deleted file mode 100644 index 8d037046..00000000 --- a/EXE/ReShadePreset.ini +++ /dev/null @@ -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 - diff --git a/EXE/ReShade_LICENSE.txt b/EXE/ReShade_LICENSE.txt deleted file mode 100644 index 52d29658..00000000 --- a/EXE/ReShade_LICENSE.txt +++ /dev/null @@ -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. diff --git a/EXE/ServerFramework.dll b/EXE/ServerFramework.dll deleted file mode 100644 index 6ab51f34..00000000 Binary files a/EXE/ServerFramework.dll and /dev/null differ diff --git a/EXE/THIRD_PARTY_NOTICES.md b/EXE/THIRD_PARTY_NOTICES.md index 827e5fa4..2cfff928 100644 --- a/EXE/THIRD_PARTY_NOTICES.md +++ b/EXE/THIRD_PARTY_NOTICES.md @@ -1,4 +1,8 @@ -# Third Party Notices +# Third Party Notices (REM additions) + +The native rem-essentials fixes in this repository (marked `// REM: ` 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: diff --git a/EXE/Territory.dll b/EXE/Territory.dll deleted file mode 100644 index 29de50cf..00000000 Binary files a/EXE/Territory.dll and /dev/null differ diff --git a/EXE/Territory_readme.txt b/EXE/Territory_readme.txt deleted file mode 100644 index 27771132..00000000 --- a/EXE/Territory_readme.txt +++ /dev/null @@ -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/ diff --git a/EXE/TurretZoom.dll b/EXE/TurretZoom.dll deleted file mode 100644 index 4e80077a..00000000 Binary files a/EXE/TurretZoom.dll and /dev/null differ diff --git a/EXE/TurretZoom_readme.txt b/EXE/TurretZoom_readme.txt deleted file mode 100644 index f6c50039..00000000 --- a/EXE/TurretZoom_readme.txt +++ /dev/null @@ -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/ diff --git a/EXE/WheelScroll.dll b/EXE/WheelScroll.dll deleted file mode 100644 index 7675ef03..00000000 Binary files a/EXE/WheelScroll.dll and /dev/null differ diff --git a/EXE/Zone.dll b/EXE/Zone.dll deleted file mode 100644 index 6fc062f7..00000000 Binary files a/EXE/Zone.dll and /dev/null differ diff --git a/EXE/alchemy.dll b/EXE/alchemy.dll index 68d1bfe2..9bd31707 100644 Binary files a/EXE/alchemy.dll and b/EXE/alchemy.dll differ diff --git a/EXE/common.dll b/EXE/common.dll index 09548224..8ff93589 100644 Binary files a/EXE/common.dll and b/EXE/common.dll differ diff --git a/EXE/console.dll b/EXE/console.dll deleted file mode 100644 index 997174cd..00000000 Binary files a/EXE/console.dll and /dev/null differ diff --git a/EXE/dacom.dll b/EXE/dacom.dll index d2a4e891..2dfeb66e 100644 Binary files a/EXE/dacom.dll and b/EXE/dacom.dll differ diff --git a/EXE/dacom.ini b/EXE/dacom.ini index bad0e5ca..b0933af6 100644 --- a/EXE/dacom.ini +++ b/EXE/dacom.ini @@ -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 diff --git a/EXE/deformable2.dll b/EXE/deformable2.dll index 55a3b2bf..2af8a5b3 100644 Binary files a/EXE/deformable2.dll and b/EXE/deformable2.dll differ diff --git a/EXE/dinput8.dll b/EXE/dinput8.dll deleted file mode 100644 index cce874e5..00000000 Binary files a/EXE/dinput8.dll and /dev/null differ diff --git a/EXE/dlss5-feed.addon32 b/EXE/dlss5-feed.addon32 deleted file mode 100644 index 94d4b019..00000000 Binary files a/EXE/dlss5-feed.addon32 and /dev/null differ diff --git a/EXE/dlss5-feed.cfg b/EXE/dlss5-feed.cfg deleted file mode 100644 index 220ca2e5..00000000 --- a/EXE/dlss5-feed.cfg +++ /dev/null @@ -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 diff --git a/EXE/engbase.dll b/EXE/engbase.dll index c78a8003..0316bd75 100644 Binary files a/EXE/engbase.dll and b/EXE/engbase.dll differ diff --git a/EXE/flmaterials.dll b/EXE/flmaterials.dll index b66b11fb..dca42f09 100644 Binary files a/EXE/flmaterials.dll and b/EXE/flmaterials.dll differ diff --git a/EXE/freelancer.ini b/EXE/freelancer.ini index c3d9968e..dc3a29e4 100644 --- a/EXE/freelancer.ini +++ b/EXE/freelancer.ini @@ -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 diff --git a/EXE/imeui.dll b/EXE/imeui.dll index 6836d56d..1504db05 100644 Binary files a/EXE/imeui.dll and b/EXE/imeui.dll differ diff --git a/EXE/luaprofile.dll b/EXE/luaprofile.dll new file mode 100644 index 00000000..04e1020a Binary files /dev/null and b/EXE/luaprofile.dll differ diff --git a/EXE/movie.dll b/EXE/movie.dll index f28e6cc0..37a0ca2f 100644 Binary files a/EXE/movie.dll and b/EXE/movie.dll differ diff --git a/EXE/readfile.dll b/EXE/readfile.dll index 3b210685..b2dd6ffa 100644 Binary files a/EXE/readfile.dll and b/EXE/readfile.dll differ diff --git a/EXE/rem.ini b/EXE/rem.ini new file mode 100644 index 00000000..20a1e2ba --- /dev/null +++ b/EXE/rem.ini @@ -0,0 +1,71 @@ +; REM-Client: comfort, display and diagnostic options. Also in the game: Options -> REM. +; Environment variable REM_ 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: \..\SAVE (REM layout), false: My Games\ +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: \..\ diff --git a/EXE/remgfx.ini b/EXE/remgfx.ini new file mode 100644 index 00000000..796ab5ba --- /dev/null +++ b/EXE/remgfx.ini @@ -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_ (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 diff --git a/EXE/remoteclient.dll b/EXE/remoteclient.dll index d029fc9a..696faa04 100644 Binary files a/EXE/remoteclient.dll and b/EXE/remoteclient.dll differ diff --git a/EXE/remoteserver.dll b/EXE/remoteserver.dll index fc911288..2b16ed83 100644 Binary files a/EXE/remoteserver.dll and b/EXE/remoteserver.dll differ diff --git a/EXE/rendcomp.dll b/EXE/rendcomp.dll index 5fa7dd0d..29862392 100644 Binary files a/EXE/rendcomp.dll and b/EXE/rendcomp.dll differ diff --git a/EXE/rp8.dll b/EXE/rp8.dll index af4cea62..5f624bcb 100644 Binary files a/EXE/rp8.dll and b/EXE/rp8.dll differ diff --git a/EXE/rpclocal.dll b/EXE/rpclocal.dll index a72bac13..734e472b 100644 Binary files a/EXE/rpclocal.dll and b/EXE/rpclocal.dll differ diff --git a/EXE/server.dll b/EXE/server.dll index c8237371..d48ea349 100644 Binary files a/EXE/server.dll and b/EXE/server.dll differ diff --git a/EXE/shading.dll b/EXE/shading.dll index 2fcfa411..886c9f52 100644 Binary files a/EXE/shading.dll and b/EXE/shading.dll differ diff --git a/EXE/soundmanager.dll b/EXE/soundmanager.dll index 448d7e7b..e4359b95 100644 Binary files a/EXE/soundmanager.dll and b/EXE/soundmanager.dll differ diff --git a/EXE/soundstreamer.dll b/EXE/soundstreamer.dll index cc2559c4..3a7e3372 100644 Binary files a/EXE/soundstreamer.dll and b/EXE/soundstreamer.dll differ diff --git a/EXE/system.dll b/EXE/system.dll index 33949f25..5ec903f1 100644 Binary files a/EXE/system.dll and b/EXE/system.dll differ diff --git a/EXE/thorn.dll b/EXE/thorn.dll index 39ff235f..8fcba60d 100644 Binary files a/EXE/thorn.dll and b/EXE/thorn.dll differ diff --git a/EXE/x86math.dll b/EXE/x86math.dll index c46b8f01..7dc6dfde 100644 Binary files a/EXE/x86math.dll and b/EXE/x86math.dll differ diff --git a/EXE/ximage.dll b/EXE/ximage.dll index a8b0df22..4528a9c8 100644 Binary files a/EXE/ximage.dll and b/EXE/ximage.dll differ diff --git a/EXE/zlib.dll b/EXE/zlib.dll index 39fbc3e4..9bfd90c8 100644 Binary files a/EXE/zlib.dll and b/EXE/zlib.dll differ