1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-18 14:21:41 +00:00

Move various scripts to the "scripts" folder

Thus cleaning up the "tools" folder a bit.
This commit is contained in:
Rémi Verschelde
2016-09-01 22:10:20 +02:00
parent 08e5e8794a
commit ae9729b6df
7 changed files with 1 additions and 171 deletions

View File

@@ -0,0 +1,72 @@
header="""\
/*************************************************************************/
/* $filename */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* http://www.godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
/* */
/* 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. */
/*************************************************************************/
"""
f = open("files","rb")
fname = f.readline()
while (fname!=""):
fr = open(fname.strip(),"rb")
l = fr.readline()
bc=False
fsingle = fname.strip()
if (fsingle.find("/")!=-1):
fsingle=fsingle[fsingle.rfind("/")+1:]
rep_fl="$filename"
rep_fi=fsingle
len_fl=len(rep_fl)
len_fi=len(rep_fi)
if (len_fi<len_fl):
for x in range(len_fl-len_fi):
rep_fi+=" "
elif (len_fl<len_fi):
for x in range(len_fi-len_fl):
rep_fl+=" "
if (header.find(rep_fl)!=-1):
text=header.replace(rep_fl,rep_fi)
else:
text=header.replace("$filename",fsingle)
while (l!=""):
if ((l.find("//")!=0 and l.find("/*")!=0 and l.strip()!="") or bc):
text+=l
bc=True
l=fr.readline()
fr.close()
fr=open(fname.strip(),"wb")
fr.write(text)
fr.close()
#print(text)
fname=f.readline()

View File

@@ -0,0 +1,70 @@
import sys
if (len(sys.argv)!=2):
print("Pass me a .fnt argument!")
f = open(sys.argv[1],"rb")
name = sys.argv[1].lower().replace(".fnt","")
l = f.readline()
font_height=0
font_ascent=0
font_charcount=0
font_chars=[]
font_cc=0
while(l!=""):
fs = l.strip().find(" ")
if (fs==-1):
l=f.readline()
continue
t = l[0:fs]
dv = l[fs+1:].split(" ")
d = {}
for x in dv:
if (x.find("=")==-1):
continue
s = x.split("=")
d[ s[0] ] = s[1]
if (t=="common"):
font_height=d["lineHeight"]
font_ascent=d["base"]
if (t=="char"):
font_chars.append(d["id"])
font_chars.append(d["x"])
font_chars.append(d["y"])
font_chars.append(d["width"])
font_chars.append(d["height"])
font_chars.append(d["xoffset"])
font_chars.append(d["yoffset"])
font_chars.append(d["xadvance"])
font_cc+=1
l = f.readline()
print("static const int _bi_font_"+name+"_height="+str(font_height)+";")
print("static const int _bi_font_"+name+"_ascent="+str(font_ascent)+";")
print("static const int _bi_font_"+name+"_charcount="+str(font_cc)+";")
cstr="static const int _bi_font_"+name+"_characters={"
for i in range(len(font_chars)):
c=font_chars[i]
if (i>0):
cstr+=", "
cstr+=c
cstr+=("};")
print(cstr)

View File

