[nexuiz-commits] r6276 - in branches/nexuiz-2.0: . data data/maps data/models/sprites data/qcsrc/common data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Tue Mar 24 08:37:07 EDT 2009


Author: div0
Date: 2009-03-24 08:37:07 -0400 (Tue, 24 Mar 2009)
New Revision: 6276

Added:
   branches/nexuiz-2.0/data/maps/campaign.txt
   branches/nexuiz-2.0/data/maps/campaignNexuiz20.txt
   branches/nexuiz-2.0/data/models/sprites/dom-blue_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/dom-neut_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/dom-pink_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/dom-red_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/dom-yellow_frame0.tga
   branches/nexuiz-2.0/data/qcsrc/server/post-builtins.qh
   branches/nexuiz-2.0/data/qcsrc/server/pre-builtins.qh
Removed:
   branches/nexuiz-2.0/data/maps/campaign.txt
   branches/nexuiz-2.0/data/mutator_reset.cfg
Modified:
   branches/nexuiz-2.0/.patchsets
   branches/nexuiz-2.0/data/defaultNexuiz.cfg
   branches/nexuiz-2.0/data/maps/downer.mapinfo
   branches/nexuiz-2.0/data/maps/skyway.mapinfo
   branches/nexuiz-2.0/data/models/sprites/make-sprites.sh
   branches/nexuiz-2.0/data/models/sprites/wpn-campingrifle_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-crylink_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-electro_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-gl_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-hagar_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-hlac_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-hookgun_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-laser_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-minstanex_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-nex_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-porto_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-rl_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-seeker_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-shotgun_frame0.tga
   branches/nexuiz-2.0/data/models/sprites/wpn-uzi_frame0.tga
   branches/nexuiz-2.0/data/qcsrc/common/campaign_setup.qc
   branches/nexuiz-2.0/data/qcsrc/common/constants.qh
   branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qc
   branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qh
   branches/nexuiz-2.0/data/qcsrc/server/bots.qc
   branches/nexuiz-2.0/data/qcsrc/server/campaign.qc
   branches/nexuiz-2.0/data/qcsrc/server/domination.qc
   branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
   branches/nexuiz-2.0/data/qcsrc/server/progs.src
Log:
r6263 | div0 | 2009-03-24 10:09:40 +0100 (Tue, 24 Mar 2009) | 3 lines
skyway can KH
put RL before Nex in weapon priority (LMS is better like that)
r6264 | div0 | 2009-03-24 11:06:51 +0100 (Tue, 24 Mar 2009) | 2 lines
make the campaign cheatproof by ignoring the cvars, and using ONLY the settings from the campaign file (PLEASE TEST)
r6265 | div0 | 2009-03-24 11:07:06 +0100 (Tue, 24 Mar 2009) | 2 lines
oops, forgot these files
r6266 | div0 | 2009-03-24 12:00:37 +0100 (Tue, 24 Mar 2009) | 2 lines
allow leaving campaign again :P
r6267 | div0 | 2009-03-24 12:01:53 +0100 (Tue, 24 Mar 2009) | 2 lines
domination: waypointsprites support to make it a viable mode in campaign
r6268 | div0 | 2009-03-24 12:02:44 +0100 (Tue, 24 Mar 2009) | 2 lines
sprites updates; Dom point sprites
r6269 | div0 | 2009-03-24 12:04:46 +0100 (Tue, 24 Mar 2009) | 2 lines
campaign: more fixes
r6270 | div0 | 2009-03-24 12:06:17 +0100 (Tue, 24 Mar 2009) | 2 lines
oops...
r6271 | div0 | 2009-03-24 12:08:46 +0100 (Tue, 24 Mar 2009) | 2 lines
also set the engine cvars timelimit and fraglimit so the scoreboard shows them right
r6272 | div0 | 2009-03-24 12:14:46 +0100 (Tue, 24 Mar 2009) | 3 lines
Downer + TDM
Campaign: allow up to 16 players (not 8)
r6273 | div0 | 2009-03-24 12:21:32 +0100 (Tue, 24 Mar 2009) | 2 lines
we no longer need mutator_reset.cfg
r6274 | div0 | 2009-03-24 13:30:39 +0100 (Tue, 24 Mar 2009) | 2 lines
rename the campaing txt file
r6275 | div0 | 2009-03-24 13:31:07 +0100 (Tue, 24 Mar 2009) | 2 lines
add a new campaign


Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/.patchsets	2009-03-24 12:37:07 UTC (rev 6276)
@@ -1,2 +1,2 @@
 master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-6039,6044-6261
+revisions_applied = 1-6039,6044-6275

Modified: branches/nexuiz-2.0/data/defaultNexuiz.cfg
===================================================================
--- branches/nexuiz-2.0/data/defaultNexuiz.cfg	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/defaultNexuiz.cfg	2009-03-24 12:37:07 UTC (rev 6276)
@@ -1170,7 +1170,7 @@
 // Q3A
 set sv_q3acompat_machineshotgunswap 0	"settemp this in mapinfo for instant Q3A map conversion"
 
-seta menu_maxplayers 8	"maxplayers value when the menu starts a game"
+seta menu_maxplayers 8 "maxplayers value when the menu starts a game"
 
 // useful vote aliases
 set timelimit_increment 5
