()
| 852 | } |
| 853 | |
| 854 | static void RequestNextDownload() { |
| 855 | int map_checksum = 0; // for detecting cheater maps |
| 856 | |
| 857 | qfiles.Md2Model pheader; |
| 858 | |
| 859 | if (ClientGlobals.cls.state != Defines.ca_connected) |
| 860 | return; |
| 861 | |
| 862 | cvar_t allowDownload = Cvar.getInstance().Get("allow_download", "1", Defines.CVAR_ARCHIVE); |
| 863 | cvar_t allowDownloadMaps = Cvar.getInstance().Get("allow_download_maps", "1", Defines.CVAR_ARCHIVE); |
| 864 | cvar_t allowDownloadModels = Cvar.getInstance().Get("allow_download_models", "1", Defines.CVAR_ARCHIVE); |
| 865 | cvar_t allowDownloadSounds = Cvar.getInstance().Get("allow_download_sounds", "1", Defines.CVAR_ARCHIVE); |
| 866 | cvar_t allowDownloadPlayers = Cvar.getInstance().Get( "allow_download_players","0", Defines.CVAR_ARCHIVE); |
| 867 | |
| 868 | if (allowDownload.value == 0 && CL.precache_check < ENV_CNT) |
| 869 | CL.precache_check = ENV_CNT; |
| 870 | |
| 871 | // ZOID |
| 872 | if (CL.precache_check == Defines.CS_MODELS) { // confirm map |
| 873 | CL.precache_check = Defines.CS_MODELS + 2; // 0 isn't used |
| 874 | if (allowDownloadMaps.value != 0) |
| 875 | if (!CL_parse |
| 876 | .CheckOrDownloadFile(ClientGlobals.cl.configstrings[Defines.CS_MODELS + 1])) |
| 877 | return; // started a download |
| 878 | } |
| 879 | if (CL.precache_check >= Defines.CS_MODELS |
| 880 | && CL.precache_check < Defines.CS_MODELS + Defines.MAX_MODELS) { |
| 881 | if (allowDownloadModels.value != 0) { |
| 882 | while (CL.precache_check < Defines.CS_MODELS |
| 883 | + Defines.MAX_MODELS |
| 884 | && ClientGlobals.cl.configstrings[CL.precache_check].length() > 0) { |
| 885 | if (ClientGlobals.cl.configstrings[CL.precache_check].charAt(0) == '*' |
| 886 | || ClientGlobals.cl.configstrings[CL.precache_check] |
| 887 | .charAt(0) == '#') { |
| 888 | CL.precache_check++; |
| 889 | continue; |
| 890 | } |
| 891 | if (CL.precache_model_skin == 0) { |
| 892 | if (!CL_parse |
| 893 | .CheckOrDownloadFile(ClientGlobals.cl.configstrings[CL.precache_check])) { |
| 894 | CL.precache_model_skin = 1; |
| 895 | return; // started a download |
| 896 | } |
| 897 | CL.precache_model_skin = 1; |
| 898 | } |
| 899 | |
| 900 | // checking for skins in the model |
| 901 | if (CL.precache_model == null) { |
| 902 | |
| 903 | CL.precache_model = FS |
| 904 | .LoadFile(ClientGlobals.cl.configstrings[CL.precache_check]); |
| 905 | if (CL.precache_model == null) { |
| 906 | CL.precache_model_skin = 0; |
| 907 | CL.precache_check++; |
| 908 | continue; // couldn't load it |
| 909 | } |
| 910 | ByteBuffer bb = ByteBuffer.wrap(CL.precache_model); |
| 911 | bb.order(ByteOrder.LITTLE_ENDIAN); |
no test coverage detected