diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-08-27 15:51:09 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-08-27 15:51:09 +0000 |
| commit | b322643f1725063793228292625ad155577b30d6 (patch) | |
| tree | 40212ab0b33d30dcf78b7cf97387395e887f9baa /datasrc | |
| parent | dfe499248f1b1236487156b28e4a535d7963fe35 (diff) | |
| download | zcatch-b322643f1725063793228292625ad155577b30d6.tar.gz zcatch-b322643f1725063793228292625ad155577b30d6.zip | |
missed some files
Diffstat (limited to 'datasrc')
| -rw-r--r-- | datasrc/compile.py | 25 | ||||
| -rw-r--r-- | datasrc/datatypes.py | 5 | ||||
| -rw-r--r-- | datasrc/network.py | 7 |
3 files changed, 35 insertions, 2 deletions
diff --git a/datasrc/compile.py b/datasrc/compile.py index d3970ed6..6258b905 100644 --- a/datasrc/compile.py +++ b/datasrc/compile.py @@ -11,6 +11,16 @@ def create_enum_table(names, num): lines += ["\t%s,"%name] lines += ["\t%s" % num, "};"] return lines + +def create_flags_table(names): + lines = [] + lines += ["enum", "{"] + i = 0 + for name in names: + lines += ["\t%s = 1<<%d," % (name,i)] + i += 1 + lines += ["};"] + return lines def EmitEnum(names, num): print "enum" @@ -20,6 +30,15 @@ def EmitEnum(names, num): print "\t%s,"%name print "\t%s" % num print "};" + +def EmitFlags(names, num): + print "enum" + print "{" + i = 0 + for name in names: + print "\t%s = 1<<%d," % (name,i) + i += 1 + print "};" gen_network_header = False @@ -80,7 +99,11 @@ if gen_network_header: print network.RawHeader for e in network.Enums: - for l in create_enum_table(["%s_%s"%(e.name, v) for v in e.values], "NUM_%sS"%e.name): print l + for l in create_enum_table(["%s_%s"%(e.name, v) for v in e.values], 'NUM_%sS'%e.name): print l + print "" + + for e in network.Flags: + for l in create_flags_table(["%s_%s" % (e.name, v) for v in e.values]): print l print "" for l in create_enum_table(["NETOBJ_INVALID"]+[o.enum_name for o in network.Objects], "NUM_NETOBJTYPES"): print l diff --git a/datasrc/datatypes.py b/datasrc/datatypes.py index 88678646..0b83493f 100644 --- a/datasrc/datatypes.py +++ b/datasrc/datatypes.py @@ -167,6 +167,11 @@ class Enum(): self.name = name self.values = values +class Flags(): + def __init__(self, name, values): + self.name = name + self.values = values + class NetObject: def __init__(self, name, variables): l = name.split(":") diff --git a/datasrc/network.py b/datasrc/network.py index 4c49f149..81b435f4 100644 --- a/datasrc/network.py +++ b/datasrc/network.py @@ -3,6 +3,7 @@ from datatypes import * Emotes = ["NORMAL", "PAIN", "HAPPY", "SURPRISE", "ANGRY", "BLINK"] PlayerStates = ["UNKNOWN", "PLAYING", "IN_MENU", "CHATTING"] GameTypes = ["DM", "TDM", "CTF"] +GameFlags = ["TEAMS"] Emoticons = [str(x) for x in xrange(1,16)] @@ -28,6 +29,10 @@ Enums = [ Enum("EMOTICON", Emoticons) ] +Flags = [ + Flags("GAMEFLAG", GameFlags) +] + Objects = [ NetObject("Player_Input", [ @@ -82,7 +87,7 @@ Objects = [ ]), NetObject("Game", [ - NetIntRange("team", 0, 1), + NetIntRange("flags", 0, 256), NetTick("round_start_tick"), NetIntRange("game_over", 0, 1), |