@@ -1272,7 +1272,7 @@
 alias allready "sv_cmd allready"
 
 // note: these cvars use weapon NUMBERS. Use the menu to edit this cvar, or look the numbers up in qcsrc/common/constants.qh.
-seta cl_weaponpriority "11 7 9 4 13 8 6 15 3 5 14 2 1 12 10" "weapon priority list (edit it using the menu, numbers see constants.qh)"
+seta cl_weaponpriority "11 9 7 4 13 8 6 15 3 5 14 2 1 12 10" "weapon priority list (edit it using the menu, numbers see constants.qh)"
 seta cl_weaponpriority_useforcycling 0
 seta cl_weaponpriority0 "9 4 13 8 14" "use impulse 200 for prev gun from this list, 210 for best gun, 220 for next gun.  Default value: explosives"
 seta cl_weaponpriority1 "11 7 6 5 1"  "use impulse 201 for prev gun from this list, 211 for best gun, 221 for next gun.  Default value: energy"

Deleted: branches/nexuiz-2.0/data/maps/campaign.txt
===================================================================
--- branches/nexuiz-2.0/data/maps/campaign.txt	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/maps/campaign.txt	2009-03-24 12:37:07 UTC (rev 6276)
@@ -1,24 +0,0 @@
-"//campaign:Nexuiz Campaign"
-"//game","mapname","bots","skill","frag","mutator-sets","description","long description"
-"dm","downer","2","3","15",,"Downer","Welcome to your first taste of campaign deathmatch!\n\nYou will face off against two unskilled bots in the decaying industrial arena known as Downer with a fraglimit of 15, this should be good practice for later, so make the best of it."
-"dm","basement","3","3","10",,"Basement","Frenzied deathmatch in Basement against three bots, fraglimit is 10."
-"dm","skyway","2","3","15","g_weaponarena rocketlauncher","Rocket Arena on Skyway","Rocket Arena DM mode!\n\n3 bots, everyone will start with Rocket Launchers with unlimited ammo.\n\nRemember, you can detonate your rockets in midair with the secondary fire, this is useful for getting the most damage.\n\nFraglimit of 15."
-"tdm","toxic","3","4","20",,"Team DM on Toxic","Team deathmatch.\n\nYou will have one bot team mate on your team now against a team of 2.\n\nFraglimit of 20."
-"dom","bleach","3","4","200",,"Domination on Bleach","Capture and hold the Domination Points.\n\nThe more points your team owns, the more rapidly your team gains points.\n\nOne bot on your team against 2, first team to reach 200 points wins."
-"dm","silvercity","4","4","15","g_minstagib 1; sv_gravity 200","Silver City","Low gravity minstagib!\n\nYou face 4 bots and a fraglimit of 15 in this huge outdoor arena.\n\nWith the low gravity you should be able to navigate easily.\n\nBe careful not to run out of ammo or you will die within 10 seconds if you do not pick up a dropped Nex."
-"dm","reslimed","3","5","15","g_vampire 1","Slimepit Revisited","Vampire Deathmatch against 3 bots in the Slime Pit with a fraglimit of 15.\n\nYou are healed by doing damage."
-"dm","bluesky","3","5","15",,"Blue Sky","In this fairly odd Deathmatch level there are 3 skilled bots with a fraglimit of 15."
-"tdm","dieselpower","7","5","20",,"Team DM on Dieselpower","Team deathmatch again.\n\nFraglimit of 20.\n\nThis time your team has to win on dieselpower."
-"dm","aggressor","3","5","15",,"Aggressor","In this Deathmatch level you face 3 skilled bots with a fraglimit of 15."
-"ctf","basementctf","3","7","60",,"CTF on Basement","Teams face off in this Capture The Flag arena with the goal of stealing the other team's flag and returning it to their own.\n\nBe sure to kill any enemies carrying your team's flag and touch it to return it to your base.\n\nFirst team to score 60 points wins."
-"dm","evilspace","3","5","10",,"Evil Space","Deathmatch in a space map against 3 bots.\n\nFraglimit of 10.\n\nPush your opponents off the map and try not to fall off yourself."
-"dm","soylent","3","6","10",,"Soylent Space","Turn people into paste in this space arena.\n\n3 bots and a fraglimit of 10."
-"dm","runningman_1on1remix","1","6","10","g_footsteps 1","1on1 on Running Man","In this arena titled 'Running Man' you will face off against only one opponent to a fraglimit of 10.\n\nWill you be the victor?"
-"kh","aneurysm","3","7","500",,"Aneurysm","Keyhunt in another industrial Deathmatch arena.  Team up with one bot against two others.\nTo score the big points your team has to get all keys and meet!\nOr be selfish and get the keys yourself."
-"dm","darkzone","4","7","15",,"Q1Dm6 remake","This is a remake of a beloved level from the original Quake(r) from id Software, simple Deathmatch against 4 bots to a fraglimit of 15."
-"dm","stormkeep","5","8","15","g_laserguided_missile 1; g_weaponarena rocketlauncher","LG missiles on StormKeep","Destroy your opponents with Laser guided missiles in the StormKeep arena, you are up against 5 bots and a fraglimit of 15.\n\nRocket Launcher altfire toggles laser guidance."
-"lms","bloodprison","3","8","9",,"LMS on Blood Prison","Last Man Standing in Blood Prison, like a cat, you have nine lives.\n\nWill you survive?"
-"dm","farewell","3","9","20","g_weaponarena rocketlauncher","Farewell","Rocket Arena returns in the arena Farewell, 3 bots, fraglimit of 20."
-"dm","warfare","3","9","15",,"Warfare","In Stabilized Warfare you face 3 bots, and a fraglimit of 15."
-"dm","starship","3","10","15",,"Starship","You are getting closer. Only this map before you get to the final fight.\n3 bots with a 15 frag limit in the Starship arena."
-"dm","final_rage","3","10","15",,"Final RAGE!","The final battle on final rage - Now its 4 bots with a 15 frag limit .\n\nAre you up to the challenge?"

