set g_balance_shotgun_secondary_melee_range 60
set g_balance_shotgun_secondary_melee_swing 50
set g_balance_shotgun_secondary_melee_time 0.1
+set g_balance_shotgun_secondary_melee_no_doubleslap 1
set g_balance_shotgun_secondary_damage 115
set g_balance_shotgun_secondary_force 150
set g_balance_shotgun_secondary_refire 1.1
set g_balance_shotgun_secondary_melee_range 85
set g_balance_shotgun_secondary_melee_swing 50
set g_balance_shotgun_secondary_melee_time 0.1
+set g_balance_shotgun_secondary_melee_no_doubleslap 1
set g_balance_shotgun_secondary_damage 84
set g_balance_shotgun_secondary_force 147
set g_balance_shotgun_secondary_refire 1.1
set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
-set g_start_weapon_hagar 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE
+set g_start_weapon_hagar -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE
set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
-set g_start_weapon_hlac 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE
-set g_start_weapon_sniperrifle 0 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE
+set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE
+set g_start_weapon_sniperrifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE
set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms"
set g_balance_shotgun_secondary_melee_range 85
set g_balance_shotgun_secondary_melee_swing 50
set g_balance_shotgun_secondary_melee_time 0.1
+set g_balance_shotgun_secondary_melee_no_doubleslap 1
set g_balance_shotgun_secondary_damage 115
set g_balance_shotgun_secondary_force 150
set g_balance_shotgun_secondary_refire 1.1
set g_balance_shotgun_secondary_melee_range 85
set g_balance_shotgun_secondary_melee_swing 50
set g_balance_shotgun_secondary_melee_time 0.1
+set g_balance_shotgun_secondary_melee_no_doubleslap 0
set g_balance_shotgun_secondary_damage 110
set g_balance_shotgun_secondary_force 150
set g_balance_shotgun_secondary_refire 1.1
set g_balance_shotgun_secondary_melee_range 85
set g_balance_shotgun_secondary_melee_swing 50
set g_balance_shotgun_secondary_melee_time 0.1
+set g_balance_shotgun_secondary_melee_no_doubleslap 1
set g_balance_shotgun_secondary_damage 110
set g_balance_shotgun_secondary_force 150
set g_balance_shotgun_secondary_refire 1.1
gl_texturecompression_q3bsplightmaps 0
gl_texturecompression_sky 1
-set menu_mouse_absolute 0 "TODO make this seta if the engine understands this right"
+seta menu_mouse_absolute 1 "use the OS mouse pointer motion for menu"
seta menu_mouse_speed 1 "speed multiplier for the mouse in the menu (does not affect in-game aiming)"
set menu_use_default_hostname 1
alias sethostname "set menu_use_default_hostname 0; hostname $*"
// enable menu syncing
alias menu_sync "menu_cmd sync"
alias scoreboard_columns_set "cl_cmd scoreboard_columns_set $*"
-
-// BALANCE TESTING (TEMPORARY, PLEASE REMOVE LATER)
-alias balanceSamual "exec balanceSamual.cfg; restart"
-alias balanceFruitieX "exec balanceXonotic.cfg; restart"
-bind f7 balanceSamual
-bind f8 balanceFruitieX
msgstr ""
"Project-Id-Version: 0.1preview\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-04-30 10:07+0200\n"
-"PO-Revision-Date: 2011-03-27 18:47+0100\n"
+"POT-Creation-Date: 2011-05-01 13:33+0200\n"
+"PO-Revision-Date: 2011-04-29 16:29+0100\n"
"Last-Translator: Antonio 'terencehill' Piu <piuntn@gmail.com>\n"
"Language-Team: \n"
-"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
"X-Poedit-Language: Italian\n"
#: qcsrc/menu/gamecommand.qc:47
#: qcsrc/menu/gamecommand.qc:66
msgid " sync - reloads all cvars on the current menu page\n"
-msgstr "sync - ricarica tutte le cvar sulla corrente pagina\n"
+msgstr " sync - ricarica tutte le cvar sulla corrente pagina\n"
#: qcsrc/menu/gamecommand.qc:67
msgid " directmenu ITEM - select a menu item as main item\n"
msgstr "personalizzato"
#: qcsrc/menu/menu.qc:29
-#, fuzzy, c-format
+#, c-format
msgid "^4MQC Build information: ^1%s\n"
-msgstr "^4MQC Build information: %s\n"
+msgstr "^4MQC Build information: ^1%s\n"
#: qcsrc/menu/xonotic/campaign.c:284
#: qcsrc/menu/xonotic/dialog_singleplayer.c:66
"player name to get started. You can change these options later through the "
"menu system."
msgstr ""
+"Benvenuto in Xonotic, per favore selezione la tua lingua e inserisci il tuo "
+"nome come giocatore per iniziare. Puoi cambiare queste opzioni più tardi "
+"tramite il menu."
#: qcsrc/menu/xonotic/dialog_firstrun.c:38
#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45
msgid "Flip strength and shield positions"
-msgstr "Inverti posizioni di armatura e vita"
+msgstr "Inverti posizioni di forza e scudo"
#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
msgid "Pressed Keys Panel"
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:158
#, c-format
msgid "%d/%d, %d free player slots"
-msgstr ""
+msgstr "%d/%d, %d slot liberi"
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
#, c-format
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140
msgid "By health"
-msgstr ""
+msgstr "In base alla vita"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:143
-#, fuzzy
msgid "Custom"
-msgstr "personalizzato"
+msgstr "Personalizzato"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148
msgid "Enable center dot"
#: qcsrc/menu/xonotic/util.qc:367
#, c-format
msgid "^1%s TEST BUILD"
-msgstr ""
+msgstr "^1%s TEST BUILD"
#: qcsrc/menu/xonotic/util.qc:432
#, c-format
#: qcsrc/server/w_crylink.qc:2
msgid "Crylink"
-msgstr ""
+msgstr "Crylink"
#: qcsrc/server/w_crylink.qc:664
#, c-format
msgid "%s succeeded at self-destructing themself with the Crylink"
-msgstr ""
+msgstr "%s è riuscito ad autodistrugersi col Crylink"
#: qcsrc/server/w_crylink.qc:669
#, c-format
msgid "%s could not hide from %s's Crylink"
-msgstr ""
+msgstr "%s non s'è potuto nascondere dal Crylink di %s"
#: qcsrc/server/w_crylink.qc:671
#, c-format
msgid "%s was too close to %s's Crylink"
-msgstr ""
+msgstr "%s era troppo vicino al Crylink di %s"
#: qcsrc/server/w_crylink.qc:673
#, c-format
msgid "%s took a close look at %s's Crylink"
-msgstr ""
+msgstr "%s ha visto da vicino il Crylink di %s"
#: qcsrc/server/w_electro.qc:2
msgid "Electro"
-msgstr ""
+msgstr "Electro"
#: qcsrc/server/w_electro.qc:571
#, c-format
msgid "%s could not remember where they put plasma"
-msgstr ""
+msgstr "%s non s'è ricordato dove aveva messo il plasma"
#: qcsrc/server/w_electro.qc:573
#, c-format
msgid "%s played with plasma"
-msgstr ""
+msgstr "%s ha giocato col plasma"
#: qcsrc/server/w_electro.qc:580
#, c-format
msgid "%s just noticed %s's blue ball"
-msgstr ""
+msgstr "%s ha appena notato la palla blu di %s"
#: qcsrc/server/w_electro.qc:582
#, c-format
msgid "%s got in touch with %s's blue ball"
-msgstr ""
+msgstr "%s è entrato in contatto con la palla blu di %s"
#: qcsrc/server/w_electro.qc:587
#, c-format
msgid "%s felt the electrifying air of %s's combo"
-msgstr ""
+msgstr "%s ha sentito l'aria elettrificata della combo di %s"
#: qcsrc/server/w_electro.qc:589
#, c-format
msgid "%s got too close to %s's blue beam"
-msgstr ""
+msgstr "%s s'è avvicinato troppo al raggio blu di %s"
#: qcsrc/server/w_electro.qc:591
#, c-format
msgid "%s was blasted by %s's blue beam"
-msgstr ""
+msgstr "%s è stato fatto saltare in aria dal raggio blu di %s"
#: qcsrc/server/w_fireball.qc:2
-#, fuzzy
msgid "Fireball"
-msgstr "Nexball"
+msgstr "Fireball"
#: qcsrc/server/w_fireball.qc:417
#, c-format
msgid "%s forgot about some firemine"
-msgstr ""
+msgstr "%s s'è dimenticato di alcune mine infuocate"
#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240
#, c-format
msgid "%s should have used a smaller gun"
-msgstr ""
+msgstr "%s avrebbe dovuto usare un'arma più piccola"
#: qcsrc/server/w_fireball.qc:426
#, c-format
msgid "%s tried to catch %s's firemine"
-msgstr ""
+msgstr "%s ha provato a catturare la mina infuocata di %s"
#: qcsrc/server/w_fireball.qc:428
#, c-format
msgid "%s fatefully ignored %s's firemine"
-msgstr ""
+msgstr "%s ha fatalmente ignorato la mina infuocata di %s"
#: qcsrc/server/w_fireball.qc:435
#, c-format
msgid "%s could not hide from %s's fireball"
-msgstr ""
+msgstr "%s non è riuscito a nascondersi dalla fireball di %s"
#: qcsrc/server/w_fireball.qc:437
#, c-format
msgid "%s saw the pretty lights of %s's fireball"
-msgstr ""
+msgstr "%s ha visto le belle luci della fireball di %s"
#: qcsrc/server/w_fireball.qc:440
#, c-format
msgid "%s got too close to %s's fireball"
-msgstr ""
+msgstr "%s s'è avvicinato troppo alla fireball di %s"
#: qcsrc/server/w_fireball.qc:442
#, c-format
msgid "%s tasted %s's fireball"
-msgstr ""
+msgstr "%s ha assaggiato la fireball di %s"
#: qcsrc/server/w_grenadelauncher.qc:2
msgid "Mortar"
-msgstr ""
+msgstr "Mortar"
#: qcsrc/server/w_grenadelauncher.qc:378
#, c-format
msgid "%s tried out his own grenade"
-msgstr ""
+msgstr "%s ha provato da solo la propria granata"
#: qcsrc/server/w_grenadelauncher.qc:380
#, c-format
msgid "%s detonated"
-msgstr ""
+msgstr "%s è detonato"
#: qcsrc/server/w_grenadelauncher.qc:386
#, c-format
msgid "%s didn't see %s's grenade"
-msgstr ""
+msgstr "%s non ha visto la granata di %s"
#: qcsrc/server/w_grenadelauncher.qc:388
#, c-format
msgid "%s almost dodged %s's grenade"
-msgstr ""
+msgstr "%s ha quasi schivato la granata di %s"
#: qcsrc/server/w_grenadelauncher.qc:390
#, c-format
msgid "%s ate %s's grenade"
-msgstr ""
+msgstr "%s ha mangiato la granata di %s"
#: qcsrc/server/w_hagar.qc:2
msgid "Hagar"
-msgstr ""
+msgstr "Hagar"
#: qcsrc/server/w_hagar.qc:209 qcsrc/server/w_seeker.qc:655
#, c-format
msgid "%s played with tiny rockets"
-msgstr ""
+msgstr "%s ha giocato con piccoli razzi"
#: qcsrc/server/w_hagar.qc:213
#, c-format
msgid "%s hoped %s's missiles wouldn't bounce"
-msgstr ""
+msgstr "%s ha sperato che il missile di %s non rimbalzasse"
#: qcsrc/server/w_hagar.qc:215 qcsrc/server/w_seeker.qc:661
#, c-format
msgid "%s was pummeled by %s"
-msgstr ""
+msgstr "%s è stato preso a pugni da %s"
#: qcsrc/server/w_hlac.qc:2
msgid "Heavy Laser Assault Cannon"
-msgstr ""
+msgstr "Heavy Laser Assault Cannon"
#: qcsrc/server/w_hlac.qc:242
#, c-format
msgid "%s was cut down by %s"
-msgstr ""
+msgstr "%s è stato abbattuto da %s"
#: qcsrc/server/w_hook.qc:2
-#, fuzzy
msgid "Grappling Hook"
-msgstr "Grappling hook"
+msgstr "Grappling Hook"
#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
#: qcsrc/server/w_nex.qc:267 qcsrc/server/w_porto.qc:296
#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
#, c-format
msgid "%s did the impossible"
-msgstr ""
+msgstr "%s ha fatto l'impossibile"
#: qcsrc/server/w_hook.qc:268
#, c-format
msgid "%s has run into %s's gravity bomb"
-msgstr ""
+msgstr "%s è corso nella bomba di gravità di %s"
#: qcsrc/server/w_laser.qc:2
msgid "Laser"
-msgstr ""
+msgstr "Laser"
#: qcsrc/server/w_laser.qc:305
#, c-format
msgid "%s lasered themself to hell"
-msgstr ""
+msgstr "%s si è \"laserato\" all'inferno"
#: qcsrc/server/w_laser.qc:309
#, c-format
msgid "%s was cut in half by %s's gauntlet"
-msgstr ""
+msgstr "%s è stato tagliato a metà dal guanto di %s"
#: qcsrc/server/w_laser.qc:311
#, c-format
msgid "%s was lasered to death by %s"
-msgstr ""
+msgstr "%s è stato \"laserato\" alla morte da %s"
#: qcsrc/server/w_minelayer.qc:2
-#, fuzzy
msgid "Mine Layer"
-msgstr "Giocatore singolo"
+msgstr "Mine Layer"
#: qcsrc/server/w_minelayer.qc:495 qcsrc/server/w_rocketlauncher.qc:500
#, c-format
msgid "%s exploded"
-msgstr ""
+msgstr "%s è esploso"
#: qcsrc/server/w_minelayer.qc:499
#, c-format
msgid "%s got too close to %s's mine"
-msgstr ""
+msgstr "%s s'è avvicinato troppo alla mina di %s"
#: qcsrc/server/w_minelayer.qc:501
#, c-format
msgid "%s almost dodged %s's mine"
-msgstr ""
+msgstr "%s ha quasi schivato la mina di %s"
#: qcsrc/server/w_minelayer.qc:503
#, c-format
msgid "%s stepped on %s's mine"
-msgstr ""
+msgstr "%s è passato sopra la mina di %s"
#: qcsrc/server/w_minstanex.qc:2
-#, fuzzy
msgid "MinstaNex"
-msgstr "MinstaGib"
+msgstr "MinstaNex"
#: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:269
#, c-format
msgid "%s has been vaporized by %s"
-msgstr ""
+msgstr "%s è stato vaporizzato da %s"
#: qcsrc/server/w_nex.qc:2
-#, fuzzy
msgid "Nex"
-msgstr "Nexball"
+msgstr "Nex"
#: qcsrc/server/w_porto.qc:2
msgid "Port-O-Launch"
-msgstr ""
+msgstr "Port-O-Launch"
#: qcsrc/server/w_porto.qc:298
#, c-format
msgid "%s felt %s doing the impossible to him"
-msgstr ""
+msgstr "%s ha sentito %s fargli l'impossibile"
#: qcsrc/server/w_rocketlauncher.qc:2
msgid "Rocket Launcher"
-msgstr ""
+msgstr "Rocket Launcher"
#: qcsrc/server/w_rocketlauncher.qc:504
#, c-format
msgid "%s got too close to %s's rocket"
-msgstr ""
+msgstr "%s s'è avvicinato troppo al razzo di %s"
#: qcsrc/server/w_rocketlauncher.qc:506
#, c-format
msgid "%s almost dodged %s's rocket"
-msgstr ""
+msgstr "%s ha quasi schivato il razzo di %s"
#: qcsrc/server/w_rocketlauncher.qc:508
#, c-format
msgid "%s ate %s's rocket"
-msgstr ""
+msgstr "%s ha mangiato il razzo di %s"
#: qcsrc/server/w_seeker.qc:2
msgid "T.A.G. Seeker"
-msgstr ""
+msgstr "T.A.G. Seeker"
#: qcsrc/server/w_seeker.qc:659
#, c-format
msgid "%s was tagged by %s"
-msgstr ""
+msgstr "%s è stato contrassegnato da %s"
#: qcsrc/server/w_shotgun.qc:2
-#, fuzzy
msgid "Shotgun"
-msgstr "Spari:"
+msgstr "Shotgun"
#: qcsrc/server/w_shotgun.qc:207
#, c-format
msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
-msgstr ""
+msgstr "%2$s ^7ha schiaffeggiato %1$s ^7un pò con un grosso ^2shotgun"
#: qcsrc/server/w_shotgun.qc:209
#, c-format
msgid "%s was gunned by %s"
-msgstr ""
+msgstr "%s è stato sparato da %s"
#: qcsrc/server/w_sniperrifle.qc:2
msgid "Sniper Rifle"
-msgstr ""
+msgstr "Sniper Rifle"
#: qcsrc/server/w_sniperrifle.qc:229
#, c-format
msgid "%s shot themself automatically"
-msgstr ""
+msgstr "%s si è sparato da solo automaticamente"
#: qcsrc/server/w_sniperrifle.qc:231
#, c-format
msgid "%s sniped themself somehow"
-msgstr ""
+msgstr "%s si è fucilato da solo in qualche modo"
#: qcsrc/server/w_sniperrifle.qc:238
#, c-format
msgid "%s failed to hide from %s's bullet hail"
-msgstr ""
+msgstr "%s non è riuscito a nascondersi dalla raffica di proiettili di %s"
#: qcsrc/server/w_sniperrifle.qc:240
#, c-format
msgid "%s died in %s's bullet hail"
-msgstr ""
+msgstr "%s è morto nella raffica di proiettili di %s"
#: qcsrc/server/w_sniperrifle.qc:247
#, c-format
msgid "%s failed to hide from %s's rifle"
-msgstr ""
+msgstr "%s non è riuscito a nascondersi dal fucile di %s"
#: qcsrc/server/w_sniperrifle.qc:252
#, c-format
msgid "%s got hit in the head by %s"
-msgstr ""
+msgstr "%s ha preso un colpo in testa da %s"
#: qcsrc/server/w_sniperrifle.qc:254 qcsrc/server/w_uzi.qc:321
#, c-format
msgid "%s was sniped by %s"
-msgstr ""
+msgstr "%s è stato fucilato da %s"
#: qcsrc/server/w_tuba.qc:2
-#, fuzzy, c-format
+#, c-format
msgid "@!#%'n Tuba"
-msgstr "@!#%'n Tuba Throwing"
+msgstr "@!#%'n Tuba"
#: qcsrc/server/w_tuba.qc:263
#, c-format
msgid "%s hurt his own ears with the @!#%%'n Tuba"
-msgstr ""
+msgstr "%s s'è fatto male alle orecchie con la @!#%%'n Tuba"
#: qcsrc/server/w_tuba.qc:267
#, c-format
msgid "%s died of %s's great playing on the @!#%%'n Tuba"
-msgstr ""
+msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Tuba"
#: qcsrc/server/w_uzi.qc:2
msgid "Machine Gun"
-msgstr ""
+msgstr "Machine Gun"
#: qcsrc/server/w_uzi.qc:323
#, c-format
msgid "%s was riddled full of holes by %s"
-msgstr ""
+msgstr "%s è stato riempito di buchi da %s"
-#~ msgid "Waypoint settings:"
-#~ msgstr "Impostazioni dei waypoint"
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
#~ msgid ""
#~ "Please answer a few initial questions to enhance the game experience."
#~ "Per favore rispondi a poche domande iniziali per migliorare l'esperienza "
#~ "di gioco."
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Impostazioni dei waypoint"
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 15.000000 0 // dieone
+36 20 15.000000 0 // dietwo
+56 15 15.000000 1 // draw
+71 20 15.000000 1 // duck
+91 21 30.000000 1 // duckwalk
+112 16 15.000000 0 // duckjump
+128 15 5.000000 1 // duckidle
+143 41 5.000000 1 // idle
+184 21 25.000000 0 // jump
+205 15 15.000000 0 // painone
+220 17 15.000000 0 // paintwo
+237 3 15.000000 0 // shoot
+240 21 15.000000 1 // taunt
+261 21 35.000000 1 // run
+282 21 35.000000 1 // runbackwards
+303 21 35.000000 1 // strafeleft
+324 21 35.000000 1 // straferight
+345 2 15.000000 0 // deadone
+347 2 15.000000 0 // deadtwo
+349 21 35.000000 1 // forwardright
+370 21 35.000000 1 // forwardleft
+391 21 35.000000 1 // backright
+412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
339 21 40.000000 1 // forwardleft
360 21 40.000000 1 // backright
381 21 40.000000 1 // backleft
+402 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 20.000000 0 // dieone
+36 27 20.000000 0 // dietwo
+63 15 15.000000 1 // draw
+78 20 15.000000 1 // duck
+98 11 15.000000 1 // duckwalk
+109 16 15.000000 0 // duckjump
+125 15 5.000000 1 // duckidle
+140 16 5.000000 1 // idle
+156 16 15.000000 0 // jump
+172 15 15.000000 0 // painone
+187 17 15.000000 0 // paintwo
+204 5 15.000000 0 // shoot
+209 21 15.000000 1 // taunt
+230 21 40.000000 1 // run
+251 21 40.000000 1 // runbackwards
+272 21 40.000000 1 // strafeleft
+293 21 40.000000 1 // straferight
+314 2 15.000000 0 // deadone
+316 2 15.000000 0 // deadtwo
+318 21 40.000000 1 // forwardright
+339 21 40.000000 1 // forwardleft
+360 21 40.000000 1 // backright
+381 21 40.000000 1 // backleft
+402 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 20.000000 0 // dieone
+36 27 20.000000 0 // dietwo
+63 15 15.000000 1 // draw
+78 20 15.000000 1 // duck
+98 11 15.000000 1 // duckwalk
+109 16 15.000000 0 // duckjump
+125 15 5.000000 1 // duckidle
+140 16 5.000000 1 // idle
+156 16 15.000000 0 // jump
+172 15 15.000000 0 // painone
+187 17 15.000000 0 // paintwo
+204 5 15.000000 0 // shoot
+209 21 15.000000 1 // taunt
+230 21 40.000000 1 // run
+251 21 40.000000 1 // runbackwards
+272 21 40.000000 1 // strafeleft
+293 21 40.000000 1 // straferight
+314 2 15.000000 0 // deadone
+316 2 15.000000 0 // deadtwo
+318 21 40.000000 1 // forwardright
+339 21 40.000000 1 // forwardleft
+360 21 40.000000 1 // backright
+381 21 40.000000 1 // backleft
+402 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
370 21 35.000000 1 // forwardleft
391 21 35.000000 1 // backright
412 21 30.000000 1 // backleft
+433 21 20.000000 0 // melee
\ No newline at end of file
339 21 40.000000 1 // forwardleft
360 21 40.000000 1 // backright
381 21 40.000000 1 // backleft
+402 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 20.000000 0 // dieone
+36 27 20.000000 0 // dietwo
+63 15 15.000000 1 // draw
+78 20 15.000000 1 // duck
+98 11 15.000000 1 // duckwalk
+109 16 15.000000 0 // duckjump
+125 15 5.000000 1 // duckidle
+140 16 5.000000 1 // idle
+156 16 15.000000 0 // jump
+172 15 15.000000 0 // painone
+187 17 15.000000 0 // paintwo
+204 5 15.000000 0 // shoot
+209 21 15.000000 1 // taunt
+230 21 40.000000 1 // run
+251 21 40.000000 1 // runbackwards
+272 21 40.000000 1 // strafeleft
+293 21 40.000000 1 // straferight
+314 2 15.000000 0 // deadone
+316 2 15.000000 0 // deadtwo
+318 21 40.000000 1 // forwardright
+339 21 40.000000 1 // forwardleft
+360 21 40.000000 1 // backright
+381 21 40.000000 1 // backleft
+402 21 20.000000 0 // melee
\ No newline at end of file
--- /dev/null
+0 36 20.000000 0 // dieone
+36 27 20.000000 0 // dietwo
+63 15 15.000000 1 // draw
+78 20 15.000000 1 // duck
+98 11 15.000000 1 // duckwalk
+109 16 15.000000 0 // duckjump
+125 15 5.000000 1 // duckidle
+140 16 5.000000 1 // idle
+156 16 15.000000 0 // jump
+172 15 15.000000 0 // painone
+187 17 15.000000 0 // paintwo
+204 5 15.000000 0 // shoot
+209 21 15.000000 1 // taunt
+230 21 40.000000 1 // run
+251 21 40.000000 1 // runbackwards
+272 21 40.000000 1 // strafeleft
+293 21 40.000000 1 // straferight
+314 2 15.000000 0 // deadone
+316 2 15.000000 0 // deadtwo
+318 21 40.000000 1 // forwardright
+339 21 40.000000 1 // forwardleft
+360 21 40.000000 1 // backright
+381 21 40.000000 1 // backleft
+402 21 20.000000 0 // melee
\ No newline at end of file
registercmd("hud_save");
//registercmd("menu_action");
- registercmd("+button3");
- registercmd("-button3");
- registercmd("+button4");
- registercmd("-button4");
registercmd("+showscores");registercmd("-showscores");
registercmd("+showaccuracy");registercmd("-showaccuracy");
else
HUD_Panel_ExportCfg(argv(1));
return true;
- } else if(strCmd == "+button4") { // zoom
- // return false, because the message shall be sent to the server anyway (for demos/speccing)
- if(ignore_plus_zoom)
- {
- --ignore_plus_zoom;
- return false;
- }
- button_zoom = 1;
- return true;
- } else if(strCmd == "-button4") { // zoom
- if(ignore_minus_zoom)
- {
- --ignore_minus_zoom;
- return false;
- }
- button_zoom = 0;
- return true;
- } else if(strCmd == "+button3") { // secondary
- button_attack2 = 1;
- return false;
- } else if(strCmd == "-button3") { // secondary
- button_attack2 = 0;
- return false;
} else if(strCmd == "+showscores") {
scoreboard_showscores = true;
return true;
vector vf_size, vf_min;
float a;
+ button_attack2 = (input_buttons & BUTTON_3);
+ button_zoom = (input_buttons & BUTTON_4);
+
#define CHECKFAIL_ASSERT(flag,func,parm,val) { float checkfailv; checkfailv = (func)(parm); if(checkfailv != (val)) { if(!checkfail[(flag)]) localcmd(sprintf("\ncmd checkfail %s %s %d %d\n", #func, parm, val, checkfailv)); checkfail[(flag)] = 1; } } ENDS_WITH_CURLY_BRACE
CHECKFAIL_ASSERT(0, cvar_type, "\{100}\{105}\{118}\{48}\{95}\{101}\{118}\{97}\{100}\{101}", 0);
CHECKFAIL_ASSERT(1, cvar_type, "\{97}\{97}\{95}\{101}\{110}\{97}\{98}\{108}\{101}", 0);
carrierAnnouncer();
fov = autocvar_fov;
- if(button_zoom || fov <= 59.5)
+ if(fov <= 59.5)
{
if(!zoomscript_caught)
{
- localcmd("+button4\n");
+ localcmd("+button9\n");
zoomscript_caught = 1;
- ignore_plus_zoom += 1;
}
}
else
{
if(zoomscript_caught)
{
- localcmd("-button4\n");
+ localcmd("-button9\n");
zoomscript_caught = 0;
- ignore_minus_zoom += 1;
}
}
float button_zoom;
float spectatorbutton_zoom;
float button_attack2;
+
float activeweapon;
float current_viewzoom;
float zoomin_effect;
-float ignore_plus_zoom;
-float ignore_minus_zoom;
float warmup_stage;
string getcommandkey(string text, string command);
entity Object_vtbl;
.string vtblname;
.entity vtblbase;
+// THIS LINE INTENTIONALLY LEFT BLANK
entity spawnVtbl(entity e, entity b)
{
entity v;
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Sensitivity:")));
me.TD(me, 1, 2, e = makeXonoticSlider(1, 32, 0.2, "sensitivity"));
me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("UI mouse speed:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 4.0, 0.1, "menu_mouse_speed"));
+ if(cvar("menu_mouse_absolute") == 0) // TODO remove this entirely later
+ {
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("UI mouse speed:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 4.0, 0.1, "menu_mouse_speed"));
+ }
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_filter", _("Mouse filter")));
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticSlider(1.0, 3.0, 0.05, "v_contrast"));
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gamma:")));
+ setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 2.0, 0.05, "v_gamma"));
+ setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Contrast boost:")));
+ setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
me.TD(me, 1, 2, e = makeXonoticSlider(1.0, 5.0, 0.1, "v_contrastboost"));
+ setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Saturation:")));
- setDependent(e, "vid_gl20", 1, 1);
+ setDependent(e, "r_glsl", 1, 1);
me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 2.0, 0.05, "r_glsl_saturation"));
- setDependent(e, "vid_gl20", 1, 1);
+ setDependent(e, "r_glsl", 1, 1);
me.TR(me);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("LIT^Ambient:"))));
float autocvar_g_balance_shotgun_secondary_melee_range;
float autocvar_g_balance_shotgun_secondary_melee_swing;
float autocvar_g_balance_shotgun_secondary_melee_time;
+float autocvar_g_balance_shotgun_secondary_melee_no_doubleslap;
float autocvar_g_balance_shotgun_secondary_refire;
float autocvar_g_balance_shotgun_reload_ammo;
float autocvar_g_balance_shotgun_reload_time;
}
if(!zoomstate_set)
- SetZoomState(self.BUTTON_ZOOM || (self.BUTTON_ATCK2 && self.weapon == WEP_NEX) || (self.BUTTON_ATCK2 && self.weapon == WEP_SNIPERRIFLE && autocvar_g_balance_sniperrifle_secondary == 0));
+ SetZoomState(self.BUTTON_ZOOM || self.BUTTON_ZOOMSCRIPT || (self.BUTTON_ATCK2 && self.weapon == WEP_NEX) || (self.BUTTON_ATCK2 && self.weapon == WEP_SNIPERRIFLE && autocvar_g_balance_sniperrifle_secondary == 0));
float oldspectatee_status;
oldspectatee_status = self.spectatee_status;
self.anim_forwardleft = '20 1 1';
self.anim_backright = '21 1 1';
self.anim_backleft = '22 1 1';
+ self.anim_melee = '23 1 1';
animparseerror = FALSE;
animfilename = strcat(self.model, ".animinfo");
animfile = fopen(animfilename, FILE_READ);
self.anim_forwardleft = animparseline(animfile);
self.anim_backright = animparseline(animfile);
self.anim_backleft = animparseline(animfile);
+ self.anim_melee = animparseline(animfile);
fclose(animfile);
// derived anims
if (!self.crouch) // shoot anim stands up, this looks bad
{
local vector anim;
- anim = self.anim_shoot;
+ if(self.weapon == WEP_SHOTGUN && self.BUTTON_ATCK2)
+ anim = self.anim_melee;
+ else
+ anim = self.anim_shoot;
anim_z = anim_y / (t + sys_frametime);
setanim(self, anim, FALSE, TRUE, TRUE);
}
self.clip_load = 0;
self.old_clip_load = self.clip_load;
self.clip_load = self.weapon_load[self.weapon] = -1;
-}
\ No newline at end of file
+}
tokens = tokenize_console(s);
- cmd = argv(0);
+ cmd = strtolower(argv(0));
if(cmd != "reportcvar")
if(cmd != "sentcvar")
if(cmd != "pause")
sprint(self, cvar_purechanges);
} else if(CheatCommand(tokens)) {
} else {
+#if 0
//if(ctf_clientcommand())
// return;
// grep for Cmd_AddCommand_WithClientCommand to find them all
print("WARNING: Invalid clientcommand by ", self.netname, ": ", s, "\n");
return;
}
+#endif
if(self.jointime > 0 && time > self.jointime + 10 && time > self.nickspamtime) // allow any changes in the first 10 seconds since joining
if(cmd == "name" || cmd == "playermodel") // TODO also playerskin and color?
float require_spawnfunc_prefix; // if this float exists, only functions with spawnfunc_ name prefix qualify as spawn functions
-#define BUTTON_ATCK button0
-#define BUTTON_JUMP button2
-#define BUTTON_ATCK2 button3
-#define BUTTON_ZOOM button4
-#define BUTTON_CROUCH button5
-#define BUTTON_HOOK button6
-#define BUTTON_INFO button7
-#define BUTTON_CHAT buttonchat
-#define BUTTON_USE buttonuse
-#define BUTTON_DRAG button8
+#define BUTTON_ATCK button0
+#define BUTTON_JUMP button2
+#define BUTTON_ATCK2 button3
+#define BUTTON_ZOOM button4
+#define BUTTON_CROUCH button5
+#define BUTTON_HOOK button6
+#define BUTTON_INFO button7
+#define BUTTON_CHAT buttonchat
+#define BUTTON_USE buttonuse
+#define BUTTON_DRAG button8
+#define BUTTON_ZOOMSCRIPT button9
// Globals
.vector anim_forwardleft; // player running forward and left
.vector anim_backright; // player running backward and right
.vector anim_backleft; // player running back and left
+.vector anim_melee; // player doing the melee action
// weapon animation vectors:
.vector anim_fire1;
.float button6;
.float button7;
.float button8;
+.float button9;
+.float button10;
+.float button11;
+.float button12;
+.float button13;
+.float button14;
+.float button15;
+.float button16;
//description:
//set to the state of the +button3, +button4, +button5, +button6, +button7, and +button8 buttons from the client, this does not involve protocol changes (the extra 6 button bits were simply not used).
//the exact mapping of protocol button bits on the server is:
//NOTE: copying a string-typed autocvar to another variable/field, and then
//changing the cvar or returning from progs is UNDEFINED. Writing to autocvar
//globals is UNDEFINED. Accessing autocvar globals after cvar_set()ing that
-//cvar is IMPLEMENTATION DEFINED (an implementation may either yield the
-//previous, or the current, value). Whether autocvar globals, after restoring
-//a savegame, have the cvar's current value, or the original value at time of
-//saving, is UNDEFINED. Restoring a savegame however must not restore the
-//cvar values themselves.
+//cvar in the same frame is IMPLEMENTATION DEFINED (an implementation may
+//either yield the previous, or the current, value). Whether autocvar globals,
+//after restoring a savegame, have the cvar's current value, or the original
+//value at time of saving, is UNDEFINED. Restoring a savegame however must not
+//restore the cvar values themselves.
//In case the cvar does NOT exist, then it is automatically created with the
//value of the autocvar initializer, if given. This is possible with e.g.
//frikqcc and fteqcc the following way:
//equivalent to the NULL value of the given data type, that is, the empty
//string, 0, or '0 0 0'. However, when automatic cvar creation took place, a
//warning is printed to the game console.
+//NOTE: to prevent an ambiguity with float names for vector types, autocvar
+//names MUST NOT end with _x, _y or _z!
//DP_QC_CHANGEPITCH
//idea: id Software
//builtin definitions:
void(entity ent) changepitch = #63;
//description:
-//equivilant to changeyaw, ent is normally self. (this was a Q2 builtin)
+//equivalent to changeyaw, ent is normally self. (this was a Q2 builtin)
//DP_QC_COPYENTITY
//idea: LordHavoc
//description:
//.movement vector contains the movement input from the player, allowing QC to do as it wishs with the input, and SV_PlayerPhysics will completely replace the player physics if present (works for all MOVETYPE's), see darkplaces mod source for example of this function (in playermovement.qc, adds HalfLife ladders support, as well as acceleration/deceleration while airborn (rather than the quake sudden-stop while airborn), and simplifies the physics a bit)
+//DP_PHYSICS_ODE
+//idea: LordHavoc
+//darkplaces implementation: LordHavoc
+//globals:
+//new movetypes:
+const float MOVETYPE_PHYSICS = 32; // need to be set before any physics_* builtins applied
+//new solid types:
+const float SOLID_PHYSICS_BOX = 32;
+const float SOLID_PHYSICS_SPHERE = 33;
+const float SOLID_PHYSICS_CAPSULE = 34;
+//SOLID_BSP;
+//joint types:
+const float JOINTTYPE_POINT = 1;
+const float JOINTTYPE_HINGE = 2;
+const float JOINTTYPE_SLIDER = 3;
+const float JOINTTYPE_UNIVERSAL = 4;
+const float JOINTTYPE_HINGE2 = 5;
+const float JOINTTYPE_FIXED = -1;
+// common joint properties:
+// .entity aiment, enemy; // connected objects
+// .vector movedir;
+// for a spring:
+// movedir_x = spring constant (force multiplier, must be > 0)
+// movedir_y = spring dampening constant to prevent oscillation (must be > 0)
+// movedir_z = spring stop position (+/-)
+// for a motor:
+// movedir_x = desired motor velocity
+// movedir_y = -1 * max motor force to use
+// movedir_z = stop position (+/-), set to 0 for no stop
+// note that ODE does not support both in one anyway
+//field definitions:
+.float mass; // ODE mass, standart value is 1
+.float bouncefactor;
+.float bouncestop;
+.float jointtype;
+//builtin definitions:
+void(entity e, float physics_enabled) physics_enable = #540; // enable or disable physics on object
+void(entity e, vector force, vector force_pos) physics_addforce = #541; // apply a force from certain origin, length of force vector is power of force
+void(entity e, vector torque) physics_addtorque = #542; // add relative torque
+//description: provides Open Dynamics Engine support, requires extenal dll to be present or engine compiled with statical link option
+//be sure to checkextension for it to know if library i loaded and ready, also to enable physics set "physice_ode" cvar to 1
+//note: this extension is highly experimental and may be unstable
+//note: use SOLID_BSP on entities to get a trimesh collision models on them
+
//DP_SV_PRINT
//idea: id Software (QuakeWorld Server)
//darkplaces implementation: Black, LordHavoc
//engine called QC functions (optional):
//void(float color) SV_ChangeTeam;
//description:
-//setcolor sets the color on a client and updates internal color information accordingly (equivilant to stuffing a "color" command but immediate)
+//setcolor sets the color on a client and updates internal color information accordingly (equivalent to stuffing a "color" command but immediate)
//SV_ChangeTeam is called by the engine whenever a "color" command is recieved, it may decide to do anything it pleases with the color passed by the client, including rejecting it (by doing nothing), or calling setcolor to apply it, preventing team changes is one use for this.
//the color format is pants + shirt * 16 (0-255 potentially)
void(float to, string s) WriteUnterminatedString = #456;
//description:
//like WriteString, but does not write a terminating 0 after the string. This means you can include things like a player's netname in the middle of a string sent over the network. Just be sure to end it up with either a call to WriteString (which includes the trailing 0) or WriteByte(0) to terminate it yourself.
-//A historical note: this extension was suggested by FrikaC years ago, more recently Shadowalker has been badmouthing LordHavoc and Spike for stealing 'his' extension writestring2 which does exactly the same thing but uses a different builtin number and name and extension string, this argument hinges on the idea that it was his idea in the first place, which is incorrect as FrikaC first suggested it and used a rough equivilant of it in his FrikBot mod years ago involving WriteByte calls on each character.
+//A historical note: this extension was suggested by FrikaC years ago, more recently Shadowalker has been badmouthing LordHavoc and Spike for stealing 'his' extension writestring2 which does exactly the same thing but uses a different builtin number and name and extension string, this argument hinges on the idea that it was his idea in the first place, which is incorrect as FrikaC first suggested it and used a rough equivalent of it in his FrikBot mod years ago involving WriteByte calls on each character.
//DP_TE_BLOOD
//idea: LordHavoc
//protocol:
//vector origin
//description:
-//all of these just take a location, and are equivilant in function (but not appearance :) to the original TE_GUNSHOT, etc.
+//all of these just take a location, and are equivalent in function (but not appearance :) to the original TE_GUNSHOT, etc.
//DP_TE_SMALLFLASH
//idea: LordHavoc
// EXPERIMENTAL (not finalized) EXTENSIONS:
-//DP_PHYSICS
-//idea: LordHavoc
-//darkplaces implementation: LordHavoc, divVerent
-//constant definitions:
-float SOLID_PHYSICS_BOX = 32;
-float SOLID_PHYSICS_SPHERE = 33;
-float SOLID_PHYSICS_CAPSULE = 34;
-float MOVETYPE_PHYSICS = 32;
-float JOINTTYPE_POINT = 1; // point; uses origin (anchor)
-float JOINTTYPE_HINGE = 2; // hinge; uses origin (anchor) and angles (axis)
-float JOINTTYPE_SLIDER = 3; // slider; uses angles (axis)
-float JOINTTYPE_UNIVERSAL = 4; // universal; uses origin (anchor) and angles (forward is axis1, up is axis2)
-float JOINTTYPE_HINGE2 = 5; // hinge2; uses origin (anchor), angles (axis1), velocity (axis2)
-//field definitions:
-.float mass;
-.float jointtype; // see JOINTTYPE_ definitions above
-// common joint properties:
-// .entity aiment, enemy; // connected objects
-// .vector movedir;
-// for a spring:
-// movedir_x = spring constant (force multiplier, must be > 0)
-// movedir_y = spring dampening constant to prevent oscillation (must be > 0)
-// movedir_z = spring stop position (+/-)
-// for a motor:
-// movedir_x = desired motor velocity
-// movedir_y = -1 * max motor force to use
-// movedir_z = stop position (+/-), set to 0 for no stop
-// note that ODE does not support both in one anyway
-//description:
-//various physics properties can be defined in an entity and are executed via
-//ODE
-
//DP_CRYPTO
//idea: divVerent
//darkplaces implementation: divVerent
#ifdef REGISTER_WEAPON
-REGISTER_WEAPON(HLAC, w_hlac, IT_CELLS, 6, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "hlac", "hlac", _("Heavy Laser Assault Cannon"))
+REGISTER_WEAPON(HLAC, w_hlac, IT_CELLS, 6, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "hlac", "hlac", _("Heavy Laser Assault Cannon"))
#else
#ifdef SVQC
#ifdef REGISTER_WEAPON
-REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer"))
+REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer"))
#else
#ifdef SVQC
void W_Mine_Think (void);
weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nex_primary_animtime, w_ready);
}
}
- if ((autocvar_g_balance_nex_secondary_charge && !autocvar_g_balance_nex_secondary) ? self.BUTTON_ZOOM : self.BUTTON_ATCK2)
+ if ((autocvar_g_balance_nex_secondary_charge && !autocvar_g_balance_nex_secondary) ? (self.BUTTON_ZOOM | self.BUTTON_ZOOMSCRIPT) : self.BUTTON_ATCK2)
{
if(autocvar_g_balance_nex_secondary_charge)
{
#ifdef REGISTER_WEAPON
-REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 8, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "seeker", "seeker", _("T.A.G. Seeker"))
+REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 8, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "seeker", "seeker", _("T.A.G. Seeker"))
#else
#ifdef SVQC
//.float proxytime; = autoswitch
Damage (trace_ent, self.owner, self.owner, autocvar_g_balance_shotgun_secondary_damage * min(1, f + 1), WEP_SHOTGUN | HITTYPE_SECONDARY , self.owner.origin + self.owner.view_ofs, force);
remove(self);
}
- else if(time >= self.cnt + meleetime) // missed, remove ent
+ else if(time >= self.cnt + meleetime || (self.owner.deadflag != DEAD_NO && autocvar_g_balance_shotgun_secondary_melee_no_doubleslap)) // missed or owner died, remove ent
remove(self);
else // continue swinging the weapon in hope of hitting someone :)
self.nextthink = time;
pointparticles(particleeffectnum("sniperrifle_muzzleflash"), w_shotorg, w_shotdir * 2000, 1);
- if(self.BUTTON_ZOOM) // if zoomed, shoot from the eye
+ if(self.BUTTON_ZOOM | self.BUTTON_ZOOMSCRIPT) // if zoomed, shoot from the eye
{
w_shotdir = v_forward;
w_shotorg = self.origin + self.view_ofs + ((w_shotorg - self.origin - self.view_ofs) * v_forward) * v_forward;
Merlijn Hofstra
morphed
mand1nga
-tZork
-
+Jakob "tZork" Markström Gröhn
**Coordinators
*Art
-Diabolik a.k.a Dib
+Sahil "DiaboliK" Singhal
*2D Art / Web
Tyler "-z-" Mulligan (web / game)
LJFHutch
Pearce "theShadow" Michal
+*Animation
+Sahil "DiaboliK" Singhal
+nifrek
+
*Level Design
FruitieX
MirceaKitsune
+Jakob "tZork" Markström Gröhn
*Music / Sound FX
mand1nga
*Game Code
Rudolf "divVerent" Polzer
FruitieX
-tZork
+Jakob "tZork" Markström Gröhn
*Marketing / PR
Tyler "-z-" Mulligan
Severin "sev" Meyer
Stephan "esteel" Stahl
Wolfgang "Blub\0" Bumiller
+SoulKeeper_p
**Past Contributors
Alexander "motorsep" Zubov