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
+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