Copied: branches/nexuiz-2.0/data/maps/campaign.txt (from rev 6275, trunk/data/maps/campaign.txt)
===================================================================
--- branches/nexuiz-2.0/data/maps/campaign.txt	                        (rev 0)
+++ branches/nexuiz-2.0/data/maps/campaign.txt	2009-03-24 12:37:07 UTC (rev 6276)
@@ -0,0 +1,34 @@
+"//campaign:Nexuiz Campaign"
+"//game","mapname","bots","skill","frag","mutator-sets","description","long description"
+"dm","runningman_1on1remix",1,1,10,,"DM: Running Man (1on1)","Welcome to the Nexuiz Campaign!\n\nFirst of all, you're going to learn the controls of the game by playing an easy 1on1 deathmatch against a single unskilled bot.\n\nFirst one to kill the other 10 times wins."
+"dm","darkzone",2,2,15,,"DM: Q1DM6 Remake","On this remake of a beloved level from the original Quake(r) from id Software, you'll face two bots on a somewhat higher skill level.\n\n15 frags will make you a winner here."
+"dm","desertfactory",3,3,20,,"DM: Desert Factory","You're fighting three enemies in a deserted factory. Watch out for the hot pipes, as they can kill you.\n\nThe game ends once someone, hopefully you, will have 20 frags."
+"dm","soylent",1,4,20,,"DM: Soylent Space","This time, you will face a single bot on an interesting space arena that allows many movement tricks. Try to learn these tricks so you can find your enemy faster.\n\nYou win once you have 20 frags."
+"dm","skyway",3,3,15,"g_minstagib 1","SPECIAL: Skyway","MinstaGib means that everyone is equipped with a single weapon that both kills with one shot, and can be used for jumping like the Laser can.\n\nLearn using it to fight off the two enemies that somehow have arrived here too!\n\nThe frag limit is 15."
+"dm","starship",4,4,15,"g_nixnex 1","SPECIAL: Starship","In NixNex, your weapon is cycled randomly, and everyone always has the same weapon but limited ammo.\n\nFight four bots in a starship especially built for fighting inside."
+"tdm","toxic",3,2,20,,"TDM: Toxic","In Team Deathmatch, there are two teams fighting each other. The frags of each team are added up, and the first team reaching 20 frags wins.\n\nMake your team this winning team!"
+"tdm","aggressor",3,3,20,,"TDM: Aggressor","Now that you are getting the hang of team deathmatch, let's increase the skill of the bots.\n\nTry to keep them from fragging you!"
+"tdm","downer",5,4,30,,"TDM: Downer","A relatively small map, and more bots, may make this interesting.\n\nWill the adrenaline make you stronger or weaker?"
+"tdm","warfare",3,5,30,,"TDM: Warfare","Greetings to Orbb, who was on this map before you!\n\nFor some contrast, you're now facing only few bots on a larger map. You should know what to do now.\n\nOf course, always avoid hitting team mates, as that damage reflects back to you.\n\nThis is the final TDM match; if you win, you may be interested in joining the Nexuiz Ladder to compare your strength with the one of other players."
+"dm","silvercity",5,4,30,"g_minstagib 1; sv_gravity 200","SPECIAL: SilverCity","You now know MinstaGib... so let's combine it with low gravity!\n\nYou'll feel like you're floating in this huge outdoor arena."
+"kh","stormkeep",5,3,500,"g_keyhunt_teams 2","KH: Stormkeep","In Key Hunt, your goal is to collect the keys from the other teams. You must bring all keys together to get 100 points, and the game will end at 500."
+"kh","aneurysm",5,4,600,"g_keyhunt_teams 3","KH: Aneurysm","On this industrial arena, you are fighting two other teams. As before, you must bring all keys together, for 200 points this time. The total you have to reach is 600."
+"kh","bleach",8,5,1000,"g_keyhunt_teams 3","KH: Bleach","Three Teams Eight Bots.\n\nDo your best.\n\nOver."
+"kh","dieselpower",3,6,500,"g_keyhunt_teams 2","KH: Diesel Power","A large map, and just two bots per team, 4 total. You'll be running around the map all the time, so learn doing it fast.\n\nBy the way, Key Hunt can be played online on quite some servers. You should be ready for online KH play after this match."
+"dm","strength",4,6,20,"g_weaponarena most","SPECIAL: Strength","Most Weapons: in this mutator, you are given almost all weapons, and infinite ammo. Have fun with your bots..."
+"ctf","basementctf",1,4,100,,"CTF: Basement","Welcome to the Capture The Flag game mode. Here, you are supposed to take the enemy flag, and bring it back to yours.\n\nAlso, you have to prevent the enemy from doing the same, as you can only capture his flag when your flag is still at your base.\n\nLet's start out easy, with a single bot in the enemy team. 100 points win."
+"ctf","runningmanctf",3,5,100,,"CTF: Running Man","Now that you have played a simple CTF match, let's try one with team mates.\n\nDo not shoot your team mate, and let him protect you while you carry the flag back home."
+"ctf","bloodprisonctf",5,6,150,,"CTF: Blood Prison","Let's try the same with a total of 6 players."
+"ctf","accident",5,7,100,,"CTF: Accident","Enough of the CTF training arenas – you can now play on the real thing, namely, this industrial CTF level which you can find on many online servers too. Just remember that this map is called 'accident'."
+"lms","evilspace",3,7,15,"g_weaponarena laser","SPECIAL: [evilspace]","All you get is a Laser.\n\nWell, I think you know how to use it to push the bots off this map into the deadly void..."
+"dom","basement",1,5,70,,"DOM: Basement","Domination: take control points so they show the color of your team, and make the enemies not take yours. Points are awarded for holding a control point.\n\n70 points win."
+"dom","runningman",3,6,100,,"DOM: Running Man","This time it's a bigger map and you get a team mate to help you capture the control points.\n\n3 bots, and 100 points to win."
+"dom","slimepit",5,7,100,,"DOM: The Slime Pit","An old, rusty industrial arena on which you have to watch out for slime...\n\nNote: while trying to capture one control point after another, you should keep an eye on your already captured control points, and defend them from incoming enemies."
+"dom","ruiner",5,8,100,,"DOM: RUINER","You got through The Slime Pit, go wash off that goo and try one last round of Domination here.\n\nYou may want to enable reflections in the Effects menu, but don't get carried away by them, as there still are control points to worry about..."
+"ctf","eggandbacon",7,7,200,,"SPECIAL: Egg & Bacon","An arena especially for spamming around with all the weapons. Enjoy it, and when you had enough of it, bring the enemy flag home...\n\nYou will notice some odd weapons here that haven't appeared before, by the way. Learn using them."
+"race","racetrack",0,0,333,,"Race: Racetrack","Race is about running as fast as possible on the map, by jumping at the right times, and using your weapons to gain more speed.\n\nOn this map, you have to finish a lap in 33.3 seconds to proceed. The mortar which you will find behind you may be an useful tool for this."
+"dm","final_rage",3,8,20,"g_laserguided_missile 1; g_weaponarena rocketlauncher","SPECIAL: Final rage","Laser Guided Missiles... try playing with them, to let them blow up directly in the face of your enemies. Secondary fire button toggles the guiding.\n\nThe final is near..."
+"lms","reslimed",2,7,9,,"LMS: Slimepit Revisited","In Last Man Standing, everyone starts out with the same amount of lives, and you have to stay alive as long as possible. It is crucial to actually dodge rockets here. Also, there are traps on this map that you can activate to hurt your opponents - find then!\n\nEveryone gets 9 lives, and if you stay alive, you're in the next round."
+"lms","bluesky",3,8,9,,"LMS: Blue Sky","And the sky is the limit... enjoy the view and try to keep alive! Your 3 enemies will try to hit you using the Nex and other weapons suitable for long distances, so never stop moving!"
+"lms","farewell",4,10,9,,"LMS: Farewell","Once more, you have to be the Last Man Standing: show your enemies no mercy in this medieval arena, as they certainly will have none on you!\n\nThis is the last level before the final."
+"lms","bloodprison",5,12,9,,"LMS: Blood Prison","THE FINAL\n\nUse all you have learned so far and win the campaign if you can!"

