#----- def saveItem(obj) : if obj.save : f = open(os.path.join(outdir, obj.newfile + ".dat"), 'w') for l in obj.lines : f.write(l) f.close() if obj.image != None : pygame.image.save(obj.image, os.path.join(outdir, obj.newfile + ".png")) #----- # main() is this piece of code try : import pygame except ImportError : print("This script needs PyGame to work!") print("Visit http://www.pygame.org to get it.") else : simutools.walkFiles(os.getcwd(), simutools.loadFile, cbparam=Data) for item in Data : procObj(item) if not os.path.exists(outdir) : os.mkdir(outdir) for item in Data : saveItem(item) #----- # EOF
def removeObj(item, foo): return item.ask("obj") in foo #----- def SaveAuthors(filename, authornames, dataset=Data): Tmp = copy.deepcopy(dataset) queryData(keepOnlyAuthors, authornames, dataset) writeCsv(filename, dataset) #----- simutools.walkFiles(os.getcwd(), simutools.loadFile, "statsignore.conf", True, Data) simutools.pruneList(Data) # now Data[] is full representation writeCsv("raw.csv") # save all data without changes queryData(removeEmpty) queryData(removeObj, ["program_text", "menu_text", "record_text"]) EmptyItems = copy.deepcopy(Data) queryData(keepOnlyUnknown, dataset=EmptyItems) writeCsv("empty-copyright.csv", dataset=EmptyItems) del EmptyItems
#! /usr/bin/python # -*- coding: utf-8 -*- # # Vladimír Slávik 2010-2011 # Python 2.6, 3.1 # # for Simutrans # http://www.simutrans.com # # code is public domain # # extract names of all present objects from __future__ import print_function import os import simutools Data = [] simutools.walkFiles(os.getcwd(), simutools.loadFile, cbparam=Data) simutools.pruneList(Data) names = [obj.ask("name", "") for obj in Data] names.sort() print("\n".join(names)) #----- # EOF
area = pygame.Rect(tile.coords[1] * tile.paksize, tile.coords[0] * tile.paksize, tile.paksize, tile.paksize) bitmap.fill(pygame.Color(255,0,0,255), area) # used parts will get red, unused stay as is pygame.image.save(bitmap, img + ".usage.png") #----- # main() is this piece of code try : import pygame except ImportError : print "This script needs PyGame to work!" print "Visit http://www.pygame.org to get it." else : simutools.walkFiles(os.getcwd(), simutools.loadFile, cbparam=Objects) simutools.pruneList(Objects) for item in Objects : procObj(item) simutools.walkFiles(os.getcwd(), (lambda file: FoundImages.append(file[:-4])), extension="png") for item in FoundImages : procImg(item) print "Finished!" #----- # EOF
# drop object when parameter is not present? get_fail = False elif arg == "-m": # drop object if comparison fails? cmp_fail = False elif arg[0] == "+": # +param adds param to output entries += [arg[1:]] else: # default to condition (3 parts) pieces = matcher.findall(arg) if len(pieces) == 1: rules += [pieces[0]] simutools.walkFiles(os.getcwd(), simutools.loadFile, cbparam=Data, recurse=recursive) # load stuff simutools.pruneList(Data) for rule in rules: # rule is (param, operator, value) of strings simutools.pruneByParamCmp(Data, rule[0], rule[1], rule[2], "magic") # header if out_format == "html": print( "<!doctype html>\n<html>\n<head>\n<title>lsobj</title>\n</head>\n<body>\n<table>" ) print("<thead><tr><th>", "</th><th>".join(entries), "</th></tr></thead>\n<tbody>",
return simuauthors.CheckAuthors(item.ask("copyright", "", False)) def removeObj(item, foo) : return item.ask("obj") in foo #----- def SaveAuthors(filename, authornames, dataset = Data) : Tmp = copy.deepcopy(dataset) queryData(keepOnlyAuthors, authornames, dataset) writeCsv(filename, dataset) #----- simutools.walkFiles(os.getcwd(), simutools.loadFile, "statsignore.conf", True, Data) simutools.pruneList(Data) # now Data[] is full representation writeCsv("raw.csv") # save all data without changes queryData(removeEmpty) queryData(removeObj, ["program_text", "menu_text", "record_text"]) EmptyItems = copy.deepcopy(Data) queryData(keepOnlyUnknown, dataset = EmptyItems) writeCsv("empty-copyright.csv", dataset = EmptyItems) del EmptyItems
f.close() #----- print("Starting.") try : import pygame except ImportError : print("This script needs PyGame to work!") print("Visit http://www.pygame.org to get it.") exit(1) parse_params() print("Loading files...") Data = [] simutools.walkFiles(indir, simutools.loadFile, cbparam=Data) os.makedirs(outdir, exist_ok=True) Items = {"vehicle":[], "good":[], "factory":[], "bridge":[], "way":[], "tunnel":[], "station":[]} split_data() del Data load_translations() print(" ...data prepared.") print("Generating ways...") os.makedirs(local_filename("ways"), exist_ok=True) generate_ways() print(" ...done.") print("Generating stations...") buffer = pygame.Surface((4*paksize,9*paksize/2)) # enough for tiles xyz=4*4*3 buffer.set_colorkey(SIMUBK)
# drop object when parameter is not present? get_fail = False elif arg == "-m" : # drop object if comparison fails? cmp_fail = False elif arg[0] == "+" : # +param adds param to output entries += [arg[1:]] else : # default to condition (3 parts) pieces = matcher.findall(arg) if len(pieces) == 1 : rules += [pieces[0]] simutools.walkFiles(os.getcwd(), simutools.loadFile, cbparam=Data, recurse=recursive) # load stuff simutools.pruneList(Data) for rule in rules : # rule is (param, operator, value) of strings simutools.pruneByParamCmp(Data, rule[0], rule[1], rule[2], "magic") # header if out_format=="html" : print("<!doctype html>\n<html>\n<head>\n<title>lsobj</title>\n</head>\n<body>\n<table>") print("<thead><tr><th>", "</th><th>".join(entries), "</th></tr></thead>\n<tbody>", sep="") elif out_format=="xml" : print("<?xml version=\"1.0\"?>\n<list>") elif out_format=="csv" : print(";".join(entries))