From 58219b974c896c69d9e1563141f408f5e8e4c69a Mon Sep 17 00:00:00 2001 From: Ralph Sennhauser Date: Sat, 14 Jun 2025 19:19:35 +0200 Subject: [PATCH] Fix trailing whitespace and add pre-commit hook Some have their editor configured to remove trailing whitespace and editing such a file would "fix" it, adding an unrelated change. Fix whitespace violations excluding third party libs and generated files like glad or patches. Enable pre-commit hook trailing-whitespace to enforce it in the future. Fixes: #8016 Signed-off-by: Ralph Sennhauser --- .pre-commit-config.yaml | 10 ++ LICENSE.md | 4 +- binaries/data/config/dev.cfg | 4 +- .../mods/_test.minimal/shaders/instancing.vs | 2 +- .../_test.minimal/shaders/instancing_base.vs | 4 +- .../_test.minimal/shaders/instancing_light.vs | 2 +- .../mods/_test.minimal/shaders/water_high.fs | 24 ++--- .../_test.sim/simulation/data/pathfinder.xml | 4 +- .../data/mods/mod/fonts/DejaVu-LICENSE.txt | 4 +- binaries/data/mods/mod/shaders/glsl/bloom.fs | 8 +- binaries/data/mods/mod/shaders/glsl/cas.fs | 4 +- binaries/data/mods/mod/shaders/glsl/ffx_a.h | 42 ++++---- .../data/mods/mod/shaders/glsl/ffx_fsr1.h | 36 +++---- binaries/data/mods/mod/shaders/glsl/fxaa.fs | 2 +- binaries/data/mods/mod/shaders/glsl/waves.fs | 16 ++-- .../actors/geology/decal_stone_desert_a.xml | 2 +- .../actors/geology/decal_stone_desert_b.xml | 2 +- .../actors/geology/decal_stone_medit_a.xml | 2 +- .../actors/geology/decal_stone_medit_b.xml | 4 +- .../art/actors/props/flora/shrub_fanpalm.xml | 2 +- .../art/actors/props/flora/shrub_spikes.xml | 2 +- .../actors/props/flora/shrub_tropic_palm.xml | 2 +- .../props/flora/shrub_tropic_plant_a.xml | 2 +- .../props/flora/shrub_tropic_plant_b.xml | 2 +- .../props/flora/shrub_tropic_plant_flower.xml | 2 +- .../art/actors/props/flora/temp_cliffs_a.xml | 4 +- .../props/flora/temp_cliffs_a_winter.xml | 4 +- .../geology/geo_waterfall_cave_water.xml | 2 +- .../geology/geo_waterfall_double_water.xml | 2 +- .../geology/geo_waterfall_single_water.xml | 2 +- .../special/eyecandy/ground_ice_decal.xml | 8 +- .../structures/athenians/barracks_props_a.xml | 2 +- .../structures/athenians/temple_props_a.xml | 2 +- .../structures/celts/rotary_mill_grinder.xml | 2 +- .../structures/celts/rotary_mill_shield_a.xml | 2 +- .../props/structures/decals/destruct_3x3.xml | 6 +- .../props/structures/decals/destruct_4x4.xml | 6 +- .../props/structures/decals/destruct_5x5.xml | 2 +- .../props/structures/decals/destruct_6x4.xml | 6 +- .../structures/decals/destruct_celt_dock.xml | 6 +- .../structures/decals/destruct_wall_long.xml | 6 +- .../decals/destruct_wall_medium.xml | 6 +- .../structures/hellenes/blacksmith_struct.xml | 2 +- .../structures/hellenes/corral_water.xml | 2 +- .../props/structures/hellenes/parth_props.xml | 2 +- .../props/structures/hellenes/parth_roof.xml | 2 +- .../macedonians/barracks_props_a.xml | 2 +- .../structures/macedonians/temple_props_a.xml | 2 +- .../props/structures/mauryas/cc_lions.xml | 2 +- .../structures/mauryas/docks_struct_b.xml | 2 +- .../props/structures/mauryas/stupa_gate.xml | 4 +- .../structures/persians/farmstead_cart.xml | 2 +- .../persians/farmstead_cart_big.xml | 2 +- .../structures/persians/market_a_stall1.xml | 2 +- .../structures/persians/market_a_stall2.xml | 2 +- .../structures/persians/market_a_stall3.xml | 2 +- .../structures/persians/market_a_stall4.xml | 2 +- .../structures/persians/market_a_stall5.xml | 2 +- .../structures/persians/market_a_stall6.xml | 2 +- .../structures/persians/market_a_stall7.xml | 2 +- .../structures/persians/market_b_stall1.xml | 2 +- .../structures/persians/market_b_stall2.xml | 2 +- .../structures/persians/market_b_stall3.xml | 2 +- .../structures/persians/market_b_stall4.xml | 2 +- .../structures/persians/market_b_stall5.xml | 2 +- .../structures/persians/market_b_stall6.xml | 2 +- .../structures/persians/market_b_stall7.xml | 2 +- .../structures/persians/tachara_shrubs_a.xml | 2 +- .../structures/persians/tachara_shrubs_b.xml | 2 +- .../structures/persians/tachara_shrubs_c.xml | 2 +- .../structures/persians/tachara_shrubs_d.xml | 2 +- .../props/structures/persians/temple.xml | 2 +- .../structures/ptolemies/bireme_tent.xml | 4 +- .../props/structures/ptolemies/dock_cloth.xml | 2 +- .../structures/ptolemies/market_cloth_big.xml | 2 +- .../ptolemies/market_cloth_big2.xml | 2 +- .../ptolemies/market_cloth_small.xml | 4 +- .../structures/ptolemies/market_stall.xml | 2 +- .../ptolemies/market_stall_cloth.xml | 2 +- .../structures/ptolemies/merchant_tent.xml | 4 +- .../props/structures/ptolemies/quinq_tent.xml | 4 +- .../ptolemies/settlement_bigtent_props.xml | 2 +- .../structures/ptolemies/stall_big_cloth.xml | 2 +- .../ptolemies/stall_small_a_cloth.xml | 4 +- .../ptolemies/stall_small_b_cloth.xml | 2 +- .../structures/ptolemies/trireme_tent.xml | 4 +- .../structures/spartans/barracks_props_a.xml | 2 +- .../structures/spartans/temple_props_a.xml | 2 +- .../props/units/helmets/ptol_romanized.xml | 4 +- .../units/helmets/ptol_romanized_brass.xml | 2 +- .../units/helmets/ptol_romanized_crest.xml | 4 +- .../helmets/ptol_romanized_crest_brass.xml | 2 +- .../units/helmets/ptol_romanized_iron.xml | 2 +- .../actors/structures/persians/ice_house.xml | 24 ++--- .../actors/structures/plot_field_rice_mud.xml | 4 +- .../art/actors/temp/reservoir_water.xml | 4 +- .../public/art/actors/temp/water_plane.xml | 4 +- .../mods/public/art/actors/temp/waterfall.xml | 4 +- .../public/art/particles/blowing_sand.xml | 2 +- .../particles/destruction_dust_large_gray.xml | 2 +- .../particles/destruction_dust_med_dark.xml | 4 +- .../particles/destruction_dust_med_gray.xml | 2 +- .../particles/destruction_dust_small_gray.xml | 2 +- .../mods/public/art/particles/dust_storm.xml | 2 +- .../mods/public/art/particles/fireworks.xml | 6 +- .../mods/public/art/particles/hero_aura.xml | 2 +- .../public/art/particles/smoke_catapult.xml | 2 +- .../mods/public/art/particles/smoke_jav.xml | 2 +- .../mods/public/art/particles/smoke_med.xml | 2 +- .../art/particles/smoke_small_light.xml | 4 +- .../art/particles/sparks_blacksmith.xml | 2 +- .../mods/public/art/skeletons/crocodile.xml | 2 +- .../public/art/skeletons/feline_blender.xml | 6 +- .../mods/public/art/skeletons/giraffe.xml | 6 +- .../public/art/skeletons/han_mangonel.xml | 56 +++++------ .../data/mods/public/art/skeletons/hawk.xml | 2 +- .../data/mods/public/art/skeletons/horse.xml | 4 +- .../mods/public/art/skeletons/mastiff.xml | 20 ++-- .../mods/public/art/skeletons/pers_ram.xml | 2 +- .../data/mods/public/art/skeletons/rhino.xml | 20 ++-- .../art/skeletons/rotary_mill_grinder.xml | 8 +- .../data/mods/public/art/skeletons/shark.xml | 2 +- .../art/skeletons/vehicle_four_wheel.xml | 2 +- .../art/skeletons/vehicle_six_wheel.xml | 2 +- .../art/skeletons/vehicle_two_wheel.xml | 2 +- .../data/mods/public/art/skeletons/wolf.xml | 4 +- .../mods/public/art/skeletons/wolfhound.xml | 28 +++--- .../aegean_cliff_02.xml | 2 +- .../aegean_mountain_01.xml | 2 +- .../aegean_ocean_coral_01.xml | 2 +- .../biome-alpine-arctic/alpine_grass_01.xml | 2 +- .../biome-alpine-arctic/alpine_rock_01.xml | 2 +- .../biome-alpine-arctic/alpine_rock_02.xml | 2 +- .../baltic_rock_moss_01.xml | 2 +- .../biome-india/india_forestfloor_01.xml | 2 +- .../biome-india/india_forestfloor_02.xml | 2 +- .../terrains/biome-india/india_paving_02.xml | 2 +- .../biome-nubia/nubia_forestfloor_01.xml | 2 +- .../biome-nubia/nubia_paving_stones_01.xml | 2 +- .../nubia_paving_stones_01_sand_01.xml | 2 +- .../terrains/biome-nubia/nubia_rock_02.xml | 2 +- .../biome-nubia/nubia_sand_dunes_01.xml | 2 +- .../nubia_sand_dunes_01_rotated.xml | 2 +- .../biome-nubia/nubia_sand_ripples.xml | 2 +- .../nubia_sand_ripples_rotated.xml | 2 +- .../biome-persia/persia_forestfloor_02.xml | 2 +- .../biome-persia/persia_mountain_01.xml | 2 +- .../biome-persia/persia_mountain_01_snow.xml | 2 +- .../biome-sahara/sahara_paving_stones_00.xml | 2 +- .../biome-sahara/sahara_paving_stones_01.xml | 2 +- .../sahara_paving_stones_01_sand_01.xml | 2 +- .../biome-sahara/sahara_paving_stones_02.xml | 2 +- .../terrains/biome-sahara/sahara_rock_02.xml | 2 +- .../terrains/biome-sahara/sahara_rock_03.xml | 2 +- .../autumn_forestfloor_01.xml | 2 +- .../autumn_forestfloor_02.xml | 2 +- .../temperate_cliff_01.xml | 2 +- .../temperate_cliff_02.xml | 2 +- .../temperate_cliff_02_dover.xml | 2 +- .../temperate_forestfloor_01.xml | 2 +- .../temperate_forestfloor_01_autumn.xml | 2 +- .../temperate_forestfloor_02.xml | 2 +- .../temperate_forestfloor_02_autumn.xml | 2 +- .../temperate_paving_01.xml | 2 +- .../temperate_paving_02.xml | 2 +- .../temperate_paving_03.xml | 2 +- .../art/textures/cursors/cursor-help.txt | 2 +- .../gui/reference/tips/texts/arrow_ship.txt | 2 +- .../mods/public/shaders/arb/model_common.fp | 2 +- .../data/technologies/pheidian_workshop.json | 2 +- .../data/technologies/ship_vision.json | 2 +- .../data/technologies/unit_advanced.json | 2 +- .../data/technologies/unit_elite.json | 2 +- .../units/rome/infantry_antesignanus.xml | 2 +- build/android/sdl-project/AndroidManifest.xml | 2 +- build/android/sdl-project/Makefile | 2 +- build/android/sdl-project/res/layout/main.xml | 6 +- .../src/org/libsdl/app/SDLActivity.java | 60 ++++++------ docs/timing_pitfalls.tex | 2 +- license_lgpl-2.1.txt | 18 ++-- source/graphics/Model.cpp | 2 +- source/graphics/TextRenderer.cpp | 4 +- source/gui/IGUIScrollBar.cpp | 2 +- source/lib/posix/posix_mman.h | 2 +- source/lib/sysdep/os/osx/osx_paths.mm | 4 +- source/lib/sysdep/os/osx/osx_sys_version.mm | 4 +- source/lib/sysdep/os/win/error_dialog.rc | 4 +- source/maths/MathUtil.h | 2 +- source/renderer/backend/dummy/Framebuffer.h | 2 +- source/renderer/backend/vulkan/Framebuffer.h | 2 +- .../encryption/tests/test_pkcs5_pbkdf5.h | 2 +- .../jsonspirit/json_spirit_error_position.h | 4 +- .../jsonspirit/json_spirit_reader_template.h | 92 +++++++++--------- .../jsonspirit/json_spirit_writer_template.h | 12 +-- source/third_party/mikktspace/mikktspace.cpp | 44 ++++----- source/third_party/mikktspace/weldmesh.cpp | 6 +- source/third_party/mongoose/mongoose_orig.c | 2 +- .../tinygettext/src/win32/dirent.c | 2 +- .../tinygettext/src/win32/dirent.h | 4 +- source/third_party/vma/README.md | 2 +- source/third_party/vma/vk_mem_alloc.h | 66 ++++++------- source/tools/atlas/AtlasFrontends/generate.pl | 2 +- .../ScenarioEditor/Tools/TransformPath.cpp | 2 +- source/tools/dist/FileAssociation.nsh | 96 +++++++++---------- source/tools/entgraph/entgraph.pl | 4 +- source/tools/errorlist/errorlist.pl | 2 +- source/tools/springimport/convert.pl | 4 +- .../userreport/templatetags/cycle.py | 2 +- 208 files changed, 593 insertions(+), 583 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e8271bda68..4e37c006f8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,6 +23,16 @@ repos: ^binaries/data/mods/_test.sim/simulation/templates.illformed.xml| ^binaries/data/mods/public/maps/.*\.xml ) + - id: trailing-whitespace + exclude: | + (?x)( + ^libraries/| + ^source/third_party/glad/src| + ^source/tools/replayprofile/jquery| + ^source/tools/templatesanalyzer/tablefilter| + \.dae| + \.patch$ + ) - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.11.11 hooks: diff --git a/LICENSE.md b/LICENSE.md index bb2e5034eb..2c761e16c7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -96,8 +96,8 @@ please inform Wildfire Games at webmaster at wildfiregames dot com. - source/tools/atlas/ - GPL version 2 (or later) - see license_gpl-2.0.txt -- binaries/data/mods/public/gui/prelobby/common/terms/ - binaries/data/mods/public/gui/userreport/Terms_and_Conditions.txt +- binaries/data/mods/public/gui/prelobby/common/terms/ + binaries/data/mods/public/gui/userreport/Terms_and_Conditions.txt binaries/data/mods/mod/gui/modio/Disclaimer.txt - Redistributing modified Terms and Conditions of online services may be within the licensing, but may not change the legality or enforceability of the terms of the service provider. diff --git a/binaries/data/config/dev.cfg b/binaries/data/config/dev.cfg index 1c261f9a10..9b148af063 100644 --- a/binaries/data/config/dev.cfg +++ b/binaries/data/config/dev.cfg @@ -7,5 +7,5 @@ ; order. The precense of this file suppresses loading of mods in the user mod ; path (see https://gitea.wildfiregames.com/0ad/0ad/wiki/GameDataPaths) if the same mod is ; present in binaries/data/mods. It also implies -noUserMod. -; This is done to make saved maps end up in the right mod folder (and in the -; game-relative data path) to commit them later on. +; This is done to make saved maps end up in the right mod folder (and in the +; game-relative data path) to commit them later on. diff --git a/binaries/data/mods/_test.minimal/shaders/instancing.vs b/binaries/data/mods/_test.minimal/shaders/instancing.vs index 013379124b..170bb8889b 100644 --- a/binaries/data/mods/_test.minimal/shaders/instancing.vs +++ b/binaries/data/mods/_test.minimal/shaders/instancing.vs @@ -2,7 +2,7 @@ vec4 InstancingPosition(vec4 position); void main() { - vec4 worldPos = InstancingPosition(gl_Vertex); + vec4 worldPos = InstancingPosition(gl_Vertex); gl_FrontColor = gl_Color; gl_TexCoord[0] = gl_MultiTexCoord0; diff --git a/binaries/data/mods/_test.minimal/shaders/instancing_base.vs b/binaries/data/mods/_test.minimal/shaders/instancing_base.vs index 4193b561bc..f8fc9c55bc 100644 --- a/binaries/data/mods/_test.minimal/shaders/instancing_base.vs +++ b/binaries/data/mods/_test.minimal/shaders/instancing_base.vs @@ -12,7 +12,7 @@ vec3 InstancingNormal(vec3 normal) tmp.x = dot(vec3(Instancing1), normal); tmp.y = dot(vec3(Instancing2), normal); tmp.z = dot(vec3(Instancing3), normal); - + return tmp; } @@ -24,6 +24,6 @@ vec4 InstancingPosition(vec4 position) tmp.x = dot(Instancing1, position); tmp.y = dot(Instancing2, position); tmp.z = dot(Instancing3, position); - + return vec4(tmp, 1.0); } diff --git a/binaries/data/mods/_test.minimal/shaders/instancing_light.vs b/binaries/data/mods/_test.minimal/shaders/instancing_light.vs index 6de60dd3be..1e9326374c 100644 --- a/binaries/data/mods/_test.minimal/shaders/instancing_light.vs +++ b/binaries/data/mods/_test.minimal/shaders/instancing_light.vs @@ -6,7 +6,7 @@ vec4 InstancingPosition(vec4 position); void main() { vec3 normal = InstancingNormal(gl_Normal); - vec4 worldPos = InstancingPosition(gl_Vertex); + vec4 worldPos = InstancingPosition(gl_Vertex); gl_FrontColor = vec4(lighting(normal),1.0) * gl_Color; gl_TexCoord[0] = gl_MultiTexCoord0; diff --git a/binaries/data/mods/_test.minimal/shaders/water_high.fs b/binaries/data/mods/_test.minimal/shaders/water_high.fs index 0768ce3a44..30fe5bfe01 100644 --- a/binaries/data/mods/_test.minimal/shaders/water_high.fs +++ b/binaries/data/mods/_test.minimal/shaders/water_high.fs @@ -28,36 +28,36 @@ void main() float t; // Temporary variable vec2 reflCoords, refrCoords; vec3 reflColor, refrColor, specular; - + n = normalize(texture2D(normalMap, gl_TexCoord[0].st).xzy - vec3(0.5, 0.5, 0.5)); l = -sunDir; v = normalize(cameraPos - worldPos); h = normalize(l + v); - + ndotl = dot(n, l); ndoth = dot(n, h); ndotv = dot(n, v); - + myMurkiness = murkiness * min(waterDepth / fullDepth, 1.0); - + fresnel = pow(1.0 - ndotv, 0.8); // A rather random Fresnel approximation - + refrCoords = 0.5 * (gl_TexCoord[2].xy / gl_TexCoord[2].w) + 0.5; // Unbias texture coords refrCoords -= 0.8 * waviness * n.xz / w; // Refractions can be slightly less wavy - + reflCoords = 0.5 * (gl_TexCoord[1].xy / gl_TexCoord[1].w) + 0.5; // Unbias texture coords reflCoords += waviness * n.xz / w; - - reflColor = mix(texture2D(reflectionMap, reflCoords).rgb, sunColor * reflectionTint, + + reflColor = mix(texture2D(reflectionMap, reflCoords).rgb, sunColor * reflectionTint, reflectionTintStrength); - + refrColor = (0.5 + 0.5*ndotl) * mix(texture2D(refractionMap, refrCoords).rgb, sunColor * tint, myMurkiness); - + specular = pow(max(0.0, ndoth), shininess) * sunColor * specularStrength; - + gl_FragColor.rgb = mix(refrColor + 0.3*specular, reflColor + specular, fresnel) * losMod; - + // Make alpha vary based on both depth (so it blends with the shore) and view angle (make it // become opaque faster at lower view angles so we can't look "underneath" the water plane) t = 18.0 * max(0.0, 0.7 - v.y); diff --git a/binaries/data/mods/_test.sim/simulation/data/pathfinder.xml b/binaries/data/mods/_test.sim/simulation/data/pathfinder.xml index 47eb0eba6b..195c350b82 100644 --- a/binaries/data/mods/_test.sim/simulation/data/pathfinder.xml +++ b/binaries/data/mods/_test.sim/simulation/data/pathfinder.xml @@ -3,7 +3,7 @@ 64 - + @@ -32,7 +32,7 @@ - +