Copied: branches/nexuiz-2.0/data/maps/campaignNexuiz20.txt (from rev 6275, trunk/data/maps/campaignNexuiz20.txt)
===================================================================
--- branches/nexuiz-2.0/data/maps/campaignNexuiz20.txt	                        (rev 0)
+++ branches/nexuiz-2.0/data/maps/campaignNexuiz20.txt	2009-03-24 12:37:07 UTC (rev 6276)
@@ -0,0 +1,24 @@
+"//campaign:Nexuiz 2.0 Campaign"
+"//game","mapname","bots","skill","frag","mutator-sets","description","long description"
+"dm","downer","2","3","15",,"Downer","Welcome to your first taste of campaign deathmatch!\n\nYou will face off against two unskilled bots in the decaying industrial arena known as Downer with a fraglimit of 15, this should be good practice for later, so make the best of it."
+"dm","basement","3","3","10",,"Basement","Frenzied deathmatch in Basement against three bots, fraglimit is 10."
+"dm","skyway","2","3","15","g_weaponarena rocketlauncher","Rocket Arena on Skyway","Rocket Arena DM mode!\n\n3 bots, everyone will start with Rocket Launchers with unlimited ammo.\n\nRemember, you can detonate your rockets in midair with the secondary fire, this is useful for getting the most damage.\n\nFraglimit of 15."
+"tdm","toxic","3","4","20",,"Team DM on Toxic","Team deathmatch.\n\nYou will have one bot team mate on your team now against a team of 2.\n\nFraglimit of 20."
+"dom","bleach","3","4","200",,"Domination on Bleach","Capture and hold the Domination Points.\n\nThe more points your team owns, the more rapidly your team gains points.\n\nOne bot on your team against 2, first team to reach 200 points wins."
+"dm","silvercity","4","4","15","g_minstagib 1; sv_gravity 200","Silver City","Low gravity minstagib!\n\nYou face 4 bots and a fraglimit of 15 in this huge outdoor arena.\n\nWith the low gravity you should be able to navigate easily.\n\nBe careful not to run out of ammo or you will die within 10 seconds if you do not pick up a dropped Nex."
+"dm","reslimed","3","5","15","g_vampire 1","Slimepit Revisited","Vampire Deathmatch against 3 bots in the Slime Pit with a fraglimit of 15.\n\nYou are healed by doing damage."
+"dm","bluesky","3","5","15",,"Blue Sky","In this fairly odd Deathmatch level there are 3 skilled bots with a fraglimit of 15."
+"tdm","dieselpower","7","5","20",,"Team DM on Dieselpower","Team deathmatch again.\n\nFraglimit of 20.\n\nThis time your team has to win on dieselpower."
+"dm","aggressor","3","5","15",,"Aggressor","In this Deathmatch level you face 3 skilled bots with a fraglimit of 15."
+"ctf","basementctf","3","7","60",,"CTF on Basement","Teams face off in this Capture The Flag arena with the goal of stealing the other team's flag and returning it to their own.\n\nBe sure to kill any enemies carrying your team's flag and touch it to return it to your base.\n\nFirst team to score 60 points wins."
+"dm","evilspace","3","5","10",,"Evil Space","Deathmatch in a space map against 3 bots.\n\nFraglimit of 10.\n\nPush your opponents off the map and try not to fall off yourself."
+"dm","soylent","3","6","10",,"Soylent Space","Turn people into paste in this space arena.\n\n3 bots and a fraglimit of 10."
+"dm","runningman_1on1remix","1","6","10","g_footsteps 1","1on1 on Running Man","In this arena titled 'Running Man' you will face off against only one opponent to a fraglimit of 10.\n\nWill you be the victor?"
+"kh","aneurysm","3","7","500",,"Aneurysm","Keyhunt in another industrial Deathmatch arena.  Team up with one bot against two others.\nTo score the big points your team has to get all keys and meet!\nOr be selfish and get the keys yourself."
+"dm","darkzone","4","7","15",,"Q1Dm6 remake","This is a remake of a beloved level from the original Quake(r) from id Software, simple Deathmatch against 4 bots to a fraglimit of 15."
+"dm","stormkeep","5","8","15","g_laserguided_missile 1; g_weaponarena rocketlauncher","LG missiles on StormKeep","Destroy your opponents with Laser guided missiles in the StormKeep arena, you are up against 5 bots and a fraglimit of 15.\n\nRocket Launcher altfire toggles laser guidance."
+"lms","bloodprison","3","8","9",,"LMS on Blood Prison","Last Man Standing in Blood Prison, like a cat, you have nine lives.\n\nWill you survive?"
+"dm","farewell","3","9","20","g_weaponarena rocketlauncher","Farewell","Rocket Arena returns in the arena Farewell, 3 bots, fraglimit of 20."
+"dm","warfare","3","9","15",,"Warfare","In Stabilized Warfare you face 3 bots, and a fraglimit of 15."
+"dm","starship","3","10","15",,"Starship","You are getting closer. Only this map before you get to the final fight.\n3 bots with a 15 frag limit in the Starship arena."
+"dm","final_rage","3","10","15",,"Final RAGE!","The final battle on final rage - Now its 4 bots with a 15 frag limit .\n\nAre you up to the challenge?"

