Tremulous Forum
		Mods => Modding Center => Topic started by: rotacak on September 03, 2009, 11:30:57 pm
		
			
			- 
				If I add in bg_public.h into weapon_t block 15 new weapons, then I cannot compile qvm, because:
 Q3ASM build/release-mingw32-x86/base/vm/cgame.qvm
 error: symbol BG_FindModelNameForClass undefined
 error: symbol BG_FindSkinNameForClass undefined
 error: symbol BG_InitClassOverrides undefined
 error: symbol BG_InitBuildableOverrides undefined
 error: symbol BG_InitAllowedGameElements undefined
 error: symbol $57_1 undefined
 error: symbol $58_1 undefined
 error: symbol $59_1 undefined
 error: symbol $60_1 undefined
 error: symbol $61_1 undefined
 error: symbol $62_1 undefined
 error: symbol $63_1 undefined
 error: symbol $64_1 undefined
 error: symbol $65_1 undefined
 error: symbol $66_1 undefined
 error: symbol $67_1 undefined
 error: symbol $68_1 undefined
 error: symbol $69_1 undefined
 error: symbol $70_1 undefined
 error: symbol $71_1 undefined
 error: symbol $72_1 undefined
 error: symbol $73_1 undefined
 error: symbol $74_1 undefined
 error: symbol $75_1 undefined
 error: symbol $72_1 undefined
 Multiple definitions for $72_1_1
 error: symbol $76_1 undefined
 error: symbol $77_1 undefined
 error: symbol $78_1 undefined
 error: symbol $79_1 undefined
 error: symbol $80_1 undefined
 error: symbol $81_1 undefined
 error: symbol $82_1 undefined
 error: symbol $83_1 undefined
 error: symbol $84_1 undefined
 error: symbol $85_1 undefined
 error: symbol $86_1 undefined
 error: symbol $87_1 undefined
 error: symbol $88_1 undefined
 error: symbol $89_1 undefined
 error: symbol $90_1 undefined
 error: symbol $91_1 undefined
 error: symbol $92_1 undefined
 error: symbol $93_1 undefined
 error: symbol $94_1 undefined
 error: symbol $95_1 undefined
 error: symbol $96_1 undefined
 error: symbol $97_1 undefined
 error: symbol $98_1 undefined
 error: symbol $99_1 undefined
 error: symbol $100_1 undefined
 error: symbol $101_1 undefined
 error: symbol $102_1 undefined
 error: symbol $103_1 undefined
 error: symbol $104_1 undefined
 error: symbol $105_1 undefined
 error: symbol $106_1 undefined
 error: symbol $107_1 undefined
 error: symbol $108_1 undefined
 error: symbol $109_1 undefined
 error: symbol $110_1 undefined
 error: symbol $111_1 undefined
 error: symbol $112_1 undefined
 error: symbol $113_1 undefined
 error: symbol $114_1 undefined
 error: symbol $115_1 undefined
 error: symbol $116_1 undefined
 error: symbol $117_1 undefined
 error: symbol $118_1 undefined
 error: symbol $119_1 undefined
 error: symbol $120_1 undefined
 error: symbol $121_1 undefined
 error: symbol $122_1 undefined
 error: symbol $89_1 undefined
 Multiple definitions for $89_1_1
 error: symbol $123_1 undefined
 error: symbol $91_1 undefined
 Multiple definitions for $91_1_1
 error: symbol $124_1 undefined
 error: symbol $93_1 undefined
 Multiple definitions for $93_1_1
 error: symbol $125_1 undefined
 error: symbol $95_1 undefined
 Multiple definitions for $95_1_1
 error: symbol $126_1 undefined
 error: symbol $97_1 undefined
 Multiple definitions for $97_1_1
 error: symbol $127_1 undefined
 error: symbol $99_1 undefined
 Multiple definitions for $99_1_1
 error: symbol $100_1 undefined
 Multiple definitions for $100_1_1
 error: symbol $101_1 undefined
 Multiple definitions for $101_1_1
 error: symbol $128_1 undefined
 error: symbol $103_1 undefined
 Multiple definitions for $103_1_1
 error: symbol $129_1 undefined
 error: symbol $105_1 undefined
 Multiple definitions for $105_1_1
 error: symbol $130_1 undefined
 error: symbol $107_1 undefined
 Multiple definitions for $107_1_1
 error: symbol $131_1 undefined
 error: symbol $109_1 undefined
 Multiple definitions for $109_1_1
 error: symbol BG_AddPredictableEventToPlayerstate undefined
 error: symbol BG_FindStopSpeedForClass undefined
 error: symbol BG_FindFrictionForClass undefined
 error: symbol BG_InventoryContainsUpgrade undefined
 error: symbol BG_FindJumpMagnitudeForClass undefined
 error: symbol BG_ClassHasAbility undefined
 error: symbol BG_FindAirAccelerationForClass undefined
 error: symbol BG_FindAccelerationForClass undefined
 error: symbol BG_FindBBoxForClass undefined
 error: symbol BG_FindViewheightForClass undefined
 error: symbol BG_FindBobCycleForClass undefined
 error: symbol BG_InventoryContainsWeapon undefined
 error: symbol BG_UpgradeIsActive undefined
 error: symbol BG_DeactivateUpgrade undefined
 error: symbol BG_ActivateUpgrade undefined
 error: symbol BG_UnpackAmmoArray undefined
 error: symbol BG_FindAmmoForWeapon undefined
 error: symbol BG_FindInfinteAmmoForWeapon undefined
 error: symbol BG_FindUsesEnergyForWeapon undefined
 error: symbol BG_PackAmmoArray undefined
 error: symbol BG_FindReloadTimeForWeapon undefined
 error: symbol BG_WeaponHasThirdMode undefined
 error: symbol BG_FindRepeatRate3ForWeapon undefined
 error: symbol BG_WeaponHasAltMode undefined
 error: symbol BG_FindRepeatRate2ForWeapon undefined
 error: symbol BG_FindRepeatRate1ForWeapon undefined
 error: symbol BG_RotateAxis undefined
 error: symbol BG_FindBuildTimeForBuildable undefined
 error: symbol BG_FindNameForBuildable undefined
 error: symbol BG_FindModelsForBuildable undefined
 error: symbol BG_FindTeamForBuildable undefined
 error: symbol BG_FindHumanNameForBuildable undefined
 error: symbol BG_FindBBoxForBuildable undefined
 error: symbol BG_PositionBuildableRelativeToPlayer undefined
 error: symbol BG_FindZOffsetForBuildable undefined
 error: symbol BG_FindModelScaleForBuildable undefined
 error: symbol BG_FindTransparentTestForBuildable undefined
 error: symbol BG_FindHealthForBuildable undefined
 error: symbol BG_FindTeamForWeapon undefined
 error: symbol BG_FindProjTypeForBuildable undefined
 error: symbol BG_FindBuildDelayForWeapon undefined
 error: symbol BG_FindUsableForBuildable undefined
 error: symbol BG_FindLongRangedForWeapon undefined
 error: symbol BG_FindHudNameForClass undefined
 error: symbol BG_EvaluateTrajectoryDelta undefined
 error: symbol BG_EvaluateTrajectory undefined
 error: symbol BG_PlayerStateToEntityState undefined
 error: symbol BG_FindHumanNameForClassNum undefined
 error: symbol BG_FindSteptimeForClass undefined
 error: symbol BG_FindShadowScaleForClass undefined
 error: symbol BG_FindModelScaleForClass undefined
 error: symbol BG_FindZOffsetForClass undefined
 error: symbol BG_ClassCanEvolveFromTo undefined
 error: symbol BG_FindStagesForClass undefined
 error: symbol BG_ClassIsAllowed undefined
 error: symbol BG_FindPurchasableForWeapon undefined
 error: symbol BG_FindPurchasableForUpgrade undefined
 error: symbol BG_FindBobForClass undefined
 error: symbol BG_FindFovForClass undefined
 error: symbol BG_FindZoomFovForWeapon undefined
 error: symbol BG_WeaponCanZoom undefined
 error: symbol BG_FindNameForUpgrade undefined
 error: symbol BG_FindHumanNameForUpgrade undefined
 error: symbol BG_FindIconForUpgrade undefined
 error: symbol BG_FindNameForWeapon undefined
 error: symbol BG_FindHumanNameForWeapon undefined
 error: symbol BG_FindUsableForUpgrade undefined
 error: symbol atof_neg undefined
 error: symbol atoi_neg undefined
 error: symbol BG_UpgradeClassAvailable undefined
 make[2]: *** [build/release-mingw32-x86/base/vm/cgame.qvm] Error 176
 
 Something maybe overlapping something? Where and how to fix it? I want to add third team (robots) and now I can join game, build things but I cannot use any robot weapon because if I add weapons - can't compile. Thanx for help.