@@ -0,0 +1,183 @@
#! /usr/bin/python
import sys
if (len(sys.argv)<2):
print("usage: make_glwrapper.py <headers>")
sys.exit(255)
functions=[]
types=[]
constants=[]
READ_FUNCTIONS=0
READ_TYPES=1
READ_CONSTANTS=2
read_what=READ_TYPES
for x in (range(len(sys.argv)-1)):
f=open(sys.argv[x+1],"r")
while(True):
line=f.readline()
if (line==""):
break
line=line.replace("\n","").strip()
"""
if (line.find("[types]")!=-1):
read_what=READ_TYPES
continue
elif (line.find("[constants]")!=-1):
read=READ_TYPES
continue
elif (line.find("[functions]")!=-1):
read_what=READ_FUNCTIONS
continue
"""
if (line.find("#define")!=-1):
if (line.find("0x")==-1 and line.find("GL_VERSION")==-1):
continue
constants.append(line)
elif (line.find("typedef")!=-1):
if (line.find("(")!=-1 or line.find(")")!=-1 or line.find("ARB")!=-1 or line.find("EXT")!=-1 or line.find("GL")==-1):
continue
types.append(line)
elif (line.find("APIENTRY")!=-1 and line.find("GLAPI")!=-1):
if (line.find("ARB")!=-1 or line.find("EXT")!=-1 or line.find("NV")!=-1):
continue
line=line.replace("APIENTRY","")
line=line.replace("GLAPI","")
glpos=line.find(" gl")
if (glpos==-1):
glpos=line.find("\tgl")
if (glpos==-1):
continue
ret=line[:glpos].strip();
line=line[glpos:].strip()
namepos=line.find("(")
if (namepos==-1):
continue
name=line[:namepos].strip()
line=line[namepos:]
argpos=line.rfind(")")
if (argpos==-1):
continue
args=line[1:argpos]
funcdata={}
funcdata["ret"]=ret
funcdata["name"]=name
funcdata["args"]=args
functions.append(funcdata)
print(funcdata)
#print(types)
#print(constants)
#print(functions)
f=open("glwrapper.h","w")
f.write("#ifndef GL_WRAPPER\n")
f.write("#define GL_WRAPPER\n\n\n")
header_code="""\
#if defined(__gl_h_) || defined(__GL_H__)
#error gl.h included before glwrapper.h
#endif
#if defined(__glext_h_) || defined(__GLEXT_H_)
#error glext.h included before glwrapper.h
#endif
#if defined(__gl_ATI_h_)
#error glATI.h included before glwrapper.h
#endif
#define __gl_h_
#define __GL_H__
#define __glext_h_
#define __GLEXT_H_
#define __gl_ATI_h_
#define GL_TRUE 1
#define GL_FALSE 0
#define GL_ZERO 0
#define GL_ONE 1
#define GL_NONE 0
#define GL_NO_ERROR 0
\n\n
"""
f.write("#include <stddef.h>\n\n\n")
f.write(header_code);
f.write("#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n")
f.write("#if defined(_WIN32) && !defined(__CYGWIN__)\n")
f.write("#define GLWRP_APIENTRY __stdcall\n")
f.write("#else\n");
f.write("#define GLWRP_APIENTRY \n")
f.write("#endif\n\n");
for x in types:
f.write(x+"\n")
f.write("\n\n")
for x in constants:
f.write(x+"\n")
f.write("\n\n")
for x in functions:
f.write("extern "+x["ret"]+" GLWRP_APIENTRY (*__wrapper_"+x["name"]+")("+x["args"]+");\n")
f.write("#define "+x["name"]+" __wrapper_"+x["name"]+"\n")
f.write("\n\n")
f.write("typedef void (*GLWrapperFuncPtr)(void);\n\n");
f.write("void glWrapperInit( GLWrapperFuncPtr (*wrapperFunc)(const char*) );\n")
f.write("#ifdef __cplusplus\n}\n#endif\n")
f.write("#endif\n\n")
f=open("glwrapper.c","w")
f.write("\n\n")
f.write("#include \"glwrapper.h\"\n")
f.write("\n\n")
for x in functions:
f.write(x["ret"]+" GLWRP_APIENTRY (*__wrapper_"+x["name"]+")("+x["args"]+")=NULL;\n")
f.write("\n\n")
f.write("void glWrapperInit( GLWrapperFuncPtr (*wrapperFunc)(const char*) ) {\n")
f.write("\n")
for x in functions:
f.write("\t__wrapper_"+x["name"]+"=("+x["ret"]+" GLWRP_APIENTRY (*)("+x["args"]+"))wrapperFunc(\""+x["name"]+"\");\n")
f.write("\n\n")
f.write("}\n")
f.write("\n\n")

View File

@@ -0,0 +1,5 @@
convert -resize 32x32 ../../icon.svg icon32.ico
convert -resize 32x32 ../../icon.svg icon32.icns
for s in 16 24 32 64 96 128 256; do convert -resize ${s}x$s ../../icon.svg icon$s.png; done
zip icons.zip icon*.png
rm icon*.png

35
tools/scripts/memsort.py Normal file
View File

@@ -0,0 +1,35 @@
import sys
arg="memdump.txt"
if (len(sys.argv)>1):
arg=sys.argv[1]
f = open(arg,"rb")
l=f.readline()
sum = {}
cnt={}
while(l!=""):
s=l.split("-")
amount = int(s[1])
what=s[2]
if (what in sum):
sum[what]+=amount
cnt[what]+=1
else:
sum[what]=amount
cnt[what]=1
l=f.readline()
for x in sum:
print(x.strip()+"("+str(cnt[x])+"):\n: "+str(sum[x]))