Modified: branches/nexuiz-2.0/data/maps/downer.mapinfo
===================================================================
--- branches/nexuiz-2.0/data/maps/downer.mapinfo	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/maps/downer.mapinfo	2009-03-24 12:37:07 UTC (rev 6276)
@@ -5,6 +5,7 @@
 _spawnpoints 5
 has weapons
 type dm 30 20
+type tdm 50 20
 type dom 200 20
 type rune 200 20
 type lms 9 20

Modified: branches/nexuiz-2.0/data/maps/skyway.mapinfo
===================================================================
--- branches/nexuiz-2.0/data/maps/skyway.mapinfo	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/maps/skyway.mapinfo	2009-03-24 12:37:07 UTC (rev 6276)
@@ -9,4 +9,5 @@
 type rune 200 20
 type lms 9 20
 type arena 10 20
+type kh 1000 20 3
 cdtrack 9

Copied: branches/nexuiz-2.0/data/models/sprites/dom-blue_frame0.tga (from rev 6275, trunk/data/models/sprites/dom-blue_frame0.tga)
===================================================================
(Binary files differ)

Copied: branches/nexuiz-2.0/data/models/sprites/dom-neut_frame0.tga (from rev 6275, trunk/data/models/sprites/dom-neut_frame0.tga)
===================================================================
(Binary files differ)

Copied: branches/nexuiz-2.0/data/models/sprites/dom-pink_frame0.tga (from rev 6275, trunk/data/models/sprites/dom-pink_frame0.tga)
===================================================================
(Binary files differ)

Copied: branches/nexuiz-2.0/data/models/sprites/dom-red_frame0.tga (from rev 6275, trunk/data/models/sprites/dom-red_frame0.tga)
===================================================================
(Binary files differ)

Copied: branches/nexuiz-2.0/data/models/sprites/dom-yellow_frame0.tga (from rev 6275, trunk/data/models/sprites/dom-yellow_frame0.tga)
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/make-sprites.sh
===================================================================
--- branches/nexuiz-2.0/data/models/sprites/make-sprites.sh	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/models/sprites/make-sprites.sh	2009-03-24 12:37:07 UTC (rev 6276)
@@ -184,3 +184,10 @@
 sprite wpn-hookgun        "HOOK"          008000 000000 0.0 # dark green
 sprite wpn-seeker         "SEEKER"        ff8000 000000 0.0 # orange
 sprite wpn-hlac           "HLAC"          00ff00 000000 0.0 # green