- 
				Do make clean before make.
			
- 
				That not help. Btw I using lakitu 966 revision (if something depend on it).
			
- 
				you missed a character
			
- 
				What?
			
- 
				The error looks like you missed a closing brace for an opening brace or maybe an unterminated string. I'd have to see the file to say more.
 
- 
				This will cause problem:
 
 typedef enum
 {
 WP_NONE,
 
 WP_ALEVEL0,
 WP_ALEVEL1,
 WP_ALEVEL1_UPG,
 WP_ALEVEL2,
 WP_ALEVEL2_UPG,
 WP_ALEVEL3,
 WP_ALEVEL3_UPG,
 WP_ALEVEL4,
 
 WP_BLASTER,
 WP_MACHINEGUN,
 WP_PAIN_SAW,
 WP_SHOTGUN,
 WP_LAS_GUN,
 WP_MASS_DRIVER,
 WP_CHAINGUN,
 WP_PULSE_RIFLE,
 WP_FLAMER,
 WP_LUCIFER_CANNON,
 WP_GRENADE,
 
 WP_R_BLASTER,
 WP_R_MACHINEGUN,
 WP_R_PAIN_SAW,
 WP_R_SHOTGUN,
 WP_R_LAS_GUN,
 WP_R_MASS_DRIVER,
 WP_R_CHAINGUN,
 WP_R_PULSE_RIFLE,
 WP_R_FLAMER,
 WP_R_LUCIFER_CANNON,
 WP_R_GRENADE,
 
 WP_LOCKBLOB_LAUNCHER,
 WP_HIVE,
 WP_TESLAGEN,
 WP_MGTURRET,
 
 WP_R_TESLAGEN,
 WP_R_MGTURRET,
 
 //build weapons must remain in a block
 WP_ABUILD,
 WP_ABUILD2,
 WP_HBUILD2,
 WP_HBUILD,
 WP_RBUILD2,
 WP_RBUILD,
 
 //ok?
 
 WP_NUM_WEAPONS
 } weapon_t;
 This is ok:
 
 typedef enum
 {
 WP_NONE,
 
 WP_ALEVEL0,
 WP_ALEVEL1,
 WP_ALEVEL1_UPG,
 WP_ALEVEL2,
 WP_ALEVEL2_UPG,
 WP_ALEVEL3,
 WP_ALEVEL3_UPG,
 WP_ALEVEL4,
 
 WP_BLASTER,
 WP_MACHINEGUN,
 WP_PAIN_SAW,
 WP_SHOTGUN,
 WP_LAS_GUN,
 WP_MASS_DRIVER,
 WP_CHAINGUN,
 WP_PULSE_RIFLE,
 WP_FLAMER,
 WP_LUCIFER_CANNON,
 WP_GRENADE,
 /*
 WP_R_BLASTER,
 WP_R_MACHINEGUN,
 WP_R_PAIN_SAW,
 WP_R_SHOTGUN,
 WP_R_LAS_GUN,
 WP_R_MASS_DRIVER,
 WP_R_CHAINGUN,
 WP_R_PULSE_RIFLE,
 WP_R_FLAMER,
 WP_R_LUCIFER_CANNON,
 WP_R_GRENADE,
 */
 WP_LOCKBLOB_LAUNCHER,
 WP_HIVE,
 WP_TESLAGEN,
 WP_MGTURRET,
 /*
 WP_R_TESLAGEN,
 WP_R_MGTURRET,
 */
 //build weapons must remain in a block
 WP_ABUILD,
 WP_ABUILD2,
 WP_HBUILD2,
 WP_HBUILD,
 WP_RBUILD2,
 WP_RBUILD,
 
 //ok?
 
 WP_NUM_WEAPONS
 } weapon_t;
