X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=server%2Futils.py;h=f7128916f37abbef0fb4136c9123c450fc233740;hb=refs%2Fheads%2F7drl2016;hp=db33eba88ebe79c368f72baf6a38e32c00c63c2f;hpb=9395575b648ff4de26be94020dddf796c988db73;p=plomrogue diff --git a/server/utils.py b/server/utils.py index db33eba..f712891 100644 --- a/server/utils.py +++ b/server/utils.py @@ -42,7 +42,8 @@ def integer_test(val_string, min, max=None): def id_setter(id, category, id_store=False, start_at_1=False): - """Set ID of object of category to manipulate ID. Unused? Create new one. + """Set ID of object of category to manipulate. ID unused? Create new one. + The ID is stored as id_store.id (if id_store is set). If the integer of the input is valid (if start_at_1, >= 0, else >= -1), but <0 or (if start_at_1) <1, calculate new ID: lowest unused ID >=0 or (if start_at_1) >= 1. None is @@ -83,19 +84,27 @@ def prep_library(): def c_pointer_to_bytearray(ba): """Return C char * pointer to ba.""" - type = ctypes.c_char * len(ba) - return type.from_buffer(ba) + ty = ctypes.c_char * len(ba) + return ty.from_buffer(ba) + + +def c_pointer_to_string(string): + """Return C char * pointer to string.""" + p = ctypes.c_char_p(string.encode("ascii")) + return p def parse_command_line_arguments(): """Return settings values read from command line arguments.""" import argparse parser = argparse.ArgumentParser() + parser.add_argument('-n', dest='new', action='store_true') parser.add_argument('-s', nargs='?', type=int, dest='replay', const=1, action='store') parser.add_argument('-l', nargs="?", const="save", dest='savefile', action="store") - parser.add_argument('-w', type=str, default="confserver/world", + parser.add_argument('-w', type=str, + default="confserver/TheCrawlingEater", dest='worldconf', action='store') parser.add_argument('-v', dest='verbose', action='store_true') opts, unknown = parser.parse_known_args()