+sprite wpn-campingrifle   "RIFLE"         80ff00 000000 0.0 # orange
+
+sprite dom-neut           "CONTROL POINT" 00ffff 000000 0.0
+sprite dom-red            "CONTROL POINT" ff0000 000000 0.0
+sprite dom-blue           "CONTROL POINT" 0000ff 000000 0.0
+sprite dom-yellow         "CONTROL POINT" ffff00 000000 0.0
+sprite dom-pink           "CONTROL POINT" ff00ff 000000 0.0

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-campingrifle_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-crylink_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-electro_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-gl_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-hagar_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-hlac_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-hookgun_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-laser_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-minstanex_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-nex_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-porto_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-rl_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-seeker_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-shotgun_frame0.tga
===================================================================
(Binary files differ)

Modified: branches/nexuiz-2.0/data/models/sprites/wpn-uzi_frame0.tga
===================================================================
(Binary files differ)

Deleted: branches/nexuiz-2.0/data/mutator_reset.cfg
===================================================================
--- branches/nexuiz-2.0/data/mutator_reset.cfg	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/mutator_reset.cfg	2009-03-24 12:37:07 UTC (rev 6276)
@@ -1,19 +0,0 @@
-set g_cloaked 0
-set g_footsteps 0
-set g_grappling_hook 0
-set g_laserguided_missile 0
-set g_midair 0
-set g_minstagib 0
-set g_nixnex 0
-set g_nixnex_with_laser 0
-set g_norecoil 0
-set g_weaponarena 0
-set g_weapon_stay 0
-set g_vampire 0
-set g_race_qualifying 2
-set slowmo 1.0
-set sv_gravity 800
-
-set g_tdm_teams 2
-set g_domination_default_teams 2
-pausable 0

Modified: branches/nexuiz-2.0/data/qcsrc/common/campaign_setup.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/common/campaign_setup.qc	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/common/campaign_setup.qc	2009-03-24 12:37:07 UTC (rev 6276)
@@ -1,6 +1,5 @@
 void CampaignSetup(float n)
 {
-	localcmd("exec mutator_reset.cfg\n");
 	localcmd("set g_campaign 1\n");
 	localcmd("set _campaign_name \"");
 		localcmd(campaign_name);
@@ -8,8 +7,6 @@
 	localcmd("set _campaign_index ");
 		localcmd(ftos(campaign_offset + n));
 		localcmd("\n");
-	localcmd(campaign_mutators[n]);
-		localcmd("\n");
-	MapInfo_SwitchGameType(MapInfo_Type_FromString(campaign_gametype[n]));
+	localcmd("disconnect\nmaxplayers 16\n");
 	MapInfo_LoadMap(campaign_mapname[n]);
 }

Modified: branches/nexuiz-2.0/data/qcsrc/common/constants.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/common/constants.qh	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/common/constants.qh	2009-03-24 12:37:07 UTC (rev 6276)
@@ -88,6 +88,7 @@
 const float RADARICON_CONTROLPOINT = 1;
 const float RADARICON_GENERATOR = 1;
 const float RADARICON_OBJECTIVE = 1;
+const float RADARICON_DOMPOINT = 1;
 
 ///////////////////////////
 // key constants

Modified: branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qc	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qc	2009-03-24 12:37:07 UTC (rev 6276)
@@ -892,6 +892,25 @@
 	return r;
 }
 