- 
				That looks correct. Is there any earlier error message in the compiler output ?
			
- 
				It is just this:
 
 r@RTX /e/z_arw/966/3t2
 $ make
 make[1]: Entering directory `/e/z_arw/966/3t2'
 make -C src/tools/lcc install
 make[2]: Entering directory `/e/z_arw/966/3t2/src/tools/lcc'
 install -s -m 0755 build-mingw32-x86/q3lcc.exe ../
 install -s -m 0755 build-mingw32-x86/q3cpp.exe ../
 install -s -m 0755 build-mingw32-x86/q3rcc.exe ../
 make[2]: Leaving directory `/e/z_arw/966/3t2/src/tools/lcc'
 make -C src/tools/asm install
 make[2]: Entering directory `/e/z_arw/966/3t2/src/tools/asm'
 install -s -m 0755 q3asm.exe ../
 make[2]: Leaving directory `/e/z_arw/966/3t2/src/tools/asm'
 
 Building Tremulous in build/release-mingw32-x86:
 CC: gcc
 
 CFLAGS:
 -Wall
 -fno-strict-aliasing
 -Wimplicit
 -Wstrict-prototypes
 -DUSE_OPENAL=1
 -DUSE_OPENAL_DLOPEN=1
 -DUSE_CURL=1
 -DCURL_STATICLIB
 -m32
 -DUSE_LOCAL_HEADERS=1
 -MMD
 -DSVN_VERSION="1.1.0_SVN164M"
 -DNDEBUG
 -O3
 -march=i586
 -fomit-frame-pointer
 -falign-loops=2
 -funroll-loops
 -falign-jumps=2
 -falign-functions=2
 -fstrength-reduce
 
 Output:
 build/release-mingw32-x86/base/vm/cgame.qvm
 build/release-mingw32-x86/base/vm/game.qvm
 build/release-mingw32-x86/base/vm/ui.qvm
 
 make[2]: Entering directory `/e/z_arw/966/3t2'
 Q3LCC src/game/bg_pmove.c
 Q3LCC src/game/bg_slidemove.c
 Q3LCC src/cgame/cg_consolecmds.c
 Q3LCC src/cgame/cg_buildable.c
 Q3LCC src/cgame/cg_animation.c
 Q3LCC src/cgame/cg_animmapobj.c
 Q3LCC src/cgame/cg_draw.c
 Q3LCC src/cgame/cg_drawtools.c
 Q3LCC src/cgame/cg_ents.c
 Q3LCC src/cgame/cg_event.c
 Q3LCC src/cgame/cg_marks.c
 Q3LCC src/cgame/cg_players.c
 Q3LCC src/cgame/cg_playerstate.c
 Q3LCC src/cgame/cg_predict.c
 Q3LCC src/cgame/cg_servercmds.c
 Q3LCC src/cgame/cg_snapshot.c
 Q3LCC src/cgame/cg_view.c
 Q3LCC src/cgame/cg_weapons.c
 Q3LCC src/cgame/cg_mem.c
 Q3LCC src/cgame/cg_scanner.c
 Q3LCC src/cgame/cg_attachment.c
 Q3LCC src/cgame/cg_trails.c
 Q3LCC src/cgame/cg_particles.c
 Q3LCC src/cgame/cg_ptr.c
 Q3LCC src/cgame/cg_tutorial.c
 Q3LCC src/ui/ui_shared.c
 Q3LCC src/qcommon/q_math.c
 Q3LCC src/qcommon/q_shared.c
 Q3LCC src/game/bg_lib.c
 Q3ASM build/release-mingw32-x86/base/vm/cgame.qvm
 error: symbol BG_FindModelNameForClass undefined
 error: symbol BG_FindSkinNameForClass undefined
 error: symbol BG_InitClassOverrides undefined
 error: symbol BG_InitBuildableOverrides undefined
 error: symbol BG_InitAllowedGameElements undefined
 error: symbol $57_1 undefined
 error: symbol $58_1 undefined
 error: symbol $59_1 undefined
 error: symbol $60_1 undefined
 error: symbol $61_1 undefined
 error: symbol $62_1 undefined
 error: symbol $63_1 undefined
 error: symbol $64_1 undefined
 error: symbol $65_1 undefined
 error: symbol $66_1 undefined
 error: symbol $67_1 undefined
 error: symbol $68_1 undefined
 error: symbol $69_1 undefined
 error: symbol $70_1 undefined
 error: symbol $71_1 undefined
 error: symbol $72_1 undefined
 error: symbol $73_1 undefined
 error: symbol $74_1 undefined
 error: symbol $75_1 undefined
 error: symbol $72_1 undefined
 Multiple definitions for $72_1_1
 error: symbol $76_1 undefined
 error: symbol $77_1 undefined
 error: symbol $78_1 undefined
 error: symbol $79_1 undefined
 error: symbol $80_1 undefined
 error: symbol $81_1 undefined
 error: symbol $82_1 undefined
 error: symbol $83_1 undefined
 error: symbol $84_1 undefined
 error: symbol $85_1 undefined
 error: symbol $86_1 undefined
 error: symbol $87_1 undefined
 error: symbol $88_1 undefined
 error: symbol $89_1 undefined
 error: symbol $90_1 undefined
 error: symbol $91_1 undefined
 error: symbol $92_1 undefined
 error: symbol $93_1 undefined
 error: symbol $94_1 undefined
 error: symbol $95_1 undefined
 error: symbol $96_1 undefined
 error: symbol $97_1 undefined
 error: symbol $98_1 undefined
 error: symbol $99_1 undefined
 error: symbol $100_1 undefined
 error: symbol $101_1 undefined
 error: symbol $102_1 undefined
 error: symbol $103_1 undefined
 error: symbol $104_1 undefined
 error: symbol $105_1 undefined
 error: symbol $106_1 undefined
 error: symbol $107_1 undefined
 error: symbol $108_1 undefined
 error: symbol $109_1 undefined
 error: symbol $110_1 undefined
 error: symbol $111_1 undefined
 error: symbol $112_1 undefined
 error: symbol $113_1 undefined
 error: symbol $114_1 undefined
 error: symbol $115_1 undefined
 error: symbol $116_1 undefined
 error: symbol $117_1 undefined
 error: symbol $118_1 undefined
 error: symbol $119_1 undefined
 error: symbol $120_1 undefined
 error: symbol $121_1 undefined
 error: symbol $122_1 undefined
 error: symbol $89_1 undefined
 Multiple definitions for $89_1_1
 error: symbol $123_1 undefined
 error: symbol $91_1 undefined
 Multiple definitions for $91_1_1
 error: symbol $124_1 undefined
 error: symbol $93_1 undefined
 Multiple definitions for $93_1_1
 error: symbol $125_1 undefined
 error: symbol $95_1 undefined
 Multiple definitions for $95_1_1
 error: symbol $126_1 undefined
 error: symbol $97_1 undefined
 Multiple definitions for $97_1_1
 error: symbol $127_1 undefined
 error: symbol $99_1 undefined
 Multiple definitions for $99_1_1
 error: symbol $100_1 undefined
 Multiple definitions for $100_1_1
 error: symbol $101_1 undefined
 Multiple definitions for $101_1_1
 error: symbol $128_1 undefined
 error: symbol $103_1 undefined
 Multiple definitions for $103_1_1
 error: symbol $129_1 undefined
 error: symbol $105_1 undefined
 Multiple definitions for $105_1_1
 error: symbol $130_1 undefined
 error: symbol $107_1 undefined
 Multiple definitions for $107_1_1
 error: symbol $131_1 undefined
 error: symbol $109_1 undefined
 Multiple definitions for $109_1_1
 error: symbol BG_AddPredictableEventToPlayerstate undefined
 error: symbol BG_FindStopSpeedForClass undefined
 error: symbol BG_FindFrictionForClass undefined
 error: symbol BG_InventoryContainsUpgrade undefined
 error: symbol BG_FindJumpMagnitudeForClass undefined
 error: symbol BG_ClassHasAbility undefined
 error: symbol BG_FindAirAccelerationForClass undefined
 error: symbol BG_FindAccelerationForClass undefined
 error: symbol BG_FindBBoxForClass undefined
 error: symbol BG_FindViewheightForClass undefined
 error: symbol BG_FindBobCycleForClass undefined
 error: symbol BG_InventoryContainsWeapon undefined
 error: symbol BG_UpgradeIsActive undefined
 error: symbol BG_DeactivateUpgrade undefined
 error: symbol BG_ActivateUpgrade undefined
 error: symbol BG_UnpackAmmoArray undefined
 error: symbol BG_FindAmmoForWeapon undefined
 error: symbol BG_FindInfinteAmmoForWeapon undefined
 error: symbol BG_FindUsesEnergyForWeapon undefined
 error: symbol BG_PackAmmoArray undefined
 error: symbol BG_FindReloadTimeForWeapon undefined
 error: symbol BG_WeaponHasThirdMode undefined
 error: symbol BG_FindRepeatRate3ForWeapon undefined
 error: symbol BG_WeaponHasAltMode undefined
 error: symbol BG_FindRepeatRate2ForWeapon undefined
 error: symbol BG_FindRepeatRate1ForWeapon undefined
 error: symbol BG_RotateAxis undefined
 error: symbol BG_FindBuildTimeForBuildable undefined
 error: symbol BG_FindNameForBuildable undefined
 error: symbol BG_FindModelsForBuildable undefined
 error: symbol BG_FindTeamForBuildable undefined
 error: symbol BG_FindHumanNameForBuildable undefined
 error: symbol BG_FindBBoxForBuildable undefined
 error: symbol BG_PositionBuildableRelativeToPlayer undefined
 error: symbol BG_FindZOffsetForBuildable undefined
 error: symbol BG_FindModelScaleForBuildable undefined
 error: symbol BG_FindTransparentTestForBuildable undefined
 error: symbol BG_FindHealthForBuildable undefined
 error: symbol BG_FindTeamForWeapon undefined
 error: symbol BG_FindProjTypeForBuildable undefined
 error: symbol BG_FindBuildDelayForWeapon undefined
 error: symbol BG_FindUsableForBuildable undefined
 error: symbol BG_FindLongRangedForWeapon undefined
 error: symbol BG_FindHudNameForClass undefined
 error: symbol BG_EvaluateTrajectoryDelta undefined
 error: symbol BG_EvaluateTrajectory undefined
 error: symbol BG_PlayerStateToEntityState undefined
 error: symbol BG_FindHumanNameForClassNum undefined
 error: symbol BG_FindSteptimeForClass undefined
 error: symbol BG_FindShadowScaleForClass undefined
 error: symbol BG_FindModelScaleForClass undefined
 error: symbol BG_FindZOffsetForClass undefined
 error: symbol BG_ClassCanEvolveFromTo undefined
 error: symbol BG_FindStagesForClass undefined
 error: symbol BG_ClassIsAllowed undefined
 error: symbol BG_FindPurchasableForWeapon undefined
 error: symbol BG_FindPurchasableForUpgrade undefined
 error: symbol BG_FindBobForClass undefined
 error: symbol BG_FindFovForClass undefined
 error: symbol BG_FindZoomFovForWeapon undefined
 error: symbol BG_WeaponCanZoom undefined
 error: symbol BG_FindNameForUpgrade undefined
 error: symbol BG_FindHumanNameForUpgrade undefined
 error: symbol BG_FindIconForUpgrade undefined
 error: symbol BG_FindNameForWeapon undefined
 error: symbol BG_FindHumanNameForWeapon undefined
 error: symbol BG_FindUsableForUpgrade undefined
 error: symbol atof_neg undefined
 error: symbol atoi_neg undefined
 error: symbol BG_UpgradeClassAvailable undefined
 make[2]: *** [build/release-mingw32-x86/base/vm/cgame.qvm] Error 176
 make[2]: Leaving directory `/e/z_arw/966/3t2'
 make[1]: *** [targets] Error 2
 make[1]: Leaving directory `/e/z_arw/966/3t2'
 make: *** [release] Error 2
 
 r@RTX /e/z_arw/966/3t2
 $
 
 If I made these changes in bg_public.h in clean lakitu sources (backported all qvm), then it is ok. But in my changed sources it will cause this error. I don't know where I should look for error.
