BuildSys1
authorksg <ken@mihrtec.com>
Wed, 6 Jul 2016 09:49:17 +0000 (02:49 -0700)
committerksg <ken@mihrtec.com>
Wed, 6 Jul 2016 09:49:17 +0000 (02:49 -0700)
20 files changed:
.gitignore
html/index.html [moved from src/html/index.html with 100% similarity]
html/js/auth.js [moved from src/html/js/auth.js with 100% similarity]
html/js/pre.js [moved from src/html/js/pre.js with 100% similarity]
html/js/the_march.config.js [moved from src/html/js/the_march.config.js with 100% similarity]
src/.make/build.mk [new file with mode: 0644]
src/.make/buildc.mk [new file with mode: 0644]
src/.make/buildc_Windows_NT.mk [new file with mode: 0644]
src/.make/buildc_emcc.mk [new file with mode: 0644]
src/.make/libwolfssl.mk [new file with mode: 0644]
src/Makefile
src/core/_rules.mk [deleted file]
src/deps.sh [deleted file]
src/proto/.gitignore [deleted file]
src/proto/_rules.mk [deleted file]
src/proto/cstrike15_gcmessages.proto [deleted file]
src/proto/cstrike15_usermessages_public.proto [deleted file]
src/proto/netmessages_public.proto [deleted file]
src/proto/proto.h [deleted file]
src/proto/steammessages.proto [deleted file]

