diff --git a/config/menus.cfg b/config/menus.cfg index b2f58e9d..65087a60 100644 --- a/config/menus.cfg +++ b/config/menus.cfg @@ -30,9 +30,9 @@ newmenu maps // Add maps to the below list to include them in the normal map menu (also for botmaps). const defaultmaps [ac_aqueous ac_arabian ac_arctic ac_arid ac_avenue ac_cavern ac_complex ac_depot ac_desert ac_desert2 ac_desert3 ac_douze ac_edifice ac_elevation ac_gothic ac_iceroad ac_industrial ac_ingress ac_keller ac_lainio ac_mines ac_outpost ac_power ac_rattrap ac_scaffold ac_shine ac_snow ac_stellar ac_sunset ac_swamp ac_terros ac_toxic ac_urban ac_venison ac_wasteland ac_werk] -genmapitems $defaultmaps -menuitem [] -1 -menuitem [Show all maps...] [ showmenu [all maps] ] +genmapitems $defaultmaps +menuitem [] -1 +menuitem [Show all maps...] [ showmenu [all maps] ] newmenu [all maps] menudirlist "packages/maps" cgz [map $arg1] @@ -72,7 +72,7 @@ menuitem "\f1 http://assault.cubers.net/docs/team.html" -1 menuitem "" -1 menuitem "AssaultCube is a total-conversion of the CUBE engine" -1 menuitem "by Wouter 'Aardappel' van Oortmerssen, and others:" -1 -menuitem " \f1http://www.cubeengine.com/" -1 +menuitem "\t\f1http://www.cubeengine.com/" -1 newmenu help diff --git a/config/menus_multiplayer.cfg b/config/menus_multiplayer.cfg index fcee6b8a..ea1ac2d8 100644 --- a/config/menus_multiplayer.cfg +++ b/config/menus_multiplayer.cfg @@ -52,7 +52,7 @@ menuitem [Kick/ban player...] [ showmenu kick/ban ] menuitem [Adjust teams...] [ showmenu [Team adjustment] ] menuitem [Change mastermode...] [ showmenu Mastermode ] menuitem [Change the server description...] [ saycommand "/serverdesc " ] -menuitem [Find a players IP address...] [ saycommand "/whois " ] +menuitem [Find a players IP address...] [ saycommand "/whois " ] menuitem [Give admin...] [ showmenu [give admin] ] menuitem [] -1 menuitemtextinput [Nickname: ] "result $curname" [ name $arg1 ] @@ -81,7 +81,7 @@ menuitem [Force serverlist update] [ updatefrommaster 1; joinservermenu ] // Fancy custom connect menu. newmenu [Custom connect] -menuinit [ tempalias cc1 []; tempalias cc2 []; tempalias cc3 [] ] // Resets the aliases +menuinit [ tempalias cc1 []; tempalias cc2 []; tempalias cc3 [] ] // Resets the aliases menuitemtextinput "Server IP/DNS: \t\t" [] [ cc1 = $arg1 ] [] 255 menuitemtextinput "Server port (optional): \t" [] [ cc2 = $arg1 ] [] 6 menuitemtextinput "Server password (optional): \t" [] [ cc3 = $arg1 ] [] 128 1 @@ -179,7 +179,7 @@ menuinit [ sbpwd = [] ] // Resets the aliases menuitemvar [result $sbmsg] menuitem [You need a password to join it.] -1 menuitem [] -1 -menuitemtextinput [Password: ] [] [ sbpwd = $arg1 ] [] 128 1 +menuitemtextinput [Password: \t] [] [ sbpwd = $arg1 ] [] 128 1 menuitem [] -1 menuitem "\f2\t\t [ Connect ]\t\t" [ echo connecting to $sbdesc ; connect $sbdns $sbport $sbpwd ] menuitem "\f2\t\t [ Connect without password ]\t\t" [ echo connecting to $sbdesc ; connect $sbdns $sbport ] @@ -189,11 +189,11 @@ const addfavcatmenu [ tempalias i (+ 1 (findlist (listfavcats) $arg1)) newmenu [edit favourites] if (< $i 11) [ - menuitemvar (concatword "concat " (mod $i 10) ": $" sbfavourite_ $arg1 _desc " (concatword < s $" sbfavourite_ $arg1 _tag " r>)") (concatword "showmenu [favourites " $i "]") + menuitemvar (concatword "concat " (mod $i 10) ": $" sbfavourite_ $arg1 _desc " (concatword <\fs $" sbfavourite_ $arg1 _tag " \fr>)") (concatword "showmenu [favourites " $i "]") newmenu [serverbrowser help] - menuitemvar (concatword "concat " (mod $i 10) ": Toggle category $" sbfavourite_ $arg1 _desc " (concatword < s $" sbfavourite_ $arg1 _tag " r>)") -1 + menuitemvar (concatword "concat " (mod $i 10) ": Toggle category $" sbfavourite_ $arg1 _desc " (concatword <\fs $" sbfavourite_ $arg1 _tag " \fr>)") -1 ] [ - menuitemvar (concatword "result $" sbfavourite_ $arg1 _desc " (concatword < s $" sbfavourite_ $arg1 _tag " r>)") (concatword "showmenu [favourites " $i "]") + menuitemvar (concatword "result $" sbfavourite_ $arg1 _desc " (concatword <\fs $" sbfavourite_ $arg1 _tag " \fr>)") (concatword "showmenu [favourites " $i "]") ] newmenu (concat favourites $i) menuitemvar ( concatword "concat " "Category name: " (c 2) (at (listfavcats) (- $i 1)) ) @@ -201,10 +201,10 @@ const addfavcatmenu [ menuitemtextinput [Tag: ] (concatword "result $" sbfavourite_ $arg1 _tag) (concatword sbfavourite_ $arg1 _tag " = $arg1") [] 15 menuitemtextinput [Description: ] (concatword "result $" sbfavourite_ $arg1 _desc) (concatword sbfavourite_ $arg1 _desc " = $arg1") [] 45 menuitem [] -1 - menuitemslider [Background red: ] 0 100 (concatword "$" sbfavourite_ $arg1 _red) 10 [] (concatword sbfavourite_ $arg1 _red " = $arg1") - menuitemslider [Background green: ] 0 100 (concatword "$" sbfavourite_ $arg1 _green) 10 [] (concatword sbfavourite_ $arg1 _green " = $arg1") - menuitemslider [Background blue: ] 0 100 (concatword "$" sbfavourite_ $arg1 _blue) 10 [] (concatword sbfavourite_ $arg1 _blue " = $arg1") - menuitemslider [Background alpha: ] 0 100 (concatword "$" sbfavourite_ $arg1 _alpha) 10 [] (concatword sbfavourite_ $arg1 _alpha " = $arg1") + menuitemslider [Background red:\t] 0 100 (concatword "$" sbfavourite_ $arg1 _red) 10 [] (concatword sbfavourite_ $arg1 _red " = $arg1") + menuitemslider [Background green:\t] 0 100 (concatword "$" sbfavourite_ $arg1 _green) 10 [] (concatword sbfavourite_ $arg1 _green " = $arg1") + menuitemslider [Background blue:\t] 0 100 (concatword "$" sbfavourite_ $arg1 _blue) 10 [] (concatword sbfavourite_ $arg1 _blue " = $arg1") + menuitemslider [Background alpha:\t] 0 100 (concatword "$" sbfavourite_ $arg1 _alpha) 10 [] (concatword sbfavourite_ $arg1 _alpha " = $arg1") menuitem [] -1 menuitemtextinput [Keyword list: ] (concatword "result $" sbfavourite_ $arg1 _keys) (concatword sbfavourite_ $arg1 _keys " = $arg1") [] 255 menuitem [] -1 diff --git a/config/menus_settings.cfg b/config/menus_settings.cfg index bfc2695c..cd4bcd93 100644 --- a/config/menus_settings.cfg +++ b/config/menus_settings.cfg @@ -5,8 +5,8 @@ newmenu settings menuitem [Video settings] [ showmenu video ] menuitem [Head-Up Display settings] [ showmenu HUD ] menuitem [Gameplay settings] [ showmenu gameplay ] -menuitem [Keyboard settings] [ showmenu Keyboard ] -menuitem [Mouse settings] [ showmenu Mouse ] +menuitem [Keyboard settings] [ showmenu Keyboard ] +menuitem [Mouse settings] [ showmenu Mouse ] menuitem [Sound settings] [ showmenu sound ] menuitem [Misc settings] [ showmenu Misc ] menuitem [] -1 @@ -57,8 +57,8 @@ menuitemslider [Graphics detail: ] 1 6 "$gfxqualityalias" 1 [Horrible Low Medium menuitemslider [Sound detail: ] 1 3 "$soundqualityalias" 1 [Low Medium High] [ new_sound_quality $arg1 ] menuitemslider [Field of view: ] 75 120 "$fov" 2 [] [ fov $arg1 ] menuitem [] -1 -menuitem " 0 [ OK; View FAQ ]" [ closecurmenu; resetgl; load_faq ; showmenu faq ] -menuitem " 2 [ OK ]" [ closecurmenu; resetgl ] +menuitem "\f0\t\t\t [ OK; View FAQ ]" [ closecurmenu; resetgl; load_faq ; showmenu faq ] +menuitem "\f2\t\t\t [ OK ]" [ closecurmenu; resetgl ] const new_gfx_quality [ if (= $arg1 6) [ // "INSANE!" gfx quality @@ -241,7 +241,7 @@ const new_sound_quality [ newmenu [Reset settings] menuinit [ resetyes = 0 ] // Ensures this menu works correctly. menuitemcheckbox [Yes, reset all settings: ] [ resetyes = 1 ] [ resetyes = $arg1 ] -menuitem " 2 [ Apply! ] " [ if $resetyes [ resetcfg 1; quit ] [ showmenu [] ] ] [ echo (c 3)If the above option is ticked, AssaultCube will now quit and your settings will be reset. ] // If checkbox is ticked, reset settings and quit, otherwise, close menus. +menuitem "\f2 [ Apply! ] " [ if $resetyes [ resetcfg 1; quit ] [ showmenu [] ] ] [ echo (c 3)If the above option is ticked, AssaultCube will now quit and your settings will be reset. ] // If checkbox is ticked, reset settings and quit, otherwise, close menus. newmenu Keyboard @@ -309,7 +309,7 @@ menuitem [Click to use alternate edit binds] [ exec config/opt/alternateeditbind newmenu [Reset Binds] menuinit [ resetbindsyes = 0 ] // Ensures this menu works correctly. menuitemcheckbox [Yes, reset all binds: ] [ resetbindsyes = 1 ] [ resetbindsyes = $arg1 ] -menuitem " 2 [ Apply! ] " [ if $resetbindsyes resetbinds [ showmenu [] ] ] +menuitem "\f2 [ Apply! ] " [ if $resetbindsyes resetbinds [ showmenu [] ] ] newmenu video @@ -326,7 +326,7 @@ menuitemslider [Vsync: ] -1 1 "$vsync" 1 [Default Disabled Enabled] [ vsync $arg menuitem [] -1 menuitem [Advanced video settings...] [ showmenu [Advanced video settings] ] menuitem [] -1 -menuitem " 2 [ Apply now! ]" [ resetgl ] +menuitem "\f2\t\t\t [ Apply now! ]" [ resetgl ] newmenu [Display resolutions] @@ -391,7 +391,7 @@ menuitem [Enable 0.93 FOV compatiblity...] [ fovcompat; sleep 100 fovcompat menuitem [] -1 menuitem [FPS Range...] [ showmenu [FPS Range] ] menuitem [] -1 -menuitem " 2 [ Apply now! ]" [ resetgl ] +menuitem "\f2\t\t [ Apply now! ]" [ resetgl ] const fovcompatmenu [ showmenu settings; showmenu video; showmenu [Advanced video settings] ] @@ -429,7 +429,7 @@ menuitemslider [Custom player skins: ] 0 2 "$hidecustomskins" 1 ["Always show" " menuitem [] -1 menuitemcheckbox [Reduced violence mode: ] "$poniesmodeon" [ reducedviolencemode $arg1 ] menuitemslider [Gib gore: ] 0 4 "$__gibsgore" 1 [Off Normal Good Messy Unrealistic] [ gibsgore $arg1 ] -menuitemslider [Name highlight color: ] 0 9 "$nickhighlight" 1 [ " 0green 5(default)" " 1blue" " 2yellow" " 3red" " 4gray" "white" " 6dark brown" " 7dark red" " 8purple" " 9orange" ] [ nickhighlight = $arg1; HIGHLIGHT = (c $nickhighlight) ] +menuitemslider [Name highlight color: ] 0 9 "$nickhighlight" 1 [ "\f0green \f5(default)" "\f1blue" "\f2yellow" "\f3red" "\f4gray" "white" "\f6dark brown" "\f7dark red" "\f8purple" "\f9orange" ] [ nickhighlight = $arg1; HIGHLIGHT = (c $nickhighlight) ] menuitemcheckbox [Show scores on death: ] "$showscoresondeath" [ showscoresondeath $arg1 ] menuitem [Change to the enemy team] changeteam menuitem [Change weapon...] [ showmenu Weapons ] diff --git a/config/menus_voicecom.cfg b/config/menus_voicecom.cfg index 625738e5..b4a22387 100644 --- a/config/menus_voicecom.cfg +++ b/config/menus_voicecom.cfg @@ -30,7 +30,7 @@ newmenu [Team Replies] 1 1 // the following two mirror F1/F2 - disagree/agree genvcitem [Yes Affirmative "All right, Sir"] [yes affirmative allrightsir] 1 // # genvcitem [Negative "No can do" "There's no way, Sir!"] [negative nocando theresnowaysir] 2 // * -genvcitem ["On the move" "On my way"] [onthemove_1 onthemove_2] 3 +genvcitem ["On the move" "On my way"] [onthemove_1 onthemove_2] 3 genvcitem ["Got your back!" "Got you covered!"] [igotyourback igotyoucovered] 4 genvcitem ["In Position!" "In Position now!"] [inposition_1 inposition_2] 5 diff --git a/config/scripts.cfg b/config/scripts.cfg index 88a96847..1806a16a 100644 --- a/config/scripts.cfg +++ b/config/scripts.cfg @@ -218,21 +218,21 @@ const universaldelta [ // use them, simply hold the key that the "domodifier" is bound // to and then scroll backwards/forwards while looking at the // floor/ceiling. -delta_edit_0 = [ editheight $flrceil $arg1 ] // Move cubes... +delta_edit_0 = [ editheight $flrceil $arg1 ] // Move cubes... delta_edit_1 = [ if $flrceil [ vdelta $arg1 ] [ vdelta (- 0 $arg1) ] ] // Change heightfielding... delta_edit_2 = [ edittex $flrceil $arg1 ] // Change floor/ceiling textures... delta_edit_3 = [ edittex (+ $flrceil 1) $arg1 ] // Change wall/upper-wall textures... -delta_edit_4 = [ equalize $flrceil ] // Equalize floor/ceiling... +delta_edit_4 = [ equalize $flrceil ] // Equalize floor/ceiling... delta_edit_6 = [ entproperty $editaxis $arg1 ] // Move map entity... delta_edit_10 = [ if (checkrange (+f $flyspeed (divf $arg1 4)) 1 5) [ flyspeed (+f $flyspeed (divf $arg1 4)); echo $flyspeed ] ] // Tweak flyspeed delta_edit_11 = [ if (> $arg1 0) [ expandselection 1 ] [ shrinkselection 1 ] ] // Expand/shrink the current selection -delta_edit_attr1 = [ entproperty 0 $arg2 $editmeta2down ] // Changes the first value on entities... -delta_edit_attr2 = [ entproperty 1 $arg2 $editmeta2down ] // Changes the second value on entities... -delta_edit_attr3 = [ entproperty 2 $arg2 $editmeta2down ] // Changes the third value on entities... -delta_edit_attr4 = [ entproperty 3 $arg2 $editmeta2down ] // Changes the fourth value on entities... -delta_edit_attr5 = [ entproperty 4 $arg2 $editmeta2down ] // Changes the fifth value on entities... -delta_edit_attr6 = [ entproperty 5 $arg2 $editmeta2down ] // Changes the sixth value on entities... -delta_edit_attr7 = [ entproperty 6 $arg2 $editmeta2down ] // Changes the seventh value on entities... +delta_edit_attr1 = [ entproperty 0 $arg2 $editmeta2down ] // Changes the first value on entities... +delta_edit_attr2 = [ entproperty 1 $arg2 $editmeta2down ] // Changes the second value on entities... +delta_edit_attr3 = [ entproperty 2 $arg2 $editmeta2down ] // Changes the third value on entities... +delta_edit_attr4 = [ entproperty 3 $arg2 $editmeta2down ] // Changes the fourth value on entities... +delta_edit_attr5 = [ entproperty 4 $arg2 $editmeta2down ] // Changes the fifth value on entities... +delta_edit_attr6 = [ entproperty 5 $arg2 $editmeta2down ] // Changes the sixth value on entities... +delta_edit_attr7 = [ entproperty 6 $arg2 $editmeta2down ] // Changes the seventh value on entities... // HUD toggles const toggleshowmap [ showmap 1; onrelease [ showmap 0 ] ] diff --git a/config/serverblacklist.cfg b/config/serverblacklist.cfg index 91b91246..d4fef5cc 100644 --- a/config/serverblacklist.cfg +++ b/config/serverblacklist.cfg @@ -4,9 +4,9 @@ // The following schemes are accepted... -// 1.2.3.4 = Ban a single IP. -// 1.2.3.4/24 = Ban an IP block (1.2.3.0 - 1.2.3.255) -// 1.2.3.4 - 2.3.4.5 = Ban an IP range. +// 1.2.3.4 = Ban a single IP. +// 1.2.3.4/24 = Ban an IP block (1.2.3.0 - 1.2.3.255) +// 1.2.3.4 - 2.3.4.5 = Ban an IP range. // Hint: sed 's!#!//!g' old_blacklist.txt > new_blacklist.cfg diff --git a/config/sounds.cfg b/config/sounds.cfg index e9f924c2..4b9cb95f 100644 --- a/config/sounds.cfg +++ b/config/sounds.cfg @@ -58,9 +58,9 @@ registersound "misc/change_gun" // 46 - S_GUNCHANGE registersound "misc/impact_t" // 47 - S_HITSOUND registersound "player/gib" // 48 - S_GIB registersound "misc/headshot" 10 // 49 - S_HEADSHOT -registersound "vote/vote_call" // 50 - S_CALLVOTE -registersound "vote/vote_pass" // 51 - S_VOTEPASS -registersound "vote/vote_fail" // 52 - S_VOTEFAIL +registersound "vote/vote_call" // 50 - S_CALLVOTE +registersound "vote/vote_pass" // 51 - S_VOTEPASS +registersound "vote/vote_fail" // 52 - S_VOTEFAIL registersound "player/footsteps" 40 1 20 // 53 - S_FOOTSTEPS registersound "player/crouch" 40 1 10 // 54 - S_FOOTSTEPSCROUCH registersound "player/watersteps" 40 1 20 // 55 - S_WATERFOOTSTEPS @@ -113,10 +113,10 @@ registersound "misc/pickup_helmet" // 99 - S_ITEMHELMET registersound "player/heartbeat" // 100 - S_HEARTBEAT registersound "ktf/flagscore" // 101 - S_KTFSCORE - // Music -registermusic "pingpong/Ping_Pong_-_Kamikadze" // M_FLAGGRAB -registermusic "pingpong/Ping_Pong_-_Headshot" // M_LASTMINUTE1 -registermusic "dcp/Dietmar_Pier_-_AssaultCube" // M_LASTMINUTE2 +// Music +registermusic "pingpong/Ping_Pong_-_Kamikadze" // M_FLAGGRAB +registermusic "pingpong/Ping_Pong_-_Headshot" // M_LASTMINUTE1 +registermusic "dcp/Dietmar_Pier_-_AssaultCube" // M_LASTMINUTE2 const preload_music [ loop m 3 [ musicpreload $m ] ] // uncomment the line below if you want to preload the music (if you experience delay e.g. when picking up a flag) diff --git a/source/src/client.cpp b/source/src/client.cpp index f6d60438..d94e7ccc 100644 --- a/source/src/client.cpp +++ b/source/src/client.cpp @@ -949,7 +949,7 @@ int pingpckservers(void *data) pckserver *serv = &serverstoping[i]; CURL *cu = curl_easy_init(); curl_easy_setopt(cu, CURLOPT_URL, serv->addr); - curl_easy_setopt(cu, CURLOPT_NOSIGNAL, 1); // Fixes crashbug for some buggy libcurl versions (Linux) + curl_easy_setopt(cu, CURLOPT_NOSIGNAL, 1); // Fixes crashbug for some buggy libcurl versions (Linux) curl_easy_setopt(cu, CURLOPT_NOPROGRESS, 1); curl_easy_setopt(cu, CURLOPT_NOBODY, 1); // don't download response body (as its size may vary a lot from one server to another) curl_easy_setopt(cu, CURLOPT_CONNECTTIMEOUT, 10); // the timeout should be large here @@ -1075,7 +1075,7 @@ double dlpackage(package *pck) double dlsize; pck->curl = curl_easy_init(); curl_easy_setopt(pck->curl, CURLOPT_URL, req); - curl_easy_setopt(pck->curl, CURLOPT_NOSIGNAL, 1); // Fixes crashbug for some buggy libcurl versions (Linux) + curl_easy_setopt(pck->curl, CURLOPT_NOSIGNAL, 1); // Fixes crashbug for some buggy libcurl versions (Linux) curl_easy_setopt(pck->curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_setopt(pck->curl, CURLOPT_WRITEDATA, outfile); curl_easy_setopt(pck->curl, CURLOPT_NOPROGRESS, 0); diff --git a/source/src/clientgame.cpp b/source/src/clientgame.cpp index e0f40176..9474dbc6 100644 --- a/source/src/clientgame.cpp +++ b/source/src/clientgame.cpp @@ -1409,7 +1409,7 @@ void callvote(int type, const char *arg1, const char *arg2, const char *arg3) - putint(p, atoi(arg1)); + putint(p, atoi(arg1)); break; } sendpackettoserv(1, p.finalize()); @@ -1537,14 +1537,14 @@ void setnext(char *mode, char *map) case GMODE_BOTDEATHMATCH: case GMODE_BOTONESHOTONEKILL: case GMODE_BOTLSS: - case GMODE_BOTPISTOLFRENZY: - case GMODE_BOTTEAMONESHOTONKILL: + case GMODE_BOTPISTOLFRENZY: + case GMODE_BOTTEAMONESHOTONKILL: continue; } if(!strcmp(mode, modestrings[i])) { nextmode=i+GMODE_NUM; - string nm = ""; itoa(nm, nextmode); + string nm = ""; itoa(nm, nextmode); callvote(SA_MAP, map, nm, "0"); break; } diff --git a/source/src/server.cpp b/source/src/server.cpp index fc85de6e..f50c1132 100644 --- a/source/src/server.cpp +++ b/source/src/server.cpp @@ -3114,7 +3114,7 @@ void process(ENetPacket *packet, int sender, int chan) ls!=cl->state.lifesequence || cl->state.lastspawn<0 || gunselect<0 || gunselect>=NUMGUNS || gunselect == GUN_CPISTOL) break; cl->state.lastspawn = -1; cl->state.spawn = gamemillis; - cl->autospawn = false; + cl->autospawn = false; cl->upspawnp = false; cl->state.state = CS_ALIVE; cl->state.gunselect = gunselect; diff --git a/source/src/server.h b/source/src/server.h index 6df77eb9..1eaf5c1f 100644 --- a/source/src/server.h +++ b/source/src/server.h @@ -256,7 +256,7 @@ struct client // server side version of "dynent" type bool at3_dontmove; int spawnindex; int spawnperm, spawnpermsent; - bool autospawn; + bool autospawn; int salt; string pwd; uint authreq; // for AUTH @@ -295,7 +295,7 @@ struct client // server side version of "dynent" type isonrightmap = m_coop; spawnperm = SP_WRONGMAP; spawnpermsent = servmillis; - autospawn = false; + autospawn = false; if(!getmap) { loggedwrongmap = false; diff --git a/source/src/serverbrowser.cpp b/source/src/serverbrowser.cpp index 6173565b..e7ff7448 100644 --- a/source/src/serverbrowser.cpp +++ b/source/src/serverbrowser.cpp @@ -1353,7 +1353,7 @@ void retrieveservers(vector &data) int result = 0, httpresult = 0; curl_easy_setopt(curl, CURLOPT_URL, request); - curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1); // Fixes crashbug for some buggy libcurl versions (Linux) + curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1); // Fixes crashbug for some buggy libcurl versions (Linux) curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile); curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0);