- 
				Hmm, BG_FindModelNameForClass should be in src/game/bg_misc.c, which isn't compiled at all... Have you changed anything in the Makefile ?
 
- 
				q3asm's errors are pretty useless, compile the shared objects please. (also, the weapon numbers are used as bit offsets, the enum can't have more than 32 elements)
			
- 
				Have you changed anything in the Makefile ?
 
 No, only this:
 BUILD_CLIENT     = 0
 BUILD_CLIENT_SMP = 0
 BUILD_SERVER     = 0
 BUILD_GAME_SO    = 0
 BUILD_GAME_QVM   = 1
 
 q3asm's errors are pretty useless, compile the shared objects please. (also, the weapon numbers are used as bit offsets, the enum can't have more than 32 elements)
 
 How to compile shared objects?
 
 But why it will compile OK in fresh sources? There should be errors too, when is there 32 elements limitation, isn't?
- 
				How to compile shared objects?
 
 BUILD_GAME_SO    = 0
 
 
- 
				Now it will display all errors like this:
 
 src/game/bg_misc.c:57: warning: left shift count >= width of type
 In sources it's line with build weapon:
 
   {
 BA_R_MGTURRET,         //int       buildNum;
 "rmgturret",            //char      *buildName;
 "Machinegun Turret",   //char      *humanName;
 "team_robot_mgturret", //char      *entityName;
 { "models/buildables/mgturret/turret_base.md3",
 "models/buildables/mgturret/turret_barrel.md3",
 "models/buildables/mgturret/turret_top.md3", 0 },
 1.0f,                  //float     modelScale;
 { -25, -25, -20 },     //vec3_t    mins;
 { 25, 25, 20 },        //vec3_t    maxs;
 0.0f,                  //float     zOffset;
 TR_GRAVITY,            //trType_t  traj;
 0.0,                   //float     bounce;
 MGTURRET_BP,           //int       buildPoints;
 ( 1 << S1 )|( 1 << S2 )|( 1 << S3 ), //int  stages
 MGTURRET_HEALTH,       //int       health;
 0,                     //int       regenRate;
 MGTURRET_SPLASHDAMAGE, //int       splashDamage;
 MGTURRET_SPLASHRADIUS, //int       splashRadius;
 MOD_HSPAWN,            //int       meansOfDeath;
 BIT_ROBOTS,            //int       team;
 ( 1 << WP_RBUILD )|( 1 << WP_RBUILD2 ),   //weapon_t  buildWeapon;
 BANIM_IDLE1,           //int       idleAnim;
 50,                    //int       nextthink;
 MGTURRET_BT,           //int       buildTime;
 qfalse,                //qboolean  usable;
 MGTURRET_RANGE,        //int       turretRange;
 MGTURRET_REPEAT,       //int       turretFireSpeed;
 WP_R_MGTURRET,           //weapon_t  turretProjType;
 0.95f,                 //float     minNormal;
 qfalse,                //qboolean  invertNormal;
 qfalse,                //qboolean  creepTest;
 0,                     //int       creepSize;
 qfalse,                //qboolean  dccTest;
 qtrue,                 //qboolean  transparentTest;
 qfalse,                 //qboolean  reactorTest;
 qfalse,                //qboolean  replacable;
 },
 
 Can I switch that line with something else?