index c9ace49..21035cc 100644 (file)
@@ -2,3 +2,4 @@
 *.bc
 dist/*
 extern/*
+proto/*
similarity index 100%
rename from src/html/index.html
rename to html/index.html
similarity index 100%
rename from src/html/js/auth.js
rename to html/js/auth.js
similarity index 100%
rename from src/html/js/pre.js
rename to html/js/pre.js
diff --git a/src/.make/build.mk b/src/.make/build.mk
new file mode 100644 (file)
index 0000000..c2c5562
--- /dev/null
@@ -0,0 +1,34 @@
+##################################################
+#Desc:   Build system for the Application
+#Author: Mihrtec LLC
+#Date:   2016
+##################################################
+#Included from ./build.mk
+#Defines variables used in the make process to
+#compile C files either to
+#native asm through gcc, or web through
+#emscripten
+##################################################
+#Environment Setup
+##################################################
+#Extra modules to build (core is built by default)
+MODULES  :=
+#Libraries to include
+LIBS     := wolfssl SDL2 SDL2_image SDL2_ttf
+
+#Build system directory management
+REPOROOT := ..
+DISTDIR  := $(REPOROOT)/dist
+BINDIR   := $(DISTDIR)/bin
+EXEDIR   := $(BINDIR)/$(shell uname -m)
+XTDIR    := $(REPOROOT)/extern
+XTLIBDIR := $(XTDIR)/lib
+
+#Build rules for each source type
+include .make/buildc.mk
+
+#Set the final target, flags, and objects for app compile
+APPDEPS  := $(CTARG) $(APPDEPS)
+APPTARG  := $(EXEDIR)/$(APPNAME)$(APPSUFFIX)
+APPFLAGS := $(CXXFLAGS) $(CFLAGS) $(APPFLAGS)
+APPDIRS  := $(sort $(dir $(APPTARG) $(WEBTARG)))
diff --git a/src/.make/buildc.mk b/src/.make/buildc.mk
new file mode 100644 (file)
index 0000000..a1768bb
--- /dev/null
@@ -0,0 +1,71 @@
+##################################################
+#Desc:   C Compiler Setup
+#Author: Mihrtec LLC
+#Date:   2016
+##################################################
+#Included from ./build.mk
+#Defines variables used in the make process to
+#compile C files either to native bc through gcc,
+#or web through emscripten
+##################################################
+#expand the app source dir last as a module to build
+CMODULES := $(MODULES) $(APPSRC)
+CLIBS    := $(patsubst %,-l%,$(LIBS))
+CSRC     := $(wildcard $(patsubst %,%/*.c,$(CMODULES)))
+CTARG    := $(CSRC:.c=.o)
+
+##################################################
+#Global CFlags
+##################################################
+#Warn Level
+CFLAGS := -Wall
+#Include each module's root directory and src/
+CFLAGS += $(patsubst %,-I%, $(CMODULES)) -I.
+#Precompiler Flags
+CFLAGS += -DAPPNAME=$(APPNAME)
+
+##################################################
+#Missing Lib Handler
+##################################################
+LDPIPE := ld $(CLIBS) 2>&1 >/dev/null
+LDGREP := grep "cannot find"
+LDSED  := sed -e 's@ld:.*-l\([^ ]*\).*@\1@'
+MISSINGLIBS := $(shell $(LDPIPE) | $(LDGREP) | $(LDSED))
+#Automake vars for building libs
+AMGEN  := ./autogen.sh
+AMCONF := ./configure
+AMMAKE := make
+
+##################################################
+#Override C Environment for compiler-specific
+#or OS specific requirements, if present
+##################################################
+-include .make/buildc_$(strip $(notdir $(CC))).mk
+ifdef OS
+-include .make/buildc_$(strip $(OS)).mk
+endif
+
+#Determine suffix (possibly overridden by includes)
+COBJSUF := $(suffix $(firstword $(CTARG)))
+
+##################################################
+#C Dependency Generator
+##################################################
+CGENDEP := $(strip $(CC) -MM -MG $(CXXFLAGS) $(CFLAGS)) $BASE.c
+CGENDEP += | sed -e 's@^.*\.o:@@'
+CGENDEP += | tr '\\' ' '
+
+#Set up all missing libs to be made in the source directory
+ifdef MISSINGLIBS
+$(info Static libraries to be built in $(XTLIBDIR):)
+$(info $(patsubst %,lib%.so,$(MISSINGLIBS)))
+STATICLIBS := $(patsubst %,$(XTLIBDIR)/lib%.so,$(MISSINGLIBS))
+CFLAGS     += -L$(XTLIBDIR) $(patsubst %,-I$(XTDIR)/%,$(MISSINGLIBS))
+#Ensure that C files depend on the creation of these static libs
+CDEPS      += $(STATICLIBS)
+#Modify the dependency generator to find the right directory for
+#missing libs (they are in XTDIR/libname)
+CGENDEP    += $(patsubst %, | sed -e 's@ \(%\)/@$(XTDIR)/\1/\1/@',$(MISSINGLIBS))
+endif
+
+CFLAGS += $(CLIBS)
diff --git a/src/.make/buildc_Windows_NT.mk b/src/.make/buildc_Windows_NT.mk
new file mode 100644 (file)
index 0000000..215e0b9
--- /dev/null
@@ -0,0 +1,6 @@
+#################################################
+#Windows build rules for c
+#################################################
+CLIBS     += mingw32 mwindows
+APPSUFFIX :=.exe
+
diff --git a/src/.make/buildc_emcc.mk b/src/.make/buildc_emcc.mk
new file mode 100644 (file)
index 0000000..364c707
--- /dev/null
@@ -0,0 +1,59 @@
+##################################################
+#Desc:   Web Build System
+#Author: Mihrtec LLC
+#Date:   2016
+##################################################
+#Compile Overrides for web
+##################################################
+#redefine EXE directory for web platform
+EXEDIR    := $(BINDIR)/web/js
+APPSUFFIX := .js
+#Override targets to make .bc files
+LIBS     := $(filter-out SDL2 SDL2_image SDL2_ttf, $(LIBS))
+CLIBS    := $(patsubst %,-l%,$(LIBS))
+CTARG    := $(CTARG:.o=.bc)
+#Expand the list of plain-text functions into what emcc expects
+EXPORT_FUNCS := $(patsubst %,'_%',$(EXPORT_FUNCS))
+EXPORT_LIST := $(shell echo "$(EXPORT_FUNCS)" | sed -e 's@ @, @g')
+#Mark all libs "missing" since they need to be built for emcc
+MISSINGLIBS := $(LIBS)
+#Set XTLibDir to one for bytecodes
+XTLIBDIR := $(XTLIBDIR)/bc
+#Override Automake vars
+AMGEN  := emconfigure $(AMGEN)
+AMCONF := emconfigure $(AMCONF)
+AMMAKE := emmake
+
+#Set up emscripten APPFLAGS
+APPFLAGS += --separate-asm
+APPFLAGS += -s ALLOW_MEMORY_GROWTH=1
+APPFLAGS += -s FORCE_FILESYSTEM=1
+#APPLFAGS += --pre-js pre.js
+
+#Set up emscripten flags for CC
+CFLAGS   += -s EXPORTED_FUNCTIONS="[$(EXPORT_LIST)]"
+CFLAGS   += -I$(XTDIR) -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s USE_SDL_TTF=2
+
+#Directory structure for web targets
+#Dirs for source files
+HTSRCDIR := $(REPOROOT)/html
+JSSRCDIR := $(HTSRCDIR)/js
+#Dirs for targets
+HTDIR    := $(EXEDIR)
+JSDIR    := $(HTDIR)/js
+
+#Discover each type of object supported
+HTSRC   := $(wildcard $(HTSRCDIR)/*.html)
+JSSRC   := $(wildcard $(JSSRCDIR)/*.js)
+WEBSRC  := $(HTSRC) $(JSSRC)
+
+#Translate sources into their required targets in APPDIR
+WEBTARG := $(patsubst $(HTSRCDIR)/%,$(HTDIR)/%,$(WEBSRC))
+
+#Add APPDEPS for all web objects so they must be created
+#at build time, before compilation of the main executable
+APPDEPS += $(WEBOBJ)
+
+#Later, we will use WEBTARG to define rules for "making"
+#these targets (with a cp action) and cleaning (with rm)
+
diff --git a/src/.make/libwolfssl.mk b/src/.make/libwolfssl.mk
new file mode 100644 (file)
index 0000000..ae1bcf2
--- /dev/null
@@ -0,0 +1,40 @@
+##################################################
+#Desc:   Wolf SSL lib generator
+#Author: Mihrtec LLC
+#Date:   2016
+##################################################
+#Included from Makefile
+#Defines rules for automatically making and
+#linking the external wolfssl library
+##################################################
+
+#wolfssl module compilation rules
+WOLFDIR  := $(XTDIR)/wolfssl
+WOLFSO   := $(WOLFDIR)/src/.libs/libwolfssl.so
+WOLFTARG := $(XTLIBDIR)/libwolfssl.so
+CONFCL   := --enable-singlethreaded=yes
+CONFCL   += --enable-static=yes
+CONFCL   += --enable-fastmath=no
+CONFCL   += --enable-cryptonly=yes
+CONFCL   += CFLAGS=-w
+GITADDR  := git@github.com:wolfSSL/wolfssl.git
+
+.INTERMEDIATE: $(WOLFSO)
+$(WOLFTARG): $(WOLFSO)
+       @cp -H $(WOLFSO) $(WOLFTARG)
+       @echo "WolfSSL library created"
+
+$(WOLFSO): $(WOLFDIR)
+       @cd $(WOLFDIR) && $(AMGEN) && $(AMCONF) $(CONFCL)
+       @sed -i 's@SIZEOF_LONG 0@SIZEOF_LONG 4@' $(WOLFDIR)/config.h
+       @sed -i 's@SIZEOF_LONG_LONG 0@SIZEOF_LONG_LONG 8@' $(WOLFDIR)/config.h
+       @cd $(WOLFDIR) && export CFLAGS=-w && $(AMMAKE) src/libwolfssl.la
+
+$(WOLFDIR):
+       @mkdir -p $(WOLFDIR)
+       @git clone $(GITADDR) $(WOLFDIR)
+       @mkdir -p $(dir $(WOLFTARG))
+
+
+scrub:
+       cd $(WOLFDIR) && make clean
index 4150556..4e22f2f 100644 (file)
-#Mihrtec Standard Makefile
-#Author: ksg
-
-#Project Info
-APPNAME     := the_march
-MODULES     := core
-CFLAGS      := -Wall
-
-#Additional deps and flags for the final executable file
-APP_FLAGS    :=
-APP_RULES   :=
-
-#Extra cleanup rules
-CLEAN_RULES :=
-SCRUB_RULES :=
-
-
-ifdef EMSCRIPTEN_TOOLS
-#Emscripten build environment
-APP_RULES += move
-HTML      := index.html js/the_march.config.js js/auth.js
-EXPORTS   := '_em_main', 'auth_encrypt'
-CC        := emcc
-EMFLAGS   := -I../extern/include
-EMFLAGS   += -s USE_SDL=2 -s USE_SDL_TTF=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS='["png"]'
-APP_FLAGS += --separate-asm -s ALLOW_MEMORY_GROWTH=1 -s FORCE_FILESYSTEM=1 --pre-js html/js/pre.js
-APP_FLAGS += -s EXPORTED_FUNCTIONS="[$(EXPORTS)]"
-EXEPATH   := ../dist/bin/jasm/js
-EXE       := $(APPNAME).js
-OBJFILE   :=bc
-EMFLAGS   += -I/usr/include/google -I../extern/include
-BYPRODUCT := $(APPNAME).asm.js $(APPNAME).js.mem
-APP_FLAGS += $(EMFLAGS) ../extern/lib/libwolfssl.so
-else
-#Native Build Environment
-CC        := gcc
-CFLAGS    +=
-#LIBS      := -lprotobuf-c
-LIBS      += SDL2_ttf SDL2_image SDL2main SDL2
-EXEPATH   := ../dist/bin/$(shell uname -m)
-#windows mingw build rules
-ifeq ($(OS), Windows_NT)
-LIBS      := -lmingw32 -mwindows $(LIBS)
-EXE       := $(APPNAME).exe
-else
-EXE       := $(APPNAME)
-endif
-OBJFILE   :=o
-endif
-
-#-I each of the module directories, include directory, and define APPNAME.
-CFLAGS    += $(patsubst %,-I%, $(MODULES))
-CFLAGS    += -Iinclude -I.
-CFLAGS    += -DAPPNAME=$(APPNAME)
-
-#auto include all .c files
-SRC       += $(patsubst %,%/*.c,$(MODULES))
-SRC       := $(wildcard $(SRC))
+##################################################
+#Desc:   Mihrtec Standard Makefile
+#Author: Mihrtec LLC
+#Date:   2016
+##################################################
+#Application Information
+##################################################
+#Executable name, also passed as -DAPPNAME to compiler
+APPNAME   := the_march
+#Directory in which we expect to find main()
+APPSRC    := core
+#Compiler flags for the final executable
+APPFLAGS  :=
+#Object files statically linked for the executable
+APPOBJ    :=
+#Dependencies which must be built before the executable
+APPDEPS   :=
+##################################################
+#Emscripten Info
+##################################################
+#Functions to export for JS Module
+EXPORT_FUNCS := em_main auth_encrypt
+#Flags to always run on emcc/em++
+EMFLAGS      :=
+
+#Import the build system setup
+include .make/build.mk
 
 #Targets that don't generate a file
-.PHONY: $(APPNAME) run push dox doc clean scrub all default move
+.PHONY: $(APPNAME) run push dox doc clean scrub all default
 #Define default rules to point to APPNAME
-all default: clean $(APPNAME)
-
-#include rules from any .mk file found in a module directory
-include $(wildcard $(patsubst %,%/*.mk,$(MODULES)))
-
-CFLAGS     += $(patsubst %,-l% ,$(LIBS))
-
-#populate C objects and dependency files to generate from SRC
-COBJ       += $(patsubst %.c,%.$(OBJFILE), $(filter %.c,$(SRC)))
-CDEP       += $(COBJ:.$(OBJFILE)=.d)
-
-include $(CDEP)
+all default: $(APPTARG)
 
 #Build the executable
-$(APPNAME): $(APP_RULES) $(CDEP) $(COBJ)
-       @mkdir -p $(EXEPATH)
-       $(CC) -o $(EXEPATH)/$(EXE) $(CXXFLAGS) $(CFLAGS) $(APP_FLAGS) core/main.$(OBJFILE)
+$(APPNAME) $(APPTARG): $(APPDEPS) | $(APPDIRS)
+       $(CC) -o $(APPTARG) $(APPFLAGS) $(APPDEPS)
+
+#create directories
+$(APPDIRS):
+       @mkdir -p $@
 
 #run the game after making it
 run: $(APPNAME)
-       $(EXEPATH)/$(EXE)
+       $(APPTARG)
 
 #push to github after successful compile
-push: $(APPNAME)
+push: $(APPTARG)
        @printf '\nEnter a commit message:\n'; \
                read CMT; \
                git commit -am "$$CMT"
-       git push origin master
+       git push
 
 dox doc:
        doxygen dox.conf
 
 #clean up intermediate dependency files and binaries
-clean: $(CLEAN_RULES)
-       @echo "Cleaning .d (deps) and .$(OBJFILE) (obj)"
-       @rm -f $(EXEPATH)/$(EXE) $(patsubst %,$(EXEPATH)/%, $(BYPRODUCT))
-       @rm -f $(patsubst %,%/*.$(OBJFILE), $(MODULES))
-       @rm -f $(patsubst %,%/*.d, $(MODULES))
+clean:
+       @echo "Cleaning build targets"
+       rm -f $(APPTARG) $(WEBTARG) $(CTARG)
 
 #Scrub down to minimal distribution
-scrub: clean $(SCRUB_RULES)
-
-#construct list of move rules for each HTML item
-.PHONY: $(HTML)
-$(HTML):
-       @mkdir -p ../dist/bin/jasm/js
-       @cp -f html/$@ ../dist/bin/jasm/$@
-#move js/html files
-move: $(HTML)
+scrub: | clean
 
 ################## DEFAULTS #####################
 #cancel default %.o behavior for %.d dependency
 %.o : %.c
 
-#new default .o for .c files
-%.bc %.o: %.c %.d
-       $(CC) -c $(EMFLAGS) $(CPPFLAGS) $(CFLAGS) $< -o $@
+#Generate and evaluate C dependencies
+$(foreach base,$(basename $(sort $(strip $(CTARG)))),\
+       $(eval $(strip $(base)$(COBJSUF): $(shell $(subst $BASE,$(base),$(CGENDEP))))))
 
-#default for .d dependency files (output from gcc -M)
-%.d: %.c
-       @./deps.sh 'dirname $*.c' $(CFLAGS) $*.c > $@
-       @sed -i 's/$(*F)[\.]o/$(@D)\/$(*F)\.o/g' $@
-       @cat $@ | sed 's/[\.][o]/.bc/g' >> $@
+#new default C build rule
+%.bc %.o: %.c $(CDEPS)
+       $(CC) $(CXXFLAGS) $(CFLAGS) $< -c -o $@
+
+#construct list of cp rules for each web item
+ifdef WEBTARG
+$(WEBTARG): $(HTMLDIR)/$(filter-out $(EXEDIR),$@)
+       cp -f $< $@
+endif
+
+#force including rules for making each lib in this case
+ifdef MISSINGLIBS
+include $(foreach lib,$(MISSINGLIBS),.make/lib$(lib).mk)
+endif
 
diff --git a/src/core/_rules.mk b/src/core/_rules.mk
deleted file mode 100644 (file)
index f3a964c..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#Core module compilation rules
-APP_RULES += wolfssl
-SCRUB_RULES += scrub_wolfssl
-
-.PHONY: wolfssl scrub_wolfssl
-wolfssl: ../extern/lib/libwolfssl.so
-       @echo "WolfSSL installed"
-
-../extern/lib/libwolfssl.so:
-       @echo "Downloading WolfSSL"
-       @mkdir -p tmp
-       @mkdir -p ../extern/include
-       @mkdir -p ../extern/lib
-       git clone git@github.com:wolfSSL/wolfssl.git tmp
-       @echo "Genearting WolfSSL Config" && cd tmp &&  emconfigure ./autogen.sh
-       @echo "Configuring WorlfSSL" && cd tmp && emconfigure ./configure --enable-singlethreaded=yes --enable-static=yes --enable-fastmath=no
-       sed -i 's/SIZEOF_LONG 0/SIZEOF_LONG 4/' tmp/config.h
-       sed -i 's/SIZEOF_LONG_LONG 0/SIZEOF_LONG_LONG 8/' tmp/config.h
-       cd tmp && emmake src/libwolfssl.la
-       cp -H tmp/src/.libs/libwolfssl.so ../extern/lib/libwolfssl.so
-       cp -r tmp/wolfssl ../extern/include
-       @rm -Rf tmp
-
-scrub_wolfssl:
-       @echo "Scrubbing WolfSSL"
-       @rm -Rf ../extern/include/wolfssl
-       @rm -f ../extern/lib/libwolfssl.so
diff --git a/src/deps.sh b/src/deps.sh
deleted file mode 100755 (executable)
index bcbb54b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-DIR="$1"
-shift 1
-case "$DIR" in
-    "" | ".")
-        gcc -MM -MG "$@" |
-            sed -e â€™s@ˆ\(.*\)\.o:@\1.d \1.o:@’
-        ;;
-    *)
-        gcc -MM -MG "$@" |
-            sed -e "s@ˆ\(.*\)\.o:@$DIR/\1.d $DIR/\1.o:@"
-        ;;
-esac
diff --git a/src/proto/.gitignore b/src/proto/.gitignore
deleted file mode 100644 (file)
index f0ea0c0..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-google
-*.pb-c.*
diff --git a/src/proto/_rules.mk b/src/proto/_rules.mk
deleted file mode 100644 (file)
index 484b28c..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#Protobuf Compilation
-PROTOCC    := protoc-c
-PROTOLIBS  := proto
-PBUFV      := 2.5.0
-
-#Proto Module Compile rules
-PROTOFLAGS  += $(patsubst %,--proto_path=%,$(PROTOLIBS))
-APP_RULES   += gen_proto
-CLEAN_RULES += protoclean
-SCRUB_RULES += protoscrub
-PROTO_SRC   := $(wildcard proto/*.proto)
-PROTO_TARG  := $(PROTO_SRC:.proto=.pb-c.c)
-PROTO_TARG  := $(PROTO_TARG) $(PROTO_TARG:.c=.h)
-
-.PHONY: protoclean protoscrub gen_proto
-
-gen_proto: $(PROTO_TARG)
-
-#download protobuf and move the google proto files.
-proto/google:
-       @mkdir tmp
-#      @git clone git@github.com:google/protobuf.git tmp
-       @curl https://protobuf.googlecode.com/files/protobuf-$(PBUFV).tar.gz | tar xz --directory=tmp
-       @mv tmp/protobuf-$(PBUFV)/src/google proto/google
-       @$(PROTOCC) --proto_path=proto/google/protobuf --c_out=proto/google/protobuf proto/google/protobuf/descriptor.proto
-       @echo "google" > proto/.gitignore
-       @echo "*.pb-c.*" >> proto/.gitignore
-       @rm -Rf tmp
-
-#default rule for making protobuf-compiled C code
-%.pb-c.h %.pb-c.c: %.proto proto/google
-       @$(PROTOCC) $(PROTOFLAGS) --c_out=$(@D) $<
-
-%.pb-c.h %.pb-c.c: proto/%.proto proto/google
-       @$(PROTOCC) $(PROTOFLAGS) --c_out=proto $<
-
-%.pb-c.o %.pb-c.bc: %.pb-c.h %.pb-c.c
-       @$(CC) -c -static $(CPPFLAGS) $(CFLAGS) -I/usr/include/google $< -o $@
-
-protoclean:
-       rm -f proto/*.pb-c.*
-
-protoscrub:
-       rm -Rf proto/google
-       rm -f proto/.gitignore
diff --git a/src/proto/cstrike15_gcmessages.proto b/src/proto/cstrike15_gcmessages.proto
deleted file mode 100644 (file)
index 75494ab..0000000
+++ /dev/null
@@ -1,945 +0,0 @@
-import "steammessages.proto";
-
-option optimize_for = SPEED;
-option cc_generic_services = false;
-
-enum ECsgoGCMsg {
-       k_EMsgGCCStrike15_v2_Base = 9100;
-       k_EMsgGCCStrike15_v2_MatchmakingStart = 9101;
-       k_EMsgGCCStrike15_v2_MatchmakingStop = 9102;
-       k_EMsgGCCStrike15_v2_MatchmakingClient2ServerPing = 9103;
-       k_EMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate = 9104;
-       k_EMsgGCCStrike15_v2_MatchmakingGC2ServerReserve = 9105;
-       k_EMsgGCCStrike15_v2_MatchmakingServerReservationResponse = 9106;
-       k_EMsgGCCStrike15_v2_MatchmakingGC2ClientReserve = 9107;
-       k_EMsgGCCStrike15_v2_MatchmakingServerRoundStats = 9108;
-       k_EMsgGCCStrike15_v2_MatchmakingClient2GCHello = 9109;
-       k_EMsgGCCStrike15_v2_MatchmakingGC2ClientHello = 9110;
-       k_EMsgGCCStrike15_v2_MatchmakingServerMatchEnd = 9111;
-       k_EMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon = 9112;
-       k_EMsgGCCStrike15_v2_MatchmakingServer2GCKick = 9113;
-       k_EMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm = 9114;
-       k_EMsgGCCStrike15_v2_MatchmakingGCOperationalStats = 9115;
-       k_EMsgGCCStrike15_v2_MatchmakingGC2ServerRankUpdate = 9116;
-       k_EMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate = 9117;
-       k_EMsgGCCStrike15_v2_ServerNotificationForUserPenalty = 9118;
-       k_EMsgGCCStrike15_v2_ClientReportPlayer = 9119;
-       k_EMsgGCCStrike15_v2_ClientReportServer = 9120;
-       k_EMsgGCCStrike15_v2_ClientCommendPlayer = 9121;
-       k_EMsgGCCStrike15_v2_ClientReportResponse = 9122;
-       k_EMsgGCCStrike15_v2_ClientCommendPlayerQuery = 9123;
-       k_EMsgGCCStrike15_v2_ClientCommendPlayerQueryResponse = 9124;
-       k_EMsgGCCStrike15_v2_WatchInfoUsers = 9126;
-       k_EMsgGCCStrike15_v2_ClientRequestPlayersProfile = 9127;
-       k_EMsgGCCStrike15_v2_PlayersProfile = 9128;
-       k_EMsgGCCStrike15_v2_SetMyMedalsInfo = 9129;
-       k_EMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate = 9131;
-       k_EMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment = 9132;
-       k_EMsgGCCStrike15_v2_PlayerOverwatchCaseStatus = 9133;
-       k_EMsgGCCStrike15_v2_GC2ClientTextMsg = 9134;
-       k_EMsgGCCStrike15_v2_Client2GCTextMsg = 9135;
-       k_EMsgGCCStrike15_v2_MatchEndRunRewardDrops = 9136;
-       k_EMsgGCCStrike15_v2_MatchEndRewardDropsNotification = 9137;
-       k_EMsgGCCStrike15_v2_ClientRequestWatchInfoFriends2 = 9138;
-       k_EMsgGCCStrike15_v2_MatchList = 9139;
-       k_EMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames = 9140;
-       k_EMsgGCCStrike15_v2_MatchListRequestRecentUserGames = 9141;
-       k_EMsgGCCStrike15_v2_GC2ServerReservationUpdate = 9142;
-       k_EMsgGCCStrike15_v2_ClientVarValueNotificationInfo = 9144;
-       k_EMsgGCCStrike15_v2_TournamentMatchRewardDropsNotification = 9145;
-       k_EMsgGCCStrike15_v2_MatchListRequestTournamentGames = 9146;
-       k_EMsgGCCStrike15_v2_MatchListRequestFullGameInfo = 9147;
-       k_EMsgGCCStrike15_v2_GiftsLeaderboardRequest = 9148;
-       k_EMsgGCCStrike15_v2_GiftsLeaderboardResponse = 9149;
-       k_EMsgGCCStrike15_v2_ServerVarValueNotificationInfo = 9150;
-       k_EMsgGCToGCReloadVersions = 9151;
-       k_EMsgGCCStrike15_v2_ClientSubmitSurveyVote = 9152;
-       k_EMsgGCCStrike15_v2_Server2GCClientValidate = 9153;
-       k_EMsgGCCStrike15_v2_MatchListRequestLiveGameForUser = 9154;
-       k_EMsgGCCStrike15_v2_Server2GCPureServerValidationFailure = 9155;
-       k_EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest = 9156;
-       k_EMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse = 9157;
-       k_EMsgGCCStrike15_v2_AccountPrivacySettings = 9158;
-       k_EMsgGCCStrike15_v2_SetMyActivityInfo = 9159;
-       k_EMsgGCCStrike15_v2_MatchListRequestTournamentPredictions = 9160;
-       k_EMsgGCCStrike15_v2_MatchListUploadTournamentPredictions = 9161;
-       k_EMsgGCCStrike15_v2_DraftSummary = 9162;
-       k_EMsgGCCStrike15_v2_ClientRequestJoinFriendData = 9163;
-       k_EMsgGCCStrike15_v2_ClientRequestJoinServerData = 9164;
-       k_EMsgGCCStrike15_v2_ClientRequestNewMission = 9165;
-       k_EMsgGCCStrike15_v2_GC2ServerNotifyXPRewarded = 9166;
-       k_EMsgGCCStrike15_v2_GC2ClientTournamentInfo = 9167;
-       k_EMsgGC_GlobalGame_Subscribe = 9168;
-       k_EMsgGC_GlobalGame_Unsubscribe = 9169;
-       k_EMsgGC_GlobalGame_Play = 9170;
-       k_EMsgGCCStrike15_v2_AcknowledgePenalty = 9171;
-       k_EMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin = 9172;
-       k_EMsgGCCStrike15_v2_GC2ClientGlobalStats = 9173;
-       k_EMsgGCCStrike15_v2_Client2GCStreamUnlock = 9174;
-       k_EMsgGCCStrike15_v2_FantasyRequestClientData = 9175;
-       k_EMsgGCCStrike15_v2_FantasyUpdateClientData = 9176;
-}
-
-message GameServerPing {
-       optional uint64 gameserver_id = 1;
-       optional int32 ping = 2;
-       optional uint32 ip = 3;
-       optional uint32 port = 4;
-       optional uint32 instances = 5;
-}
-
-message DetailedSearchStatistic {
-       optional uint32 game_type = 1;
-       optional uint32 search_time_avg = 2;
-       optional uint32 players_searching = 4;
-}
-
-message TournamentPlayer {
-       optional uint32 account_id = 1;
-       optional string player_nick = 2;
-       optional string player_name = 3;
-       optional uint32 player_dob = 4;
-       optional string player_flag = 5;
-       optional string player_location = 6;
-       optional string player_desc = 7;
-}
-
-message TournamentTeam {
-       optional int32 team_id = 1;
-       optional string team_tag = 2;
-       optional string team_flag = 3;
-       optional string team_name = 4;
-       repeated .TournamentPlayer players = 5;
-}
-
-message TournamentEvent {
-       optional int32 event_id = 1;
-       optional string event_tag = 2;
-       optional string event_name = 3;
-       optional uint32 event_time_start = 4;
-       optional uint32 event_time_end = 5;
-       optional int32 event_public = 6;
-       optional int32 event_stage_id = 7;
-       optional string event_stage_name = 8;
-       optional uint32 active_section_id = 9;
-}
-
-message GlobalStatistics {
-       optional uint32 players_online = 1;
-       optional uint32 servers_online = 2;
-       optional uint32 players_searching = 3;
-       optional uint32 servers_available = 4;
-       optional uint32 ongoing_matches = 5;
-       optional uint32 search_time_avg = 6;
-       repeated .DetailedSearchStatistic search_statistics = 7;
-       optional string main_post_url = 8;
-       optional uint32 required_appid_version = 9;
-       optional uint32 pricesheet_version = 10;
-       optional uint32 twitch_streams_version = 11;
-       optional uint32 active_tournament_eventid = 12;
-       optional uint32 active_survey_id = 13;
-}
-
-message OperationalStatisticDescription {
-       optional string name = 1;
-       optional uint32 idkey = 2;
-}
-
-message OperationalStatisticElement {
-       optional uint32 idkey = 1;
-       repeated int32 values = 2;
-}
-
-message OperationalStatisticsPacket {
-       optional int32 packetid = 1;
-       optional int32 mstimestamp = 2;
-       repeated .OperationalStatisticElement values = 3;
-}
-
-message PlayerRankingInfo {
-       optional uint32 account_id = 1;
-       optional uint32 rank_id = 2;
-       optional uint32 wins = 3;
-       optional float rank_change = 4;
-}
-
-message PlayerCommendationInfo {
-       optional uint32 cmd_friendly = 1;
-       optional uint32 cmd_teaching = 2;
-       optional uint32 cmd_leader = 4;
-}
-
-message PlayerMedalsInfo {
-       optional uint32 medal_team = 1;
-       optional uint32 medal_combat = 2;
-       optional uint32 medal_weapon = 3;
-       optional uint32 medal_global = 4;
-       optional uint32 medal_arms = 5;
-       repeated uint32 display_items_defidx = 7;
-       optional uint32 featured_display_item_defidx = 8;
-}
-
-message AccountActivity {
-       optional uint32 activity = 1;
-       optional uint32 mode = 2;
-       optional uint32 map = 3;
-}
-
-message TournamentMatchSetup {
-       optional int32 event_id = 1;
-       optional int32 team_id_ct = 2;
-       optional int32 team_id_t = 3;
-       optional int32 event_stage_id = 4;
-}
-
-message ServerHltvInfo {
-       optional uint32 tv_udp_port = 1;
-       optional uint64 tv_watch_key = 2;
-       optional uint32 tv_slots = 3;
-       optional uint32 tv_clients = 4;
-       optional uint32 tv_proxies = 5;
-       optional uint32 tv_time = 6;
-       optional uint32 game_type = 8;
-       optional string game_mapgroup = 9;
-       optional string game_map = 10;
-       optional uint64 tv_master_steamid = 11;
-       optional uint32 tv_local_slots = 12;
-       optional uint32 tv_local_clients = 13;
-       optional uint32 tv_local_proxies = 14;
-       optional uint32 tv_relay_slots = 15;
-       optional uint32 tv_relay_clients = 16;
-       optional uint32 tv_relay_proxies = 17;
-       optional uint32 tv_relay_address = 18;
-       optional uint32 tv_relay_port = 19;
-       optional uint64 tv_relay_steamid = 20;
-}
-
-message IpAddressMask {
-       optional uint32 a = 1;
-       optional uint32 b = 2;
-       optional uint32 c = 3;
-       optional uint32 d = 4;
-       optional uint32 bits = 5;
-       optional uint32 token = 6;
-}
-
-message XpProgressData {
-       optional uint32 xp_points = 1;
-       optional int32 xp_category = 2;
-}
-
-message MatchEndItemUpdates {
-       optional uint64 item_id = 1;
-       optional uint32 item_attr_defidx = 2;
-       optional uint32 item_attr_delta_value = 3;
-}
-
-message ScoreLeaderboardData {
-       message Entry {
-               optional uint32 tag = 1;
-               optional uint32 val = 2;
-       }
-
-       message AccountEntries {
-               optional uint32 accountid = 1;
-               repeated .ScoreLeaderboardData.Entry entries = 2;
-       }
-
-       optional uint64 quest_id = 1;
-       optional uint32 score = 2;
-       repeated .ScoreLeaderboardData.AccountEntries accountentries = 3;
-       repeated .ScoreLeaderboardData.Entry matchentries = 5;
-}
-
-message PlayerQuestData {
-       message QuestItemData {
-               optional uint64 quest_id = 1;
-               optional int32 quest_normal_points_earned = 2;
-               optional int32 quest_bonus_points_earned = 3;
-       }
-
-       optional uint32 quester_account_id = 1;
-       repeated .PlayerQuestData.QuestItemData quest_item_data = 2;
-       repeated .XpProgressData xp_progress_data = 3;
-       optional uint32 time_played = 4;
-       optional uint32 mm_game_mode = 5;
-       repeated .MatchEndItemUpdates item_updates = 6;
-}
-
-message CMsgGC_ServerQuestUpdateData {
-       repeated .PlayerQuestData player_quest_data = 1;
-       optional bytes binary_data = 2;
-       optional uint32 mm_game_mode = 3;
-       optional .ScoreLeaderboardData missionlbsdata = 4;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGCOperationalStats {
-       optional int32 packetid = 1;
-       repeated .OperationalStatisticDescription namekeys = 2;
-       repeated .OperationalStatisticsPacket packets = 3;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm {
-       optional uint32 token = 1;
-       optional uint32 stamp = 2;
-       optional uint64 exchange = 3;
-}
-
-message CMsgGCCStrike15_v2_GC2ServerReservationUpdate {
-       optional uint32 viewers_external_total = 1;
-       optional uint32 viewers_external_steam = 2;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingStart {
-       repeated uint32 account_ids = 1;
-       optional uint32 game_type = 2;
-       optional string ticket_data = 3;
-       optional uint32 client_version = 4;
-       optional .TournamentMatchSetup tournament_match = 5;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingStop {
-       optional int32 abandon = 1;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingClient2ServerPing {
-       repeated .GameServerPing gameserverpings = 1;
-       optional int32 offset_index = 2;
-       optional int32 final_batch = 3;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate {
-       message Note {
-               optional int32 type = 1;
-               optional int32 region_id = 2;
-               optional float region_r = 3;
-               optional float distance = 4;
-       }
-
-       optional int32 matchmaking = 1;
-       repeated uint32 waiting_account_id_sessions = 2;
-       optional string error = 3;
-       repeated uint32 ongoingmatch_account_id_sessions = 6;
-       optional .GlobalStatistics global_stats = 7;
-       repeated uint32 failping_account_id_sessions = 8;
-       repeated uint32 penalty_account_id_sessions = 9;
-       repeated uint32 failready_account_id_sessions = 10;
-       repeated uint32 vacbanned_account_id_sessions = 11;
-       optional .IpAddressMask server_ipaddress_mask = 12;
-       repeated .CMsgGCCStrike15_v2_MatchmakingGC2ClientUpdate.Note notes = 13;
-       repeated uint32 penalty_account_id_sessions_green = 14;
-       repeated uint32 insufficientlevel_sessions = 15;
-}
-
-message CDataGCCStrike15_v2_TournamentMatchDraft {
-       message Entry {
-               optional int32 mapid = 1;
-               optional int32 team_id_ct = 2;
-       }
-
-       optional int32 event_id = 1;
-       optional int32 event_stage_id = 2;
-       optional int32 team_id_0 = 3;
-       optional int32 team_id_1 = 4;
-       optional int32 maps_count = 5;
-       optional int32 maps_current = 6;
-       optional int32 team_id_start = 7;
-       optional int32 team_id_veto1 = 8;
-       optional int32 team_id_pickn = 9;
-       repeated .CDataGCCStrike15_v2_TournamentMatchDraft.Entry drafts = 10;
-}
-
-message CPreMatchInfoData {
-       message TeamStats {
-               optional int32 match_info_idxtxt = 1;
-               optional string match_info_txt = 2;
-               repeated string match_info_teams = 3;
-       }
-
-       optional int32 predictions_pct = 1;
-       optional .CDataGCCStrike15_v2_TournamentMatchDraft draft = 4;
-       repeated .CPreMatchInfoData.TeamStats stats = 5;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve {
-       repeated uint32 account_ids = 1;
-       optional uint32 game_type = 2;
-       optional uint64 match_id = 3;
-       optional uint32 server_version = 4;
-       repeated .PlayerRankingInfo rankings = 5;
-       optional uint64 encryption_key = 6;
-       optional uint64 encryption_key_pub = 7;
-       repeated uint32 party_ids = 8;
-       repeated .IpAddressMask whitelist = 9;
-       optional uint64 tv_master_steamid = 10;
-       optional .TournamentEvent tournament_event = 11;
-       repeated .TournamentTeam tournament_teams = 12;
-       repeated uint32 tournament_casters_account_ids = 13;
-       optional uint64 tv_relay_steamid = 14;
-       optional .CPreMatchInfoData pre_match_data = 15;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingServerReservationResponse {
-       optional uint64 reservationid = 1;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
-       optional string map = 3;
-       optional uint64 gc_reservation_sent = 4;
-       optional uint32 server_version = 5;
-       optional .ServerHltvInfo tv_info = 6;
-       repeated uint32 reward_player_accounts = 7;
-       repeated uint32 idle_player_accounts = 8;
-       optional uint32 reward_item_attr_def_idx = 9;
-       optional uint32 reward_item_attr_value = 10;
-       optional uint32 reward_item_attr_reward_idx = 11;
-       optional uint32 reward_drop_list = 12;
-       optional string tournament_tag = 13;
-       optional uint32 steamdatagram_port = 14;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve {
-       optional uint64 serverid = 1;
-       optional string server_address = 7;
-       optional uint32 legacy_serverip = 2;
-       optional uint32 legacy_serverport = 3;
-       optional uint64 reservationid = 4;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 5;
-       optional string map = 6;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingServerRoundStats {
-       message DropInfo {
-               optional uint32 account_mvp = 1;
-       }
-
-       optional uint64 reservationid = 1;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
-       optional string map = 3;
-       optional int32 round = 4;
-       repeated int32 kills = 5;
-       repeated int32 assists = 6;
-       repeated int32 deaths = 7;
-       repeated int32 scores = 8;
-       repeated int32 pings = 9;
-       optional int32 round_result = 10;
-       optional int32 match_result = 11;
-       repeated int32 team_scores = 12;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm confirm = 13;
-       optional int32 reservation_stage = 14;
-       optional int32 match_duration = 15;
-       repeated int32 enemy_kills = 16;
-       repeated int32 enemy_headshots = 17;
-       repeated int32 enemy_3ks = 18;
-       repeated int32 enemy_4ks = 19;
-       repeated int32 enemy_5ks = 20;
-       repeated int32 mvps = 21;
-       optional uint32 spectators_count = 22;
-       optional uint32 spectators_count_tv = 23;
-       optional uint32 spectators_count_lnk = 24;
-       repeated int32 enemy_kills_agg = 25;
-       optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats.DropInfo drop_info = 26;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingServerMatchEnd {
-       optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats stats = 1;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerConfirm confirm = 3;
-       optional uint64 rematch = 4;
-       optional uint32 replay_token = 5;
-       optional uint32 replay_cluster_id = 6;
-       optional bool aborted_match = 7;
-       optional .CMsgGC_ServerQuestUpdateData match_end_quest_data = 8;
-       optional uint32 server_version = 9;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingClient2GCHello {
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGC2ClientHello {
-       optional uint32 account_id = 1;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve ongoingmatch = 2;
-       optional .GlobalStatistics global_stats = 3;
-       optional uint32 penalty_seconds = 4;
-       optional uint32 penalty_reason = 5;
-       optional int32 vac_banned = 6;
-       optional .PlayerRankingInfo ranking = 7;
-       optional .PlayerCommendationInfo commendation = 8;
-       optional .PlayerMedalsInfo medals = 9;
-       optional .TournamentEvent my_current_event = 10;
-       repeated .TournamentTeam my_current_event_teams = 11;
-       optional .TournamentTeam my_current_team = 12;
-       repeated .TournamentEvent my_current_event_stages = 13;
-       optional uint32 survey_vote = 14;
-       optional .AccountActivity activity = 15;
-       optional int32 player_level = 17;
-       optional int32 player_cur_xp = 18;
-       optional int32 player_xp_bonus_flags = 19;
-}
-
-message CMsgGCCStrike15_v2_AccountPrivacySettings {
-       message Setting {
-               optional uint32 setting_type = 1;
-               optional uint32 setting_value = 2;
-       }
-
-       repeated .CMsgGCCStrike15_v2_AccountPrivacySettings.Setting settings = 1;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGC2ClientAbandon {
-       optional uint32 account_id = 1;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve abandoned_match = 2;
-       optional uint32 penalty_seconds = 3;
-       optional uint32 penalty_reason = 4;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingServer2GCKick {
-       optional uint32 account_id = 1;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ServerReserve reservation = 2;
-       optional uint32 reason = 3;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingGC2ServerRankUpdate {
-       repeated .PlayerRankingInfo rankings = 1;
-       optional uint64 match_id = 2;
-}
-
-message CMsgGCCStrike15_v2_MatchmakingOperator2GCBlogUpdate {
-       optional string main_post_url = 1;
-}
-
-message CMsgGCCStrike15_v2_ServerNotificationForUserPenalty {
-       optional uint32 account_id = 1;
-       optional uint32 reason = 2;
-       optional uint32 seconds = 3;
-}
-
-message CMsgGCCStrike15_v2_ClientReportPlayer {
-       optional uint32 account_id = 1;
-       optional uint32 rpt_aimbot = 2;
-       optional uint32 rpt_wallhack = 3;
-       optional uint32 rpt_speedhack = 4;
-       optional uint32 rpt_teamharm = 5;
-       optional uint32 rpt_textabuse = 6;
-       optional uint32 rpt_voiceabuse = 7;
-       optional uint64 match_id = 8;
-}
-
-message CMsgGCCStrike15_v2_ClientCommendPlayer {
-       optional uint32 account_id = 1;
-       optional uint64 match_id = 8;
-       optional .PlayerCommendationInfo commendation = 9;
-       optional uint32 tokens = 10;
-}
-
-message CMsgGCCStrike15_v2_ClientReportServer {
-       optional uint32 rpt_poorperf = 1;
-       optional uint32 rpt_abusivemodels = 2;
-       optional uint32 rpt_badmotd = 3;
-       optional uint32 rpt_listingabuse = 4;
-       optional uint32 rpt_inventoryabuse = 5;
-       optional uint64 match_id = 8;
-}
-
-message CMsgGCCStrike15_v2_ClientReportResponse {
-       optional uint64 confirmation_id = 1;
-       optional uint32 account_id = 2;
-       optional uint32 server_ip = 3;
-       optional uint32 response_type = 4;
-       optional uint32 response_result = 5;
-       optional uint32 tokens = 6;
-}
-
-message CMsgGCCStrike15_v2_ClientRequestWatchInfoFriends {
-       optional uint32 request_id = 1;
-       repeated uint32 account_ids = 2;
-       optional uint64 serverid = 3;
-       optional uint64 matchid = 4;
-}
-
-message WatchableMatchInfo {
-       optional uint32 server_ip = 1;
-       optional uint32 tv_port = 2;
-       optional uint32 tv_spectators = 3;
-       optional uint32 tv_time = 4;
-       optional bytes tv_watch_password = 5;
-       optional uint64 cl_decryptdata_key = 6;
-       optional uint64 cl_decryptdata_key_pub = 7;
-       optional uint32 game_type = 8;
-       optional string game_mapgroup = 9;
-       optional string game_map = 10;
-       optional uint64 server_id = 11;
-       optional uint64 match_id = 12;
-       optional uint64 reservation_id = 13;
-}
-
-message CMsgGCCStrike15_v2_ClientRequestJoinFriendData {
-       optional uint32 version = 1;
-       optional uint32 account_id = 2;
-       optional uint32 join_token = 3;
-       optional uint32 join_ipp = 4;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve res = 5;
-       optional string errormsg = 6;
-}
-
-message CMsgGCCStrike15_v2_ClientRequestJoinServerData {
-       optional uint32 version = 1;
-       optional uint32 account_id = 2;
-       optional uint64 serverid = 3;
-       optional uint32 server_ip = 4;
-       optional uint32 server_port = 5;
-       optional .CMsgGCCStrike15_v2_MatchmakingGC2ClientReserve res = 6;
-}
-
-message CMsgGCCstrike15_v2_ClientRequestNewMission {
-       optional uint32 mission_id = 2;
-       optional uint32 campaign_id = 3;
-}
-
-message CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded {
-       repeated .XpProgressData xp_progress_data = 1;
-       optional uint32 account_id = 2;
-       optional uint32 current_xp = 3;
-       optional uint32 current_level = 4;
-       optional uint32 upgraded_defidx = 5;
-}
-
-message CMsgGCCStrike15_v2_WatchInfoUsers {
-       optional uint32 request_id = 1;
-       repeated uint32 account_ids = 2;
-       repeated .WatchableMatchInfo watchable_match_infos = 3;
-       optional uint32 extended_timeout = 5;
-}
-
-message CMsgGCCStrike15_v2_ClientRequestPlayersProfile {
-       optional uint32 request_id__deprecated = 1;
-       repeated uint32 account_ids__deprecated = 2;
-       optional uint32 account_id = 3;
-       optional uint32 request_level = 4;
-}
-
-message CMsgGCCStrike15_v2_PlayersProfile {
-       optional uint32 request_id = 1;
-       repeated .CMsgGCCStrike15_v2_MatchmakingGC2ClientHello account_profiles = 2;
-}
-
-message CMsgGCCStrike15_v2_PlayerOverwatchCaseUpdate {
-       optional uint64 caseid = 1;
-       optional uint32 suspectid = 3;
-       optional uint32 fractionid = 4;
-       optional uint32 rpt_aimbot = 5;
-       optional uint32 rpt_wallhack = 6;
-       optional uint32 rpt_speedhack = 7;
-       optional uint32 rpt_teamharm = 8;
-       optional uint32 reason = 9;
-}
-
-message CMsgGCCStrike15_v2_PlayerOverwatchCaseAssignment {
-       optional uint64 caseid = 1;
-       optional string caseurl = 2;
-       optional uint32 verdict = 3;
-       optional uint32 timestamp = 4;
-       optional uint32 throttleseconds = 5;
-       optional uint32 suspectid = 6;
-       optional uint32 fractionid = 7;
-       optional uint32 numrounds = 8;
-       optional uint32 fractionrounds = 9;
-       optional int32 streakconvictions = 10;
-       optional uint32 reason = 11;
-}
-
-message CMsgGCCStrike15_v2_PlayerOverwatchCaseStatus {
-       optional uint64 caseid = 1;
-       optional uint32 statusid = 2;
-}
-
-message CClientHeaderOverwatchEvidence {
-       optional uint32 accountid = 1;
-       optional uint64 caseid = 2;
-}
-
-message CMsgGCCStrike15_v2_GC2ClientTextMsg {
-       optional uint32 id = 1;
-       optional uint32 type = 2;
-       optional bytes payload = 3;
-}
-
-message CMsgGCCStrike15_v2_Client2GCTextMsg {
-       optional uint32 id = 1;
-       repeated bytes args = 2;
-}
-
-message CMsgGCCStrike15_v2_MatchEndRunRewardDrops {
-       optional .CMsgGCCStrike15_v2_MatchmakingServerReservationResponse serverinfo = 3;
-       optional .CMsgGC_ServerQuestUpdateData match_end_quest_data = 4;
-}
-
-message CEconItemPreviewDataBlock {
-       message Sticker {
-               optional uint32 slot = 1;
-               optional uint32 sticker_id = 2;
-               optional float wear = 3;
-               optional float scale = 4;
-               optional float rotation = 5;
-       }
-
-       optional uint32 accountid = 1;
-       optional uint64 itemid = 2;
-       optional uint32 defindex = 3;
-       optional uint32 paintindex = 4;
-       optional uint32 rarity = 5;
-       optional uint32 quality = 6;
-       optional uint32 paintwear = 7;
-       optional uint32 paintseed = 8;
-       optional uint32 killeaterscoretype = 9;
-       optional uint32 killeatervalue = 10;
-       optional string customname = 11;
-       repeated .CEconItemPreviewDataBlock.Sticker stickers = 12;
-       optional uint32 inventory = 13;
-       optional uint32 origin = 14;
-       optional uint32 questid = 15;
-       optional uint32 dropreason = 16;
-}
-
-message CMsgGCCStrike15_v2_MatchEndRewardDropsNotification {
-       optional .CEconItemPreviewDataBlock iteminfo = 6;
-}
-
-message CMsgItemAcknowledged {
-       optional .CEconItemPreviewDataBlock iteminfo = 1;
-}
-
-message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest {
-       optional uint64 param_s = 1;
-       optional uint64 param_a = 2;
-       optional uint64 param_d = 3;
-       optional uint64 param_m = 4;
-}
-
-message CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse {
-       optional .CEconItemPreviewDataBlock iteminfo = 1;
-}
-
-message CMsgGCCStrike15_v2_TournamentMatchRewardDropsNotification {
-       optional uint64 match_id = 1;
-       optional uint32 defindex = 2;
-       repeated uint32 accountids = 3;
-}
-
-message CMsgGCCStrike15_v2_MatchListRequestCurrentLiveGames {
-}
-
-message CMsgGCCStrike15_v2_MatchListRequestLiveGameForUser {
-       optional uint32 accountid = 1;
-}
-
-message CMsgGCCStrike15_v2_MatchListRequestRecentUserGames {
-       optional uint32 accountid = 1;
-}
-
-message CMsgGCCStrike15_v2_MatchListRequestTournamentGames {
-       optional int32 eventid = 1;
-}
-
-message CMsgGCCStrike15_v2_MatchListRequestFullGameInfo {
-       optional uint64 matchid = 1;
-       optional uint64 outcomeid = 2;
-       optional uint32 token = 3;
-}
-
-message CDataGCCStrike15_v2_MatchInfo {
-       optional uint64 matchid = 1;
-       optional uint32 matchtime = 2;
-       optional .WatchableMatchInfo watchablematchinfo = 3;
-       optional .CMsgGCCStrike15_v2_MatchmakingServerRoundStats roundstats_legacy = 4;
-       repeated .CMsgGCCStrike15_v2_MatchmakingServerRoundStats roundstatsall = 5;
-}
-
-message CDataGCCStrike15_v2_TournamentGroupTeam {
-       optional int32 team_id = 1;
-       optional int32 score = 2;
-       optional bool correctpick = 3;
-}
-
-message CDataGCCStrike15_v2_TournamentGroup {
-       message Picks {
-               repeated int32 pickids = 1;
-       }
-
-       optional uint32 groupid = 1;
-       optional string name = 2;
-       optional string desc = 3;
-       optional uint32 picks__deprecated = 4;
-       repeated .CDataGCCStrike15_v2_TournamentGroupTeam teams = 5;
-       repeated int32 stage_ids = 6;
-       optional uint32 picklockuntiltime = 7;
-       optional uint32 pickableteams = 8;
-       optional uint32 points_per_pick = 9;
-       repeated .CDataGCCStrike15_v2_TournamentGroup.Picks picks = 10;
-}
-
-message CDataGCCStrike15_v2_TournamentSection {
-       optional uint32 sectionid = 1;
-       optional string name = 2;
-       optional string desc = 3;
-       repeated .CDataGCCStrike15_v2_TournamentGroup groups = 4;
-}
-
-message CDataGCCStrike15_v2_TournamentInfo {
-       repeated .CDataGCCStrike15_v2_TournamentSection sections = 1;
-       optional .TournamentEvent tournament_event = 2;
-       repeated .TournamentTeam tournament_teams = 3;
-}
-
-message CMsgGCCStrike15_v2_MatchList {
-       optional uint32 msgrequestid = 1;
-       optional uint32 accountid = 2;
-       optional uint32 servertime = 3;
-       repeated .CDataGCCStrike15_v2_MatchInfo matches = 4;
-       repeated .TournamentTeam streams = 5;
-       optional .CDataGCCStrike15_v2_TournamentInfo tournamentinfo = 6;
-}
-
-message CMsgGCCStrike15_v2_Predictions {
-       message GroupMatchTeamPick {
-               optional int32 sectionid = 1;
-               optional int32 groupid = 2;
-               optional int32 index = 3;
-               optional int32 teamid = 4;
-               optional uint64 itemid = 5;
-       }
-
-       optional uint32 event_id = 1;
-       repeated .CMsgGCCStrike15_v2_Predictions.GroupMatchTeamPick group_match_team_picks = 2;
-}
-
-message CMsgGCCStrike15_v2_Fantasy {
-       message FantasySlot {
-               optional int32 type = 1;
-               optional int32 pick = 2;
-               optional uint64 itemid = 3;
-       }
-
-       message FantasyTeam {
-               optional int32 sectionid = 1;
-               repeated .CMsgGCCStrike15_v2_Fantasy.FantasySlot slots = 2;
-       }
-
-       optional uint32 event_id = 1;
-       repeated .CMsgGCCStrike15_v2_Fantasy.FantasyTeam teams = 2;
-}
-
-message CAttribute_String {
-       optional string value = 1;
-}
-
-message CMsgGCToGCReloadVersions {
-}
-
-message CMsgCStrike15Welcome {
-       optional uint32 store_item_hash = 5;
-       optional uint32 timeplayedconsecutively = 6;
-       optional uint32 time_first_played = 10;
-       optional uint32 last_time_played = 12;
-       optional uint32 last_ip_address = 13;
-       optional uint64 gscookieid = 18;
-       optional uint64 uniqueid = 19;
-}
-
-message CMsgGCCStrike15_v2_ClientVarValueNotificationInfo {
-       optional string value_name = 1;
-       optional int32 value_int = 2;
-       optional uint32 server_addr = 3;
-       optional uint32 server_port = 4;
-       repeated string choked_blocks = 5;
-}
-
-message CMsgGCCStrike15_v2_ServerVarValueNotificationInfo {
-       optional uint32 accountid = 1;
-       repeated uint32 viewangles = 2;
-       optional uint32 type = 3;
-}
-
-message CMsgGCCStrike15_v2_GiftsLeaderboardRequest {
-}
-
-message CMsgGCCStrike15_v2_GiftsLeaderboardResponse {
-       message GiftLeaderboardEntry {
-               optional uint32 accountid = 1;
-               optional uint32 gifts = 2;
-       }
-
-       optional uint32 servertime = 1;
-       optional uint32 time_period_seconds = 2;
-       optional uint32 total_gifts_given = 3;
-       optional uint32 total_givers = 4;
-       repeated .CMsgGCCStrike15_v2_GiftsLeaderboardResponse.GiftLeaderboardEntry entries = 5;
-}
-
-message CMsgGCCStrike15_v2_ClientSubmitSurveyVote {
-       optional uint32 survey_id = 1;
-       optional uint32 vote = 2;
-}
-
-message CMsgGCCStrike15_v2_Server2GCClientValidate {
-       optional uint32 accountid = 1;
-}
-
-message CMsgGCCStrike15_v2_Server2GCPureServerValidationFailure {
-       optional uint32 accountid = 1;
-       optional string path = 2;
-       optional string file = 3;
-       optional uint32 crc = 4;
-       optional int32 hash = 5;
-       optional int32 len = 6;
-       optional int32 pack_number = 7;
-       optional int32 pack_file_id = 8;
-}
-
-message CMsgGCCStrike15_v2_GC2ClientTournamentInfo {
-       optional uint32 eventid = 1;
-       optional uint32 stageid = 2;
-       optional uint32 game_type = 3;
-       repeated uint32 teamids = 4;
-}
-
-message CSOEconCoupon {
-       optional uint32 entryid = 1 [(key_field) = true];
-       optional uint32 defidx = 2;
-       optional fixed32 expiration_date = 3;
-}
-
-message CSOQuestProgress {
-       optional uint32 questid = 1 [(key_field) = true];
-       optional uint32 points_remaining = 2;
-       optional uint32 bonus_points = 3;
-}
-
-message CSOPersonaDataPublic {
-       optional int32 player_level = 1;
-       optional .PlayerCommendationInfo commendation = 2;
-}
-
-message CMsgGC_GlobalGame_Subscribe {
-       optional uint64 ticket = 1;
-}
-
-message CMsgGC_GlobalGame_Unsubscribe {
-       optional int32 timeleft = 1;
-}
-
-message CMsgGC_GlobalGame_Play {
-       optional uint64 ticket = 1;
-       optional uint32 gametimems = 2;
-       optional uint32 msperpoint = 3;
-}
-
-message CMsgGCCStrike15_v2_AcknowledgePenalty {
-       optional int32 acknowledged = 1;
-}
-
-message CMsgGCCStrike15_v2_Client2GCRequestPrestigeCoin {
-}
-
-message CMsgGCCStrike15_v2_Client2GCStreamUnlock {
-       optional uint64 ticket = 1;
-       optional int32 os = 2;
-}
-
diff --git a/src/proto/cstrike15_usermessages_public.proto b/src/proto/cstrike15_usermessages_public.proto
deleted file mode 100644 (file)
index 957a00a..0000000
+++ /dev/null
@@ -1,506 +0,0 @@
-//====== Copyright (c) 2013, Valve Corporation, All rights reserved. ========//
-//
-// Redistribution and use in source and binary forms, with or without 
-// modification, are permitted provided that the following conditions are met:
-//
-// Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-// Redistributions in binary form must reproduce the above copyright notice, 
-// this list of conditions and the following disclaimer in the documentation 
-// and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 
-// THE POSSIBILITY OF SUCH DAMAGE.
-//===========================================================================//
-//
-// Purpose: The file defines our Google Protocol Buffers which are used in over 
-// the wire messages for the Source engine.
-//
-//=============================================================================
-
-// We care more about speed than code size
-option optimize_for = SPEED;
-
-// We don't use the service generation functionality
-option cc_generic_services = false;
-
-
-// 
-// STYLE NOTES:
-//
-// Use CamelCase CMsgMyMessageName style names for messages.
-// 
-// Use lowercase _ delimited names like my_steam_id for field names, this is non-standard for Steam,
-// but plays nice with the Google formatted code generation.  
-// 
-// Try not to use required fields ever. Only do so if you are really really sure you'll never want them removed. 
-// Optional should be preffered as it will make versioning easier and cleaner in the future if someone refactors
-// your message and wants to remove or rename fields.
-//
-// Use fixed64 for JobId_t, GID_t, or SteamID.  This is appropriate for any field that is normally
-// going to be larger than 2^56.  Otherwise use int64 for 64 bit values that are frequently smaller
-// than 2^56 as it will safe space on the wire in those cases.
-//
-// Similar to fixed64, use fixed32 for RTime32 or other 32 bit values that are frequently larger than
-// 2^28.  It will safe space in those cases, otherwise use int32 which will safe space for smaller values.
-// An exception to this rule for RTime32 is if the value will frequently be zero rather than set to an actual 
-// time.
-//
-
-import "google/protobuf/descriptor.proto";
-
-// for CMsgVector, etc.
-import "netmessages_public.proto";
-
-import "cstrike15_gcmessages.proto";
-//=============================================================================
-// CStrike15 User Messages
-//=============================================================================
-
-enum ECstrike15UserMessages {
-       CS_UM_VGUIMenu = 1;
-       CS_UM_Geiger = 2;
-       CS_UM_Train = 3;
-       CS_UM_HudText = 4;
-       CS_UM_SayText = 5;
-       CS_UM_SayText2 = 6;
-       CS_UM_TextMsg = 7;
-       CS_UM_HudMsg = 8;
-       CS_UM_ResetHud = 9;
-       CS_UM_GameTitle = 10;
-       CS_UM_Shake = 12;
-       CS_UM_Fade = 13;
-       CS_UM_Rumble = 14;
-       CS_UM_CloseCaption = 15;
-       CS_UM_CloseCaptionDirect = 16;
-       CS_UM_SendAudio = 17;
-       CS_UM_RawAudio = 18;
-       CS_UM_VoiceMask = 19;
-       CS_UM_RequestState = 20;
-       CS_UM_Damage = 21;
-       CS_UM_RadioText = 22;
-       CS_UM_HintText = 23;
-       CS_UM_KeyHintText = 24;
-       CS_UM_ProcessSpottedEntityUpdate = 25;
-       CS_UM_ReloadEffect = 26;
-       CS_UM_AdjustMoney = 27;
-       CS_UM_StopSpectatorMode = 29;
-       CS_UM_KillCam = 30;
-       CS_UM_DesiredTimescale = 31;
-       CS_UM_CurrentTimescale = 32;
-       CS_UM_AchievementEvent = 33;
-       CS_UM_MatchEndConditions = 34;
-       CS_UM_DisconnectToLobby = 35;
-       CS_UM_PlayerStatsUpdate = 36;
-       CS_UM_DisplayInventory = 37;
-       CS_UM_WarmupHasEnded = 38;
-       CS_UM_ClientInfo = 39;
-       CS_UM_XRankGet = 40;
-       CS_UM_XRankUpd = 41;
-       CS_UM_CallVoteFailed = 45;
-       CS_UM_VoteStart = 46;
-       CS_UM_VotePass = 47;
-       CS_UM_VoteFailed = 48;
-       CS_UM_VoteSetup = 49;
-       CS_UM_ServerRankRevealAll = 50;
-       CS_UM_SendLastKillerDamageToClient = 51;
-       CS_UM_ServerRankUpdate = 52;
-       CS_UM_ItemPickup = 53;
-       CS_UM_ShowMenu = 54;
-       CS_UM_BarTime = 55;
-       CS_UM_AmmoDenied = 56;
-       CS_UM_MarkAchievement = 57;
-       CS_UM_MatchStatsUpdate = 58;
-       CS_UM_ItemDrop = 59;
-       CS_UM_GlowPropTurnOff = 60;
-       CS_UM_SendPlayerItemDrops = 61;
-       CS_UM_RoundBackupFilenames = 62;
-       CS_UM_SendPlayerItemFound = 63;
-       CS_UM_ReportHit = 64;
-       CS_UM_XpUpdate = 65;
-       CS_UM_QuestProgress = 66;
-       CS_UM_ScoreLeaderboardData = 67;
-}
-
-message CCSUsrMsg_VGUIMenu {
-       message Subkey {
-               optional string name = 1;
-               optional string str = 2;
-       }
-
-       optional string name = 1;
-       optional bool show = 2;
-       repeated .CCSUsrMsg_VGUIMenu.Subkey subkeys = 3;
-}
-
-message CCSUsrMsg_Geiger {
-       optional int32 range = 1;
-}
-
-message CCSUsrMsg_Train {
-       optional int32 train = 1;
-}
-
-message CCSUsrMsg_HudText {
-       optional string text = 1;
-}
-
-message CCSUsrMsg_SayText {
-       optional int32 ent_idx = 1;
-       optional string text = 2;
-       optional bool chat = 3;
-       optional bool textallchat = 4;
-}
-
-message CCSUsrMsg_SayText2 {
-       optional int32 ent_idx = 1;
-       optional bool chat = 2;
-       optional string msg_name = 3;
-       repeated string params = 4;
-       optional bool textallchat = 5;
-}
-
-message CCSUsrMsg_TextMsg {
-       optional int32 msg_dst = 1;
-       repeated string params = 3;
-}
-
-message CCSUsrMsg_HudMsg {
-       optional int32 channel = 1;
-       optional CMsgVector2D pos = 2;
-       optional CMsgRGBA clr1 = 3;
-       optional CMsgRGBA clr2 = 4;
-       optional int32 effect = 5;
-       optional float fade_in_time = 6;
-       optional float fade_out_time = 7;
-       optional float hold_time = 9;
-       optional float fx_time = 10;
-       optional string text = 11;
-}
-
-message CCSUsrMsg_Shake {
-       optional int32 command = 1;
-       optional float local_amplitude = 2;
-       optional float frequency = 3;
-       optional float duration = 4;
-}
-
-message CCSUsrMsg_Fade {
-       optional int32 duration = 1;
-       optional int32 hold_time = 2;
-       optional int32 flags = 3;
-       optional CMsgRGBA clr = 4;
-}
-
-message CCSUsrMsg_Rumble {
-       optional int32 index = 1;
-       optional int32 data = 2;
-       optional int32 flags = 3;
-}
-
-message CCSUsrMsg_CloseCaption {
-       optional uint32 hash = 1;
-       optional int32 duration = 2;
-       optional bool from_player = 3;
-}
-
-message CCSUsrMsg_CloseCaptionDirect {
-       optional uint32 hash = 1;
-       optional int32 duration = 2;
-       optional bool from_player = 3;
-}
-
-message CCSUsrMsg_SendAudio {
-       optional string radio_sound = 1;
-}
-
-message CCSUsrMsg_RawAudio {
-       optional int32 pitch = 1;
-       optional int32 entidx = 2;
-       optional float duration = 3;
-       optional string voice_filename = 4;
-}
-
-message CCSUsrMsg_VoiceMask {
-       message PlayerMask {
-               optional int32 game_rules_mask = 1;
-               optional int32 ban_masks = 2;
-       }
-
-       repeated .CCSUsrMsg_VoiceMask.PlayerMask player_masks = 1;
-       optional bool player_mod_enable = 2;
-}
-
-message CCSUsrMsg_Damage {
-       optional int32 amount = 1;
-       optional CMsgVector inflictor_world_pos = 2;
-       optional int32 victim_entindex = 3;
-}
-
-message CCSUsrMsg_RadioText {
-       optional int32 msg_dst = 1;
-       optional int32 client = 2;
-       optional string msg_name = 3;
-       repeated string params = 4;
-}
-
-message CCSUsrMsg_HintText {
-       optional string text = 1;
-}
-
-message CCSUsrMsg_KeyHintText {
-       repeated string hints = 1;
-}
-
-message CCSUsrMsg_ProcessSpottedEntityUpdate {
-       message SpottedEntityUpdate {
-               optional int32 entity_idx = 1;
-               optional int32 class_id = 2;
-               optional int32 origin_x = 3;
-               optional int32 origin_y = 4;
-               optional int32 origin_z = 5;
-               optional int32 angle_y = 6;
-               optional bool defuser = 7;
-               optional bool player_has_defuser = 8;
-               optional bool player_has_c4 = 9;
-       }
-
-       optional bool new_update = 1;
-       repeated .CCSUsrMsg_ProcessSpottedEntityUpdate.SpottedEntityUpdate entity_updates = 2;
-}
-
-message CCSUsrMsg_SendPlayerItemDrops {
-       repeated .CEconItemPreviewDataBlock entity_updates = 1;
-}
-
-message CCSUsrMsg_SendPlayerItemFound {
-       optional CEconItemPreviewDataBlock iteminfo = 1;
-       optional int32 entindex = 2;
-}
-
-message CCSUsrMsg_ReloadEffect {
-       optional int32 entidx = 1;
-       optional int32 actanim = 2;
-       optional float origin_x = 3;
-       optional float origin_y = 4;
-       optional float origin_z = 5;
-}
-
-message CCSUsrMsg_AdjustMoney {
-       optional int32 amount = 1;
-}
-
-message CCSUsrMsg_ReportHit {
-       optional float pos_x = 1;
-       optional float pos_y = 2;
-       optional float timestamp = 4;
-       optional float pos_z = 3;
-}
-
-message CCSUsrMsg_KillCam {
-       optional int32 obs_mode = 1;
-       optional int32 first_target = 2;
-       optional int32 second_target = 3;
-}
-
-message CCSUsrMsg_DesiredTimescale {
-       optional float desired_timescale = 1;
-       optional float duration_realtime_sec = 2;
-       optional int32 interpolator_type = 3;
-       optional float start_blend_time = 4;
-}
-
-message CCSUsrMsg_CurrentTimescale {
-       optional float cur_timescale = 1;
-}
-
-message CCSUsrMsg_AchievementEvent {
-       optional int32 achievement = 1;
-       optional int32 count = 2;
-       optional int32 user_id = 3;
-}
-
-message CCSUsrMsg_MatchEndConditions {
-       optional int32 fraglimit = 1;
-       optional int32 mp_maxrounds = 2;
-       optional int32 mp_winlimit = 3;
-       optional int32 mp_timelimit = 4;
-}
-
-message CCSUsrMsg_PlayerStatsUpdate {
-       message Stat {
-               optional int32 idx = 1;
-               optional int32 delta = 2;
-       }
-
-       optional int32 version = 1;
-       repeated .CCSUsrMsg_PlayerStatsUpdate.Stat stats = 4;
-       optional int32 user_id = 5;
-       optional int32 crc = 6;
-}
-
-message CCSUsrMsg_DisplayInventory {
-       optional bool display = 1;
-       optional int32 user_id = 2;
-}
-
-message CCSUsrMsg_QuestProgress {
-       optional uint32 quest_id = 1;
-       optional uint32 normal_points = 2;
-       optional uint32 bonus_points = 3;
-       optional bool is_event_quest = 4;
-}
-
-message CCSUsrMsg_ScoreLeaderboardData {
-       optional ScoreLeaderboardData data = 1;
-}
-
-message CCSUsrMsg_XRankGet {
-       optional int32 mode_idx = 1;
-       optional int32 controller = 2;
-}
-
-message CCSUsrMsg_XRankUpd {
-       optional int32 mode_idx = 1;
-       optional int32 controller = 2;
-       optional int32 ranking = 3;
-}
-
-message CCSUsrMsg_CallVoteFailed {
-       optional int32 reason = 1;
-       optional int32 time = 2;
-}
-
-message CCSUsrMsg_VoteStart {
-       optional int32 team = 1;
-       optional int32 ent_idx = 2;
-       optional int32 vote_type = 3;
-       optional string disp_str = 4;
-       optional string details_str = 5;
-       optional string other_team_str = 6;
-       optional bool is_yes_no_vote = 7;
-}
-
-message CCSUsrMsg_VotePass {
-       optional int32 team = 1;
-       optional int32 vote_type = 2;
-       optional string disp_str = 3;
-       optional string details_str = 4;
-}
-
-message CCSUsrMsg_VoteFailed {
-       optional int32 team = 1;
-       optional int32 reason = 2;
-}
-
-message CCSUsrMsg_VoteSetup {
-       repeated string potential_issues = 1;
-}
-
-message CCSUsrMsg_SendLastKillerDamageToClient {
-       optional int32 num_hits_given = 1;
-       optional int32 damage_given = 2;
-       optional int32 num_hits_taken = 3;
-       optional int32 damage_taken = 4;
-}
-
-message CCSUsrMsg_ServerRankUpdate {
-       message RankUpdate {
-               optional int32 account_id = 1;
-               optional int32 rank_old = 2;
-               optional int32 rank_new = 3;
-               optional int32 num_wins = 4;
-               optional float rank_change = 5;
-       }
-
-       repeated .CCSUsrMsg_ServerRankUpdate.RankUpdate rank_update = 1;
-}
-
-message CCSUsrMsg_XpUpdate {
-       optional CMsgGCCstrike15_v2_GC2ServerNotifyXPRewarded data = 1;
-}
-
-message CCSUsrMsg_ItemPickup {
-       optional string item = 1;
-}
-
-message CCSUsrMsg_ShowMenu {
-       optional int32 bits_valid_slots = 1;
-       optional int32 display_time = 2;
-       optional string menu_string = 3;
-}
-
-message CCSUsrMsg_BarTime {
-       optional string time = 1;
-}
-
-message CCSUsrMsg_AmmoDenied {
-       optional int32 ammoIdx = 1;
-}
-
-message CCSUsrMsg_MarkAchievement {
-       optional string achievement = 1;
-}
-
-message CCSUsrMsg_MatchStatsUpdate {
-       optional string update = 1;
-}
-
-message CCSUsrMsg_ItemDrop {
-       optional int64 itemid = 1;
-       optional bool death = 2;
-}
-
-message CCSUsrMsg_GlowPropTurnOff {
-       optional int32 entidx = 1;
-}
-
-message CCSUsrMsg_RoundBackupFilenames {
-       optional int32 count = 1;
-       optional int32 index = 2;
-       optional string filename = 3;
-       optional string nicename = 4;
-}
-
-message CCSUsrMsg_ResetHud {
-       optional bool reset = 1;
-}
-
-message CCSUsrMsg_GameTitle {
-       optional int32 dummy = 1;
-}
-
-message CCSUsrMsg_RequestState {
-       optional int32 dummy = 1;
-}
-
-message CCSUsrMsg_StopSpectatorMode {
-       optional int32 dummy = 1;
-}
-
-message CCSUsrMsg_DisconnectToLobby {
-       optional int32 dummy = 1;
-}
-
-message CCSUsrMsg_WarmupHasEnded {
-       optional int32 dummy = 1;
-}
-
-message CCSUsrMsg_ClientInfo {
-       optional int32 dummy = 1;
-}
-
-message CCSUsrMsg_ServerRankRevealAll {
-       optional int32 seconds_till_shutdown = 1;
-}
-
-
diff --git a/src/proto/netmessages_public.proto b/src/proto/netmessages_public.proto
deleted file mode 100644 (file)
index 8ad1d53..0000000
+++ /dev/null
@@ -1,555 +0,0 @@
-//====== Copyright (c) 2013, Valve Corporation, All rights reserved. ========//\r
-//\r
-// Redistribution and use in source and binary forms, with or without \r
-// modification, are permitted provided that the following conditions are met:\r
-//\r
-// Redistributions of source code must retain the above copyright notice, this\r
-// list of conditions and the following disclaimer.\r
-// Redistributions in binary form must reproduce the above copyright notice, \r
-// this list of conditions and the following disclaimer in the documentation \r
-// and/or other materials provided with the distribution.\r
-//\r
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE \r
-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE \r
-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR \r
-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF \r
-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS \r
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \r
-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \r
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF \r
-// THE POSSIBILITY OF SUCH DAMAGE.\r
-//===========================================================================//\r
-//\r
-// Purpose: The file defines our Google Protocol Buffers which are used in over \r
-// the wire messages for the Source engine.\r
-//\r
-//=============================================================================\r
-\r
-// Note about encoding:\r
-//     http://code.google.com/apis/protocolbuffers/docs/encoding.html\r
-//\r
-// TL;DR: Use sint32/sint64 for values that may be negative.\r
-//\r
-// There is an important difference between the signed int types (sint32 and sint64)\r
-// and the "standard" int types (int32 and int64) when it comes to encoding negative\r
-// numbers.  If you use int32 or int64 as the type for a negative number, the\r
-// resulting varint is always ten bytes long \96 it is, effectively, treated like a\r
-// very large unsigned integer.  If you use one of the signed types, the resulting\r
-// varint uses ZigZag encoding, which is much more efficient.\r
-\r
-\r
-// Commenting this out allows it to be compiled for SPEED or LITE_RUNTIME.\r
-// option optimize_for = SPEED;\r
-\r
-// We don't use the service generation functionality\r
-option cc_generic_services = false;\r
-\r
-\r
-// \r
-// STYLE NOTES:\r
-//\r
-// Use CamelCase CMsgMyMessageName style names for messages.\r
-// \r
-// Use lowercase _ delimited names like my_steam_id for field names, this is non-standard for Steam,\r
-// but plays nice with the Google formatted code generation.  \r
-// \r
-// Try not to use required fields ever. Only do so if you are really really sure you'll never want them removed. \r
-// Optional should be preffered as it will make versioning easier and cleaner in the future if someone refactors\r
-// your message and wants to remove or rename fields.\r
-//\r
-// Use fixed64 for JobId_t, GID_t, or SteamID.  This is appropriate for any field that is normally\r
-// going to be larger than 2^56.  Otherwise use int64 for 64 bit values that are frequently smaller\r
-// than 2^56 as it will safe space on the wire in those cases.\r
-//\r
-// Similar to fixed64, use fixed32 for RTime32 or other 32 bit values that are frequently larger than\r
-// 2^28.  It will safe space in those cases, otherwise use int32 which will safe space for smaller values.\r
-// An exception to this rule for RTime32 is if the value will frequently be zero rather than set to an actual \r
-// time.\r
-//\r
-\r
-import "google/protobuf/descriptor.proto";\r
-\r
-enum NET_Messages {\r
-       net_NOP = 0;\r
-       net_Disconnect = 1;\r
-       net_File = 2;\r
-       net_SplitScreenUser = 3;\r
-       net_Tick = 4;\r
-       net_StringCmd = 5;\r
-       net_SetConVar = 6;\r
-       net_SignonState = 7;\r
-       net_PlayerAvatarData = 100;\r
-}\r
-\r
-enum CLC_Messages {\r
-       clc_ClientInfo = 8;\r
-       clc_Move = 9;\r
-       clc_VoiceData = 10;\r
-       clc_BaselineAck = 11;\r
-       clc_ListenEvents = 12;\r
-       clc_RespondCvarValue = 13;\r
-       clc_FileCRCCheck = 14;\r
-       clc_LoadingProgress = 15;\r
-       clc_SplitPlayerConnect = 16;\r
-       clc_ClientMessage = 17;\r
-       clc_CmdKeyValues = 18;\r
-       clc_HltvReplay = 20;\r
-}\r
-\r
-enum VoiceDataFormat_t {\r
-       VOICEDATA_FORMAT_STEAM = 0;\r
-       VOICEDATA_FORMAT_ENGINE = 1;\r
-}\r
-\r
-enum ESplitScreenMessageType {\r
-       option allow_alias = true;\r
-       MSG_SPLITSCREEN_ADDUSER = 0;\r
-       MSG_SPLITSCREEN_REMOVEUSER = 1;\r
-       MSG_SPLITSCREEN_TYPE_BITS = 1;\r
-}\r
-\r
-enum SVC_Messages {\r
-       svc_ServerInfo = 8;\r
-       svc_SendTable = 9;\r
-       svc_ClassInfo = 10;\r
-       svc_SetPause = 11;\r
-       svc_CreateStringTable = 12;\r
-       svc_UpdateStringTable = 13;\r
-       svc_VoiceInit = 14;\r
-       svc_VoiceData = 15;\r
-       svc_Print = 16;\r
-       svc_Sounds = 17;\r
-       svc_SetView = 18;\r
-       svc_FixAngle = 19;\r
-       svc_CrosshairAngle = 20;\r
-       svc_BSPDecal = 21;\r
-       svc_SplitScreen = 22;\r
-       svc_UserMessage = 23;\r
-       svc_EntityMessage = 24;\r
-       svc_GameEvent = 25;\r
-       svc_PacketEntities = 26;\r
-       svc_TempEntities = 27;\r
-       svc_Prefetch = 28;\r
-       svc_Menu = 29;\r
-       svc_GameEventList = 30;\r
-       svc_GetCvarValue = 31;\r
-       svc_PaintmapData = 33;\r
-       svc_CmdKeyValues = 34;\r
-       svc_EncryptedData = 35;\r
-       svc_HltvReplay = 36;\r
-}\r
-\r
-enum ReplayEventType_t {\r
-       REPLAY_EVENT_CANCEL = 0;\r
-       REPLAY_EVENT_DEATH = 1;\r
-       REPLAY_EVENT_GENERIC = 2;\r
-       REPLAY_EVENT_STUCK_NEED_FULL_UPDATE = 3;\r
-}\r
-\r
-message CMsgVector {\r
-       optional float x = 1;\r
-       optional float y = 2;\r
-       optional float z = 3;\r
-}\r
-\r
-message CMsgVector2D {\r
-       optional float x = 1;\r
-       optional float y = 2;\r
-}\r
-\r
-message CMsgQAngle {\r
-       optional float x = 1;\r
-       optional float y = 2;\r
-       optional float z = 3;\r
-}\r
-\r
-message CMsgRGBA {\r
-       optional int32 r = 1;\r
-       optional int32 g = 2;\r
-       optional int32 b = 3;\r
-       optional int32 a = 4;\r
-}\r
-\r
-message CNETMsg_Tick {\r
-       optional uint32 tick = 1;\r
-       optional uint32 host_computationtime = 4;\r
-       optional uint32 host_computationtime_std_deviation = 5;\r
-       optional uint32 host_framestarttime_std_deviation = 6;\r
-       optional uint32 hltv_replay_flags = 7;\r
-}\r
-\r
-message CNETMsg_StringCmd {\r
-       optional string command = 1;\r
-}\r
-\r
-message CNETMsg_SignonState {\r
-       optional uint32 signon_state = 1;\r
-       optional uint32 spawn_count = 2;\r
-       optional uint32 num_server_players = 3;\r
-       repeated string players_networkids = 4;\r
-       optional string map_name = 5;\r
-}\r
-\r
-message CMsg_CVars {\r
-       message CVar {\r
-               optional string name = 1;\r
-               optional string value = 2;\r
-               optional uint32 dictionary_name = 3;\r
-       }\r
-\r
-       repeated .CMsg_CVars.CVar cvars = 1;\r
-}\r
-\r
-message CNETMsg_SetConVar {\r
-       optional .CMsg_CVars convars = 1;\r
-}\r
-\r
-message CNETMsg_NOP {\r
-}\r
-\r
-message CNETMsg_Disconnect {\r
-       optional string text = 1;\r
-}\r
-\r
-message CNETMsg_File {\r
-       optional int32 transfer_id = 1;\r
-       optional string file_name = 2;\r
-       optional bool is_replay_demo_file = 3;\r
-       optional bool deny = 4;\r
-}\r
-\r
-message CNETMsg_SplitScreenUser {\r
-       optional int32 slot = 1;\r
-}\r
-\r
-message CNETMsg_PlayerAvatarData {\r
-       optional uint32 accountid = 1;\r
-       optional bytes rgb = 2;\r
-}\r
-\r
-message CCLCMsg_ClientInfo {\r
-       optional fixed32 send_table_crc = 1;\r
-       optional uint32 server_count = 2;\r
-       optional bool is_hltv = 3;\r
-       optional bool is_replay = 4;\r
-       optional uint32 friends_id = 5;\r
-       optional string friends_name = 6;\r
-       repeated fixed32 custom_files = 7;\r
-}\r
-\r
-message CCLCMsg_Move {\r
-       optional uint32 num_backup_commands = 1;\r
-       optional uint32 num_new_commands = 2;\r
-       optional bytes data = 3;\r
-}\r
-\r
-message CCLCMsg_VoiceData {\r
-       optional bytes data = 1;\r
-       optional fixed64 xuid = 2;\r
-       optional .VoiceDataFormat_t format = 3 [default = VOICEDATA_FORMAT_ENGINE];\r
-       optional int32 sequence_bytes = 4;\r
-       optional uint32 section_number = 5;\r
-       optional uint32 uncompressed_sample_offset = 6;\r
-}\r
-\r
-message CCLCMsg_BaselineAck {\r
-       optional int32 baseline_tick = 1;\r
-       optional int32 baseline_nr = 2;\r
-}\r
-\r
-message CCLCMsg_ListenEvents {\r
-       repeated fixed32 event_mask = 1;\r
-}\r
-\r
-message CCLCMsg_RespondCvarValue {\r
-       optional int32 cookie = 1;\r
-       optional int32 status_code = 2;\r
-       optional string name = 3;\r
-       optional string value = 4;\r
-}\r
-\r
-message CCLCMsg_FileCRCCheck {\r
-       optional int32 code_path = 1;\r
-       optional string path = 2;\r
-       optional int32 code_filename = 3;\r
-       optional string filename = 4;\r
-       optional int32 file_fraction = 5;\r
-       optional bytes md5 = 6;\r
-       optional uint32 crc = 7;\r
-       optional int32 file_hash_type = 8;\r
-       optional int32 file_len = 9;\r
-       optional int32 pack_file_id = 10;\r
-       optional int32 pack_file_number = 11;\r
-}\r
-\r
-message CCLCMsg_LoadingProgress {\r
-       optional int32 progress = 1;\r
-}\r
-\r
-message CCLCMsg_SplitPlayerConnect {\r
-       optional .CMsg_CVars convars = 1;\r
-}\r
-\r
-message CCLCMsg_CmdKeyValues {\r
-       optional bytes keyvalues = 1;\r
-}\r
-\r
-message CSVCMsg_ServerInfo {\r
-       optional int32 protocol = 1;\r
-       optional int32 server_count = 2;\r
-       optional bool is_dedicated = 3;\r
-       optional bool is_official_valve_server = 4;\r
-       optional bool is_hltv = 5;\r
-       optional bool is_replay = 6;\r
-       optional bool is_redirecting_to_proxy_relay = 21;\r
-       optional int32 c_os = 7;\r
-       optional fixed32 map_crc = 8;\r
-       optional fixed32 client_crc = 9;\r
-       optional fixed32 string_table_crc = 10;\r
-       optional int32 max_clients = 11;\r
-       optional int32 max_classes = 12;\r
-       optional int32 player_slot = 13;\r
-       optional float tick_interval = 14;\r
-       optional string game_dir = 15;\r
-       optional string map_name = 16;\r
-       optional string map_group_name = 17;\r
-       optional string sky_name = 18;\r
-       optional string host_name = 19;\r
-       optional uint32 public_ip = 20;\r
-       optional uint64 ugc_map_id = 22;\r
-}\r
-\r
-message CSVCMsg_ClassInfo {\r
-       message class_t {\r
-               optional int32 class_id = 1;\r
-               optional string data_table_name = 2;\r
-               optional string class_name = 3;\r
-       }\r
-\r
-       optional bool create_on_client = 1;\r
-       repeated .CSVCMsg_ClassInfo.class_t classes = 2;\r
-}\r
-\r
-message CSVCMsg_SendTable {\r
-       message sendprop_t {\r
-               optional int32 type = 1;\r
-               optional string var_name = 2;\r
-               optional int32 flags = 3;\r
-               optional int32 priority = 4;\r
-               optional string dt_name = 5;\r
-               optional int32 num_elements = 6;\r
-               optional float low_value = 7;\r
-               optional float high_value = 8;\r
-               optional int32 num_bits = 9;\r
-       }\r
-\r
-       optional bool is_end = 1;\r
-       optional string net_table_name = 2;\r
-       optional bool needs_decoder = 3;\r
-       repeated .CSVCMsg_SendTable.sendprop_t props = 4;\r
-}\r
-\r
-message CSVCMsg_Print {\r
-       optional string text = 1;\r
-}\r
-\r
-message CSVCMsg_SetPause {\r
-       optional bool paused = 1;\r
-}\r
-\r
-message CSVCMsg_SetView {\r
-       optional int32 entity_index = 1;\r
-}\r
-\r
-message CSVCMsg_CreateStringTable {\r
-       optional string name = 1;\r
-       optional int32 max_entries = 2;\r
-       optional int32 num_entries = 3;\r
-       optional bool user_data_fixed_size = 4;\r
-       optional int32 user_data_size = 5;\r
-       optional int32 user_data_size_bits = 6;\r
-       optional int32 flags = 7;\r
-       optional bytes string_data = 8;\r
-}\r
-\r
-message CSVCMsg_UpdateStringTable {\r
-       optional int32 table_id = 1;\r
-       optional int32 num_changed_entries = 2;\r
-       optional bytes string_data = 3;\r
-}\r
-\r
-message CSVCMsg_VoiceInit {\r
-       optional int32 quality = 1;\r
-       optional string codec = 2;\r
-       optional int32 version = 3 [default = 0];\r
-}\r
-\r
-message CSVCMsg_VoiceData {\r
-       optional int32 client = 1;\r
-       optional bool proximity = 2;\r
-       optional fixed64 xuid = 3;\r
-       optional int32 audible_mask = 4;\r
-       optional bytes voice_data = 5;\r
-       optional bool caster = 6;\r
-       optional .VoiceDataFormat_t format = 7 [default = VOICEDATA_FORMAT_ENGINE];\r
-       optional int32 sequence_bytes = 8;\r
-       optional uint32 section_number = 9;\r
-       optional uint32 uncompressed_sample_offset = 10;\r
-}\r
-\r
-message CSVCMsg_FixAngle {\r
-       optional bool relative = 1;\r
-       optional .CMsgQAngle angle = 2;\r
-}\r
-\r
-message CSVCMsg_CrosshairAngle {\r
-       optional .CMsgQAngle angle = 1;\r
-}\r
-\r
-message CSVCMsg_Prefetch {\r
-       optional int32 sound_index = 1;\r
-}\r
-\r
-message CSVCMsg_BSPDecal {\r
-       optional .CMsgVector pos = 1;\r
-       optional int32 decal_texture_index = 2;\r
-       optional int32 entity_index = 3;\r
-       optional int32 model_index = 4;\r
-       optional bool low_priority = 5;\r
-}\r
-\r
-message CSVCMsg_SplitScreen {\r
-       optional .ESplitScreenMessageType type = 1 [default = MSG_SPLITSCREEN_ADDUSER];\r
-       optional int32 slot = 2;\r
-       optional int32 player_index = 3;\r
-}\r
-\r
-message CSVCMsg_GetCvarValue {\r
-       optional int32 cookie = 1;\r
-       optional string cvar_name = 2;\r
-}\r
-\r
-message CSVCMsg_Menu {\r
-       optional int32 dialog_type = 1;\r
-       optional bytes menu_key_values = 2;\r
-}\r
-\r
-message CSVCMsg_UserMessage {\r
-       optional int32 msg_type = 1;\r
-       optional bytes msg_data = 2;\r
-       optional int32 passthrough = 3;\r
-}\r
-\r
-message CSVCMsg_PaintmapData {\r
-       optional bytes paintmap = 1;\r
-}\r
-\r
-message CSVCMsg_GameEvent {\r
-       message key_t {\r
-               optional int32 type = 1;\r
-               optional string val_string = 2;\r
-               optional float val_float = 3;\r
-               optional int32 val_long = 4;\r
-               optional int32 val_short = 5;\r
-               optional int32 val_byte = 6;\r
-               optional bool val_bool = 7;\r
-               optional uint64 val_uint64 = 8;\r
-               optional bytes val_wstring = 9;\r
-       }\r
-\r
-       optional string event_name = 1;\r
-       optional int32 eventid = 2;\r
-       repeated .CSVCMsg_GameEvent.key_t keys = 3;\r
-       optional int32 passthrough = 4;\r
-}\r
-\r
-message CSVCMsg_GameEventList {\r
-       message key_t {\r
-               optional int32 type = 1;\r
-               optional string name = 2;\r
-       }\r
-\r
-       message descriptor_t {\r
-               optional int32 eventid = 1;\r
-               optional string name = 2;\r
-               repeated .CSVCMsg_GameEventList.key_t keys = 3;\r
-       }\r
-\r
-       repeated .CSVCMsg_GameEventList.descriptor_t descriptors = 1;\r
-}\r
-\r
-message CSVCMsg_TempEntities {\r
-       optional bool reliable = 1;\r
-       optional int32 num_entries = 2;\r
-       optional bytes entity_data = 3;\r
-}\r
-\r
-message CSVCMsg_PacketEntities {\r
-       optional int32 max_entries = 1;\r
-       optional int32 updated_entries = 2;\r
-       optional bool is_delta = 3;\r
-       optional bool update_baseline = 4;\r
-       optional int32 baseline = 5;\r
-       optional int32 delta_from = 6;\r
-       optional bytes entity_data = 7;\r
-}\r
-\r
-message CSVCMsg_Sounds {\r
-       message sounddata_t {\r
-               optional sint32 origin_x = 1;\r
-               optional sint32 origin_y = 2;\r
-               optional sint32 origin_z = 3;\r
-               optional uint32 volume = 4;\r
-               optional float delay_value = 5;\r
-               optional int32 sequence_number = 6;\r
-               optional int32 entity_index = 7;\r
-               optional int32 channel = 8;\r
-               optional int32 pitch = 9;\r
-               optional int32 flags = 10;\r
-               optional uint32 sound_num = 11;\r
-               optional fixed32 sound_num_handle = 12;\r
-               optional int32 speaker_entity = 13;\r
-               optional int32 random_seed = 14;\r
-               optional int32 sound_level = 15;\r
-               optional bool is_sentence = 16;\r
-               optional bool is_ambient = 17;\r
-       }\r
-\r
-       optional bool reliable_sound = 1;\r
-       repeated .CSVCMsg_Sounds.sounddata_t sounds = 2;\r
-}\r
-\r
-message CSVCMsg_EntityMsg {\r
-       optional int32 ent_index = 1;\r
-       optional int32 class_id = 2;\r
-       optional bytes ent_data = 3;\r
-}\r
-\r
-message CSVCMsg_CmdKeyValues {\r
-       optional bytes keyvalues = 1;\r
-}\r
-\r
-message CSVCMsg_EncryptedData {\r
-       optional bytes encrypted = 1;\r
-       optional int32 key_type = 2;\r
-}\r
-\r
-message CSVCMsg_HltvReplay {\r
-       optional int32 delay = 1;\r
-       optional int32 primary_target = 2;\r
-       optional int32 replay_stop_at = 3;\r
-       optional int32 replay_start_at = 4;\r
-       optional int32 replay_slowdown_begin = 5;\r
-       optional int32 replay_slowdown_end = 6;\r
-       optional float replay_slowdown_rate = 7;\r
-}\r
-\r
-message CCLCMsg_HltvReplay {\r
-       optional int32 request = 1;\r
-       optional float slowdown_length = 2;\r
-       optional float slowdown_rate = 3;\r
-       optional int32 primary_target_ent_index = 4;\r
-       optional float event_time = 5;\r
-}\r
diff --git a/src/proto/proto.h b/src/proto/proto.h
deleted file mode 100644 (file)
index b7dd531..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef PROTO_H
-#define PROTO_H
-
-typedef void proto_data;
-typedef void proto_info;
-
-proto_info* parse_proto_data(proto_data*);
-
-proto_info*
-parse_proto_data(proto_data* pd)
-{ static char buf[256];
-  return (proto_info*)&buf;
-}
-#endif
diff --git a/src/proto/steammessages.proto b/src/proto/steammessages.proto
deleted file mode 100644 (file)
index b5d4374..0000000
+++ /dev/null
@@ -1,524 +0,0 @@
-import "google/protobuf/descriptor.proto";
-
-option optimize_for = SPEED;
-option cc_generic_services = false;
-
-extend .google.protobuf.FieldOptions {
-       optional bool key_field = 60000 [default = false];
-}
-
-extend .google.protobuf.MessageOptions {
-       optional int32 msgpool_soft_limit = 60000 [default = 32];
-       optional int32 msgpool_hard_limit = 60001 [default = 384];
-}
-
-enum GCProtoBufMsgSrc {
-       GCProtoBufMsgSrc_Unspecified = 0;
-       GCProtoBufMsgSrc_FromSystem = 1;
-       GCProtoBufMsgSrc_FromSteamID = 2;
-       GCProtoBufMsgSrc_FromGC = 3;
-       GCProtoBufMsgSrc_ReplySystem = 4;
-}
-
-message CMsgProtoBufHeader {
-       option (msgpool_soft_limit) = 256;
-       option (msgpool_hard_limit) = 1024;
-       optional fixed64 client_steam_id = 1;
-       optional int32 client_session_id = 2;
-       optional uint32 source_app_id = 3;
-       optional fixed64 job_id_source = 10 [default = 18446744073709551615];
-       optional fixed64 job_id_target = 11 [default = 18446744073709551615];
-       optional string target_job_name = 12;
-       optional int32 eresult = 13 [default = 2];
-       optional string error_message = 14;
-       optional .GCProtoBufMsgSrc gc_msg_src = 200 [default = GCProtoBufMsgSrc_Unspecified];
-       optional uint32 gc_dir_index_source = 201;
-}
-
-message CMsgWebAPIKey {
-       optional uint32 status = 1 [default = 255];
-       optional uint32 account_id = 2 [default = 0];
-       optional uint32 publisher_group_id = 3 [default = 0];
-       optional uint32 key_id = 4;
-       optional string domain = 5;
-}
-
-message CMsgHttpRequest {
-       message RequestHeader {
-               optional string name = 1;
-               optional string value = 2;
-       }
-
-       message QueryParam {
-               optional string name = 1;
-               optional bytes value = 2;
-       }
-
-       optional uint32 request_method = 1;
-       optional string hostname = 2;
-       optional string url = 3;
-       repeated .CMsgHttpRequest.RequestHeader headers = 4;
-       repeated .CMsgHttpRequest.QueryParam get_params = 5;
-       repeated .CMsgHttpRequest.QueryParam post_params = 6;
-       optional bytes body = 7;
-       optional uint32 absolute_timeout = 8;
-}
-
-message CMsgWebAPIRequest {
-       optional string UNUSED_job_name = 1;
-       optional string interface_name = 2;
-       optional string method_name = 3;
-       optional uint32 version = 4;
-       optional .CMsgWebAPIKey api_key = 5;
-       optional .CMsgHttpRequest request = 6;
-       optional uint32 routing_app_id = 7;
-}
-
-message CMsgHttpResponse {
-       message ResponseHeader {
-               optional string name = 1;
-               optional string value = 2;
-       }
-
-       optional uint32 status_code = 1;
-       repeated .CMsgHttpResponse.ResponseHeader headers = 2;
-       optional bytes body = 3;
-}
-
-message CMsgAMFindAccounts {
-       optional uint32 search_type = 1;
-       optional string search_string = 2;
-}
-
-message CMsgAMFindAccountsResponse {
-       repeated fixed64 steam_id = 1;
-}
-
-message CMsgNotifyWatchdog {
-       optional uint32 source = 1;
-       optional uint32 alert_type = 2;
-       optional uint32 alert_destination = 3;
-       optional bool critical = 4;
-       optional uint32 time = 5;
-       optional uint32 appid = 6;
-       optional string text = 7;
-}
-
-message CMsgAMGetLicenses {
-       optional fixed64 steamid = 1;
-}
-
-message CMsgPackageLicense {
-       optional uint32 package_id = 1;
-       optional uint32 time_created = 2;
-       optional uint32 owner_id = 3;
-}
-
-message CMsgAMGetLicensesResponse {
-       repeated .CMsgPackageLicense license = 1;
-       optional uint32 result = 2;
-}
-
-message CMsgAMGetUserGameStats {
-       optional fixed64 steam_id = 1;
-       optional fixed64 game_id = 2;
-       repeated uint32 stats = 3;
-}
-
-message CMsgAMGetUserGameStatsResponse {
-       message Stats {
-               optional uint32 stat_id = 1;
-               optional uint32 stat_value = 2;
-       }
-
-       message Achievement_Blocks {
-               optional uint32 achievement_id = 1;
-               optional uint32 achievement_bit_id = 2;
-               optional fixed32 unlock_time = 3;
-       }
-
-       optional fixed64 steam_id = 1;
-       optional fixed64 game_id = 2;
-       optional int32 eresult = 3 [default = 2];
-       repeated .CMsgAMGetUserGameStatsResponse.Stats stats = 4;
-       repeated .CMsgAMGetUserGameStatsResponse.Achievement_Blocks achievement_blocks = 5;
-}
-
-message CMsgGCGetCommandList {
-       optional uint32 app_id = 1;
-       optional string command_prefix = 2;
-}
-
-message CMsgGCGetCommandListResponse {
-       repeated string command_name = 1;
-}
-
-message CGCMsgMemCachedGet {
-       repeated string keys = 1;
-}
-
-message CGCMsgMemCachedGetResponse {
-       message ValueTag {
-               optional bool found = 1;
-               optional bytes value = 2;
-       }
-
-       repeated .CGCMsgMemCachedGetResponse.ValueTag values = 1;
-}
-
-message CGCMsgMemCachedSet {
-       message KeyPair {
-               optional string name = 1;
-               optional bytes value = 2;
-       }
-
-       repeated .CGCMsgMemCachedSet.KeyPair keys = 1;
-}
-
-message CGCMsgMemCachedDelete {
-       repeated string keys = 1;
-}
-
-message CGCMsgMemCachedStats {
-}
-
-message CGCMsgMemCachedStatsResponse {
-       optional uint64 curr_connections = 1;
-       optional uint64 cmd_get = 2;
-       optional uint64 cmd_set = 3;
-       optional uint64 cmd_flush = 4;
-       optional uint64 get_hits = 5;
-       optional uint64 get_misses = 6;
-       optional uint64 delete_hits = 7;
-       optional uint64 delete_misses = 8;
-       optional uint64 bytes_read = 9;
-       optional uint64 bytes_written = 10;
-       optional uint64 limit_maxbytes = 11;
-       optional uint64 curr_items = 12;
-       optional uint64 evictions = 13;
-       optional uint64 bytes = 14;
-}
-
-message CGCMsgSQLStats {
-       optional uint32 schema_catalog = 1;
-}
-
-message CGCMsgSQLStatsResponse {
-       optional uint32 threads = 1;
-       optional uint32 threads_connected = 2;
-       optional uint32 threads_active = 3;
-       optional uint32 operations_submitted = 4;
-       optional uint32 prepared_statements_executed = 5;
-       optional uint32 non_prepared_statements_executed = 6;
-       optional uint32 deadlock_retries = 7;
-       optional uint32 operations_timed_out_in_queue = 8;
-       optional uint32 errors = 9;
-}
-
-message CMsgAMAddFreeLicense {
-       optional fixed64 steamid = 1;
-       optional uint32 ip_public = 2;
-       optional uint32 packageid = 3;
-       optional string store_country_code = 4;
-}
-
-message CMsgAMAddFreeLicenseResponse {
-       optional int32 eresult = 1 [default = 2];
-       optional int32 purchase_result_detail = 2;
-       optional fixed64 transid = 3;
-}
-
-message CGCMsgGetIPLocation {
-       repeated fixed32 ips = 1;
-}
-
-message CIPLocationInfo {
-       optional uint32 ip = 1;
-       optional float latitude = 2;
-       optional float longitude = 3;
-       optional string country = 4;
-       optional string state = 5;
-       optional string city = 6;
-}
-
-message CGCMsgGetIPLocationResponse {
-       repeated .CIPLocationInfo infos = 1;
-}
-
-message CGCMsgSystemStatsSchema {
-       optional uint32 gc_app_id = 1;
-       optional bytes schema_kv = 2;
-}
-
-message CGCMsgGetSystemStats {
-}
-
-message CGCMsgGetSystemStatsResponse {
-       optional uint32 gc_app_id = 1;
-       optional bytes stats_kv = 2;
-       optional uint32 active_jobs = 3;
-       optional uint32 yielding_jobs = 4;
-       optional uint32 user_sessions = 5;
-       optional uint32 game_server_sessions = 6;
-       optional uint32 socaches = 7;
-       optional uint32 socaches_to_unload = 8;
-       optional uint32 socaches_loading = 9;
-       optional uint32 writeback_queue = 10;
-       optional uint32 steamid_locks = 11;
-       optional uint32 logon_queue = 12;
-       optional uint32 logon_jobs = 13;
-}
-
-message CMsgAMSendEmail {
-       message ReplacementToken {
-               optional string token_name = 1;
-               optional string token_value = 2;
-       }
-
-       message PersonaNameReplacementToken {
-               optional fixed64 steamid = 1;
-               optional string token_name = 2;
-       }
-
-       optional fixed64 steamid = 1;
-       optional uint32 email_msg_type = 2;
-       optional uint32 email_format = 3;
-       repeated .CMsgAMSendEmail.PersonaNameReplacementToken persona_name_tokens = 5;
-       optional uint32 source_gc = 6;
-       repeated .CMsgAMSendEmail.ReplacementToken tokens = 7;
-}
-
-message CMsgAMSendEmailResponse {
-       optional uint32 eresult = 1 [default = 2];
-}
-
-message CMsgGCGetEmailTemplate {
-       optional uint32 app_id = 1;
-       optional uint32 email_msg_type = 2;
-       optional int32 email_lang = 3;
-       optional int32 email_format = 4;
-}
-
-message CMsgGCGetEmailTemplateResponse {
-       optional uint32 eresult = 1 [default = 2];
-       optional bool template_exists = 2;
-       optional string template = 3;
-}
-
-message CMsgAMGrantGuestPasses2 {
-       optional fixed64 steam_id = 1;
-       optional uint32 package_id = 2;
-       optional int32 passes_to_grant = 3;
-       optional int32 days_to_expiration = 4;
-       optional int32 action = 5;
-}
-
-message CMsgAMGrantGuestPasses2Response {
-       optional int32 eresult = 1 [default = 2];
-       optional int32 passes_granted = 2 [default = 0];
-}
-
-message CGCSystemMsg_GetAccountDetails {
-       option (msgpool_soft_limit) = 128;
-       option (msgpool_hard_limit) = 512;
-       optional fixed64 steamid = 1;
-       optional uint32 appid = 2;
-}
-
-message CGCSystemMsg_GetAccountDetails_Response {
-       option (msgpool_soft_limit) = 128;
-       option (msgpool_hard_limit) = 512;
-       optional uint32 eresult_deprecated = 1 [default = 2];
-       optional string account_name = 2;
-       optional string persona_name = 3;
-       optional bool is_profile_public = 4;
-       optional bool is_inventory_public = 5;
-       optional bool is_vac_banned = 7;
-       optional bool is_cyber_cafe = 8;
-       optional bool is_school_account = 9;
-       optional bool is_limited = 10;
-       optional bool is_subscribed = 11;
-       optional uint32 package = 12;
-       optional bool is_free_trial_account = 13;
-       optional uint32 free_trial_expiration = 14;
-       optional bool is_low_violence = 15;
-       optional bool is_account_locked_down = 16;
-       optional bool is_community_banned = 17;
-       optional bool is_trade_banned = 18;
-       optional uint32 trade_ban_expiration = 19;
-       optional uint32 accountid = 20;
-       optional uint32 suspension_end_time = 21;
-       optional string currency = 22;
-       optional uint32 steam_level = 23;
-       optional uint32 friend_count = 24;
-       optional uint32 account_creation_time = 25;
-       optional bool is_steamguard_enabled = 27;
-       optional bool is_phone_verified = 28;
-       optional bool is_two_factor_auth_enabled = 29;
-       optional uint32 two_factor_enabled_time = 30;
-       optional uint32 phone_verification_time = 31;
-       optional uint64 phone_id = 33;
-       optional bool is_phone_identifying = 34;
-}
-
-message CMsgGCGetPersonaNames {
-       repeated fixed64 steamids = 1;
-}
-
-message CMsgGCGetPersonaNames_Response {
-       message PersonaName {
-               optional fixed64 steamid = 1;
-               optional string persona_name = 2;
-       }
-
-       repeated .CMsgGCGetPersonaNames_Response.PersonaName succeeded_lookups = 1;
-       repeated fixed64 failed_lookup_steamids = 2;
-}
-
-message CMsgGCCheckFriendship {
-       optional fixed64 steamid_left = 1;
-       optional fixed64 steamid_right = 2;
-}
-
-message CMsgGCCheckFriendship_Response {
-       optional bool success = 1;
-       optional bool found_friendship = 2;
-}
-
-message CMsgGCMsgMasterSetDirectory {
-       message SubGC {
-               optional uint32 dir_index = 1;
-               optional string name = 2;
-               optional string box = 3;
-               optional string command_line = 4;
-               optional string gc_binary = 5;
-       }
-
-       optional uint32 master_dir_index = 1;
-       repeated .CMsgGCMsgMasterSetDirectory.SubGC dir = 2;
-}
-
-message CMsgGCMsgMasterSetDirectory_Response {
-       optional int32 eresult = 1 [default = 2];
-}
-
-message CMsgGCMsgWebAPIJobRequestForwardResponse {
-       optional uint32 dir_index = 1;
-}
-
-message CGCSystemMsg_GetPurchaseTrust_Request {
-       optional fixed64 steamid = 1;
-}
-
-message CGCSystemMsg_GetPurchaseTrust_Response {
-       optional bool has_prior_purchase_history = 1;
-       optional bool has_no_recent_password_resets = 2;
-       optional bool is_wallet_cash_trusted = 3;
-       optional uint32 time_all_trusted = 4;
-}
-
-message CMsgGCHAccountVacStatusChange {
-       optional fixed64 steam_id = 1;
-       optional uint32 app_id = 2;
-       optional uint32 rtime_vacban_starts = 3;
-       optional bool is_banned_now = 4;
-       optional bool is_banned_future = 5;
-}
-
-message CMsgGCGetPartnerAccountLink {
-       optional fixed64 steamid = 1;
-}
-
-message CMsgGCGetPartnerAccountLink_Response {
-       optional uint32 pwid = 1;
-       optional uint32 nexonid = 2;
-}
-
-message CMsgGCRoutingInfo {
-       enum RoutingMethod {
-               RANDOM = 0;
-               DISCARD = 1;
-               CLIENT_STEAMID = 2;
-               PROTOBUF_FIELD_UINT64 = 3;
-               WEBAPI_PARAM_UINT64 = 4;
-       }
-
-       repeated uint32 dir_index = 1;
-       optional .CMsgGCRoutingInfo.RoutingMethod method = 2 [default = RANDOM];
-       optional .CMsgGCRoutingInfo.RoutingMethod fallback = 3 [default = DISCARD];
-       optional uint32 protobuf_field = 4;
-       optional string webapi_param = 5;
-}
-
-message CMsgGCMsgMasterSetWebAPIRouting {
-       message Entry {
-               optional string interface_name = 1;
-               optional string method_name = 2;
-               optional .CMsgGCRoutingInfo routing = 3;
-       }
-
-       repeated .CMsgGCMsgMasterSetWebAPIRouting.Entry entries = 1;
-}
-
-message CMsgGCMsgMasterSetClientMsgRouting {
-       message Entry {
-               optional uint32 msg_type = 1;
-               optional .CMsgGCRoutingInfo routing = 2;
-       }
-
-       repeated .CMsgGCMsgMasterSetClientMsgRouting.Entry entries = 1;
-}
-
-message CMsgGCMsgMasterSetWebAPIRouting_Response {
-       optional int32 eresult = 1 [default = 2];
-}
-
-message CMsgGCMsgMasterSetClientMsgRouting_Response {
-       optional int32 eresult = 1 [default = 2];
-}
-
-message CMsgGCMsgSetOptions {
-       message MessageRange {
-               required uint32 low = 1;
-               required uint32 high = 2;
-       }
-
-       enum Option {
-               NOTIFY_USER_SESSIONS = 0;
-               NOTIFY_SERVER_SESSIONS = 1;
-               NOTIFY_ACHIEVEMENTS = 2;
-               NOTIFY_VAC_ACTION = 3;
-       }
-
-       repeated .CMsgGCMsgSetOptions.Option options = 1;
-       repeated .CMsgGCMsgSetOptions.MessageRange client_msg_ranges = 2;
-}
-
-message CMsgGCHUpdateSession {
-       message ExtraField {
-               optional string name = 1;
-               optional string value = 2;
-       }
-
-       optional fixed64 steam_id = 1;
-       optional uint32 app_id = 2;
-       optional bool online = 3;
-       optional fixed64 server_steam_id = 4;
-       optional uint32 server_addr = 5;
-       optional uint32 server_port = 6;
-       optional uint32 os_type = 7;
-       optional uint32 client_addr = 8;
-       repeated .CMsgGCHUpdateSession.ExtraField extra_fields = 9;
-}
-
-message CMsgNotificationOfSuspiciousActivity {
-       message MultipleGameInstances {
-               optional uint32 app_instance_count = 1;
-               repeated fixed64 other_steamids = 2;
-       }
-
-       optional fixed64 steamid = 1;
-       optional uint32 appid = 2;
-       optional .CMsgNotificationOfSuspiciousActivity.MultipleGameInstances multiple_instances = 3;
-}
-