Add a simple python script to check for common formatting errors (tabs and line endings) and fix existing problems.

a step towards #315
This commit is contained in:
IntegratedQuantum 2024-04-16 13:50:40 +02:00
parent 5b76d2c33c
commit aba651a998
10 changed files with 53 additions and 11 deletions

View File

@ -50,7 +50,7 @@ sudo apt install libgl-dev libasound2-dev libx11-dev libxcursor-dev libxrandr-de
# Contributing # Contributing
### Code ### Code
Try to follow the style of the existing code. `// TODO: Add a style guide` <br> Try to follow the style of the existing code. The `check_format.py` file can be used to find violations of indentation and line endings. `// TODO: Add a full style guide` <br>
If you have any more questions, you can ask them over on [Discord](https://discord.gg/XtqCRRG). If you have any more questions, you can ask them over on [Discord](https://discord.gg/XtqCRRG).
### Textures ### Textures
If you want to add new textures, make sure they fit the style of the game. If you want to add new textures, make sure they fit the style of the game.

View File

@ -1,6 +1,5 @@
#version 430 #version 430
out vec4 fragColor; out vec4 fragColor;
in vec2 texCoords; in vec2 texCoords;
uniform sampler2D color; uniform sampler2D color;

View File

@ -30,7 +30,7 @@ vec3 calcLight(int srgb) {
void main() { void main() {
vec4 mvPos = viewMatrix * vec4(position, 1); vec4 mvPos = viewMatrix * vec4(position, 1);
gl_Position = projectionMatrix * mvPos; gl_Position = projectionMatrix * mvPos;
outTexCoord = texCoord; outTexCoord = texCoord;
mvVertexPos = mvPos.xyz; mvVertexPos = mvPos.xyz;
outLight = calcLight(light); outLight = calcLight(light);
} }

View File

@ -7,7 +7,7 @@ in vec2 unitPosition;
// Like smooth step, but with linear interpolation instead of s-curve. // Like smooth step, but with linear interpolation instead of s-curve.
float linearstep(float edge0, float edge1, float x) { float linearstep(float edge0, float edge1, float x) {
return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
} }
void main(){ void main(){

View File

@ -14,8 +14,8 @@ layout(std430, binding = 5) buffer _data
void main() { void main() {
float x = gl_VertexID; float x = gl_VertexID;
float y = -data[(gl_VertexID+offset)%points]; float y = -data[(gl_VertexID+offset)%points];
// Convert to opengl coordinates: // Convert to opengl coordinates:
vec2 position_percentage = (start + dimension*vec2(x/points, y))/screen; vec2 position_percentage = (start + dimension*vec2(x/points, y))/screen;

View File

@ -204,7 +204,7 @@ void mainBlockDrop() {
layout(std430, binding = 2) buffer _itemVoxelModels layout(std430, binding = 2) buffer _itemVoxelModels
{ {
uint itemVoxelModels[]; uint itemVoxelModels[];
}; };
uint getVoxel(uvec3 pos) { uint getVoxel(uvec3 pos) {

View File

@ -20,7 +20,7 @@ uniform float sizeScale;
layout(std430, binding = 2) buffer _itemVoxelModels layout(std430, binding = 2) buffer _itemVoxelModels
{ {
uint itemVoxelModels[]; uint itemVoxelModels[];
}; };
#define modelSize 16 #define modelSize 16

View File

@ -1,6 +1,6 @@
#version 430 #version 430
out vec4 fragColor; out vec4 fragColor;
in vec2 texCoords; in vec2 texCoords;
uniform sampler2D color; uniform sampler2D color;

43
format_check.py Normal file
View File

@ -0,0 +1,43 @@
import os
import sys
directory = os.fsencode(".")
fails = 0
for subdir, dirs, files in os.walk("."):
for file in files:
#print os.path.join(subdir, file)
filepath = subdir + os.sep + file
if filepath.startswith("./compiler"): continue
if filepath.startswith("./saves"): continue
if filepath.startswith("./serverAssets"): continue
if filepath.startswith("./zig-cache"): continue
if filepath.endswith(".json") or filepath.endswith(".zig") or filepath.endswith(".py") or filepath.endswith(".zon") or filepath.endswith(".vs") or filepath.endswith(".fs") or filepath.endswith(".glsl"):
with open(filepath, "r") as f:
string = f.read()
line = 1
lineStart = True
for i, c in enumerate(string):
if(c == '\r'):
print("Incorrect line ending \\r in file ", filepath, " in line ", line, ". Please configure your editor to use LF instead of CRLF.")
fails += 1
elif(c == '\n'):
line += 1
lineStart = True
elif(c == ' '):
if(lineStart):
print("Incorrect indentation in file ", filepath, " in line ", line, ". Please use tabs instead of spaces.")
fails += 1
lineStart = False # avoid repeating this error multiple times
elif(c == '\t'):
continue
elif(lineStart):
lineStart = False
else:
continue
if(fails != 0):
sys.exit(1)
sys.exit(0)

View File

@ -22,7 +22,7 @@ pub const QuadInfo = extern struct {
}; };
fn approxEqAbs(x: Vec3f, y: Vec3f, tolerance: Vec3f) @Vector(3, bool) { fn approxEqAbs(x: Vec3f, y: Vec3f, tolerance: Vec3f) @Vector(3, bool) {
return @abs(x - y) <= tolerance; return @abs(x - y) <= tolerance;
} }
pub const Model = struct { pub const Model = struct {