- 
				No, but you could move the build weapons to the start of the weapon enum.
			
- 
				True, easy. I will try, thanx.
			
- 
				I tried it but failed :-( It can be compiled without errors, but human will spawn with MD instead of rifle and shooting fast and doing damage like rifle. That in case I moved builder block after WP_NONE. If I move builder block before WP_NONE, then I can't connect because it will displar error about unknown weapon or something :-(
			
- 
				Sorry, I should have been more clear: you have to move it always after the WP_NONE. Then the number of all weapons is increased by 4, so the new code uses the same number for WP_MACHINEGUN as the old code used for WP_MASS_DRIVER. That becomes a problem when you use an old cgame.qvm with the new game.qvm, because the game.qvm thinks the player has a rifle, and the cgame.qvm thinks the same weapon is a mass driver.
 
 As the game.qvm controls the effects of the weapon it works like a rifle, but the cgame.qvm controls the model, so it renders a mass driver. To get the rifle model back, you have to use a cgame.qvm that was compiled with the same bg_misc.c file.
 
- 
				Thanx for explanation. With right cgame it is better, only when I spawn with ckit, then I have blaster and need to switch to ckit (but blaster works like blaster, so it is ok). And when I join robots (third team), spawn with ckit and click, then I will shoot swarm from hive (???) instead of build menu.
 
 But I can now try to find why and how to fix it. Thanx again.
- 
				ROBOTS?! An awesome third race is coming to Tremulous?? OMG, Rotacak u GOD! :angel:
			
- 
				No third race, but third team :) It will be same like humans but with different colors - same weapons etc.
			
- 
				No third race, but third team :) It will be same like humans but with different colors - same weapons etc.
 
 
 whats the point of that? there are all ready HvH servers a HvHvA seems pointless in the sight of HvH you would have to add a major twist to the third team to draw in any players, and you need allot of players for a 3 team game
- 
				Yes, you need more players. And third team bringing new atmosphere, because between two teams and three teams is big difference.
			
- 
				you might want to add something in that wont let the third team after they lose join the other teams and let the third team spectate once they lose so they arnt bored out of their skulls and keep the kill count
 
 hope you dont mind my criticizing  ;D