+string MapInfo_GetGameTypeCvar(float t)
+{
+	switch(t)
+	{
+		case MAPINFO_TYPE_DEATHMATCH: return "g_dm";
+		case MAPINFO_TYPE_TEAM_DEATHMATCH: return "g_tdm";
+		case MAPINFO_TYPE_DOMINATION: return "g_domination";
+		case MAPINFO_TYPE_CTF: return "g_ctf";
+		case MAPINFO_TYPE_RUNEMATCH: return "g_runematch";
+		case MAPINFO_TYPE_LMS: return "g_lms";
+		case MAPINFO_TYPE_ARENA: return "g_arena";
+		case MAPINFO_TYPE_KEYHUNT: return "g_kh";
+		case MAPINFO_TYPE_ASSAULT: return "g_assault";
+		case MAPINFO_TYPE_ONSLAUGHT: return "g_onslaught";
+		case MAPINFO_TYPE_RACE: return "g_race";
+		default: return "";
+	}
+}
+
 void MapInfo_SwitchGameType(float t)
 {
 	cvar_set("gamecfg",      "0");

Modified: branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qh	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/common/mapinfo.qh	2009-03-24 12:37:07 UTC (rev 6276)
@@ -62,6 +62,7 @@
 
 // gets a gametype from a string
 float MapInfo_Type_FromString(string t);
+string MapInfo_GetGameTypeCvar(float t);
 void MapInfo_SwitchGameType(float t);
 
 // to be called from worldspawn to set up cvars

Modified: branches/nexuiz-2.0/data/qcsrc/server/bots.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/bots.qc	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/server/bots.qc	2009-03-24 12:37:07 UTC (rev 6276)
@@ -2317,9 +2317,8 @@
 	{
 		float a;
 		a = cvar("skill_auto");
-		if(!cvar("g_campaign"))
-			if(a)
-				autoskill(a);
+		if(a)
+			autoskill(a);
 		autoskill_nextthink = time + 5;
 	}
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/campaign.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/campaign.qc	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/server/campaign.qc	2009-03-24 12:37:07 UTC (rev 6276)
@@ -9,13 +9,57 @@
 string campaign_index_var;
 float checkrules_equality;
 
-void CampaignBailout(string s)
+float CampaignBailout(string s)
 {
+	cvar = cvar_builtin;
+	cvar_string = cvar_string_builtin;
+	cvar_set = cvar_set_builtin;
 	cvar_set("g_campaign", "0");
 	print("campaign initialization failed: ", s, "\n");
-	return;
+	return 1;
 }
 
+string cvar_campaignwrapper_list; // string of format ; var value; var value; var value; 
+string cvar_string_campaignwrapper(string theCvar)
+{
+	float p, q;
+	p = strstrofs(cvar_campaignwrapper_list, strcat("; ", theCvar, " "), 0);
+	if(p < 0)
+		return cvar_defstring(theCvar);
+	p += strlen(theCvar) + 3;
+	q = strstrofs(cvar_campaignwrapper_list, ";", p);
+	if(q < 0)
+		return cvar_defstring(theCvar);
+	return substring(cvar_campaignwrapper_list, p, q - p);
+}
+float cvar_campaignwrapper(string theCvar)
+{
+	return stof(cvar_string_campaignwrapper(theCvar));
+}
+void cvar_set_campaignwrapper(string theCvar, string theValue)
+{
+	if(cvar_string_campaignwrapper(theCvar) == theValue)
+		return;
+	string s;
+	s = cvar_campaignwrapper_list;
+	cvar_campaignwrapper_list = strzone(strcat("; ", theCvar, " ", theValue, s));
+	strunzone(s);
+	//print(cvar_campaignwrapper_list, "\n");
+}
+
+float Campaign_Invalid()
+{
+	string thismapname, wantedmapname;
+	thismapname = GetMapname();
+	wantedmapname = campaign_gametype[0];
+	if(MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname))
+		return CampaignBailout("wrong game type!");
+	wantedmapname = campaign_mapname[0];
+	if(wantedmapname != thismapname)
+		return CampaignBailout(strcat("wrong map: ", wantedmapname, " != ", thismapname));
+	return 0;
+}
+
 void CampaignPreInit()
 {
 	float baseskill;
@@ -25,18 +69,34 @@
 	campaign_index_var = strzone(strcat("g_campaign", campaign_name, "_index"));
 	CampaignFile_Load(campaign_level, 2);
 	if(campaign_entries < 1)
-		return CampaignBailout("unknown map");
-	cvar_set("bot_number", ftos(campaign_bots[0]));
+	{
+		CampaignBailout("unknown map");
+		return;
+	}
 
 	baseskill = cvar("g_campaign_skill");
 	baseskill = baseskill + campaign_botskill[0];
 	if(baseskill < 0)
 		baseskill = 0;
-	cvar_set("skill", ftos(baseskill));
 
 	cvar_set("sv_public", "0");
 	cvar_set("pausable", "1");
 
+	cvar_campaignwrapper_list = strzone(strcat("; ", campaign_mutators[0], "; "));
+
+	cvar = cvar_campaignwrapper;
+	cvar_string = cvar_string_campaignwrapper;
+	cvar_set = cvar_set_campaignwrapper;
+
+	cvar_set("g_campaign", "1");
+	cvar_set("g_dm", "0");
+	cvar_set("skill", ftos(baseskill));
+	cvar_set("bot_number", ftos(campaign_bots[0]));
+	MapInfo_SwitchGameType(MapInfo_Type_FromString(campaign_gametype[0]));
+
+	if(Campaign_Invalid())
+		return;
+
 	title = campaign_shortdesc[0];
 	title = strzone(strcat("Level ", ftos(campaign_level + 1), ": ", title));
 	campaign_message = strzone(strcat("\n\n\n\n\n\n\n\n\n\n^1\n", title, "\n^3\n", campaign_longdesc[0], "\n\n^1press jump to enter the game"));
@@ -47,16 +107,12 @@
 void CampaignPostInit()
 {
 	// now some sanity checks
-	string thismapname, wantedmapname;
-	thismapname = GetMapname();
-	wantedmapname = campaign_gametype[0];
-	if(MapInfo_CurrentGametype() != MapInfo_Type_FromString(wantedmapname))
-		return CampaignBailout("wrong game type!");
-	wantedmapname = campaign_mapname[0];
-	if(wantedmapname != thismapname)
-		return CampaignBailout(strcat("wrong map: ", wantedmapname, " != ", thismapname));
+	if(Campaign_Invalid())
+		return;
 	cvar_set("fraglimit", ftos(campaign_fraglimit[0]));
 	cvar_set("timelimit", "0");
+	cvar_set_builtin("fraglimit", ftos(campaign_fraglimit[0]));
+	cvar_set_builtin("timelimit", "0");
 }
 
 void CampaignSaveCvar(string cvarname, float value)
@@ -67,7 +123,7 @@
 	string l;
 
 	registercvar(cvarname, ftos(value));
-	cvar_set(cvarname, ftos(value));
+	cvar_set_builtin(cvarname, ftos(value));
 	// note: cvarname must be remembered
 
 	fh = fopen("campaign.cfg", FILE_READ);
@@ -144,7 +200,7 @@
 			// advance level (for menu to show it right)
 			CampaignSaveCvar(campaign_index_var, campaign_level + 1);
 		}
