bloodrun-editor/makefiles/q3map2.vcxproj
serge_shubin 6f78fcb452 Add L2 spherical harmonics light grid to q3map2
Implements a new SH light grid that runs alongside the legacy Q3 light grid,
storing 9 RGB L2 spherical harmonic coefficients per grid point for accurate
directional lighting of dynamic objects from all angles.

BSP format: v47 with 19-lump header (160 bytes) when -sh is used, v46 with
17-lump header (144 bytes) otherwise. SH data stored in LUMP_LIGHTGRID_SH
(index 18) with a header containing grid bounds/size/mins followed by the
coefficient array. Stock Q3 engines read v46 lumps unchanged.

New CLI flags: -sh (enable), -gridscalesh (density multiplier, default 2x),
-gridsh (explicit cell size). SH grid receives bounced light with -bouncegrid.

Also adds libjpeg-turbo as a proper build dependency with its own vcxproj,
fixing the previous external engine path requirement.
2026-04-03 13:52:07 +08:00

106 lines
No EOL
5.5 KiB
XML
Executable file

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{E1A0A3B1-2001-4001-8001-000000000005}</ProjectGuid>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
</PropertyGroup>
<Import Project="Props\ProjectConfigurations.props" />
<Import Project="Props\CommonProjectSetup.props" />
<ImportGroup Label="PropertySheets">
<Import Project="Props\Project_q3map2.props" />
</ImportGroup>
<!-- q3map2 core -->
<ItemGroup>
<ClCompile Include="$(Q3Map2SrcDir)q3map2\autopk3.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\brush.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\bsp.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\bspfile_abstract.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\bspfile_ibsp.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\bspfile_rbsp.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\convert_ase.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\convert_bsp.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\convert_json.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\convert_map.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\convert_obj.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\decals.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\exportents.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\facebsp.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\fog.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\games.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\help.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\image.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\leakfile.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\light.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\light_bounce.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\light_trace.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\light_ydnar.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\lightmaps_ydnar.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\main.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\map.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\mesh.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\minimap.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\model.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\patch.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\path_init.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\portals.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\prtfile.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\shaders.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\surface.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\surface_extra.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\surface_foliage.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\surface_fur.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\surface_meta.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\tjunction.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\tree.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\vis.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\visflow.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)q3map2\writebsp.cpp" />
</ItemGroup>
<!-- common utilities -->
<ItemGroup>
<ClCompile Include="$(Q3Map2SrcDir)common\cmdlib.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\inout.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\jpeg.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\md4.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\miniz.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\mutex.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\polylib.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\qimagelib.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\scriplib.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\threads.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\unzip.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)common\vfs.cpp" />
</ItemGroup>
<!-- internal libs -->
<ItemGroup>
<ClCompile Include="$(Q3Map2SrcDir)libs\ddslib\ddslib.c" />
<ClCompile Include="$(Q3Map2SrcDir)libs\crnlib\crnlib.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)libs\webplib\webplib.cpp" />
<ClCompile Include="$(Q3Map2SrcDir)libs\l_net\l_net.c" />
<ClCompile Include="$(Q3Map2SrcDir)libs\l_net\l_net_wins.c" />
<ClCompile Include="$(Q3Map2SrcDir)libs\filematch.c" />
<ClCompile Include="$(Q3Map2SrcDir)libs\etclib.c" />
</ItemGroup>
<!-- glib shim + libjpeg memory stub -->
<ItemGroup>
<ClCompile Include="$(Q3Map2SrcDir)shims\glib_shim.cpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="assimp.vcxproj">
<Project>{e1a0a3b1-2001-4001-8001-000000000004}</Project>
</ProjectReference>
<ProjectReference Include="libpng.vcxproj">
<Project>{e1a0a3b1-2001-4001-8001-000000000002}</Project>
</ProjectReference>
<ProjectReference Include="libxml2.vcxproj">
<Project>{e1a0a3b1-2001-4001-8001-000000000003}</Project>
</ProjectReference>
<ProjectReference Include="zlib.vcxproj">
<Project>{e1a0a3b1-2001-4001-8001-000000000001}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
</Project>