-		else if(campaign_level == cvar(campaign_index_var))
+		else if(campaign_level == cvar_builtin(campaign_index_var))
 		{
 			// advance level
 			CampaignSaveCvar(campaign_index_var, campaign_level + 1);

Modified: branches/nexuiz-2.0/data/qcsrc/server/domination.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/domination.qc	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/server/domination.qc	2009-03-24 12:37:07 UTC (rev 6276)
@@ -18,6 +18,7 @@
 #define DOMPOINTFRAGS frags
 
 .float enemy_playerid;
+.entity sprite;
 
 void() dom_controlpoint_setup;
 
@@ -92,6 +93,24 @@
 	SUB_UseTargets ();
 	self.delay = old_delay;
 	self.team = old_team;
+
+	switch(self.goalentity.team)
+	{
+		case COLOR_TEAM1:
+			WaypointSprite_UpdateSprites(self.sprite, "dom-red", "", "");
+			break;
+		case COLOR_TEAM2:
+			WaypointSprite_UpdateSprites(self.sprite, "dom-blue", "", "");
+			break;
+		case COLOR_TEAM3:
+			WaypointSprite_UpdateSprites(self.sprite, "dom-yellow", "", "");
+			break;
+		case COLOR_TEAM4:
+			WaypointSprite_UpdateSprites(self.sprite, "dom-pink", "", "");
+			break;
+	}
+	WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_DOMPOINT, colormapPaletteColor(self.goalentity.team - 1, 0));
+	WaypointSprite_Ping(self.sprite);
 };
 
 void AnimateDomPoint()
@@ -185,6 +204,10 @@
 	if(head == world)
 		return;
 
+	WaypointSprite_UpdateSprites(self.sprite, "dom-neut", "", "");
+	WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_DOMPOINT, '0 1 1');
+	WaypointSprite_Ping(self.sprite);
+
 	self.goalentity = head;
 	self.model = head.mdl;
 	self.modelindex = head.dmg;
@@ -284,6 +307,8 @@
 	droptofloor();
 
 	waypoint_spawnforitem(self);
+	WaypointSprite_SpawnFixed("dom-neut", self.origin + '0 0 32', self, sprite);
+	WaypointSprite_UpdateTeamRadar(self.sprite, RADARICON_DOMPOINT, '0 1 1');
 };
 
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_world.qc	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_world.qc	2009-03-24 12:37:07 UTC (rev 6276)
@@ -341,8 +341,12 @@
 {
 	// handler for _init/_init map (only for dedicated server initialization)
 
+	world_initialized = -1; // don't complain
+	cvar = cvar_builtin;
+	cvar_string = cvar_string_builtin;
+	cvar_set = cvar_set_builtin;
 	dprint_load(); // load dprint status from cvar
-	world_initialized = -1; // don't complain
+
 	remove = remove_unsafely;
 
 	entity e;
@@ -370,6 +374,9 @@
 	float fd, l, i, j, n;
 	string s, col;
 
+	cvar = cvar_builtin;
+	cvar_string = cvar_string_builtin;
+	cvar_set = cvar_set_builtin;
 	dprint_load(); // load dprint status from cvar
 
 	if(world_already_spawned)
@@ -803,8 +810,6 @@
 void GameResetCfg()
 {
 	// settings persist, except...
-	if(cvar("g_campaign"))
-		localcmd("\nexec mutator_reset.cfg\n");
 	localcmd("\nsettemp_restore\n");
 };
 

Copied: branches/nexuiz-2.0/data/qcsrc/server/post-builtins.qh (from rev 6275, trunk/data/qcsrc/server/post-builtins.qh)
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/post-builtins.qh	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/server/post-builtins.qh	2009-03-24 12:37:07 UTC (rev 6276)
@@ -0,0 +1,3 @@
+#undef cvar
+#undef cvar_string
+#undef cvar_set

Copied: branches/nexuiz-2.0/data/qcsrc/server/pre-builtins.qh (from rev 6275, trunk/data/qcsrc/server/pre-builtins.qh)
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/pre-builtins.qh	                        (rev 0)
+++ branches/nexuiz-2.0/data/qcsrc/server/pre-builtins.qh	2009-03-24 12:37:07 UTC (rev 6276)
@@ -0,0 +1,6 @@
+var float(string var) cvar;
+var string(string var) cvar_string;
+var void(string var, string val) cvar_set;
+#define cvar cvar_builtin
+#define cvar_string cvar_string_builtin
+#define cvar_set cvar_set_builtin

Modified: branches/nexuiz-2.0/data/qcsrc/server/progs.src
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/progs.src	2009-03-24 12:31:07 UTC (rev 6275)
+++ branches/nexuiz-2.0/data/qcsrc/server/progs.src	2009-03-24 12:37:07 UTC (rev 6276)
@@ -2,8 +2,10 @@
 
 ../common/util-pre.qh
 sys.qh
+pre-builtins.qh
 builtins.qh
 extensions.qh
+post-builtins.qh
 constants.qh
 ../common/constants.qh
 ../common/util.qh



More information about the nexuiz-commits mailing list